just a quick and simple question : does the Navigator board will have a functional SBUS output ?
I don’t have experience with the navigator board yet, so I’ve brought this up with our software team internally. I’ll update you as soon as they respond
Hi @EliotBR ,
ok, thank you for forwarding !
Right now we are aiming to support only RX/input for receivers (dedicated port).
Output support is not planned right now, but any serial port available should accomplish SBUS output.
Hi @patrickelectric ,
ok, so no dedicated output, but the ability to use any available serial port to output the Sbus frame ?
I tried several time on the Pixhawk, but outputting Sbus frame on a serial port never worked for me ! ( but, of course, it’s ok when using Pihawk’s dedicated Sbus output with BRD_SBUS_OUT parameter set to 1 )
Hence my question !
SBUS works on a UART, the only particular thing about SBUS is that the signal is inverted from a standard UART.
The navigator exposes 4 uarts, one of those UARTS has an integrated inversion circuitry for the input. This is to be used with SBUS input. None of the UARTS have an inverted output, but that can be added externally to accomplish SBUS output.
Hi, @jwalser ,
thank you for your reply, and sorry for the delayed mine, i was on holidays!
Of course i’m aware of the inverted signal of SBUS, i already develloped several peripherals and test programs to work with SBUS. ( Moreover, on some PIC microcontrollers i use, the UART has a very usefull software signal inversion. )
When i say that UART output never worked for me on Pixhawk, i mean that i have no electrical signal on the output pin. But maybe i missed something ?
Well, that said, if i understand correctly, the navigator board will be able to output SBUS on any of it’s serial port, right ?
Not unless you add your own external inversion circuitry. There is only support for SBUS input built in on the board.
I’m trying to output an(inverted) SBUS frame from one of the serial ports of the Navigator
( I write “inverted” because i know that only one of the four Navigator’s UARTS has an integrated inversion circuitry, and only for its input )
I tried to change the Parameters/Serial/Serialx_protocol ( with x = one of the serial port ) to SBus_servo_out by choosing it in the drop-down list of available protocols. ( and of course, restart the board ! )
Unfortunately, when i check for signal on TX ( and Rx, just in case ! ) pin, i have no signal at all !
I know that the ports are ok because, if i choose, for example, MAvlink2 protocol, it works !
I also tried protocols like “Volz servo out” or “Frsky Sport” without succes !
Did i missed something ?
I’ve moved this here because it’s on the same topic (and moved the thread to public, since Navigator has been released now).
As discussed above, a valid SBUS output would require your own external inversion circuitry. That said, the issue you’re describing seems to be that there’s no signal output at all, not just that it’s inverted. Perhaps the firmware you’re using does not have the SBUS output (and the other protocols you tried) implemented?
I know that with ArduSub there are various parameters and parameter values left over from the initial fork from ArduCopter, that have no usage or implementation in ArduSub. That’s something I’m planning to spend some time on soon to identify and remove from the documentation, because it can definitely be confusing to see parameters available for a feature that actually doesn’t exist.
Assuming you’re using ArduSub, I don’t know whether that that’s the case here, so I’ve raised it internally with the software team and will confirm whether it’s expected that the protocol should at least output something or if those protocols are just not implemented / available. It’s also possible that SBUS output has been intentionally disabled because it requires external hardware to produce a valid signal - there may be a flag that needs to be set somewhere in the firmware to re-enable it as an option.
Hi @EliotBR ,
sorry, i forgot to mention the software versions :
BlueoS is 1.1.0-beta.4-0-g31672bc Build: 6/13/2022, 9:48:59 PM And Autopilot is 4.1.0 (BETA)
I only see two issues to a strict implementation of SBUS :
- The inverted signal, wich can be a problem with native SBUS devices ( but is not in my case, thanks to a custom hardware )
- The specific baudrate ( 100 kb/s ) that not all uarts can handle. ( once again, no problem for my custom board )
But i think you’re right, i suspect an obscure software flag !
Anyway, i’m not hardly focused on SBUS, i’m just searching a simple way to stream all servo values on a serial port, to enable remote extensions.
If someone have any spare solution …
The servo values are already sent regularly via the
SERVO_OUTPUT_RAW MAVLink messages.
If a serial port is a hard requirement you may be able to write a program that reads the MAVLink messages and outputs the servo values over serial via USB and use a BLUART to convert to TTL Serial / RS-485.
Hi @EliotBR ,
yes, serial port is mandatory because i use a small microcontroller.
Using Mavlink is a good idea but require extra hardware and software. I wanted to keep things as simple as possible for users : just plug in the system and change an option in QGC !
As stated before, i’m not focused on SBUS, other protocols like Volz or Frsky or others will do the job ! Unfortunately I couldn’t activate them either!
Anyway, since i can’t be the only one interested, i’m pretty confident that these features will be activated in BluOS soon !