|
63 | 63 | WEACT_MODEL = "WeAct Studio Display FS V1" |
64 | 64 | SIMULATED_MODEL = "Simulated screen" |
65 | 65 |
|
| 66 | +SIZE_0_96_INCH = "0.96\"" |
| 67 | +SIZE_2_1_INCH = "2.1\"" # Only for retro compatibility |
| 68 | +SIZE_2_x_INCH = "2.1\" / 2.8\"" |
66 | 69 | SIZE_3_5_INCH = "3.5\"" |
67 | 70 | SIZE_4_6_INCH = "4.6\"" |
68 | | -SIZE_4_6_INCH_USB = "4.6\"" |
69 | 71 | SIZE_5_INCH = "5\"" |
| 72 | +SIZE_5_2_INCH = "5.2\"" |
| 73 | +SIZE_8_0_INCH = "8.0\"" |
70 | 74 | SIZE_8_8_INCH = "8.8\"" |
71 | | -SIZE_8_8_INCH_USB = "8.8\" (V1.1) or 9.2\"" |
72 | | -SIZE_2_1_INCH = "2.1\"" # Only for retro compatibility |
73 | | -SIZE_2_x_INCH = "2.1\" / 2.8\"" |
74 | | -SIZE_0_96_INCH = "0.96\"" |
75 | | - |
76 | | -size_list = (SIZE_0_96_INCH, SIZE_2_x_INCH, SIZE_3_5_INCH, SIZE_4_6_INCH_USB, SIZE_5_INCH, SIZE_8_8_INCH, SIZE_8_8_INCH_USB) |
| 75 | +SIZE_8_8_INCH_NEWREV = "8.8\" (V1.X new HW rev.)" |
| 76 | +SIZE_9_2_INCH = "9.2\"" |
| 77 | + |
| 78 | +# List of sizes that can be selected |
| 79 | +size_list = ( |
| 80 | + SIZE_0_96_INCH, |
| 81 | + SIZE_2_x_INCH, |
| 82 | + SIZE_3_5_INCH, |
| 83 | + SIZE_4_6_INCH, |
| 84 | + SIZE_5_INCH, |
| 85 | + # SIZE_5_2_INCH, Not implemented yet |
| 86 | + # SIZE_8_0_INCH, Not implemented yet |
| 87 | + SIZE_8_8_INCH, |
| 88 | + SIZE_8_8_INCH_NEWREV, |
| 89 | + # SIZE_9_2_INCH, Not implemented yet |
| 90 | +) |
77 | 91 |
|
78 | 92 | # Maps between config.yaml values and GUI description |
| 93 | +# This map is used to select the correct smart screen model based on config.yaml "REVISION" and selected "THEME" size |
79 | 94 | revision_and_size_to_model_map = { |
80 | 95 | ('A', SIZE_3_5_INCH): TURING_MODEL, # Can also be UsbPCMonitor 3.5, does not matter since protocol is the same |
81 | 96 | ('A', SIZE_5_INCH): USBPCMONITOR_MODEL, |
82 | 97 | ('B', SIZE_3_5_INCH): XUANFANG_MODEL, |
83 | 98 | ('C', SIZE_2_x_INCH): TURING_MODEL, |
84 | 99 | ('C', SIZE_5_INCH): TURING_MODEL, |
85 | 100 | ('C', SIZE_8_8_INCH): TURING_MODEL, |
86 | | - ('C_USB', SIZE_4_6_INCH_USB): TURING_MODEL, |
87 | | - ('C_USB', SIZE_8_8_INCH_USB): TURING_MODEL, |
88 | 101 | ('D', SIZE_3_5_INCH): KIPYE_MODEL, |
| 102 | + ('TUR_USB', SIZE_4_6_INCH): TURING_MODEL, |
| 103 | + ('TUR_USB', SIZE_5_2_INCH): TURING_MODEL, |
| 104 | + ('TUR_USB', SIZE_8_0_INCH): TURING_MODEL, |
| 105 | + ('TUR_USB', SIZE_8_8_INCH): TURING_MODEL, |
| 106 | + ('TUR_USB', SIZE_8_8_INCH_NEWREV): TURING_MODEL, |
| 107 | + ('TUR_USB', SIZE_9_2_INCH): TURING_MODEL, |
89 | 108 | ('WEACT_A', SIZE_3_5_INCH): WEACT_MODEL, |
90 | 109 | ('WEACT_B', SIZE_0_96_INCH): WEACT_MODEL, |
| 110 | + |
91 | 111 | ('SIMU', SIZE_0_96_INCH): SIMULATED_MODEL, |
92 | 112 | ('SIMU', SIZE_2_x_INCH): SIMULATED_MODEL, |
93 | 113 | ('SIMU', SIZE_3_5_INCH): SIMULATED_MODEL, |
94 | 114 | ('SIMU', SIZE_4_6_INCH): SIMULATED_MODEL, |
95 | 115 | ('SIMU', SIZE_5_INCH): SIMULATED_MODEL, |
| 116 | + ('SIMU', SIZE_5_2_INCH): SIMULATED_MODEL, |
| 117 | + ('SIMU', SIZE_8_0_INCH): SIMULATED_MODEL, |
96 | 118 | ('SIMU', SIZE_8_8_INCH): SIMULATED_MODEL, |
| 119 | + ('SIMU', SIZE_9_2_INCH): SIMULATED_MODEL, |
97 | 120 | } |
| 121 | +# This map is used to write the correct config.yaml "REVISION" from selected smart screen model and size |
98 | 122 | model_and_size_to_revision_map = { |
99 | | - (TURING_MODEL, SIZE_3_5_INCH): 'A', |
100 | | - (USBPCMONITOR_MODEL, SIZE_3_5_INCH): 'A', |
101 | | - (USBPCMONITOR_MODEL, SIZE_5_INCH): 'A', |
102 | | - (XUANFANG_MODEL, SIZE_3_5_INCH): 'B', |
| 123 | + (KIPYE_MODEL, SIZE_3_5_INCH): 'D', |
103 | 124 | (TURING_MODEL, SIZE_2_x_INCH): 'C', |
| 125 | + (TURING_MODEL, SIZE_3_5_INCH): 'A', |
| 126 | + (TURING_MODEL, SIZE_4_6_INCH): 'TUR_USB', |
| 127 | + (TURING_MODEL, SIZE_5_2_INCH): 'TUR_USB', |
104 | 128 | (TURING_MODEL, SIZE_5_INCH): 'C', |
| 129 | + (TURING_MODEL, SIZE_8_0_INCH): 'TUR_USB', |
105 | 130 | (TURING_MODEL, SIZE_8_8_INCH): 'C', |
106 | | - (TURING_MODEL, SIZE_4_6_INCH_USB): 'C_USB', |
107 | | - (TURING_MODEL, SIZE_8_8_INCH_USB): 'C_USB', |
108 | | - (KIPYE_MODEL, SIZE_3_5_INCH): 'D', |
109 | | - (WEACT_MODEL, SIZE_3_5_INCH): 'WEACT_A', |
| 131 | + (TURING_MODEL, SIZE_8_8_INCH_NEWREV): 'TUR_USB', |
| 132 | + (TURING_MODEL, SIZE_9_2_INCH): 'TUR_USB', |
| 133 | + (USBPCMONITOR_MODEL, SIZE_3_5_INCH): 'A', |
| 134 | + (USBPCMONITOR_MODEL, SIZE_5_INCH): 'A', |
110 | 135 | (WEACT_MODEL, SIZE_0_96_INCH): 'WEACT_B', |
| 136 | + (WEACT_MODEL, SIZE_3_5_INCH): 'WEACT_A', |
| 137 | + (XUANFANG_MODEL, SIZE_3_5_INCH): 'B', |
| 138 | + |
111 | 139 | (SIMULATED_MODEL, SIZE_0_96_INCH): 'SIMU', |
112 | 140 | (SIMULATED_MODEL, SIZE_2_x_INCH): 'SIMU', |
113 | 141 | (SIMULATED_MODEL, SIZE_3_5_INCH): 'SIMU', |
114 | 142 | (SIMULATED_MODEL, SIZE_4_6_INCH): 'SIMU', |
115 | 143 | (SIMULATED_MODEL, SIZE_5_INCH): 'SIMU', |
| 144 | + (SIMULATED_MODEL, SIZE_5_2_INCH): 'SIMU', |
| 145 | + (SIMULATED_MODEL, SIZE_8_0_INCH): 'SIMU', |
116 | 146 | (SIMULATED_MODEL, SIZE_8_8_INCH): 'SIMU', |
| 147 | + (SIMULATED_MODEL, SIZE_9_2_INCH): 'SIMU', |
117 | 148 | } |
118 | 149 | hw_lib_map = {"AUTO": "Automatic", "LHM": "LibreHardwareMonitor (admin.)", "PYTHON": "Python libraries", |
119 | 150 | "STUB": "Fake random data", "STATIC": "Fake static data"} |
@@ -318,13 +349,10 @@ def run(self): |
318 | 349 | def load_theme_preview(self): |
319 | 350 | theme_data = get_theme_data(self.theme_cb.get()) |
320 | 351 |
|
321 | | - if theme_data and theme_data['display'].get("DISPLAY_SIZE", '3.5"') == SIZE_2_1_INCH: |
322 | | - theme_preview.paste(circular_mask, mask=circular_mask) |
323 | | - |
324 | 352 | try: |
325 | 353 | theme_preview = Image.open(MAIN_DIRECTORY / "res" / "themes" / self.theme_cb.get() / "preview.png") |
326 | 354 |
|
327 | | - if theme_data['display'].get("DISPLAY_SIZE", '3.5"') == SIZE_2_1_INCH: |
| 355 | + if theme_data and theme_data['display'].get("DISPLAY_SIZE", '3.5"') == SIZE_2_1_INCH: |
328 | 356 | # This is a circular screen: apply a circle mask over the preview |
329 | 357 | theme_preview.paste(circular_mask, mask=circular_mask) |
330 | 358 | except: |
@@ -394,8 +422,8 @@ def load_config_values(self): |
394 | 422 | size = get_theme_size(self.config['config']['THEME']) |
395 | 423 | size = size.replace(SIZE_2_1_INCH, SIZE_2_x_INCH) # If a theme is for 2.1" then it also is for 2.8" |
396 | 424 | try: |
397 | | - if size == SIZE_8_8_INCH and self.config['display']['REVISION'] == 'C_USB': |
398 | | - size = SIZE_8_8_INCH_USB |
| 425 | + if size == SIZE_8_8_INCH and self.config['display']['REVISION'] == 'TUR_USB': |
| 426 | + size = SIZE_8_8_INCH_NEWREV |
399 | 427 | self.size_cb.set(size) |
400 | 428 | except: |
401 | 429 | self.size_cb.current(0) |
@@ -540,7 +568,7 @@ def on_model_change(self, e=None): |
540 | 568 | def on_size_change(self, e=None): |
541 | 569 | size = self.size_cb.get() |
542 | 570 | size = size.replace(SIZE_2_x_INCH, SIZE_2_1_INCH) # For '2.1" / 2.8"' size, keep '2.1"' as size to get themes for |
543 | | - size = size.replace(SIZE_8_8_INCH_USB, SIZE_8_8_INCH) |
| 571 | + size = size.replace(SIZE_8_8_INCH_NEWREV, SIZE_8_8_INCH) |
544 | 572 | themes = get_themes(size) |
545 | 573 | self.theme_cb.config(values=themes) |
546 | 574 |
|
|
0 commit comments