Exemplo n.º 1
0
 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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
 def unpack_data(self, data):
     value = []
     for i in range(16):
         value.append(bitwise.get(data[0], i))
     return value
Exemplo n.º 4
0
 def working(self):
     return bitwise.get(self.stw, 11)
Exemplo n.º 5
0
 def on_task(self):
     return bitwise.get(self.stw, 8)
Exemplo n.º 6
0
 def breaking(self):
     return not bitwise.get(self.stw, 2)