QAQ ==!
Dependencies: mbed QEI-1 nRF24L01P xiugai
JY901.h@15:934289377f7a, 2019-12-14 (annotated)
- Committer:
- AlexQian
- Date:
- Sat Dec 14 05:45:16 2019 +0000
- Revision:
- 15:934289377f7a
- Parent:
- 14:5bc7349d0e3b
Balance_Car;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
zhangyx | 14:5bc7349d0e3b | 1 | #include "mbed.h" |
zhangyx | 14:5bc7349d0e3b | 2 | #include "BufferedSerial.h" |
zhangyx | 14:5bc7349d0e3b | 3 | class JY901 |
zhangyx | 14:5bc7349d0e3b | 4 | { |
zhangyx | 14:5bc7349d0e3b | 5 | int state, token, payloadLen, recvLen; |
zhangyx | 14:5bc7349d0e3b | 6 | unsigned char payloadBuf[16]; |
zhangyx | 14:5bc7349d0e3b | 7 | protected: |
zhangyx | 14:5bc7349d0e3b | 8 | BufferedSerial mod; |
zhangyx | 14:5bc7349d0e3b | 9 | float acc[3], gyo[3], mag[3], att[3]; |
zhangyx | 14:5bc7349d0e3b | 10 | void parseCmpt(int token, unsigned char* payloadBuf, int payloadLen); |
zhangyx | 14:5bc7349d0e3b | 11 | void parseInput(const char* data, int len); |
zhangyx | 14:5bc7349d0e3b | 12 | public: |
zhangyx | 14:5bc7349d0e3b | 13 | JY901(PinName TX, PinName RX) : mod(TX, RX, 32){} |
zhangyx | 14:5bc7349d0e3b | 14 | ~JY901() {} |
zhangyx | 14:5bc7349d0e3b | 15 | void baud (int baudrate) {mod.baud(baudrate);} |
zhangyx | 14:5bc7349d0e3b | 16 | void receiveData(); |
zhangyx | 14:5bc7349d0e3b | 17 | void getAcc(float &x, float &y, float &z){ |
zhangyx | 14:5bc7349d0e3b | 18 | x = acc[0]; |
zhangyx | 14:5bc7349d0e3b | 19 | y = acc[1]; |
zhangyx | 14:5bc7349d0e3b | 20 | z = acc[2]; |
zhangyx | 14:5bc7349d0e3b | 21 | } |
zhangyx | 14:5bc7349d0e3b | 22 | void getGyo(float &x, float &y, float &z){ |
zhangyx | 14:5bc7349d0e3b | 23 | x = gyo[0]; |
zhangyx | 14:5bc7349d0e3b | 24 | y = gyo[1]; |
zhangyx | 14:5bc7349d0e3b | 25 | z = gyo[2]; |
zhangyx | 14:5bc7349d0e3b | 26 | } |
zhangyx | 14:5bc7349d0e3b | 27 | void getMag(float &x, float &y, float &z){ |
zhangyx | 14:5bc7349d0e3b | 28 | x = mag[0]; |
zhangyx | 14:5bc7349d0e3b | 29 | y = mag[1]; |
zhangyx | 14:5bc7349d0e3b | 30 | z = mag[2]; |
zhangyx | 14:5bc7349d0e3b | 31 | } |
zhangyx | 14:5bc7349d0e3b | 32 | void getAttitude(float &roll, float &pitch, float &yaw){ |
zhangyx | 14:5bc7349d0e3b | 33 | roll = att[0]; |
zhangyx | 14:5bc7349d0e3b | 34 | pitch = att[1]; |
zhangyx | 14:5bc7349d0e3b | 35 | yaw = att[2]; |
zhangyx | 14:5bc7349d0e3b | 36 | } |
zhangyx | 14:5bc7349d0e3b | 37 | }; |