WatchDog в EspLink

Контроллеры на основе ESP8266
Ответить
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

WatchDog в EspLink

Сообщение RedSky »

Столкнулся с проблемой, что 8266 с прошивкой Esp Link при скорости UART менее 2400 не хочет работать, уходя в циклическую перезагрузку. Вот что имеем в логе:
[spoiler]123> Flash config restore ok<\r>
<\n>
123> CONN led=0<\r>
<\n>
142> SER led=2<\r>
<\n>
221> Wifi init, mode=AP<\r>
<\n>
338> Wifi uses DHCP, hostname=esp-link<\r>
<\n>
517> "ip": "0.0.0.0"<\r>
<\n>
621> "netmask": "0.0.0.0"<\r>
<\n>
746> "gateway": "0.0.0.0"<\r>
<\n>
871> "hostname": "<null>"<\r>
<\n>
996> sleep enable,type: 2<\r>
<\n>
1121> Httpd init, conn=0x3fff4128<\r>
<\n>
1275> No user file system found!<\r>
<\n>
1425> Serbridge pins: reset=12 isp=13 tx_enable=-1 swap=0<\r>
<\n>
2096> Reset cause: 3=soft wdt<\r>
<\n>
2096> exccause=4 epc1=0x40102200 epc2=0x0 epc3=0x0 excvaddr=0x0 depc=0x0<\r>
<\n>
2133> Flash map 4MB:512/512, manuf 0x20 chip 0x4016<\r>
<\n>
2362> ** esp-link v3.2.47-g9c6530d: ready, heap=18960<\r>
<\n>
2600> SNTP timesource set to us.pool.ntp.org with offset 0<\r>
<\n>
2858> initializing user application<\r>
<\n>
3021> Waiting for work to do...<\r>
<\n>
3167> mode : softAP(6a:c6:3a:luHuoB|ABiPR<\n><\n><\n><\r>[/spoiler]

Сильно похоже, на время вывода в UART выполнение программы приостанавливается а сторожевой таймер настроен на 3с. Восстановить работу возможно только перезаписью прошивки после стирания.
Если кто то работал с даной прошивкой - есть ли возможность отключить Watchdog?
Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

WatchDog в EspLink

Сообщение Labu559 »

RedSky писал(а): 11 авг 2021, 20:08 при скорости UART менее 2400 не хочет работать, уходя в циклическую перезагрузку
Ув. Алексей, попробуйте вставить между сессиями отправки в UART, как бы это дико не звучало и сколько бы не ругались на этом форуме, небольшую задержку или несколько разнесённых по циклу. delay(100)- начните к примеру и подберите минимальную. Дело в том, что в ESP, во время этих "задержек" и между вызовами беcконечного цикла loop() отрабатывает (сбрасывается) таймер watchdog. Успехов!
Anydy

WatchDog в EspLink

Сообщение Anydy »

[ref]Labu559[/ref], А что ругаться....Delay иногда даже нужен ....
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

WatchDog в EspLink

Сообщение RedSky »

попробуйте вставить между сессиями отправки в UART
Да, если вставить задержку между символами в 1мс работает нормально, но не все программы терминалы умеют это делать.

Отправлено спустя 14 минут 5 секунд:
Можно модифицировать саму esp link, исходники есть, но нужно знать как собрать прошивку.
Ответить

Вернуться в «ESP8266»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя