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:
- 64:e9661430f0e3
- Parent:
- 61:c05353850017
- Child:
- 66:e5afad70fdd8
--- a/global.hpp Tue Jun 22 02:02:08 2021 +0000 +++ b/global.hpp Tue Jun 22 02:04:32 2021 +0000 @@ -3,7 +3,6 @@ #include "mbed.h" #include "PIDcontroller.h" -#include "SBUS.hpp" #include "LoopTicker.hpp" #include "MPU6050.h" #include "MAG3110.h" @@ -23,20 +22,11 @@ #define GYRO_FSR MPU6050_GYRO_FS_250 #define GYRO_SSF 131.0f #define MPU6050_LPF MPU6050_DLPF_BW_256 -#define gyro_th 20.0f #define PID_dt 0.015f #define servoPwmMax 1800.0f #define servoPwmMin 1200.0f #define motorPwmMax 2000.0f #define motorPwmMin 1100.0f -#define N_EEPROM 12 - -// struct union -union U -{ - int i[N_EEPROM]; // 0: flag(>1で正常に書き込まれた状態) 1 ~ 3: 磁場の中心座標, 4: 磁場の半径、 5~7; mag, 8~10: acc bias - char c[N_EEPROM*4]; // floatはcharの4倍 -}; struct valuePack { @@ -52,10 +42,8 @@ // var // communication -extern Serial pc; extern I2C i2c; // sda, scl -extern UsaPack tail; // log - tail -extern SBUS sbus; +extern UsaPack pc; // log - tail // sensor extern MPU6050 accelgyro; @@ -64,19 +52,17 @@ // io extern DigitalIn userButton; -extern DigitalIn locdef1; -extern DigitalIn locdef2; +extern CalibrateMagneto joyCalibrator; // control -extern FastPWM servo; +extern FastPWM elevServo; +extern FastPWM rudServo; extern PID pitchPID; // rad extern PID pitchratePID;// rad/s extern HAPS_EKF ekf; // EKF class extern int loop_count; -extern int obs_count; extern float att_dt; -extern float rc[16]; extern int16_t ax, ay, az; extern int16_t gx, gy, gz; @@ -85,42 +71,27 @@ // position extern Vector3 rpy; // x:roll y:pitch z:yaw -extern Vector3 rpy_g; // x:roll y:pitch z:yaw extern Vector3 acc; extern Vector3 accref; extern Vector3 mag; extern Vector3 magref; -extern Vector3 dynacc; extern Vector3 gyro; -extern Vector3 LPacc; -extern Vector3 LPmag; - -extern float scaledServoOut[1]; -extern float servoOut[1]; +extern float scaledServoOut[2]; +extern float servoOut[2]; -extern float val_thmg; -extern float sigma_thmg; -extern float th_mg; -extern float accnormerr; -extern float sigma_accnorm; extern int calibrationFlag; -extern int pos_tail; // 0:left 1:center 2:right extern int agoffset[6]; extern float magbiasMin[3]; extern float magbiasMax[3]; extern Vector3 rpy_align; -// eepromのread writeのためのunionを定義 -extern const int eeprom_address; // EEPROMの3つの入力が全て+より -extern const int eeprom_pointeraddress; //// UsaPack -extern const int tail_address[3]; -extern valuePack posValues[3]; +extern valuePack posValues; // function @@ -141,8 +112,6 @@ // sd_eeprom.cpp extern void writeSdcard(); -extern void writeEEPROM(int address, unsigned int eeaddress, char *data, int size); -extern void readEEPROM(int address, unsigned int eeaddress, char *data, int size); // global.cpp extern float mapfloat(float x, float in_min, float in_max, float out_min, float out_max);