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
bms.board.software.version Natural8Array[2] e.g. [0,10]
bms.board.hardware.version Natural8Array[2] e.g. [4,2]
bms.board.hardware.flash_date String[35] e.g. "2025-06-02 10:51:26+02:00"
bms.board.hardware.set_id Natural16[1] 0x0000
bms.board.hardware.set_index Natural8[1] 0
bms.board.hardware.pack_sn Natural32Array[1] 0x00000000
bms.board.hardware.bms_id String[35] e.g. "2031354D543050040032003000000000"
bms.measurement.vpack.gain Real32Array[1] 1.0
bms.measurement.vbat.gain Real32Array[1] 1.0
bms.measurement.ibat.offset Real32Array[1] 0.0
bms.cell_balance.threshold Real32Array[1] 300.0

BMS Publisher

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