Reveil Canon fiabilise : poll USB au lieu de sleep fixe, retry gphoto2, frontend patient
Backend: reveiller_canon() poll USB toutes les 1s (max 20s) au lieu de sleep(15+25),
3 tentatives gphoto2, temps total 10-30s au lieu de 40s fixe.
Frontend: attend 40s meme si reveil_en_cours=false (reconnexion auto),
messages plus clairs ("Touchez l'ecran et reessayez").
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1146,7 +1146,7 @@
|
||||
|
||||
<script src="/js/websocket.js?v=16"></script>
|
||||
<script src="/js/app.js?v=25"></script>
|
||||
<script src="/js/camera.js?v=22"></script>
|
||||
<script src="/js/camera.js?v=23"></script>
|
||||
<script src="/js/effects.js?v=4"></script>
|
||||
<script src="/js/gallery.js?v=5"></script>
|
||||
<script src="/js/share.js?v=9"></script>
|
||||
|
||||
@@ -280,12 +280,13 @@ async function lancerCapture() {
|
||||
await chargerCadreImpose();
|
||||
majCompteurAccueil();
|
||||
|
||||
// Verifier l'etat de la camera — attendre si reveil en cours
|
||||
// Verifier l'etat de la camera — attendre si pas prete ou reveil en cours
|
||||
try {
|
||||
let statut = await apiGet('/api/camera/statut');
|
||||
if ((!statut.connectee || statut.mode === 'erreur') && statut.reveil_en_cours) {
|
||||
afficherStatut('L\'appareil photo se prepare, un instant...', 'succes');
|
||||
for (let att = 0; att < 30; att++) {
|
||||
if (!statut.connectee || statut.mode === 'erreur') {
|
||||
afficherStatut('Preparation de l\'appareil photo...', 'succes');
|
||||
// Attendre jusqu'a 40s que le Canon soit pret (reveil ou reconnexion)
|
||||
for (let att = 0; att < 20; att++) {
|
||||
await pause(2000);
|
||||
statut = await apiGet('/api/camera/statut');
|
||||
if (statut.connectee && statut.mode !== 'erreur') break;
|
||||
@@ -294,12 +295,12 @@ async function lancerCapture() {
|
||||
}
|
||||
if (!statut.connectee || statut.mode === 'erreur') {
|
||||
captureEnCours = false;
|
||||
afficherErreurCapture('Appareil photo indisponible', 'Reessayez dans quelques instants');
|
||||
afficherErreurCapture('Appareil photo indisponible', 'Touchez l\'ecran et reessayez');
|
||||
return;
|
||||
}
|
||||
} catch (e) {
|
||||
captureEnCours = false;
|
||||
afficherErreurCapture('Le photobooth demarre', 'Reessayez dans quelques instants');
|
||||
afficherErreurCapture('Preparation en cours', 'Touchez l\'ecran et reessayez');
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user