#define ArrLen(x) (sizeof(x)/sizeof(x[0]))
struct _homeScreen {
char name[5];
char content[16];
} homeScreen[7] = {
{"date","-"},
{"time","-"},
{"sun", "-"},
{"day", "-"},
{"moon","-"},
{"temp","-"},
{"ip","-"},
};
const char msg[] = "ip";
int getIndex(const char* key) {
for (int i=0; i<ArrLen(homeScreen); i++)
if (strcmp(key, (const char*)homeScreen[i].name) == 0)
return i;
return -1;
}
// ---------------------------------------------------------
void setup() {
Serial.begin(115200);
unsigned int
year = 2025,
month = 8,
day = 20,
hour = 18,
minute = 8,
second = 52;
unsigned int numbers[] = {
year-2000,
month,
day,
hour,
minute,
second
};
char dt_str[20];
char buf[3];
for (int i=0; i<ArrLen(numbers); i++) {
sprintf(buf, "%02d", numbers[i]);
strcat(dt_str, buf);
strcat(dt_str, ((i<5)?((i>2)?":":((i<2)?"-":" ")):""));
}
Serial.println(dt_str);
/*
Serial.println(BIN);
char* str = msg;
int n = getIndex(str);
Serial.println(n);
if (n < 0 || n >= ArrLen(homeScreen))
Serial.println("INVALID");
else
Serial.println(homeScreen[n].name);
*/
}
void loop() {
delay(1);
}