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

Dependents:   2018NHK_gakugaku_robo 2018NHK_gaku_ver2 2019NHK_A_sensor

Revision:
7:81f9d1372c45
Parent:
6:3651a37efd0e
--- a/TFmini.h	Sat Oct 06 05:01:42 2018 +0000
+++ b/TFmini.h	Mon Jun 24 08:59:14 2019 +0000
@@ -6,34 +6,32 @@
 #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
 
-class TFmini : public RawSerial {
-    public :
-        TFmini(PinName serialTX, PinName serialRX);
+class TFmini : public RawSerial
+{
+public :
+    TFmini(PinName serialTX, PinName serialRX);
 
-        int getDistance();
-        int getStrength();
-
-    private :
-        void readData();
-        void assemble();
-
-        int incrementCounter(int counter);
+    int getDistance();
+    int getStrength();
 
-        int readCounter;
-        int takeCounter;
-        Ticker assembleTicker;
-        
-        int distance;
-        int strength;
+private :    
+    void receiveByte();
+    void checkData();
+    void assemble();
+    
+    int distance;
+    int strength;
+    uint8_t reserved;
+    uint8_t rawQual;
 
-        uint8_t *buffer;
-        uint8_t *data;
-
-        bool headerCheck;
-        int headerPoint;
+    uint8_t buffer[TF_SERIAL_BUFFER_SIZE];
+    uint8_t data[TF_SERIAL_BUFFER_SIZE - 3];
+    //uint8_t mask;
+    uint8_t bufferPoint;
+    uint8_t receivedBytes;
+    
 };
 
 #endif