mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-06 16:49:51 +08:00
Board_config.h will provide the BOARD_BATTERYx_V_DIV
Prep to distrubte the magic numbers assgined in parameters.cpp
to the board_config.h
common/board_common.h will define:
1) BOARD_BATTERY[1|2]_V_DIV as 0.0f if not defined to ensure
the missing default trips a low voltage lockdown
2) BOARD_BATTERY[1|2]_A_PER_V as 0.0f if not defined to ensure
the default leads to an unrealistic current value.
This commit is contained in:
committed by
Lorenz Meier
parent
1c3ebadb85
commit
a8b9c906f6
@@ -132,6 +132,29 @@
|
||||
# define BOARD_EEPROM_WP_CTRL(on_true)
|
||||
#endif
|
||||
|
||||
/* Define an overridable default of 0.0f V for batery v div
|
||||
* This is done to ensure the missing default trips a low
|
||||
* voltage lockdown
|
||||
*/
|
||||
#if !defined(BOARD_BATTERY1_V_DIV)
|
||||
#define BOARD_BATTERY1_V_DIV 0.0f
|
||||
#endif
|
||||
|
||||
#if !defined(BOARD_BATTERY2_V_DIV)
|
||||
#define BOARD_BATTERY2_V_DIV 0.0f
|
||||
#endif
|
||||
|
||||
/* Define an overridable default of 0.0f for A per V
|
||||
* This is done to ensure the default leads to an
|
||||
* unrealistic current value
|
||||
*/
|
||||
#if !defined(BOARD_BATTERY1_A_PER_V)
|
||||
#define BOARD_BATTERY1_A_PER_V 0.0f
|
||||
#endif
|
||||
|
||||
#if !defined(BOARD_BATTERY2_A_PER_V)
|
||||
#define BOARD_BATTERY2_A_PER_V 0.0f
|
||||
#endif
|
||||
|
||||
/* Conditional use of FMU GPIO
|
||||
* If the board use the PX4FMU driver and the board provides
|
||||
|
||||
@@ -416,6 +416,9 @@ int update_parameters(const ParameterHandles ¶meter_handles, Parameters &par
|
||||
|
||||
} else if (parameters.battery_v_div <= 0.0f) {
|
||||
/* apply scaling according to defaults if set to default */
|
||||
|
||||
parameters.battery_v_div = BOARD_BATTERY1_V_DIV;
|
||||
|
||||
#if defined (CONFIG_ARCH_BOARD_PX4FMU_V4)
|
||||
parameters.battery_v_div = 13.653333333f;
|
||||
#elif defined (CONFIG_ARCH_BOARD_PX4FMU_V2) || defined ( CONFIG_ARCH_BOARD_MINDPX_V2 )
|
||||
@@ -430,9 +433,6 @@ int update_parameters(const ParameterHandles ¶meter_handles, Parameters &par
|
||||
parameters.battery_v_div = 9.0f;
|
||||
#elif defined (CONFIG_ARCH_BOARD_AEROFC_V1)
|
||||
parameters.battery_v_div = 9.0f;
|
||||
#else
|
||||
/* ensure a missing default trips a low voltage lockdown */
|
||||
parameters.battery_v_div = 0.0f;
|
||||
#endif
|
||||
param_set(parameter_handles.battery_v_div, ¶meters.battery_v_div);
|
||||
}
|
||||
@@ -443,17 +443,18 @@ int update_parameters(const ParameterHandles ¶meter_handles, Parameters &par
|
||||
|
||||
} else if (parameters.battery_a_per_v <= 0.0f) {
|
||||
/* apply scaling according to defaults if set to default */
|
||||
|
||||
parameters.battery_a_per_v = BOARD_BATTERY1_A_PER_V;
|
||||
|
||||
#if defined (CONFIG_ARCH_BOARD_PX4FMU_V4)
|
||||
/* current scaling for ACSP4 */
|
||||
parameters.battery_a_per_v = 36.367515152f;
|
||||
|
||||
#elif defined (CONFIG_ARCH_BOARD_PX4FMU_V2) || defined (CONFIG_ARCH_BOARD_MINDPX_V2) || defined (CONFIG_ARCH_BOARD_AEROCORE) || defined (CONFIG_ARCH_BOARD_PX4FMU_V1)
|
||||
/* current scaling for 3DR power brick */
|
||||
parameters.battery_a_per_v = 15.391030303f;
|
||||
#elif defined (CONFIG_ARCH_BOARD_SITL)
|
||||
parameters.battery_a_per_v = 15.391030303f;
|
||||
#else
|
||||
/* ensure a missing default leads to an unrealistic current value */
|
||||
parameters.battery_a_per_v = 0.0f;
|
||||
#endif
|
||||
param_set(parameter_handles.battery_a_per_v, ¶meters.battery_a_per_v);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
*
|
||||
* @author Beat Kueng <beat-kueng@gmx.net>
|
||||
*/
|
||||
|
||||
#include <px4_config.h>
|
||||
#include <drivers/drv_rc_input.h>
|
||||
|
||||
#include <systemlib/param/param.h>
|
||||
|
||||
Reference in New Issue
Block a user