I'm really frustrated. I need to talk to some I2C sensors with my f5529, from an existing program that uses the TI compiler and CCS6. There are lots of libraries out there that work in slightly different configurations. (Energia wire library, on a G2553, etc.) The TI driverlib included with mspware is buggy, and doesn't even do basic things like handle NACKs.
At this point, I've tried so many things that aren't working, I'm lost on what direction to spend my time. (IOW, what library and code patterns should I be using with the F5529/CCS/ti compiler)
There are 4 main "unit tests" I need to have working to get back on track.
1) Master send 1 or more bytes to a slave
2) Master read 1 or more bytes from a slave with the pattern of MASTER sends START, SlaveAddr, Register to read from, (repeated) START, SlaveAddr, master reads 1 or more bytes from slave.
3) A routine to test if a functioning slave is responding on a given address.
Other info:
My F5523 is talking to a lot of sensors (Joysticks, head tracker, etc.) and ultimately generating signals that power the servos on an RC helicopter. Timing is important, so using LPM0 and interrupts as much as possible to play nicely with all the other interrupts going on is important. (Iow, preventing the other interrupts from happening in a timely manner would be bad)
Can anyone point me in a good direction? (Code would be appreciated, but I most importantly need a strategy that somebody can confirm will actually work if I put time into it.)
At this point, I've tried so many things that aren't working, I'm lost on what direction to spend my time. (IOW, what library and code patterns should I be using with the F5529/CCS/ti compiler)
There are 4 main "unit tests" I need to have working to get back on track.
1) Master send 1 or more bytes to a slave
2) Master read 1 or more bytes from a slave with the pattern of MASTER sends START, SlaveAddr, Register to read from, (repeated) START, SlaveAddr, master reads 1 or more bytes from slave.
3) A routine to test if a functioning slave is responding on a given address.
Other info:
My F5523 is talking to a lot of sensors (Joysticks, head tracker, etc.) and ultimately generating signals that power the servos on an RC helicopter. Timing is important, so using LPM0 and interrupts as much as possible to play nicely with all the other interrupts going on is important. (Iow, preventing the other interrupts from happening in a timely manner would be bad)
Can anyone point me in a good direction? (Code would be appreciated, but I most importantly need a strategy that somebody can confirm will actually work if I put time into it.)