From e6c49edd20c98feb0a6342fb322aa839c5c45a9c Mon Sep 17 00:00:00 2001 From: Jacob Dahl <37091262+dakejahl@users.noreply.github.com> Date: Wed, 17 Dec 2025 09:58:41 -0900 Subject: [PATCH] docs: battery: clarify BAT${i}_SOURCE parameter documentation (#26071) * docs: battery: clarify Power Module option to state that it works additionally for onboard Analog * Update src/lib/battery/module.yaml Co-authored-by: Hamish Willee * Update src/lib/battery/module.yaml Co-authored-by: Hamish Willee * Update src/lib/battery/module.yaml * Apply suggestions from code review * Update msg/versioned/BatteryStatus.msg --------- Co-authored-by: Hamish Willee --- msg/px4_msgs_old/msg/BatteryStatusV0.msg | 6 +++--- msg/versioned/BatteryStatus.msg | 6 +++--- src/lib/battery/module.yaml | 15 ++++++++++----- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/msg/px4_msgs_old/msg/BatteryStatusV0.msg b/msg/px4_msgs_old/msg/BatteryStatusV0.msg index f8f9e3f12d..7e36e38f3f 100644 --- a/msg/px4_msgs_old/msg/BatteryStatusV0.msg +++ b/msg/px4_msgs_old/msg/BatteryStatusV0.msg @@ -21,9 +21,9 @@ uint8 cell_count # [@invalid 0] Number of cells uint8 source # [@enum SOURCE] Battery source -uint8 SOURCE_POWER_MODULE = 0 # Power module -uint8 SOURCE_EXTERNAL = 1 # External -uint8 SOURCE_ESCS = 2 # ESCs +uint8 SOURCE_POWER_MODULE = 0 # Power module (analog ADC or I2C power monitor) +uint8 SOURCE_EXTERNAL = 1 # External (MAVLink, CAN, or external driver) +uint8 SOURCE_ESCS = 2 # ESCs (via ESC telemetry) uint8 priority # Zero based priority is the connection on the Power Controller V1..Vn AKA BrickN-1 uint16 capacity # [mAh] Capacity of the battery when fully charged diff --git a/msg/versioned/BatteryStatus.msg b/msg/versioned/BatteryStatus.msg index df1aa4bbfd..567f6633fc 100644 --- a/msg/versioned/BatteryStatus.msg +++ b/msg/versioned/BatteryStatus.msg @@ -22,9 +22,9 @@ uint8 cell_count # [-] [@invalid 0] Number of cells uint8 source # [@enum SOURCE] Battery source -uint8 SOURCE_POWER_MODULE = 0 # Power module -uint8 SOURCE_EXTERNAL = 1 # External -uint8 SOURCE_ESCS = 2 # ESCs +uint8 SOURCE_POWER_MODULE = 0 # Power module (analog ADC or I2C power monitor) +uint8 SOURCE_EXTERNAL = 1 # External (MAVLink, CAN, or external driver) +uint8 SOURCE_ESCS = 2 # ESCs (via ESC telemetry) uint8 priority # [-] Zero based priority is the connection on the Power Controller V1..Vn AKA BrickN-1 uint16 capacity # [mAh] Capacity of the battery when fully charged diff --git a/src/lib/battery/module.yaml b/src/lib/battery/module.yaml index b20900fa08..adaaf72395 100644 --- a/src/lib/battery/module.yaml +++ b/src/lib/battery/module.yaml @@ -105,15 +105,20 @@ parameters: description: short: Battery ${i} monitoring source. long: | - This parameter controls the source of battery data. The value 'Power Module' - means that measurements are expected to come from a power module. If the value is set to - 'External' then the system expects to receive mavlink battery status messages. + This parameter controls the source of battery data. The value 'Power Module / Analog' + means that measurements are expected to come from either analog (ADC) inputs + or an I2C power monitor (e.g. INA226). Analog inputs are voltage and current + measurements read from the board's ADC channels, typically from an onboard + voltage divider and current shunt, or an external analog power module. + I2C power monitors are digital sensors on the I2C bus. + If the value is set to 'External' then the system expects to receive MAVLink + or CAN battery status messages, or the battery data is published by an external driver. If the value is set to 'ESCs', the battery information are taken from the esc_status message. - This requires the ESC to provide both voltage as well as current. + This requires the ESC to provide both voltage as well as current (via ESC telemetry). type: enum values: -1: Disabled - 0: Power Module + 0: Power Module / Analog 1: External 2: ESCs reboot_required: true