def status(self): try: self.obtain_lock() # restart status... cmd = SPINDIRx1Cmd.find('ws') response = self._transact(cmd) watchdog_reset = bool(response) # input voltage... cmd = SPINDIRx1Cmd.find('iv') response = self._transact(cmd) pwr_in = Decode.float(response, '<') # uptime... cmd = SPINDIRx1Cmd.find('up') response = self._transact(cmd) seconds = Decode.unsigned_long(response, '<') status = NDIRStatus(watchdog_reset, pwr_in, NDIRUptime(seconds)) return status finally: self.release_lock()
def _calib_r_unsigned_long(self, block, index): cmd = SPINDIRx1Cmd.find('cr') cmd.return_count = 4 response = self._transact(cmd, (block, index)) value = Decode.unsigned_long(response, '<') return value
def cleaning_interval(self): r = self.__read(self.__CMD_AUTO_CLEANING_INTERVAL, 0, 6) interval = Decode.unsigned_long(r[0:4], '>') return interval