DisplayAPP_Base
Dependents: GR-Boads_Camera_DisplayApp_base GR-Boads_Camera_DisplayApp_base DisplayApp LED01
Diff: DisplayApp.cpp
- Revision:
- 1:fdcf2c6a1167
- Parent:
- 0:13c1f522bbef
- Child:
- 2:b7ffe5216cd7
diff -r 13c1f522bbef -r fdcf2c6a1167 DisplayApp.cpp --- a/DisplayApp.cpp Thu Sep 15 02:58:33 2016 +0000 +++ b/DisplayApp.cpp Fri Sep 16 08:04:52 2016 +0000 @@ -11,69 +11,73 @@ displayThread.set_priority(osPriorityNormal); while (1) { - data = pPcApp->getc(); - if (data == '{') { - pos_seq = POS_SEQ_START; - } else if (data == 'X') { - if (pos_seq == POS_SEQ_START) { - pos_seq = POS_SEQ_X; - } else { - pos_seq = POS_SEQ_INIT; - } - } else if (data == 'Y') { - if (pos_seq == POS_SEQ_C) { - pos_seq = POS_SEQ_Y; - } else { - pos_seq = POS_SEQ_INIT; - } - } else if (data == '=') { - if (pos_seq == POS_SEQ_X) { - pos_seq = POS_SEQ_X_POS; - pos_wk = 0; - } else if (pos_seq == POS_SEQ_Y) { - pos_seq = POS_SEQ_Y_POS; - pos_wk = 0; - } else { - pos_seq = POS_SEQ_INIT; - } - } else if (data == '-') { - if (pos_seq == POS_SEQ_X_POS) { - pos_seq = POS_SEQ_X_M; - } else if (pos_seq == POS_SEQ_Y_POS) { - pos_seq = POS_SEQ_Y_M; - } else { - pos_seq = POS_SEQ_INIT; - } - } else if ((data >= '0') && (data <= '9')) { - if ((pos_seq == POS_SEQ_X_POS) || (pos_seq == POS_SEQ_Y_POS)) { - pos_wk = (pos_wk * 10) + (data - '0'); - } else if ((pos_seq == POS_SEQ_X_M) && (data == '1')) { - pos_wk = -1; - } else if ((pos_seq == POS_SEQ_Y_M) && (data == '1')) { - pos_wk = -1; - } else { - pos_seq = POS_SEQ_INIT; - } - } else if (data == ',') { - if ((pos_seq == POS_SEQ_X_POS) || (pos_seq == POS_SEQ_X_M)) { - pos_x_wk = pos_wk; - pos_seq = POS_SEQ_C; - } else { - pos_seq = POS_SEQ_INIT; - } - } else if (data == '}') { - if ((pos_seq == POS_SEQ_Y_POS) || (pos_seq == POS_SEQ_Y_M)) { - pos_seq = POS_SEQ_END; - if ((pos_x != pos_x_wk) || (pos_y != pos_wk)) { - pos_x = pos_x_wk; - pos_y = pos_wk; - event.call(); + if (pPcApp->readable()) { + data = pPcApp->getc(); + if (data == '{') { + pos_seq = POS_SEQ_START; + } else if (data == 'X') { + if (pos_seq == POS_SEQ_START) { + pos_seq = POS_SEQ_X; + } else { + pos_seq = POS_SEQ_INIT; + } + } else if (data == 'Y') { + if (pos_seq == POS_SEQ_C) { + pos_seq = POS_SEQ_Y; + } else { + pos_seq = POS_SEQ_INIT; + } + } else if (data == '=') { + if (pos_seq == POS_SEQ_X) { + pos_seq = POS_SEQ_X_POS; + pos_wk = 0; + } else if (pos_seq == POS_SEQ_Y) { + pos_seq = POS_SEQ_Y_POS; + pos_wk = 0; + } else { + pos_seq = POS_SEQ_INIT; + } + } else if (data == '-') { + if (pos_seq == POS_SEQ_X_POS) { + pos_seq = POS_SEQ_X_M; + } else if (pos_seq == POS_SEQ_Y_POS) { + pos_seq = POS_SEQ_Y_M; + } else { + pos_seq = POS_SEQ_INIT; + } + } else if ((data >= '0') && (data <= '9')) { + if ((pos_seq == POS_SEQ_X_POS) || (pos_seq == POS_SEQ_Y_POS)) { + pos_wk = (pos_wk * 10) + (data - '0'); + } else if ((pos_seq == POS_SEQ_X_M) && (data == '1')) { + pos_wk = -1; + } else if ((pos_seq == POS_SEQ_Y_M) && (data == '1')) { + pos_wk = -1; + } else { + pos_seq = POS_SEQ_INIT; + } + } else if (data == ',') { + if ((pos_seq == POS_SEQ_X_POS) || (pos_seq == POS_SEQ_X_M)) { + pos_x_wk = pos_wk; + pos_seq = POS_SEQ_C; + } else { + pos_seq = POS_SEQ_INIT; + } + } else if (data == '}') { + if ((pos_seq == POS_SEQ_Y_POS) || (pos_seq == POS_SEQ_Y_M)) { + pos_seq = POS_SEQ_END; + if ((pos_x != pos_x_wk) || (pos_y != pos_wk)) { + pos_x = pos_x_wk; + pos_y = pos_wk; + event.call(); + } + } else { + pos_seq = POS_SEQ_INIT; } } else { pos_seq = POS_SEQ_INIT; } } else { - pos_seq = POS_SEQ_INIT; + Thread::wait(10); } } }