Awesome
NOTE: not actively maintained
This library is not actively maintained anymore but is kept for reference and can still be used with RFM12b transceivers.
RFM12B Library
By Felix Rusu (felix@lowpowerlab.com) <br/> Based on the RFM12 driver from jeelabs.com (2009-02-09 jc@wippler.nl) <br/> 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. <br /> To find your Arduino folder go to File>Preferences in the Arduino IDE. <br/> 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