#include "Log.h" #include "pico/multicore.h" #include #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; } } }