Subversion Repositories FlightCtrl

Rev

Rev 2122 | Rev 2132 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2122 Rev 2129
Line 7... Line 7...
7
#include "flight.h"
7
#include "flight.h"
Line 8... Line 8...
8
 
8
 
9
int16_t variables[VARIABLE_COUNT];
9
int16_t variables[VARIABLE_COUNT];
10
ParamSet_t staticParams;
10
ParamSet_t staticParams;
-
 
11
ChannelMap_t channelMap;
11
ChannelMap_t channelMap;
12
RCTrim_t rcTrim;
12
IMUConfig_t IMUConfig;
13
IMUConfig_t IMUConfig;
Line 13... Line 14...
13
volatile DynamicParams_t dynamicParams;
14
volatile DynamicParams_t dynamicParams;
Line 31... Line 32...
31
 
32
 
32
{offsetof(ParamSet_t, gyroPID[2].P), offsetof(DynamicParams_t, gyroPID[2].P),0,255},
33
{offsetof(ParamSet_t, gyroPID[2].P), offsetof(DynamicParams_t, gyroPID[2].P),0,255},
33
{offsetof(ParamSet_t, gyroPID[2].I), offsetof(DynamicParams_t, gyroPID[2].I),0,255},
34
{offsetof(ParamSet_t, gyroPID[2].I), offsetof(DynamicParams_t, gyroPID[2].I),0,255},
Line 34... Line 35...
34
{offsetof(ParamSet_t, gyroPID[2].D), offsetof(DynamicParams_t, gyroPID[2].D),0,255},
35
{offsetof(ParamSet_t, gyroPID[2].D), offsetof(DynamicParams_t, gyroPID[2].D),0,255},
35
 
36
 
36
{offsetof(ParamSet_t, servoConfigurations[0].manualControl), offsetof(DynamicParams_t, servoManualControl[0]),0,255},
37
{offsetof(ParamSet_t, gimbalServoConfigurations[0].manualControl), offsetof(DynamicParams_t, gimbalServoManualControl[0]),0,255},
37
{offsetof(ParamSet_t, servoConfigurations[1].manualControl), offsetof(DynamicParams_t, servoManualControl[1]),0,255},
38
{offsetof(ParamSet_t, gimbalServoConfigurations[1].manualControl), offsetof(DynamicParams_t, gimbalServoManualControl[1]),0,255},
38
{offsetof(ParamSet_t, outputFlash[0].timing), offsetof(DynamicParams_t, output0Timing),0,255},
39
{offsetof(ParamSet_t, outputFlash[0].timing), offsetof(DynamicParams_t, output0Timing),0,255},
Line 39... Line 40...
39
{offsetof(ParamSet_t, outputFlash[1].timing), offsetof(DynamicParams_t, output1Timing),0,255},
40
{offsetof(ParamSet_t, outputFlash[1].timing), offsetof(DynamicParams_t, output1Timing),0,255},
Line 87... Line 88...
87
  staticParams.airspeedCorrection = 100;
88
  staticParams.airspeedCorrection = 100;
88
  staticParams.isFlyingThreshold = 100;
89
  staticParams.isFlyingThreshold = 100;
Line 89... Line 90...
89
 
90
 
90
  // Servos
91
  // Servos
-
 
92
  staticParams.servoCount = 7;
-
 
93
  staticParams.servosReverse = CONTROL_SERVO_REVERSE_ELEVATOR | CONTROL_SERVO_REVERSE_RUDDER;
91
  staticParams.servoCount = 7;
94
 
92
  staticParams.gimbalServoMaxManualSpeed = 10;
95
  staticParams.gimbalServoMaxManualSpeed = 10;
93
  for (uint8_t i=0; i<2; i++) {
96
  for (uint8_t i=0; i<2; i++) {
94
    staticParams.servoConfigurations[i].manualControl = 128;
97
    staticParams.gimbalServoConfigurations[i].manualControl = 128;
95
    staticParams.servoConfigurations[i].stabilizationFactor = 0;
98
    staticParams.gimbalServoConfigurations[i].stabilizationFactor = 0;
96
    staticParams.servoConfigurations[i].minValue = 32;
99
    staticParams.gimbalServoConfigurations[i].minValue = 32;
97
    staticParams.servoConfigurations[i].maxValue = 224;
100
    staticParams.gimbalServoConfigurations[i].maxValue = 224;
98
    staticParams.servoConfigurations[i].flags = 0;
101
    staticParams.gimbalServoConfigurations[i].flags = 0;
Line 99... Line 102...
99
  }
102
  }
100
 
103
 
101
  // Battery warning and emergency flight
-
 
102
  staticParams.batteryWarningVoltage = 101;  // 3.7 each for 3S
-
 
Line 103... Line 104...
103
  staticParams.emergencyThrottle = 35;
104
  // Battery warning and emergency flight
104
  staticParams.emergencyFlightDuration = 30;
105
  staticParams.batteryWarningVoltage = 101;  // 3.7 each for 3S
105
 
106
 
106
  for (uint8_t i=0; i<3; i++) {
107
  for (uint8_t i=0; i<3; i++) {
107
          staticParams.gyroPID[i].P = 80;
108
          staticParams.gyroPID[i].P = 80;
108
          staticParams.gyroPID[i].I = 80;
109
          staticParams.gyroPID[i].I = 80;
Line 109... Line 110...
109
          staticParams.gyroPID[i].D = 40;
110
          staticParams.gyroPID[i].D = 40;
110
          staticParams.gyroPID[i].iMax = 45;
111
          staticParams.gyroPID[i].iMax = 45;
111
  }
112
  }
Line 112... Line 113...
112
 
113
 
113
  staticParams.stickIElevator = 80;
114
  staticParams.stickIElevator = 60;
114
  staticParams.stickIAilerons = 120;
115
  staticParams.stickIAilerons = 80;
115
  staticParams.stickIRudder = 40;
116
  staticParams.stickIRudder = 25;
Line 145... Line 146...
145
  IMUConfig.gyroDFilterConstant = 1;
146
  IMUConfig.gyroDFilterConstant = 1;
146
  IMUConfig.rateTolerance = 120;
147
  IMUConfig.rateTolerance = 120;
147
  IMUConfig.gyroDWindowLength = 3;
148
  IMUConfig.gyroDWindowLength = 3;
148
  IMUConfig.gyroQuadrant = 0;
149
  IMUConfig.gyroQuadrant = 0;
149
  IMUConfig.imuReversedFlags = 0;
150
  IMUConfig.imuReversedFlags = 0;
-
 
151
  IMUConfig.gyroCalibrationTweak[0] =
-
 
152
  IMUConfig.gyroCalibrationTweak[1] =
-
 
153
  IMUConfig.gyroCalibrationTweak[2] = 0;
150
}
154
}
Line 151... Line 155...
151
 
155
 
152
/***************************************************/
156
/***************************************************/
153
/*    Default Values for R/C Channels              */
157
/*    Default Values for R/C Channels              */
154
/***************************************************/
158
/***************************************************/
-
 
159
void channelMap_default(void) {
155
void channelMap_default(void) {
160
  channelMap.RCPolarity = 1;
-
 
161
  channelMap.HWTrim = 192;
156
        channelMap.HWTrim = 0;
162
  channelMap.variableOffset = 128;
157
  channelMap.channels[CH_ELEVATOR] = 1;
163
  channelMap.channels[CH_ELEVATOR] = 1;
158
  channelMap.channels[CH_AILERONS] = 0;
164
  channelMap.channels[CH_AILERONS] = 0;
159
  channelMap.channels[CH_THROTTLE] = 2;
165
  channelMap.channels[CH_THROTTLE] = 2;
160
  channelMap.channels[CH_RUDDER]   = 3;
166
  channelMap.channels[CH_RUDDER]   = 3;