For coursework of group 3 in SOFT564Z

Dependencies:   Motordriver ros_lib_kinetic

Revision:
12:82b8fe254222
Parent:
10:c752a8d76ee2
--- a/VL6180.hpp	Thu Dec 19 00:13:38 2019 +0000
+++ b/VL6180.hpp	Sun Jan 05 15:42:22 2020 +0000
@@ -1,6 +1,6 @@
 #include "mbed.h"
-#include "General.hpp"
-#include "rtos.h"
+//#include "General.hpp"
+//#include "rtos.h"
 #include "Pins.h"
 
 #ifndef Define_ONCE_VL6180
@@ -11,39 +11,30 @@
 #define TOF_Addresses {0x29} //, 0x2A, 0x2B, 0x2C}
 #define Shifted_TOF_Addresses {0x82} //, 0x84, 0x86, 0x88}
 
-// Thread that runs TOF sensors
-int TOF_Thread();
+
+//Addresses
+#define address1   (0x29)
+#define address2   (0x2A)
+#define address3   (0x2B)
+#define address4   (0x2C)
 
-// Class Terminal expects tx and rx pins and is used for controlling a serialy conected terminal
-class VL6180
-{
-public:
-    VL6180(I2C& comm_bus, PinName SHDWN, char Address) : shutdown(SHDWN), i2c(comm_bus){addr = Address;};
+//Shifted addresses, so the R/W command can be added
+#define address1shift   (address1<<1)
+#define address2shift   (address2<<1)
+#define address3shift   (address3<<1)
+#define address4shift   (address4<<1)
+
 
-    bool Init(void);
-    bool TOF_PWR(bool State);
-    void WriteByte(wchar_t reg, char data);
-    void WriteByte_Uninitialized(wchar_t reg, char data, char Uninitialized_Address);
-    int Start_Range(void);
-    int Poll_Range(void);
-    int Read_Range(void);
-    int Clear_Interrupts(void);
-    
-private:
-    // I2C Bus TOF is connected to
-    I2C& i2c;
-    // Private functions
-    char ReadByte(wchar_t reg);
-    char ReadByte_Uninitialized(wchar_t reg, char Uninitialized_Address);
-    void WriteByte_Uninitialized(wchar_t reg, char data);
-    // Private Variables
-    char addr;
-    // IOs
-    DigitalOut shutdown;
-};
+// Thread that runs TOF sensors
+void TOF_Handler();
 
-// TypeDef for pointer to the TOF class (needed for dynamic creation of objects)
-typedef VL6180* TOFsPtr;
-// Function to Initialise all TOF sensors
-bool Init_All_TOFs(TOFsPtr *tof);
+int VL6180_Init(char addr);
+void WriteByte_Uninitialized(wchar_t reg, char data, char addr);
+char ReadByte(wchar_t reg, char addr);
+int VL6180_Start_Range(char addr);
+int VL6180_Poll_Range(char addr);
+int VL6180_Read_Range(char addr);
+int VL6180_Clear_Interrupts(char addr);
+void Get_TOF_Reading(void);
+
 #endif