Alexander
Member
Не Вы одинмне пока это очень сложно. Ощущаю себя телепузиком
Я вот сижу и пытаюсь сообразить, как завести таймер. Спрашивать стыдно...
Не Вы одинмне пока это очень сложно. Ощущаю себя телепузиком
Ничего - захотите - разберетесь, заодно может что новое сделаете в сторону Open SDK. К примеру разгребете часть китай-либы smartconfig-а...мне пока это очень сложно. Ощущаю себя телепузиком
Как описано в SDK.Я вот сижу и пытаюсь сообразить, как завести таймер.
os_timer_t test_timer;
void test_timer_isr(void)
{
// обработка таймера
...
// если параметры таймера хотим переназначить, то к примеру так:
ets_timer_disarm(&test_timer);
ets_timer_arm_new(&test_timer, 20000, 0, 0);
}
// где-то в процедуре инициализации или ...
ets_timer_disarm(&test_timer);
ets_timer_setfn(&test_timer, (os_timer_func_t *)test_timer_isr, NULL);
ets_timer_arm_new(&test_timer, 10000, 1, 0); // 10 раз в сек (10000 us), =1 повторять = 0 сработать один раз, =0 us время =1 ms время.
рад влиться в создание общего дела, правда. Разгребать - имеется ввиду дизассемблировать библиотеку и писать эти куски на СИ? Где бы почитать, как это делается.. А потом ведь еще надо как-то синхронизировать - сейчас я у себя что-то правлю, чтобы заработало, но это ведь не годится для каких-то публикаций.Ничего - захотите - разберетесь, заодно может что новое сделаете в сторону Open SDK. К примеру разгребете часть китай-либы smartconfig-а...
а это само собой. СИ переписать проще, да главное и не назначенные имена, а принцип. Синхронизацию делают когда всё SDK будет разобрано. Но пока я в этом один и забросил дальнейший разбор. Зачем он нужен, если я это делаю один? Мне разобранного пока хватает. Т.е. разбираю по мере своей нужды.рад влиться в создание общего дела, правда. Разгребать - имеется ввиду дизассемблировать библиотеку и писать эти куски на СИ? Где бы почитать, как это делается.. А потом ведь еще надо как-то синхронизировать -
Там частично описано: http://esp8266.ru/forum/threads/rev...s-dlja-sozdanija-otkrytogo-sdk.292/#post-5230научите как, будем вдвоем разгребать не вставая сижу и пытаюсь что-то понять с прошлого года. Какой-то прогресс уже есть - в прошлом году даже не знал с чего начать.
Втречал в примерах, но не нашел в Programming-Guide__EN_v1.3:Как описано в SDK.
Спасибо. Можно совет?Вам надо создать структуру для таймера, назначить процедуру и время срабатывания.
Там они описаны как os_timer_xxxx() и в osapi.h, os_type.h переназначены на est_timer_xxx()Втречал в примерах, но не нашел в Programming-Guide__EN_v1.3:
ets_timer... и даже os_timer_arm_new не нашел Не там ищу? На версию 1.4.1 не нашел гайда, может там описано?
#define DELAY2 50 /* milleseconds */
.
.
LOCAL os_timer_t blink_timer;
LOCAL void ICACHE_FLASH_ATTR blink_cb(void *arg)
{
os_printf("blink YES!! \n ");
}
.
.
/******************************************************************************
* FunctionName : user_init
* Description : entry of user application, init user function here
* Parameters : none
* Returns : none
*******************************************************************************/
void ICACHE_FLASH_ATTR user_init(void) {
.
.
os_timer_disarm(&blink_timer);
os_timer_setfn(&blink_timer, (os_timer_func_t *)blink_cb, (void *)0);
os_timer_arm(&blink_timer, DELAY2, 1);
.
}
Для SP по умолчанию включен DHCP, поэтому берется у него, для AP 192.168.1.4Где задается дефолтный IP?
Какой?Где задается дефолтный IP?
Но вот задание IP в meSDK:
https://github.com/pvvx/esp8266web/blob/master/app/sdklib/system/app_main.c#L482
Это не найти было бы совсем уж странно
Все, пошел убиваться ап стену
Очевидно же, что я имел в виду IP AP и пул DHCP.Ну и во первых при чем тут ваши похождения с своей сетью?
Модуль соединяется к внешней AP и она ему выдает IP через DHCP.
Я не использую Eclipse, шью все разом с ESP_ROM_BAUD = 923076. 1.16с с момента щелчка мышью и модуль стартует. Дырку, надеюсь, протереть не успею.Во вторых, при прошивке нового кода старые установки не стираются. Их специально надо стирать выбором в меню Eclipse пункта "очистить" или "залить всё".
Мне пока не удалось протереть за год ESP-01 модуль, самый старый из тестируемых. Но при отладке и тестах он иногда переписывается полностью к сотне раз в сутки точно... Больше всего безусловно переписывается область конфигурации WiFi в последних секторах - при каждом старте по 2 раза - это китай фичаДырку, надеюсь, протереть не успею.
Без разницы. Размер сектора 4096 байт. Данные пишет до 4096 байт - это len.Интересно кто-нибудь им про эту баго-фичу писал?
Какое описание верное?
//void wifi_param_save_protect_with_check(uint16 startsector, int sectorsize, void *pdata, uint16 len);
void wifi_param_save_protect_with_check(int startsector, int sectorsize, void *pdata, int len);
в info\libs\main\user_interface.c:
void wifi_param_save_protect_with_check(uint16 startsector, int sectorsize, void *pdata, uint16 len)
{
Существует масса проблем с переключениями в сети и смене настроек. Что у роутеров, что у компа и експлореров. Пока конфигурация сети не обновится бывает ничего не сделать. Иногда приходится и перезапускать всю цепочку контроллеров в цепи... У эксплореров необходимо обновлять их кеш и текущие настройки соединения, что не делается только по F5 - читайте доки к используемому эксплореру... При смене номера канала и типа шифрования свистки Wifi-USB в винде не меняют запись соединения. Приходится (т.е. проще, чтобы не мучаться) уничтожать ранее записанные конфигурации подключений в винде....Я тут вот с чем столкнулся. При изменении настроек WiFi модуль иногда отваливается. Точнее, не модуль отваливается, а http сервер. Например, при смене канала AP через web интерфейс. При этом сам канал не меняется до ресета, можно и программного. Ресет сделать не сложно, но беда в том, что несколько раз наблюдал картину: Меняю канал, жму "Set config", отваливаюсь от модуля. Реконнект к модулю происходит, пинги ходят, а браузер говорит, что страница не доступна. Кто-то еще сталкивался или это у меня персональная проблема? Все бы ничего, но при расположении в плоходоступном месте с невозможностью передернуть питание без неприятных эффектов настройки, выходит, лучше не трогать.