diff --git a/src/ST7735.py b/src/ST7735.py index 75ef03b..d2176eb 100644 --- a/src/ST7735.py +++ b/src/ST7735.py @@ -125,7 +125,9 @@ class TFT(object) : def size( self ) : return self._size - + def reset_pos(self): + self.x = 0 + self.y = 0 # @micropython.native def on( self, aTF = True ) : '''Turn display on or off.''' diff --git a/src/main.py b/src/main.py index 7d881ba..8ed1382 100644 --- a/src/main.py +++ b/src/main.py @@ -10,16 +10,18 @@ import tt14 import tt24 import tt32 import uasyncio +import time +import math from rotary_irq_esp import RotaryIRQ fonts = [glcdfont,tt14,tt24,tt32] from sysfont import sysfont import json -from enum import Enum +# from enum import Enum -class EditMenu(Enum): - DEPOSIT = 1 - COATING = 2 - TIME = 3 +# class EditMenu(Enum): +# DEPOSIT = 1 +# COATING = 2 +# TIME = 3 def splash(): # display.fill(0) # display.fill_rect(0, 0, 32, 32, 1) @@ -43,41 +45,40 @@ def splash(): # #display.show() -# def tftprinttest(): -# tft.fill(TFT.BLACK); -# v = 30 -# tft.text((0, v), "Hello World!", TFT.RED, sysfont, 1, nowrap=True) -# v += sysfont["Height"] -# tft.text((0, v), "Hello World!", TFT.YELLOW, sysfont, 2, nowrap=True) -# v += sysfont["Height"] * 2 -# tft.text((0, v), "Hello World!", TFT.GREEN, sysfont, 3, nowrap=True) -# v += sysfont["Height"] * 3 -# tft.text((0, v), str(1234.567), TFT.BLUE, sysfont, 4, nowrap=True) -# time.sleep_ms(1500) -# tft.fill(TFT.BLACK); -# v = 0 -# tft.text((0, v), "Hello World!", TFT.RED, sysfont) -# v += sysfont["Height"] -# tft.text((0, v), str(math.pi), TFT.GREEN, sysfont) -# v += sysfont["Height"] -# tft.text((0, v), " Want pi?", TFT.GREEN, sysfont) -# v += sysfont["Height"] * 2 -# tft.text((0, v), hex(8675309), TFT.GREEN, sysfont) -# v += sysfont["Height"] -# tft.text((0, v), " Print HEX!", TFT.GREEN, sysfont) -# v += sysfont["Height"] * 2 -# tft.text((0, v), "Sketch has been", TFT.WHITE, sysfont) -# v += sysfont["Height"] -# tft.text((0, v), "running for: ", TFT.WHITE, sysfont) -# v += sysfont["Height"] -# tft.text((0, v), str(time.ticks_ms() / 1000), TFT.PURPLE, sysfont) -# v += sysfont["Height"] -# tft.text((0, v), " seconds.", TFT.WHITE, sysfont) +def tftprinttest(): + tft.fill(TFT.BLACK) + v = 30 + tft.text((0, v), "Hello World!", TFT.RED, sysfont, 1, nowrap=True) + v += sysfont["Height"] + tft.text((0, v), "Hello World!", TFT.YELLOW, sysfont, 2, nowrap=True) + v += sysfont["Height"] * 2 + tft.text((0, v), "Hello World!", TFT.GREEN, sysfont, 3, nowrap=True) + v += sysfont["Height"] * 3 + tft.text((0, v), str(1234.567), TFT.BLUE, sysfont, 4, nowrap=True) + time.sleep_ms(100) + tft.fill(TFT.BLACK) + v = 0 + tft.text((0, v), "Hello World!", TFT.RED, sysfont) + v += sysfont["Height"] + tft.text((0, v), str(math.pi), TFT.GREEN, sysfont) + v += sysfont["Height"] + tft.text((0, v), " Want pi?", TFT.GREEN, sysfont) + v += sysfont["Height"] * 2 + tft.text((0, v), hex(8675309), TFT.GREEN, sysfont) + v += sysfont["Height"] + tft.text((0, v), " Print HEX!", TFT.GREEN, sysfont) + v += sysfont["Height"] * 2 + tft.text((0, v), "Sketch has been", TFT.WHITE, sysfont) + v += sysfont["Height"] + tft.text((0, v), "running for: ", TFT.WHITE, sysfont) + v += sysfont["Height"] + tft.text((0, v), str(time.ticks_ms() / 1000), TFT.PURPLE, sysfont) + v += sysfont["Height"] + tft.text((0, v), " seconds.", TFT.WHITE, sysfont) def start_view(state, rotary): display.set_pos(0,0) -<<<<<<< HEAD text="Spin Coater" display.print(text,size=2) @@ -96,50 +97,20 @@ def draw_edit_menu(state, rotary): display.print("Coating time:") display.print("{: >{w}} sec".format(config["coating_time"],w=2)) display.reset_pos() -======= - text="Spin Coater\n" - #display.set_font(tt14) - text += "> " if rotary.value() == 0 else " " - text+="Edit\n" - text+= "> " if rotary.value() == 1 else " " - text+= "Start\n" - display.print(text) - #print(rotary.value()) - -def draw_edit_menu(state, rotary): - display.text("Deposit speed:", 0, 0, 1) - display.text("{: >{w}} RPM".format(config["deposit_rpm"], w=5), 56, 10, 1) - display.text("Coating speed:", 0, 21, 1) - display.text("{: >{w}} RPM".format(config["coating_rpm"], w=5), 56, 31, 1) - display.text("Coating time:", 0, 42, 1) - display.text("{: >{w}} sec".format(config["coating_time"], w=5), 56, 52, 1) - ->>>>>>> refs/remotes/origin/main def edit_deposit_view(state, rotary): config["deposit_rpm"] = rotary.value() * 100 draw_edit_menu(state, rotary) -<<<<<<< HEAD -======= - display.text(">", 40, 10, 1) ->>>>>>> refs/remotes/origin/main def edit_coating_rpm_view(state, rotary): config["coating_rpm"] = rotary.value() * 100 -<<<<<<< HEAD - draw_edit_menu(state, rotary) -======= - draw_edit_menu(state, rotary) - display.text(">", 40, 32, 1) ->>>>>>> refs/remotes/origin/main def edit_coating_time_view(state, rotary): config["coating_time"] = rotary.value() draw_edit_menu(state, rotary) -<<<<<<< HEAD def draw_rpm(rpm): @@ -159,28 +130,6 @@ def coating_view(state, rotary): display.text("Coating") draw_rpm(state["rpm"]) display.text("{: >{w}} sec".format(state["timer"], w=4)) -======= - display.text(">", 40, 54, 1) - - -def draw_rpm(rpm): - display.text("RPM:{: >{w}.0f}".format(rpm, w=5), 30, 27, 1) - - -def deposit_view(state, rotary): - display.fill_rect(0, 0, 127, 14, 1) - display.text("Deposit", 36, 3, 0) - draw_rpm(state["rpm"]) - display.text("Press to", 32, 42, 1) - display.text("continue", 32, 52, 1) - - -def coating_view(state, rotary): - display.fill_rect(0, 0, 127, 14, 1) - display.text("Coating", 36, 3, 0) - draw_rpm(state["rpm"]) - display.text("{: >{w}} sec".format(state["timer"], w=4), 30, 48, 1) ->>>>>>> refs/remotes/origin/main def decode_ESC_telemetry(data, motor_poles=14): @@ -218,12 +167,7 @@ async def update_display(): while True: display.fill(color565(0,0,0)) state["view"](state, rotary) -<<<<<<< HEAD - # display.show() -======= - display.show() ->>>>>>> refs/remotes/origin/main - await uasyncio.sleep_ms(33) + await uasyncio.sleep_ms(200) async def update_motor(): @@ -362,10 +306,6 @@ def save_config(): global config with open("config.json", "w") as f: json.dump(config, f) -<<<<<<< HEAD - -======= ->>>>>>> refs/remotes/origin/main @@ -373,12 +313,9 @@ text = 'Now is the time for all good men to come to the aid of the party.' power = Pin(m5stack.TFT_LED_PIN, Pin.OUT) power.value(1) -<<<<<<< HEAD timer1 = Timer(1) timer2 = Timer(2) -======= ->>>>>>> refs/remotes/origin/main # No need to change the software. It's just a matter of different names.. Use this translation: # SDO(MISO) @@ -407,10 +344,7 @@ spi = SPI( # h=128, # r=5) tft = TFT(spi,m5stack.TFT_DC_PIN,m5stack.TFT_RST_PIN,m5stack.TFT_CS_PIN) -<<<<<<< HEAD display = tft -======= ->>>>>>> refs/remotes/origin/main tft.initr() tft.rgb(True) #tftprinttest() @@ -432,7 +366,6 @@ state = { "timer": 0, "rotary_val":-1 } -<<<<<<< HEAD with open("config.json", "r") as f: config = json.load(f) #display.erase() @@ -447,20 +380,6 @@ splash() event_loop = uasyncio.get_event_loop() event_loop.create_task(update_display()) -======= - -#display.erase() -#display.set_pos(0,0) -#display.set_font(tt32) -tft.fill(TFT.BLACK) - -splash() -# for ff in fonts: -# display.set_font(ff) -# display.print(text) -event_loop = uasyncio.get_event_loop() -event_loop.create_task(update_display()) ->>>>>>> refs/remotes/origin/main #event_loop.create_task(update_motor()) event_loop.run_forever()