diff --git a/protocol.c b/protocol.c index ed509d4..1275f8d 100644 --- a/protocol.c +++ b/protocol.c @@ -72,41 +72,20 @@ uint8_t protocol_execute_line(char *line) { void protocol_process() { char c; - uint8_t iscomment = false; while((c = serial_read()) != SERIAL_NO_DATA) { - if (iscomment) { - // While in comment, skip all characters until ')', '\n', or '\r' - if ((c == ')') || (c == '\n') || (c == '\r')) { - iscomment = false; - } - } - if (!iscomment) { // Seperate if-statement to process '\n' or '\r' at end of comment - if ((c == '\n') || (c == '\r')) { // End of block reached - if (char_counter > 0) {// Line is complete. Then execute! - line[char_counter] = 0; // terminate string - status_message(protocol_execute_line(line)); - char_counter = 0; // reset line buffer index - } else { - // Empty or comment line. Skip block. - status_message(STATUS_OK); // Send status message for syncing purposes. - } - } else if (c <= ' ') { - // Throw away whitepace and control characters - } else if (c == '/') { - // Disable block delete and throw away character - // To enable block delete, uncomment following line - // iscomment = true; - } else if (c == '(') { - // Enable comments and ignore all characters until ')' or '\n' - iscomment = true; - } else if (char_counter >= LINE_BUFFER_SIZE-1) { - // Throw away any characters beyond the end of the line buffer - } else if (c >= 'a' && c <= 'z') { // Upcase lowercase - line[char_counter++] = c-'a'+'A'; - } else { - line[char_counter++] = c; - } + if((char_counter > 0) && ((c == '\n') || (c == '\r'))) { // Line is complete. Then execute! + line[char_counter] = 0; // treminate string + status_message(protocol_execute_line(line)); + char_counter = 0; // reset line buffer index + } else if (c <= ' ') { + // Throw away whitepace and control characters + } else if (char_counter >= LINE_BUFFER_SIZE-1) { + // Throw away any characters beyond the end of the line buffer + } else if (c >= 'a' && c <= 'z') { // Upcase lowercase + line[char_counter++] = c-'a'+'A'; + } else { + line[char_counter++] = c; } } }