from rgb import *
import serial
from PyQt5 import QtWidgets

class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self, *args, **kwargs):
        QtWidgets.QMainWindow.__init__(self,*args, **kwargs)
        self.setupUi(self)
        #My code
        self.REDSLIDER.valueChanged.connect(self.update)
        self.GREENSLIDER.valueChanged.connect(self.update)
        self.BLUESLIDER.valueChanged.connect(self.update)
        self.pushButton.clicked.connect(self.reset)

    def update(self):
        red = self.REDSLIDER.value()
        green = self.GREENSLIDER.value()
        blue = self.BLUESLIDER.value()
        self.RED_LABEL.setText(str(red))
        self.GREEN_LABEL.setText(str(green))
        self.BLUE_LABEL.setText(str(blue))

    def reset(self):
        self.REDSLIDER.setValue(0)
        self.GREENSLIDER.setValue(0)
        self.BLUESLIDER.setValue(0)
        
        self.send_to_arduino(red, green, blue)

    def send_to_arduino(self, red, green, blue):
        # Send the RGB values as a comma-separated string
        rgb_values = f"{red},{green},{blue}\n"
        self.serial_port.write(rgb_values.encode())
    

if __name__ == "__main__":
    app = QtWidgets.QApplication([])
    Window = MainWindow()
    Window.show()
    app.exec()