Fiabilite Canon : veille/reveil relais, sequence boot, stats diagnostic, fin evenement, compteur consommables
- Preview thread : poll uniquement quand ecran capture actif, keepalive 30s sinon - Sequence boot Canon : power cycle relais si absent USB au demarrage - Veille auto 30min : Canon coupe par relais apres inactivite, reveil au preview_start - Stats diagnostic /api/canon/stats : keepalive, preview, captures, connexions - Escalade reconnexion adoucie : pas d'USB reset les 2 premieres tentatives - Hard reset relais 10s (resistance decharge 990ohm sur dummy battery 8V) - Gestion fin evenement : date_fin + bouton terminer + guard 403 impression - Compteur base sur min(papier, ruban) avec cap evenement optionnel - Pre-eclairage countdown : projecteurs ON 3s avant capture pour mesure expo - Canon _configurer_init() : ISO 800, drivemode Single, viewfinder, EXIF preserve - Admin : detail evenement, compteur consommables, galerie impression Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WyN9xFp84P9VaWT3Qe2DXu
This commit is contained in:
46
memoire.md
46
memoire.md
@@ -244,14 +244,50 @@ Backup local des fichiers modifiés : `lxc111_backup/` dans ce dossier projet.
|
||||
- Compteur papier, ruban et photos avec diagnostic ratio
|
||||
- Compteur poses perdues + ratio corrigé 0.5 (10 poses par feuille, 20 feuilles par rouleau)
|
||||
|
||||
### Module relais HID + éclairage auto (1-2 août)
|
||||
- Module LCUS 4 canaux (5131:2007) piloté via hidapi/ctypes (`backend/relais.py`)
|
||||
- Assignation : R1=Proj gauche (NO), R2=Proj droit (NO), R3=Canon alim (NF), R4=libre
|
||||
- udev rule `/etc/udev/rules.d/99-usbrelay.rules` pour accès sans sudo
|
||||
- 5 endpoints API relais + admin éclairage avec status relais + boutons ON/OFF
|
||||
- Éclairage auto : analyse luminosité visage → allume projecteurs selon 3 seuils configurables
|
||||
- Power cycle Canon : relais NF = OFF=alimenté, ON=coupé ; intégré en niveau 10 de l'escalade recovery DSLR
|
||||
- Bug fix : byte 4 du status LCUS = bruit (0x4F), seuls bytes 1-3 valides
|
||||
|
||||
### Vidéos didactiques multi-étapes (1 août)
|
||||
- Système complet : situations avec N étapes vidéo, chaque étape boucle jusqu'à validation opérateur
|
||||
- 6 situations par défaut (montage, démontage, bourrage, rouleau, wifi, calibration)
|
||||
- Wizard overlay plein écran avec bouton "OK c'est bon" + navigation étapes
|
||||
- Storage `data/videos/{situation}/etape_XX.mp4`, config.json pour toggles/labels
|
||||
- 8 endpoints API vidéos + migration ancien format plat
|
||||
|
||||
### Panneau diagnostic + auto-recovery + overlays erreur (3 août)
|
||||
- Onglet "Diagnostic" dans admin : 4 cartes santé (camera/imprimante/relais/système), actions (reconnecter/réactiver/redémarrer), logs live, USB
|
||||
- Endpoints : `/api/systeme/sante`, `/api/systeme/logs`, `/api/systeme/redemarrer-backend`, `/api/imprimante/reactiver`, `/api/systeme/usb`
|
||||
- Auto-recovery imprimante : `_surveiller_imprimante` toutes les 30s, cupsenable si disabled
|
||||
- Overlay erreur utilisateur avec escalade : auto-fix → patience → opérateur → aide vidéo → redémarrage
|
||||
- Wizard vidéo connecté aux erreurs avec auto-détection résolution (poll sante)
|
||||
- Situation `camera_hs` ajoutée aux vidéos didactiques par défaut
|
||||
|
||||
### Fix impression galerie + robustesse (2 août)
|
||||
- Bug: `imprimante: null` dans config.json → TypeError: subprocess recevait None en argument
|
||||
- Cause: `.get("imprimante", "Mitsubishi")` retourne None si la clé existe avec valeur null
|
||||
- Fix: pattern `or "Mitsubishi"` dans 5 endroits (printer.py + main.py)
|
||||
- statut-detail endpoint: ajout try/except pour ne plus retourner 500
|
||||
- api_imprimer: ajout try/except global pour erreurs inattendues
|
||||
- Config Surface corrigée : `imprimante` passé de null à "Mitsubishi"
|
||||
|
||||
### Canon DSLR restart — problème ouvert (2 août)
|
||||
- Canon ne redémarre pas après coupure alim secteur (bouton power doit être pressé)
|
||||
- Interrupteur doit être laissé sur ON pour que le power cycle fonctionne
|
||||
- Si ça ne suffit pas : bypass physique du bouton power (soudure pont ou optocoupler sur canal 4)
|
||||
- Camera fixée au plancher, trappe batterie inaccessible
|
||||
|
||||
---
|
||||
|
||||
## Commits non pushés (au 12 juillet 2026)
|
||||
## Commits non pushés (au 2 août 2026)
|
||||
|
||||
3 commits en avance sur origin/main :
|
||||
- `5e482a8` Consommables : poses perdues + ratio 0.5
|
||||
- `3b6f376` Suivi consommables : compteur papier/ruban/photos + diagnostic
|
||||
- `44a9992` Admin backoffice : rubriques + vidéos + surprise + rembobinage
|
||||
Incluent relais HID, vidéos didactiques, consommables, admin backoffice.
|
||||
Push Gitea bloqué (pas de credentials SSH/HTTPS configurés sur Surface).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user