From 910948cd7ec2b9dbd361ad9c5d8ffa92673788fb Mon Sep 17 00:00:00 2001 From: David Sidrane Date: Thu, 29 Jun 2017 12:08:02 -1000 Subject: [PATCH] board_common:Define defaults for Power Bricks and Sensor rail volatage FMUv4Pro and FMUv5 Spec added multi brick support FMUv5 added SCALED_VDD_3V3_SENSORS This change provides legacy (FMUv2) defaults for Power Bricks and Sensor rail volatage source. --- src/drivers/boards/common/board_common.h | 42 ++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/src/drivers/boards/common/board_common.h b/src/drivers/boards/common/board_common.h index 869ce4986d..09fe838a61 100644 --- a/src/drivers/boards/common/board_common.h +++ b/src/drivers/boards/common/board_common.h @@ -116,16 +116,52 @@ #define ADC_3V3_SCALE (2.0f) // The scale factor defined by HW's resistive divider (Rt+Rb)/ Rb #endif -/* Choose the source for ADC_SCALED_V5_SENSE */ +/* Provide define for Bricks and Battery */ +/* Legacy default */ + +#if !defined(BOARD_NUMBER_BRICKS) +# define BOARD_NUMBER_BRICKS 1 +# if !defined(BOARD_ADC_BRICK_VALID) +# define BOARD_ADC_BRICK_VALID (1) +# endif +#endif + +#if BOARD_NUMBER_BRICKS == 1 +# define BOARD_BATT_V_LIST {ADC_BATTERY_VOLTAGE_CHANNEL} +# define BOARD_BATT_I_LIST {ADC_BATTERY_CURRENT_CHANNEL} +# define BOARD_BRICK_VALID_LIST {BOARD_ADC_BRICK_VALID} +#elif BOARD_NUMBER_BRICKS == 2 +# define BOARD_BATT_V_LIST {ADC_BATTERY1_VOLTAGE_CHANNEL, ADC_BATTERY2_VOLTAGE_CHANNEL} +# define BOARD_BATT_I_LIST {ADC_BATTERY1_CURRENT_CHANNEL, ADC_BATTERY2_CURRENT_CHANNEL} +# define BOARD_BRICK_VALID_LIST {BOARD_ADC_BRICK1_VALID, BOARD_ADC_BRICK2_VALID} +#elif BOARD_NUMBER_BRICKS == 3 +# define BOARD_BATT_V_LIST {ADC_BATTERY1_VOLTAGE_CHANNEL, ADC_BATTERY2_VOLTAGE_CHANNEL, ADC_BATTERY3_VOLTAGE_CHANNEL} +# define BOARD_BATT_I_LIST {ADC_BATTERY1_CURRENT_CHANNEL, ADC_BATTERY2_CURRENT_CHANNEL, ADC_BATTERY3_CURRENT_CHANNEL} +# define BOARD_BRICK_VALID_LIST {BOARD_ADC_BRICK1_VALID, BOARD_ADC_BRICK2_VALID, BOARD_ADC_BRICK3_VALID} +#elif BOARD_NUMBER_BRICKS == 4 +# define BOARD_BATT_V_LIST {ADC_BATTERY1_VOLTAGE_CHANNEL, ADC_BATTERY2_VOLTAGE_CHANNEL, ADC_BATTERY3_VOLTAGE_CHANNEL, ADC_BATTERY4_VOLTAGE_CHANNEL} +# define BOARD_BATT_I_LIST {ADC_BATTERY1_CURRENT_CHANNEL, ADC_BATTERY2_CURRENT_CHANNEL, ADC_BATTERY3_CURRENT_CHANNEL, ADC_BATTERY4_CURRENT_CHANNEL} +# define BOARD_BRICK_VALID_LIST {BOARD_ADC_BRICK1_VALID, BOARD_ADC_BRICK2_VALID, BOARD_ADC_BRICK3_VALID, BOARD_ADC_BRICK4_VALID} +#else +# error Unsuported BOARD_NUMBER_BRICKS number. +#endif + +/* Choose the source for ADC_SCALED_V5_SENSE */ #if defined(ADC_5V_RAIL_SENSE) #define ADC_SCALED_V5_SENSE ADC_5V_RAIL_SENSE #else -# if defined(ADC_SCALED_V5) -# define ADC_SCALED_V5_SENSE ADC_SCALED_V5 +# if defined(ADC_SCALED_V5_CHANNEL) +# define ADC_SCALED_V5_SENSE ADC_SCALED_V5_CHANNEL # endif #endif +/* Define the source for ADC_SCALED_V3V3_SENSORS_SENSE */ + +#if defined(ADC_SCALED_VDD_3V3_SENSORS_CHANNEL) +# define ADC_SCALED_V3V3_SENSORS_SENSE ADC_SCALED_VDD_3V3_SENSORS_CHANNEL +#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