XYZ platform including 3 motors and 8 magnetometers (LIS3MDL).
Fork of XYZ_sensor_Platform by
Diff: xyz_sensor_platform.h
- 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;