User Configuration

Saving and loading user configuration with Koheron V1 firmware.
Firmware V1 documentation ยท V1.0-rc54-2d701ce

Koheron products currently ship with firmware V0.x by default. Firmware V1 is under active development and is not publicly available yet.

Contact us if you would like early access or want to evaluate V1 firmware on your device.

Most operating parameters can be changed through the serial interface. A changed value is applied immediately, but it is not restored after restart unless it is saved and the saved configuration is loaded at boot.

Use save after changing supported settings that should be restored at the next startup. Do not assume that every setting is saved; check the relevant command page when persistence is command-specific.

Defaults and saved configuration

V1 firmware has product defaults and an optional saved EEPROM configuration.

  • Product defaults are built into the product firmware and are used when the saved configuration is not loaded.
  • The saved EEPROM configuration is written by save and includes a configuration CRC.
  • ecrc reports the saved configuration CRC.

Startup behavior

At startup, the CFG switch selects whether the firmware loads the saved EEPROM configuration.

CFG switch Startup behavior
1 Load the saved EEPROM configuration if its CRC is valid.
0 Ignore the saved EEPROM configuration and start from the product defaults.

When the CFG switch is set to 1, the firmware restores the saved EEPROM configuration only if the stored configuration CRC is valid. If the CRC is erased, missing, or mismatched, the firmware may report EEPROM_CONFIG_CRC and keeps the product default configuration active instead.

When the CFG switch is set to 0, the firmware always starts from the product default configuration. The saved EEPROM configuration is not erased, but it is not loaded for that startup.

Saving configuration

save stores supported operating settings in EEPROM and returns the written configuration CRC.

>> save
A1B2
>> ecrc
A1B2

save is a no-argument write command and requires advanced mode. See User Modes for access rules.

Common settings saved by save include:

  • UART baud rate, which is effective at the next boot.
  • Board ID.
  • UART multiplexing state.
  • Error mask.
  • User mode.
  • Sequencer enable state.
  • Sequencer registers.
  • Binary status mask.

Product-specific settings may also be saved by save. The exact set depends on the product firmware and command. Use the generated API command reference when a script depends on persistence for a specific setting.

Default common settings

When the firmware starts from product defaults, common settings are reset to their defaults:

Setting Default
UART baud rate 115200
Board ID 42
UART multiplexing 0 disabled
Error mask ffffffff
User mode 2 advanced
Sequencer state 0 stopped
Sequencer registers all registers cleared to 0
Binary status mask ffffffff

Product-specific settings also return to their firmware defaults.

Typical workflow

  1. Set the CFG switch to 1 if saved configuration should be loaded at startup.
  2. Change operating settings through the serial interface.
  3. Run save.
  4. Record ecrc if host software tracks the saved configuration state.
  5. Restart the device.
  6. Confirm that the expected settings were restored.

If the device starts from defaults and reports EEPROM_CONFIG_CRC, the saved configuration was not accepted. Reconfigure the device, run save, and restart with the CFG switch set to 1.