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:
@@ -272,6 +272,7 @@ async function lancerCapture() {
|
||||
}
|
||||
|
||||
lancerPreview(); // Miroir live pendant le compte à rebours
|
||||
wsEnvoyer({type: 'prepare_capture'});
|
||||
await compteARebours();
|
||||
|
||||
// Surprise : afficher media juste avant capture
|
||||
@@ -489,20 +490,17 @@ function afficherPreviewPhoto(chemin) {
|
||||
async function majCompteurAccueil() {
|
||||
const etat = await apiGet('/api/compteur');
|
||||
const el = document.getElementById('compteur-accueil');
|
||||
if (etat.actif) {
|
||||
el.classList.remove('cache');
|
||||
document.getElementById('compteur-restant').textContent = etat.restantes;
|
||||
document.getElementById('compteur-limite').textContent = etat.limite;
|
||||
} else {
|
||||
el.classList.add('cache');
|
||||
}
|
||||
el.classList.remove('cache');
|
||||
document.getElementById('compteur-restant').textContent = etat.restantes;
|
||||
document.getElementById('compteur-limite').textContent =
|
||||
(etat.actif && etat.limite > 0) ? etat.limite : etat.capacite;
|
||||
}
|
||||
|
||||
async function majBoutonImprimerCompteur() {
|
||||
const etat = await apiGet('/api/compteur');
|
||||
const btn = document.getElementById('btn-imprimer');
|
||||
if (!btn) return;
|
||||
if (etat.actif && etat.restantes <= 0) {
|
||||
if (etat.restantes <= 0) {
|
||||
btn.classList.add('cache');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user