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
global.hpp
- Committer:
- NaotoMorita
- Date:
- 2021-06-28
- Revision:
- 68:b9f6938fab9d
- Parent:
- 67:41fcdfb7cc5a
- Child:
- 70:99f974d8960e
File content as of revision 68:b9f6938fab9d:
#ifndef __GLOBAL_HPP__ #define __GLOBAL_HPP__ #include "mbed.h" #include "PIDcontroller.h" #include "LoopTicker.hpp" #include "MPU6050.h" #include "MAG3110.h" #include "CalibrateMagneto.h" #include "I2Cdev.h" #include "FastPWM.h" #include <cmath> #include "UsaPack.hpp" #include "Vector3.hpp" #include "errStateEKF.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 MPU6050_LPF MPU6050_DLPF_BW_256 #define PID_dt 0.015f #define servoPwmMax 1800.0f #define servoPwmMin 1200.0f #define motorPwmMax 2000.0f #define motorPwmMin 1100.0f struct valuePack { float dt; int count; float acc_vp[3]; float gyro_vp[3]; float mag_vp[3]; float rpy_vp[3]; }; // var // communication extern I2C i2c; // sda, scl extern UsaPack pc; // log - tail // sensor extern MPU6050 accelgyro; extern MAG3110 mag_sensor; extern CalibrateMagneto magCalibrator; // io extern DigitalIn userButton; extern CalibrateMagneto joyCalibrator; // control extern FastPWM elevServo; extern FastPWM rudServo; extern PID pitchPID; // rad extern PID pitchratePID;// rad/s extern errStateEKF ekf; // EKF class extern int loop_count; extern float att_dt; extern int16_t ax, ay, az; extern int16_t gx, gy, gz; extern MotionSensorDataUnits mdata; extern float magval[3]; // position extern Vector3 rpy; // x:roll y:pitch z:yaw extern Vector3 acc; extern Vector3 accref; extern Vector3 dynacc; extern Vector3 mag; extern Vector3 magref; extern Vector3 gyro; extern float scaledServoOut[2]; extern float servoOut[2]; extern int calibrationFlag; extern int agoffset[6]; extern float magbiasMin[3]; extern float magbiasMax[3]; extern Vector3 rpy_align; //// UsaPack extern valuePack posValues; // function // main.cpp // setup.cpp extern void setup(); extern void calibrate(); // run.cpp extern void run(); // imu.cpp extern void getIMUval(); // servo.cpp extern void calcServoOut(); // sd_eeprom.cpp extern void writeSdcard(); // global.cpp extern float mapfloat(float x, float in_min, float in_max, float out_min, float out_max); #endif