Firmeware release
This commit is contained in:
parent
7518cef3bd
commit
41766f4251
BIN
documentation.docx
Normal file
BIN
documentation.docx
Normal file
Binary file not shown.
BIN
documentation.pdf
Normal file
BIN
documentation.pdf
Normal file
Binary file not shown.
105
firmware/singleButton.ino
Normal file
105
firmware/singleButton.ino
Normal file
@ -0,0 +1,105 @@
|
||||
#include <EEPROM.h>
|
||||
#include <Adafruit_NeoPixel.h>
|
||||
#include "OneButton.h"
|
||||
|
||||
Adafruit_NeoPixel led(1, 4, NEO_GRB + NEO_KHZ800);
|
||||
OneButton button(14);
|
||||
|
||||
bool fading = false;
|
||||
int fadingCounter = 0;
|
||||
|
||||
int common[][3] = {{0, 0, 0}, {255, 255, 0}, {255, 0, 0}, {61, 224, 229}, {0, 255, 0}, {255, 255, 255}};
|
||||
int commonCounter = 0;
|
||||
|
||||
int dimmingDirection = true;
|
||||
|
||||
int color[] = {255, 255, 255};
|
||||
int saturation = 255;
|
||||
|
||||
struct {
|
||||
bool fading;
|
||||
int color[3];
|
||||
int saturation;
|
||||
} flash;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
|
||||
EEPROM.begin(sizeof(flash));
|
||||
EEPROM.get(0, flash);
|
||||
|
||||
color[0] = flash.color[0];
|
||||
color[1] = flash.color[1];
|
||||
color[2] = flash.color[2];
|
||||
|
||||
fading = flash.fading;
|
||||
if(flash.fading == -1) flash.fading = false;
|
||||
saturation = flash.saturation;
|
||||
saveConfig();
|
||||
|
||||
led.begin();
|
||||
led.clear();
|
||||
|
||||
button.attachClick([]() {
|
||||
//cycle common colours on Single-Click and store Position
|
||||
if(commonCounter >= 5) commonCounter = 0; else commonCounter++;
|
||||
Serial.println(commonCounter);
|
||||
color[0] = common[commonCounter][0];
|
||||
color[1] = common[commonCounter][1];
|
||||
color[2] = common[commonCounter][2];
|
||||
|
||||
flash.color[0] = common[commonCounter][0];
|
||||
flash.color[1] = common[commonCounter][1];
|
||||
flash.color[2] = common[commonCounter][2];
|
||||
saveConfig();
|
||||
|
||||
});
|
||||
|
||||
button.attachDoubleClick([]() {
|
||||
//start Fading and store fading-status
|
||||
fading = !fading;
|
||||
|
||||
flash.fading = fading;
|
||||
saveConfig();
|
||||
});
|
||||
|
||||
button.attachLongPressStart([]() {
|
||||
//on each new Longpress reverse the direction the dimming will go
|
||||
dimmingDirection = !dimmingDirection;
|
||||
});
|
||||
|
||||
button.attachDuringLongPress([]() {
|
||||
//on long press increment or decrement based on direction the saturation value
|
||||
if(dimmingDirection) {
|
||||
if(saturation < 255) saturation++;
|
||||
} else {
|
||||
if(saturation > 10) saturation--;
|
||||
}
|
||||
delay(10); //this delay controls the speed of the dimm-controlls
|
||||
});
|
||||
button.attachLongPressStop([]() {
|
||||
flash.saturation = saturation;
|
||||
saveConfig();
|
||||
});
|
||||
}
|
||||
|
||||
void loop() {
|
||||
button.tick();
|
||||
|
||||
if(fading) {
|
||||
fadingCounter++;
|
||||
if(fadingCounter >= 65535) fadingCounter = 0;
|
||||
led.setPixelColor(0, led.ColorHSV(fadingCounter, 255, saturation));
|
||||
} else {
|
||||
led.setPixelColor(0, led.Color(color[0]*(saturation/255.0), color[1]*(saturation/255.0), color[2]*(saturation/255.0)));
|
||||
}
|
||||
|
||||
|
||||
led.show();
|
||||
|
||||
}
|
||||
|
||||
void saveConfig() {
|
||||
EEPROM.put(0, flash);
|
||||
EEPROM.commit();
|
||||
}
|
BIN
oreLightPaper.pdf
Normal file
BIN
oreLightPaper.pdf
Normal file
Binary file not shown.
28
resetEeprom/factoryDefault.ino
Normal file
28
resetEeprom/factoryDefault.ino
Normal file
@ -0,0 +1,28 @@
|
||||
#include <EEPROM.h>
|
||||
|
||||
void setup() {
|
||||
// put your setup code here, to run once:
|
||||
struct {
|
||||
bool fading;
|
||||
int color[3];
|
||||
int saturation;
|
||||
} flash;
|
||||
EEPROM.begin(sizeof(flash));
|
||||
|
||||
|
||||
flash.color[0] = 0;
|
||||
flash.color[1] = 0;
|
||||
flash.color[2] = 0;
|
||||
|
||||
flash.fading = false;
|
||||
flash.saturation = 255;
|
||||
|
||||
EEPROM.put(0, flash);
|
||||
EEPROM.commit();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// put your main code here, to run repeatedly:
|
||||
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user