Хочу напомнить о своей беде.
Повторюсь:
Беда с КК - как только пытаюсь с ним скомпилить, нарушается работа ряда других функций: например, не выводится на вебморду список станций (интернет радио), в логах срабатывает WatchDog:
Task watchdog got triggered. The following tasks did not reset the watchdog in time:
- IDLE (CPU 0)
Tasks currently running:
CPU 0: loop_des
CPU 1: ipc1
Вот мой код в КК:
void
startfunc(){
// выполняется один раз при старте модуля.
printf("Hello, kitty!\n");
}
void
timerfunc(uint32_t timersrc) {
// место для вставки кода, который будет выполнятся каждую 1 секунду.
if(timersrc%30==0){
// место для вставки кода, который будет выполнятся каждые 30 секунд.
}
}
void webfunc(char *pbuf) {
os_sprintf(HTTPBUFF,"Hello world"); // вывод данных на главной модуля
}
виснет именно startfunc (нету в логах моего "Hello, kitty". код в startfunc можно убрать - поведение принципиально не меняется )
Замечено вот что: если ткнуть на вебморде, к примеру, в debug или FWupdate, то код в startfunc тут же отрабатывает (вижу в логе), на вебморде после этого появляется список станций и перестает срабатывать WDT
от версии SDK не зависит.
Пробовал затирать по проводу обе партиции (110000 и 280000) - не помогло.
Опции сборки:
MQTT клиент, Время и NTP, I2C сканер, GPIO, Конструктор кода, Настройки по умолчанию, Интернет радио.
ПС. i2c сканер тоже стал неровно работать (настройки gpio по умолчанию), находит лишние адреса (каждый раз разные), в логе каждый раз при тыканьи- [1B][0;31mE (88249) i2c: i2c driver install error[1B][0m. Реальный адрес, правда, тоже видит. Но все это только после принудительного запуска startfunc (см. выше), после сброса не видит ничего, точнее все адреса подряд