System: settings memory¶
JP150PCB 1.3PCB 1.4generatedJan PřibyslavskýThis page does not apply to the product or PCB revision chosen in the header.
The settings memory: the state of the EEPROM autosave, the reset of the user settings to their defaults, and the service commands for the flash backup record. Integration notes describes which settings are stored and when.
Commands¶
| Command | Function | Parameter | Answer | Since | Boards |
|---|---|---|---|---|---|
SYS:NVM:EEPROM:STATE? † |
Result of the settings-memory start-up | – | SYS:NVM:EEPROM:STATE:<state> |
26.10.1 | 1.3, 1.4 |
SYS:NVM:EEPROM:PENDING? † |
Whether an autosave write is outstanding | – | SYS:NVM:EEPROM:PENDING:<0|1> |
26.10.1 | 1.3, 1.4 |
SYS:NVM:DEFAULTS |
Reset the user settings to their defaults and restart | – | SYS:NVM:DEFAULTS:<OK|ERR:EEPROM|ERR:FLASH> |
26.10.1 | 1.3, 1.4 |
SYS:NVM:FLASH:SAVE |
Write the flash backup record (service) | – | SYS:NVM:FLASH:SAVE:<OK|ERROR> |
26.6.2 | 1.3, 1.4 |
SYS:NVM:FLASH:LOAD |
Load the flash backup record (service) | – | SYS:NVM:FLASH:LOAD:<OK|ERROR|NO_DATA> |
26.6.2 | 1.3, 1.4 |
SYS:NVM:FLASH:ERASE |
Erase the flash backup sector (service) | – | SYS:NVM:FLASH:ERASE:<OK|ERROR> |
26.6.2 | 1.3, 1.4 |
SYS:NVM:FLASH:CHECK? |
Sequence number of the flash backup record | – | SYS:NVM:FLASH:CHECK:<sequence> |
26.6.2 | 1.3, 1.4 |
Since is the release the command appeared in; 26.6.2 is the oldest release documented here, so a command marked 26.6.2 may be older. †: also served in the safe state (see SYS:BOARD:TYPE?).
SYS:NVM:EEPROM:STATE?¶
Recorded once at start; it does not change while the module runs. OK and NODATA mean the
autosave works. After ABSENT or ERROR nothing is saved in this session, and
SYS:NVM:EEPROM:PENDING? always answers 0: a host takes persistence from this query and
never reports a setting as saved after ABSENT or ERROR.
Settings-memory states
| Value | Meaning |
|---|---|
OK |
The settings were restored from the EEPROM |
NODATA |
The EEPROM was empty or held an older layout; defaults and the flash backup are in use and the autosave fills it |
ABSENT |
The EEPROM did not answer at start; nothing is autosaved in this session |
ERROR |
An I2C or layout error at start; nothing is autosaved in this session |
SYS:NVM:EEPROM:PENDING?¶
1 while at least one setting waits for its autosave debounce or is being written, 0 when
nothing is outstanding. Commands run in order and every autosaved setter marks its write
before it answers, so a query sent right after a setter already sees it. The 1 lasts the
setting's debounce (0.1 s for DSP:SELFBOOT and the trigger settings, 1 s for the input
enable flags and the TWS fallback role, 2 s for the input, 3 s for the volumes, 5 s for the
automatic power-down settings) plus up to 0.5 s: at most about 5.5 s after the last change.
Changes the host did not make show too: the encoder, the volume from the Wi-Fi module, the
autosave's own re-check every 10 minutes, and the first writes after a start that found empty
slots.
0 is not proof of success: a write that fails three times in a row is given up and also ends
at 0 (the 10-minute re-check tries again), and without a working EEPROM the answer is always
0. The answer has one field today; later firmware may append fields after it. *RST and
SYS:BOOTLOADER write pending settings before they restart the module.
AMP:VOL 40
SYS:NVM:EEPROM:PENDING? -> SYS:NVM:EEPROM:PENDING:1
(3 to 3.5 s later)
SYS:NVM:EEPROM:PENDING? -> SYS:NVM:EEPROM:PENDING:0
SYS:NVM:DEFAULTS¶
Returns the user settings to their defaults: the master and channel volumes, the input enable
mask, the automatic power-down settings, the DSP self boot and the three trigger settings. The
selected input, the TWS fallback role, the board identity, the Bluetooth and Wi-Fi pairings
and the DSP program are kept. In order: the power stages are muted, every setting gets its
default, the autosave writes them (at most 1 s), the flash backup record is rewritten, the
answer is sent, and 500 ms after the answer the module restarts, also after an ERR:* answer.
The defaults take effect through the normal start-up; the outputs stay muted until then.
OK: every write was confirmed. ERR:EEPROM: an EEPROM write was not confirmed within 1 s or
was given up. ERR:FLASH: the EEPROM writes were confirmed but the flash record could not be
written. After an error the reset may be partial, so a host re-reads the settings after it
reconnects. The answer can take about 2.2 s (a flash sector erase of up to 1.1 s, during which
the module does not respond), so a host waits 4 s or more for it. SYS:RESET:CAUSE? answers
SOFTWARE after the restart. Not served in the safe state.
The flash backup record¶
Commands: SYS:NVM:FLASH:SAVE, SYS:NVM:FLASH:LOAD, SYS:NVM:FLASH:ERASE, SYS:NVM:FLASH:CHECK?
Service commands for the flash record that backs up the volumes, the selected input, the TWS
fallback role and the board identity written with SYS:BOARD:ID. SAVE writes the record
(skipped when nothing changed; when the sector is full it is erased first, which stalls the
module for 1 to 2 s). LOAD restores the record into the running settings, NO_DATA when
there is none. ERASE clears the sector; it does not reset the settings, because their EEPROM
copy wins at the next start: use SYS:NVM:DEFAULTS for that. CHECK? answers the sequence
number of the last valid record, 4294967295 when there is none; it rises by one with every
write.
Changes¶
- 26.10.1: added
SYS:NVM:EEPROM:STATE?,SYS:NVM:EEPROM:PENDING?,SYS:NVM:DEFAULTS. - 26.6.2 (oldest release documented): 4 commands.