watchdog sur Mega

Bonjour ,
je n'arrive pas a faire de recherche dans le forum car il me renvois ver un message d'erreur donc tampis pour la recherche dans le forum

voila je cherche s'il est possible d'empeché un sketch de planter en forcant un redemarage , j'ai cru comprendre que cela s'appelle un watchdog
mais je suis pas sur d'avoir tout compris !

donc si cela existe ou puis-je trouver les informations pour le parametrer sur une mega ( si possible en françai... je sais ,je sais)

merci a vous :smiley:

Bonjour,

Heloderma-kris:
je n'arrive pas a faire de recherche dans le forum car il me renvois ver un message d'erreur donc tampis pour la recherche dans le forum

Tu pourrais prévenir sur le topic du formulaire de recherche que ça marche pas ...
Ce serait tellement plus pratique pour résoudre le problème rapidement :cold_sweat:
Bon sinon pour l'erreur en question je peut rien faire c'est un bug généralisé du forum (encore).

Heloderma-kris:
voila je cherche s'il est possible d'empeché un sketch de planter en forcant un redemarage , j'ai cru comprendre que cela s'appelle un watchdog
mais je suis pas sur d'avoir tout compris !

Voir ici (c'est en anglais, faudra t'y faire tout les doc sont en anglais ;)) :
http://www.nongnu.org/avr-libc/user-manual/group__avr__watchdog.html

skywodd:
Bonjour,

Heloderma-kris:
je n'arrive pas a faire de recherche dans le forum car il me renvois ver un message d'erreur donc tampis pour la recherche dans le forum

Tu pourrais prévenir sur le topic du formulaire de recherche que ça marche pas ...
Ce serait tellement plus pratique pour résoudre le problème rapidement :cold_sweat:
Bon sinon pour l'erreur en question je peut rien faire c'est un bug généralisé du forum (encore).

sorry j'y avais pas pensé !

Heloderma-kris:
voila je cherche s'il est possible d'empeché un sketch de planter en forcant un redemarage , j'ai cru comprendre que cela s'appelle un watchdog
mais je suis pas sur d'avoir tout compris !

Voir ici (c'est en anglais, faudra t'y faire tout les doc sont en anglais ;)) :
avr-libc: <avr/wdt.h>: Watchdog timer handling
Using watchdog timer in your projects - Embedds

he mer..credi c'est deja ça , mais est ce que sa corespond bien a l'idée que je m'en fait ?

merci pour cette reponse eclair!

Heloderma-kris:
he mer..credi c'est deja ça , mais est ce que sa corespond bien a l'idée que je m'en fait ?

Oui dans le principe c'est ça.

Tu lances le watchdog, tu fait ton traitement et périodiquement pendant le traitement tu reset le watchdog.
Si ton programme plante il ne resetera pas le watchdog et après un temps bien précis le watchdog forcera un reset de la carte.

ok cool c'est exactement ça alors que je cherche comme sa plus de crainte que le systeme se figne en monter en temperature (dans mon cas sa risqué de tuer mes animaux et ça je peut pas le permetre).
le deuxieme lien me parai plus compréhensible !
merci !

voila apparament c'est relativement simple

#include <avr/wdt.h>// librairie pour le wathdogg 

void setup{
 wdt_enable(WDTO_8S); // activation du wathdogg sur 8 seconde le max possible 
}

void loop(){ 
 wdt_reset();// reinitialisation du wathdogg pour evité un redemarage intempestif toute les 8 sec de l'arduino
 }

en tout cas sa compile reste a savoir si sa fonctionne, mais je croit que c'est tout ce qu'il faut !

C'est pas fait pour être compliqué :wink:

Heloderma-kris:
voila apparament c'est relativement simple

en tout cas sa compile reste a savoir si sa fonctionne, mais je croit que c'est tout ce qu'il faut !

Bonjour

Si tu as un doute, tu peux tester en commandant une boucle sans fin lancée par une condition telle une entrée (bouton poussoir).

je testerai ce soir la je suis au boulo et j'ai pas ma carte avec moi ( elle me manque =()

Attention dans le mode de test, y'en a qui ont coincé la carte.

http://forum.arduino.cc/index.php?topic=141301.0

A lire jusqu'au bout!!!

alors j'ai eu deux plantage( je pense du a des perturbation electromagnétique relais trop proche et cablage 220v pas loin) avec ecrant figé et le systeme na pas redémaré .
saver vous s'il y a des limite de fonctionnement genre probleme qui font planter meme le watchdog.
bon en tout cas sa fait pas planter le systeme , mais pour l'instant il la pas non plus redemaré :frowning:

Pac2Kro:
Attention dans le mode de test, y'en a qui ont coincé la carte.

Reset Software. - Français - Arduino Forum

A lire jusqu'au bout!!!

J'insiste!!!

bon j'ai regarder le topic mais je vois ou tu veux en venir , tu me conseil de ne pas utiliser le watchdog?
car dans mon cas je l'initialise a la fin de mon setup sur 8 seconde et le reinitialise au debut de mon loop, je l'utilise au plus simple et d'ailleur pour le moment pas de nouveau plantage !
le probleme vu su le topic c'est que la carte a planté non ?
dans mon cas sa tourne bien et jesper juste que si mon sketch plante il resetra la carte!

Ma position est que si le watchdog existe, c'est que dans certains cas il est fait pour être utilisé.
Certains dirons que si tu as besoin de l'utiliser, c'est que ton code est mal fait.
Je voulais juste que tu fasses attention dans tes tests pour ne pas l'utiliser seul, auquel cas la carte n’arrête pas de rebooter sans fin et ne te laisse plus la possibilité de recharger un autre sketch.

Avec un watchdog à 8 secondes même pendant le debug du prog c'est pas bien grave :wink:
Au pire un reset max toute les 8 secondes.

bon trois jour non stop que le programe tourne sans probléme , en meme temps il a pas planter non plus pour le moment ( serai ce le debut d'un systeme fiable ?!) en tout cas merci a vous! :wink:

bon aprés plusieurs jours je constate que le watchdog ne "sonne pas l'allarme" bref il semble ineficace:

sur une uno -> -petit programe de thermostat pour incuber des oeufs de poules naines

  • freeze du sytéme vraissenblablement du a des perturbations electromagnetique des relais 24v qui ne sont pas loin.
  • resultat le wachdog ne fait rien il ne resete pas la carte donc le freez reste en place

sur une mega -> gros programe pour gere ma piece d'elevage compléte

  • freeze du systéme lors d'envoi et reception via web,
    (du je pense a la mauvaise conection internet que j'avais hiere dans le train( 4 bug en 2h30)
    car pas de bug relever lorsque la conection est normal meme sur 2 semaine non stop )
  • resultat le wachdog ne fait rien il ne ressete pas la carte donc le freez reste en place

avez vous des pistes que ce soit sur le watchdog (ou solution pour eviter les bug)
un autre systéme est il envisagable ( une uno qui reset la mega en cas de non signal..)
je suis preneur de toute solution
j'ai un cahier des charge simple
si la carte freez la reseter meme au bout d'une minute , je n'est pas de contrainte de temps court!

merci

Un relai qui plante le cpu ... ça sent le montage foireux quand même ...
Une mauvaise connexion qui plante le programme ... pareil ya une couille quelque pars.

Le watchdog c'est pas une baguette magique qui rend un code/montage foireux "fiable", ça reste foireux.
Règle tes problèmes de freeze à la source :wink:

Pour le watchdog fait un code simple qui allume / éteint une led et fait une boucle infini. Tu verras bien si il s'active ou pas.

oui pour le relais c'est pas ce qu'il y a de mieux mais en plus sa plante de maniere alleatoire pas a chaque enclanchement( sur le LCDj'ai meme eu des signe chinoi qui apparaisaiavant qu'il finise par planter)!
j'ai deja fait le teste avec une boucle infini et le toutou c'est bien mis en marche, mais des qu'il y a un freez on dirait que sa freeze le watchdog , tu a une bien meilleur comprehension des cpu que moi, as tu une idée de ce qui ce passe?

pour l'autre montage j'avous ne rien n'y comprendre car il tournai nikel depuis pas mal de temps et quand j'ai ajouter le wachtdog et tester avec une conection qui ce coupe de maniere aleatoire j'ai eu plusieur plantage en une journée , je n'est pas le niveau pour comprendre ce qui ce passe ! mais la encors sa freeze toute la carte!

Freeze hardware ...
Tu as surement un problème d'alimentation parasitée ou sous-dimensionnée quelques pars.
Ou pire, un relai sans diode de roue libre et/ou sans transistor de commande (j'espère que non sinon ton montage mérite d'être revu).