led example with 2 timers

Dependencies:   mbed mbed-rtos

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?

UserRevisionLine numberNew 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 }