mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-07 22:21:35 +08:00
new standalone drivers/system_power (split out of adc)
- system_power portion of drivers/adc split into a new standalone module (drivers/system_power) - additional availability flags added to system_power.msg so we know what boards even support (previously certain flags were faked if not available) - drivers/system_power scheduled at minimum rate by default, but now also scheduled immediately on any relevant GPIO events - now instead of running at 100 Hz with heavily reduced logging we can run at a minimal rate, log at full rate, and catch relevant changes immediately
This commit is contained in:
@@ -129,37 +129,41 @@
|
||||
# define BOARD_VALID_UV (3.7f)
|
||||
#endif
|
||||
|
||||
/* 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 == 0
|
||||
/* allow SITL to disable all bricks */
|
||||
#elif 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
|
||||
# if !defined(BOARD_NUMBER_DIGITAL_BRICKS)
|
||||
# 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}
|
||||
# endif
|
||||
# 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
|
||||
#if defined(ADC_BATTERY4_VOLTAGE_CHANNEL) && defined(ADC_BATTERY4_CURRENT_CHANNEL)
|
||||
# define 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}
|
||||
# if defined(BOARD_ADC_BRICK4_VALID)
|
||||
# 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 // BOARD_ADC_BRICK4_VALID
|
||||
#elif defined(ADC_BATTERY3_VOLTAGE_CHANNEL) && defined(ADC_BATTERY3_CURRENT_CHANNEL)
|
||||
# define 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}
|
||||
# if defined(BOARD_ADC_BRICK3_VALID)
|
||||
# define BOARD_BRICK_VALID_LIST {BOARD_ADC_BRICK1_VALID, BOARD_ADC_BRICK2_VALID, BOARD_ADC_BRICK3_VALID}
|
||||
# endif // BOARD_ADC_BRICK3_VALID
|
||||
#elif defined(ADC_BATTERY2_VOLTAGE_CHANNEL) && defined(ADC_BATTERY2_CURRENT_CHANNEL)
|
||||
# define 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}
|
||||
# if defined(BOARD_ADC_BRICK2_VALID)
|
||||
# define BOARD_BRICK_VALID_LIST {BOARD_ADC_BRICK1_VALID, BOARD_ADC_BRICK2_VALID}
|
||||
# endif // BOARD_ADC_BRICK2_VALID
|
||||
#elif defined(ADC_BATTERY1_VOLTAGE_CHANNEL) && defined(ADC_BATTERY1_CURRENT_CHANNEL)
|
||||
# define BOARD_NUMBER_BRICKS 1
|
||||
# define BOARD_BATT_V_LIST {ADC_BATTERY1_VOLTAGE_CHANNEL}
|
||||
# define BOARD_BATT_I_LIST {ADC_BATTERY1_CURRENT_CHANNEL}
|
||||
# if defined(BOARD_ADC_BRICK1_VALID)
|
||||
# define BOARD_BRICK_VALID_LIST {BOARD_ADC_BRICK1_VALID}
|
||||
# endif // BOARD_ADC_BRICK1_VALID
|
||||
#elif defined(ADC_BATTERY_VOLTAGE_CHANNEL) && defined(ADC_BATTERY_CURRENT_CHANNEL)
|
||||
# define BOARD_NUMBER_BRICKS 1
|
||||
# define BOARD_BATT_V_LIST {ADC_BATTERY_VOLTAGE_CHANNEL}
|
||||
# define BOARD_BATT_I_LIST {ADC_BATTERY_CURRENT_CHANNEL}
|
||||
# if defined(BOARD_ADC_BRICK_VALID)
|
||||
# define BOARD_BRICK_VALID_LIST {BOARD_ADC_BRICK_VALID}
|
||||
# endif // BOARD_ADC_BRICK_VALID
|
||||
#endif
|
||||
|
||||
/* Choose the source for ADC_SCALED_V5_SENSE */
|
||||
|
||||
Reference in New Issue
Block a user