def set_ir_tx(self, level=1.0): assert 0 <= level <= 1.0 self.set_port_mode(self.SET_IR_TX) payload = pack("<B", self.SET_IR_TX) + pack("<H", int(level * 65535)) msg = MsgPortOutput(self.port, MsgPortOutput.WRITE_DIRECT_MODE_DATA, payload) self._send_output(msg)
def _write_direct_mode(self, subcmd, params): if self.virtual_ports: subcmd += 1 # de-facto rule params = pack("<B", subcmd) + params msg = MsgPortOutput(self.port, MsgPortOutput.WRITE_DIRECT_MODE_DATA, params) self._send_output(msg)
def set_color(self, color): if color == COLOR_NONE: color = COLOR_BLACK if color not in COLORS: raise ValueError("Color %s is not in list of available colors" % color) self.set_port_mode(self.SET_COLOR) payload = pack("<B", self.SET_COLOR) + pack("<B", color) msg = MsgPortOutput(self.port, MsgPortOutput.WRITE_DIRECT_MODE_DATA, payload) self._send_output(msg)
def set_color(self, color): if isinstance(color, (list, tuple)): assert len(color) == 3, "RGB color has to have 3 values" self.set_port_mode(self.MODE_RGB) payload = pack("<B", self.MODE_RGB) + pack("<B", color[0]) + pack("<B", color[1]) + pack("<B", color[2]) else: if color == COLOR_NONE: color = COLOR_BLACK if color not in COLORS: raise ValueError("Color %s is not in list of available colors" % color) self.set_port_mode(self.MODE_INDEX) payload = pack("<B", self.MODE_INDEX) + pack("<B", color) msg = MsgPortOutput(self.port, MsgPortOutput.WRITE_DIRECT_MODE_DATA, payload) self._send_output(msg)
def _send_cmd(self, subcmd, params): if self.virtual_ports: subcmd += 1 # de-facto rule msg = MsgPortOutput(self.port, subcmd, params) self._send_output(msg)
def _write_direct_mode(self, subcmd, params): params = pack("<B", subcmd) + params msg = MsgPortOutput(self.port, MsgPortOutput.WRITE_DIRECT_MODE_DATA, params) self._send_output(msg)