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
setup.cpp@118:962f226bdf64, 2021-11-18 (annotated)
- Committer:
- NaotoMorita
- Date:
- Thu Nov 18 00:50:47 2021 +0000
- Revision:
- 118:962f226bdf64
- Parent:
- 113:3e47d9881529
bias mod
Who changed what in which revision?
User | Revision | Line number | New 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 | 96:3645f8f9bdd3 | 18 | gps.Attach(); |
osaka | 88:be349faa1976 | 19 | wait_ms(100); |
osaka | 88:be349faa1976 | 20 | |
NaotoMorita | 113:3e47d9881529 | 21 | SensorAlignmentAG << 1.0f << 0.0f << 0.0f |
NaotoMorita | 113:3e47d9881529 | 22 | << 0.0f << 1.0f << 0.0f |
NaotoMorita | 113:3e47d9881529 | 23 | << 0.0f << 0.0f << -1.0f; |
NaotoMorita | 118:962f226bdf64 | 24 | SensorAlignmentMAG << -1.0f << 0.0f << 0.0f |
NaotoMorita | 118:962f226bdf64 | 25 | << 0.0f << 1.0f << 0.0f |
NaotoMorita | 118:962f226bdf64 | 26 | << 0.0f << 0.0f << -1.0f; |
NaotoMorita | 93:b827f78a717a | 27 | |
cocorlow | 56:888379912f81 | 28 | pitchPID.setSetPoint(0.0); |
cocorlow | 56:888379912f81 | 29 | pitchratePID.setSetPoint(0.0); |
NaotoMorita | 70:99f974d8960e | 30 | rollPID.setSetPoint(0.0); |
NaotoMorita | 70:99f974d8960e | 31 | rollratePID.setSetPoint(0.0); |
cocorlow | 56:888379912f81 | 32 | pitchPID.setBias(0.0); |
NaotoMorita | 70:99f974d8960e | 33 | pitchratePID.setBias(0.0); |
NaotoMorita | 70:99f974d8960e | 34 | rollPID.setBias(0.0); |
NaotoMorita | 70:99f974d8960e | 35 | rollratePID.setBias(0.0); |
cocorlow | 56:888379912f81 | 36 | pitchPID.setOutputLimits(-1.0,1.0); |
cocorlow | 56:888379912f81 | 37 | pitchratePID.setOutputLimits(-1.0,1.0); |
NaotoMorita | 70:99f974d8960e | 38 | rollPID.setOutputLimits(-1.0,1.0); |
NaotoMorita | 70:99f974d8960e | 39 | rollratePID.setOutputLimits(-1.0,1.0); |
NaotoMorita | 70:99f974d8960e | 40 | pitchPID.setInputLimits(-M_PI,M_PI); |
NaotoMorita | 70:99f974d8960e | 41 | pitchratePID.setInputLimits(-M_PI,M_PI); |
NaotoMorita | 70:99f974d8960e | 42 | rollPID.setInputLimits(-M_PI,M_PI); |
NaotoMorita | 70:99f974d8960e | 43 | rollratePID.setInputLimits(-M_PI,M_PI); |
cocorlow | 56:888379912f81 | 44 | |
NaotoMorita | 70:99f974d8960e | 45 | servoRight.period_us(15000.0); |
NaotoMorita | 70:99f974d8960e | 46 | servoLeft.period_us(15000.0); |
NaotoMorita | 70:99f974d8960e | 47 | servoThrust.period_us(15000.0); |
NaotoMorita | 70:99f974d8960e | 48 | servoRight.pulsewidth_us(1500.0); |
NaotoMorita | 70:99f974d8960e | 49 | servoLeft.pulsewidth_us(1500.0); |
NaotoMorita | 70:99f974d8960e | 50 | servoThrust.pulsewidth_us(1100.0); |
osaka | 109:eb255fc4462b | 51 | |
osaka | 109:eb255fc4462b | 52 | autopilot.set_dest(destination.x, destination.y); |
osaka | 109:eb255fc4462b | 53 | autopilot.set_turn(turn_center.x, turn_center.y, turn_radius); |
cocorlow | 56:888379912f81 | 54 | } |
cocorlow | 56:888379912f81 | 55 | |
cocorlow | 56:888379912f81 | 56 | void calibrate() |
cocorlow | 56:888379912f81 | 57 | { |
cocorlow | 56:888379912f81 | 58 | while(1) |
cocorlow | 56:888379912f81 | 59 | { |
cocorlow | 56:888379912f81 | 60 | wait(1000); |
cocorlow | 56:888379912f81 | 61 | } |
cocorlow | 56:888379912f81 | 62 | } |