def sendSerial(self): if not len(self.input.text()): return try: c = [ int(s,16) for s in str(self.input.text()).split(" ") ] s = bytearray( c) self.printLog( "Sending %s\n" % repr([hex(i) for i in s])) self.strip.write(s) self.input.selectAll() except ValueError: self.printLog( "Invalid input")
def initGUI(self): self.inputs = [] layout = QHBoxLayout() textLayout = QVBoxLayout() self.log = QPlainTextEdit() f = QFont("Monospace") f.setStyleHint(QFont.TypeWriter) self.log.setFont(f) self.log.setReadOnly(True) textLayout.addWidget( self.log) self.input = QLineEdit() self.input.returnPressed.connect(self.sendSerial) self.setFocusProxy( self.input) textLayout.addWidget(self.input) self.inputs += [self.input] layout.addLayout( textLayout) buttonLayout = QVBoxLayout() p = QPushButton("Reconnect") p.clicked.connect(self.reconnect) buttonLayout.addWidget(p) p = QPushButton("Rainbow") p.clicked.connect( lambda: self.strip.write( bytearray( [MAGIC,Command.RAINBOW] ))) buttonLayout.addWidget(p) self.inputs += [p] p = QPushButton("Test") p.clicked.connect( lambda: self.strip.write( bytearray( [MAGIC,Command.TEST] ))) buttonLayout.addWidget(p) self.inputs += [p] p = QPushButton("Blank") p.clicked.connect( lambda: self.strip.write( bytearray( [MAGIC,Command.BLANK] ))) buttonLayout.addWidget(p) self.inputs += [p] p = QPushButton("UniColor") p.clicked.connect( self.openUnicolor ) buttonLayout.addWidget(p) self.inputs += [p] p = QPushButton("LED State") p.clicked.connect( self.getLEDState) buttonLayout.addWidget(p) self.inputs += [p] p = QPushButton("Conf") p.clicked.connect( lambda: self.updateConfig(True)) buttonLayout.addWidget(p) self.inputs += [p] p = QPushButton("Debug") p.clicked.connect( self.strip.toggleDebug) buttonLayout.addWidget(p) self.inputs += [p] p = QPushButton("Reset") p.clicked.connect( lambda: self.strip.write( bytearray( [MAGIC,Command.RESET] ))) buttonLayout.addWidget(p) self.inputs += [p] p = QPushButton("Set Size") p.clicked.connect( self.setSize) buttonLayout.addWidget(p) self.inputs += [p] p = QPushButton("Speed Test") p.clicked.connect( self.speedTest) buttonLayout.addWidget(p) self.inputs += [p] p = QPushButton("Free Mem") p.clicked.connect( self.freeMemory) buttonLayout.addWidget(p) self.inputs += [p] buttonLayout.addStretch(1) p = QPushButton("Quit") p.clicked.connect( self.close) buttonLayout.addWidget(p) layout.addLayout(buttonLayout) self.setLayout(layout)