from frontend import * # type: ignore
from base_serial import SerialWorker

class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self, *args, **kwargs):
        QtWidgets.QMainWindow.__init__(self, *args, **kwargs)
        self.setupUi(self)

        self.dial.valueChanged.connect(self.send_position)
        self.resetButton.clicked.connect(self.reset_dial)
        
        self.serial = SerialWorker(callback=self.process)
        self.serial.conectar("/dev/ttyACM0")

    def process(self, line: str):
        # Process incomming data here
        print(line)
        
    def send_position(self) -> None:
       value =  self.dial.value()
       self.serial.send(str(value))
       
    def reset_dial(self) -> None:
        self.dial.setValue(0)
        
        self.serial.send("0")
    
if __name__ == "__main__":
    app = QtWidgets.QApplication([])
    window = MainWindow()   
    window.show()
    app.exec()
