Revised for integration

Dependencies:   QEI2 chair_BNO055 PID VL53L1X_Filter

Revision:
12:921488918749
Parent:
11:d14a1f7f1297
Child:
14:9caca9fde9b0
--- a/wheelchair.h	Wed Aug 01 22:39:22 2018 +0000
+++ b/wheelchair.h	Thu Aug 09 16:36:46 2018 +0000
@@ -2,40 +2,80 @@
 #define wheelchair
 
 #include "chair_BNO055.h"
+#include "PID_v1.h"
+#include "QEI.h"
+
 //#include "chair_MPU9250.h"
 
 #define turn_precision 10
 #define def (2.5f/3.3f)
-#define high 3.3f
+#define high 3.3f/3.3f
 #define offset .02f
 #define low (1.7f/3.3f)
 #define process .1
 #define xDir D12 //top right two pins
 #define yDir D13 //top left two pins
-
+#define Encoder1 D0
+#define Encoder2 D1
+#define EncoderReadRate 1200
+#define Diameter 31.75
+/** Wheelchair class
+ * Used for controlling the smart wheelchair
+ */
 class Wheelchair
 {
 public:
+    /** Create Wheelchair Object with x,y pin for analog dc output
+     * serial for printout, and timer
+     */
     Wheelchair(PinName xPin, PinName yPin, Serial* pc, Timer* time);
+    
+    /** move using the joystick */
     void move(float x_coor, float y_coor);
+    
+    /* turn right a certain amount of degrees (overshoots)*/
     double turn_right(int deg);
+    
+    /* turn left a certain amount of degrees (overshoots)*/
     double turn_left(int deg);
+    
+    /* turn right a certain amount of degrees using PID*/
+    void pid_right(int deg);
+    
+    /* turn left a certain amount of degrees using PID*/
+    void pid_left(int deg);
+    
+    /* turning function that turns any direction */
     void turn(int deg);
+    
+    /* drive the wheelchair forward */
     void forward();
+    
+    /* drive the wheelchair backward*/
     void backward();
+    
+    /* turn the wheelchair right*/
     void right();
+    
+    /* turn the wheelchair left*/
     void left();
+    
+    /* stop the wheelchair*/
     void stop();
+    
+    /* function to get imu data*/
     void compass_thread();
-    chair_BNO055* imu;
-
+    float getDistance();
+    void resetDistance();
+    void pid_turn(int deg);
+    
 private:
     PwmOut* x;
     PwmOut* y;
-    //chair_BNO055* imu;
-    //chair_MPU9250* imu;
+    chair_BNO055* imu;
     Serial* out;
     Timer* ti;
+    QEI* wheel;
 
 };
 #endif
\ No newline at end of file