Course project for LE484 at Thammasat University, class of 2016

main.cpp

Committer:
vsupacha
Date:
2017-05-08
Revision:
5:d35cd42da2ac
Parent:
4:3aaedd16c77b
Child:
6:da3c4393efee

File content as of revision 5:d35cd42da2ac:

/**
* @brief        Main loop: XBee protocol handler
* @author       Supachai Vorapojpisut,Vissarut Prakobpon , Natanich Bunsila
* @date         May 8, 2017
*/

#include "mbed.h"
#include "platform.h"

DigitalOut led1(LED1);

RawSerial pc(USBTX, USBRX);  // use USB-serial for testing purpose
Mail<char, 2> mbx;  // use Mail API to forward data

/**
* @brief        ISR code: reception of XBee API frame
*/
void rxHandler() {
    char *mail = mbx.alloc(); 
    *mail = pc.getc();
    mbx.put(mail);
}


/**
* @brief        Main code: initial serial RX handler, then wait for detected frame 
*/
int main() {
    pc.attach(rxHandler);    
    while (true) {
        osEvent evt = mbx.get();
        if (evt.status == osEventMail) {
            char *mail = (char*)evt.value.p;
            pc.printf("Got %c\n", *mail);
            mbx.free(mail);
        }
    }
}