• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Результаты поиска

  1. M

    Определение факта пропадания соединения с роутером и переключение в режим АР

    Да я понял, а можно увидеть весь код? или коммерческая тайна?
  2. M

    Определение факта пропадания соединения с роутером и переключение в режим АР

    А вот есть еще объект wifi (маленькие буквы, в отличие от WiFi) и его свойства countDS working и другие. Где этот объект создается? В Вашем примере не увидел. ЗЫ: 'wifi' was not declared in this scope
  3. M

    Определение факта пропадания соединения с роутером и переключение в режим АР

    То есть Вы вызов этой функции завязали на таймер или millis()? А как много времени забирает вызов wifi_connect ? Также если не сложно, подскажите. Начал разбираться с событиями WiFi в новой нотации, с WiFiEventHandler. Там тоже есть обработчик WiFiEventHandler onSoftAPModeProbeRequestReceived...
  4. M

    Определение факта пропадания соединения с роутером и переключение в режим АР

    Вот нашел пример Получается необходимо объявить переменные типа WiFiEventHandler и определить обработчики, результат которых помещается в эти переменные. И далее все уже делает API ESP? Но непонятно, как вернуться к старому подключению, при его восстановлении. Я так понимаю необходимо...
  5. M

    Определение факта пропадания соединения с роутером и переключение в режим АР

    Где-то попадался код, в котором проверялось наличие точки доступа с определенным именем, и если она находилась, происходило подключение. В обработчике событий WiFi такое можно сделать?
  6. M

    Определение факта пропадания соединения с роутером и переключение в режим АР

    Спасибо за ответ. А хотел уточнить пару моментов. В основном цикле Вы вызываете функцию wifi_connect(wifi.working); Ее нужно вызывать с какой-то периодичностью, или просто в loop() ? Что делает функция WiFiEvent? просто в параметр wifi.working помещает событие WiFi? Когда ее нужно вызывать? И...
  7. M

    Определение факта пропадания соединения с роутером и переключение в режим АР

    ЗЫ: я так понял это используется класс Generic
  8. M

    Определение факта пропадания соединения с роутером и переключение в режим АР

    Добрый вечер! Не могу понять, как работает MyWiFi.onEvent(WiFiEvent); // Подключим обработчик событий WIFI Метод onEvent(event) в классе WIFICONNECT я не нашел. И если не трудно, как добавить обработчик событий, который при отключении роутера создавал точку доступа SoftAP, и периодически чекал...
  9. M

    ESP8266 и аппаратный таймер hw_timer

    pvvx, доброго утра! То есть, если я правильно понял, на спаде и фронте импульсов с детектора перехода через 0 присутствуют флуктуации напряжения на уровне перехода с низкого в высокое состояние, которые ESP определяет как срабатывание прерывания? Правда я так понимаю, в обработчике прерывания...
  10. M

    ESP8266 и аппаратный таймер hw_timer

    Что никто ничего не может подсказать, в чем может быть прикол, что сработка идет по двум фронтам, вместо одного
  11. M

    ESP8266 и аппаратный таймер hw_timer

    Добрый день, уважаемые форумчане! Кто-то может подсказать, в чем может быть прикол. Вот код, сделанный pvvx, выше в теме. Я его немного изменил, добавил OTA, так как неудобно постоянно плату передергивать, для перепрошивки. #include "ets_sys.h" #include "gpio.h" #include "OTA.h" #define...
  12. M

    ESP8266 и аппаратный таймер hw_timer

    Сделал по этому алгоритму реализацию диммера 1 канал, но думаю добавить будет несложно. Еще правда не проверял, как будет работать диммер, вечером если успею зашить в ESP, отпишусь #include "ets_sys.h" #include "gpio.h" #define INTC_EDGE_EN (*(volatile uint32_t *)0x3FF00004) #define TIMER_LOAD...
  13. M

    ESP8266 и аппаратный таймер hw_timer

    pvvx, доброй день! Хотел с Вами посоветоваться. Использую для отслеживания перехода через 0 спад волны полупериода сетевого напряжения. gpio_pin_intr_state_set(ZCD_IN, GPIO_PIN_INTR_NEGEDGE); Далее в обработчике прерывания выключаю выход на симистор. И на осциллографе вижу, что до самого...
  14. M

    ESP8266 и аппаратный таймер hw_timer

    INTC_EDGE_EN (0x3FF00004) Controls which peripheral interrupts are actually passed through to the CPU by the interrupt controller. Управляет тем, какие периферийные прерывания фактически передаются в ЦП контроллером прерываний. Не могу понять, что подразумевается. Этот регистр выбирает, какие...
  15. M

    ESP8266 и аппаратный таймер hw_timer

    pvvx, а еще вопрос, а есть ли в ESP такие же возможности по настройке таймера как в AVR - регистры OCR1A и OCR1B, регистр TCNT1, прерывание по переполнению или по совпадению. или есть только Timer0, который считает от TIMER_LOAD и до 0. И прерывание, которое срабатывает при 0.
  16. M

    ESP8266 и аппаратный таймер hw_timer

    pvvx, добрый вечер! Хотел задать Вам еще пару вопросов. Надеюсь еще не сильно Вас достал. Вопрос 1: В обработчике внешнего прерывания по входу void ICACHE_RAM_ATTR GPIOs_intr_handler(void *arg) { (void)arg; uint32_t tmp = GPIO_STATUS; GPIO_STATUS_W1TC = tmp; if (tmp & BIT(GPIO_IN)) {...
  17. M

    ESP8266 и аппаратный таймер hw_timer

    Добавлял атрибут ICACHE_RAM_ATTR всем функциям в библиотеке hw_timer /****************************************************************************** Copyright 2013-2014 Espressif Systems (Wuxi) FileName: hw_timer.c Description: hw_timer driver Modification history: 2014/5/1...
  18. M

    ESP8266 и аппаратный таймер hw_timer

    pvvx, доброй ночи! Не могу понять, в чем прикол. Если для остановки таймера использую выражение TIMER_CTRL = 0; // stop timer Все нормально. Если же использую функцию void hw_timer_disarm(void) { RTC_REG_WRITE(FRC1_CTRL_ADDRESS, 0); } Эта функция может вызываться и в прерывании. То тогда ESP...
  19. M

    ESP8266 и аппаратный таймер hw_timer

    pvvx, добрый день! А не подскажите еще момент. При объявлении обработчиков прерываний, Вы указываете параметром void *arg void ICACHE_RAM_ATTR GPIOs_intr_handler(void *arg) { (void)arg; uint32_t tmp = GPIO_STATUS; GPIO_STATUS_W1TC = tmp; if (tmp & BIT(GPIO_IN)) { TIMER_LOAD =...
  20. M

    ESP8266 и аппаратный таймер hw_timer

    Добрый день! Вы знаете, PlatformIO понравился, но допустим, я создаю новый проект. Выбираю плату - ESP8266 generic . Но на этой плате перепаяна микросхема памяти с 512 кБ, на 4 МБ. А в списке доступны только 512 кБ и 1 МБ. Не подскажите, как его добавить в PlatformIO? При создании проекта...
Сверху Снизу