SETRE 2012 – Groupe 1 AOUIDAT Mounir (TC) HEREDIA Guillaume (GE) PERNOT Alexandre (GE) PIONCHON Sylvain (GE) SCHWINDENHAMMER Thiébaud (IF) (CdP/Coordinateur)
Le produit… Radio FM Jusqu’à 10 stations enregistrables ! Fonction Horloge Fonction Statistique $Chapitre
Spécification $Chapitre
Objectifs $Chapitre
Cahier des charges fonctionnel $Chapitre
Exigences non fonctionnelles $Chapitre
Moyens matériels et humains $Chapitre
Conception $Chapitre
SA-RT Niveau 0 : Niveau 1 : $Chapitre
LACATRE $Chapitre
Focus sur l’une autre tâche $Chapitre
… $Chapitre
Communication IR Radio <-> UART <-> IR <-> UART <-> Télécommande 3 couches : Liaison : E/R d’octets dans deux FIFO Transport : E/R de trames, vérification de l’intégrité des données, taille variables. Session : Protocole de connexion, déconnexion, transmission. $Chapitre
Communication IR Couche Liaison Encapsulation de la couche transport Pas d’acquittement Messages de faible importance Evite les dialogues infinis DATA 1 DATA 2 … UARTDEBUT UARTFIN LENGTH ID CHECKSUM DATA 1 DATA 2 … $Chapitre
Couche Session : côté Radio ConnecteIR = 0 BoutonsIR = TR? TR = ID_CO ? ConnecteIR = 1 BoutonsIR = Bx ? Bouton = Bx TR= ID_DECO ? TR = PING ? TR = ID_Bx ? Timeout ? PING TR = ID_PONG? PONG Timeout = 0 $Chapitre
Couche Session : côté Radio ConnecteIR = 0 TempIR = Bx ? ConnecteIR = 1 ? Timeout ? TR = ID_CO TR = ID_DECO ? TR = PING ? TR = PONG BoutonIR != 0 ? TempIR = BoutonIR TR = ID_Bx TR= ID_CO BoutonIR = TR ? TempIR = TR ? ConnecteIR = 1 $Chapitre
Driver buzzer $Chapitre
Driver Eeprom Objectif : Enregistrer des valeurs en offline Choix : enregistrement en EEPROM Intérêts : Zone mémoire non partagée (≠ FLASH Programme) Difficultés : Communication I2C Pas de périphérique interne Transfert lent (~100kHz) Timing importants => OS désactivé $Chapitre
Driver Eeprom Protocole I2C : conditions start / stop Commande de lecture $Chapitre
Gestion de projet $Chapitre
Plan de test Hors OS : Tests unitaires, validation par quelqu’un d’autre Intégration avec l’OS : tests d’intégrations. Expliquer notre methodologie de test : pour les drivers, test unitaire des fonctions hors OS. Pour les tâches, test de la FSM et de IR/boutons par simulation, puis test unitaire si possible, puis d’intégration, à chaque nouvelle fonctionalitée $Chapitre
Méthodologie Nous avons utilisé SCRUM… plus ou moins ! Utiliser un backlog de tâche à faire : Oui Les points journaliers : Non (aucun besoin) La communication au sein de l’équipe : Oui Focus sur le logiciel et pas sur la documentation : Oui Adaptation de la planification : Oui La spécification et conception concernaient dès le début la majorité du projet (modèle en V classique) $Chapitre
Iterations Lot 1 Boutons FSM Calibrage Lot 2 Veille IR Statistiques SCRUM Lot 1 Boutons FSM Calibrage Lot 2 Veille IR Statistiques $Chapitre
Planning $Chapitre
Problèmes rencontrés Chaleur des salles Matériel manquant/grillé/obsolète Temps d’initialisation des postes de travail Debugger Simulateur $Chapitre
$Chapitre