Quadrotor stabi
Dependencies: ESC HMC5883L MPU6050 MadgwickAHRS MemLog Servo mbed ms5611
defines.h@1:4a8469635592, 2016-05-30 (annotated)
- Committer:
- Decimus
- Date:
- Mon May 30 08:16:04 2016 +0000
- Revision:
- 1:4a8469635592
- Parent:
- 0:05cb0f94324f
[+]
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Decimus | 0:05cb0f94324f | 1 | // modes |
Decimus | 0:05cb0f94324f | 2 | #define MODE_ON 1 |
Decimus | 0:05cb0f94324f | 3 | #define MODE_MANUAL 2 |
Decimus | 0:05cb0f94324f | 4 | #define MODE_READY 4 |
Decimus | 0:05cb0f94324f | 5 | #define MODE_TAKEOFF 8 |
Decimus | 0:05cb0f94324f | 6 | #define MODE_STAB_ALT 16 |
Decimus | 0:05cb0f94324f | 7 | #define MODE_STAB_PRY 32 |
Decimus | 0:05cb0f94324f | 8 | |
Decimus | 0:05cb0f94324f | 9 | #define ALT_METER 0.1202 //hPa per meter, t=15C |
Decimus | 0:05cb0f94324f | 10 | //#define ALT_METER 0.1268 //hPa per meter, t=0C |
Decimus | 0:05cb0f94324f | 11 | #define ALT_TRUST_ACC 40 |
Decimus | 0:05cb0f94324f | 12 | #define ALT_P (1.0f/ALT_TRUST_ACC) // estimated altitude correction (default 0.05), 100 - due to m->cm conversion |
Decimus | 0:05cb0f94324f | 13 | #define ALT_ACC_I 0.0001f // ACC zero calibration (default 0.0001) |
Decimus | 0:05cb0f94324f | 14 | #define ALT_VEL_P 0.1f // velocity correction (default 0.1) |
Decimus | 0:05cb0f94324f | 15 | |
Decimus | 0:05cb0f94324f | 16 | #define CMD_I2C_OFF 0xA0 |
Decimus | 0:05cb0f94324f | 17 | #define CMD_I2C_ON 0xA1 |
Decimus | 0:05cb0f94324f | 18 | #define CMD_I2C_MANUAL 0xA2 |
Decimus | 0:05cb0f94324f | 19 | #define CMD_I2C_AUTO 0xA3 |
Decimus | 0:05cb0f94324f | 20 | #define CMD_I2C_CTRL 0xA4 |
Decimus | 0:05cb0f94324f | 21 | |
Decimus | 0:05cb0f94324f | 22 | #define BAUD_RATE 19200 |
Decimus | 0:05cb0f94324f | 23 | |
Decimus | 0:05cb0f94324f | 24 | // nu |
Decimus | 0:05cb0f94324f | 25 | #define THRUST_THRESH 0.05 |
Decimus | 0:05cb0f94324f | 26 | |
Decimus | 0:05cb0f94324f | 27 | // delays |
Decimus | 0:05cb0f94324f | 28 | #define INCL_DELAY 0.002 |
Decimus | 0:05cb0f94324f | 29 | #define CTRL_DELAY 0.02 |
Decimus | 0:05cb0f94324f | 30 | #define MAG_DELAY 0.015 |
Decimus | 0:05cb0f94324f | 31 | #define BAR_DELAY 0.02 |
Decimus | 0:05cb0f94324f | 32 | |
Decimus | 0:05cb0f94324f | 33 | #define TAKEOFF_SPEED 0.05*CTRL_DELAY // 12.5% per sec |
Decimus | 0:05cb0f94324f | 34 | #define TAKEOFF_LEV_ALT 0.05 // in meters |
Decimus | 0:05cb0f94324f | 35 | #define TAKEOFF_CLIMB_ALT 1.0 // in meters |
Decimus | 0:05cb0f94324f | 36 | |
Decimus | 0:05cb0f94324f | 37 | // PID scales |
Decimus | 0:05cb0f94324f | 38 | #define ROLL_SCALE 0.01 |
Decimus | 0:05cb0f94324f | 39 | #define PITCH_SCALE 0.01 |
Decimus | 0:05cb0f94324f | 40 | #define YAW_SCALE 0.01 |
Decimus | 0:05cb0f94324f | 41 | #define ALT_SCALE 0.01 |
Decimus | 0:05cb0f94324f | 42 | |
Decimus | 0:05cb0f94324f | 43 | // CTRL constraints |
Decimus | 0:05cb0f94324f | 44 | #define CTRL_DIA 511.0 |
Decimus | 0:05cb0f94324f | 45 | #define ROLL_MAX 45.0 |
Decimus | 0:05cb0f94324f | 46 | #define PITCH_MAX 45.0 |
Decimus | 0:05cb0f94324f | 47 | #define YAW_MAX 90.0 |
Decimus | 0:05cb0f94324f | 48 | #define THR_MAX 45.0 |
Decimus | 0:05cb0f94324f | 49 | #define ALT_MAX 0.500 |
Decimus | 0:05cb0f94324f | 50 | |
Decimus | 0:05cb0f94324f | 51 | // altitude control blind diap |
Decimus | 0:05cb0f94324f | 52 | #define ALT_SPD_PE 0.005 |
Decimus | 0:05cb0f94324f | 53 | #define ALT_SPD_NE -0.005 |
Decimus | 0:05cb0f94324f | 54 | |
Decimus | 0:05cb0f94324f | 55 | // sensors |
Decimus | 0:05cb0f94324f | 56 | #define ACC_G 9.806 |
Decimus | 0:05cb0f94324f | 57 | #define ACC_SENS 256.0 |
Decimus | 0:05cb0f94324f | 58 | #define ACC_SENS_INV 0.00390625 |
Decimus | 0:05cb0f94324f | 59 | #define ACC_GS 0.0383046875 |
Decimus | 0:05cb0f94324f | 60 | #define ACC_DEADBAND 0.3 |
Decimus | 0:05cb0f94324f | 61 | |
Decimus | 0:05cb0f94324f | 62 | #define GYR_SENS 0.0175 |
Decimus | 0:05cb0f94324f | 63 | |
Decimus | 0:05cb0f94324f | 64 | #define MAG_DECL 14.28 |
Decimus | 0:05cb0f94324f | 65 | |
Decimus | 0:05cb0f94324f | 66 | #define BAR_TABLE_SIZE 21 |
Decimus | 0:05cb0f94324f | 67 | |
Decimus | 0:05cb0f94324f | 68 | //hs battop |
Decimus | 0:05cb0f94324f | 69 | #define MAG_OFF {346.769036, -181.590063, -125.126453} |
Decimus | 0:05cb0f94324f | 70 | #define MAG_CAL {{1.924164, 0.076278, 0.027597},{0.076278, 1.997178, -0.001175},{0.027597,-0.001175,1.753297}} |
Decimus | 0:05cb0f94324f | 71 | |
Decimus | 0:05cb0f94324f | 72 | // filters |
Decimus | 0:05cb0f94324f | 73 | #define LPFC_BAR 0.4 |
Decimus | 0:05cb0f94324f | 74 | #define LPFC_ACC 0.02 |
Decimus | 0:05cb0f94324f | 75 | #define LPFC_ALT 0.02 |
Decimus | 0:05cb0f94324f | 76 | |
Decimus | 0:05cb0f94324f | 77 | // pid roll, pitch, yaw, alt |
Decimus | 0:05cb0f94324f | 78 | #define PIDK {{0,0,0},{0,0,0},{0,0,0},{0,0,0}} |
Decimus | 0:05cb0f94324f | 79 | |
Decimus | 0:05cb0f94324f | 80 | #define X 0 |
Decimus | 0:05cb0f94324f | 81 | #define Y 1 |
Decimus | 0:05cb0f94324f | 82 | #define Z 2 |
Decimus | 0:05cb0f94324f | 83 | |
Decimus | 0:05cb0f94324f | 84 | // roll, pitch, yaw |
Decimus | 0:05cb0f94324f | 85 | #define ROLL 0 |
Decimus | 0:05cb0f94324f | 86 | #define PITCH 1 |
Decimus | 0:05cb0f94324f | 87 | #define YAW 2 |
Decimus | 0:05cb0f94324f | 88 | #define ALT 3 |
Decimus | 0:05cb0f94324f | 89 | |
Decimus | 0:05cb0f94324f | 90 | // yaw compensation direction |
Decimus | 0:05cb0f94324f | 91 | #define YAW_PID_DIR -1 |
Decimus | 0:05cb0f94324f | 92 | |
Decimus | 0:05cb0f94324f | 93 | //median filter |
Decimus | 0:05cb0f94324f | 94 | //#define M_FILTER |