c8c0c85656
* fixes issue where indicators would flash when SBus RX entered failsafe mode. * fixes bug where turning off a TX for an SBus RX would instantly disarm when using a switch to arm when the channel went outside the arming range. * introduces failsafe phases to make the system more understandable. * allows the system to ask if rxSignalIsBeing received for all RX systems: PPM/PWM/SerialRX/MSP. Also works when a serial data signal is still being received but the data stream indicates a failsafe condition - e.g. SBus failsafe flags. * failsafe settings are no-longer per-profile. Untested: Sumd/Sumh/XBus/MSP (!) Tested: SBus X8R, Lemon RX Sat, X8R in PWM, Spektrum PPM.
61 lines
2.4 KiB
C
61 lines
2.4 KiB
C
/*
|
|
* This file is part of Cleanflight.
|
|
*
|
|
* Cleanflight is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* Cleanflight is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with Cleanflight. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
typedef struct profile_s {
|
|
pidProfile_t pidProfile;
|
|
|
|
uint8_t defaultRateProfileIndex;
|
|
|
|
int16_t mag_declination; // Get your magnetic decliniation from here : http://magnetic-declination.com/
|
|
// For example, -6deg 37min, = -637 Japan, format is [sign]dddmm (degreesminutes) default is zero.
|
|
|
|
rollAndPitchTrims_t accelerometerTrims; // accelerometer trim
|
|
|
|
// sensor-related stuff
|
|
uint8_t acc_lpf_factor; // Set the Low Pass Filter factor for ACC. Increasing this value would reduce ACC noise (visible in GUI), but would increase ACC lag time. Zero = no filter
|
|
float accz_lpf_cutoff; // cutoff frequency for the low pass filter used on the acc z-axis for althold in Hz
|
|
accDeadband_t accDeadband;
|
|
|
|
barometerConfig_t barometerConfig;
|
|
|
|
uint8_t acc_unarmedcal; // turn automatic acc compensation on/off
|
|
|
|
modeActivationCondition_t modeActivationConditions[MAX_MODE_ACTIVATION_CONDITION_COUNT];
|
|
|
|
adjustmentRange_t adjustmentRanges[MAX_ADJUSTMENT_RANGE_COUNT];
|
|
|
|
// Radio/ESC-related configuration
|
|
|
|
rcControlsConfig_t rcControlsConfig;
|
|
|
|
uint16_t throttle_correction_angle; // the angle when the throttle correction is maximal. in 0.1 degres, ex 225 = 22.5 ,30.0, 450 = 45.0 deg
|
|
uint8_t throttle_correction_value; // the correction that will be applied at throttle_correction_angle.
|
|
|
|
#ifdef USE_SERVOS
|
|
// Servo-related stuff
|
|
servoParam_t servoConf[MAX_SUPPORTED_SERVOS]; // servo configuration
|
|
// gimbal-related configuration
|
|
gimbalConfig_t gimbalConfig;
|
|
#endif
|
|
|
|
#ifdef GPS
|
|
gpsProfile_t gpsProfile;
|
|
#endif
|
|
} profile_t;
|