Skip to content

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:STATE?  ->  SYS:NVM:EEPROM:STATE:OK

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.

SYS:NVM:DEFAULTS  ->  SYS:NVM:DEFAULTS:OK
(the module restarts 500 ms later)

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.

SYS:NVM:FLASH:CHECK?  ->  SYS:NVM:FLASH:CHECK:42

Changes

  • 26.10.1: added SYS:NVM:EEPROM:STATE?, SYS:NVM:EEPROM:PENDING?, SYS:NVM:DEFAULTS.
  • 26.6.2 (oldest release documented): 4 commands.