This is a copy of the community maintained fork of the open firmware which powers RNode devices. This version will have support for the hardware made by Mees Electronics.
You can not select more than 25 topicsTopics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Install the required BSP and libraries for the ESP32 system.
$ cd RNode_Firmware_CE/
$ make prep-esp32
This command stalled. I stopped the command by hiting CTRL-C and restarted it.
Add rns software to path:
$ nano ~/.bashrc
add 'export PATH=~/.local/bin:$PATH' to the end of the file.
## Test
To test if you can compile the firmware try it:
$ make firmware-heltec32_v3
Fingers crossed!
## Define new board, the theory
In order to build custom firmware for a new board it has to be defined in several files.
### Makefile
BOARD_MODEL defines the target board. It is a unique 8 bit number.
BOARD_VARIANT defines the variant of the board. A board could come with different LoRa transceivers, for example. It is also a unique 8 bit number.
Every target board has a section 'firmware-<board_name>', 'upload-<board-name>' and 'release-<board-name>'
### boards.h
Both BOARD_MODEL and BOARD_VARIANT are #defines in this file. They are used to define the pinout of the SPI port and if it has certain perifirals such as a screen BLE etc.
If we want to add support for a new board we have to add a new section for this board. Here we define all the features it has or not has.
## Define new board for real
Let's say we want to add support for the Waveshare ESP32-S3 Pico with an SX1278 LoRa transceiver. First we have to make define both BOARD_MODEL and BOARD_VARIANT. Let's define BOARD_MODEL as 0x61 and BOARD_VARIANT as 0x31 as these numbers are not used yet. Here the 0x31 indicates the use of a SX1278 LoRa transceiver. In the future we can define more transceivers for this board. Then we make entries in the Makefile.
If you are flashing a custom board, you will need to generate a signing key in rnodeconf prior to flashing if you do not already have one by running:
$ rnodeconf -k
Than flash the firmware.
$ make upload-waveshare-esp32-s3-pico
This will end with error 'This device has not been provisioned yet, cannot set firmware hash'. But fear not. After flashing a custom board, you will also need to provision the EEPROM before use:
When the rnode is flashed, it is signed with a key. If you conect the rnode to another system, this key cannot be validated. It is possible to write a new key to the rnode by erasing the eeprom and writing the local key to it.