RPiPico-Holonome2023/Test_log.c

81 lines
2.0 KiB
C

#include "Log.h"
#include "pico/multicore.h"
#include <stdio.h>
#define TEST_TIMEOUT_US 10000000
void log_core1_routine(){
while(1){
Log_gestion();
}
}
/// @brief Fonction pour testes les fonctions Log
/// @param
/// @return 1 si la doit être ré-appelée, 0 si l'utilisateur quitte.
int test_log(void){
int lettre;
char message[50];
Log_init();
multicore_launch_core1(log_core1_routine);
while(1){
do{
printf("A : 1 message\n");
printf("B : 9 messages d'affilés\n");
printf("C : 100 messages à 100 µs d'intervalle\n");
printf("D : Récupération du log stocké\n");
printf("Q : Quitter\n");
lettre = getchar_timeout_us(TEST_TIMEOUT_US);
stdio_flush();
}while(lettre == PICO_ERROR_TIMEOUT ||lettre == 0);
switch(lettre){
case 'A':
case 'a':
printf("A : 1 message\n");
Log_message("Test 1 message", DEBUG);
break;
case 'B':
case 'b':
printf("B : 9 messages d'affilés\n");
for(int i=0; i<9; i++){
sprintf(message, "Test message %d/9", i+1);
Log_message(message, DEBUG);
}
break;
case 'C':
case 'c':
printf("C : 100 messages à 100 µs d'intervalle\n");
for(int i=0; i<100; i++){
sprintf(message, "Test message %d/100", i+1);
Log_message(message, DEBUG);
sleep_us(100);
}
break;
case 'D':
case 'd':
printf("D : Récupération du log stocké\n");
Log_get_full_log();
break;
case 'Q':
case 'q':
printf("Q : Quitter\n");
multicore_reset_core1();
return 0;
break;
}
}
}