Skip to content
Snippets Groups Projects

Show COVID-19 exposure notification statistics

Merged schneider requested to merge schneider/covid-tracing into master
@@ -16,9 +16,10 @@ TIMEOUT = 100
MODE_OFF = 0
MODE_ON_NEW_MAC = 1
MODE_ON_RX = 2
MODE_BOTH = 2
seen = {}
vib_mode = MODE_ON_NEW_MAC
vib_mode = MODE_OFF
led_mode = MODE_OFF
@@ -47,17 +48,17 @@ def bytes2hex(bin, sep=""):
def process_covid_data(mac, service_data, rssi, flags):
global vib_mode
if vib_mode == MODE_ON_RX:
if vib_mode in [MODE_ON_RX, MODE_BOTH]:
vibra.vibrate(10)
if vib_mode == MODE_ON_NEW_MAC and mac not in seen:
if vib_mode in [MODE_ON_NEW_MAC, MODE_BOTH] and mac not in seen:
vibra.vibrate(100)
if led_mode == MODE_ON_RX:
leds.flash_rocket(0, 31, 10)
if led_mode in [MODE_ON_RX, MODE_BOTH]:
leds.flash_rocket(0, 31, 20)
if led_mode == MODE_ON_NEW_MAC and mac not in seen:
leds.flash_rocket(1, 31, 100)
if led_mode in [MODE_ON_NEW_MAC, MODE_BOTH] and mac not in seen:
leds.flash_rocket(1, 31, 200)
print(bytes2hex(mac, ":"), rssi, bytes2hex(service_data), flags)
@@ -174,6 +175,11 @@ while True:
vib_mode = MODE_ON_RX
disp.print("Each RX", posy=40, fg=color.BLUE)
elif vib_mode == MODE_ON_RX:
vib_mode = MODE_BOTH
disp.print("MAC", posy=40, fg=color.YELLOW)
disp.print("&", posy=40, posx=14 * 4, fg=color.WHITE)
disp.print("RX", posy=40, posx=14 * 6, fg=color.BLUE)
elif vib_mode == MODE_BOTH:
vib_mode = MODE_OFF
disp.print("Vib off", posy=40, fg=color.WHITE)
@@ -190,6 +196,11 @@ while True:
led_mode = MODE_ON_RX
disp.print("Each RX", posy=40, fg=color.BLUE)
elif led_mode == MODE_ON_RX:
led_mode = MODE_BOTH
disp.print("MAC", posy=40, fg=color.YELLOW)
disp.print("&", posy=40, posx=14 * 4, fg=color.WHITE)
disp.print("RX", posy=40, posx=14 * 6, fg=color.BLUE)
elif led_mode == MODE_BOTH:
led_mode = MODE_OFF
disp.print("LED off", posy=40, fg=color.WHITE)
Loading