Optimisation pour l'arrêt du module AM

Bonjour à tous.
Avant de couper la tension sur mon module AM, je respecte la procédure : appuie sur le BP « arrêt » et attente de la fin de diffusion. Cet arrêt de diffusion demande un délai variable de 5 à 10 sec. Serait-il possible d’obtenir une réaction presque instantanée avec une modification logicielle, ou en utilisant une entrée prioritaire (si elle existe) du module Orange ? D’avance, merci de l’avis des spécialistes.
Serge

Bonsoir,

Vous pouvez couper le courant directement si vous n’avez pas patience d’attendre.

Cependant cela peut fonctionner une fois, 10 fois ou 50 fois sans problème jusqu’à ce que cela plante et vous devrez alors, refaire la programmation de la carte SD qui sera corrompue.

Si cette procédure d’arrêt sécurisé, comme on le fait pour tous les ordinateurs, a été prévue par les concepteurs ce n’est pas pour rien.

1 « J'aime »

Bonsoir
comme tous les systèmes d’exploitation Linux doit être arrêté « proprement » … avec une commande qui ferme proprement les fichiers ouverts, arrête les services, etc …
Un fichier corrompu et plus rien ne fonctionne … ou ça fonctionne mal au prochain démarrage … c’est compliqué à réparer et en effet le plus simple serait une réinstallation complète.

1 « J'aime »

Merci Henri-Louis pour votre réponse, mais je pense que vous m’avez mal compris, ou peut-être je me suis mal exprimé ! Je suis bien d’accord que cette procédure est justifiée, et c’est pour cela que je la respecte. Je me demande simplement s’il serait possible que le temps de réaction soit diminué.

Le temps « nécessaire » est utilisé je pense, il ne s’agit ici pas de Windows, qui contrôle s’il y a des mises à jour, les effectue au moment d’arrêter la machine, vous faisant poireauter ainsi durant plusieurs minutes.

exact la commande est aussi rapide que possible pour arrêter tous les processus en cours. Je ne pense pas qu’on puisse trouver plus rapide (poweroff il me semble).

1 « J'aime »

Effectivement, avec Windows l’arrêt du système demande un temps variable et parfois un peu long, mais la demande d’arrêt est prise en compte instantanément, alors qu’avec le module AM, il faut appuyer sur le BP durant plusieurs secondes, jusqu’à l’extinction de la LED.

C’est peut-être voulu par les concepteurs pour éviter les fausses manips.

Bonjour,
En effet l’arrêt du système Linux est d’une durée incompressible mais vous pouvez agir sur la réactivité du bouton poussoir, c’est une autre chose.

A partir de la ligne 131 du fichier automate.c contenu dans le répertoire src, vous trouverez la structure de contrôle suivante :

if (!etat_bp) { // le bouton poussoir a été presse (mis à zéro)
sleep (DELAI_BP);
fp_etat = fopen (bouton_poussoir,« r »);
fscanf (fp_etat,« %i »,&etat_bp);
fclose (fp_etat);

if (!etat_bp) { // cela dure plus de 5 secondes : on doit éteindre
system (eteindre_modulateur);
}
}

Il s’agit d’une confirmation de l’action sur le bouton. Vous pouvez modifier en :

if (!etat_bp) { // le bouton poussoir a été presse (mis à zéro)
// sleep (DELAI_BP);
// fp_etat = fopen (bouton_poussoir,« r »);
// fscanf (fp_etat,« %i »,&etat_bp);
// fclose (fp_etat);

// if (!etat_bp) { // cela dure plus de 5 secondes : on doit éteindre
system (eteindre_modulateur);
// }
}

cela supprimera la confirmation.

ou alors dans le fichier definitions.h du même répertoire vous pouvez réduire le délai à la ligne 46 :

#define DELAI_BP 2 // Le bouton doit rester appuyé au moins 2 secondes

Essayez de passer à 1 pour tester.

Dans tous les cas il faudra recompiler le code.

Il y a des outils prévus pour cela.

Merci Stockfish pour ces explications. Il faut que je me familiarise avec Linux et ça pourrait être une bonne occasion pour commencer. Encore merci et bon dimanche.

Pour proceder dans l’ordre, il faut avant tout parvenir à vous connecter à l’opz via ssh.

1 « J'aime »