2019

Dependents:   wheel_test6 wheel_test7 2019NHK_A_manual_red 2019NHK_A_manual_red

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
+