Skip to content

BMS Cyphal Registers

The registers for hardware.version and software.version (see below) are used during startup to check if the executed software matches the system. If the compilation target hardware version (constant static value within the application) does not match the loaded version of the register (from flash storage), the application is not executed any further. If the compilation target software version (constant static value within the application) is a major version change to the flash stored software version, the application is not executed any further.

Register Creation

BMD default registers

name data_type default value flags comment
bms.board.software.version String[64] git hash - -
bms.board.hardware.version Natural8Array[2] e.g. [4,2] - p
bms.board.hardware.flash_date String[35] e.g. "2025-06-02 10:51:26+02:00" m p
bms.board.hardware.set_id Natural16[1] 0x0000 m p
bms.board.hardware.set_index Natural8[1] 0 m p
bms.board.hardware.pack_sn Natural32Array[1] 0x00000000 m p
bms.board.hardware.bms_id String[35] e.g. "2031354D543050040032003000000000" m p
bms.measurement.vpack.gain Real32Array[1] 1.0 m p
bms.measurement.vbat.gain Real32Array[1] 1.0 m p
bms.measurement.ibat.offset Real32Array[1] 0.0 m p
bms.cell_balance.threshold Real32Array[1] 300.0 m p
bms.maintenance.active BitArray[1] 0 = false m
bms.maintenance.exit_state Unstructured[1] FSM_STATE::IDLE = 2, see FSM state encoding m
bms.maintenance.latch BitArray[1] 0 = false m
bms.maintenance.hotswap BitArray[1] 0 = false m

BMS Publisher

name data_type default value flags comment
uavcan.pub.energy_source.id Natural16Array[1] 6063 m -
uavcan.pub.energy_source.type String[40] "reg.udral.physics.electricity.Power.0.1" - -
uavcan.pub.energy_source.dt_ms Natural16Array[1] 100 m p
uavcan.pub.power_data.id Natural16Array[1] 6060 m -
uavcan.pub.power_data.type String[37] "starcopter.highdra.bms.PowerData.0.2" - -
uavcan.pub.power_data.dt_ms Natural16Array[1] 2000 m p
uavcan.pub.temp_data.id Natural16Array[1] 6061 m -
uavcan.pub.temp_data.type String[36] "starcopter.highdra.bms.TempData.0.1" - -
uavcan.pub.temp_data.dt_ms Natural16Array[1] 2000 m p
uavcan.pub.state.id Natural16Array[1] 6062 m -
uavcan.pub.state.type String[33] "starcopter.highdra.bms.State.0.2" - -
uavcan.pub.state.dt_ms Natural16Array[1] 2500 m p
uavcan.pub.bms_data.id Natural16Array[1] 6064 m -
uavcan.pub.bms_data.type String[33] "starcopter.highdra.bms.BMSData.0.1" - -
uavcan.pub.bms_data.dt_ms Natural16Array[1] 100 m p