From 94de12ef194b941a10d45ee0f7ced8f98cb67c01 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Mon, 28 Oct 2019 16:03:05 -0400 Subject: [PATCH] sensors: own BAT_V_DIV and BAT_A_PER_V params (#13299) - this is currently necessary for the QGC power setup gui, but should be reverted in the future - fixes #13292 --- .../battery_status/sensor_params_battery.c | 25 -------- src/modules/sensors/parameters.cpp | 3 + src/modules/sensors/sensor_params_battery.c | 57 +++++++++++++++++++ 3 files changed, 60 insertions(+), 25 deletions(-) create mode 100644 src/modules/sensors/sensor_params_battery.c diff --git a/src/modules/battery_status/sensor_params_battery.c b/src/modules/battery_status/sensor_params_battery.c index 00c3cd4f7d..74bde8971a 100644 --- a/src/modules/battery_status/sensor_params_battery.c +++ b/src/modules/battery_status/sensor_params_battery.c @@ -66,31 +66,6 @@ PARAM_DEFINE_FLOAT(BAT_CNT_V_CURR, -1.0); */ PARAM_DEFINE_FLOAT(BAT_V_OFFS_CURR, 0.0); -/** - * Battery voltage divider (V divider) - * - * This is the divider from battery voltage to 3.3V ADC voltage. - * If using e.g. Mauch power modules the value from the datasheet - * can be applied straight here. A value of -1 means to use - * the board default. - * - * @group Battery Calibration - * @decimal 8 - */ -PARAM_DEFINE_FLOAT(BAT_V_DIV, -1.0); - -/** - * Battery current per volt (A/V) - * - * The voltage seen by the 3.3V ADC multiplied by this factor - * will determine the battery current. A value of -1 means to use - * the board default. - * - * @group Battery Calibration - * @decimal 8 - */ -PARAM_DEFINE_FLOAT(BAT_A_PER_V, -1.0); - /** * Battery monitoring source. * diff --git a/src/modules/sensors/parameters.cpp b/src/modules/sensors/parameters.cpp index 9df49a7304..c6783717ad 100644 --- a/src/modules/sensors/parameters.cpp +++ b/src/modules/sensors/parameters.cpp @@ -159,6 +159,9 @@ void initialize_parameter_handles(ParameterHandles ¶meter_handles) // We do a param_find here to force them into the list. (void)param_find("RC_CHAN_CNT"); + (void)param_find("BAT_V_DIV"); + (void)param_find("BAT_A_PER_V"); + (void)param_find("CAL_ACC0_ID"); (void)param_find("CAL_GYRO0_ID"); diff --git a/src/modules/sensors/sensor_params_battery.c b/src/modules/sensors/sensor_params_battery.c new file mode 100644 index 0000000000..47f2237f9b --- /dev/null +++ b/src/modules/sensors/sensor_params_battery.c @@ -0,0 +1,57 @@ +/**************************************************************************** + * + * Copyright (c) 2012-2019 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. + * + ****************************************************************************/ + +/** + * Battery voltage divider (V divider) + * + * This is the divider from battery voltage to 3.3V ADC voltage. + * If using e.g. Mauch power modules the value from the datasheet + * can be applied straight here. A value of -1 means to use + * the board default. + * + * @group Battery Calibration + * @decimal 8 + */ +PARAM_DEFINE_FLOAT(BAT_V_DIV, -1.0); + +/** + * Battery current per volt (A/V) + * + * The voltage seen by the 3.3V ADC multiplied by this factor + * will determine the battery current. A value of -1 means to use + * the board default. + * + * @group Battery Calibration + * @decimal 8 + */ +PARAM_DEFINE_FLOAT(BAT_A_PER_V, -1.0);