Deals with user inputs
Diff: serial_terminal.cpp
- Revision:
- 27:f665c1bc9dbb
- Parent:
- 26:d06a55487056
- Child:
- 28:2673cf270bf0
--- a/serial_terminal.cpp Fri Dec 28 12:05:28 2018 +0000 +++ b/serial_terminal.cpp Wed Jan 02 19:45:43 2019 +0000 @@ -26,9 +26,12 @@ if(argnum != 2) { + /* printlock.lock(); pc->printf("INVALID COMMAND\r\n"); printlock.unlock(); + */ + printQueue.call(printf, "INVALID COMMAND\r\n"); } else { @@ -39,16 +42,28 @@ if(logging) { + /* printlock.lock(); pc->printf("Command %s recieved with argument of %s, containing %d readable numbers\r\n\n",cmnd,arg,argnum); printlock.unlock(); + */ + printQueue.call(printf,"Command %s recieved with argument of %s, containing %d readable numbers\r\n\n",cmnd,arg,argnum); } switch (e_cmnd) { case (READ) : - if ((argnum == 0 && e_arg != ALL) || (argnum == 1 && val < 1)) {printlock.lock(); pc->printf("INVALID COMMAND\n\n\r"); printlock.unlock(); break;} + if ((argnum == 0 && e_arg != ALL) || (argnum == 1 && val < 1)) + { + /* + printlock.lock(); + pc->printf("INVALID COMMAND\n\n\r"); + printlock.unlock(); + */ + printQueue.call(printf, "INVALID COMMAND\n\n\r"); + break; + } else if (e_arg == ALL || val >= (BUFFERSIZE-Nspaces)) { SDqueue.call(SDread,-1); //read all @@ -60,7 +75,16 @@ break; case (DELETE) : - if ((argnum == 0 && e_arg != ALL) || (argnum == 1 && val < 1)) {printlock.lock(); pc->printf("INVALID COMMAND\n\n\r"); printlock.unlock(); break;} + if ((argnum == 0 && e_arg != ALL) || (argnum == 1 && val < 1)) + { + /* + printlock.lock(); + pc->printf("INVALID COMMAND\n\n\r"); + printlock.unlock(); + */ + printQueue.call(printf,"INVALID COMMAND\n\n\r"); + break; + } if (e_arg == ALL || val > (BUFFERSIZE-Nspaces)) SDqueue.call(SDdelete,-1); //delete all else SDqueue.call(SDdelete,val); break; @@ -77,9 +101,12 @@ timeLock.unlock(); if (mktime(timeData) == -1) { + /* printlock.lock(); pc->printf("SETDATE failed\n\n\r"); printlock.unlock(); + */ + printQueue.call(printf,"SETDATE failed\n\n\r"); } else { @@ -87,9 +114,12 @@ set_time(mktime(timeData)); timeLock.unlock(); seconds = time(NULL); + /* printlock.lock(); pc->printf("Date updated to %s\n\n\r", ctime(&seconds)); printlock.unlock(); + */ + printQueue.call(printf,"Date updated to %s\n\n\r", ctime(&seconds)); } break; @@ -105,9 +135,12 @@ timeLock.unlock(); if (mktime(timeData) == -1) { + /* printlock.lock(); pc->printf("SETTIME FAILED\n\n\r"); printlock.unlock(); + */ + printQueue.call(printf, "SETTIME FAILED\n\n\r"); } else { @@ -115,35 +148,55 @@ set_time(mktime(timeData)); seconds = time(NULL); timeLock.unlock(); + /* printlock.lock(); pc->printf("TIME UPDATED TO %s\n\n\r", ctime(&seconds)); printlock.unlock(); + */ + printQueue.call(printf,"TIME UPDATED TO %s\n\n\r", ctime(&seconds)); + } break; case (SETT) : //Set the sampling rate - if (e_arg == ALL || val < 0.1 || val > 60) {printlock.lock(); pc->printf("OUT OF RANGE\n\n\r"); printlock.unlock(); break;} + if (e_arg == ALL || val < 0.1 || val > 60) + { + /* + printlock.lock(); + pc->printf("OUT OF RANGE\n\n\r"); + printlock.unlock(); + */ + printQueue.call(printf, "OUT OF RANGE\n\n\r"); + break; + } else { sample_rate = val; if(sampling) { sample.attach(&sampleISR, sample_rate); - } + } + /* printlock.lock(); pc->printf("Sample rate set to %5.2f\n\n\r", sample_rate); printlock.unlock();} - break; + */ + printQueue.call(printf, "Sample rate set to %5.2f\n\n\r", sample_rate); + break; + } case (STATE) : if (e_arg == ON) { sample.attach(&sampleISR, sample_rate); sampling = true; + /* printlock.lock(); pc->printf("Sampling ON\n\n\r"); printlock.unlock(); + */ + printQueue.call(printf,"Sampling ON\n\n\r"); break; } else if (e_arg == OFF) @@ -151,16 +204,22 @@ //sample.attach(NULL, sample_rate); sample.detach(); sampling = false; + /* printlock.lock(); pc->printf("Sampling OFF\n\n\r"); printlock.unlock(); + */ + printQueue.call(printf,"Sampling OFF\n\n\r"); break; } else { + /* printlock.lock(); pc->printf("Invalid command\n\n\r"); printlock.unlock(); + */ + printQueue.call(printf,"Invalid command\n\n\r"); break; } @@ -169,32 +228,44 @@ if (e_arg == ON) { logging = true; + /* printlock.lock(); pc->printf("LOGGING ON\n\n\r"); printlock.unlock(); + */ + printQueue.call(printf,"LOGGING ON\n\n\r"); break; } else if (e_arg == OFF) { logging = false; + /* printlock.lock(); pc->printf("LOGGING OFF\n\n\r"); printlock.unlock(); + */ + printQueue.call(printf,"LOGGING OFF\n\n\r"); break; } else { + /* printlock.lock(); pc->printf("INVALID COMMAND\n\n\r"); printlock.unlock(); + */ + printQueue.call(printf,"INVALID COMMAND\n\n\r"); break; } - break; + //break; default : + /* printlock.lock(); pc->printf("INVALID COMMAND\n\n\r"); printlock.unlock(); + */ + printQueue.call(printf,"INVALID COMMAND\n\n\r"); break; } }