void main_menu() { // main loop led1=led2=led3=led4=0; mnu->SetScreen(1); while (1) { int filecnt = srv->fileCnt(); mnu->Handle(); srv->poll(); if (srv->State() != listen) { mnu->SetScreen("Receive file"); while ((! mnu->Cancel()) && (srv->State() != listen)) srv->poll(); } if (filecnt < srv->fileCnt()) { char myname[32]; srv->getFilename(myname); if (isFirmware(myname)) { installFirmware(myname); mnu->SetScreen(1); } else { if (strcmp("config.txt", myname) == 0) { // it's a config file! mnu->SetScreen(1); } else { if (isLaosFile(myname)) { mnu->SetFileName(myname); mnu->SetScreen(2); } } } } } }
void main_menu() { // main loop while (1) { led1=led2=led3=led4=0; mnu->SetScreen(1); while (1) {; mnu->Handle(); Net::poll(); if (srv->State() != listen) { GetFile(); char myname[32]; srv->getFilename(myname); if (isFirmware(myname)) { installFirmware(myname); mnu->SetScreen(1); } else { if (strcmp("config.txt", myname) == 0) { // it's a config file! mnu->SetScreen(1); } else { if (isLaosFile(myname)) { mnu->SetFileName(myname); mnu->SetScreen(2); } } } } } } }
void removeFirmware() { // remove old firmware from SD extern LaosStatus *state; DIR *d; struct dirent *p; d = opendir("/local"); if(d != NULL) { while((p = readdir(d)) != NULL) { if (isFirmware(p->d_name)) { char name[32]; sprintf(name, "/local/%s", p->d_name); remove(name); } } } else { state->setErrorMessage("removeFirmware: Could not open directory!\n\r"); } }
int SDcheckFirmware() { extern LaosStatus *state; extern LaosFileSystem sd; DIR *d; struct dirent *p; d = opendir("/sd"); if(d != NULL) { while((p = readdir(d)) != NULL) { if (strncmp(p->d_name, "longname.sy",11)) { if (isFirmware(p->d_name)) { installFirmware(p->d_name); return 1; } } } } else { state->setErrorMessage("SDcheckFirmware: Could not open directory!\n\r"); } closedir(d); return 0; }