/**************************************************************************** * * Copyright (c) 2013-2015 PX4 Development Team. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * 3. Neither the name PX4 nor the names of its contributors may be * used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * ****************************************************************************/ /** * @file commander_params.c * * Parameters defined by the sensors task. * * @author Lorenz Meier * @author Thomas Gubler * @author Julian Oes */ #include #include /** * Roll trim * * The trim value is the actuator control value the system needs * for straight and level flight. It can be calibrated by * flying manually straight and level using the RC trims and * copying them using the GCS. * * @group Radio Calibration * @min -0.25 * @max 0.25 * @decimal 2 * @increment 0.01 */ PARAM_DEFINE_FLOAT(TRIM_ROLL, 0.0f); /** * Pitch trim * * The trim value is the actuator control value the system needs * for straight and level flight. It can be calibrated by * flying manually straight and level using the RC trims and * copying them using the GCS. * * @group Radio Calibration * @min -0.25 * @max 0.25 * @decimal 2 * @increment 0.01 */ PARAM_DEFINE_FLOAT(TRIM_PITCH, 0.0f); /** * Yaw trim * * The trim value is the actuator control value the system needs * for straight and level flight. It can be calibrated by * flying manually straight and level using the RC trims and * copying them using the GCS. * * @group Radio Calibration * @min -0.25 * @max 0.25 * @decimal 2 * @increment 0.01 */ PARAM_DEFINE_FLOAT(TRIM_YAW, 0.0f); /** * Empty cell voltage. * * Defines the voltage where a single cell of the battery is considered empty. * * @group Battery Calibration * @unit V * @decimal 2 * @increment 0.01 */ PARAM_DEFINE_FLOAT(BAT_V_EMPTY, 3.4f); /** * Full cell voltage. * * Defines the voltage where a single cell of the battery is considered full. * * @group Battery Calibration * @unit V * @decimal 2 * @increment 0.01 */ PARAM_DEFINE_FLOAT(BAT_V_CHARGED, 4.2f); /** * Voltage drop per cell on 100% load * * This implicitely defines the internal resistance * to maximum current ratio and assumes linearity. * * @group Battery Calibration * @unit V * @min 0.0 * @max 1.5 * @decimal 2 * @increment 0.01 */ PARAM_DEFINE_FLOAT(BAT_V_LOAD_DROP, 0.07f); /** * Number of cells. * * Defines the number of cells the attached battery consists of. * * @group Battery Calibration * @unit S * @min 2 * @max 10 * @value 2 2S Battery * @value 3 3S Battery * @value 4 4S Battery * @value 5 5S Battery * @value 6 6S Battery * @value 7 7S Battery * @value 8 8S Battery * @value 9 9S Battery * @value 10 10S Battery * @value 11 11S Battery * @value 12 12S Battery * @value 13 13S Battery * @value 14 14S Battery * @value 15 15S Battery * @value 16 16S Battery */ PARAM_DEFINE_INT32(BAT_N_CELLS, 3); /** * Battery capacity. * * Defines the capacity of the attached battery. * * @group Battery Calibration * @unit mA * @decimal 0 * @min -1.0 * @max 100000 * @increment 50 */ PARAM_DEFINE_FLOAT(BAT_CAPACITY, -1.0f); /** * Datalink loss mode enabled. * * Set to 1 to enable actions triggered when the datalink is lost. * * @group Commander * @min 0 * @max 1 * @value 0 OFF: No Datalink failsafe * @value 1 ON: Datalink failse */ PARAM_DEFINE_INT32(COM_DL_LOSS_EN, 0); /** * Datalink loss time threshold * * After this amount of seconds without datalink the data link lost mode triggers * * @group Commander * @unit second * @min 0 * @max 30 * @decimal 1 * @increment 0.5 */ PARAM_DEFINE_INT32(COM_DL_LOSS_T, 10); /** * Datalink regain time threshold * * After a data link loss: after this this amount of seconds with a healthy datalink the 'datalink loss' * flag is set back to false * * @group Commander * @unit second * @min 0 * @max 30 * @decimal 1 * @increment 0.5 */ PARAM_DEFINE_INT32(COM_DL_REG_T, 0); /** * Engine Failure Throttle Threshold * * Engine failure triggers only above this throttle value * * @group Commander * @min 0.0 * @max 1.0 * @decimal 1 * @increment 0.05 */ PARAM_DEFINE_FLOAT(COM_EF_THROT, 0.5f); /** * Engine Failure Current/Throttle Threshold * * Engine failure triggers only below this current value * * @group Commander * @min 0.0 * @max 50.0 * @unit ampere * @decimal 2 * @increment 1 */ PARAM_DEFINE_FLOAT(COM_EF_C2T, 5.0f); /** * Engine Failure Time Threshold * * Engine failure triggers only if the throttle threshold and the * current to throttle threshold are violated for this time * * @group Commander * @unit second * @min 0.0 * @max 60.0 * @decimal 1 * @increment 1 */ PARAM_DEFINE_FLOAT(COM_EF_TIME, 10.0f); /** * RC loss time threshold * * After this amount of seconds without RC connection the rc lost flag is set to true * * @group Commander * @unit second * @min 0 * @max 35 * @decimal 1 * @increment 0.1 */ PARAM_DEFINE_FLOAT(COM_RC_LOSS_T, 0.5f); /** * Home set horizontal threshold * * The home position will be set if the estimated positioning accuracy is below the threshold. * * @group Commander * @unit meter * @min 2 * @max 15 * @decimal 2 * @increment 0.5 */ PARAM_DEFINE_FLOAT(COM_HOME_H_T, 5.0f); /** * Home set vertical threshold * * The home position will be set if the estimated positioning accuracy is below the threshold. * * @group Commander * @unit meter * @min 5 * @max 25 * @decimal 2 * @increment 0.5 */ PARAM_DEFINE_FLOAT(COM_HOME_V_T, 10.0f); /** * Autosaving of params * * If not equal to zero the commander will automatically save parameters to persistent storage once changed. * Default is on, as the interoperability with currently deployed GCS solutions depends on parameters * being sticky. Developers can default it to off. * * @group Commander * @min 0 * @max 1 * @value 0 Disabled * @value 1 Enabled */ PARAM_DEFINE_INT32(COM_AUTOS_PAR, 1); /** * RC control input mode * * The default value of 0 requires a valid RC transmitter setup. * Setting this to 1 disables RC input handling and the associated checks. A value of * 2 will generate RC control data from manual input received via MAVLink instead * of directly forwarding the manual input data. * * @group Commander * @min 0 * @max 2 * @value 0 RC Transmitter * @value 1 Disable RC Input Checks * @value 2 Virtual RC by Joystick */ PARAM_DEFINE_INT32(COM_RC_IN_MODE, 0); /** * Time-out for auto disarm after landing * * A non-zero, positive value specifies the time-out period in seconds after which the vehicle will be * automatically disarmed in case a landing situation has been detected during this period. * A value of zero means that automatic disarming is disabled. * * @group Commander * @min 0 * @max 20 * @unit second * @decimal 0 * @increment 1 */ PARAM_DEFINE_INT32(COM_DISARM_LAND, 0); /** * First flightmode slot (1000-1160) * * If the main switch channel is in this range the * selected flight mode will be applied. * * @value -1 Unassigned * @value 0 MANUAL * @value 1 ALTITUDE CONTROL * @value 2 POSITION CONTROL * @value 3 AUTO / MISSION * @value 4 AUTO / PAUSE * @value 10 AUTO / TAKEOFF * @value 11 AUTO / LAND * @value 5 RETURN TO LAUNCH * @value 6 ACRO * @value 7 OFFBOARD * @value 8 STABILIZED * @value 9 RATTITUDE */ PARAM_DEFINE_INT32(COM_FLTMODE1, -1); /** * Second flightmode slot (1160-1320) * * If the main switch channel is in this range the * selected flight mode will be applied. * * @value -1 Unassigned * @value 0 MANUAL * @value 1 ALTITUDE CONTROL * @value 2 POSITION CONTROL * @value 3 AUTO / MISSION * @value 4 AUTO / PAUSE * @value 10 AUTO / TAKEOFF * @value 11 AUTO / LAND * @value 5 RETURN TO LAUNCH * @value 6 ACRO * @value 7 OFFBOARD * @value 8 STABILIZED * @value 9 RATTITUDE */ PARAM_DEFINE_INT32(COM_FLTMODE2, -1); /** * Third flightmode slot (1320-1480) * * If the main switch channel is in this range the * selected flight mode will be applied. * * @value -1 Unassigned * @value 0 MANUAL * @value 1 ALTITUDE CONTROL * @value 2 POSITION CONTROL * @value 3 AUTO / MISSION * @value 4 AUTO / PAUSE * @value 10 AUTO / TAKEOFF * @value 11 AUTO / LAND * @value 5 RETURN TO LAUNCH * @value 6 ACRO * @value 7 OFFBOARD * @value 8 STABILIZED * @value 9 RATTITUDE */ PARAM_DEFINE_INT32(COM_FLTMODE3, -1); /** * Fourth flightmode slot (1480-1640) * * If the main switch channel is in this range the * selected flight mode will be applied. * * @value -1 Unassigned * @value 0 MANUAL * @value 1 ALTITUDE CONTROL * @value 2 POSITION CONTROL * @value 3 AUTO / MISSION * @value 4 AUTO / PAUSE * @value 10 AUTO / TAKEOFF * @value 11 AUTO / LAND * @value 5 RETURN TO LAUNCH * @value 6 ACRO * @value 7 OFFBOARD * @value 8 STABILIZED * @value 9 RATTITUDE */ PARAM_DEFINE_INT32(COM_FLTMODE4, -1); /** * Fift flightmode slot (1640-1800) * * If the main switch channel is in this range the * selected flight mode will be applied. * * @value -1 Unassigned * @value 0 MANUAL * @value 1 ALTITUDE CONTROL * @value 2 POSITION CONTROL * @value 3 AUTO / MISSION * @value 4 AUTO / PAUSE * @value 10 AUTO / TAKEOFF * @value 11 AUTO / LAND * @value 5 RETURN TO LAUNCH * @value 6 ACRO * @value 7 OFFBOARD * @value 8 STABILIZED * @value 9 RATTITUDE */ PARAM_DEFINE_INT32(COM_FLTMODE5, -1); /** * Sixt flightmode slot (1800-2000) * * If the main switch channel is in this range the * selected flight mode will be applied. * * @value -1 Unassigned * @value 0 MANUAL * @value 1 ALTITUDE CONTROL * @value 2 POSITION CONTROL * @value 3 AUTO / MISSION * @value 4 AUTO / PAUSE * @value 10 AUTO / TAKEOFF * @value 11 AUTO / LAND * @value 5 RETURN TO LAUNCH * @value 6 ACRO * @value 7 OFFBOARD * @value 8 STABILIZED * @value 9 RATTITUDE */ PARAM_DEFINE_INT32(COM_FLTMODE6, -1);