XBee API operation library for mbed for miniprojects
Dependencies: SmartLabXBeeCore
Fork of SmartLabXBeeAPI2 by
SerialData.h@7:6a9c4d7da3a1, 2015-11-14 (annotated)
- Committer:
- yangcq88517
- Date:
- Sat Nov 14 16:43:20 2015 +0000
- Revision:
- 7:6a9c4d7da3a1
- Parent:
- 2:723cccd7659a
change to unsigned char array
Who changed what in which revision?
User | Revision | Line number | New 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 |