F1SYH‑TX1 — lot 39

Architecture firmware RP2040

Découper le logiciel en services indépendants afin de garder la chaîne RX/TX déterministe.

1 kHztick rapide
100 HzIHM
10 Hztélémétrie
watchdogactif
BootDriversÉtat radioSynthèseIHMCATJournal
Point critique : Le second cœur ne doit pas accéder directement aux GPIO critiques sans synchronisation.

Architecture et détails

Tâches principales :
- task_fast_1khz : PTT, défauts, keying CW
- task_radio_100hz : machine RX/TX, relais, Si5351
- task_ui_20hz : écran, encodeur, menus
- task_telemetry_10hz : courant, tension, ROS, température
- task_storage : sauvegardes différées
- task_cat : commandes USB CDC

Aucune écriture directe de relais hors du module radio_state.

Découpage

Chaque périphérique possède un driver.

La machine radio centralise les transitions.

Temps réel

Les défauts critiques sont lus en priorité.

L’IHM ne bloque jamais la radio.

Persistance

Écritures différées et versionnées.

CRC sur chaque bloc de configuration.

Spécifications

CœurRP2040 double cœur
Cœur 0Radio et protections
Cœur 1IHM, CAT, journal
Watchdog500 ms à 2 s
LangageC/C++ SDK Pico

Repères

Commande utilisateur → validation → action
Un défaut matériel force toujours RX sûr

Procédure

Créer l’arborescence.
Écrire les drivers.
Créer l’état radio.
Ajouter le tick rapide.
Ajouter la télémétrie.
Ajouter l’IHM.
Ajouter CAT.
Activer le watchdog.
Validation : les résultats sont consignés avant de poursuivre.