No inputs after emonpi new SD card and CM firmware update

From before (topic is getting long!):

You will need to make sure that the serial connections and supply voltage on the serial to USB adapter match those of the emonTx3 otherwise ā€˜sparks may fly and the magic smoke may escapeā€™ ā€¦

I am assuming that you know what to do as you say that youā€™ve done it before ā€¦

I donā€™t want you to damage anything, including your self!

Thanks! I did it before via the Arduino IDE, I need to set up the environment again, and my old iMacs arenā€™t supported any more. Found the cable though :slight_smile:

OK, emontx serial output:

emonTx V3.4 EmonLibCM Continuous Monitoring V0.10
OpenEnergyMonitor.org
Loaded EEPROM config
Settings:
Group 210, Node 16, Band 433 MHz
Calibration:
vCal = 262.60
i1Cal = 9090
i1Lead = 4.20
i2Cal = 91.60
i2Lead = 4.20
i3Cal = 91.80
i3Lead = 4.20
i4Cal = 16.80
i4Lead = 5.00
datalog = 9.95
pulses = 1
pulse period = 100
temp_enable = 1
Temperature Sensors found = 0 of 1
Temperature measurement is NOT enabled.
RF whitened
RFM69CW only Node: 16 Freq: 433MHz Group: 210

@Robert.Wall does this identify what library it is using?

emonth2 serial output

OpenEnergyMonitor.org
emonTH FW: V324
No EEPROM config
Int RFM...
RFM Started
Node: 24 Freq: 433Mhz Network: 210
Int SI7021..
SI7021 Started, ID: 21
SI7021 t: 21.00
SI7021 h: 60.44
No DS18B20

Iā€™m not sure what V324 means (perhaps 3.2.4?), the current options in Admin/Update/Firmware for emonth2 are both 4.1.5, but only for LPL or JeeLib Classic, not JeeLib Native.

Interestingly, I found this in the documentation:

Available Firmwareļƒ

emonTh2:ļƒ

New: Support for three different radio formats is available: JeeLib Classic, JeeLib Native and LowPowerLabs.

So whatā€™s the deal with JeeLib Native? It was clearly offered as a choice at one time, but it seems to have been withdrawn.

I am trawling through GitHub trying to find old versions, but without much success so far.

Just to clarify things here and avoid confusion :blush:

emonLibCM release ~Aug 20
Robertā€™s continuous measurement Arduino Library for the emonTX3.4

emonPiCM release ~Jul 21
Robertā€™s work on emonPiCM and JeeLib Native RF format is at

emonPi_CM release ~Feb 23
This is the updated emonPi CM measurement firmware using LPL format

@PeteF
For the Jeelib Native details, see:

But Iā€™d linked to all that way back up the thread!

emonTx V3.4 EmonLibCM Continuous Monitoring V0.10 signifies that it was indeed a development version, Iā€™m reasonably sure that itā€™s release successor will be this:
EmonTxV34CM_rfm69n.zip (71.4 KB)

emonTH V3.2.4 was a prior version of this:
EmonTH_V2_rfm69n.zip (54.8 KB)
(It is listed in the ā€œChangesā€)

I think I tried to explain this above too. Does nobody read what Iā€™m writing?

Looking at the emonTx3.4 code for JeeLib Native from Robert, the setup greeting is:
from
emonTx V3.4 single phase: EmonTxV34CM_rfm69n.ino

t#ifdef DEBUG
    Serial.print(F("emonTx V3CM Continuous Monitoring V")); Serial.write(firmware_version);
    Serial.println(F("OpenEnergyMonitor.org"));
  #else
    Serial.println(F("describe:EmonTX3CM"));
  #endif

where firmware_version = 1.0.0 where this is the first release
.
.
.
Looking at the emonTx3.4 code for JeeLib Classic and discrete sampling, the setup greeting is:
from

Serial.begin(115200);
  Serial.print("emonTx V3.4 Discrete Sampling V"); Serial.println(version*0.1);
  Serial.println("OpenEnergyMonitor.org");
  Serial.println(" ");
 

where the current version is 3.4, although there were previous versions starting at 1.1
.
.
.
Looking at the emonTx3.4 code for continuous monitoring and a choice of JeeLib Classic, JeeLib Native or LPL (by a #define statement) the setup greeting is:
from

 #ifdef DEBUG
    Serial.print(F("emonTx V3.4 Continuous Monitoring V")); Serial.write(firmware_version);
    Serial.println(F("OpenEnergyMonitor.org"));
  #else
    Serial.println(F("describe:EmonTX3CM"));
  #endif

where the current version is 2.4.0, although there were previous versions stating at 1.0.0

Hope I have this correct as itā€™s a bit mind boggling!

@PeteF
For your emonTx3 greeting you have:

which doesnā€™t exactly match any of the above, especially the V0.10
So I donā€™t know if weā€™re any further forward!

@Robert.Wall
Sorry for that, I was just trying to get it clear in my mind ā€¦

Edited: No inputs after emonpi new SD card and CM firmware update - #55 by Robert.Wall

@PeteF
Thanks Robert, for confirming that PeteFā€™s emonTx3 and emonTh are running Jeelib Native firmware.

Sorry @Robert.Wall, I did read it and understood that no further development would be done on JeeLib native, which is entirely acceptable. What I find less so is that my (I think) ā€˜responsiblyā€™ doing updates to emonSD and emonsms leads one (me) into a non-working system and an apparent cul-de-sac .

The emontx3CM V0.10 would indeed have been a development version, which I willingly tested for you. It worked perfectly, without any significant dropouts for - well - ever. I canā€™t remember the last time I had to reboot a tx3. I am certain that the data format didnā€™t change for the production version, so I saw no need to update it. It just worked.

But surely itā€™s not the emontx3 or emonth thatā€™s the problem? The ONLY thing I have essentially changed to a system that has been happily and reliably working for several years is the emonpi firmware. All I would like to do is have the opportunity to get it back.

I understand your point, but itā€™s not something of my making. All of a sudden, there was an announcement that LPL library would be used. There was no prior discussion with me, no warning that the powers that be would not proceed with RFM69nTxLib, which I thought was not exactly, shall we say, ā€œconsiderateā€. Thatā€™s why there wonā€™t be any further work on it, because apart from yourself and maybe one or two others (I have no means of getting numbers), several weeks of work in proving sketches for all the ā€˜legacyā€™ devices and writing it up was completely wasted. This doesnā€™t mean it wonā€™t work again in your emonPi.

In case you missed this too, hereā€™s the write-up that accompanied the release of the emonPiCM sketch.

Write-up.pdf (99.2 KB)

The link for installing the sketch still ā€œworksā€, but itā€™s a new version, not the original document, so I canā€™t vouch for itā€™s usefulness or its accuracy.
You can possibly still find the sketch at the address in this write-up, or here:
emonPiFrontEndCM.zip (55.6 KB)

Incidentally, it would be almost trivial to convert RFM69nTxLib to have an option to use the LPL format in its transmitted messages, but it would not receive acknowledgements and therefore not re-transmit the message on failure to receive an acknowledgement.

This could be an option for you if you decide to go with LPL but not risk the penalty of reduced battery life when the RFM needs to go into receive mode and wait for the ACK message.

Ideally, the CM JeeLib Native update choice would be available in the setup/admin/upgrade section of emonCMS, but it isnā€™t.

And the Docs are missing a section on how to do it manually for the emonPi

An alternative might be to:

Install the Arduino Development System on a computer (I would go for the 1.x legacy version rather than the new 2.x version.

Install Robertsā€™s source code from the zip file plus any library files that are needed.
Compile the source to make the hex file. Then

Although there are no detailed instructions how to do this for the emonPi in the Docs, there are some instructions that might be useful on github for the RFM2Pi (the old emonBase module).

The RFM2Pi is just an atmega328 processor plus a RFM69 RF module. This is similar to the atmega328 measurement board in an emonPi, but without the power measurement circuitry. The github section ā€œUpgrading RFM69Pi Firmware Direct from the Piā€ gives a set of commands which you might be able to adapt for the emonPi:

# Install avrdude, and GPIO auto reset
sudo apt-get update
git clone https://github.com/openenergymonitor/avrdude-rpi.git ~/avrdude-rpi && ~/avrdude-rpi/install

# Grab latest firmware for RFM69Pi and perform the upload via serial 
git clone https://github.com/openenergymonitor/RFM2Pi.git
cd RFM2Pi/firmware/RFM69CW_RF_Demo_ATmega328/
sudo service emonhub stop
avrdude -v -c arduino -p ATMEGA328P -P /dev/ttyAMA0 -b 38400 -U flash:w:RFM69CW_RF12_Demo_ATmega328.cpp.hex
sudo service emonhub start
 

The avrdude stuff may already be installed. Youā€™d have to ignore the git clone part, put your hex file in a directory on the emonPi, and point the avrdude command to it instead of RFM69CW_RF12_Demo_ATmega328.cpp.hex
Ignore the parts about flashing the bootloader, as the atmega328 in your emonPi will already have one installed.
Iā€™ve never tried this and I donā€™t know if it would work - no warranty!

Is this likely to work @TrystanLea ?

Iā€™ve already given my view on this.

I did all of emonLibDB on the Arduino IDE V2.2.1, I donā€™t know of a problem with it (but I always use my Notepad++ editor).

Iā€™ve sent all this privately to @PeteF, including my BASH script to do the transfers.

@Robert.Wall
Thanks for the update

Many thanks to you both, Robert and Rupert for your help with this. Much appreciated.