Skip to content

Start-up and the safe state

JP150PCB 1.3PCB 1.4since 26.10.1Jan PřibyslavskýThis page does not apply to the product or PCB revision chosen in the header.

What happens at power-up

  1. The bootloader verifies the installed firmware and starts it. A firmware that fails the check is never started; the module waits in update mode instead (Recovery).
  2. The firmware reads the board's factory record and configures itself for PCB 1.3 or 1.4.
  3. The LEDs, the encoder and the control interface respond immediately. The firmware no longer waits for the DSP before anything else runs, so the level meter shows no random colours at power-up.
  4. The DSP loads its program from the boot memory: about 50 ms on PCB 1.4 (SPI flash), 200 to 250 ms on PCB 1.3 (I2C EEPROM). Audio starts when the program runs; the selected input is sent to the DSP at that moment. MuraLink shows the outcome and the time on DSP > Status (Boot); DSP:BOOT? reports them.
  5. The stored settings are applied: volume, input, enable mask, automatic power-down, trigger and DSP self boot.

A watchdog supervises every firmware task. A module that stops responding restarts itself instead of staying silent; MuraLink's Diagnostics > System then names the watchdog as the cause of the last reset, and SYS:RESET:CAUSE? answers IWDG.

Board identity

Every provisioned module carries its product, PCB revision, serial number and production date in a write-once record. MuraLink shows the Manufacturer, the Serial number, the Board with its revision and the Firmware on Device > Status, and the board on the device line of the Overview. Over the control interface, *IDN? reports the serial number as its third field, for example JP150-0001-0005; SYS:BOARD:RECORD? shows the whole record and SYS:BOARD:TYPE? the board the firmware recognised.

The safe state

A board without a record the firmware supports (a bare development board, a record of another product, or a revision newer than the firmware knows) starts in a safe state:

  • The DSP and both power stages stay in reset; there is no audio.
  • The status LED shows red with a dim white step every second.
  • MuraLink shows a banner, keeps the identification and the firmware update available and limits its polling to the commands that still answer.
  • Over the control interface only the identification and update commands answer (*IDN?, ping, the SYS:BOARD:* queries, version and diagnostics queries, SYS:BOOTLOADER); every other command answers ERR:BOARD:UNSUPPORTED.

The point of the safe state is that such a module can still be identified and updated to a firmware that supports it.