finish all

This commit is contained in:
SelfConfusion 2024-07-09 15:57:47 +08:00
parent 684de2bc00
commit d51d2e994e
3 changed files with 305 additions and 287 deletions

View File

@ -1,2 +1,4 @@
pip==24.1.1 customtkinter==5.2.2
setuptools==65.5.0 darkdetect==0.8.0
packaging==24.1
pyserial==3.5

View File

@ -29,7 +29,8 @@ class App(ctk.CTk):
# appearance and font # appearance and font
ctk.set_appearance_mode("dark") ctk.set_appearance_mode("dark")
ctk.set_default_color_theme("dark-blue") ctk.set_default_color_theme("dark-blue")
ctk.set_widget_scaling(2.0) ctk.set_window_scaling(0.8)
# ctk.set_widget_scaling(2.0)
self.font = ctk.CTkFont(family="", size=17) self.font = ctk.CTkFont(family="", size=17)
# get the screen dimension # get the screen dimension
@ -96,7 +97,7 @@ class App(ctk.CTk):
def __data_frame(self) -> None: def __data_frame(self) -> None:
def setGain(value, i: int, stringVar: ctk.StringVar) -> None: def setGain(value, i: int, stringVar: ctk.StringVar) -> None:
self.gain_values[i] = value self.gain_values[i] = value
stringVar.set(f'{value:.2f}') stringVar.set(f"{value:.2f}")
return None return None
def switchSlider(i: int, slider: ctk.CTkSlider) -> None: def switchSlider(i: int, slider: ctk.CTkSlider) -> None:
@ -176,7 +177,9 @@ class App(ctk.CTk):
gain_str.append( gain_str.append(
ctk.StringVar(gain_slider[i], f"{self.gain_default[i]:.2f}") ctk.StringVar(gain_slider[i], f"{self.gain_default[i]:.2f}")
) )
gain_slider[i].configure(command=functools.partial(setGain, i=i, stringVar=gain_str[i])) gain_slider[i].configure(
command=functools.partial(setGain, i=i, stringVar=gain_str[i])
)
# gain value # gain value
ctk.CTkLabel(gain_frame[i], text=str(gain_min[i]), font=self.font).pack( ctk.CTkLabel(gain_frame[i], text=str(gain_min[i]), font=self.font).pack(
@ -233,6 +236,7 @@ class App(ctk.CTk):
if not self.serial_status: if not self.serial_status:
try: try:
self.serial = serial.Serial(self.select_port, self.serial_baudrate) self.serial = serial.Serial(self.select_port, self.serial_baudrate)
self.serial.open()
except AttributeError: except AttributeError:
print("Failed to Connect Serial") print("Failed to Connect Serial")
else: else:
@ -254,7 +258,9 @@ class App(ctk.CTk):
self.serial_baudrate = int(baudrate) self.serial_baudrate = int(baudrate)
if self.serial_status: if self.serial_status:
try: try:
self.serial.baudrate = int(baudrate) self.serial.close()
self.serial = serial.Serial(self.select_port, self.serial_baudrate)
self.serial.open()
except Exception: except Exception:
print("Failed to Set Serial Baudrate") print("Failed to Set Serial Baudrate")
else: else:
@ -263,15 +269,25 @@ class App(ctk.CTk):
print("Please Connect to Serial") print("Please Connect to Serial")
def setISP(self, event: Optional[Any] = None): def setISP(self, event: Optional[Any] = None):
def switchSign(i: int) -> str:
match i:
case 0:
return 'r'
case 1:
return 'g'
case 2:
return 'b'
case 3:
return 'a'
case 4:
return 's'
case _:
return 'error'
if self.serial_status: if self.serial_status:
self.serial.open()
for i in range(5): for i in range(5):
if self.gain_enable[i]: if self.gain_enable[i]:
match i: self.serial.write(f"{switchSign(i)}{bin(int(self.gain_values[i]))}{bin(int(self.gain_values[i] % 1 * 256))}")
case 1:
self.serial.write(b'r')
self.serial.close()
else: else:
print("Please Connect to Serial") print("Please Connect to Serial")