led example with 2 timers

Dependencies:   mbed mbed-rtos

reader.cpp

Committer:
passelin
Date:
2014-02-12
Revision:
5:726d7857fd33
Parent:
4:af325c921e79

File content as of revision 5:726d7857fd33:

#include "main.h"

extern Serial pc;
extern Queue<string, 16> ReaderQueue;

void Reader_thread(void const *args)
{
    string message= "";
    char c;
    unsigned int count = 0;

    while(1) 
    {
        if(pc.readable() == 1) 
        {
            c = pc.getc();
            if (c == 0xD) 
            {
                if( message != "") 
                {
                    ReaderQueue.put(new string(message));
                    pc.printf("%s", message);
                    message = "";
                    pc.putc(0xA);
                    pc.putc(0xD);
                    count =0;
                   
                }
            }
            else if(c == 0x8)
            {
                if( message != "") 
                {
                    pc.putc(c);
                    pc.putc(0x20);
                    pc.putc(c);
                    message = message.substr(0, message.length()-1);
                    count--;
                }
            }
            else if(count <= 80)
            {
                pc.putc(c);
                count++;
                message += c;
            }
    }
    }
}