Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 2103 → Rev 2104

/branches/dongfang_FC_fixedwing/configuration.c
19,12 → 19,24
 
VersionInfo_t versionInfo;
 
// MK flags. TODO: Replace by enum. State machine.
FlightMode_t currentFlightMode = FLIGHT_MODE_MANUAL;
volatile uint8_t isMotorRunning = 0;
 
const MMXLATION XLATIONS[] = {
{offsetof(ParamSet_t, externalControl), offsetof(DynamicParams_t, externalControl),0,255},
 
{offsetof(ParamSet_t, gyroPID[0].P), offsetof(DynamicParams_t, gyroPID[0].P),0,255},
{offsetof(ParamSet_t, gyroPID[0].I), offsetof(DynamicParams_t, gyroPID[0].I),0,255},
{offsetof(ParamSet_t, gyroPID[0].D), offsetof(DynamicParams_t, gyroPID[0].D),0,255},
 
{offsetof(ParamSet_t, gyroPID[1].P), offsetof(DynamicParams_t, gyroPID[1].P),0,255},
{offsetof(ParamSet_t, gyroPID[1].I), offsetof(DynamicParams_t, gyroPID[1].I),0,255},
{offsetof(ParamSet_t, gyroPID[1].D), offsetof(DynamicParams_t, gyroPID[1].D),0,255},
 
{offsetof(ParamSet_t, gyroPID[2].P), offsetof(DynamicParams_t, gyroPID[2].P),0,255},
{offsetof(ParamSet_t, gyroPID[2].I), offsetof(DynamicParams_t, gyroPID[2].I),0,255},
{offsetof(ParamSet_t, gyroPID[2].D), offsetof(DynamicParams_t, gyroPID[2].D),0,255},
 
{offsetof(ParamSet_t, servoConfigurations[0].manualControl), offsetof(DynamicParams_t, servoManualControl[0]),0,255},
{offsetof(ParamSet_t, servoConfigurations[1].manualControl), offsetof(DynamicParams_t, servoManualControl[1]),0,255},
{offsetof(ParamSet_t, outputFlash[0].timing), offsetof(DynamicParams_t, output0Timing),0,255},
104,7 → 116,8
}
 
void configuration_setFlightParameters(uint8_t newFlightMode) {
flight_updateFlightParametersToFlightMode(currentFlightMode = newFlightMode);
currentFlightMode = newFlightMode;
flight_updateFlightParametersToFlightMode();
}
 
// Called after a change in configuration parameters, as a hook for modules to take over changes.
136,6 → 149,12
staticParams.emergencyThrottle = 35;
staticParams.emergencyFlightDuration = 30;
 
for (uint8_t i=0; i<3; i++) {
staticParams.gyroPID[i].P = 80;
staticParams.gyroPID[i].I = 80;
staticParams.gyroPID[i].D = 40;
}
 
staticParams.stickIElevator = 80;
staticParams.stickIAilerons = 120;
staticParams.stickIRudder = 40;
161,7 → 180,7
}
 
staticParams.bitConfig =
CFG_GYRO_SATURATION_PREVENTION | CFG_COMPASS_ENABLED;
CFG_GYRO_SATURATION_PREVENTION;
 
memcpy(staticParams.name, "Default\0", 6);
}