From 17470759823cd139ffeb802b2bd83354b212489e Mon Sep 17 00:00:00 2001 From: modrisb Date: Fri, 18 Nov 2022 22:06:19 +0200 Subject: [PATCH 1/2] added return before several write calls to enable error checks --- Software/Source/pijuice.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Software/Source/pijuice.py b/Software/Source/pijuice.py index 6b1070d3..39ecdc3a 100644 --- a/Software/Source/pijuice.py +++ b/Software/Source/pijuice.py @@ -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. From 0fe2cbae1d1b4bd27f0dddc2c02bd795298c98b8 Mon Sep 17 00:00:00 2001 From: modrisb Date: Mon, 21 Nov 2022 19:06:38 +0200 Subject: [PATCH 2/2] Making batStatusEnum, powerInStatusEnum visible on package/class level --- Software/Source/pijuice.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Software/Source/pijuice.py b/Software/Source/pijuice.py index 39ecdc3a..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):