Class containing functions usefull to communication between PC and Xbee device

Dependents:   Coordinator_node Router_node

Committer:
EmileArseneault
Date:
Wed Feb 15 05:55:34 2017 +0000
Revision:
20:e119856dbc5e
Parent:
19:8da8068315da
Essaie de wait for response et cleanage

Who changed what in which revision?

UserRevisionLine numberNew contents of line
EmileArseneault 19:8da8068315da 1 #include "mbed.h"
EmileArseneault 19:8da8068315da 2 #include "rtos.h"
EmileArseneault 19:8da8068315da 3 #define FRAMEDELIMITER 0x7E
EmileArseneault 19:8da8068315da 4
EmileArseneault 19:8da8068315da 5
EmileArseneault 19:8da8068315da 6 class XBee {
EmileArseneault 19:8da8068315da 7 public:
EmileArseneault 19:8da8068315da 8 DigitalOut rst; // Pin corresponding to the reset pin
EmileArseneault 19:8da8068315da 9 Serial comm; // UART communication
EmileArseneault 19:8da8068315da 10 Mail<char, 250>* mail;
EmileArseneault 19:8da8068315da 11 Mail<char[256], 16>* webmail;
EmileArseneault 19:8da8068315da 12 char buffer[256];
EmileArseneault 19:8da8068315da 13
EmileArseneault 19:8da8068315da 14 XBee(PinName reset, PinName transfer, PinName receive, Mail<char, 250>* m, Mail<char[256], 16>* w);
EmileArseneault 19:8da8068315da 15 void SendATCommand(char firstChar, char secondChar, char *optionalParam = NULL, int paramLen = 0);
EmileArseneault 19:8da8068315da 16 void ZigBeeTransmit(int adresse16, int adresse64msb, int adresse64lsb, char *data, int dataLength);
EmileArseneault 19:8da8068315da 17 void BroadcastHelloWorld();
EmileArseneault 19:8da8068315da 18 char* InterpretMessage();
EmileArseneault 19:8da8068315da 19
EmileArseneault 19:8da8068315da 20 void appendBuffer(char* c);
EmileArseneault 19:8da8068315da 21 void sendBuffer();
EmileArseneault 19:8da8068315da 22
EmileArseneault 19:8da8068315da 23 private:
EmileArseneault 19:8da8068315da 24 void ATCommandResponse(int len);
EmileArseneault 19:8da8068315da 25 void ZigBeeTransmitStatus(int len);
EmileArseneault 19:8da8068315da 26 void ZigBeeReceivePacket(int len);
EmileArseneault 19:8da8068315da 27 void ModemStatus(int len);
EmileArseneault 19:8da8068315da 28 void printHexa(char c);
EmileArseneault 19:8da8068315da 29 void printInt(int i);
EmileArseneault 19:8da8068315da 30 void pcPrint(char* c);
EmileArseneault 19:8da8068315da 31 char getChar();
EmileArseneault 19:8da8068315da 32 };