Skip to content

Release v0.12

Release process: x/11/2025 - x/x/2025

BMS Analog

  • [internal] Latch and HotSwap separate logic
  • [TODO] Latch / Hotswap overwrite in FSM maintenance state
  • [TODO] Cyphal register to set maintenance mode
  • HotSwap activation is now synchronized by Motherboard (and vbus sync if first activation fails)
  • Cyphal Data struct update (starcopter.highdra.bms.BMSData.1.1)

Motherboard Prototype

  • [TODO] prototype release
  • Analog measurements
  • Receive of Cyphal BMSData (starcopter.highdra.bms.BMSData.1.1)
  • MMBs get enabled after complete BMS engage (6x)
  • Mavlink integration of BatteryStatus (including Soc, temperature, voltage, error flags for overtemp/overvolt/undervolt)
  • Cyphal publish of Navlight Sync Pulse
  • Cyphal publish of BMS HotSwap Sync
  • Cyphal publish of PWM parsed Gear Setpoints

Cyphal Library

  • Cyphal custom image verification command (900)
  • Receiver and publisher structure for UART Mavlink
  • Heartbeat publisher
  • BatteryStatus publisher
  • StatusText publisher

CLI Integration Aspects

  • Statistic upload should be executed after upgrade

BMS v0.11 -> v0.12 Register Changes

Name Type Value Flags Required Change?
bms.board.hardware.bms_id string '2032315255325016005D004300000000' M P -
bms.board.hardware.flash_date string '2025-08-18 15:12:55+02:00' M P -
bms.board.hardware.pack_sn natural32[1] 0 M P -
bms.board.hardware.set_id natural16[1] 555 M P -
bms.board.hardware.set_index natural8[1] 5 M P -
bms.board.hardware.version natural8[2] [4, 1]   P -
bms.board.software.version natural8[2] [0, 11]   P -
bms.cell_balance.threshold real32[1] 0.01 M P -
bms.measurement.ibat.offset real32[1] 0.0 M P -
bms.measurement.vbat.gain real32[1] 1.0 M P -
bms.measurement.vpack.gain real32[1] 1.0 M P -
log.can.active natural8[1] 1 M P -
log.can.severity natural8[1] 2 M P -
uavcan.node.description string 'Starcopter Highdra BMS' M P -
uavcan.node.id natural16[1] 72 M -
uavcan.pub.bms_data.dt_ms natural16[1] 100 M P -
uavcan.pub.bms_data.id natural16[1] 6064 M P -
uavcan.pub.bms_data.type string 'starcopter.highdra.bms.BMSData.0.1'   P -
uavcan.pub.energy_source.dt_ms natural16[1] 100 M P -
uavcan.pub.energy_source.id natural16[1] 6063 M P -
uavcan.pub.energy_source.type string 'reg.udral.physics.electricity.Power.0.1'   P -
uavcan.pub.power_data.dt_ms natural16[1] 2000 M P -
uavcan.pub.power_data.id natural16[1] 6060 M P -
uavcan.pub.power_data.type string 'starcopter.highdra.bms.PowerData.0.2'   P -
uavcan.pub.state.dt_ms natural16[1] 2500 M P -
uavcan.pub.state.id natural16[1] 6062 M P -
uavcan.pub.state.type string 'starcopter.highdra.bms.State.0.2'   P -
uavcan.pub.temp_data.dt_ms natural16[1] 2000 M P -
uavcan.pub.temp_data.id natural16[1] 6061 M P -
uavcan.pub.temp_data.type string 'starcopter.highdra.bms.TempData.1.1'   P - New Type