Firmware update

The radio firmware in TimoTwo can be updated. This can be performed via SPI from a host processor in a fixture, or over the air (via Bluetooth) or via the DMX/RDM interface.

For details about updates, please contact support.

Bluetooth

The easiest way to update the firmware in TimoTwo is by using the CRMX Toolbox app. It will automatically download the latest version from LumenRadio servers and upload to the TimoTwo module.

DMX interface

It is also possible to update firmware in TimoTwo via the DMX interface and the CRXM Upgrade cable. This requires the DMX interface to be accessible from outside the fixture.

See the link switch section for information on how to set TimoTwo into firmware update mode.

Use the CRMX Update utility to update the firmware.

SPI

Definitions

  • FW_BLOCK_CMD_1 = 0x8E (size = 254 bytes)
  • FW_BLOCK_CMD_2 = 0x8F (size = 18 bytes)
  • CCI_CHUNK_SIZE = 272
  • CCI_HEADER_SIZE = 4

The SPI driver can only handle 255 bytes, giving the CCI chunck has to be send as two parts, FW_BLOCK_CMD_1 and FW_BLOCK_CMD_2.

Procedure

  1. Set the SPI bus speed to at most 2 MHz.
  2. Turn BLE off by writing BLE_ENABLED bit in the BLE_STATUS register.
  3. Wait for the module to reboot - approx 2 seconds.
  4. Put the TimoTwo in UPDATE_MODE. Do this by writing 0x40 to the config register (0x00).
  5. Wait at least 0.5 seconds for the module to prepare. The status LED will now be blinking slowly.
  6. Read the status (0x01) register and make sure bit 7 is high.
  7. Open the .cci firmware file and skip the first 4 bytes.
  8. Read 254 bytes from the firmware file and write them to the module using the SPI command FW_BLOCK_CMD_1.
  9. Read the next 18 bytes, write to the module using the SPI command FW_BLOCK_CMD_2.
  10. The first block of data (254+18) is the header information of the firmware file. After each 16 blocks of data (after the header block), the module will write received firmware data to its memory, so you will have to wait until it's done before sending the next blocks (at least 100ms, recommended 500ms).
  11. If not End-of-File: Go to step 6
  12. If End-of-File: Wait for the chip to finish update, at least 1 second.
  13. Read the STATUS register to make sure the module has exit the update mode. This will signify that the module has received all the firmware bytes and has verified it to be valid. The status LED should now be blinking quickly if the radio is on, or not blink at all.
  14. Read the VERSION register to confirm you have flashed the selected firmware.