XBee API operation library for mbed

Committer:
yangcq88517
Date:
Wed Mar 30 20:44:56 2016 +0000
Revision:
9:6e4ef3c302b4
Parent:
2:723cccd7659a
Address.cpp static broadcast variable fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yangcq88517 0:415f4b1b988e 1 #ifndef UK_AC_HERTS_SMARTLAB_XBEE_SerialData
yangcq88517 0:415f4b1b988e 2 #define UK_AC_HERTS_SMARTLAB_XBEE_SerialData
yangcq88517 0:415f4b1b988e 3
yangcq88517 0:415f4b1b988e 4 #include "mbed.h"
yangcq88517 0:415f4b1b988e 5 #include "ISerial.h"
yangcq88517 0:415f4b1b988e 6
yangcq88517 2:723cccd7659a 7 /// The detailed implementation of ISerial, which is responsible for sending and receiving seial data.
yangcq88517 0:415f4b1b988e 8 class SerialData: public ISerial
yangcq88517 0:415f4b1b988e 9 {
yangcq88517 0:415f4b1b988e 10 private:
yangcq88517 2:723cccd7659a 11 /// mbed serial port interface.
yangcq88517 0:415f4b1b988e 12 Serial * serialPort;
yangcq88517 0:415f4b1b988e 13
yangcq88517 0:415f4b1b988e 14 public:
yangcq88517 2:723cccd7659a 15 /** Create a SerialData instance which using pin tx and rx.
yangcq88517 2:723cccd7659a 16 *
yangcq88517 2:723cccd7659a 17 * @param tx data transmission line
yangcq88517 2:723cccd7659a 18 * @param rx data receiving line
yangcq88517 2:723cccd7659a 19 *
yangcq88517 2:723cccd7659a 20 */
yangcq88517 0:415f4b1b988e 21 SerialData(PinName tx, PinName rx);
yangcq88517 2:723cccd7659a 22 /** Create a SerialData instance which using pin tx and rx.
yangcq88517 2:723cccd7659a 23 *
yangcq88517 2:723cccd7659a 24 * @param tx data transmission line
yangcq88517 2:723cccd7659a 25 * @param rx data receiving line
yangcq88517 2:723cccd7659a 26 * @param baudRate baud rate
yangcq88517 2:723cccd7659a 27 *
yangcq88517 2:723cccd7659a 28 */
yangcq88517 0:415f4b1b988e 29 SerialData(PinName tx, PinName rx, int baudRate);
yangcq88517 0:415f4b1b988e 30
yangcq88517 0:415f4b1b988e 31 ~SerialData();
yangcq88517 0:415f4b1b988e 32
yangcq88517 2:723cccd7659a 33 /**
yangcq88517 2:723cccd7659a 34 * Read the next avaliable data.
yangcq88517 2:723cccd7659a 35 *
yangcq88517 2:723cccd7659a 36 * @returns [0x00-0xFF], -1 means data not avaliable.
yangcq88517 2:723cccd7659a 37 *
yangcq88517 2:723cccd7659a 38 */
yangcq88517 0:415f4b1b988e 39 virtual int readByte();
yangcq88517 0:415f4b1b988e 40
yangcq88517 2:723cccd7659a 41 /**
yangcq88517 2:723cccd7659a 42 * Write one byte of data.
yangcq88517 2:723cccd7659a 43 *
yangcq88517 2:723cccd7659a 44 * @param data [0x00-0xFF]
yangcq88517 2:723cccd7659a 45 *
yangcq88517 2:723cccd7659a 46 */
yangcq88517 0:415f4b1b988e 47 virtual void writeByte(char data);
yangcq88517 0:415f4b1b988e 48
yangcq88517 2:723cccd7659a 49 /** Check if the serial port is open, not implemented and has no affect,
yangcq88517 2:723cccd7659a 50 * @returns always true
yangcq88517 2:723cccd7659a 51 */
yangcq88517 0:415f4b1b988e 52 virtual bool isOpen();
yangcq88517 0:415f4b1b988e 53
yangcq88517 2:723cccd7659a 54 /// Open the serial port, not implemented and has no affect.
yangcq88517 0:415f4b1b988e 55 virtual void open();
yangcq88517 2:723cccd7659a 56
yangcq88517 2:723cccd7659a 57 /// Close the serial port, not implemented and has no affect.
yangcq88517 0:415f4b1b988e 58 virtual void close();
yangcq88517 2:723cccd7659a 59
yangcq88517 2:723cccd7659a 60 /** Check if data is ready to read.
yangcq88517 2:723cccd7659a 61 * @returns true data avaliable.
yangcq88517 2:723cccd7659a 62 * false data not avaliable.
yangcq88517 2:723cccd7659a 63 */
yangcq88517 2:723cccd7659a 64 virtual bool peek();
yangcq88517 0:415f4b1b988e 65 };
yangcq88517 0:415f4b1b988e 66
yangcq88517 0:415f4b1b988e 67 #endif