VOXL2 + VOXL ESC FPV 4-in-1, voxl-suite 1.6.3 — battery_status never published
-
Can you upload the log file to https://review.px4.io/ and then send the link?
-
px4 log: https://review.px4.io/plot_app?log=31e428fe-d363-43c6-9cc3-236af2212533
Will post output.txt file shortly
-
Is there I way that I can share the output.txt file with you? https://review.px4.io/ doesn't take my output.txt file
-
The forum won't let you attach it in your reply?
-
Error
You do not have enough privileges for this action.
Also, the text is too long so I can't copy and paste the entire log here
-
Okay, shoot, let me see if we can get that fixed.
-
I sent an email to the address you have linked to this account.
-
output.txt sent
-
File:
output.txt -
This is what Codex says:
The root cause is a PX4 source-enum bug, not the ESC, baud rate, or VOXL_ESC_PUB_BST. - The supplied parameters select BAT1_SOURCE=2, meaning “ESCs”: /home/modalai/development/log_debug/no-batt-status/ vehicle.params:5. - But voxl_esc constructs its battery object as BATTERY_SOURCE_POWER_MODULE (0): src/drivers/actuators/voxl_esc/ voxl_esc.cpp:51. - The battery library publishes only when the driver’s source equals BAT1_SOURCE: src/lib/battery/battery.cpp:172. - Therefore 0 != 2, and every battery report is silently suppressed. This matches all the evidence: - VOXL_ESC_PUB_BST=1. - All four M0138 channels, including current-sensing ID 2, communicate at 2 Mbaud: /home/modalai/development/log_debug/no- batt-status/output.txt:279. - The flight log contains 232,935 healthy esc_status samples but no battery_status. - The forum test showed ID 2 reporting BOARD_VOLTAGE and BOARD_CURRENT, proving the ESC produces the special telemetry packet. This is the expected M0138 behavior documented in the ModalAI ESC FAQ (https://docs.modalai.com/voxl-escs/faq/). The proper code fix is one line: _battery(1, nullptr, _battery_report_interval, battery_status_s::BATTERY_SOURCE_ESCS) As an immediate workaround with the existing binary, set BAT1_SOURCE to Power Module (0), leave POWER_MANAGER=none, restart voxl-px4, and check: px4-listener battery_status 5 That should publish, although the resulting topic will incorrectly identify its source as a power module. The one-line source change is the permanent fix.Can you try setting that parameter and see if it works?
-
I think you need to keep BAT1_SOURCE set to 0.
-
BAT1_SOURCE set to POWER MODULE in QGC fixed the problem.
TOPIC: battery_status
battery_status
timestamp: 332496007 (0.011529 seconds ago)
voltage_v: 23.70500
voltage_filtered_v: 23.70641
current_a: -0.08000
current_filtered_a: -0.07003
current_average_a: 15.00000
discharged_mah: 0.00138
remaining: 0.70196
scale: 1.04008
time_remaining_s: 673.87732
temperature: nan
voltage_cell_v: [0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000]
max_cell_voltage_delta: 0.00000
custom_faults: 0
average_power: 0.00000
available_energy: 0.00000
full_charge_capacity_wh: 0.00000
remaining_capacity_wh: 0.00000
design_capacity: 0.00000
nominal_voltage: 0.00000
capacity: 4000
cycle_count: 0
average_time_to_empty: 0
serial_number: 0
manufacture_date: 0
state_of_health: 0
max_error: 0
interface_error: 0
faults: 0
average_time_to_full: 0
over_discharge_count: 0
connected: True
cell_count: 6
source: 0
priority: 0
id: 1
is_powering_off: False
is_required: False
warning: 0
mode: 0 -
Thanks for your help
-
Now that the main issue is resolved.. i am confused why the following test command did not work for you :
./voxl-esc-spin.py --id 255 --power 0The screenshot you posted had the command cut off -- are you sure you used the correct command? 255 is a special value that should spin all 4 ESCs: https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/blob/dev/voxl-esc-tools/voxl-esc-spin.py?ref_type=heads#L190
Can you check if the
voxl-esc-spin.pyscript on your VOXL2 is the same as this file?Thanks!
Alex
-
That's weird. It's working now:
voxl2-test-fixture (TF-M0054):/usr/share/modalai/voxl-esc-tools$ ./voxl-esc-spin.py --id 255 --power 0
Detected Python version : 3.6.9 (default, May 22 2025, 20:54:22)
[GCC 8.4.0]
Found voxl-esc tools bin version: 1.9
VOXL Platform: M0054
Detected RB5 Flight, VOXL2 M0054 or M0104!
INFO: Scanning for ESC firmware: /dev/slpi-uart-2, baud: 2000000
Sending library name request: libslpi_qrb5165_io.so
Sending initialization request
INFO: ESC(s) detected on port: /dev/slpi-uart-2, baud rate: 2000000
ID : 0
Board : version 42: ModalAi 4-in-1 ESC (M0138-1)
UID : 0x203837304848570400480052
Firmware : version 39, hash a58f5f6f
Bootloader : version 187, hash aad89d63ID : 1 Board : version 42: ModalAi 4-in-1 ESC (M0138-1) UID : 0x203837304848570400490045 Firmware : version 39, hash a58f5f6f Bootloader : version 187, hash aad89d63 ID : 2 Board : version 42: ModalAi 4-in-1 ESC (M0138-1) UID : 0x20383730484857040029004D Firmware : version 39, hash a58f5f6f Bootloader : version 187, hash aad89d63 ID : 3 Board : version 42: ModalAi 4-in-1 ESC (M0138-1) UID : 0x20383730484857040029004E Firmware : version 39, hash a58f5f6f Bootloader : version 187, hash aad89d63
WARNING:
This test requires motors to spin at high speeds with
propellers attached. Please ensure that appropriate
protective equipment is being worn at all times and
that the motor and propeller are adequately isolated
from all persons.For best results, please perform this test at the
nominal voltage for the battery used.Type "Yes" to continue: yes
[0.017] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
[0.017] (1) RPM: 0, PWR: 0, VOLTAGE: 23.647V, TEMPERATURE: 37.39C, CURRENT: 0.000A
[0.017] (2) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
[0.017] (3) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A
[0.035] (0) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.654V, BOARD_CURRENT: 0.016A
[0.035] (1) RPM: 0, PWR: 0, VOLTAGE: 23.647V, TEMPERATURE: 37.39C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.654V, BOARD_CURRENT: 0.016A
[0.035] (2) RPM: 0, PWR: 0, VOLTAGE: 23.654V, TEMPERATURE: 37.97C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.654V, BOARD_CURRENT: 0.016A
[0.035] (3) RPM: 0, PWR: 0, VOLTAGE: 0.000V, TEMPERATURE: 0.00C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.654V, BOARD_CURRENT: 0.016A
[0.058] (0) RPM: 0, PWR: 0, VOLTAGE: 23.652V, TEMPERATURE: 31.38C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.654V, BOARD_CURRENT: 0.016A
[0.058] (1) RPM: 0, PWR: 0, VOLTAGE: 23.647V, TEMPERATURE: 37.39C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.654V, BOARD_CURRENT: 0.016A
[0.058] (2) RPM: 0, PWR: 0, VOLTAGE: 23.654V, TEMPERATURE: 37.97C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.654V, BOARD_CURRENT: 0.016A
[0.058] (3) RPM: 0, PWR: 0, VOLTAGE: 23.593V, TEMPERATURE: 31.06C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.654V, BOARD_CURRENT: 0.016A
[0.074] (0) RPM: 0, PWR: 0, VOLTAGE: 23.652V, TEMPERATURE: 31.38C, CURRENT: 0.000A, BOARD_VOLTAGE: 23.656V, BOARD_CURRENT: -0.104A -
OK, thanks for checking. maybe there was a typo before
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login