Changes by release¶
JP150PCB 1.3PCB 1.4Jan PřibyslavskýThis page does not apply to the product or PCB revision chosen in the header.
What changed in the control interface from one release to the next: the commands added and removed, taken from the firmware's command tables, and the behaviour changes that host software must handle. 26.6.2 is the oldest release documented here; its 108 commands are the baseline.
26.10.1 (since 26.8.0)¶
52 commands added, 4 removed, 13 behaviour changes.
Removed
DSP:AUTOLOAD?: Automatic DSP program load setting (replaced by the self boot)DSP:AUTOLOAD: Set the automatic DSP program load (replaced by the self boot)BT:BOOTROLE?: Stored TWS boot role (replaced by BT:TWS:FALLBACKROLE?)BT:BOOTROLE: Set the stored TWS boot role (replaced by BT:TWS:FALLBACKROLE)
Added
| Command | Group | Function | Parameter |
|---|---|---|---|
SYS:MEAS:POW? |
SYS:MEAS | Supply power in W | – |
SYS:RESET:CAUSE? |
SYS: identity | Cause of the reset before this start | – |
SYS:RTOS? |
SYS: identity | Free heap now and at its lowest, tasks that could not be created | – |
SYS:POWER:USBC? |
SYS:POWER | USB-C power source present | – |
SYS:TRIG? |
SYS:TRIG | Trigger input level | – |
SYS:TRIG:MODE? |
SYS:TRIG | Trigger mode | – |
SYS:TRIG:MODE |
SYS:TRIG | Set the trigger mode | OFF, FOLLOW, ONOFF |
SYS:TRIG:TARGET? |
SYS:TRIG | Level the trigger switches down to | – |
SYS:TRIG:TARGET |
SYS:TRIG | Set the level the trigger switches down to | PWRSTAGE_IDLE, PWRSTAGE_OFF, SLEEP, STANDBY |
SYS:TRIG:PRIORITY? |
SYS:TRIG | Whether the trigger overrides the automatic decisions | – |
SYS:TRIG:PRIORITY |
SYS:TRIG | Set the trigger priority | 0, 1 |
SYS:FW:PACKAGE? |
SYS: identity | Installed package variant, label, security counter and key type | – |
SYS:BOARD:RECORD? |
SYS: identity | The factory record, product, revision, serial number and production date | – |
SYS:BOARD:TYPE? |
SYS: identity | Board identified from the factory record, or why it is not supported | – |
DSP:PANIC? |
DSP | Panic flag and code of the DSP | – |
DSP:BOOT? |
DSP | The last DSP boot, state and duration | – |
DSP:CORE:STATUS? |
DSP | State of the DSP core | – |
DSP:SELFBOOT? |
DSP | DSP self boot setting and the level of the SELFBOOT pin | – |
DSP:SELFBOOT |
DSP | Set the DSP self boot | 0, 1 |
DSP:FLASH:BUS? |
DSP:FLASH | Levels of the boot-memory bus lines while the DSP is in reset | – |
DSP:FLASH:ID? |
DSP:FLASH | Identification and status of the boot memory | – |
DSP:FLASH:READ? |
DSP:FLASH | Read 1 to 32 bytes | <address>,<length> |
DSP:FLASH:ERASE |
DSP:FLASH | Erase 4 KB sectors, at most 64 KB per call | <address>,<length> |
DSP:FLASH:WRITE |
DSP:FLASH | Program 1 to 32 bytes, CRC-checked and read back | <address>,"<hex>",<crc32> |
DSP:FLASH:CRC? |
DSP:FLASH | CRC-32 of a range, at most 1 MB per call | <address>,<length> |
BT:TWS:ROLE? |
BT:TWS | Role negotiated by the live link | – |
BT:TWS:STAT? |
BT:TWS | The whole TWS state in one numeric answer, for polling | – |
BT:AIO? |
BT | Levels and edge counts of the module's LED lines | – |
BT:TWS:PAIR:START |
BT:TWS | Start pairing as Primary without blocking the control interface | – |
BT:TWS:PAIR:STATUS? |
BT:TWS | Progress of that pairing | – |
BT:TWS:INQ? |
BT:TWS | Whether a peer search runs | – |
BT:TWS:INQ |
BT:TWS | Start or stop the peer search | 0, 1 |
BT:TWS:DISC |
BT:TWS | Disconnect the peer and keep the pairing | – |
BT:TWS:CONN |
BT:TWS | Reconnect the remembered peer | – |
BT:TWS:BOND:DEL |
BT:TWS | Forget the peer without disconnecting | – |
BT:TWS:REBOOT |
BT:TWS | Apply a role now; restarts the Bluetooth module | 0, 1, 2 |
BT:TWS:SCAN:COUNT? |
BT:TWS | Entries kept and seen in the last search | – |
BT:TWS:SCAN:ITEM? |
BT:TWS | One entry of the last search | <index> |
BT:TWS:SCAN:DIAG? |
BT:TWS | Diagnostics of the search-result parser | – |
BT:TWS:PEERDIAG? |
BT:TWS | Diagnostics of the peer-record parser | – |
BT:TWS:BOOTOUTCOME? |
BT:TWS | What the last start did with the remembered peer | – |
BT:TWS:PEERLIST? |
BT:TWS | The module's remembered devices, phones and the TWS peer | – |
BT:TWS:REPAIR |
BT:TWS | Forget the peer and pair again in the given role (Start New Pairing) | 0, 1, 2 |
BT:AT |
BT | Raw AT command to the Bluetooth module (development aid) | "<AT command>" |
BT:TWS:REFRESH |
BT:TWS | Re-read the TWS state from the module | – |
BT:TWS:FALLBACKROLE? |
BT:TWS | Stored role for a start without a remembered peer | – |
BT:TWS:FALLBACKROLE |
BT:TWS | Set the stored fallback role | 0, 1, 2 |
SYS:BOOTLOADER:INFO? |
SYS: identity | How the bootloader started this firmware, rollback floor, last update attempt | – |
SYS:PROTECTION? |
SYS: identity | Read-out protection level, bootloader write protection, brown-out level | – |
SYS:NVM:EEPROM:STATE? |
SYS:NVM | Result of the settings-memory start-up | – |
SYS:NVM:EEPROM:PENDING? |
SYS:NVM | Whether an autosave write is outstanding | – |
SYS:NVM:DEFAULTS |
SYS:NVM | Reset the user settings to their defaults and restart | – |
Behaviour changes
SYS:BOOTLOADERanswersSYS:BOOTLOADER:OKafter at most 1 s (pending settings are written first) and restarts the module into the bootloader's update mode: the serial port disappears and a DFU device16D0:15B7appears. The ST ROM bootloader is no longer used. Without an update the module returns to its firmware after 5 minutes.*RSTstill answersResetting device...first, then writes pending settings (at most 1 s) and resets at least 100 ms after the answer, so the answer now also arrives over USB.*IDN?reports the serial number of the factory record as its third field,N/Awithout a record. On a provisioned module the setterSYS:BOARD:IDanswersSYS:BOARD:ID:LOCKEDand writes nothing.- On a module without a supported factory record every command outside the reduced set answers
ERR:BOARD:UNSUPPORTED, one line without a prefix. The reduced set is marked with a dagger in the reference. - New prefixes of longer commands:
BT:TWS:PAIR(:START,:STATUS?),BT:TWS:SCAN?(:COUNT?,:ITEM?,:DIAG?),SYS:BOOTLOADER(:INFO?),SYS:NVM:EEPROM:STATE?(:PENDING?) andSYS:TRIG?(:MODE?,:TARGET?,:PRIORITY?). A response matcher that works by prefix must exclude the longer forms. SYS:BOOTLOADER:INFO?andSYS:NVM:EEPROM:PENDING?are extensible: later firmware may append fields. Hosts read the fields they know and ignore further ones.BT:TWS:UNPAIRanswersBT:TWS:UNPAIR:OKor:ERR:MODULE; it was silent.BT:TWS:PAIRstill blocks the control interface for up to 15 s: useBT:TWS:PAIR:STARTand pollBT:TWS:PAIR:STATUS?.BT:TWS:FALLBACKROLE?answersStandalone,PrimaryorSecondary; the removedBT:BOOTROLE?answeredMasterandSlave. The numeric values of the setter are unchanged.SYS:MEAS:VOLT?andSYS:MEAS:CURR?keep their format. On PCB 1.4 they draw no answer when the power monitor cannot be read.DSP:PC:ADVANCING?keeps its name and answer, but now reports1while the DSP core runs or sleeps between samples, from one status register. It used to sample the program counter, which also moves while no program runs.- The virtual COM port enumerates under USB
16D0:15B8(was0483:5741), update mode under16D0:15B7. Software that finds the module by VID and PID must add the new identifiers. - The settings-memory layout changed (version 3 to 6). On the first start of 26.10.1 the stored settings are rebuilt once:
SYS:NVM:EEPROM:STATE?answersNODATAon that start, and the input enable mask, the automatic power-down and the new settings return to their defaults; volumes, the selected input and the TWS fallback role are kept. BT:ATis unfiltered: it will sendAT+RESTORE(factory reset of the Bluetooth module) orAT+BAUD(breaks the link). A development aid, not a product feature.
26.8.0 (since 26.7.0)¶
13 commands added, 0 removed, 6 behaviour changes.
Added
| Command | Group | Function | Parameter |
|---|---|---|---|
SYS:INPUT:ENABLE? |
SYS:INPUT | Whether an input is enabled | <source> |
SYS:INPUT:ENABLE |
SYS:INPUT | Enable or disable an input | <source>,<0|1> |
SYS:INPUT:ENABLE:LIST? |
SYS:INPUT | The enabled inputs in one answer | – |
SYS:I2C:GUARD? |
SYS:I2C:GUARD | A second master is active on the DSP bus | – |
SYS:I2C:GUARD:COUNT? |
SYS:I2C:GUARD | Programmer episodes since start | – |
SYS:I2C:GUARD:STUCK? |
SYS:I2C:GUARD | A bus line is held low (hardware fault) | – |
SYS:POWER:AUTO:MODE? |
SYS:POWER | Level entered after the silence delay | – |
SYS:POWER:AUTO:MODE |
SYS:POWER | Set the level entered after the silence delay | PWRSTAGE_IDLE, PWRSTAGE_OFF, SLEEP, STANDBY |
SYS:POWER:AUTO:DELAY? |
SYS:POWER | Silence delay in seconds | – |
SYS:POWER:AUTO:DELAY |
SYS:POWER | Set the silence delay | 10..65535 |
SYS:POWER:AUTO:THRESHOLD? |
SYS:POWER | Level above which audio counts as present | – |
SYS:POWER:AUTO:THRESHOLD |
SYS:POWER | Set the silence threshold | <raw> |
SYS:POWER:AUTO:STATE? |
SYS:POWER | Automatic power-down status and countdown | – |
Behaviour changes
SYS:INPUTanswersSYS:INPUT:OK,:ERR:DISABLEDor:ERR:PARAM, where it was silent. Software written against the old behaviour pairs this reply with the next query and drifts out of step.SYS:INPUT?may answerNONE.SYS:POWER:AUTOdefaults to disabled and drives real behaviour; before it was a stored value without effect, defaulting to enabled.SLEEPno longer removes power from the Wi-Fi module; check forSTANDBYwhen deciding whether Wi-Fi is reachable.SYS:INPUT,SYS:I2C:GUARD?andSYS:POWER:AUTObecame prefixes of longer commands.SYS:I2C:GUARD?returning0is not proof that the bus is free; read it together withSYS:I2C:GUARD:STUCK?.DSP:INPUTMUX:*is deprecated in favour ofDSP:IPAT:SETBLOCK; it still works but bypasses the DSP's parameter engine.
26.7.0 (since 26.6.2)¶
20 commands added, 2 removed, 1 behaviour change.
Removed
AMP0:RST: Reset power stage 0 (action)AMP1:RST: Reset power stage 1 (action)
Added
| Command | Group | Function | Parameter |
|---|---|---|---|
AMP0:RESET? |
AMP | Reset line of power stage 0 | – |
AMP0:RESET |
AMP | Hold power stage 0 in reset | 0, 1 |
AMP1:RESET? |
AMP | Reset line of power stage 1 | – |
AMP1:RESET |
AMP | Hold power stage 1 in reset | 0, 1 |
AMP0:FAULT? |
AMP | Decoded live fault state of power stage 0 | – |
AMP1:FAULT? |
AMP | Decoded live fault state of power stage 1 | – |
AMP0:FAULT:LATCHED? |
AMP | Worst fault of power stage 0 since the last clear | – |
AMP1:FAULT:LATCHED? |
AMP | Worst fault of power stage 1 since the last clear | – |
AMP0:FAULT:CLEAR |
AMP | Clear the latched fault of power stage 0 | – |
AMP1:FAULT:CLEAR |
AMP | Clear the latched fault of power stage 1 | – |
AMP0:FAULT:RECOVER |
AMP | Reset pulse to recover power stage 0 from a latched fault | – |
AMP1:FAULT:RECOVER |
AMP | Reset pulse to recover power stage 1 from a latched fault | – |
AMP0:CLOCK? |
AMP | Clock and PLL diagnostics of power stage 0 | – |
AMP1:CLOCK? |
AMP | Clock and PLL diagnostics of power stage 1 | – |
SYS:BOARD:ID? |
SYS: identity | Board identity, revision and serial number | – |
SYS:BOARD:ID |
SYS: identity | Write the board identity (factory command) | "<revision>","<serial>" |
SYS:BOARD:REV? |
SYS: identity | Board revision | – |
SYS:BOARD:SERIAL? |
SYS: identity | Board serial number | – |
DSP:IPAT:SETBLOCK |
DSP | Write one value through the DSP's parameter table | <write_address>,<value> |
DSP:LVLMETER:RMS? |
DSP | Level-meter RMS reading | – |
Behaviour changes
AMP0:RSTandAMP1:RSTare replaced by the pin-levelAMP0:RESET/AMP1:RESETand the fault commands.