Améliorer la gestion des configurations et des captures dans les scripts de timelapse
This commit is contained in:
@@ -23,22 +23,41 @@ def main():
|
||||
logging.info("Démarrage de la capture d'images en mode hors ligne")
|
||||
|
||||
try:
|
||||
# Chargement de la configuration
|
||||
# Vérifier si une configuration active existe
|
||||
is_active_config = config.get("config_active", False)
|
||||
is_stopped = config.get("stop_current_config", False)
|
||||
remaining_images = config.get("nb_images_restantes", 0)
|
||||
interval = config.get("timelapse", 3) # Intervalle par défaut: 3 secondes
|
||||
|
||||
logging.info(f"Configuration: {remaining_images} images à capturer, intervalle de {interval}s")
|
||||
|
||||
if remaining_images <= 0:
|
||||
logging.info("Aucune image à capturer en mode hors ligne")
|
||||
# Si arrêté ou pas de configuration active, ne rien faire
|
||||
if is_stopped:
|
||||
logging.info("Configuration arrêtée, aucune action à effectuer")
|
||||
return
|
||||
|
||||
# Exécuter la séquence de capture en mode hors ligne
|
||||
timelapse_manager.run_capture_sequence(online=False)
|
||||
if not is_active_config:
|
||||
logging.info("Aucune configuration active en mode hors ligne")
|
||||
return
|
||||
|
||||
if remaining_images <= 0:
|
||||
logging.info("Aucune image restante à capturer")
|
||||
# Désactiver la configuration puisqu'elle est terminée
|
||||
config.update_config({"config_active": False})
|
||||
return
|
||||
|
||||
# Envoi de l'intervalle au microcontrôleur si nécessaire
|
||||
if interval > 0:
|
||||
logging.info(f"Configuration: {remaining_images} images à capturer")
|
||||
|
||||
# Exécuter la séquence de capture en mode hors ligne
|
||||
sequence_completed = timelapse_manager.run_capture_sequence(online=False)
|
||||
|
||||
# Obtenir l'intervalle de timelapse pour le microcontrôleur si nécessaire
|
||||
interval = config.get("timelapse", 3)
|
||||
if interval > 0 and is_active_config and not sequence_completed:
|
||||
logging.info(f"Envoi de l'intervalle au microcontrôleur: {interval}s")
|
||||
micro_controller.send_interval(interval)
|
||||
else:
|
||||
# Si la séquence est terminée, réinitialiser l'intervalle
|
||||
if sequence_completed:
|
||||
logging.info("Séquence terminée, réinitialisation de l'intervalle")
|
||||
micro_controller.send_interval(0) # 0 pour désactiver
|
||||
|
||||
except Exception as e:
|
||||
logging.error(f"Erreur lors de la capture en mode hors ligne: {e}")
|
||||
|
||||
Reference in New Issue
Block a user