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
Diff: global.hpp
- Revision:
- 70:99f974d8960e
- Parent:
- 68:b9f6938fab9d
- Child:
- 73:84ffa0166e6c
diff -r 401c5d4454fc -r 99f974d8960e global.hpp --- 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();