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:
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);