Index: dialin/common/msg_ids.py =================================================================== diff -u -rc3a1b7c1f4aa0e08000c891207891a6fbe016350 -re06884d51e6508a6cafc47673a1a9908459d6b6d --- dialin/common/msg_ids.py (.../msg_ids.py) (revision c3a1b7c1f4aa0e08000c891207891a6fbe016350) +++ dialin/common/msg_ids.py (.../msg_ids.py) (revision e06884d51e6508a6cafc47673a1a9908459d6b6d) @@ -202,8 +202,13 @@ MSG_ID_DG_FLOW_SENSORS_DATA = 0xB3 MSG_ID_DG_RESPONSE_SERVICE_MODE_REQUEST = 0xB4 MSG_ID_HD_REQUEST_DG_ALARMS = 0xB5 - MSG_ID_HD_BATTERY_MANAGEMENT_DATA = 0xB9 - MSG_ID_HD_BATTERY_STATUS_DATA = 0xBA + MSG_ID_HD_REQUEST_DG_SERVICE_RECORD = 0xB9 + MSG_ID_HD_REQUEST_UI_CONFIRMATION = 0xBA + MSG_ID_UI_CONFIRMATION_RESULT = 0xBB + MSG_ID_REQUEST_CPLD_STATUS = 0xBC + MSG_ID_DG_CPLD_STATUS = 0xBD + MSG_ID_HD_BATTERY_MANAGEMENT_DATA = 0xBE + MSG_ID_HD_BATTERY_STATUS_DATA = 0xBF MSG_ID_CAN_ERROR_COUNT = 0x999 Index: dialin/hd/battery.py =================================================================== diff -u -rc3a1b7c1f4aa0e08000c891207891a6fbe016350 -re06884d51e6508a6cafc47673a1a9908459d6b6d --- dialin/hd/battery.py (.../battery.py) (revision c3a1b7c1f4aa0e08000c891207891a6fbe016350) +++ dialin/hd/battery.py (.../battery.py) (revision e06884d51e6508a6cafc47673a1a9908459d6b6d) @@ -16,7 +16,7 @@ import struct from logging import Logger -#from .constants import RESET, NO_RESET +from .constants import RESET, NO_RESET from ..common.msg_defs import MsgIds, MsgFieldPositions from ..protocols.CAN import DenaliMessage, DenaliChannels from ..utils.base import AbstractSubSystem, publish @@ -130,6 +130,9 @@ """ return self.status_values + def get_battery_remaining_capacity(self): + return self.status_values[0][0] + def get_battery_manager_values(self): """ Gets the battery manager values @@ -159,8 +162,8 @@ if value[2] == "int": value[0] = struct.unpack('HH', value[0])[0] if value[2] == "mah": - temp = struct.unpack('HH', value[0])[0] - value[0] = temp * BATTERY_MAH_2_MWH_FACTOR + temp = struct.unpack('I', value[0])[0] + value[0] = temp elif value[2] == "string": value[0] = struct.unpack('s', value[0]) elif value[2] == "temperature": @@ -177,11 +180,11 @@ value[0] = format(temp, 'b') #print out the converted values - for value in self.status_values: - units = value[3] - if not units: - units = "" - print (value[1], value[0], units) + # for value in self.status_values: + # units = value[3] + # if not units: + # units = "" + # print (value[1], value[0], units) def _handler_battery_manager_sync(self, message): """ @@ -222,11 +225,11 @@ value[0] = format(temp, 'b') #print out the converted values - for value in self.manager_values: - units = value[3] - if not units: - units = "" - print (value[1], value[0], units) + # for value in self.manager_values: + # units = value[3] + # if not units: + # units = "" + # print (value[1], value[0], units) def cmd_battery_remaining_capacity_override(self, mWh: float, reset: int = NO_RESET) -> int: """