Pour tes redémarrages : ça fait bien longtemps que je n'ai pas manipé sur ce type de matos, mais il me semble qu'il y a dans l'api espressif une fonction esp_reset_reason() qui comme son nom l'indique te renvoie la cause du dernier reset. À appeler au démarrage. J'avais utilisé ça pour faire la différence entre un démarrage à froid et une sortie de veille profonde sur timer.
Pas une solution miracle mais ça pourrait peut-être t'aiguiller vers une cause soft (ex watchdog) ou hard (reset pin/alim/...)
Attention aux redémarrages intempestifs et aux écritures en mémoire non-volatile, notamment en flash. Si ça redémarre pendant une écriture ça peut être la misère (corruption très crédible). Ajouter un CRC pourrait être une bonne idée.
[^] # Re: Quelques remarques
Posté par guiv42 . En réponse au journal Hacker sa pompe de relevage 2 !. Évalué à 3.
Pour tes redémarrages : ça fait bien longtemps que je n'ai pas manipé sur ce type de matos, mais il me semble qu'il y a dans l'api espressif une fonction
esp_reset_reason()qui comme son nom l'indique te renvoie la cause du dernier reset. À appeler au démarrage. J'avais utilisé ça pour faire la différence entre un démarrage à froid et une sortie de veille profonde sur timer.Pas une solution miracle mais ça pourrait peut-être t'aiguiller vers une cause soft (ex watchdog) ou hard (reset pin/alim/...)
Attention aux redémarrages intempestifs et aux écritures en mémoire non-volatile, notamment en flash. Si ça redémarre pendant une écriture ça peut être la misère (corruption très crédible). Ajouter un CRC pourrait être une bonne idée.