By Felix Rusu (felix@lowpowerlab.com)
Based on the RFM12 driver from jeelabs.com (2009-02-09 jc@wippler.nl)
http://opensource.org/licenses/mit-license.php
###Features:
- easy API with a few simple functions for basic usage
- 127 possible nodes on 256 possible networks
- 128 bytes max message length
- customizable transmit power (8 levels) for low-power transmission control
- customizable air-Kbps rate allows fine tuning the transmission reliability vs speed (transmitting slower is more reliable but takes more time which implies more power usage)
- Sleep/Wakeup functionality for power saving
- Low battery detector with customizable low voltage threshold
- Interrupt driven
- Support for targeted ACK instead of broadcasted ACK (possible because of the new source byte in the header) encryption with XXTEA algorithm by David Wheeler, adapted from http://en.wikipedia.org/wiki/XXTEA Support for these chips: ATMega8 family (ATmega168, ATMega328) ATMega2560, ATMega1280, ATMega644P, ATTiny84, ATTiny44, ATMega32u4. So far only tested on ATMega 328/P
- wireless programming (for more info click here, here and here)
- the library needed for wireless programming is now here, install it in your Arduino/libraries folder (WirelessHEX for RFM12B)
###Installation
Copy the content of this library in the "Arduino/libraries/RFM12B" folder.
To find your Arduino folder go to File>Preferences in the Arduino IDE.
See this tutorial on Arduino libraries.
###Saple usage
- Sender
- Receiver
- More examples in the Examples folder
###TODOs (in order of priority):
- Support automatic ACK handling
- Refactor changing the SPI CS signal
- Add support for hosting multiple radios on 1 MCU