def err_msg(self, stw): msg = '' if bitwise.get(stw, 3): msg += 'тревога ' if bitwise.get(stw, 4): msg += 'лпо ' if bitwise.get(stw, 6): msg += 'лпо ' if bitwise.get(stw, 7): msg += 'внимание ' if bitwise.get(stw, 12): msg += 'привод ' if bitwise.get(stw, 13): msg += 'напряжение ' if bitwise.get(stw, 14): msg += 'ток ' if bitwise.get(stw, 15): msg += 'перегрев ' return msg
def emit_stw_signals(self): stw = self.stw alarm = stw & 0b1111000011011000 if alarm: msg = self.err_msg(stw) if not (msg.count('лпо') or msg.count('напряжение')): self.alarmed.emit(msg) else: self.warning.emit(msg) ready = stw & 3 if self.ready != ready: self.get_ready.emit(ready) br = not bitwise.get(stw, 2) if self.breaking != br: self.break_on.emit(br) # speed_reached = bitwise.get(stw, 8) if self.task - 5 <= self.speed <= self.task + 5: self.speed_reached.emit(True) return stw
def unpack_data(self, data): value = [] for i in range(16): value.append(bitwise.get(data[0], i)) return value
def working(self): return bitwise.get(self.stw, 11)
def on_task(self): return bitwise.get(self.stw, 8)
def breaking(self): return not bitwise.get(self.stw, 2)