tattema
Member
Here you go:
Firmware Drivers V2.1.0 from Semtech.
These drivers are written in ANSI C so should run on an Arduino without much modification. If you get stuck, just let me know and i'll be glad to help.
Listen mode isn't covered in the library but it can be added. The big difference between the manufacturer reference drivers and the standard RFM69 drivers floating around is quality, style and approach. They use a finite state machine engine to track the different states the silicone is in so it's quite robust and consistent. As expected, the drivers are functionally low level.
I'm surprised that HopeRF don't supply these libraries :-(
Implementation tips:
- In addition to the MISO, MOSI, CS, CLK pins for SPI, you'll need to map 5 INT pins to IO pins and a reset pin to the device. The implementation is such that it polls the pins rather than waits for interrupts so the INT pins can be wired to any available GPIO.
- It's important that the reset pin be mapped as the driver overcome startup issues found with other implementations by resetting the chip in a controlled manner.
- The Radio structure is key and can be expanded to expose additional driver functions. I found the functions exposed through this interface to be a bit limiting.
You'll notice a huge difference in performance. Firstly, you'll be able to sent huge packets without the 63/4 byte limitation (encryption engine limits still apply) imposed by the current JeeLAB and Motino implementations. Secondly, the driver doesn't try to handle receive from within an interrupt.... once again poor design by Motino/JeeLABs. The detection of a preamble means you can reduce packet collisions.
Enjoy
Firmware Drivers V2.1.0 from Semtech.
These drivers are written in ANSI C so should run on an Arduino without much modification. If you get stuck, just let me know and i'll be glad to help.
Listen mode isn't covered in the library but it can be added. The big difference between the manufacturer reference drivers and the standard RFM69 drivers floating around is quality, style and approach. They use a finite state machine engine to track the different states the silicone is in so it's quite robust and consistent. As expected, the drivers are functionally low level.
I'm surprised that HopeRF don't supply these libraries :-(
Implementation tips:
- In addition to the MISO, MOSI, CS, CLK pins for SPI, you'll need to map 5 INT pins to IO pins and a reset pin to the device. The implementation is such that it polls the pins rather than waits for interrupts so the INT pins can be wired to any available GPIO.
- It's important that the reset pin be mapped as the driver overcome startup issues found with other implementations by resetting the chip in a controlled manner.
- The Radio structure is key and can be expanded to expose additional driver functions. I found the functions exposed through this interface to be a bit limiting.
You'll notice a huge difference in performance. Firstly, you'll be able to sent huge packets without the 63/4 byte limitation (encryption engine limits still apply) imposed by the current JeeLAB and Motino implementations. Secondly, the driver doesn't try to handle receive from within an interrupt.... once again poor design by Motino/JeeLABs. The detection of a preamble means you can reduce packet collisions.
Enjoy