В Web нет ничего время-зависимого. Он работает по событиям и все процедуры не сверх длинные по времени исполнения.Да в том то и дело, что я не хочу запрещать прерывания. Но если я их не запрещаю - то прошивка зависает гораздо раньше - через 3 сек.
Из-за чего зависает при разрешенных прерываниях? Web часть?
Не нужна для данного проекта. Тут не требуется многозадачность или исполнение каких-то процедур wifi во работы кода Web. Он весь работает по событиям...У вас еще есть ets_run_new(), но она отключена по какой-то причине?
Откуда тогда запускать тяжелый код, через system_os_task можно?Не нужна для данного проекта. Тут не требуется многозадачность
Нет - ни через что нельзя. Только если сделать по типу RTOS - переключать задачи по таймеру вместе со стеком и вешать семафоры/светофоры...@pvvx, прерывания я запрещал для проверки. В последний раз функциями ets_intr_lock()/ets_intr_unlock().
Мне и не нужно их запрещать, но без запрещения не работает. Откуда мне процесс на несколько секунд запустить?
Откуда тогда запускать тяжелый код, через system_os_task можно?
Это в ROM-BIOS и её режим сна не используется в SDK. Не тот кварц и не тот режим sleep у ROM-BIOS - там просыпание по изменению на ножке GPIO2 и без полного отключения питания в проце...Вот, только здесь используется.
esp8266web/rtc_dtm.c at 5f1f2e335f5d81f5c1587323398ad0fe724598e9 · pvvx/esp8266web · GitHub
Вы бесспорно правы для TCP->UART но решаю частную задачу - получаю из TCP фреймы и их обрабатываю.Более одного соединения у TCP2UART невозможно. Буфера UART привязаны к первому соединению.
Здесь: esp8266web/wifi.h at master · pvvx/esp8266web · GitHubНе могу понять почему после нескольких перезагрузок несколько модулей сваливаются в esp8266web/wifi.c at master · pvvx/esp8266web · GitHub с ошибкой 0x00010040 где ее рыть?
Для понижения потребления на пару мА пока активен и не вошел в sleep. А что ему там делать на 160 MHz, если Wifi отключен?Зачем если указан NONE режим сна между попытками подключения к точке доступа снижать частоту процессора esp8266web/wifi.c at master · pvvx/esp8266web · GitHub ?
А зачем считать, если после прошивки адрес показан на странице "WebFS Upload" или запрашивается переменной ~wfs_addr~.Upd Скачал 0.5.9., посчитал смещение 0х4000 - работает.
Web серверу нечего и это отлично расписано несколькими постами выше. Да юсеры они такие casual.А что ему там делать на 160 MHz
У меня в этом случае система создает точку типа ESP_XXXXXИ это не всегда ошибки. Это ответ китайской части на процедуру установки указанных параметров.
Ключевое слово - "после прошивки"А зачем считать, если после прошивки адрес показан на странице "WebFS Upload" или запрашивается переменной ~wfs_addr~.
А при трансляции адрес вычисляется автоматически, куда залить web-диск - в makefile... Тут тема то исходники, а не про готовые прошивкиКлючевое слово - "после прошивки"
Мне-то надо этот адрес для того, чтобы как раз webfiles.bin залить сразу с заливкой прошивки.
Но снижение частоты на 80 Mhz сама SDK делает иногда. Это не влияет на ets_delay_us() и прочее. А вот sleep - влияет, т.к. прерывает всё.Web серверу нечего и это отлично расписано несколькими постами выше. Да юсеры они такие casual.
То им импульс 0,4 и 0,8 us сделать надо, то SPI в режиме 3 подавай. И нет чтоб сначала спросить if (ets_get_cpu_frequency()==160) типа воду в бассейн налили? а то прыгать будем. А пока мы прыгаем воду не спустят? Надеются юсеры что если сказали -не спать система действительно не дремлет.
Ну это не правильный алгоритм, а не те флаги ошибок установок. Об этом они и сообщают.У меня в этом случае система создает точку типа ESP_XXXXX
пока лечится только прибиванием настроек в init.ini
static uint32_t _getCycleCount(void) __attribute__((always_inline));
static inline uint32_t _getCycleCount(void) {
uint32_t ccount;
__asm__ __volatile__("rsr %0,ccount":"=a" (ccount));
return ccount;
}
Ваши рекомендации с какой стороны рыть, т к ситуация возникает не сразу, а через несколько включений-выключений и я ее не могу пока локализовать, Тесты говорят, что это не аппаратная проблема стенда. Хотя после связи 811.b и мощности излучения 82 в любые чудеса ESP поверить можно.Ну это не правильный алгоритм