XbeeApi
Dependents: XbeeAPI Hybrid_main_FirstEdtion
XbeeApiLib.h@2:30220fb0e20e, 2017-03-13 (annotated)
- Committer:
- ark777
- Date:
- Mon Mar 13 06:31:22 2017 +0000
- Revision:
- 2:30220fb0e20e
- Parent:
- 1:34007fc9235e
????????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ark777 | 0:bca23ad9e6b5 | 1 | /* |
ark777 | 0:bca23ad9e6b5 | 2 | XbeeAPI用シリアル通信ライブラリ |
ark777 | 0:bca23ad9e6b5 | 3 | */ |
ark777 | 0:bca23ad9e6b5 | 4 | #include "mbed.h" |
ark777 | 0:bca23ad9e6b5 | 5 | #include <string> |
ark777 | 0:bca23ad9e6b5 | 6 | |
ark777 | 0:bca23ad9e6b5 | 7 | #ifndef _XbeeApiLib_h |
ark777 | 0:bca23ad9e6b5 | 8 | #define _XbeeApiLib_h |
ark777 | 0:bca23ad9e6b5 | 9 | |
ark777 | 0:bca23ad9e6b5 | 10 | class XbeeApi{ |
ark777 | 0:bca23ad9e6b5 | 11 | |
ark777 | 0:bca23ad9e6b5 | 12 | class Address{ |
ark777 | 0:bca23ad9e6b5 | 13 | public: |
ark777 | 0:bca23ad9e6b5 | 14 | char ADR[8]; |
ark777 | 0:bca23ad9e6b5 | 15 | char ADR16bit[2]; |
ark777 | 0:bca23ad9e6b5 | 16 | bool IsAvailable; |
ark777 | 0:bca23ad9e6b5 | 17 | char sum; |
ark777 | 0:bca23ad9e6b5 | 18 | }; |
ark777 | 0:bca23ad9e6b5 | 19 | public: |
ark777 | 1:34007fc9235e | 20 | XbeeApi(PinName Tx, PinName Rx, int BaudRate, void (*onPacketDataReceived)(int, char*)); |
ark777 | 0:bca23ad9e6b5 | 21 | void SetAddress(int Num, unsigned long HIGH, unsigned long LOW); |
ark777 | 0:bca23ad9e6b5 | 22 | void StartPacket(char StartWith); |
ark777 | 0:bca23ad9e6b5 | 23 | void Write(string val); |
ark777 | 0:bca23ad9e6b5 | 24 | void Write(int val); |
ark777 | 1:34007fc9235e | 25 | void Write(long long val); |
ark777 | 0:bca23ad9e6b5 | 26 | void Write(double val); |
ark777 | 0:bca23ad9e6b5 | 27 | void Write(float val); |
ark777 | 0:bca23ad9e6b5 | 28 | void EndPacket(); |
ark777 | 0:bca23ad9e6b5 | 29 | void ClearPacket(); |
ark777 | 0:bca23ad9e6b5 | 30 | |
ark777 | 0:bca23ad9e6b5 | 31 | void SetInterrupt(bool val); |
ark777 | 0:bca23ad9e6b5 | 32 | void OnDataReceived(); |
ark777 | 0:bca23ad9e6b5 | 33 | |
ark777 | 0:bca23ad9e6b5 | 34 | void OnTransmitEnabled(); |
ark777 | 0:bca23ad9e6b5 | 35 | |
ark777 | 0:bca23ad9e6b5 | 36 | int HopLimit; |
ark777 | 0:bca23ad9e6b5 | 37 | |
ark777 | 1:34007fc9235e | 38 | //パケット受信時に呼ばれる関数 |
ark777 | 1:34007fc9235e | 39 | void (*OnPacketReceived)(int, char*); |
ark777 | 1:34007fc9235e | 40 | |
ark777 | 0:bca23ad9e6b5 | 41 | private: |
ark777 | 0:bca23ad9e6b5 | 42 | int CheckSum; |
ark777 | 0:bca23ad9e6b5 | 43 | char buf[128]; |
ark777 | 0:bca23ad9e6b5 | 44 | int ReceivedBytesCounter; |
ark777 | 0:bca23ad9e6b5 | 45 | char RxBuf[256]; |
ark777 | 0:bca23ad9e6b5 | 46 | int itr; |
ark777 | 0:bca23ad9e6b5 | 47 | int BytesToTransmit; |
ark777 | 0:bca23ad9e6b5 | 48 | int NextTransmitIndex; |
ark777 | 0:bca23ad9e6b5 | 49 | int TransmittingAddrNum; |
ark777 | 0:bca23ad9e6b5 | 50 | bool IsTransmitting; |
ark777 | 0:bca23ad9e6b5 | 51 | |
ark777 | 0:bca23ad9e6b5 | 52 | void WriteWithEsc(char c); |
ark777 | 0:bca23ad9e6b5 | 53 | |
ark777 | 0:bca23ad9e6b5 | 54 | Address address[4]; |
ark777 | 0:bca23ad9e6b5 | 55 | Serial Xbee; |
ark777 | 0:bca23ad9e6b5 | 56 | }; |
ark777 | 0:bca23ad9e6b5 | 57 | |
ark777 | 0:bca23ad9e6b5 | 58 | |
ark777 | 0:bca23ad9e6b5 | 59 | #endif |