

dontsov
Участник-
Content Count
134 -
Joined
-
Last visited
Community Reputation
0 ОбычныйAbout dontsov
-
Rank
Частый гость
Recent Profile Visitors
-
ESP8266: актуализировать Arduino Framework + WiFiManager.
dontsov posted a topic in Предлагаю работу
Есть OpenSource прошивка ESP8266 на базе Arduino Framework + WiFiManager: https://github.com/dontsovcmc/waterius Задача 1: Требуется обновить Arduino Framework и WiFiManager, проверить на нескольких роутерах. Кинем в сообщество для тестирования. WiFiManager пришлось чуть доработать - добавил 1 вызов и другой код страниц. Надо будет перенести изменения, ничего сложного. Задача 2*: Проверить проблему с ошибкой подключения к 1% роутеров. Есть роутер Sercomm rv6699 к которому не подключается, могу выслать почтой. Другие роутеры: - Sercomm rv6699 - Innbox e70 - TP-Link AX5400 Иногда лечится установкой статического ip в ESP, иногда нет. Версия фреймворка достаточно старая, возможно стабильность уже улучшили. Тестировать можно на NodeMCU. Аналогичным образом не подключалась к данному роутеру какая то из прошивок ESPEasy, а старая ESPEasy stable подключалась. Гипотезы: - Ошибка вылечится обновлением версий; - WiFiManager некорректно использует WiFiClient; - WiFiClient необходимо донастроить, может вынести параметр в интерфейс; - Ошибка в WiFiClient (Однажды я уже исправлял в нём ошибку. Будет и у вас commit.=)) Оплачиваемо по этапам. Бюджет на первую задачу 10к. Торг. -
Реализовать запись лога ESP8266 в LittleFS
dontsov posted a topic in Предлагаю работу
Оpensource проекту Ватериус требуется программист C++. Нужен опыт работы с ESP8266. Задача писать лог ESP8266 в LittleFS, чтобы можно было загрузить из вебинтерфейса при возникновении ошибок: https://github.com/dontsovcmc/waterius/issues/203 Оплату предлагайте. (Если сотрудничество удастся, есть ещё несколько задач на рефакторинг). -
attiny85: watchdog зависает
dontsov replied to dontsov's topic in MCS51, AVR, PIC, STM8, 8bit
@Сергей Борщ спасибо! Я вчера поучаствовал в долгой дискуссии в которой объяснили (и я понял и признал) насколько у меня «французский с Нижегородским» в коде.. ахах Буду рефакторить. Вообще, если начать понимать, что написал, можно убрать половину кода. Мда. Я до сих пор удивлен, насколько мало находится примеров с watchdog. И те без комментариев. Вот думаю насколько целесообразно переписать с нуля на регистрах всё. -
attiny85: watchdog зависает
dontsov replied to dontsov's topic in MCS51, AVR, PIC, STM8, 8bit
@Сергей Борщ @jcxz У меня прерывание после sleep... Других нет. -
attiny85: watchdog зависает
dontsov replied to dontsov's topic in MCS51, AVR, PIC, STM8, 8bit
А как это сделать? -
attiny85: watchdog зависает
dontsov replied to dontsov's topic in MCS51, AVR, PIC, STM8, 8bit
Хм… атомарного не уверен… а где это можно узнать? да, uint32_t здорово увеличивают память -
attiny85: watchdog зависает
dontsov replied to dontsov's topic in MCS51, AVR, PIC, STM8, 8bit
Да, в последней версии сделали uint32_t его! https://github.com/dontsovcmc/waterius/tree/dev -
attiny85: watchdog зависает
dontsov replied to dontsov's topic in MCS51, AVR, PIC, STM8, 8bit
@slanted wdt_enable в setup убрал. Посмотри, пожалуйста: https://github.com/dontsovcmc/waterius/tree/dev -
Очень странная перезагрузка attiny85 по Watchdog Reset Flag
dontsov replied to dontsov's topic in MCS51, AVR, PIC, STM8, 8bit
Все таки зависает прошивка. Не понятно отчего. Да, она не перезагружается по watchdog аварийно. Тему продолжил тут: -
attiny85: watchdog зависает
dontsov replied to dontsov's topic in MCS51, AVR, PIC, STM8, 8bit
Я попробовал имитировать задержку в коде, чтобы сработал watchdog на перезагрузку - он срабатывает, но плата уходит в зависание. Кажется потому что не выставлял MCUSR = 0. @slanted: Вот такой код корректно перезагружает если wdt_reset не наступит за 250мс: volatile uint32_t wdt_count; ISR( WDT_vect ) { ++wdt_count; WDTCR |= _BV(WDIE); } void setup() { noInterrupts(); info.service = MCUSR; // причина перезагрузки MCUSR = 0; // без этого не работает после перезагрузки по watchdog wdt_disable(); // а нужно ли тут, если у меня код быстро дойдёт до инициализации watchdog? interrupts(); set_sleep_mode( SLEEP_MODE_PWR_DOWN ); // достаточно же 1 раз сделать? wakeup_period = WAKEUP_PERIOD_DEFAULT; ..... } void loop() { power_all_disable(); //NoInterrupts не нужно? т.к. в wdt_enable есть ассемблерная команда cli wdt_enable(WDTO_250MS); interrupts(); wdt_count = 0; while ((wdt_count < wakeup_period) && !button.pressed()) { counting(); WDTCR |= _BV(WDIE); //пока не понял, обязательно ли здесь или можно после wdt_enable раз в WDT_vect есть. без этого не работает. sleep_mode(); } power_all_enable(); // Далее: я не отключаю watchdog, для надежности. wdt_reset() вызывается в button.wait_release() где я могу долго ждать пока пользователь отпустит кнопку. ... //взаимоотношения с ESP } -
Смоделировать прошивку attiny85. Почему-то иногда зависает.
dontsov replied to dontsov's topic in Предлагаю работу
@slanted последняя версия пока не зависала. но и предыдущая на столе 3 месяца назад не висла.. https://github.com/dontsovcmc/waterius/commit/612b8c626a5d018d566dfa210f00ac661e73affe#diff-9f275c81ac6d42b2d0a1caa9dee157db9fa36a1193217286fb083b66fb933914 -
Смоделировать прошивку attiny85. Почему-то иногда зависает.
dontsov replied to dontsov's topic in Предлагаю работу
Мы там как то лихо потискали регистры прерываний , поэтому думаю дело в софте. -
Смоделировать прошивку attiny85. Почему-то иногда зависает.
dontsov replied to dontsov's topic in Предлагаю работу
@Vasily_ спасибо! я ищу специалиста, который найдёт зависания. @slanted :( , значит нужно перетрассировать схему ещё. а помехи могут привести к зависанию? -
Смоделировать прошивку attiny85. Почему-то иногда зависает.
dontsov replied to dontsov's topic in Предлагаю работу
@Vasily_ вы меня пугаете :) да, питание теперь шире. Фото не обновил на сайте(. @mcuprog хм разве? В разработке ПО всегда быстрее найти ошибку и исправить, чем переписывать с нуля и нанести новых ошибок. Разве с embedded не так же? @slanted ага. Только замыкать счетчики надо асинхронно с опросом по i2c. Для пущей реалистичности. Хотя если у меня на вторые сутки зависал код лёжа на столе… -
Смоделировать прошивку attiny85. Почему-то иногда зависает.
dontsov replied to dontsov's topic in Предлагаю работу
Мне нужна надежная прошивка, а моделированием или стендом это будет достигаться не важно :). Железо вышлю.