MOTOR_OVERLOAD_FLAG = 1 << 5
LOAD1_OVERTEMP_FLAG = 1 << 6
LOAD2_OVERTEMP_FLAG = 1 << 7
-LOAD1_LIMITING_FLAG = 1 << 8
-LOAD2_LIMITING_FLAG = 1 << 9
reg_names = 'temp vin vout motor load1 load2 vdd pwr_flags'.split()
return False
- def error(self):
+ def check_faults(self):
flags = self.regs[FLAGS_REG]
if self.check_fault('under_voltage', flags & UNDER_VOLTAGE_FLAG):
if self.check_fault('load2_overtemp', flags & LOAD2_OVERTEMP_FLAG):
log.error('Load 2 over temperature shutdown')
- if self.check_fault('load1_limiting', flags & LOAD1_LIMITING_FLAG):
- log.warning('Load 1 limiting active')
-
- if self.check_fault('load2_limiting', flags & LOAD2_LIMITING_FLAG):
- log.warning('Load 2 limiting active')
-
def _update(self):
update = {}
update[key] = value
self.regs[i] = value
- if i == FLAGS_REG and value: self.error()
+ if i == FLAGS_REG: self.check_faults()
except Exception as e:
log.warning('Pwr communication failed: %s' % e)