Allow ANDing of multiple channel ranges in mode activation conditions (#364)
[betaflight.git] / src / main / config / config_profile.h
blob50f9e6608518013267c9d74d59e05dadd9e14edf
1 /*
2 * This file is part of Cleanflight.
4 * Cleanflight is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * Cleanflight is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>.
18 #pragma once
20 typedef struct profile_s {
21 pidProfile_t pidProfile;
23 uint8_t defaultRateProfileIndex;
25 int16_t mag_declination; // Get your magnetic decliniation from here : http://magnetic-declination.com/
26 // For example, -6deg 37min, = -637 Japan, format is [sign]dddmm (degreesminutes) default is zero.
28 modeActivationCondition_t modeActivationConditions[MAX_MODE_ACTIVATION_CONDITION_COUNT];
29 modeActivationOperator_e modeActivationOperator;
31 adjustmentRange_t adjustmentRanges[MAX_ADJUSTMENT_RANGE_COUNT];
33 // Radio/ESC-related configuration
35 rcControlsConfig_t rcControlsConfig;
37 uint8_t throttle_tilt_compensation_strength; // the correction that will be applied at throttle_correction_angle.
39 #ifdef USE_SERVOS
40 // Servo-related stuff
41 servoParam_t servoConf[MAX_SUPPORTED_SERVOS]; // servo configuration
42 // gimbal-related configuration
43 gimbalConfig_t gimbalConfig;
45 uint16_t flaperon_throw_offset;
46 uint8_t flaperon_throw_inverted;
47 #endif
48 } profile_t;