I was doing the same thing for my HVAC Motor Controller here:
Basically for each possible HVAC state (15 total), I was calling a function through the Particle API which would read a EEPROM value. It worked, but there was a delay while all 15 variables where read.
Because I am picky, I wanted a faster response. So what I did was created a Particle Variable which contained a STRING. This STRING was basically all of my EEPROM values (that I needed) put together. Now with a single call to the Particle API's, I can get all states.
// Global
char speedSettings[50] = "";
// In Setup()
Spark.variable("getspeed", speedSettings, STRING);
void postSpeedSettings() {
// Clears out previous data
for(uint8_t i=0; i<50; i++) {
speedSettings[i] = 0;
}
for(uint8_t i=0; i<16; i++) {
int data = 0;
data = EEPROM.read(i);
sprintf( speedSettings, "%s%d ", speedSettings, data);
}
}
Hope this helps.