This is the router node
Dependencies: mbed-rtos mbed Zigbee_communication
main.cpp
- Committer:
- ShaolinPoutine
- Date:
- 2017-02-14
- Revision:
- 4:79eb621914e7
- Parent:
- 3:0acb2c3d7612
- Child:
- 6:b54b9c76aaf2
File content as of revision 4:79eb621914e7:
// Emile Arseneault : arse1503 // Raphael Drouin : dror2204 // Router Node #include "mbed.h" #define FRAMEDELIMITER 0x7E #include "rtos.h" #include "xbee.h" // 4269 Mail<char, 250> mymail; XBee xbee(p8, p13, p14, &mymail); Serial pc(USBTX, USBRX); DigitalOut myled(LED1); void ReadSerial() { // 00 13 A2 00 // 40 3E 09 63 xbee.SendATCommand('S', 'H'); xbee.SendATCommand('S', 'L'); } void InitialisePANID(char PANIDMSB, char PANIDLSB) { char PanID[2] = {PANIDMSB, PANIDLSB}; xbee.SendATCommand('I', 'D', &PanID[0], 2); } void xbee_reader() { while(1) { xbee.InterpretMessage(); wait(0.001); } } void msg_reader() { while (true) { osEvent evt = mymail.get(); if (evt.status == osEventMail) { char *c = (char*)evt.value.p; pc.putc(*c); mymail.free(c); } } } void tick() { myled = !myled; } int main() { Ticker ticker; ticker.attach(&tick, 1); pc.printf("\r\nI am router\r\n"); Thread thread(xbee_reader); Thread thread_reader(msg_reader); wait(3); ReadSerial(); InitialisePANID(0x42, 0x69); while(1) { } }