Raj Patel / Mbed 2 deprecated RoboticMappingControl

Dependencies:   mbed mbed-rtos Motor LSM9DS1_Library_cal X_NUCLEO_53L0A1

Revision:
14:0e6b26c1a7c5
Parent:
11:531208aca075
Child:
17:e1a5d25218de
--- a/RobotController.h	Tue Apr 23 20:00:04 2019 +0000
+++ b/RobotController.h	Thu Apr 25 03:21:17 2019 +0000
@@ -9,6 +9,10 @@
 
 #define COUNTPERIN 75.029 ///< Encoder counts 192 every 65 mm of wheel rotation
 #define COUNTPERDEG 1.21 ///< Encoder counts 2.42 every 1 deg of body rotation
+#define ROTERRI 0.730 ///< 90 commanded rotation overshoot compensation
+#define ROTERRII 0.770 ///< 180 commanded rotation overshoot compensation
+#define ROTERRIII 0.810 ///< 270, 360 commanded rotation overshoot compensation
+#define MMTOIN 0.0393701 ///< Metric to emperical length conversion
 
 /**
  * Robot Controller class.
@@ -25,13 +29,14 @@
          * @param rightWheelRev mbed pin transmitting reverse direction to right motor driver
          * @param leftEncoder mbed pin receiving rotation count from left encoder
          * @param rightEncoder mbed pin receiving rotation count from right encoder
-         * @param imuSda mbed pin for imu I2C data line
-         * @param imuScl mbed pin for imu I2C clock line
+         * @param lidarShdn mbed pin commanding lidar reset
+         * @param sda mbed pin for I2C data line
+         * @param scl mbed pin for I2C clock line
          */
         RobotController(PinName leftWheelPwm, PinName leftWheelFwd,
             PinName leftWheelRev, PinName rightWheelPwm, PinName rightWheelFwd,
             PinName rightWheelRev, PinName leftEncoder, PinName rightEncoder,
-            PinName imuSda, PinName imuScl);
+            PinName lidarShdn, PinName sda, PinName scl);
 
         /**
          * Robot Controller destructor.
@@ -51,10 +56,15 @@
     private:
         Motor leftWheel;
         Motor rightWheel;
-        Encoder leftEncoder;
-        Encoder rightEncoder;
+        Encoder _leftEncoder;
+        Encoder _rightEncoder;
+        DevI2C* lidarDevice;
+        XNucleo53L0A1* lidarBoard;
+        DigitalOut _lidarShdn;
+        uint32_t lidarDistance;
         LSM9DS1 imu;
         Timer t;
+        float yaw;
         float w1;
         float w2;
         float t1;