mardi 29 septembre 2009

Projet ADS-B: Amélioration du firmware

Le fonctionnement de la chaîne étant validé, je peux désormais me consacrer à améliorer le logiciel embarqué dans le PIC18F2550. Après réflexion, j'ai décidé d'intégrer, outre la fonction de décodage, quelques fonctions de traitement qui permettront de décharger l'application externe.

La version 0.6 offre ainsi deux modes de fonctionnement activables par une simple commande sur la liaison série:
- Un mode normal (commande 'n') qui transmet les données reçues selon un formatage simple, charge à l'application de tout décoder.
- Un mode étendu (commande 'x') qui transmet en plus les informations suivantes: niveau de réception du signal, type de la trame, identifiant ICAO, et si disponibles: call-sign, CPR, latitude et longitude.

La command 'o' permet d'obtenir l'état courant des options.

La prochaine version intègrera une fonctionnalité permettant de valider la bonne réception des trames autres que les trames DF11 et DF17 quand l'otion de vérification des CRC est activée. Les identifiants calculés à partir du champ PA des autres trames sont corrélés aux identifiants acquis dans les trames DF11 et DF17 considérées comme intègres à la suite de la vérification du champ PI. Si l'identifiant est dans la table, la trame est marquée valide (préfixe '+' dans le format de sortie).
L'exemple de capture précédent permet d'illustrer ce mode de fonctionnement: le code ICAO 391EOF est transmis via le champ PA par deux trames DF00 mais est aussi présent dans une trame DF17 dont l'intégrité a été vérifiée. Toutes les autres trames annoncant ce code dans le champ PA seront considérées intègres.
La commande 'c' permettra d'obtenir le contenu de la table des codes acquis.

Aucun commentaire: