Code:
#include <Bounce.h>
#include <EEPROMex.h>
float float1;
float float2;
bool bool3;
float float4;
float float5;
float float6;
float float7;
float float8;
float float9;
float float10;
float float11;
float float12;
float float13;
float float14;
float float15;
float float16;
float float17;
float float18;
float float19;
float float20;
float float21;
int int22;
int int23;
int int24;
float float25;
float float26;
float float27;
float float28;
float float29;
float float30;
float float31;
float float32;
float float33;
float float34;
float float35;
float float36;
float float37;
float float38;
int int39;
int int40;
float float41;
float float42;
float float43;
float float44;
bool bool45;
float MODquantizerLEFT;
const int shiftPin = 28;
Bounce SHIFTbutton = Bounce(shiftPin, 100); // 10 ms debounce
const int ratioPin = 27;
Bounce RATIObutton = Bounce(ratioPin, 100); // 10 ms debounce
void setup() {
EEPROM.setMaxAllowedWrites(80);
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(shiftPin, INPUT_PULLUP);
pinMode(ratioPin, INPUT_PULLUP);
EEPROM.setMemPool(0, EEPROMSizeTeensy3);
float1 = EEPROM.readFloat(5);
float2 = EEPROM.readFloat(1);
bool3 = EEPROM.readByte(1);
float4 = EEPROM.readFloat(9);
float5 = EEPROM.readFloat(13);
float6 = EEPROM.readFloat(17);
float7 = EEPROM.readFloat(21);
float8 = EEPROM.readFloat(25);
float9 = EEPROM.readFloat(29);
float10 = EEPROM.readFloat(33);
float11 = EEPROM.readFloat(37);
float12 = EEPROM.readFloat(41);
float13 = EEPROM.readFloat(45);
float14 = EEPROM.readFloat(49);
float15 = EEPROM.readFloat(53);
float16 = EEPROM.readFloat(57);
float17 = EEPROM.readFloat(61);
float18 = EEPROM.readFloat(65);
float19 = EEPROM.readFloat(69);
float20 = EEPROM.readFloat(73);
float21 = EEPROM.readFloat(77);
int22 = EEPROM.readInt(81);
int23 = EEPROM.readInt(83);
int24 = EEPROM.readInt(85);
float25 = EEPROM.readFloat(87);
float26 = EEPROM.readFloat(91);
float27 = EEPROM.readFloat(95);
float28 = EEPROM.readFloat(99);
float29 = EEPROM.readFloat(103);
float30 = EEPROM.readFloat(107);
float31 = EEPROM.readFloat(111);
float32 = EEPROM.readFloat(115);
float33 = EEPROM.readFloat(119);
float34 = EEPROM.readFloat(123);
float35 = EEPROM.readFloat(127);
float36 = EEPROM.readFloat(131);
float37 = EEPROM.readFloat(135);
float38 = EEPROM.readFloat(139);
int39 = EEPROM.readInt(143);
int40 = EEPROM.readInt(145);
float41 = EEPROM.readFloat(147);
float42 = EEPROM.readFloat(151);
float43 = EEPROM.readFloat(155);
float44 = EEPROM.readFloat(159);
bool45 = EEPROM.readByte(163);
}
void loop() { //START VOID LOOP
//SAVE START//////////////////////////////////////////////////////
if(RATIObutton.update()){
if (RATIObutton.fallingEdge()){
Serial.println("saved");
//EEPROM.updateFloat(147, float41);
EEPROM.updateFloat(5,float1);
EEPROM.updateFloat(1,float2);
EEPROM.updateByte(1,bool3);
EEPROM.updateFloat(13,float4);
EEPROM.updateFloat(9,float5);
EEPROM.updateFloat(17,float6);
EEPROM.updateFloat(21,float7);
EEPROM.updateFloat(25,float8);
EEPROM.updateFloat(29,float9);
EEPROM.updateFloat(33,float10);
EEPROM.updateFloat(37,float11);
EEPROM.updateFloat(41,float12);
EEPROM.updateFloat(45,float13);
EEPROM.updateFloat(49,float14);
EEPROM.updateFloat(53,float15);
EEPROM.updateFloat(57,float16);
EEPROM.updateFloat(61,float17);
EEPROM.updateFloat(65,float18);
EEPROM.updateFloat(69,float19);
EEPROM.updateFloat(73,float20);
EEPROM.updateFloat(77,float21);
EEPROM.updateInt(81,int22);
EEPROM.updateInt(83,int23);
EEPROM.updateInt(85,int24);
EEPROM.updateFloat(87,float25);
EEPROM.updateFloat(91,float26);
EEPROM.updateFloat(95,float27);
EEPROM.updateFloat(99,float28);
EEPROM.updateFloat(103,float29);
EEPROM.updateFloat(107,float30);
EEPROM.updateFloat(111,float31);
EEPROM.updateFloat(115,float32);
EEPROM.updateFloat(119,float33);
EEPROM.updateFloat(123,float34);
EEPROM.updateFloat(127,float35);
EEPROM.updateFloat(131,float36);
EEPROM.updateFloat(135,float37);
EEPROM.updateFloat(139,float38);
EEPROM.updateInt(143,int39);
EEPROM.updateInt(145,int40);
EEPROM.updateFloat(147,float41); // <-- THIS WORKS
EEPROM.updateFloat(151,float42); // <-- NOTHING FROM HERE FORWARD WORKS
EEPROM.updateFloat(154,float43);
EEPROM.updateFloat(159,float44);
EEPROM.updateByte(163,bool45);
float41 = EEPROM.readFloat(147);
Serial.println("float 41");
Serial.println(float41);
float42 = EEPROM.readFloat(151);
Serial.println("float 42");
Serial.println(float42);
}
}
//SAVE END////////////////////////////////////////////////////////
if(SHIFTbutton.update()){
if (SHIFTbutton.fallingEdge()){
float42 = .5000;
float41 = .5000;
Serial.println("float 41");
Serial.println(float41);
Serial.println("float 42");
Serial.println(float42);
}
}
}
Here's what the serial monitor shows after pressing the shift button then the ratio(save) button.