TFmini(Micro LiDAR Module) library tested on mbedos5.x

Dependents:   2018NHK_gakugaku_robo 2018NHK_gaku_ver2 2019NHK_A_sensor

Revision:
6:3651a37efd0e
Parent:
5:eeb0e5bdd8b9
Child:
7:81f9d1372c45
--- a/TFmini.h	Wed Aug 29 09:19:56 2018 +0000
+++ b/TFmini.h	Sat Oct 06 05:01:42 2018 +0000
@@ -1,42 +1,39 @@
 #ifndef TFMINI_H
 #define TFMINI_H
 
-/**
- * Includes
- */
 #include "mbed.h"
-#include <vector>
 
-/**
- * Defines
- */
 #define TF_SERIAL_BUFFER_SIZE 9
 #define TF_HEADER_FIRST_BYTE 0x59
 #define TF_HEADER_SECOND_BYTE 0x59
+#define TF_RECEIVE_FREQ 0.01
 #define TF_DEFAULT_BAUD 115200
 
-/**
- * TFmini(LiDAR snsor)\\
- * sample code is here https://os.mbed.com/teams/NHK-Robocon2016_Nagaoka_B_Team/code/TFmini_sample/
- */
 class TFmini : public RawSerial {
     public :
         TFmini(PinName serialTX, PinName serialRX);
 
         int getDistance();
         int getStrength();
-        int getSize();
 
     private :
-        void receiveByte();
-        void assembleLoop();
+        void readData();
         void assemble();
 
-        Thread thread;
-        std::vector<unsigned char> buf;
+        int incrementCounter(int counter);
+
+        int readCounter;
+        int takeCounter;
+        Ticker assembleTicker;
         
         int distance;
         int strength;
+
+        uint8_t *buffer;
+        uint8_t *data;
+
+        bool headerCheck;
+        int headerPoint;
 };
 
 #endif