Eigen Revision

Dependencies:   mbed LPS25HB_I2C LSM9DS1 PIDcontroller Autopilot_Eigen LoopTicker GPSUBX_UART_Eigen SBUS_without_mainfile MedianFilter Eigen UsaPack solaESKF_Eigen Vector3 CalibrateMagneto FastPWM

Revision:
70:99f974d8960e
Parent:
68:b9f6938fab9d
Child:
73:84ffa0166e6c
--- a/global.hpp	Mon Jun 28 01:45:12 2021 +0000
+++ b/global.hpp	Tue Jun 29 08:07:55 2021 +0000
@@ -2,6 +2,7 @@
 #define __GLOBAL_HPP__
 
 #include "mbed.h"
+#include "SBUS.hpp"
 #include "PIDcontroller.h"
 #include "LoopTicker.hpp"
 #include "MPU6050.h"
@@ -13,14 +14,15 @@
 #include "UsaPack.hpp"
 #include "Vector3.hpp"
 #include "errStateEKF.hpp"
+#include "MedianFilter.hpp"
 
 #define MPU6050_PWR_MGMT_1   0x6B
 #define MPU_ADDRESS  0x68
 #define M_PI 3.141592f
 #define ACCEL_FSR MPU6050_ACCEL_FS_8
 #define ACCEL_SSF 4096.0f
-#define GYRO_FSR MPU6050_GYRO_FS_500
-#define GYRO_SSF 65.5f
+#define GYRO_FSR MPU6050_GYRO_FS_250
+#define GYRO_SSF 131.0f
 #define MPU6050_LPF MPU6050_DLPF_BW_256
 #define PID_dt 0.015f
 #define servoPwmMax  1800.0f
@@ -51,15 +53,19 @@
 
 // io
 extern DigitalIn userButton;
-extern CalibrateMagneto joyCalibrator;
+extern SBUS sbus;
 
 // control
-extern FastPWM elevServo;
-extern FastPWM rudServo;
-extern PID pitchPID; // rad
-extern PID pitchratePID;// rad/s
+extern FastPWM servoRight;
+extern FastPWM servoLeft;
+extern FastPWM servoThrust;
+extern PID pitchPID; //rad
+extern PID pitchratePID;//rad/s
+extern PID rollPID;
+extern PID rollratePID;//rad/s
 extern errStateEKF ekf; // EKF class
 
+extern float rc[16];
 extern int loop_count;
 extern float att_dt;
 
@@ -68,6 +74,7 @@
 extern MotionSensorDataUnits mdata;
 extern float magval[3];
 
+
 // position
 extern Vector3 rpy; // x:roll  y:pitch  z:yaw
 extern Vector3 acc;
@@ -76,16 +83,22 @@
 extern Vector3 mag;
 extern Vector3 magref;
 extern Vector3 gyro;
+extern MedianFilter accMedian;
+extern MedianFilter gyroMedian;
+extern MedianFilter magMedian;
 
 extern float scaledServoOut[2];
+extern float scaledMotorOut[1];
 extern float servoOut[2];
-
+extern float motorOut[1];
 
 
 extern int calibrationFlag;
 extern int agoffset[6];
 extern float magbiasMin[3];
 extern float magbiasMax[3];
+extern float accMin[3];
+extern float accMax[3];
 
 extern Vector3 rpy_align;
 
@@ -100,6 +113,7 @@
 // setup.cpp
 extern void setup();
 extern void calibrate();
+extern float accScaleCalibrate(int attNo);
 
 // run.cpp
 extern void run();