3-Phase with ACK

As I’m loosing some packets I would like to activate ACK like it is possible with this firmware: emonTxFirmware/emonTxV3_4_DiscreteSampling_ACK.ino at master · openenergymonitor/emonTxFirmware · GitHub

But this firmware uses the jeelib-library and the one for 3-phases does not: emonTxFirmware/emonTxV3_4_3Phase_Voltage.ino at master · openenergymonitor/emonTxFirmware · GitHub

So I probably can’t just use the ack-code from the first firmware. Does anyone have a clue how to start with implementing ack into 3-phase firmware?

You can if you wish try using the complete JeeLib in the 3-phase sketch instead of the stripped-down part that is presently used. I cannot remember now the exact reason to moving to the stripped-down version.

1 Like

Robert,

Could this have been the reason for the move to the stripped version?

https://openenergymonitor.org/emon/node/10341#comment-29276

I had something like that in the back of my mind, it was most probably the reason. And if that was correct, using JeeLib instead will fail. The present radio code is JeeLib except for a few lines courtesy of Martin Roberts and (from memory) one other change caused by a timing problem, but it does not have the receive code that would be required - which is most likely what caused the space problems if that was indeed the issue.
It may still be worth trying the full JeeLib - in the meantime, the Arduino IDE might have become more efficient in the optimisations it applies.

Thank you all, I will try it with the jeelib and report back the result.

HI Robert,

I changed the 3-phase firmware to use the jeelib and added the ACK-part and it seems to work quite well!
Not quite sure if the following define statements are still needed:

#define RFPWR
#define RFMSELPIN
#define RFMIRQPIN

That’s the 3-phase ACK firmware: emonTxV3_4_3Phase_Voltage_ACK.ino (36.1 KB)

JeeLIb will ignore the first, and probably all of those.