Merge branch 'main' into update-http-api

This commit is contained in:
Alex
2021-07-14 00:21:52 +03:00
committed by GitHub
9 changed files with 82 additions and 103 deletions

View File

@@ -1,93 +1,27 @@
/*
Версия 0.22b
Чуть переделан смерч
Исправлены глюки когда есть вайфай но нет интернета
Добавлено свечение после завершения рассвета, время настраивается
Обновлены бинарники, прошлая версия могла быть с ошибкой
Версия 0.21b
Выбор палитры для частиц и конфетти
Счётчик количества ламп онлайн в приложении
Синхронизация текущего эффекта с приложением
Добавлен эффект смерч
Версия 0.20b
Оптимизация
Исправление критических ошибок
Пофикшено падение АР
Пофикшено падение лампы во время светомузыки
Версия 0.19b
Минимальная версия приложения 1.17!!!
Почищен мусор, оптимизация, повышена стабильность и производительность
Мигает теперь 16 светиков
Снова переделана сетевая политика, упрощён и сильно ускорен парсинг
Изменены пределы по светодиодам, что сильно увеличило производительность
Выключенная (программно) лампа не принимает сервисные команды кроме команды включиться
Добавлены часы, в том числе в рассвет
Slave работает со светомузыкой сам, если не получает данные с мастера
Версия 0.18b
Уменьшена чувствительность хлопков
Увеличена плавность светомузыки
Переделана сетевая политика
Микрофон и датчик света опрашивает только мастер и отсылает данные слейвам своей группы
4 клика - включить первый режим
Отправка точного времени на лампу в режиме АР для работы рассвета и синхронизации эффектов
Версия 0.17b
Автосмена отключается 30 сек во время настройки режимов
Убрана кнопка upload в режимах
Лампа чуть мигает при получении данных
Кастом палитра работает на огне 2020
Вкл выкл двумя хлопками
Плавное выключение
Починил рассвет
Версия 0.16b
Исправлен масштаб огня 2020
Фикс невыключения рассвета
Версия 0.14b
Мелкие баги
Вернул искры огню
Добавлены палитры
Добавлен огонь 2020
Версия 0.13b
Улучшена стабильность
Версия 0.12b
Мелкие исправления
Версия 0.11b
Добавлен редактор палитр
Исправлены мелкие баги в эффектах
Переподключение к роутеру после сброса сети
Настройка ориентации матрицы из приложения
Переработан эффект "Частицы"
Добавлена скорость огня
Переключение на новый/выбранный режим при редактировании
Отправка времени из сервиса (для АР)
Выключение по таймеру теперь плавное
Добавлен рассвет
TODO:
плавная смена режимов
Mqtt?
Базовый пак
Эффект погода https://it4it.club/topic/40-esp8266-i-parsing-pogodyi-s-openweathermap/
ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ!
ДЛЯ КОМПИЛЯЦИИ ПРОШИВКИ ПОД NODEMCU/WEMOS/ESP01/ESP12 ВЫБИРАТЬ
Инструменты / Плата Generic ESP8266
Инструменты / Flash Size 4MB (FS:2MB OTA)
CPU Frequency / 160 MHz (рекомендуется для стабильности светомузыки!!!)
При прошивке с других прошивок лампы поставить: Инструменты/Erase Flash/All Flash Contents
ESP core 2.7.4+ http://arduino.esp8266.com/stable/package_esp8266com_index.json
FastLED 3.4.0+ https://github.com/FastLED/FastLED/releases
*/
// ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ!
// ДЛЯ КОМПИЛЯЦИИ ПРОШИВКИ ПОД NODEMCU/WEMOS/ESP01/ESP12 ВЫБИРАТЬ
// Инструменты / Плата Generic ESP8266
// Инструменты / Flash Size 4MB (FS:2MB OTA)
// CPU Frequency / 160 MHz (рекомендуется для стабильности светомузыки!!!)
// При прошивке с других прошивок лампы поставить: Инструменты/Erase Flash/All Flash Contents
// ESP core 2.7.4+ http://arduino.esp8266.com/stable/package_esp8266com_index.json
// FastLED 3.4.0+ https://github.com/FastLED/FastLED/releases
#define GL_BUILD 0 // 0: com 300, 1: com 900, 2: esp1 300, 3: esp1 900, 4: module 300, 5: module 900
/*
Версия 0.23b
Поправлена яркость рассвета
TODO:
Upload -> Применить
Длина огня в светомуз?
Плавная смена режимов
Mqtt
Базовый пак
Поддержка куба
Погода https://it4it.club/topic/40-esp8266-i-parsing-pogodyi-s-openweathermap/
*/
// ---------- Настройки -----------
#define GL_KEY "GL" // ключ сети
@@ -103,7 +37,7 @@
#define PHOT_VCC 14 // питание фоторезистора GPIO14 (D5 на wemos/node)
// ------------ Лента -------------
#define STRIP_PIN 2 // пин ленты GPIO2 (D4 на wemos/node)
#define STRIP_PIN 2 // пин ленты GPIO2 (D4 на wemos/node), GPIO5 (D1) для module
#define MAX_LEDS 300 // макс. светодиодов
#define STRIP_CHIP WS2812 // чип ленты
#define STRIP_COLOR GRB // порядок цветов в ленте
@@ -121,14 +55,16 @@ const char AP_NameChar[] = "GyverLamp2";
const char WiFiPassword[] = "12345678";
// ------------ Прочее -------------
#define GL_VERSION 22 // код версии прошивки
#define GL_VERSION 23 // код версии прошивки
#define EE_TOUT 30000 // таймаут сохранения епром после изменения, мс
//#define DEBUG_SERIAL // закомментируй чтобы выключить отладку (скорость 115200)
#define DEBUG_SERIAL_LAMP // закомментируй чтобы выключить отладку (скорость 115200)
#define EE_KEY 56 // ключ сброса eeprom
#define NTP_UPD_PRD 5 // период обновления времени с NTP сервера, минут
//#define SKIP_WIFI // пропустить подключение к вафле (для отладки)
// ------------ БИЛДЕР -------------
#define GL_BUILD 0 // 0: com 300, 1: com 900, 2: esp1 300, 3: esp1 900, 4: module 300, 5: module 900
#if (GL_BUILD == 0)
#elif (GL_BUILD == 1)
#define MAX_LEDS 900
@@ -203,7 +139,7 @@ byte udpScale = 0, udpBright = 0;
void setup() {
misc();
delay(2000); // ждём старта есп
#ifdef DEBUG_SERIAL
#ifdef DEBUG_SERIAL_LAMP
Serial.begin(115200);
DEBUGLN();
#endif

View File

@@ -19,7 +19,7 @@
#define MAX_PRESETS 40 // макс количество режимов
// ------------------- МАКРО --------------------
#ifdef DEBUG_SERIAL
#ifdef DEBUG_SERIAL_LAMP
#define DEBUGLN(x) Serial.println(x)
#define DEBUG(x) Serial.print(x)
#else

View File

@@ -3,6 +3,7 @@ void effectsRoutine() {
if (!effTmr.isReady()) return;
if (dawnTmr.running() || postDawn.running()) {
FastLED.setBrightness(255);
byte thisColor = dawnTmr.getLength8();
if (postDawn.running()) thisColor = 255;
fill_solid(leds, MAX_LEDS, ColorFromPalette(HeatColors_p, thisColor, scaleFF(thisColor, dawn.bright), LINEARBLEND));

View File

@@ -64,8 +64,7 @@ void checkDawn() {
DEBUG("dawn start ");
DEBUGLN(dawn.time * 60000ul);
dawnTmr.setInterval(dawn.time * 60000ul);
dawnTmr.restart();
FastLED.setBrightness(255);
dawnTmr.restart();
}
}
}

View File

@@ -1,3 +1,4 @@
.DS_Store
.pio
.vscode/.browse.c_cpp.db*
.vscode/c_cpp_properties.json

View File

@@ -0,0 +1,10 @@
{
"files.associations": {
"*.tcc": "cpp",
"deque": "cpp",
"list": "cpp",
"string": "cpp",
"unordered_map": "cpp",
"vector": "cpp"
}
}

View File

@@ -1,7 +0,0 @@
PIO project
pio update
pio run --target erase
pio run --target upload

View File

@@ -0,0 +1,23 @@
# PIO project
### Prerequisites:
```
pio update
```
### Update over wire:
```
pio run -e debug -t erase
pio run -e debug -t upload
pio run -e release -t upload
```
### Listen to serial monitor:
```
pio device monitor
```
### Update over local network:
```
pio run -e wireless -t upload
```

View File

@@ -8,10 +8,26 @@
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:esp8266]
[platformio]
default_envs = debug
[env]
platform = espressif8266
board = esp12e
board = d1_mini
board_build.ldscript = eagle.flash.4m2m.ld
board_build.flash_mode = dout
framework = arduino
upload_speed = 460800
monitor_speed = 115200
lib_deps = fastled/FastLED@^3.4.0
[env:release]
[env:debug]
build_type = debug
build_flags = -D DEBUG_SERIAL_LAMP
[env:wireless]
upload_protocol = espota
upload_port = 192.168.8.164