2019
Dependents: wheel_test6 wheel_test7 2019NHK_A_manual_red 2019NHK_A_manual_red
Diff: OmniPosition.h
- Revision:
- 13:913b647071a8
- Parent:
- 9:222f7fcbd05a
- Child:
- 14:16ee2a638ecb
diff -r edd4217ad7a5 -r 913b647071a8 OmniPosition.h --- a/OmniPosition.h Fri Oct 12 04:38:04 2018 +0000 +++ b/OmniPosition.h Tue Oct 23 19:29:35 2018 +0900 @@ -3,38 +3,34 @@ #include "mbed.h" -#include "SerialMultiByte.h" +#define OP_SERIAL_BUFFER_SIZE 9 +#define OP_HEADER_FIRST_BYTE 72 +#define OP_HEADER_SECOND_BYTE 42 +#define OP_DEFAULT_BAUD 115200 -#define FIRST_HEDDER 0xEE -#define SECOND_HEDDER 0xFF -#define BUFFER_SIZE 6 -#define TWO_BYTE_DATA 3 -#define ONE_BYTE_DATA 0 +class OmniPosition : public RawSerial { + public: + OmniPosition(PinName serialTX, PinName serialRX); -class OmniPosition -{ -public : - OmniPosition(PinName serialTX, PinName serialRX); + int16_t getX(); + int16_t getY(); + float getTheta(); - int16_t getX(); - int16_t getY(); - float getTheta(); + void reset(); - void reset(); - -private : - void assembleLoop(); + private: + DigitalOut debugled; + void receiveByte(); + void checkData(); - Thread thread; - - int16_t X; - int16_t Y; - int16_t theta; - - bool resetSend; - uint8_t rxdata[BUFFER_SIZE]; - int data[TWO_BYTE_DATA + ONE_BYTE_DATA]; - SerialMultiByte serial; + uint8_t buffer[9]; + uint8_t bufferSize; + uint8_t bufferPoint; + uint8_t receivedBytes; + int16_t X; + int16_t Y; + int16_t theta; }; -#endif \ No newline at end of file +#endif +