Penn Electric Racing / Mbed 2 deprecated SystemManagement

Dependencies:   mbed CANBuffer Watchdog MODSERIAL mbed-rtos xbeeRelay IAP

Fork of SystemManagement by Martin Deng

Libs/Xbee/Xbee.h

Committer:
pspatel321
Date:
2014-11-13
Revision:
30:91af74a299e1

File content as of revision 30:91af74a299e1:

#ifndef __XBEE_FILE_H
#define __XBEE_FILE_H

#include "mbed.h"
#include "MODSERIAL.h"

class Xbee {
public:
    Xbee(PinName tx, PinName rx, int baudrate, int bufferSize, char delim='\n');
    bool send(CANMessage& msg);
    bool receive(CANMessage& msg);
    unsigned int messagesProcessedOut() { return numMessagesOut; }
    unsigned int messagesProcessedIn() { return numMessagesIn; }
private:  
    MODSERIAL xbee;
    volatile unsigned int numMessagesIn;
    volatile unsigned int numMessagesOut;
    
    // Interrupt function called on receipt of message delimitter char
    void newMsg(MODSERIAL_IRQ_INFO *q);
    char delim;         // Delimitter char that ends each message
    volatile unsigned int charCounter;      // Number of messages received so far in the serial buffer
};

#endif