APP Team
/
app3
led example with 2 timers
reader.cpp@5:726d7857fd33, 2014-02-12 (annotated)
- Committer:
- passelin
- Date:
- Wed Feb 12 07:07:48 2014 +0000
- Revision:
- 5:726d7857fd33
- Parent:
- 4:af325c921e79
02:07
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
passelin | 1:6e31c704f4d6 | 1 | #include "main.h" |
passelin | 1:6e31c704f4d6 | 2 | |
passelin | 1:6e31c704f4d6 | 3 | extern Serial pc; |
passelin | 2:124a066878cc | 4 | extern Queue<string, 16> ReaderQueue; |
passelin | 1:6e31c704f4d6 | 5 | |
passelin | 1:6e31c704f4d6 | 6 | void Reader_thread(void const *args) |
passelin | 1:6e31c704f4d6 | 7 | { |
passelin | 2:124a066878cc | 8 | string message= ""; |
passelin | 2:124a066878cc | 9 | char c; |
passelin | 2:124a066878cc | 10 | unsigned int count = 0; |
passelin | 2:124a066878cc | 11 | |
passelin | 2:124a066878cc | 12 | while(1) |
passelin | 1:6e31c704f4d6 | 13 | { |
passelin | 2:124a066878cc | 14 | if(pc.readable() == 1) |
passelin | 2:124a066878cc | 15 | { |
passelin | 2:124a066878cc | 16 | c = pc.getc(); |
passelin | 2:124a066878cc | 17 | if (c == 0xD) |
passelin | 2:124a066878cc | 18 | { |
passelin | 2:124a066878cc | 19 | if( message != "") |
passelin | 2:124a066878cc | 20 | { |
passelin | 2:124a066878cc | 21 | ReaderQueue.put(new string(message)); |
passelin | 4:af325c921e79 | 22 | pc.printf("%s", message); |
passelin | 2:124a066878cc | 23 | message = ""; |
passelin | 2:124a066878cc | 24 | pc.putc(0xA); |
passelin | 2:124a066878cc | 25 | pc.putc(0xD); |
passelin | 2:124a066878cc | 26 | count =0; |
passelin | 2:124a066878cc | 27 | |
passelin | 2:124a066878cc | 28 | } |
passelin | 2:124a066878cc | 29 | } |
passelin | 2:124a066878cc | 30 | else if(c == 0x8) |
passelin | 2:124a066878cc | 31 | { |
passelin | 2:124a066878cc | 32 | if( message != "") |
passelin | 2:124a066878cc | 33 | { |
passelin | 2:124a066878cc | 34 | pc.putc(c); |
passelin | 2:124a066878cc | 35 | pc.putc(0x20); |
passelin | 2:124a066878cc | 36 | pc.putc(c); |
passelin | 2:124a066878cc | 37 | message = message.substr(0, message.length()-1); |
passelin | 2:124a066878cc | 38 | count--; |
passelin | 2:124a066878cc | 39 | } |
passelin | 2:124a066878cc | 40 | } |
passelin | 2:124a066878cc | 41 | else if(count <= 80) |
passelin | 2:124a066878cc | 42 | { |
passelin | 2:124a066878cc | 43 | pc.putc(c); |
passelin | 2:124a066878cc | 44 | count++; |
passelin | 2:124a066878cc | 45 | message += c; |
passelin | 2:124a066878cc | 46 | } |
passelin | 2:124a066878cc | 47 | } |
passelin | 1:6e31c704f4d6 | 48 | } |
passelin | 1:6e31c704f4d6 | 49 | } |