Spektrum satellite Rx driver
The "Spektrum" receiver connects via a serial interface, 115.2kBaud. The driver handles the data frames (non-blocking) and returns the individual channels.
Library: http://mbed.org/users/offroad/libraries/spektRx/lzmwp4
I got some protocol information from this page: http://diydrones.ning.com/profiles/blog/show?id=705844%3ABlogPost%3A64228
The programming model is as follows:
- initialize
- Loop:
- (A) call driver on serial interface
- (B) query, whether a new frame was received
- if yes, get channel information
- invalidate the current frame
- do other tasks
- continue the loop
(A) and (B) essentially boil down to a Serial.readable() call if no data is available, so they may be called frequently without causing significant CPU load.
If this isn't acceptable, attach an interrupt to the serial interface and process the received bytes with spektRx_runChar().
Please log in to post comments.