This contains the firmware for the emonHP heatpump monitoring system.
Note
If you buy a system from the OpenEnergyMonitor shop the Raspberry Pi will be configured and the firmware installed already.
After cloning the repository, in scripts/ run sudo setup_pi.sh. This will enable the required UART instances on the GPIO header. You will need to restart the Pi for this to take effect.
Tip
Most users will use pre-built binaries from releases. You only need to compile from source for features or fixes that are not in a release, or if you developing the firmware.
When you have the firmware binary available:
- If you have the Raspberry Pi attached to the GPIO pins, in
scriptsrunflash_pi.sh <path to .elf>. - If you are using an external debugger, run
openocd -f openocd.cfg -c program <path to .elf> verify reset exit.
You will need to have the Rust compiler installed.
To build the firmware, run cargo build. This will build the debug version of the firmware. To build the release version, run cargo build --release.
Tip
It is strongly recommended to compile the firmware on a reasonably powerful device. While it is possible to compile on the Raspberry Pi, it will take around 10-15 minutes on a Raspberry Pi 4 with 1 GB of RAM.
Issues can be reported:
- As a GitHub issue.
- On the OpenEnergyMonitor forums.
Please include as much information as possible (run the v command on the serial link, including at least:
- The emonHP hardware and firmware version.
- A full description, including a reproduction if possible, of the issue.
Contributions are welcome! Small PRs can be accepted at any time. Please get in touch before making large changes.
Note
Please bear in mind that this is an open source project and PRs and enhancements may not be addressed quickly, or at all. This is no comment on the quality of the contribution, and please feel free to fork as you like!