Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: DisplayApp.cpp
- Revision:
- 1:fdcf2c6a1167
- Parent:
- 0:13c1f522bbef
- Child:
- 2:b7ffe5216cd7
--- 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);
}
}
}