Skip to content

Commit 8bd74e0

Browse files
committed
Merge pull request AeroQuad#375 from Kenny9999/development
Add back zero integral error on flight mode switch and change a bit defa...
2 parents 7a5fcd0 + 4ad8633 commit 8bd74e0

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

Diff for: AeroQuad/AeroQuad.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ int testCommand = 1000;
5555
*/
5656
#define RATE_FLIGHT_MODE 0
5757
#define ATTITUDE_FLIGHT_MODE 1
58-
58+
byte previousFlightMode = ATTITUDE_FLIGHT_MODE;
5959
#define TASK_100HZ 1
6060
#define TASK_50HZ 2
6161
#define TASK_10HZ 10

Diff for: AeroQuad/DataStorage.h

+8-8
Original file line numberDiff line numberDiff line change
@@ -123,15 +123,15 @@ void nvrWritePID(unsigned char IDPid, unsigned int IDEeprom) {
123123
// contains all default values when re-writing EEPROM
124124
void initializeEEPROM() {
125125
PID[RATE_XAXIS_PID_IDX].P = 100.0;
126-
PID[RATE_XAXIS_PID_IDX].I = 0.0;
127-
PID[RATE_XAXIS_PID_IDX].D = -300.0;
126+
PID[RATE_XAXIS_PID_IDX].I = 150.0;
127+
PID[RATE_XAXIS_PID_IDX].D = -350.0;
128128
PID[RATE_YAXIS_PID_IDX].P = 100.0;
129-
PID[RATE_YAXIS_PID_IDX].I = 0.0;
130-
PID[RATE_YAXIS_PID_IDX].D = -300.0;
131-
PID[ATTITUDE_XAXIS_PID_IDX].P = 4.0;
129+
PID[RATE_YAXIS_PID_IDX].I = 150.0;
130+
PID[RATE_YAXIS_PID_IDX].D = -350.0;
131+
PID[ATTITUDE_XAXIS_PID_IDX].P = 3.5;
132132
PID[ATTITUDE_XAXIS_PID_IDX].I = 0.0;
133133
PID[ATTITUDE_XAXIS_PID_IDX].D = 0.0;
134-
PID[ATTITUDE_YAXIS_PID_IDX].P = 4.0;
134+
PID[ATTITUDE_YAXIS_PID_IDX].P = 3.5;
135135
PID[ATTITUDE_YAXIS_PID_IDX].I = 0.0;
136136
PID[ATTITUDE_YAXIS_PID_IDX].D = 0.0;
137137
PID[ZAXIS_PID_IDX].P = 200.0;
@@ -143,10 +143,10 @@ void initializeEEPROM() {
143143
// AKA PID experiements
144144
PID[ATTITUDE_GYRO_XAXIS_PID_IDX].P = 100.0;
145145
PID[ATTITUDE_GYRO_XAXIS_PID_IDX].I = 0.0;
146-
PID[ATTITUDE_GYRO_XAXIS_PID_IDX].D = -300.0;
146+
PID[ATTITUDE_GYRO_XAXIS_PID_IDX].D = -350.0;
147147
PID[ATTITUDE_GYRO_YAXIS_PID_IDX].P = 100.0;
148148
PID[ATTITUDE_GYRO_YAXIS_PID_IDX].I = 0.0;
149-
PID[ATTITUDE_GYRO_YAXIS_PID_IDX].D = -300.0;
149+
PID[ATTITUDE_GYRO_YAXIS_PID_IDX].D = -350.0;
150150
rotationSpeedFactor = 1.0;
151151

152152
#if defined (AltitudeHoldBaro)

Diff for: AeroQuad/FlightCommandProcessor.h

+5
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,11 @@ void readPilotCommands() {
261261
else {
262262
flightMode = RATE_FLIGHT_MODE;
263263
}
264+
265+
if (previousFlightMode != flightMode) {
266+
zeroIntegralError();
267+
previousFlightMode = flightMode;
268+
}
264269

265270

266271
#if defined AltitudeHoldBaro || defined AltitudeHoldRangeFinder

0 commit comments

Comments
 (0)