struct _gsmFS {
String lastPath;
String items[16];
String trail[8];
char drive;
long drvSize;
int len;
int depth;
}
gsmFS;
String strings[] = {
"ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE", "TEN"
};
void makeList() {
for (int i = 0; i<10; i++) {
//Serial1.println(strings[i]);
gsmFS.items[i] = strings[i];
}
gsmFS.len = 10;
}
void lister() {
/*
int index = 0;
int pgSize = 6;
int page = (index / pgSize);
int offs = (page * pgSize);
int lim = (offs+pgSize < gsmFS.len) ? offs+pgSize : gsmFS.len;
int choice = 0;
*/
String input;
int page, offs, index, pgSize = 6;
int choice, lim = (pgSize < gsmFS.len-1) ? pgSize : gsmFS.len;
offs = index = 0;
while (1) {
Serial1.print("\n\n");
for (int i = offs; i < lim; i++) {
Serial1.print((i == index) ? "* " : "> ");
Serial1.println(gsmFS.items[i]);
}
while (!Serial1.available()) delay(1);
input = Serial1.readStringUntil('\n'); input.trim();
choice = input.toInt();
if (choice == 2 || choice == 8) {
if (choice == 2)
index = (index > 0) ? index-1 : index;
else if (choice == 8)
index = (index < gsmFS.len-1) ? index+1 : index;
page = (index / pgSize);
offs = (page * pgSize);
lim = (offs+pgSize < gsmFS.len-1) ? offs+pgSize : gsmFS.len;
}
//Serial1.print("choice: "); Serial1.println(choice);
delay(1);
}
}
void setup() {
Serial1.begin(115200);
Serial1.println("Ready");
makeList();
lister();
}
void loop() {
delay(1);
}