This commit is contained in:
Alex
2019-06-14 10:29:09 +03:00
parent edb18a28c3
commit 2f9f6bffeb
3 changed files with 18 additions and 10 deletions

View File

@@ -107,7 +107,7 @@ boolean dawnFlag = false;
long thisTime; long thisTime;
boolean manualOff = false; boolean manualOff = false;
byte currentMode = 0; int8_t currentMode = 0;
boolean loadingFlag = true; boolean loadingFlag = true;
boolean ONflag = true; boolean ONflag = true;
uint32_t eepromTimer; uint32_t eepromTimer;
@@ -116,6 +116,8 @@ boolean settChanged = false;
// Безумие 3D, Облака 3D, Лава 3D, Плазма 3D, Радуга 3D, // Безумие 3D, Облака 3D, Лава 3D, Плазма 3D, Радуга 3D,
// Павлин 3D, Зебра 3D, Лес 3D, Океан 3D, // Павлин 3D, Зебра 3D, Лес 3D, Океан 3D,
unsigned char matrixValue[8][16];
void setup() { void setup() {
ESP.wdtDisable(); ESP.wdtDisable();
//ESP.wdtEnable(WDTO_8S); //ESP.wdtEnable(WDTO_8S);
@@ -129,7 +131,7 @@ void setup() {
randomSeed(analogRead(0)); // пинаем генератор случайных чисел randomSeed(analogRead(0)); // пинаем генератор случайных чисел
touch.setStepTimeout(100); touch.setStepTimeout(100);
touch.setClickTimeout(500); touch.setClickTimeout(500);
Serial.begin(115200); Serial.begin(115200);
// WI-FI // WI-FI
@@ -182,7 +184,7 @@ void setup() {
alarm[i].time = eeGetInt(5 * i + 50 + 1); alarm[i].time = eeGetInt(5 * i + 50 + 1);
} }
dawnMode = EEPROM.read(100); dawnMode = EEPROM.read(100);
currentMode = EEPROM.read(101); currentMode = (int8_t)EEPROM.read(101);
// отправляем настройки // отправляем настройки
sendCurrent(); sendCurrent();
@@ -192,7 +194,8 @@ void setup() {
Udp.write(reply); Udp.write(reply);
Udp.endPacket(); Udp.endPacket();
timeClient.begin(); timeClient.begin();
memset(matrixValue, 0, sizeof(matrixValue));
} }
void loop() { void loop() {

View File

@@ -27,6 +27,13 @@ void buttonTick() {
settChanged = true; settChanged = true;
eepromTimer = millis(); eepromTimer = millis();
} }
if (ONflag && touch.isTriple()) {
if (--currentMode < 0) currentMode = 0;
FastLED.setBrightness(modes[currentMode].brightness);
loadingFlag = true;
settChanged = true;
eepromTimer = millis();
}
if (ONflag && touch.isHolded()) { if (ONflag && touch.isHolded()) {
brightDirection = !brightDirection; brightDirection = !brightDirection;

View File

@@ -35,7 +35,6 @@ void fadePixel(byte i, byte j, byte step) { // новый фейдер
// -------------------------------------- огонь --------------------------------------------- // -------------------------------------- огонь ---------------------------------------------
// эффект "огонь" // эффект "огонь"
#define SPARKLES 1 // вылетающие угольки вкл выкл #define SPARKLES 1 // вылетающие угольки вкл выкл
unsigned char matrixValue[8][16];
unsigned char line[WIDTH]; unsigned char line[WIDTH];
int pcnt = 0; int pcnt = 0;
@@ -67,9 +66,8 @@ const unsigned char hueMask[8][16] PROGMEM = {
void fireRoutine() { void fireRoutine() {
if (loadingFlag) { if (loadingFlag) {
loadingFlag = false; loadingFlag = false;
FastLED.clear(); //FastLED.clear();
generateLine(); generateLine();
memset(matrixValue, 0, sizeof(matrixValue));
} }
if (pcnt >= 100) { if (pcnt >= 100) {
shiftUp(); shiftUp();
@@ -123,7 +121,7 @@ void drawFrame(int pcnt) {
- pgm_read_byte(&(valueMask[y][newX])); - pgm_read_byte(&(valueMask[y][newX]));
CRGB color = CHSV( CRGB color = CHSV(
modes[1].scale + pgm_read_byte(&(hueMask[y][newX])), // H modes[1].scale * 2.5 + pgm_read_byte(&(hueMask[y][newX])), // H
255, // S 255, // S
(uint8_t)max(0, nextv) // V (uint8_t)max(0, nextv) // V
); );
@@ -148,7 +146,7 @@ void drawFrame(int pcnt) {
uint8_t newX = x; uint8_t newX = x;
if (x > 15) newX = x - 15; if (x > 15) newX = x - 15;
CRGB color = CHSV( CRGB color = CHSV(
modes[1].scale + pgm_read_byte(&(hueMask[0][newX])), // H modes[1].scale * 2.5 + pgm_read_byte(&(hueMask[0][newX])), // H
255, // S 255, // S
(uint8_t)(((100.0 - pcnt) * matrixValue[0][newX] + pcnt * line[newX]) / 100.0) // V (uint8_t)(((100.0 - pcnt) * matrixValue[0][newX] + pcnt * line[newX]) / 100.0) // V
); );