BMSData

This is a ROS message definition.

Source

float64 pack_voltage
float64 charge_current
float64 discharge_current
int32 state_of_charge
float64 remaining_time_to_full_charge
int32 remaining_capacity
int32 state_of_health
int32 DISCHARGING=1 #bit 0
int32 CHARGING=2    #bit 1
int32 OV=4         #bit 2 Over voltage
int32 UV=8          #bit 3 Under voltage
int32 COC=16         #bit 4 Charge over current
int32 DOC=32         #bit 5 Discharge over current
int32 DOT=64         #bit 6 Discharge over temperature
int32 DUT=128         #bit 7 Discharge under temperature
int32  SC=512         #bit 9
int32 COT=1024         #bit 10 Charge over temperature
int32 CUT=2048         #bit 11 Charge under temperature
int32 FW_STATUS_MSK=2031616 # to get Battery_Firmware_Status  do the following:
int32 FW_STATUS_SHIFT=16    # batt_fw_stat=(status_flags & FW_STATUS_MSK)>>FW_STATUS_SHIFT
int32 FW_UPD_OK=0                  #Battery firmware update finished OK.
int32 FW_UPD_RUNNING=1             #Battery firmware update running.
int32 FW_UPD_FAILED_BOOT=2         #Battery firmware update failed in Bootloader (Robot must not drive)
int32 FW_UPD_FAILED_APP=3          #Battery firmware update failed updating the application (Robot can drive with old FW)
int32 FW_UPD_FAILED_PARAM=4        #Battery firmware update failed uploading parameters (Robot can drive with old fw and parameters.)
int32 FW_STATUS_LOW_BATT=5         #Battery firmware update skipped battery too low (Robot can drive with old parameters.)
int32 FW_STATUS_FILE_CORRUPTED=6   #Battery firmware file corrupted (Robot can drive with old parameters.)
int32 FW_STATUS_CURRENT_TO_HIGH=7  #Battery firmware file corrupted (Robot can drive with old parameters.)
int32 FW_STATUS_NO_CAN=8           #Battery firmware update skipped no CAN communication (Robot can drive with old fw and parameters.)
int32 FW_BATTERY_IMBALANCE_HIGH=9  #Battery firmware update is enforced and the battery will be shut off by the new firmware
int32 status_flags
int32 temperature
uint32[] cell_voltage # In Mk2 robots and above the BMS provides data for 8 battery cells. 2Gen robots have BMS for 13 battery cells

# Exteded diagnosticts for BMZ battery
uint32 bmz_flag # Flag for enabling extended diagnosticts
float64 full_voltage
int32 full_capacity
int32 temperature2
int32 temperature3
int32 cycle_count
int32 dsg_overcurrent_counter
int32 chg_overcurrent_counter
int32 hw_major
int32 hw_minor
int32 fw_major
int32 fw_minor
int32 fw_patch
int32 rec_fw_major
int32 rec_fw_minor
int32 bl_major
int32 bl_minor
uint32 status_enabled
uint32 status_current_limitation
uint32 status_switch_off_warn1
uint32 status_switch_off_warn2
uint32 status_fully_discharged
uint32 status_nearly_discharged
uint32 status_chargefet_on
uint32 status_dischargefet_on
uint32 status_discharging
uint32 status_fully_charged
uint32 status_charging
uint32 status_temp_charging_err
uint32 status_cell_over_voltage
uint32 status_cell_under_voltage
uint32 status_charge_over_current
uint32 status_shortcircuit
uint32 status_discharge_over_current
uint32 status_temp_discharging_err
uint32 status_charger_detected

float64 last_battery_msg_time