Skip to content
Snippets Groups Projects
Commit 3dcad691 authored by dx's avatar dx Committed by q3k
Browse files

move shit to utils

parent 3b4145fc
No related branches found
No related tags found
No related merge requests found
from machine import Pin from machine import Pin
from hardware import * from hardware import *
import utils
import time import time
import cap_touch_demo import cap_touch_demo
import melodic_demo import melodic_demo
...@@ -27,9 +28,6 @@ SELECT_TEXT = [ ...@@ -27,9 +28,6 @@ SELECT_TEXT = [
] ]
BACKGROUND_COLOR = 0 BACKGROUND_COLOR = 0
GREEN = 0b0000011111100000
RED = 0b1111100000000000
BLUE = 0b0000000000011111
# pin numbers # pin numbers
# right side: left 37, down 0, right 35 # right side: left 37, down 0, right 35
...@@ -37,84 +35,37 @@ BLUE = 0b0000000000011111 ...@@ -37,84 +35,37 @@ BLUE = 0b0000000000011111
# NOTE: All except for 0 should be initialized with Pin.PULL_UP # NOTE: All except for 0 should be initialized with Pin.PULL_UP
# 0 (bootsel) probably not but idk? never tried # 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)
for l, line in enumerate(text):
for p, pixel in enumerate(line):
if(pixel == '#'):
display_draw_pixel(xpos - 2*p, ypos - 2*l, RED)
display_draw_pixel(xpos - 2*p, ypos - 2*l-1, BLUE)
display_draw_pixel(xpos - 2*p-1, ypos - 2*l, BLUE)
display_draw_pixel(xpos - 2*p-1, ypos - 2*l-1, RED)
def highlight_bottom_petal(num, RED, GREEN, BLUE):
start = 4 + 8*num
for i in range(7):
set_led_rgb(((i+start)%40), RED, GREEN, BLUE)
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
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)
if length > 96:
length = 96
if length < 0:
length = 0
length = int(length)
draw_rect(70,20,100,10,GREEN)
draw_rect(71,21,98,8, 0)
draw_rect(72+96-length,22,length,6,GREEN)
def run_menu(): def run_menu():
global foreground global foreground
display_fill(BACKGROUND_COLOR) display_fill(BACKGROUND_COLOR)
draw_text_big(SELECT_TEXT, 0, 0) utils.draw_text_big(SELECT_TEXT, 0, 0)
draw_volume_slider() utils.draw_volume_slider(volume)
display_update() display_update()
selected_petal = None selected_petal = None
selected_module = None selected_module = None
for petal, module in enumerate(MODULES): for petal, module in enumerate(MODULES):
if long_bottom_petal_captouch_blocking(petal, 20): if utils.long_bottom_petal_captouch_blocking(petal, 20):
selected_petal = petal selected_petal = petal
selected_module = module selected_module = module
break break
if selected_petal is not None: if selected_petal is not None:
clear_all_leds() utils.clear_all_leds()
highlight_bottom_petal(selected_petal, 55, 0, 0) utils.highlight_bottom_petal(selected_petal, 55, 0, 0)
display_fill(BACKGROUND_COLOR) display_fill(BACKGROUND_COLOR)
display_update() display_update()
foreground = selected_module.run foreground = selected_module.run
time.sleep_ms(100) time.sleep_ms(100)
clear_all_leds() utils.clear_all_leds()
selected_module.foreground() selected_module.foreground()
def foreground_menu(): def foreground_menu():
clear_all_leds() utils.clear_all_leds()
highlight_bottom_petal(0,0,55,55); utils.highlight_bottom_petal(0,0,55,55);
highlight_bottom_petal(1,55,0,55); utils.highlight_bottom_petal(1,55,0,55);
display_fill(BACKGROUND_COLOR) display_fill(BACKGROUND_COLOR)
draw_text_big(SELECT_TEXT, 0, 0) utils.draw_text_big(SELECT_TEXT, 0, 0)
display_update() display_update()
def set_rel_volume(vol): def set_rel_volume(vol):
......
import time
from hardware import *
RED = 0b1111100000000000
GREEN = 0b0000011111100000
BLUE = 0b0000000000011111
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)
for l, line in enumerate(text):
for p, pixel in enumerate(line):
if(pixel == '#'):
display_draw_pixel(xpos - 2*p, ypos - 2*l, RED)
display_draw_pixel(xpos - 2*p, ypos - 2*l-1, BLUE)
display_draw_pixel(xpos - 2*p-1, ypos - 2*l, BLUE)
display_draw_pixel(xpos - 2*p-1, ypos - 2*l-1, RED)
def highlight_bottom_petal(num, RED, GREEN, BLUE):
start = 4 + 8*num
for i in range(7):
set_led_rgb(((i+start)%40), RED, GREEN, BLUE)
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
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(volume):
length = 96 + ((volume - 20) * 1.6)
if length > 96:
length = 96
if length < 0:
length = 0
length = int(length)
draw_rect(70,20,100,10,GREEN)
draw_rect(71,21,98,8, 0)
draw_rect(72+96-length,22,length,6,GREEN)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment