Téma: [dotaz] Reset Macro po chybném uploadu programu
Zdravím všechny na fóru.
Dovoluji si vás oslovit ohledně problému se kterým se potýkam na více než jednom Macru.
Trocha informací:
firmware: 2.4.2015 (toho času poslední)
2 kusy SDS Macro (nejvyšší verze = displej+rs), jedno zhruba 3roky staré, druhé cca 14dní staré (nejnižší verze)
HW zapojení. 1xAD, 4xOpto, 2xS0, 4xrelé, 1wire A-1čidlo, 1wireB - 6čidel, zbytek nezapojen.
Tak a v čem je problém ... nejsem žádný zdratný programátor a tudíž jsem se vydal cestou pokus omyl a úpravou "hotových" ukázkových programů. Co se týče SDS-C programu, tak tím je posílání na online portál, co se týče user.html tak tím originál zobrazování hodnot a spínání + pohled webkamery na domeček.
Pustil jsem se do úpravy, kdy z druhého SDS (IO6) načítám v SDS-C hodnoty teplot a stavů relé. Takto bych chtěl činit z další 5ti různých vstupů, ale selhávám již jen na jednom. Aktuálně tedy program v sobě má posílání na online portál + httpget z druhého SDS. Vše po testu (sys[65] != 1029) a (sys[75] == 200) + poslání emailu při dosažení vstupu na jednom Opto. Podstatná informace je, že nikde na úrovni programu se nepoužívá dataflash !
Tak a co mi to dělá. Zkrátka tuhne ... cca 4-5 hodin vše jede normálně, web zobrazuje, hodnoty se aktualizují, vše se tváří supr. Pak to začne vytuhávat ... samo se restartne (ping vypadne cca na 10sec) a zase si to zhruba hodku tiše ševelí. Po cca 4-6ti takovýchto restartech to ale už nenaběhne ... pomůže odpojení napájení a pak se cyklus opakuje.
OK, někde mám v kódu chybu a nevidím ji. No nejsem profík a i těm se chyby stávají .... Tak jsem se chtěl vrátit k předchozí verzi programu, tzn. bez komunikace s druhým sds a bez webové stránky. Při uploadu přes SDS-C tool však začali skákat chyby udp spojení ... na na cca 20tý pokus se zadařilo a user.htm byl na svém místě ... Zkompilovaný program na poprvé ... uff
Avšak zapomněl sem starou verzi, která měla v sobě nepodstatnou chybku (tato určitě nemá vliv na chování zde popisované, jen sem prostě zapomněl zaremovaný jedno ++).
Dám nahrát znovu program, šup, chyba UDP přenosu .... a od té doby se Macro už nevzpamatuje ... vyp/zap nepomůže.
Dobrá tedy, provedu reset. Návod hovoří, vypnout napájení, počkat, spojit reset, zapnout na 10sekund, vypnout, rozpojit reset, zapnout ....
... hmm, naprosto nic ... neodpovídá na ping. Na displeji se objeví CSPhone a po chvilce blik a znova ... eth port se tváří, že se cyklicky restartuje. Ping nereaguje, web neodpovídá ...
Zkouším proceduru opakovaně i s delšími časy přidržení. Nic nezabírá ... jednou mi však ujede ruka a rozpojím si kontakt a ejhle, restarty už nejsou, na displeji CSphone a odpovídá ping .... bohužel web rozhraní nejede, sds-c se nespojí ... Empiricky vyzkoušeno, že se tak stane, když spojím na chvíli tlačítko reset pod napájením. Tipuji, že se něco uvnitř "zastaví" a to něco je asi program, který je pošramocený vadným UDP přenosem.
Inu nyní babo raď ... i smýřil jsem se s tím, že jsem si SDSko oddělal ... tak jsem koupil nové a dostal jsem se s ním do stejného stavu (výjma displeje, neb ho nemá).
Pro úplnost dodávám. Komunikace vždy kabel přímo mezi PC a SDS při nahrávání, abych vyloučil problémy na straně sítě. Pro jistotu jsem vyměnil s novým SDSkem i zdroj napájení za doporučený meanwell (s tímto typem to jelo bez problémů 2-3roky v minulosti). A pro úplnou jistotu jsem to programoval i z jiného PC.
Máte prosím někdo nějakou radu/zkušenost ??? ... Nechce se mi věřit tomu, že jsou SDSka fakt "mrtvá". Ač v programu chybu nevidím, budiž, něco dělám blbě, vyprdnu se na to a půjdu radši okopávat záhonky, ale rád bych je dostal zpět mezi živá ... Předtím mi aspoň řídili topení spolehlivě.
Děkuji za tipy a názory.