Community
OpenEnergyMonitor

Community

Heatpump Monitor Build Firmware Upload Problem

(Westerner) #1

I am putting together the OEM HeatPump Monitor, following the build guide at https://github.com/openenergymonitor/HeatpumpMonitor/blob/master/heatpumpmonitor_build.md
I have reached the stage where a test upload of the atmega328 firmware is recommended. When compiling the https://github.com/openenergymonitor/HeatpumpMonitor/blob/master/Firmware/Arduino/HeatpumpMonitor_AutoTemp/HeatpumpMonitor_AutoTemp.ino file, I get the following errors:

HeatpumpMonitor_AutoTemp:220:38: error: ‘mbus_set_address’ was not declared in this scope

 mbus_set_address(254,mbus_address);

HeatpumpMonitor_AutoTemp:225:25: error: ‘mbus_request’ was not declared in this scope

   mbus_request(100,3);

HeatpumpMonitor_AutoTemp:325:37: error: ‘mbus_request_data’ was not declared in this scope

   mbus_request_data(mbus_address);

Compiling the mbus.ino file, I get several errors regarding ‘customSerial’, the first of which is:

mbus:46:13: error: ‘customSerial’ was not declared in this scope

     if (customSerial->available()) {

Is there something I am missing or doing wrong?

(Trystan Lea) #2

Hello @Westerner, it sounds like you may have only loaded the main part of the sketch but not the mbus.ino tab, it should look like this:

(Westerner) #3

Ta-da! Thanks @TrystanLea; I was compiling the two ino files in separate windows, rather than in the one window - I assumed that they were separate programs, rather than being two elements of the same sketch. Presumably the following warning after compiling is within tolerance? “Sketch uses 16082 bytes (49%) of program storage space. Maximum is 32256 bytes.
Global variables use 1732 bytes (84%) of dynamic memory, leaving 316 bytes for local variables. Maximum is 2048 bytes.
Low memory available, stability problems may occur.”

(Trystan Lea) #4

Great, yes that error is fine, I also see that.