No description
Find a file
Nesquiik 6399f2272a
Some checks failed
CI / test (push) Has been cancelled
feat(ux+safety): journal de tir ACK, satellite mort visible, warnings déco/reco, restart silencieux
- Journal HDMI : log gris → vert (ACK relais reçu) ou rouge (MISS, timeout 2.5s)
  via mqtt_client satellite/+/ack + _pending_acks dans SequenceController
- Satellite mort : refresh_display_timeouts() toutes les 0.5s dans _poll_loop
  pour passer la carte satellite en rouge sans attendre un nouveau message MQTT
- Warnings déco/reco dans le journal : ⚠ rouge si satellite perdu,
  ⚠ orange si satellite reconnecté — surveiller
- Restart satellite silencieux : _prev_sat_armed tracking dans arming_guard,
  détecte armed=True→False inattendu et re-envoie ARM automatiquement
- Countdown entre lignes de séquence affiché dans le panel séquence
- Bouton arrêt propre du Pi (⏻) avec confirmation double-clic 3s
- SATELLITE_TIMEOUT porté à 15s pour éviter les faux miss lors des callbacks relais
- Fix: groupes = step.get('groupes', []) manquant dans _run_sequence (NameError)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-05 22:33:38 +02:00
.github/workflows ci: ajoute le pipeline GitHub Actions (tests + broker mosquitto) 2026-06-13 20:23:18 +02:00
coordinator feat(ux+safety): journal de tir ACK, satellite mort visible, warnings déco/reco, restart silencieux 2026-07-05 22:33:38 +02:00
data/sequences feat(sync+safety): tir NTP simultané, ordre armement imposé, disarm fin de séquence 2026-07-05 21:27:07 +02:00
docs docs: ajoute le retour du tir réel du 2026-06-13 2026-06-13 20:23:25 +02:00
docs_auto chore: nettoyage du suivi git (pycache, .idea, vieux zip) et ajout docs_auto 2026-06-13 12:40:31 +02:00
tests chore: nettoyage du suivi git (pycache, .idea, vieux zip) et ajout docs_auto 2026-06-13 12:40:31 +02:00
tools Ajout Doc 2025-05-01 15:38:38 +02:00
.gitignore feat(coordinator): heartbeat de diagnostic et retries armement/désarmement 2026-06-13 20:23:05 +02:00
automate_wiki.py Ajout Doc 2025-05-01 15:38:38 +02:00
CHANGELOG.md release: freeze coordinator at v1.0-coordinateur-gelé 2025-04-29 20:26:09 +02:00
config.py feat(ux+safety): journal de tir ACK, satellite mort visible, warnings déco/reco, restart silencieux 2026-07-05 22:33:38 +02:00
docker-compose.yml First commit 2025-04-27 17:40:41 +02:00
main.py feat(hdmi): timer séquence, RSSI satellite, bouton changer séquence, état STOP 2026-07-05 10:34:51 +02:00
MODULES.md First commit 2025-04-27 17:40:41 +02:00
PLANNING.md test: add SequenceController unit tests and CI integration 2025-04-27 21:20:07 +02:00
pytest.ini First commit 2025-04-27 17:40:41 +02:00
README.md Add documentation 2025-04-29 21:43:59 +02:00
requirements.txt feat: remplace l'écran LCD I2C par une interface HDMI PySide6 2026-07-04 20:53:37 +02:00

Table de tir PyFire — Coordinateur Raspberry Pi

Version : v1.0-coordinateur-gelé

Le coordinateur orchestre larmement sécurisé et la séquence de tir à travers un réseau de satellites Pico via MQTT.


🚀 Caractéristiques principales

  • Armement sécurisé : keyswitch + multi-satellites validation
  • Mode simulation : mocks pour tests logiciels sans hardware
  • Communication MQTT : publish/subscribe, ACK & QoS
  • Gestion dynamique : autodiscovery & suivi détat des satellites
  • Affichage : support écran 2×16 (mockable)
  • Journalisation : logs structurés (fichiers et console)

📂 Arborescence du projet

pyfire-coordinator/
├── docs/
│   ├── README.md
│   ├── architecture.md
│   ├── installation.md
│   ├── configuration.md
│   ├── usage.md
│   ├── testing.md
│   ├── ci_cd.md
│   ├── contribution.md
│   ├── mqtt_topics.md
│   └── modules/
│       ├── main.md
│       ├── arming_switch.md
│       ├── buttons.md
│       ├── satellite_monitor.md
│       ├── security_commander.md
│       ├── status_publisher.md
│       ├── sequence_controller.md
│       ├── arming_guard.md
│       ├── mqtt_client.md
│       ├── lcd_display.md
│       ├── logger.md
│       └── config.md
├── src/coordinateur/
├── tests/
└── .github/
    └── workflows/ci.yml

Installation rapide

Voir docs/installation.md pour tous les détails.


Démarrage

Voir docs/usage.md.


Contribution

Merci de lire docs/contribution.md avant de contribuer.