solaESKF_EIGEN

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

Committer:
osaka
Date:
Thu Oct 21 06:41:03 2021 +0000
Revision:
88:be349faa1976
Parent:
87:89bbbcdb667b
Child:
93:b827f78a717a
newer

Who changed what in which revision?

UserRevisionLine numberNew contents of line
cocorlow 56:888379912f81 1 #include "global.hpp"
osaka 88:be349faa1976 2 using namespace std;
cocorlow 56:888379912f81 3
cocorlow 56:888379912f81 4 void setup()
cocorlow 56:888379912f81 5 {
osaka 88:be349faa1976 6 sd.baud(115200);
osaka 88:be349faa1976 7 sd.printf("\r\nFlight Start\r\n");
osaka 88:be349faa1976 8 twelite.baud(38400);
osaka 88:be349faa1976 9 twelite.printf("\r\nTelemetory Start\r\n");
osaka 88:be349faa1976 10
osaka 88:be349faa1976 11 uint16_t reg = lsm.begin(lsm.G_SCALE_245DPS, lsm.A_SCALE_8G);
osaka 88:be349faa1976 12 //printf("%x\n", reg);
osaka 88:be349faa1976 13 if (!lps.init()){
osaka 88:be349faa1976 14 twelite.printf("Failed to autodetect pressure sensor!\r\n");
osaka 88:be349faa1976 15 while (1);
osaka 88:be349faa1976 16 }
osaka 88:be349faa1976 17 lps.enableDefault();
osaka 88:be349faa1976 18 wait_ms(100);
osaka 88:be349faa1976 19
cocorlow 56:888379912f81 20 pitchPID.setSetPoint(0.0);
cocorlow 56:888379912f81 21 pitchratePID.setSetPoint(0.0);
NaotoMorita 70:99f974d8960e 22 rollPID.setSetPoint(0.0);
NaotoMorita 70:99f974d8960e 23 rollratePID.setSetPoint(0.0);
cocorlow 56:888379912f81 24 pitchPID.setBias(0.0);
NaotoMorita 70:99f974d8960e 25 pitchratePID.setBias(0.0);
NaotoMorita 70:99f974d8960e 26 rollPID.setBias(0.0);
NaotoMorita 70:99f974d8960e 27 rollratePID.setBias(0.0);
cocorlow 56:888379912f81 28 pitchPID.setOutputLimits(-1.0,1.0);
cocorlow 56:888379912f81 29 pitchratePID.setOutputLimits(-1.0,1.0);
NaotoMorita 70:99f974d8960e 30 rollPID.setOutputLimits(-1.0,1.0);
NaotoMorita 70:99f974d8960e 31 rollratePID.setOutputLimits(-1.0,1.0);
NaotoMorita 70:99f974d8960e 32 pitchPID.setInputLimits(-M_PI,M_PI);
NaotoMorita 70:99f974d8960e 33 pitchratePID.setInputLimits(-M_PI,M_PI);
NaotoMorita 70:99f974d8960e 34 rollPID.setInputLimits(-M_PI,M_PI);
NaotoMorita 70:99f974d8960e 35 rollratePID.setInputLimits(-M_PI,M_PI);
cocorlow 56:888379912f81 36
NaotoMorita 70:99f974d8960e 37 servoRight.period_us(15000.0);
NaotoMorita 70:99f974d8960e 38 servoLeft.period_us(15000.0);
NaotoMorita 70:99f974d8960e 39 servoThrust.period_us(15000.0);
NaotoMorita 70:99f974d8960e 40 servoRight.pulsewidth_us(1500.0);
NaotoMorita 70:99f974d8960e 41 servoLeft.pulsewidth_us(1500.0);
NaotoMorita 70:99f974d8960e 42 servoThrust.pulsewidth_us(1100.0);
cocorlow 56:888379912f81 43 }
cocorlow 56:888379912f81 44
cocorlow 56:888379912f81 45 void calibrate()
cocorlow 56:888379912f81 46 {
cocorlow 56:888379912f81 47 while(1)
cocorlow 56:888379912f81 48 {
cocorlow 56:888379912f81 49 wait(1000);
cocorlow 56:888379912f81 50 }
cocorlow 56:888379912f81 51 }