Неа. Туго с TCP2UART идет. Там не годится имеющийся tcp_srv_... Он тоже счас разломан и в нерабочем варианте у меня...pvvx, а у вас случайно новый срез этой прошивки не созрел?
хочу поковыряться и написать своё, но жду когда у вас закончится работа по вырезанию всего лишнего
Уже впихнулось в v 0.3.1 Правда тестировано не окончательно.по моему скромному опыту, впихивание невпихуемого обычно терпит неудачу.
Основной таймер Lwip-у (ets_timer_setfn(&check_timeouts_timer, (ETSTimerFunc *) sys_check_timeouts, NULL) киатёзы устанавливают на такие задержки, в зависимости от типа sleep:Похоже проблема только в режиме
Sleep Mode: LIGHT
в режиме MODEM работает стабильно
if (wset.b.sleep) {
if(!(wifi_set_sleep_type(wcfg->b.sleep))) werr.b.sleep = 1;
#if SDK_VERSION <= 1019
else if(wcfg->b.sleep == 1) {
ets_timer_disarm(&check_timeouts_timer);
ets_timer_arm_new(&check_timeouts_timer, 100, 1, 1);
}
#elif SDK_VERSION > 1019
#error "LIGHT mode?"
#endif
}
Есть баг с отображением пароля в настройках при наличии в нем апострофа. Баг-трекер имеется?
GPIO_OUTPUT_SET(1, 1)
GPIO_DIS_OUTPUT(1)
GPIO_INPUT_GET(1)
PIN_PULLUP_EN(1)
PIN_FUNC_SELECT(1, 1)
А как будет работать PIN_FUNC_SELECT(1, 1), если для порта 1 надо ставить адрес регистра MUX, а не номер порта? Номер регистра MUX и функция вычисляется только таблично, т.к. их номера и порядок линейно не связан с номерами GPIOn.Простите за то, что вмешиваюсь в ваши высокоинтеллектуальные беседы
А что надо добавить в [HASHTAG]#include[/HASHTAG] чтобы работали вот эти штуки? всё тот же gpio.h из sdk? или как-то по другом это делать?
Перепаять. Интерфейс записи по SPI гарантированно работает с flash в 16 мегабайт. Больше пока не пробовал, но и физическое ограничение у QSPI автоматической работы с flash в подаче адреса в 24 бита.Где можно купить модуль с такой флешкой? Запись в адреса выше 0х80000 без проблем?
на Aliexpress есть, но нужно уточнять у продавца размер флеш, т.к. они часто путают 4Mbit и 4Mbyte.Где можно купить модуль с такой флешкой?
//=============================================================================
// Стандартный вывод putc (UART0)
//-----------------------------------------------------------------------------
void uart0_write_char(char c)
{
// while(READ_PERI_REG(UART_STATUS(0)) & (UART_TXFIFO_CNT<<UART_TXFIFO_CNT_S)); // debug !!!
if (c != '\r') {
do {
MEMW();
if(((UART1_STATUS >> UART_TXFIFO_CNT_S) & UART_TXFIFO_CNT) <= 125) break;
} while(1);
if (c != '\n') UART0_FIFO = c;
else {
UART0_FIFO = '\r';
UART0_FIFO = '\n';
}
}
}
Я на прошивке @pvvx подключал два USB-TTL. Нулевой, как обычно, а первый, отладочный только GPIO2 = TX1 (еще и GND конечно). Мне показалось это очень удобным. Не приходится отключать отладочный терминал на время прошивки. Сейчас удивляюсь, почему все так не делаютUART1_STATUS - это опечатка, речь же идет об UART0, или так надо?