diff --git a/preload/apps/ecg/__init__.py b/preload/apps/ecg/__init__.py index e5eea863ec5e66ec79f71493d56caf752ccd8ede..6e6e820fc6910736e60ab9f5bd81e931a28e5a4e 100644 --- a/preload/apps/ecg/__init__.py +++ b/preload/apps/ecg/__init__.py @@ -1,5 +1,6 @@ import os import display +import leds import utime import buttons import max30001 @@ -36,6 +37,10 @@ histogram_offset = 0 sensor = 0 disp = display.open() +leds.dim_top(1) +COLORS = [((23 + (15 * i)) % 360, 1.0, 1.0) for i in range(11)] +colors = COLORS + def callback_ecg(datasets): global update_screen, history, filebuffer, write @@ -161,6 +166,14 @@ def toggle_pause(): histogram_offset = 0 +def draw_leds(val): + global colors + # val should be in [0, 11] + for i in range(11): + leds.prep_hsv(10 - i, COLORS[10 - i] if i < val else (0, 0, 0)) + leds.update() + + def draw_histogram(): global disp, history, current_mode, bias, write, pause_screen, update_screen @@ -211,6 +224,7 @@ def draw_histogram(): old = value x += 1 + draw_leds((60 - int((max(history[-3:]) * scale + OFFSET) - 20)) * 11 / 60) # draw text: mode/bias/write if pause_histogram == True: disp.print(