ESP, IoT WiFi лампа-будильник. Обсуждение прошивки от GUNNER47

ЗДЕСЬ ОБСУЖДАЕМ ТОЛЬКО ДАННУЮ ПРОШИВКУ
ВСЕ ЧТО НЕ ПО СИЯ ТЕМЕ И ПРОШИВКЕ, ВСЕ СНОСИТСЯ НА@@@!

Очень просим не делать репост "ЦИТИРОВАНИЕ" сообщений! Делать только в КРАЙНЕЙ необходимости, удаляя лишний текст (у нас не ЧАТ)!
Иначе опять будет 160 страниц и 0 пользы ....

Для ответа КОНКРЕТНОМУ пользователю, достаточно нажать " ОТВЕТ"

При описании проблемы обязательно, как можно подробнее, описывайте ход своих действий до ее возникновения. Телепатов (как я думаю) среди участников нет. Потом 20 постов будет только для того, чтобы Вас понять.
Если Вы считаете ваше сообщение важным и его нужно поднять в шапку, пишите мне в личку с пометкой "Сообщение в шапку"


ПО ВОПРОСАМ РАБОТЫ ПРИЛОЖЕНИЯ ОТ KOTEYKA ИДЕМ В ЭТУ ТЕМУ

Голосовое управление лампой Гайвера, через Яндекс Алису (прошивка Gunner47).

Яндекс диск Файл ПДФ. Актуально на 27.01.2020г
наш сервер НЕ ОБНОВЛЯЕТСЯ, от 27.01.2020г
Прошивка gunner47 v.2 "86 эффектов в 1" или уже больше - разработку ведет @Сотнег
Прошивка gunner47 v.2.X_web : веб-интерфейс (без необходимости перепрошивки) - разработку ведет @alvikskor
Прошивка от Shaitan с поддержкой mp3 и пульта (тут не обсуждается. Обсуждается в теме прошивки)
Прошивка FireLamp with Remote Control - разработку ведет @SlingMaster

Для тех у кого умный дом Home Assistant есть отличный компонент

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 
Изменено:

Комментарии

mechanic

★★★★✩✩✩
Команда форума
31 Июл 2018
403
206
ЗДЕСЬ ОБСУЖДАЕМ ТОЛЬКО ДАННУЮ ПРОШИВКУ
ВСЕ ЧТО НЕ ПО СИЯ ТЕМЕ И ПРОШИВКЕ, ВСЕ СНОСИТСЯ НА@@@!

Очень просим не делать репост "ЦИТИРОВАНИЕ" сообщений! Делать только в КРАЙНЕЙ необходимости, удаляя лишний текст (у нас не ЧАТ)!
Иначе опять будет 160 страниц и 0 пользы ....

Для ответа КОНКРЕТНОМУ пользователю, достаточно нажать " ОТВЕТ"

При описании проблемы обязательно, как можно подробнее, описывайте ход своих действий до ее возникновения. Телепатов (как я думаю) среди участников нет. Потом 20 постов будет только для того, чтобы Вас понять.
Если Вы считаете ваше сообщение важным и его нужно поднять в шапку, пишите мне в личку с пометкой "Сообщение в шапку"


ПО ВОПРОСАМ РАБОТЫ ПРИЛОЖЕНИЯ ОТ KOTEYKA ИДЕМ В ЭТУ ТЕМУ

Голосовое управление лампой Гайвера, через Яндекс Алису (прошивка Gunner47).

Яндекс диск Файл ПДФ. Актуально на 27.01.2020г
наш сервер НЕ ОБНОВЛЯЕТСЯ, от 27.01.2020г
Прошивка gunner47 v.2 "86 эффектов в 1" или уже больше - разработку ведет @Сотнег
Прошивка gunner47 v.2.X_web : веб-интерфейс (без необходимости перепрошивки) - разработку ведет @alvikskor
Прошивка от Shaitan с поддержкой mp3 и пульта (тут не обсуждается. Обсуждается в теме прошивки)
Прошивка FireLamp with Remote Control - разработку ведет @SlingMaster

Для тех у кого умный дом Home Assistant есть отличный компонент

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 
Изменено:

Belokota

★✩✩✩✩✩✩
24 Дек 2019
101
32

@Сотнег,
понятно, но у меня почему то не получается его настроить, что бы пропала "дёрганность" анимации. И, если можно, код нового, хотелось бы попробовать.
 

Сотнег

★★★★★★★
15 Янв 2020
4,339
1,492
@Belokota, в моей прошивке?!
Если в сборку от @Koteyka 🐱 вставляете, то нужно его повыше ставить
и сдвигать условия в effectsTricker.h.
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Сотнег, Синусоид нужно инвертировать, есть опция. Там заместо белого круга будет темное пятно - гораздо интереснее смотрится.
 
  • Лойс +1
Реакции: Belokota

Сотнег

★★★★★★★
15 Янв 2020
4,339
1,492
И, если можно, код нового, хотелось бы попробовать.
C-like:
// ***** SINUSOID3 / СИНУСОИД3 *****
// v1.0 - Updating for GuverLamp v1 by PalPalych 12.03.2020
// v1.1 - trig16 logic by kDn
// v1.2 - Full integer logic, + inverse rings, + dithering by PalPalych 12.04.2020
/*  Sinusoid3 by Stefan Petrick (mod by Palpalych for GyverLamp 27/02/2020)
    read more about the concept: https://www.youtube.com/watch?v=mubH-w_gwdA */

#define e_s3_BEATSINLOGIC (false) // логика beatsin8 = true / логика реального времени = false
#define e_s3_INVERSE (true)       // инвертирование колец
#define e_s3_DITHER (0U)       // разрешить дисперсию (0 - отключить; 2... - каждый n-кадр будет прорисовываться заново) Влияет на скорость!
static const int8_t CENTERX = WIDTH / 2U + WIDTH % 2U;   // середина по ширине (минорное значение)
static const int8_t CENTERY = HEIGHT / 2U + HEIGHT % 2U; // середина по высоте (минорное значение)
static const uint8_t HEIGHT_steps = 256U / HEIGHT; // диапазон значений приходящихся на 1 пиксель высоты матрицы
static const uint8_t WIDTH_steps = 256U / WIDTH; // диапазон значений приходящихся на 1 пиксель ширины матрицы
const uint8_t _s3_xz = CENTERX * WIDTH_steps;
const uint8_t _s3_yz = CENTERY * HEIGHT_steps;
static uint16_t eff_framecounter = 0;

// ---- LEDraw functions ----
uint8_t rangesin8(uint8_t theta, uint8_t scale = 255)
{
  return scale8(sin8(theta), scale) + ((255 - scale) >> 1U);
}
uint8_t rangecos8(uint8_t theta, uint8_t scale = 255)
{
  return scale8(cos8(theta), scale) + ((255 - scale) >> 1U);
}

//static int16_t maxxx;
//static int16_t minxx;

void Sinusoid3Routine() {
  eff_framecounter++;
 
#if (e_s3_DITHER)
  if (eff_framecounter % e_s3_DITHER)
    return;
#endif

  const uint8_t _s3_scale = map8(modes[currentMode].Scale, HEIGHT_steps, HEIGHT_steps << 2U); // speed of the movement along the Lissajous curves
#if e_s3_BEATSINLOGIC
  const uint8_t _s3_size = modes[currentMode].Speed >> 1U; // amplitude of the curves
#endif
  FastLED.clear();
  for (int16_t y = 0; y < HEIGHT; y++)
  {
    for (int16_t x = 0; x < WIDTH; x++)
    {
      CRGB color;
#if e_s3_BEATSINLOGIC
      int16_t cx = beatsin8(4, _s3_size, ~_s3_size) - y * _s3_scale + _s3_yz;         // (beatsin version)
      int16_t cy = beatsin8(7, _s3_size, ~_s3_size, 0, 64U) - x * _s3_scale + _s3_xz; // (beatsin version)
#else
      uint32_t _s3_time = millis();                                          // (rt version)
      int16_t cx = rangesin8(_s3_time / 23, modes[currentMode].Speed) + _s3_yz - y * _s3_scale; // (rt version)
      int16_t cy = rangecos8(_s3_time / 29, modes[currentMode].Speed) + _s3_xz - x * _s3_scale; // (rt version)
#endif

#if e_s3_INVERSE
color.r = ~sin8(sqrt16((cx * cx) + (cy * cy)));
#else
      color.r = sin8(sqrt16((cx * cx) + (cy * cy)));
#endif
      color.r = dim8_video(color.r);

#if e_s3_BEATSINLOGIC
      cx = beatsin8(5, _s3_size, ~_s3_size) - y * _s3_scale + _s3_yz;         // (beatsin version)
      cy = beatsin8(8, _s3_size, ~_s3_size, 0, 64U) - x * _s3_scale + _s3_xz; // (beatsin version)
#else
      cx = rangesin8(_s3_time / 27, modes[currentMode].Speed) + _s3_yz - y * _s3_scale; // (rt version)
      cy = rangecos8(_s3_time / 31, modes[currentMode].Speed) + _s3_xz - x * _s3_scale; // (rt version)
#endif
#if e_s3_INVERSE
      color.g = ~sin8(sqrt16((cx * cx) + (cy * cy)));
#else
      color.g = sin8(sqrt16((cx * cx) + (cy * cy)));
#endif
      color.g = dim8_video(color.g);
#if e_s3_BEATSINLOGIC
      cx = beatsin8(9, _s3_size, ~_s3_size) - y * _s3_scale + _s3_yz;          // (beatsin version)
      cy = beatsin8(11, _s3_size, ~_s3_size, 0, 64U) - x * _s3_scale + _s3_xz; // (beatsin version)
#else
      cx = rangesin8(_s3_time / 19, modes[currentMode].Speed) + _s3_yz - y * _s3_scale; // (rt version)
      cy = rangecos8(_s3_time / 15, modes[currentMode].Speed) + _s3_xz - x * _s3_scale; // (rt version)
#endif
#if e_s3_INVERSE
      color.b = ~sin8(sqrt16((cx * cx) + (cy * cy)));
#else
      color.b = sin8(sqrt16((cx * cx) + (cy * cy)));
#endif
      color.b = dim8_video(color.b);
      drawPixelXY(x, y, color);

      // maxxx = max(maxxx, cx);
      //minxx = min(minxx, cx);
      // EVERY_N_SECONDS(1)
      /* {
        LOG.printf_P("%u %u %u\n", minxx, maxxx, Scale);
      }*/
    }
  }
}

Синусоид нужно инвертировать, есть опция. Там заместо белого круга будет темное пятно - гораздо интереснее смотрится.
Вроде, включено инвертирование...
 
  • Лойс +1
Реакции: Belokota и Palpalych

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Belokota, оставил старый. Он ярче.
Новый совсем размытый.
Поправил.
Установил привязку к 0 для вычисления тригонометрии - до этого был второй период исчисления (сложно было реализовать в беззнаковой восьмибитной)
Касательно размытости - в оригинальной используется значение по типу 2*sinf() я же ограничен 8битной логикой - переводить в 16битную тоже не имело смысла, так как это также влияло на скорость обсчета. Вышел из положения применив Fastledовский быстрый аналог квадратного корня, или функцию которая применяется для грубого расчета гаммы. (это, кстати, был основной момент почему не брался за переписывание синусоида :confused: , kDn спрашивал...)

теперь FPS: 73 (на дизиренге с таймером реального времени)

+ сделал инверсию колец от регулятора масштаба

C++:
// ***** SINUSOID3 / СИНУСОИД3 *****
// v1.0 - Updating for GuverLamp v1 by PalPalych 12.03.2020
// v1.1 - trig16 logic by kDn
// v1.2 - Full integer logic, + inverse rings, + dithering by PalPalych 12.04.2020
// v1.3 - math correction & inverse by Scale -- PalPalych 13.04.2020

/*  Sinusoid3 by Stefan Petrick (mod by Palpalych for GyverLamp 27/02/2020)
    read more about the concept: https://www.youtube.com/watch?v=mubH-w_gwdA */

#define e_s3_BEATSINLOGIC (false) // логика beatsin8 = true / логика реального времени = false
#define e_s3_DITHER (2U)          // разрешить дисперсию (0 - отключить; 2... - каждый n-кадр будет прорисовываться заново) Влияет на скорость!
const uint8_t _s3_xz = CENTERX * WIDTH_steps;
const uint8_t _s3_yz = CENTERY * HEIGHT_steps;

//static int16_t maxxx;
//static int16_t minxx;

bool sinusoid3Routine(uint8_t Scale = 32U, uint8_t Speed = 255U)
{
#if (e_s3_DITHER)
  if (eff_framecounter % e_s3_DITHER)
    return false;
#endif
  bool _s3_inverse = Scale < 128U;
  if (!_s3_inverse)
    Scale = ~Scale;
  Scale *= 2U;

  const uint8_t _s3_scale = map8(Scale, HEIGHT_steps, HEIGHT_steps << 2U); // speed of the movement along the Lissajous curves
  Speed = map8(Speed, 31U, 255U);
#if e_s3_BEATSINLOGIC
  const uint8_t _s3_size = Speed >> 1U; // amplitude of the curves
#endif
  fillScreen(CRGB::Black);
  for (int16_t y = 0; y < HEIGHT; y++)
  {
    for (int16_t x = 0; x < WIDTH; x++)
    {
      CRGB color = CRGB::Black;
      int16_t zx = HEIGHT_d * _s3_scale / 2U - y * _s3_scale - 128U; // (rt version)
      int16_t zy = WIDTH_d * _s3_scale / 2U - x * _s3_scale - 128U;  // (rt version)

#if e_s3_BEATSINLOGIC
      int16_t cx = zx + beatsin8(4, _s3_size, ~_s3_size);         // (beatsin version)
      int16_t cy = zy + beatsin8(7, _s3_size, ~_s3_size, 0, 64U); // (beatsin version)
#else
      uint32_t _s3_time = millis();                      // (rt version)
      int16_t cx = zx + rangesin8(_s3_time / 23, Speed); // (rt version)
      int16_t cy = zy + rangecos8(_s3_time / 29, Speed); // (rt version)
#endif

      if (_s3_inverse)
      {
        color.r = dim8_raw(~sin8(sqrt16((cx * cx) + (cy * cy))));
      }
      else
      {
        color.r = brighten8_raw(sin8(sqrt16((cx * cx) + (cy * cy))));
      }

#if e_s3_BEATSINLOGIC
      cx = zx + beatsin8(5, _s3_size, ~_s3_size);         // (beatsin version)
      cy = zy + beatsin8(8, _s3_size, ~_s3_size, 0, 64U); // (beatsin version)
#else
      cx = zx + rangesin8(_s3_time / 27, Speed);         // (rt version)
      cy = zy + rangecos8(_s3_time / 31, Speed);         // (rt version)
#endif
      if (_s3_inverse)
      {
        color.g = dim8_raw(~sin8(sqrt16((cx * cx) + (cy * cy))));
      }
      else
      {
        color.g = brighten8_raw(sin8(sqrt16((cx * cx) + (cy * cy))));
      }

#if e_s3_BEATSINLOGIC
      cx = zx + beatsin8(9, _s3_size, ~_s3_size);          // (beatsin version)
      cy = zy + beatsin8(11, _s3_size, ~_s3_size, 0, 64U); // (beatsin version)
#else
      cx = zx + rangesin8(_s3_time / 19, Speed);         // (rt version)
      cy = zy + rangecos8(_s3_time / 15, Speed);         // (rt version)
#endif
      if (_s3_inverse)
      {
        color.b = dim8_raw(~sin8(sqrt16((cx * cx) + (cy * cy))));
      }
      else
      {
        color.b = brighten8_raw(sin8(sqrt16((cx * cx) + (cy * cy))));
      }

      drawPixel_fast(x, y, color);

      // maxxx = max(maxxx, cx);
      //minxx = min(minxx, cx);
      // EVERY_N_SECONDS(1)
      /* {
        LOG.printf_P("%u %u %u\n", minxx, maxxx, Scale);
      }*/
    }
  }
  return true;
}
 
  • Лойс +1
Реакции: Belokota

Belokota

★✩✩✩✩✩✩
24 Дек 2019
101
32
@Palpalych, это значит что опять надо для Gunner47 и Сотнег прошивок адаптировать? Вероятно опять придётся ждать адаптации от ув. Сотнег.
 
Изменено:

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
Хотел выложить с более весомыми доработками, но, тут по мелочам накопилось :cool:
- плавная регулировка скорости во всем диапазоне классических эффектов
- введена возможность конфигурации пользовательских прошивок см. USE_CUSTOMIZATION в constants.h (скопируйте первый раз папку "\custom" из архива. В дальнейшем ее можно не обновлять. В ней будут храниться файлы конфигурации под Ваши проекты )
- библиотека LEDraw дополнена набором палитр
- эффект SPIRO и PRISMATA работают со множеством палитр с новой реализацией переключения
- эффект SINUSOID 3 на новом движке
- + эффекты: SWIRL (Вихрь), FLOCK (Стадо), PREDATOR (Хищник), RAIN (Дождь), WAVE (Волна), DRIFT (Дрифт), DRIFT (Дрифт 2)

 

Belokota

★✩✩✩✩✩✩
24 Дек 2019
101
32
@Сотнег, теперь вроде не подтормаживает и с тёмным пятном по моему действительно намного лучше смотрится. Спасибо! Ещё бы применить последнюю доработку от Палпалыча:oops:.
 

Pavelts

✩✩✩✩✩✩✩
4 Апр 2020
47
9
@Palpalych,

- плавная регулировка скорости во всем диапазоне классических эффектов
Что то случилось как минимум в 2 эффектах SPARKLES и FIRE, скорость там совсем маленькая и больше сделать нельзя

Еще мне кажется при выключении лампы эффект плавно гас, сейчас он сразу тухнет.


- введена возможность конфигурации пользовательских прошивок см. USE_CUSTOMIZATION в constants.h (скопируйте первый раз папку "\custom" из архива. В дальнейшем ее можно не обновлять. В ней будут храниться файлы конфигурации под Ваши проекты )
В архиве в главном каталоге забыл файл LedLamp2.h он там только путает.
Так же не сразу понял что делать,а в частности нужно сделать настройки под себя в файле LedLamp1.h или LedLamp2.h в папке \custom в зависимости от настройки в которой указывается альтернатива файла настройки, параметр USE_CUSTOMIZATION во вкладке constants.h


Установил c полной очисткой

Новые эффекты прикольные :)
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Pavelts,

Диапазон регулировки сместился, а соответственно, и начальные значения стали другими. нужно будет прописать соответствия в constants_effects.h
C++:
// описание эффекта
...
{EFF_SPARKLES, 0, 99, 1, 255, *[]() { return sparlkesRoutine(eff_scale); }, 0, 224, 25, 64},
...
   
// структура записи
typedef struct eff_t // Тип описания эффекта
{
  uint8_t id;           // идентификатор
  uint8_t speed_min;    // минимальная скорость -> // если speed_min = speed_max то передается диапазон 1...255 напрямую в эффект (без задержек),
  uint8_t speed_max;    // максимальная скорость   // при этом если speed_min = 0, то передается 0...255
  uint8_t scale_min;    // минимальный масштаб
  uint8_t scale_max;    // максимальный масштаб
  bool (*eff_func)();   // вызываемая функция эффекта
  uint8_t gauge_type;   // тип индикатора/регулятора
  uint8_t bright_def;   // яркость эффекта по умолчанию 0...255
  uint8_t speed_def;    // скорость эффекта по умолчанию
  uint8_t scale_def;    // масштаб эффекта по умолчанию
} eff_t;
LedLamp2 - это альтернативные настройки. У меня есть сделанная лампа и тестовая панель. У одной сенсорная кнопка - у другой механическая. Задолбался просто переписывать настройки под них. Проще закомментить строчку доп конфигурации или поменять имя доп конфигурационного файла.
 
  • Лойс +1
Реакции: Pavelts

Vados2020

★✩✩✩✩✩✩
30 Янв 2020
70
21
@Palpalych, "DRIFT" крутит что торнадо! Красота!!!:D. На многих новых эффектах не работают скорость и масштаб.
 
  • Лойс +1
Реакции: Palpalych

Сотнег

★★★★★★★
15 Янв 2020
4,339
1,492
@Palpalych,
В чём прикол для размытия в диапазоне от 5 до 10
вычислять синус от текущего значения встроенного в контроллер таймера?
blurScreen(beatsin8(3U, 5, 10));

И это тоже выглядит как шутка, но это не твой код:
dimScreen(beatsin8(2U, 224, 252));
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@Сотнег, у себя я добавил регулировку размытия и угасания. А для синусоида по масштабу также меняю кол-во колец, кроме амплитуды.
 

kostyamat

★★★★★★✩
29 Окт 2019
1,098
632
@kDn, вообще-то, в вашем варианте прошивки, не будучи подвязаны к приложению с тремя регуляторами, вы можете давать возможность регулировки и большего количества параметров эффектов. А не совмещать их между собой. Похоже, все таки ограничения прошивки-прародителя возымело свое действие?
 
  • Лойс +1
Реакции: Сотнег

EGORka

★✩✩✩✩✩✩
15 Мар 2020
87
37
Почему не использовать официальный пул ru.pool.ntp.org к примеру?
Потому что я в иностранном чуть выше плинтуса, полазил по сайту, так и не понял, что вбить в строки синхронизации.
было так:
#define NTP_ADDRESS ("ntp2.stratum2.ru") // сервер времени
#define NTP_INTERVAL (60UL) // интервал синхронизации времени (было 30 минут)
Стратум сказали что типа с моего айпишника часто обращения идут и заблокировали.
Какой адресс вписать в строчку #define NTP_ADDRESS ? чтоб проблем не было ?
 

EGORka

★✩✩✩✩✩✩
15 Мар 2020
87
37
@Palpalych, @Сотнег,
Ребята, чтой то я совсем запутался, чем у Вас прошивки на данный момент отличаются ?? Количеством эффектов ?
В шапке достаточно кратко:
Прошивка gunner47_v1.5 (сборка от @Сотнег)
Прошивка "53 эффекта в 1" или уже больше (на основе предыдущей)
Прошивка v1.7.11b (08.04.2020) - by PalPalych бета-версия (новый проект от @Palpalych)
 

Palpalych

★★★★★✩✩
24 Дек 2019
766
405
@Сотнег,
для красоты :ROFLMAO: (y) - так просто меняется плавно и псевдослучайно еще длина и ширина хвостов, взял из оригинального эффекта того парня. Вроде работает. Привязывать к регулятору Скорости - можно и не делать

@EGORka, да, отличаются... это 3 независимых форка одного проекта Gunner47, Есть версия от kDn, но это уже независимый проект.
 

kostyamat

★★★★★★✩
29 Окт 2019
1,098
632
@EGORka, в смысле "в иностранном"? Я ведь ссылку на русскоязычную страницу дал. 🙄
Вот это введите, к примеру ru.pool.ntp.org
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@kDn, вообще-то, в вашем варианте прошивки, не будучи подвязаны к приложению с тремя регуляторами, вы можете давать возможность регулировки и большего количества параметров эффектов. А не совмещать их между собой. Похоже, все таки ограничения прошивки-прародителя возымело свое действие?
Я заложил эту возможность в виде доп. строкового параметра, но пока не вижу особой необходимости его использования, возможно она возникнет в будущем :) .
 

EGORka

★✩✩✩✩✩✩
15 Мар 2020
87
37
Я ведь ссылку на русскоязычную страницу дал.
Спасибо. Так я в русско-техническом тоже не очень :) С ходу не разобрался, каким то образом проглядел ru.pool.ntp.org ...
Насколько я понял синхронизация проходит раз в час. поскольку #define NTP_INTERVAL (60UL) . Странно почему Стратум заблокировали, когда у них типа среднее значение параметра для блокировки - не более 1 запроса к серверу за 15-60 секунд.
 
  • Лойс +1
Реакции: Andorno

Silverzab

✩✩✩✩✩✩✩
7 Янв 2020
15
0
Заливаю прошивку, создается точка доступа, захожу, там выбираю свою точку, даже айпишник назначается, а она сбрасывается на свою точку