• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Может на avr WDT в esp запилить?

Andy Korg

Moderator
Команда форума
У нас жара (+30) и пережаренный мозг рождает бредовые идеи. Может сделать для esp8266 внешний собачий таймер на attiny13 например. На вход avr будут идти импульсы от esp, а avr будет при отсутствии сообщений от esp сбрасывать эту самую esp. Как вам такая идея?
 

JustACat

Moderator
Команда форума
Andy Korg, а чего в ней бредового? @pvvx, помнится, предлагал дополнительный мелкий МК в добавку к ESP в частности в роли нормального WDT. Только он, емнип, предлагал PIC. Но это кому что ближе, в общем-то.
Заодно можно как расширитель портов использовать, я считаю. Если конечно не тини, а что-то побольше, подключить по I2C, закинуть на АВР-ку прошивку, которая просто будет доступ ко всем портам АВР-ки давать (на чтение, запись, управление), ну, и заодно мониторить состояние ESP и в случае чего его перегружать.
 

pvvx

Активный участник сообщества
Andy Korg, а чего в ней бредового? @pvvx, помнится, предлагал дополнительный мелкий МК в добавку к ESP в частности в роли нормального WDT. Только он, емнип, предлагал PIC. Но это кому что ближе, в общем-то.
Дык Atmel или STM сами "зависучие" от любого внешнего элек.маг. чиха :)
А другие нормальные "бренды" (выпускаемые под военную приемку и фирмы имеют таковой опыт при разработке) имеет малую распространенность и сложности с программированием (требуют особый программатор).
Народ всегда выбирает самый худший вариант. Это всемирный закон и без исключений за практику в 30 лет :)
А Пик предлагал, т.к. первым вспомнился в корпусе SOT23-6...
 
Последнее редактирование:

Andy Korg

Moderator
Команда форума
а чего в ней бредового?... Заодно можно как расширитель портов использовать...
Ага! я не один такой значить умный :) Надо будет запилить чего-нибудь по этому поводу. У меня как раз есть attiny43 со встроенным DC/DC - типа от 0.7V может работать :)
Дык Atmel или STM сами "зависучие" от любого внешнего элек.маг. чиха
Фиг его знает, ихний аппаратный wdt ни разу не подводил, плюс еще brown врубить - и вообще непробиваемый получается. :)
 

JustACat

Moderator
Команда форума
ихний аппаратный wdt ни разу не подводил
Поддержу, у меня некоторые поделки на АВР годами уже работают. При этом помехи дома такие бывают в электросети (увы, дом старый, проводка и т.п. - ужас). Не завод, конечно, и не пром.оборудование. Но в целом меня устраивает на 100%.
 

pvvx

Активный участник сообщества
Поддержу, у меня некоторые поделки на АВР годами уже работают. При этом помехи дома такие бывают в электросети (увы, дом старый, проводка и т.п. - ужас). Не завод, конечно, и не пром.оборудование. Но в целом меня устраивает на 100%.
Проводка тут не при чем - вспомните хоть историю с подключением реле к ESP8266 и коммутацией сети 220 или отверткой по проводкам... :)
Сбрасываются они все, но некоторые можно отстроить и на такие помехи...
 

JustACat

Moderator
Команда форума
pvvx, ну вот, в таких условиях, так же с отвертками, релями и 220, аврки у меня работают прекрасно.
Сбрасываются? Возможно. Главное, чтобы после такого сброса работоспособность восстанавливалась так, чтобы я, как пользователь, этого сброса вообще не замечал.
Ну и 1 штука конкретно работает в качестве центра управления некоторыми функциями, типа освещения, так вот, чтобы она сбросилась хоть раз - я не замечал, а не заметить было бы сложно, т.к. свет тогда бы погас в комнате =)
Я не спорю на счет стабильности, у меня нет сравнительной базы для этого, в частности PIC я вообще не тестировал. Я лишь делюсь наблюдениями.
 

Andy Korg

Moderator
Команда форума
Собственно весь огород только из-за аппаратного WDT, ведь в esp он програмный вроде бы, а значит зависание ядра приведет к зависанию WDT
 

Discriminator

New member
Простите, а зачем ? Внешний сброс это хорошо, но в ESP, как я понимаю есть WDT ? Просто я смотрю как он усердно перезагружается от while(1)....
 

Andy Korg

Moderator
Команда форума
но в ESP, как я понимаю есть WDT
В esp вроде как wdt программный, а значит при зависании ядра получим зависание wdt. В avr WDT отдельный аппаратный блок не зависящий ни от ядра, ни от тактового генератора ядра.
 

pvvx

Активный участник сообщества
В esp вроде как wdt программный, а значит при зависании ядра получим зависание wdt. В avr WDT отдельный аппаратный блок не зависящий ни от ядра, ни от тактового генератора ядра.
В OpenSDKnoWiFi WDT работает нормально. Есть даже проблемы с его вырубанием :)
WDT был назван "программный", по тому что реализован в китай-SDK криво и может зависнуть в самих процедурах его обработки...
Плюс во всех не Espressif проектах, была и во многих, таких как NodeMCU и т.д. остается ошибка с wdt_enable().
 
Последнее редактирование:

Andy Korg

Moderator
Команда форума
...WDT был назван "программный"
Т.е. на самом деле у esp полноценный wdt? Отдельный тактовый генератор, отдельный блок? Мне почему-то думалось, что это какая-то надстройка над внутренним таймером, а этот самый таймер сидит на общем с CPU тактовом генераторе, вот и высказал свою мысль насчет avr.
 

pvvx

Активный участник сообщества
Т.е. на самом деле у esp полноценный wdt? Отдельный тактовый генератор, отдельный блок? Мне почему-то думалось, что это какая-то надстройка над внутренним таймером, а этот самый таймер сидит на общем с CPU тактовом генераторе, вот и высказал свою мысль насчет avr.
Он то отдельный в потрохах чипа, имеет несколько аппаратных режимов работы, но бездарно используется в софте. Его то отключат, то переназначат на другой режим или просто повяжут с китай-обработчиком по прерываниям и подтверждением по софт-таймеру. Каждый "портировщик" имеющихся прошивок на ESP8266 никогда не заморачивался с ним, а лепил как попало, без разбору. От этого WDT у них не работает. Ведь цель всех прошивок - понапихать как угодно поболее всякой фигни, для галочки, да совершенно не адаптированно к системе чипа. А WDT этому мешает. Его просто вырубают. Детям надо "Дурину" и потупее, а в ней система не работает по событиям, а крутит вечный цикл. Строить систему по другому - "сложно для понимания толпы".
Покажите хоть одну прошивку, где WDT что-то проверяет и завязано с какими событиями для проверки работоспособности или контроля её, а не просто тупо подтверждается когда не попадя :) Даже "оконный режим" подтверждения не используется...
Откройте любую тему, близкую к программированию и сделайте поиск по WDT - основной вопрос толпы - "Как отключить WDT" :)
Откройте "Дурино" - там функция отключить WDT есть, а включить обратно - нет :)
О китай-SDK и говорить то не о чем - там в обработке INT от WDT всё зависнуть может. :) и куча функций подтверждения WDT просто так (и отключения WDT) в каждом модуле китай-библиотек, хотя время после подтверждения WDT в китай-SDK больше или равно 1.6 секунды! Т.е. подтверждается везде, лиш-бы не сработал :)

Нормальным средством борьбы с такими, является встраивание в чип WDT, который не отключается никогда и имеет короткое “окно” по времени когда его можно подтвердить, и то с учетом засылки кода, который зависит от прошлого. Если “подтверждение” сброса WDTпоступает в другое время – нафиг сбрасывать чип. Тогда детки сразу “складывают лапки” :) Такой режим у WDT, возможно*, тоже есть в ESP8266 :p
*возможно - У него два аппаратных таймера и вроде свой источник тактирования, но дока или окончательного разбора по нему нема. Счас он виснет ещё по причине множественных ошибок в конфигурации других аппаратных частей чипа. Например можно вырубить CPU или "кэш" или ещё чего и всё зависнет наглухо. А таких ошибок в SDK много, в связи с бездарностью подхода и часто возникают из-за неверно поставленной системы приоритетов прерываний и т.д..

А т.к. чип тимеет мало ресурсов для создания системы “исправления бездарного” кода от домохозяек(ев), то в Дурино-подобных системах WDTпроще отключить. Всё равно системы на “Дуринах” не требуют надежности и система эта создается для обучения отуплению . “Тяп ляп и за пять минут светодиод мигает” - это её главное назначение. :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
А что, если использовать внешний WDT STWD100 или какой-либо его аналог?
Всё можно, но реальной аппаратной беды с WDT у ESP8266 нет. Она только 'софтовская' = китайский SDK. В последних версиях WDT 'усилили', но беда в перезапуске из SDK через ROM-BIOS осталась (китай-код обработки WDT).
 
Сверху Снизу