diff --git a/python_payload/main.py b/python_payload/main.py index 59875e6e9559631f47c7165077068b7f318ec577..24ffad8d7c257feeecc3954dfff4cd9553311cdd 100644 --- a/python_payload/main.py +++ b/python_payload/main.py @@ -3,20 +3,13 @@ from hardware import * import time import cap_touch_demo import melodic_demo + boot = Pin(0, Pin.IN) vol_up = Pin(35, Pin.IN, Pin.PULL_UP) vol_down = Pin(37, Pin.IN, Pin.PULL_UP) -# pin numbers -# right side: left 37, down 0, right 35 -# left side: left 7, down 6, right 5 -# NOTE: All except for 0 should be initialized with Pin.PULL_UP -# 0 (bootsel) probably not but idk? never tried - -def clear_all_leds(): - for i in range(40): - set_led_rgb(i, 0, 0, 0) - update_leds() +foreground = 0 +volume = 0 select = [\ [0,1,1,0,0,1,1,1,1,0,1,0,0,0,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,1],\ @@ -28,6 +21,22 @@ select = [\ [0,1,1,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1],\ ] +background = 0 +g = 0b0000011111100000 +r = 0b1111100000000000 +b = 0b0000000000011111 + +# pin numbers +# right side: left 37, down 0, right 35 +# left side: left 7, down 6, right 5 +# NOTE: All except for 0 should be initialized with Pin.PULL_UP +# 0 (bootsel) probably not but idk? never tried + +def clear_all_leds(): + for i in range(40): + set_led_rgb(i, 0, 0, 0) + update_leds() + def draw_text_big(text, x, y): ypos = 120+int(len(text)/2) + int(y) xpos = 120+int(len(text[0])/2) + int(x) @@ -44,26 +53,19 @@ def highlight_bottom_petal(num, r, g, b): for i in range(7): set_led_rgb(((i+start)%40), r, g, b) update_leds() - + def long_bottom_petal_captouch_blocking(num, ms): if(get_captouch((num*2) + 1) == 1): time.sleep_ms(ms) if(get_captouch((num*2) + 1) == 1): return True return False - -foreground = 0 -volume = 0 - -def init_menu(): - pass def draw_rect(x,y,w,h,col): for j in range(w): for k in range(h): display_draw_pixel(x+j,y+k,col) - - + def draw_volume_slider(): global volume length = 96 + ((volume - 20) * 1.6) @@ -75,7 +77,7 @@ def draw_volume_slider(): draw_rect(70,20,100,10,g) draw_rect(71,21,98,8, 0) draw_rect(72+96-length,22,length,6,g) - + def run_menu(): global foreground @@ -111,21 +113,6 @@ def foreground_menu(): draw_text_big(select, 0, 0) display_update() -background = 0; -g = 0b0000011111100000; -r = 0b1111100000000000; -b = 0b0000000000011111; - -time.sleep_ms(5000) -captouch_autocalib() -cap_touch_demo.init() -melodic_demo.init() - -init_menu() -foreground = run_menu -foreground_menu() -set_global_volume_dB(volume) - def set_rel_volume(vol): global volume vol += volume @@ -140,15 +127,28 @@ def set_rel_volume(vol): set_global_volume_dB(volume) time.sleep_ms(100) -while True: - if(boot.value() == 0): - if foreground == run_menu: - captouch_autocalib() - else: - foreground = run_menu - foreground_menu() - if(vol_up.value() == 0): - set_rel_volume(+3) - if(vol_down.value() == 0): - set_rel_volume(-3) - foreground() +def main(): + global foreground + time.sleep_ms(5000) + captouch_autocalib() + cap_touch_demo.init() + melodic_demo.init() + + foreground = run_menu + foreground_menu() + set_global_volume_dB(volume) + + while True: + if(boot.value() == 0): + if foreground == run_menu: + captouch_autocalib() + else: + foreground = run_menu + foreground_menu() + if(vol_up.value() == 0): + set_rel_volume(+3) + if(vol_down.value() == 0): + set_rel_volume(-3) + foreground() + +main()