Voxlio board Sbus lagging
-
if you look at voxl-px4 startup log (using
journalctl
or you can run voxl-px4 in foreground). Please ignore my firmware hash of M0065 (i am using a custom firmware, so it won't match yours, but it should match this one: https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl2-io/-/blob/master/voxl2-io-tools/firmware/modalai_m0065_firmware_v0_2_RC1_f94baad1.bin )voxl2:/$ journalctl -u voxl-px4 | grep VOXL2_IO May 30 17:51:33 m0054 voxl-px4[3932]: ESC=VOXL2_IO_PWM_ESC May 30 17:51:33 m0054 voxl-px4[3932]: ESC: VOXL2_IO_PWM_ESC May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Driver starting May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_BAUD : 921600 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC1 : 0 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC2 : 0 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC3 : 0 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC4 : 0 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC5 : 0 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC6 : 0 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC7 : 0 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_FUNC8 : 0 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_DIS : 1000 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_MIN : 1100 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_MAX : 2000 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_CMIN : 1050 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Params: VOXL2_IO_CMAX : 2000 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Opening UART device 2, baud rate 921600 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Successfully opened UART device May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Detecting M0065 board... May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: VOXL2_IO ID: 0 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Board Type : 35: ModalAi I/O Expander (M0065) May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Unique ID : 0x4304296039364B560671FF36 May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Firmware : version 2, hash f94baad1* May 30 17:51:36 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Bootloader : verINFO [qshell] Send cmd: 'voxl2_io start' May 30 17:51:37 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Reply time : 524us May 30 17:51:37 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Driver initialization succeeded May 30 17:51:37 m0054 voxl-px4[3932]: INFO [muorb] SLPI: VOXL2_IO: Detected VOXL2 IO SBUS RC
-
@Alex-Kushleyev We have the current thing
Attempting to start M0065 SBUS RC driver for original M0065 FW
INFO [muorb] SLPI: qshell gotten: dsp_sbus start
INFO [muorb] SLPI: arg0 = 'dsp_sbus'
INFO [muorb] SLPI: arg1 = 'start'
INFO [qshell] Send cmd: 'dsp_sbus start'
ERROR [muorb] SLPI: Failed to execute command: dsp_sbus start
Starting M0065 SBUS RC driver for original M0065 FW failed
Attempting to start M0065 SBUS RC driver for new M0065 FW
INFO [qshell] Send cmd: 'voxl2_io start -d -p 7'
INFO [muorb] SLPI: Ok executing command: voxl2_io start -d -p 7We will try updating the firmware and let you know how ti goes based on what you say
-
@Jeffrey-Mao , which version of px4 are you using?
BTW, i figured out the issue. When VOXL2_IO is not used for motor outputs (
VOXL2_IO_FUNCx
are all set to zero), the module updates at a very low rate (every 200-300ms) because the schedule thinks the mixer module is unused. This causes the data from M0065 board coming into VOXL2 (and voxl2_io driver) to be dropped and delayed.I am looking at a temporary workaround for this and a fix. As a workaround, setting
param set VOXL2_IO_FUNC8 108
makes the module update at full rate (800hz) but i need to check to see what happens if you have a quad and what happens to motor 8 in that case.What are you using as motor outputs? voxl esc or also planning to use voxl2_io ?
Meanwhile, please update the PX4 from sdk 1.3.0 , and you will also need to update M0065 firmware. Old M0065 firmware (V1) and old voxl2_io driver had some issues.
-
OK, it seems the workaround (not affecting motor output) is to set any of the
VOXL2_IO_FUNCx
to values 402-422, which forces the module to update at 250hz, which is enough to solve this issue without changing code. Note that this will output the value of the function to VOXL2_IO board, but if you don't have anything connected to the corresponding pwm output, it should be fine (i suggest doing something like thisparam set VOXL2_IO_FUNC8 408
since PWM channel 8 is rarely used anyway.You could try doing the same with your old M0065 firmware (which only supports 4 channels, however), so you would set
param set VOXL2_IO_FUNC4 408
. However, i strongly recommend using the latest M0065 firmware and modal2_io drivers. see changelog: https://docs.modalai.com/voxl2-io-firmware/#voxl-sdk-12x-wip -
Oh glad to hear something from your end.
Currently we are using VoxlESC and the Px4 from SDK 1.1.1. Recently I flashed the board but the remote control is no longer detected. Also how do we set the parameter of the voxl2_io_func8 is this in the start up /usr/bin/voxl-px4-start?
Thanks again for the help,
Jeff
-
@Jeffrey-Mao , you can use QGC to update the param or from voxl2, “px4-qshell param set VOXL2_IO_FUNC8 …..” . This is standard px4 param setting.
-
@Alex-Kushleyev
Hey Alex, I am working with Jeffrey. I can't seem to find the VOXL2_IO_FUNCx parameters. Is it on the VOXL2_IO board or the VOXL2 main board? Because while running px4 on foreground this was not listed and its not listed even at QGC -
@Alex-Kushleyev hi Alex thank you so much for the help. We figured it out after updating some of the firmware. It flies much smoother with the jeti RC now
-
@Jeffrey-Mao , this issue has been properly fixed, details here : https://github.com/modalai/px4-firmware/commit/636ffefcb1a96ad2b53e988d23bf6419955b69ea . The fix is in
voxl-dev
branch ofpx4-firmware
and will be included in the next nightly build and thereafter. -
-
@Alex-Kushleyev The fix is available in this build: http://voxl-packages.modalai.com/dists/qrb5165/dev/binary-arm64/voxl-px4_1.14.0-2.0.77-202406051703_arm64.deb