XYZ platform including 3 motors and 8 magnetometers (LIS3MDL).

Fork of XYZ_sensor_Platform by Shih-Ho Hsieh

Revision:
3:2194b5b4f82a
Parent:
2:856f03e64695
Child:
4:229de5852b9e
--- a/xyz_sensor_platform.h	Thu Nov 09 03:40:43 2017 +0000
+++ b/xyz_sensor_platform.h	Fri Nov 10 02:39:21 2017 +0000
@@ -6,7 +6,7 @@
 #include "altimu_10_v5.h"
 #include "motor.h"
 #include "motor_targets.h"
-
+//#define MOTOR_INITIAL
 /*** Typedefs ----------------------------------------------------------------- ***/
 typedef struct {
     int32_t AXIS_X;
@@ -21,27 +21,27 @@
     void init(void);
     
     void go_forward() {
-        motorY->go(DOWN);
+        motorY->go(NON_MOTOR_SIDE);
     }
     
     void go_backward() {
-        motorX->go(UP);
+        motorX->go(MOTOR_SIDE);
     }
     
     void go_up() {
-        motorZ->go(UP);
+        motorZ->go(MOTOR_SIDE);
     }
     
     void go_down() {
-        motorZ->go(DOWN);
+        motorZ->go(NON_MOTOR_SIDE);
     }
     
     void go_right() {
-        motorY->go(UP);
+        motorY->go(MOTOR_SIDE);
     }
     
     void go_left() {
-        motorY->go(DOWN);
+        motorY->go(NON_MOTOR_SIDE);
     }
     
     void set_speed(float speed) {
@@ -77,6 +77,10 @@
         return ret;
     }
     
+    int get_mag_raw(int16_t *ret) {
+        return magnetometer->get_m_axes_raw(ret);
+    }
+    
     AxesRaw_TypeDef get_acc() {
         AxesRaw_TypeDef ret;
         accelerometer->get_x_axes((int32_t *)&ret);
@@ -89,8 +93,15 @@
         return ret;
     }
 private:
-
+    void x_zero();
+    void x_end();
+    void y_zero();
+    void y_end();
+    void z_zero();
+    void z_end();
     Motor *motorX, *motorY, *motorZ;
+    float x,y,z;
+//    InterruptIn xZero, xEnd, yZero, yEnd, zZero, zEnd;
     AltIMU_10_v5 *sensor;
     GyroSensor *gyroscope;
     MotionSensor *accelerometer;