diff --git a/Save/current.json b/Save/current.json new file mode 100644 index 0000000..b204901 --- /dev/null +++ b/Save/current.json @@ -0,0 +1 @@ +TestTestTake 2Take 2Take 2Take 2 \ No newline at end of file diff --git a/Sprites/Backgrounds/bg1.bmp b/Sprites/Backgrounds/bg1.bmp new file mode 100644 index 0000000..9eb8515 Binary files /dev/null and b/Sprites/Backgrounds/bg1.bmp differ diff --git a/Sprites/Characters/BOTORU/ADULT/body.bmp b/Sprites/Characters/BOTORU/ADULT/body.bmp new file mode 100644 index 0000000..88b6340 Binary files /dev/null and b/Sprites/Characters/BOTORU/ADULT/body.bmp differ diff --git a/Sprites/Characters/MUSH/ADULT/body.bmp b/Sprites/Characters/MUSH/ADULT/body.bmp new file mode 100644 index 0000000..695c8ff Binary files /dev/null and b/Sprites/Characters/MUSH/ADULT/body.bmp differ diff --git a/Sprites/Characters/ZAHKC/ADULT/body.bmp b/Sprites/Characters/ZAHKC/ADULT/body.bmp new file mode 100644 index 0000000..1a3408b Binary files /dev/null and b/Sprites/Characters/ZAHKC/ADULT/body.bmp differ diff --git a/boot_out.txt b/boot_out.txt new file mode 100644 index 0000000..d803366 --- /dev/null +++ b/boot_out.txt @@ -0,0 +1,3 @@ +Adafruit CircuitPython 8.1.0 on 2023-05-22; Adafruit Feather ESP32-S2 Reverse TFT with ESP32S2 +Board ID:adafruit_feather_esp32s2_reverse_tft +UID:0740D17FA749 diff --git a/code.py b/code.py new file mode 100644 index 0000000..377f64a --- /dev/null +++ b/code.py @@ -0,0 +1,76 @@ +import time +import alarm +import board +import displayio +import digitalio +import bitmaptools +import adafruit_imageload + +import menu +import selector +import buttonBus + +#screen /dev/ttyACM0 115200 + +#setup +board.DISPLAY.root_group.hidden = False +board.DISPLAY.rotation = 90 +splash = displayio.Group() +board.DISPLAY.show(splash) + +bg, bgPallette = adafruit_imageload.load("/Sprites/Backgrounds/bg1.bmp", bitmap=displayio.Bitmap, palette=displayio.Palette) +bgTile = displayio.TileGrid(bg, pixel_shader=bgPallette) + +tama, tamaPallette = adafruit_imageload.load("/Sprites/Characters/MUSH/ADULT/BODY.BMP", bitmap=displayio.Bitmap, palette=displayio.Palette) +tamaPallette.make_transparent(3) +tamaTile = displayio.TileGrid(tama, pixel_shader=tamaPallette, x=20, y=100) + + +splash.append(bgTile) +splash.append(tamaTile) + +bounce = False +bounceAmount = -10 +selector.showSelector(splash) + +#Menu Activites +def do(x): + if x == 0: + pass + elif x == 1: + pass + elif x == 2: + pass + elif x == 3: + pass + elif x == 4: + menu.toggleMenu(splash) + elif x == 5: + buttonBus.button1.deinit() + pin_alarm = alarm.pin.PinAlarm(pin=board.D1, value=True, pull=True) + time.sleep(0.5) + alarm.exit_and_deep_sleep_until_alarms(pin_alarm) + + +#System Loop +while True: + + if(round(time.monotonic()%0.5, 1) == 0.5): + if bounce == False: + bounce = True + bounceAmount = bounceAmount * -1 + tamaTile.y += bounceAmount + else: + if bounce == True: + bounce = False + + + if buttonBus.getSelectedButton() == 0: + selector.lastPos() + time.sleep(0.2) + elif buttonBus.getSelectedButton() == 1: + do(selector.spos) + time.sleep(0.2) + elif buttonBus.getSelectedButton() == 2: + selector.nextPos() + time.sleep(0.2) diff --git a/lib/adafruit_display_shapes/__init__.py b/lib/adafruit_display_shapes/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lib/adafruit_display_shapes/circle.mpy b/lib/adafruit_display_shapes/circle.mpy new file mode 100644 index 0000000..39065e9 Binary files /dev/null and b/lib/adafruit_display_shapes/circle.mpy differ diff --git a/lib/adafruit_display_shapes/line.mpy b/lib/adafruit_display_shapes/line.mpy new file mode 100644 index 0000000..a56611e Binary files /dev/null and b/lib/adafruit_display_shapes/line.mpy differ diff --git a/lib/adafruit_display_shapes/multisparkline.mpy b/lib/adafruit_display_shapes/multisparkline.mpy new file mode 100644 index 0000000..0b31a6a Binary files /dev/null and b/lib/adafruit_display_shapes/multisparkline.mpy differ diff --git a/lib/adafruit_display_shapes/polygon.mpy b/lib/adafruit_display_shapes/polygon.mpy new file mode 100644 index 0000000..0a22f03 Binary files /dev/null and b/lib/adafruit_display_shapes/polygon.mpy differ diff --git a/lib/adafruit_display_shapes/rect.mpy b/lib/adafruit_display_shapes/rect.mpy new file mode 100644 index 0000000..3fa2e1e Binary files /dev/null and b/lib/adafruit_display_shapes/rect.mpy differ diff --git a/lib/adafruit_display_shapes/roundrect.mpy b/lib/adafruit_display_shapes/roundrect.mpy new file mode 100644 index 0000000..a42899d Binary files /dev/null and b/lib/adafruit_display_shapes/roundrect.mpy differ diff --git a/lib/adafruit_display_shapes/sparkline.mpy b/lib/adafruit_display_shapes/sparkline.mpy new file mode 100644 index 0000000..63ee0a9 Binary files /dev/null and b/lib/adafruit_display_shapes/sparkline.mpy differ diff --git a/lib/adafruit_display_shapes/triangle.mpy b/lib/adafruit_display_shapes/triangle.mpy new file mode 100644 index 0000000..53763b5 Binary files /dev/null and b/lib/adafruit_display_shapes/triangle.mpy differ diff --git a/lib/adafruit_display_text/__init__.mpy b/lib/adafruit_display_text/__init__.mpy new file mode 100644 index 0000000..46acbd3 Binary files /dev/null and b/lib/adafruit_display_text/__init__.mpy differ diff --git a/lib/adafruit_display_text/bitmap_label.mpy b/lib/adafruit_display_text/bitmap_label.mpy new file mode 100644 index 0000000..5848ddb Binary files /dev/null and b/lib/adafruit_display_text/bitmap_label.mpy differ diff --git a/lib/adafruit_display_text/label.mpy b/lib/adafruit_display_text/label.mpy new file mode 100644 index 0000000..6b94e37 Binary files /dev/null and b/lib/adafruit_display_text/label.mpy differ diff --git a/lib/adafruit_display_text/scrolling_label.mpy b/lib/adafruit_display_text/scrolling_label.mpy new file mode 100644 index 0000000..86fccff Binary files /dev/null and b/lib/adafruit_display_text/scrolling_label.mpy differ diff --git a/lib/adafruit_esp32s2tft/__init__.mpy b/lib/adafruit_esp32s2tft/__init__.mpy new file mode 100644 index 0000000..e7ea580 Binary files /dev/null and b/lib/adafruit_esp32s2tft/__init__.mpy differ diff --git a/lib/adafruit_esp32s2tft/graphics.mpy b/lib/adafruit_esp32s2tft/graphics.mpy new file mode 100644 index 0000000..5337847 Binary files /dev/null and b/lib/adafruit_esp32s2tft/graphics.mpy differ diff --git a/lib/adafruit_esp32s2tft/network.mpy b/lib/adafruit_esp32s2tft/network.mpy new file mode 100644 index 0000000..b203fbf Binary files /dev/null and b/lib/adafruit_esp32s2tft/network.mpy differ diff --git a/lib/adafruit_esp32s2tft/peripherals.mpy b/lib/adafruit_esp32s2tft/peripherals.mpy new file mode 100644 index 0000000..8edd0bd Binary files /dev/null and b/lib/adafruit_esp32s2tft/peripherals.mpy differ diff --git a/lib/adafruit_imageload/__init__.mpy b/lib/adafruit_imageload/__init__.mpy new file mode 100644 index 0000000..2a6dd31 Binary files /dev/null and b/lib/adafruit_imageload/__init__.mpy differ diff --git a/lib/adafruit_imageload/bmp/__init__.mpy b/lib/adafruit_imageload/bmp/__init__.mpy new file mode 100644 index 0000000..de132e0 Binary files /dev/null and b/lib/adafruit_imageload/bmp/__init__.mpy differ diff --git a/lib/adafruit_imageload/bmp/indexed.mpy b/lib/adafruit_imageload/bmp/indexed.mpy new file mode 100644 index 0000000..6071df7 Binary files /dev/null and b/lib/adafruit_imageload/bmp/indexed.mpy differ diff --git a/lib/adafruit_imageload/bmp/negative_height_check.mpy b/lib/adafruit_imageload/bmp/negative_height_check.mpy new file mode 100644 index 0000000..040da3b Binary files /dev/null and b/lib/adafruit_imageload/bmp/negative_height_check.mpy differ diff --git a/lib/adafruit_imageload/displayio_types.mpy b/lib/adafruit_imageload/displayio_types.mpy new file mode 100644 index 0000000..a9aa82c Binary files /dev/null and b/lib/adafruit_imageload/displayio_types.mpy differ diff --git a/lib/adafruit_imageload/gif.mpy b/lib/adafruit_imageload/gif.mpy new file mode 100644 index 0000000..0e5e6fb Binary files /dev/null and b/lib/adafruit_imageload/gif.mpy differ diff --git a/lib/adafruit_imageload/png.mpy b/lib/adafruit_imageload/png.mpy new file mode 100644 index 0000000..e331cab Binary files /dev/null and b/lib/adafruit_imageload/png.mpy differ diff --git a/lib/adafruit_imageload/pnm/__init__.mpy b/lib/adafruit_imageload/pnm/__init__.mpy new file mode 100644 index 0000000..cbc4ef3 Binary files /dev/null and b/lib/adafruit_imageload/pnm/__init__.mpy differ diff --git a/lib/adafruit_imageload/pnm/pbm_ascii.mpy b/lib/adafruit_imageload/pnm/pbm_ascii.mpy new file mode 100644 index 0000000..df61d27 Binary files /dev/null and b/lib/adafruit_imageload/pnm/pbm_ascii.mpy differ diff --git a/lib/adafruit_imageload/pnm/pbm_binary.mpy b/lib/adafruit_imageload/pnm/pbm_binary.mpy new file mode 100644 index 0000000..021b026 Binary files /dev/null and b/lib/adafruit_imageload/pnm/pbm_binary.mpy differ diff --git a/lib/adafruit_imageload/pnm/pgm/__init__.mpy b/lib/adafruit_imageload/pnm/pgm/__init__.mpy new file mode 100644 index 0000000..92fb760 Binary files /dev/null and b/lib/adafruit_imageload/pnm/pgm/__init__.mpy differ diff --git a/lib/adafruit_imageload/pnm/pgm/ascii.mpy b/lib/adafruit_imageload/pnm/pgm/ascii.mpy new file mode 100644 index 0000000..d88ecb7 Binary files /dev/null and b/lib/adafruit_imageload/pnm/pgm/ascii.mpy differ diff --git a/lib/adafruit_imageload/pnm/pgm/binary.mpy b/lib/adafruit_imageload/pnm/pgm/binary.mpy new file mode 100644 index 0000000..9729d4d Binary files /dev/null and b/lib/adafruit_imageload/pnm/pgm/binary.mpy differ diff --git a/lib/adafruit_imageload/pnm/ppm_ascii.mpy b/lib/adafruit_imageload/pnm/ppm_ascii.mpy new file mode 100644 index 0000000..c6415f9 Binary files /dev/null and b/lib/adafruit_imageload/pnm/ppm_ascii.mpy differ diff --git a/lib/adafruit_imageload/pnm/ppm_binary.mpy b/lib/adafruit_imageload/pnm/ppm_binary.mpy new file mode 100644 index 0000000..954fc46 Binary files /dev/null and b/lib/adafruit_imageload/pnm/ppm_binary.mpy differ diff --git a/lib/adafruit_imageload/tilegrid_inflator.mpy b/lib/adafruit_imageload/tilegrid_inflator.mpy new file mode 100644 index 0000000..afbcfa0 Binary files /dev/null and b/lib/adafruit_imageload/tilegrid_inflator.mpy differ diff --git a/lib/adafruit_max1704x.mpy b/lib/adafruit_max1704x.mpy new file mode 100644 index 0000000..3fcd37b Binary files /dev/null and b/lib/adafruit_max1704x.mpy differ diff --git a/lib/adafruit_register/__init__.py b/lib/adafruit_register/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lib/adafruit_register/i2c_bcd_alarm.mpy b/lib/adafruit_register/i2c_bcd_alarm.mpy new file mode 100644 index 0000000..fdee032 Binary files /dev/null and b/lib/adafruit_register/i2c_bcd_alarm.mpy differ diff --git a/lib/adafruit_register/i2c_bcd_datetime.mpy b/lib/adafruit_register/i2c_bcd_datetime.mpy new file mode 100644 index 0000000..cd0a27c Binary files /dev/null and b/lib/adafruit_register/i2c_bcd_datetime.mpy differ diff --git a/lib/adafruit_register/i2c_bit.mpy b/lib/adafruit_register/i2c_bit.mpy new file mode 100644 index 0000000..815733a Binary files /dev/null and b/lib/adafruit_register/i2c_bit.mpy differ diff --git a/lib/adafruit_register/i2c_bits.mpy b/lib/adafruit_register/i2c_bits.mpy new file mode 100644 index 0000000..f7398c2 Binary files /dev/null and b/lib/adafruit_register/i2c_bits.mpy differ diff --git a/lib/adafruit_register/i2c_struct.mpy b/lib/adafruit_register/i2c_struct.mpy new file mode 100644 index 0000000..b018475 Binary files /dev/null and b/lib/adafruit_register/i2c_struct.mpy differ diff --git a/lib/adafruit_register/i2c_struct_array.mpy b/lib/adafruit_register/i2c_struct_array.mpy new file mode 100644 index 0000000..62241c6 Binary files /dev/null and b/lib/adafruit_register/i2c_struct_array.mpy differ diff --git a/lib/buttonBus.py b/lib/buttonBus.py new file mode 100644 index 0000000..9a8c465 --- /dev/null +++ b/lib/buttonBus.py @@ -0,0 +1,21 @@ +import digitalio +import board +import time + +button0 = digitalio.DigitalInOut(board.D0) +button0.direction = digitalio.Direction.INPUT +button0.pull = digitalio.Pull.UP +button1 = digitalio.DigitalInOut(board.D1) +button1.direction = digitalio.Direction.INPUT +button1.pull = digitalio.Pull.DOWN +button2 = digitalio.DigitalInOut(board.D2) +button2.direction = digitalio.Direction.INPUT +button2.pull = digitalio.Pull.DOWN + +def getSelectedButton(): + if not button0.value: + return 0 + elif button1.value: + return 1 + elif button2.value: + return 2 diff --git a/lib/menu.py b/lib/menu.py new file mode 100644 index 0000000..4fd5f2e --- /dev/null +++ b/lib/menu.py @@ -0,0 +1,28 @@ +import board +import adafruit_max1704x +import time +import terminalio +import displayio +from adafruit_display_shapes.rect import Rect +from adafruit_display_text import bitmap_label, wrap_text_to_lines + +menuToggle = True +battery = adafruit_max1704x.MAX17048(board.I2C()) + +def toggleMenu(splash): + global menuToggle + global battery + if menuToggle: + battery.reset() + time.sleep(0.05) + timeText = bitmap_label.Label(terminalio.FONT, text="Time: " + str(time.time() - 946684800), scale=1, color=0x000000, x=25, y=60) + batText = bitmap_label.Label(terminalio.FONT, text="Battery: " + str(round(battery.cell_percent)) + "%", scale=1, color=0x000000, x=25, y=80) + menuGroup = displayio.Group() + menuGroup.append(Rect(10, 10, 115, 220, fill=0xFFFFFF, outline=0x000000, stroke=2)) + menuGroup.append(bitmap_label.Label(terminalio.FONT, text="Menu", scale=2, color=0x000000, x=30, y=30)) + menuGroup.append(timeText) + menuGroup.append(batText) + splash.append(menuGroup) + else: + splash.pop() + menuToggle ^= True diff --git a/lib/save.py b/lib/save.py new file mode 100644 index 0000000..dfd0b7c --- /dev/null +++ b/lib/save.py @@ -0,0 +1,16 @@ +import storage +import supervisor +import microcontroller + +try: + storage.remount("/", supervisor.runtime.usb_connected) +except RuntimeError as E: + print("PC Mode") + microcontroller.reset() +try: + with open("/Save/current.json", "a") as save: + save.write("Take 2") + save.flush() +except OSError as E: + print("READ ONLY") + print(E) diff --git a/lib/selector.py b/lib/selector.py new file mode 100644 index 0000000..dfd4c7d --- /dev/null +++ b/lib/selector.py @@ -0,0 +1,47 @@ +from adafruit_display_shapes.circle import Circle + +spos = -1 +select = Circle(15, 10, 10, outline=0x000000, stroke=2) + +def showSelector(splash): + global spos + if spos == -1: + splash.append(select) + spos += 1 + print("added") + +def hideSelector(splash): + global spos + if spos != -1: + splash.pop() + +def nextPos(): + global spos + spos = (spos + 1) % 6 + updatePos() + +def lastPos(): + global spos + spos = (spos - 1) % 6 + updatePos() + +def updatePos(): + global select + if spos == 0: + select.x = 5 + select.y = 0 + elif spos == 1: + select.x = 40 + select.y = 0 + elif spos == 2: + select.x = 70 + select.y = 0 + elif spos == 3: + select.x = 90 + select.y = 0 + elif spos == 4: + select.x = 0 + select.y = 220 + elif spos == 5: + select.x = 110 + select.y = 220 diff --git a/settings.toml b/settings.toml new file mode 100644 index 0000000..e69de29