Melissaperret / TP1_MINF

0 stars 0 forks source link

app.c -> bugs / amélioration / remarque #2

Open PBYetml opened 6 months ago

PBYetml commented 6 months ago

ETAT INIT

ETAT WAIT

ETAT EXECUTE

AUTRES

Melissaperret commented 5 months ago

ETAT_INIT

1) La bibliothèque pour "GPWM_Initialize" est définie dans "gestPWM.h". Cependant, nous l'avons incluse dans "app.h" et avons ensuite inclus "app.h" dans notre fichier source "app.c". Cependant, il aurait été préférable d'inclure directement la bibliothèque dans "app.c".

2) Notre méthode présente l'avantage de nous offrir un temps d'initialisation précis. Cependant, elle est sujette à des interruptions pendant cette phase, ce que nous souhaitons éviter. Finalement, on aurait du le mettre à la fin du code avant la ligne suivante : APP_UpdateState(APP_STATE_WAIT);

Cela nous aurait donner la solution suivante :

case APP_STATE_INIT: {
//Initialiser le lcd lcd_init(); lcd_bl_on(); printf_lcd("TP1 Pwm 2023-2024"); lcd_gotoxy(1,2); printf_lcd("Melissa Perret"); lcd_gotoxy(1,3); printf_lcd("Jeremy Affolter");

        BSP_InitADC10(); //Initialisation de l'ADC 

        LED_Off(); //Eteindre toutes les leds

        GPWM_Initialize(&PWMData); //Initialisation du pont en H 

        APP_UpdateState(APP_STATE_WAIT); //Fait passer à l'état WAIT
        break;

3) La bibliothèque pour "BSP_InitADC10" est définie dans ""Mc32DriverAdc.h". Cependant, nous l'avons incluse dans "app.h" et avons ensuite inclus "app.h" dans notre fichier source "app.c". Cependant, il aurait été préférable d'inclure directement la bibliothèque dans "app.c".

AUTRES 1) La bibliothèque pour "S_pwmSettings" est définie dans "gestPWM.h". Cependant, nous l'avons incluse dans "app.h" et avons ensuite inclus "app.h" dans notre fichier source "app.c". Cependant, il aurait été préférable d'inclure directement la bibliothèque dans "app.c".

2) J'aurai pu faire une boucle for en utilisant soit une constante pour le nombre de led soit en utilisant inférieur à 7

void LED_Off(void) // fonction allumage des LEDS { for(int i = 0; i < NOMBRE_LED; i++ ) // NOMBRE_LED = constante { BSP_LED_Off(LED[i]); } }

ou comme ceci

void LED_Off(void) // fonction allumage des LEDS { for(int i = 0; i < 7; i++ ) // NOMBRE_LED = constante { BSP_LED_Off(LED[i]); } }

J'espère que les corrections sont suffisantes :)