UniverSpace 2022
/
IniSat_TP1_Trame
IniSat Modèle 1 Version 2
main.cpp@1:b869fd151c26, 2021-06-23 (annotated)
- Committer:
- Giamarchi
- Date:
- Wed Jun 23 09:46:55 2021 +0000
- Revision:
- 1:b869fd151c26
- Parent:
- 0:f812f3896eb5
Trame
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Giamarchi | 1:b869fd151c26 | 1 | /******************************************************************************* |
Giamarchi | 1:b869fd151c26 | 2 | Université de Montpellier |
Giamarchi | 1:b869fd151c26 | 3 | NemoSpace IUT de Nîmes |
Giamarchi | 1:b869fd151c26 | 4 | IniSat Modèle 1 Version 2 |
Giamarchi | 1:b869fd151c26 | 5 | *******************************************************************************/ |
Giamarchi | 1:b869fd151c26 | 6 | // TP n°3 : Trame pour débuter |
Giamarchi | 1:b869fd151c26 | 7 | |
Giamarchi | 1:b869fd151c26 | 8 | // Exo 1 : Lecture tension batterie |
Giamarchi | 1:b869fd151c26 | 9 | // Exo 2 : Lecture courants faces solaires |
Giamarchi | 1:b869fd151c26 | 10 | // Exo 3 : Modes de fonctionnement |
Giamarchi | 0:f812f3896eb5 | 11 | |
Giamarchi | 0:f812f3896eb5 | 12 | #include "mbed.h" |
Giamarchi | 0:f812f3896eb5 | 13 | #include "platform/mbed_thread.h" |
Giamarchi | 1:b869fd151c26 | 14 | #include "system.h" |
Giamarchi | 1:b869fd151c26 | 15 | #include "user.h" |
Giamarchi | 0:f812f3896eb5 | 16 | |
Giamarchi | 1:b869fd151c26 | 17 | uint8_t etat, etat_mem; |
Giamarchi | 1:b869fd151c26 | 18 | float mes_accu; |
Giamarchi | 0:f812f3896eb5 | 19 | |
Giamarchi | 1:b869fd151c26 | 20 | int main() { |
Giamarchi | 0:f812f3896eb5 | 21 | |
Giamarchi | 1:b869fd151c26 | 22 | Init_System(); |
Giamarchi | 1:b869fd151c26 | 23 | etat = 0; |
Giamarchi | 1:b869fd151c26 | 24 | |
Giamarchi | 1:b869fd151c26 | 25 | while (1) { |
Giamarchi | 1:b869fd151c26 | 26 | thread_sleep_for(1); // Boucle toutes les 1 milliseconde environ |
Giamarchi | 1:b869fd151c26 | 27 | |
Giamarchi | 1:b869fd151c26 | 28 | // Gestion des modes avec une machine d'états |
Giamarchi | 1:b869fd151c26 | 29 | switch (etat) |
Giamarchi | 1:b869fd151c26 | 30 | { |
Giamarchi | 1:b869fd151c26 | 31 | /******************************************************************************/ |
Giamarchi | 1:b869fd151c26 | 32 | // Mode Init : Mise sous tension |
Giamarchi | 1:b869fd151c26 | 33 | // Initialisation du µC |
Giamarchi | 1:b869fd151c26 | 34 | |
Giamarchi | 1:b869fd151c26 | 35 | case 0: |
Giamarchi | 1:b869fd151c26 | 36 | |
Giamarchi | 1:b869fd151c26 | 37 | break; |
Giamarchi | 1:b869fd151c26 | 38 | /******************************************************************************/ |
Giamarchi | 1:b869fd151c26 | 39 | // Mode Gestion : Gestion des actions |
Giamarchi | 1:b869fd151c26 | 40 | // Contrôle du système |
Giamarchi | 1:b869fd151c26 | 41 | |
Giamarchi | 1:b869fd151c26 | 42 | case 1: |
Giamarchi | 1:b869fd151c26 | 43 | |
Giamarchi | 1:b869fd151c26 | 44 | break; |
Giamarchi | 1:b869fd151c26 | 45 | /******************************************************************************/ |
Giamarchi | 1:b869fd151c26 | 46 | // Mode Mission : Acquisition de données (Mesure Courant faces solaires) |
Giamarchi | 1:b869fd151c26 | 47 | // Stockage |
Giamarchi | 1:b869fd151c26 | 48 | |
Giamarchi | 1:b869fd151c26 | 49 | case 2: |
Giamarchi | 1:b869fd151c26 | 50 | |
Giamarchi | 1:b869fd151c26 | 51 | break; |
Giamarchi | 1:b869fd151c26 | 52 | /******************************************************************************/ |
Giamarchi | 1:b869fd151c26 | 53 | // Mode Radio : Transmission de données |
Giamarchi | 0:f812f3896eb5 | 54 | |
Giamarchi | 1:b869fd151c26 | 55 | case 3: |
Giamarchi | 1:b869fd151c26 | 56 | |
Giamarchi | 1:b869fd151c26 | 57 | break; |
Giamarchi | 1:b869fd151c26 | 58 | /******************************************************************************/ |
Giamarchi | 1:b869fd151c26 | 59 | // Mode Survie : Attente recharge de l'accu |
Giamarchi | 1:b869fd151c26 | 60 | |
Giamarchi | 1:b869fd151c26 | 61 | case 4: |
Giamarchi | 1:b869fd151c26 | 62 | |
Giamarchi | 1:b869fd151c26 | 63 | break; |
Giamarchi | 1:b869fd151c26 | 64 | /******************************************************************************/ |
Giamarchi | 1:b869fd151c26 | 65 | // Mode Zombie : Coupure des consommateurs |
Giamarchi | 1:b869fd151c26 | 66 | // Passage en mode faible consommation |
Giamarchi | 1:b869fd151c26 | 67 | // Diminution de la fréquence du CPU |
Giamarchi | 1:b869fd151c26 | 68 | // passage en mode Sleep |
Giamarchi | 1:b869fd151c26 | 69 | |
Giamarchi | 1:b869fd151c26 | 70 | case 5: |
Giamarchi | 1:b869fd151c26 | 71 | |
Giamarchi | 1:b869fd151c26 | 72 | break; |
Giamarchi | 1:b869fd151c26 | 73 | /******************************************************************************/ |
Giamarchi | 1:b869fd151c26 | 74 | default: |
Giamarchi | 1:b869fd151c26 | 75 | etat = 0; |
Giamarchi | 1:b869fd151c26 | 76 | break; |
Giamarchi | 1:b869fd151c26 | 77 | /******************************************************************************/ |
Giamarchi | 1:b869fd151c26 | 78 | } // end switch |
Giamarchi | 1:b869fd151c26 | 79 | if(etat != etat_mem) // Debug des états |
Giamarchi | 1:b869fd151c26 | 80 | { |
Giamarchi | 1:b869fd151c26 | 81 | pc.printf("Etat_%d\r\n",etat); |
Giamarchi | 1:b869fd151c26 | 82 | etat_mem = etat; |
Giamarchi | 0:f812f3896eb5 | 83 | } |
Giamarchi | 1:b869fd151c26 | 84 | } // end while |
Giamarchi | 1:b869fd151c26 | 85 | } // end main |
Giamarchi | 1:b869fd151c26 | 86 | /******************************************************************************/ |