Tom,
I have modified the standard and current library with the kiwi patches (covering the Ethernet / RFM interrupts issue).
Because I am using the RFM69_SessionKey Library I had also to modify:
1. the RFM69.h - CtlByte definition with the one used by the SessionKey library.
2. the RFM69_SessionKey.cpp library to take into account the the interrupt issue on the "receiveDone ()" function
Details can be found on:
https://github.com/rrobinet/RFM69_Libary.
Modifications are surrounded by excavation points (!!!)
Hoping this may help others.
Robert
FYI
This library was tested with an Ethernet Shield plugged on an ATMEG2560 (a gateway) together with a RFM69WH and transmitting in RF to a Moteino R4 Node (RFM69W)
- The gateway connects via Ethernet to a Raspberry server (OpenHab + MQTT broker) to publish and subscribe Node data
- In data mode, I use modified version of the RFM69_SessionKey (Challenge extended from a random Byte to the system time (long integer))
- In upgrade mode, the Raspberry server talks to the gateway with a variant of the wirelessProgarmming (Serial connection is replaced by a TCP/IP one) to upgrade the remote node software.
With the current library I was able to:
- run the normal data mode between Server (MQTT Broker + OpenHab Interface) - RFM gateway - RFM Mote, without problem during several days.
- start OTA upgrade from the Server across the gateway to the remote node without problem.