Hardcoded Configuration

From lechacal
Jump to navigation Jump to search


RPICT series have a convenient way to store the configuration in memory using the lcl-rpict-config.py tool.

It is found that eeprom memory might not be always stable especially in noisy industrial environment. This usually lead in having to reconfigure the card.

For users requiring high level of stability and minimum intervention we suggest the use of hardcoded configuration.

The hardcoded configuration means that all user parameters are set in the code of the firmware. This require reflashing the microcontroller. Following that parameters can only be modified by reflashing a new firmware with the updated value.

Which model can use the hardcoded configuration?

All of them. However the way to flash the microcontroller will differ from one board to another.

The RPICT produced lately will make this easier. For the former ones some special operations might be needed.

Firmware with hardcoded configuration

Getting a firmware setup with the desired parameters requires editing the code by hand and compile it. As we understand not all of you are necessarily comfortable doing so we have build a set of firmware ready to flash. This list is in IDCode.

We give each individual firmware a 8 digit random code to make sure we can identify it. For example FXOMGBOL. This code appears on the serial port output when the RPICT board boots up.

Identifying a firmware

There 2 ways to find out which firmware is loaded on a RPICT board. In both options make sure nothing is using the ttyAMA0 serial port or it will conflict.

1/ Manual reset. Start the cat command and press the white button to reset the board.

stty -echo -F /dev/ttyAMA0 raw speed 38400
cat /dev/ttyAMA0

Then press reset. The header will appear showing the firmware version being used.

2/ Auto-reset Only valid for version 5.x and 3.1 units. Use the lcl-show-header.py command to show the header

wget lechacal.com/RPICT/tools/lcl-show-header.py.zip
unzip lcl-show-header.py.zip
sudo mv lcl-show-header.py /usr/local/bin/

Then run it with

lcl-show-header.py

The header will then appear.

Flashing a firmware

Directly from Raspberrypi

This is the easiest scenario however not all board can do this.

This is possible with models Version 5.x and version 3.1. This is not possible with any version lower than 3.1 and all the 3 CT boards that uses an attiny microchip (RPICT3T1 RPICT3V1).

To achieve this one has to install avrdude on the Raspberrypi with other bits. This is all explained in the guide below.

Upload Arduino sketch from Raspberrypi to RPICT