Gen3 RS485 Bootloader

From OpenMotics
Jump to navigation Jump to search

The Gen3 RS485 Bootloader returns debug output on the programming pads.

These debug lines are 3 letter codes:

  • BLO: Bootloader active, consider this a "hi there" from the bootloader
  • I2C: I2C status
    • OK: I2C is correctly loaded
    • If not OK, the debug line most likely won't be printed
  • BVE: Bootloader version
  • FLO: Active bootloader flow
    • INIT: In case of a fresh module (no address and safety counter of > 0), the module will calculate & store the CRC and proceed
    • SFAIL: Safety counter failure, it seems the application does not start and the bootloader will stay active for a while
    • NORM: Everything is OK. Based on the bootloader timeout, it will wait in bootloader for a given time and then jump to application
  • BLT: Bootloader timeout
  • BSC: Bootloader safety counter. Everytime the bootloader activates, it decrements this. When it reaches 0, it assumes the application cannot start and the bootloader will stay active for a while
  • FWV: The detected firmware version. Might be 255.255.255 if the firmware has not run yet.
  • ADR: The module address. Might be 255.255.255.255 in case the module was not yet discovered
  • PSG: Started processing data
  • STP: Stopped processing data
  • IVC: Invalid CRC. This means the bootloader won't jump to application but reset instead back to bootloader
  • RSC: Reset safety counter. Used by the bootloading process after a new application was flashed
  • DSC: Decrement safety counter
  • GTA: The bootloader will now jump to application
  • RCV: Received command
    • The command will be printed
    • The result code will be printed as well