User Modes
Access modes and write permissions in Koheron V1 firmware.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.
V1 firmware uses access modes to decide whether selected commands are allowed to modify settings. The current mode is read or changed with usrmode.
Modes
| Mode | Name | Common use |
|---|---|---|
0 |
Restricted | Read-only identification and status access. |
1 |
Normal | Day-to-day writable settings, errclr, and errmsk. |
2 |
Advanced | UART setup, saved configuration, user EEPROM writes, sequencer control, and other advanced workflows. |
The firmware global default is advanced mode (2). On startup, the saved mode is loaded from EEPROM; invalid saved values are restored as 2.
>> usrmode
2
>> usrmode 1 11111
1
>> usrmode 2 22222
2
Use decimal key 11111 for normal mode and 22222 for advanced mode.
Read and write access
Reads generally do not require write access. Normal writes generally require normal mode. Advanced configuration writes require advanced mode. Factory or service writes, when available on a product, require Koheron service access and are not part of everyday operation.
No-argument write commands still require access. save and the hidden board-reset operation are no-argument writes and require advanced mode. errclr and errmsk writes require normal mode or higher.
Validation order
For commands that can be read or written, V1 firmware applies this order:
- No arguments: read the current value.
- Invalid argument shape, invalid value, or invalid runtime request: report
CMD_INVALID_ARG. - Valid write shape but current mode too low: report
CMD_ACCESS_DENIED. - Valid write shape and sufficient mode: apply the write.
CMD_UNKNOWN is common error bit 2, mask 00000004. CMD_ACCESS_DENIED is common error bit 4, mask 00000010. Use errlist on the connected device as the authoritative bit-index list.
If the usrmode key is invalid or insufficient for the requested mode, firmware sets CMD_INVALID_ARG and leaves the mode unchanged. Query usrmode after a change to confirm the active mode.
Access modes are not a safety boundary; hardware protections and product limits remain essential.