#import delle librerie
from time import sleep_ms, ticks_ms, ticks_diff
from custom_library import sensor_init, get_value, comb_filt, LPF_coeff, LinEnv, send_to_shell, send_to_device
#dati
fs = 500
fp = 50
Ts = int(1000/500)
delay = int(fs/fp)
buffer = []
sos_coeff, status = LPF_coeff()
sensor = sensor_init(2)
while True:
t0 = ticks_ms()
raw_emg = get_value(sensor)
if raw_emg is not None:
filt_EMG = comb_filt(raw_emg, buffer, delay)
EMG_LE,status = LinEnv(sos_coeff,filt_EMG, status)
send_to_shell(raw_emg,filt_EMG, EMG_LE)
send_to_device(EMG_LE, sensor)
elapsed = ticks_diff(ticks_ms(), t0)
delay_sampling = Ts - elapsed
if delay_sampling > 0:
sleep_ms(int(delay_sampling))