2510_RegulationChauffage
Chargement...
Recherche...
Aucune correspondance
Référence de l'espace de nommage app.main

Fonctions

 start_webui_server ()
 Lance le serveur web local dans un thread séparé.
 save_last_state (channel=None, resistance_ohm=None, temperature_c=None, temperature_sim_c=None, error=None)
 Sauvegarde l'état courant et historique par canal dans un fichier JSON.
 signal_handler (sig, frame)
 Gestionnaire POSIX pour les signaux (Ctrl+C).
 input_monitor ()
 Thread d'écoute des commandes utilisateur depuis stdin.
 show_error_and_continue (error_pattern, sleep_time=2)
 Affiche un motif LED d'erreur pendant un temps donné puis remet l'indicateur en mode 'sequence_running'.
 run_measurement_sequence (cfg, mac_address, adc, tmux)
 Exécute une séquence complète de mesures pour tous les canaux activés selon la configuration fournie.
 reload_timing_config ()
 Recharge les paramètres de temporisation depuis le fichier de configuration.
 main ()
 Point d'entrée principal du programme.

Variables

 CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
 SRC_DIR = os.path.dirname(CURRENT_DIR)
bool sequencer_running = False
 stop_event = threading.Event()
 force_sequence = threading.Event()
 led_indicator = None

Documentation des fonctions

◆ input_monitor()

app.main.input_monitor ( )

Thread d'écoute des commandes utilisateur depuis stdin.

Permet de forcer une séquence (touche Entrée ou 's') ou de demander l'arrêt ('q'). Les exceptions d'E/S sont gérées pour permettre la terminaison propre du thread.

Renvoie
None
Voici le graphe d'appel pour cette fonction :

◆ main()

app.main.main ( )

Point d'entrée principal du programme.

Parse les arguments de la ligne de commande, initialise le matériel (GPIO, ADC, MUX), le gestionnaire LED, et exécute le séquenceur en mode automatique ou manuel selon la configuration.

Renvoie
None
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ reload_timing_config()

app.main.reload_timing_config ( )

Recharge les paramètres de temporisation depuis le fichier de configuration.

Lit uniquement les paramètres de temporisation pour mise à jour dynamique sans perturber le reste du système. Utilisé pour permettre la modification des intervalles de séquence et du mode automatique via l'interface web.

Renvoie
Tuple (auto_sequence, sequence_interval_minutes, success) où success indique si le rechargement a réussi.
Voici le graphe des appelants de cette fonction :

◆ run_measurement_sequence()

app.main.run_measurement_sequence ( cfg,
mac_address,
adc,
tmux )

Exécute une séquence complète de mesures pour tous les canaux activés selon la configuration fournie.

Pour chaque canal actif : sélection du rref, configuration ADC, lecture des valeurs, conversion en température, envoi API, calcul de la température simulée et application via le simulateur de résistance. Les motifs LED sont ajustés en fonction des erreurs.

Paramètres
cfgDictionnaire de configuration chargé depuis JSON.
mac_addressAdresse MAC ou identifiant pour les appels API.
adcInstance de l'ADC (Ads124s08).
tmuxInstance du multiplexeur (Tmux1204).
Renvoie
bool True si la séquence est globalement considérée comme réussie, False sinon.
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ save_last_state()

app.main.save_last_state ( channel = None,
resistance_ohm = None,
temperature_c = None,
temperature_sim_c = None,
error = None )

Sauvegarde l'état courant et historique par canal dans un fichier JSON.

Crée le dossier state si nécessaire, lit le fichier last_state.json existant, met à jour les informations du canal fourni et écrit le document au format JSON. Les erreurs internes sont capturées et affichées sur la sortie standard.

Paramètres
channelNuméro du canal (ou None).
resistance_ohmRésistance mesurée (ou None).
temperature_cTempérature mesurée [°C] (ou None).
temperature_sim_cTempérature simulée [°C] (ou None).
errorMessage d'erreur s'il y en a un (ou None).
Renvoie
None
Voici le graphe des appelants de cette fonction :

◆ show_error_and_continue()

app.main.show_error_and_continue ( error_pattern,
sleep_time = 2 )

Affiche un motif LED d'erreur pendant un temps donné puis remet l'indicateur en mode 'sequence_running'.

Paramètres
error_patternNom du motif LED à afficher.
sleep_timeDurée d'affichage en secondes (par défaut 2s).
Renvoie
None
Voici le graphe des appelants de cette fonction :

◆ signal_handler()

app.main.signal_handler ( sig,
frame )

Gestionnaire POSIX pour les signaux (Ctrl+C).

Met le drapeau sequencer_running à False et déclenche l'événement stop_event pour demander un arrêt propre.

Paramètres
sigSignal reçu (int).
frameContexte d'exécution (non utilisé).
Renvoie
None
Voici le graphe des appelants de cette fonction :

◆ start_webui_server()

app.main.start_webui_server ( )

Lance le serveur web local dans un thread séparé.

Import dynamique du module webui.webui_server et démarrage de l'application Flask/WSGI. Les exceptions sont interceptées et converties en messages sur la sortie standard pour ne pas interrompre le thread principal.

Renvoie
None

Documentation des variables

◆ CURRENT_DIR

app.main.CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))

◆ force_sequence

app.main.force_sequence = threading.Event()

◆ led_indicator

app.main.led_indicator = None

◆ sequencer_running

bool app.main.sequencer_running = False

◆ SRC_DIR

app.main.SRC_DIR = os.path.dirname(CURRENT_DIR)

◆ stop_event

app.main.stop_event = threading.Event()