def notify(timer): # metodo statico. # viene evocato ogni volta che il numero del timer cambia # da in output il nuovo valore del timer. # se il nuovo valore è 0, restituisce TEMPO_FINITO, che può essere ignorato o meno a seconda di dove viene richiamato il metodo audioInterface.output_audio(timer) if (timer == 0): return TEMPO_FINITO
def click_bottone_destra(channel): global statoTimer if (statoTimer == TIMER_IN_IMPOSTAZIONE): timerDaImpostare.incrementaTimer(+1) elif (statoTimer == TIMER_IMPOSTATO_REGISTRAZIONE_ESERCIZIO ): # l'utente decide di mantenere l'esercizio appena registrato outputInterface.output_audio(FILE_AUDIO.INVIO_DATI_IN_CORSO) audio_acquisizione_esercizio() statoTimer = TUTTO_SPENTO
def click_bottone_sinistra(channel): global statoTimer if (statoTimer == TIMER_IN_IMPOSTAZIONE): if (timerDaImpostare.timer != 0): timerDaImpostare.incrementaTimer(-1) elif (statoTimer == TIMER_IMPOSTATO_REGISTRAZIONE_ESERCIZIO ): # l'utente decide di scartare l'esercizio appena registrato outputInterface.output_audio(FILE_AUDIO.VALORE_SCARTATO) datasetEsercizio = [ 0 ] #non è il caso di azzerare anche il timer perchè alla prossima pressione del tasto centrale verrà istanziato un nuovo oggetto timer statoTimer = TUTTO_SPENTO
def outputTimer(tempo): timer = audio_timer.Timer(tempo) #conto alla rovescia prima dell'inizio timer_pre = Timer(TEMPO_PRE_INIZIO_CORREZIONE) outputInterface.output_audio(FILE_AUDIO.INIZIO_REGISTRAZIONE_TRA_QUALCHE_SECONDO.format(SECONDI_PRE_REGISTRAZIONE)) timer_pre.audio_conto_alla_rovescia(1) #inizio della fase di acquisizione e correzione outputInterface.output_audio(FILE_AUDIO.VIA) #"via" time.sleep(1) timer.audio_conto_alla_rovescia(3) #il numero di secondi rimanenti viene dato in output ogni tre secondi #alla fine, do in output il resoconto dell'esecuzione dell'esercizio correttezzaMedia = correttezzaMedia / n_feedBack outputInterface.outputAudio(FILE_AUDIO.RESOCONTO_ESERCIZIO.format(correttezzaMedia))
def click_bottone_centrale(channel): global statoTimer global timerDaImpostare if ( statoTimer == TUTTO_SPENTO ): # timer da impostare da capo (questo è il primo click sul tasto centrale) outputInterface.output_audio( "/home/pi/Downloads/Tesina-master/Project/S3_Registrazione_esercizio/F1_SW_Pulsanti/beep-01a.wav" ) print("dovevo aver suonato") statoTimer = TIMER_IN_IMPOSTAZIONE timerDaImpostare = audio_timer.Timer( 0) #istazio un nuovo oggetto timer elif (statoTimer == TIMER_IN_IMPOSTAZIONE and timerDaImpostare.timer != 0): # l'utente ha terminato l'impostazione del timer outputInterface.output_audio(FILE_AUDIO.CONFERMA_TIMER) statoTimer = TIMER_IMPOSTATO_REGISTRAZIONE_ESERCIZIO
def audio_acquisizione_esercizio(): outputInterface.output_audio( FILE_AUDIO.INIZIO_REGISTRAZIONE_TRA_QUALCHE_SECONDO.format( SECONDI_PRE_REGISTRAZIONE)) conto_alla_rovescia_pre_registrazione = audio_timer.Timer( SECONDI_PRE_REGISTRAZIONE) conto_alla_rovescia_pre_registrazione.audio_conto_alla_rovescia( 1) #"5..4..3..2.." outputInterface.output_audio(FILE_AUDIO.VIA) #"via" time.sleep(1) timerDaImpostare.audio_conto_alla_rovescia(1) #"7..6..5..4.." outputInterface.output_audio( FILE_AUDIO.REGISTRAZIONE_TERMINATA) #"registrazione terminata"