diff --git a/Software/Source/pijuice.py b/Software/Source/pijuice.py index 6b1070d3..14c26a25 100644 --- a/Software/Source/pijuice.py +++ b/Software/Source/pijuice.py @@ -162,6 +162,9 @@ def __enter__(self): def __exit__(self, exc_type, exc_val, exc_tb): return False # Don't suppress exceptions. + batStatusEnum = ['NORMAL', 'CHARGING_FROM_IN', + 'CHARGING_FROM_5V_IO', 'NOT_PRESENT'] + powerInStatusEnum = ['NOT_PRESENT', 'BAD', 'WEAK', 'PRESENT'] def GetStatus(self): result = self.interface.ReadData(self.STATUS_CMD, 1) if result['error'] != 'NO_ERROR': @@ -171,12 +174,9 @@ def GetStatus(self): status = {} status['isFault'] = bool(d & 0x01) status['isButton'] = bool(d & 0x02) - batStatusEnum = ['NORMAL', 'CHARGING_FROM_IN', - 'CHARGING_FROM_5V_IO', 'NOT_PRESENT'] - status['battery'] = batStatusEnum[(d >> 2) & 0x03] - powerInStatusEnum = ['NOT_PRESENT', 'BAD', 'WEAK', 'PRESENT'] - status['powerInput'] = powerInStatusEnum[(d >> 4) & 0x03] - status['powerInput5vIo'] = powerInStatusEnum[(d >> 6) & 0x03] + status['battery'] = self.batStatusEnum[(d >> 2) & 0x03] + status['powerInput'] = self.powerInStatusEnum[(d >> 4) & 0x03] + status['powerInput5vIo'] = self.powerInStatusEnum[(d >> 6) & 0x03] return {'data': status, 'error': 'NO_ERROR'} def GetChargeLevel(self): @@ -219,7 +219,7 @@ def ResetFaultFlags(self, flags): d = d & ~(0x01 << self.faultEvents.index(ev)) except: ev - self.interface.WriteData(self.FAULT_EVENT_CMD, [d]) # clear fault events + return self.interface.WriteData(self.FAULT_EVENT_CMD, [d]) # clear fault events buttonEvents = ['NO_EVENT', 'PRESS', 'RELEASE', 'SINGLE_PRESS', 'DOUBLE_PRESS', 'LONG_PRESS1', 'LONG_PRESS2'] @@ -253,7 +253,7 @@ def AcceptButtonEvent(self, button): except ValueError: return {'error': 'BAD_ARGUMENT'} d = [0xF0, 0xFF] if b == 0 else [0x0F, 0xFF] if b == 1 else [0xFF, 0xF0] - self.interface.WriteData(self.BUTTON_EVENT_CMD, d) # clear button events + return self.interface.WriteData(self.BUTTON_EVENT_CMD, d) # clear button events def GetBatteryTemperature(self): result = self.interface.ReadData(self.BATTERY_TEMPERATURE_CMD, 2) @@ -1560,7 +1560,7 @@ def GetFirmwareVersion(self): 'error': 'NO_ERROR'} def RunTestCalibration(self): - self.interface.WriteData(248, [0x55, 0x26, 0xa0, 0x2b]) + return self.interface.WriteData(248, [0x55, 0x26, 0xa0, 0x2b]) # Create an interface object for accessing PiJuice features via I2C bus.