1

Téma: [vyřešeno] Watchdog

Celkem urgentní se jeví nemožnost resetovat program watchdogem při syntaktické chybě. Vzdhledem k tomu, že kompilátor neprovádí úplnou syntaktickou analýzu programu, ale ta se provádí až za běhu, stává se mi s narůstající velikostí programu, že mi občas vypadne nějaké písmenko v názvu proměnné nebo chybějící parametr funkce a program skončí s chybou.

Zatím se mi vše podařilo vychytat v průběhu ladění, ale nevylučuji nějakou zapomenutou cestičku, kterou si program neprošel a kde to nebezpečí číhá. Ideální by bylo, kdyby i na tuto situaci watchdog pamatoval a program spustil znovu s tím, že uloží text chyby do nějaké systémové proměnné.

Už jsem ten problém možná zmiňoval, ale vzhledem k požadované spolehlivosti našeho produktu nás to celkem tlačí. Dá se to nějak řešit v rozumné době?

2

Re: [vyřešeno] Watchdog

Ano mám to zapsáno už dlouho, ale teprve se k tomu dostanu se na to podívat. Už brzy.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

3

Re: [vyřešeno] Watchdog

Díky smile

4

Re: [vyřešeno] Watchdog

Vyřešeno ve FW.

Pochlubte se - popište jak využíváte své zařízení SDS zde ! Můžete si bezplatně přidat svou reklamu !

5 Naposledy upravil: absolonj (2023-01-05 23:13:26)

Re: [vyřešeno] Watchdog

Potil jsem se v horečkách, ale už jsem OK, tak hned zítra vyzkouším.
Popis všeho jsem našel na Wiki.

6

Re: [vyřešeno] Watchdog

Funguje bez problémů, watchdog program při chybě restartuje a pak získám jak chybu, tak počet restartů, což je super. Pouze chybí definice velikosti informace pro "FC archived text of the last FC error", tedy SDS_get_a(134, ...). Rezervoval jsem statický buffer 256 bytů, ale možná je to příliš.