Voxlio board Sbus lagging
-
@Jeffrey-Mao , We have been testing using Graupner and there is no issue. However we have had a few reports that some SBUS receivers are causing the behavior that you are describing. I suspect that some radios may be using a modified SBUS protocol, or something like that.
Just to double check, which version of the VOXL2 IO board (M0065 are you using) ?
We can investigate it further.
Alex
-
@Alex-Kushleyev Quick question how do we check the M0065 Version?
Also have you guys tried Futaba remotes are they OK? Just wondering since they are on the list of RC with Graupner, but it seems Graupner's remotes are sold out everywhere
https://docs.modalai.com/voxl2-rc-configs/ -
@Jeffrey-Mao , I am checking whether we tried Futaba rx (the docs page says it is not supported).
Meanwhile, I have a Ghost rx which can be configured in SBUS output mode, which has been reported to behave in the way you are describing. I will try it, perhaps there is a common issue related to Ghost and your Jeti receiver. I will try to get back to you today or tomorrow.
Alex
-
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