bpm modulation settings are now saved in EEPROM
This commit is contained in:
@ -100,14 +100,21 @@ const unsigned char splash_logo [] PROGMEM = {
|
|||||||
void setup() {
|
void setup() {
|
||||||
//Serial.begin(9600);
|
//Serial.begin(9600);
|
||||||
|
|
||||||
//check last bit in eeprom to know if settings were stored
|
//check last bit in eeprom to know if the correct settings were stored
|
||||||
if (EEPROM.read(1023) == 'R') {
|
if (EEPROM.read(1023) == 'S') {
|
||||||
EEPROM.get(0, bpm);
|
int addr = 0;
|
||||||
EEPROM.get(sizeof(int), masterClockMode);
|
EEPROM.get(addr, bpm);
|
||||||
EEPROM.get(sizeof(int)+sizeof(byte), channels);
|
addr = addr + sizeof(bpm);
|
||||||
|
EEPROM.get(addr, bpmModulationChannel);
|
||||||
|
addr = addr + sizeof(bpmModulationChannel);
|
||||||
|
EEPROM.get(addr, bpmModulationRange);
|
||||||
|
addr = addr + sizeof(bpmModulationRange);
|
||||||
|
EEPROM.get(addr, masterClockMode);
|
||||||
|
addr = addr + sizeof(masterClockMode);
|
||||||
|
EEPROM.get(addr, channels);
|
||||||
} else {
|
} else {
|
||||||
saveState();
|
saveState();
|
||||||
EEPROM.write(1023, 'R');
|
EEPROM.write(1023, 'S');
|
||||||
}
|
}
|
||||||
|
|
||||||
pinMode(ENC_BTN_PIN, INPUT_PULLUP);
|
pinMode(ENC_BTN_PIN, INPUT_PULLUP);
|
||||||
@ -146,7 +153,7 @@ void loop() {
|
|||||||
display.clearDisplay();
|
display.clearDisplay();
|
||||||
display.display();
|
display.display();
|
||||||
}
|
}
|
||||||
if (masterClockMode == 2 && tickCount > PULSE_LENGTH) {
|
if (masterClockMode == 2) { //&& tickCount > PULSE_LENGTH) { //execute only after PULSE_LENGTH to avoid delays
|
||||||
calculateBPMTiming();
|
calculateBPMTiming();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -313,9 +320,16 @@ void resetClocks() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void saveState() {
|
void saveState() {
|
||||||
EEPROM.put(0, bpm);
|
int addr = 0;
|
||||||
EEPROM.put(sizeof(int), masterClockMode);
|
EEPROM.put(addr, bpm);
|
||||||
EEPROM.put(sizeof(int)+sizeof(byte), channels);
|
addr = addr + sizeof(bpm);
|
||||||
|
EEPROM.put(addr, bpmModulationChannel);
|
||||||
|
addr = addr + sizeof(bpmModulationChannel);
|
||||||
|
EEPROM.put(addr, bpmModulationRange);
|
||||||
|
addr = addr + sizeof(bpmModulationRange);
|
||||||
|
EEPROM.put(addr, masterClockMode);
|
||||||
|
addr = addr + sizeof(masterClockMode);
|
||||||
|
EEPROM.put(addr, channels);
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkInputs() {
|
void checkInputs() {
|
||||||
|
|||||||
Reference in New Issue
Block a user