Closed davidngrc closed 5 years ago
That was discussed on chibios thread and would require alteration on current uart driver to support 2 new options similar to betaflight to enforce inversion of uart output on f4/f7 controllers and also needs to add half-duplex protocol support.
@utkinpol could you add a link to that discussion? thank you.
I would also like to know more about this.
Hi, Looking at: https://oscarliang.com/uninverted-sbus-smart-port-frsky-receivers we can see Rx and Tx pads of X4R and XSR are exposed, so shouldn't it work straight out of the box soldering to those pads? It avoids using any diy cables and gives us a real uart port to deal with without having to change anything in the protocol. Am I missing something ?
I have telemetry working on Omnibus F4 pro on UART 1 - frsky XSR, on Matek F405 I cannot get telemetry
After testing soldering to those pads most of the sensors are detected but not updated. So basically not working. And I am with a Matek F405 CTR as well.
can you try …. 1N4007 between RX5 - TX5 (TX on cathode, RX on anode to uninverted sport of XSR) ……. select serial 4 ... baud 57, protocol 10
https://gitter.im/ArduPilot/ChibiOS
Discussion is here. I had same bad results trying to use noninverted input. Code needs new features added to support same uart control betaflight has.
Do you mean bridging rx and tx on Fc side? What's the point of doing so?
Bridge with a diode to make it talk half dulex, sort of. A bad solution, but works. Proper solution is to configure fc uart into halfduplex mode
TX on anode and rx on cathode did the trick indeed.
Could you guys help clarify something... I've been trying to get this working with no luck.
@Ind0man , You wrote Success with diode Anode(+) on the TX pad. And diode's Cathode(-) soldered to the RX pad.
While @Ind0man above says the opposite.
Unfortunately for me, I did both ways and still don't see the FrSky Passthrough Telemetry.
We solder RX univerted SmartPort to the FC RX pad right? After successfully bridging with the diode.
I am doing this on the Omnibus Nano v6. According to the wiki, Telemetry should be on UART1. In Mission Planner, we set Serial1_PROTOCOL to 10 right?
Referring to Oscar Liang's website, solder pin A to tx on Fc and pin B to rx of the same uart on Fc.
On Fc side bridge tx and rx with anode on TX and cathode on rx.
Check hwdef of your own board, you might find something as following:
Now the UART order. These map to the hal.uartA to hal.uartF objects. If you use a shorter list then HAL_Empty::UARTDriver objects are substituted for later UARTs, or you can leave a gap by listing one or more of the uarts as EMPTY.
The normal usage of this ordering is: 1) SERIAL0: console (primary mavlink, usually USB) 2) SERIAL3: primary GPS 3) SERIAL1: telem1 4) SERIAL2: telem2 5) SERIAL4: GPS2 6) SERIAL5: extra UART (usually RTOS debug console)
order of UARTs (and USB) UART_ORDER OTG1 USART6 USART1 UART4
In your case it seems telem1 is uart 1 and serial1_protocol should indeed be set to 10.
Thanks so much for writing all that @Ind0man
It worked exactly as you described. I missed the fact that there was an A and B point for S.PORT.
I wonder if the R-XSR has a "B" point we can tap into somewhere.
Anyways, happy that this is working. Set SERIAL1_PROTOCOL to 10 and rebooted the FC. And all additional sensors were discovered.
Thanks so much for writing all that @Ind0man
It worked exactly as you described. I missed the fact that there was an A and B point for S.PORT.
I wonder if the R-XSR has a "B" point we can tap into somewhere.
Anyways, happy that this is working. Set SERIAL1_PROTOCOL to 10 and rebooted the FC. And all additional sensors were discovered.
https://github.com/ArduPilot/ardupilot/pull/9749
you no longer need to use a hack - this PR will bring inversion control as an option in arducopter.
@Ind0man I wanted to use the connector on the XSR...so I removed the inverter to free up the S.PORT pin. And then removed the resistor circled in the yellow box to remove free up the CPPM pin.
Then decided to just do the diode bridge between points A and B on the XSR itself.
Here's what it looked like before I Liquid Electrical Tape things down and then heat shrink my XSR RX.
So now, the modded XSR can use the original plug. And the CCPM and SPORT position gets soldered to the Uart's RX and TX pads respectively on the FC.
That looks really nice. Thanks for sharing ^^
@tridge @utkinpol @MATEKSYS
just download 2018-12-07 ArduPlane V3.10.0-dev http://firmware.ardupilot.org/Plane/latest/MatekF405-Wing/
and 2018-11-25 v1.3.61 http://firmware.ardupilot.org/Tools/MissionPlanner/MissionPlanner-latest.zip
Test it on Matek F405-WING for UART 1, 3, 5 ( FrSky S8R + X9DP ) SERIALn_BAUD = 57 which is 57600 SERIALn_OPTIONS = x where x I try set to 1, then 2, then 3, then 7 (saved setting, power off and on each time) SERIALn_PROTOCOL = 10 which is FrySky SPort Passthrough
I also try connect the S8R SPort pin to a MatekF405-Wing TX pin, found nothing, then connect to MatekF405-WingRX pin, and redo the test. all no new sensor.
Hello,
I've a got a R9 slim and a Kakute F7 and flashed ea2970bf2 (master's HEAD at the time of this post). I'm trying to get S.Port working.
S.Port from the R9 slim is connected to the the TX pad of USART2 (SERIAL2) and I set SERIAL2_PROTOCOL
to 4 and SERIAL2_OPTIONS
to 7 but I don't get any sensors appearing when enabling "Discover new sensors".
Is it the way it should be wired ?
@shellixyz the thread here might help: https://discuss.ardupilot.org/t/kakute-f7-aio-s-port-telemetry/34106/60
@auturgy Ok thank you. Looks like I'm not the only one that can't make the Slim work with Ardupilot.
Update to R9 slim today. I will test tonight 2019-02-13 | 190201 | Fix the incorrect telemetry issue |
---|
I can confirm that it works on an F405-wing with an R9-slim + and the latest firmware. I used the settings below:
SERIAL4_BAUD 57 SERIAL4_OPTIONS 4 SERIAL4_PROTOCOL 10
any chance this could be addressed for arducopter/matek405wing/X8R - currently no telemetry
What about SERIALx_PROTOCOL 4 ? To me it doesn't seem to send the right sensor IDs.
any chance this could be addressed for arducopter/matek405wing/X8R - currently no telemetry The R9slim + has an inverted(actually uninverted) s.port pin like the the R9mm. I think the issue with the X8R is that it only has standard s.port. You can probably hack the receiver to find the uninverted signal.
What about SERIALx_PROTOCOL 4 ? To me it doesn't seem to send the right sensor IDs.
I can try protocol 4 tonight. However, protocol 10 pass-through telemetry with Yaapu lua scripts is pretty impressive. Try it.
Indeed I should try it :+1:. Please test protocol 4 anyway if you can.
Tested with latest firmware http://www.mateksys.com/?portfolio=f405-wing#tab-id-6
non-inverted (hacked) S.Port signal TX1 pad of F405-WING SERIAL1_BAUD 57 SERIAL1_OPTIONS 7 SERIAL1_PROTOCOL 4
or TX6 pad of F405-WING SERIAL6_BAUD 57 SERIAL6_OPTIONS 7 SERIAL6_PROTOCOL 4
I could not get protocol 4 working with the settings suggested by Mateksys. I tried it on both TX1 and TX6 connected with the RX1 (un-inverted) pin on the R9 slim +. Again, Protocol 10 works fine with Yaapu telelmetry scripts.
Hi Mateksys .... could you send me the pins for F405-CTR ...... I was using a hacked XSR on TX5 - RX5. That was working well. ... But I cannot get telemetry with an R9 mm (uninverted SPORT) on TX5.
Tested with latest firmware http://www.mateksys.com/?portfolio=f405-wing#tab-id-6
non-inverted (hacked) S.Port signal TX1 pad of F405-WING SERIAL1_BAUD 57 SERIAL1_OPTIONS 7 SERIAL1_PROTOCOL 4
or TX6 pad of F405-WING SERIAL6_BAUD 57 SERIAL6_OPTIONS 7 SERIAL6_PROTOCOL 4
@MATEKSYS can you clarify that SERIAL6 above was tested with regular inverted s.port signal out of X8R or similar.
btw, my challenge with the latest AC firmware is that matek405wing it doesn't boot with Beitian BN 880 compass/gps combo. https://discuss.ardupilot.org/t/copter-3-6-5-released/37733/12?u=maciek01
@maciek01 S.Port signal doesn't work, need non-inverted S.Port.
@ThomasH3 I have no R9mm, you might try “Inverted S.Port” pad on R9mm, I don't understand why Frsky mark it "inverted" :-)
I had to swap UART's, following setup is working (R9 MM to Matek F405-CTR , STD) Serial1: Telemetry - TX3 - SPORT (Inverted)…. Baud 57, Option 4, Protocol 10 or Serial2: Telemetry - TX4 - SPORT (Inverted) …. Baud 57, Option 4, Protocol 10 Serial3: GPS - RX/TX 1 ….. Baud 57, Option 0, Protocol 5
HELLO. AS MATEKSYS and CHOYADO report, seem possible to get telemetry both on MATEK WING TX1 and TX6 on RX1 FRSKY SLIM+ RX. I follow all procedure correct, trying any combination but cannot get any discovered new sensor on my QX7 Taranis. I didn't yet install the LUA yaapu script, but , i souppose, should be indifferent and could be able to discover sesnsors anyway, does it? Another difference i' got, I can't set the SERIALx_OPTION parameter on MPby the fact I've not it in the full par list. My MP ver is the V3.9.5 and FW is the latest stable kept on official AP repository. Can any one suggest any my possible missing action? TK a lot
A couple things. The serial options parameter is only available on 3.10 (latest) version at this time. If you are using passthrough telemetry (protocol 10) you cannot discover sensors until the script is running. Lastly I was not able to get protocol 4 working on my FC.
Great, i will try on tomorrow. But how is possible options 7 if on the official AP Full Parameter List, it's only till 4?
EX:
I think 7 is options 4,2, and 1 at the same time.
Ok, Tk Choyado, I'll try on tomorrow. A curiosity: on which TX you're using it?
Confirm. Work great according to choyado guide. Tk a lot
Ok, Tk Choyado, I'll try on tomorrow. A curiosity: on which TX you're using it?
I am using a Taranis TX.
I use a single wire connection from tx to an inverted s.port to r9mm. Now there is only GPS data. If you change the destination and parameters of the port, then after turning on the flight controller, the data will appear for 1 second (the correct data and all sensors), but then disappear. Use matek f405 ctr
I don't know the R9mm function, even if it should be same of Slim+. Have you update latest rx fw on frsky? F405-Ctr really don't know, mine is F405-Wing
Yes, I updated it, and the equipment and the receiver and transmitter, the data appear during the controller loading and immediately disappear
Are you using passthrough or frsky x telemetry? I could not get x to work.
Options 4, protocol 10, I only have gps displayed, there are no others ...
Are you using a lua script like Yappu? Protocaol 10 "(Passthrough) telemetry will not populate the the telemetry sensors on the Taranis unless a lua script is running.
Yes you are right !!! in menu number 12 on taranis x7
earned !!! It turned out you need to install the script yappu, only with coordinates it is not clear gps, only 4 digits displays
I am using OpenTx 2.2.2 in my X9D Plus + R9 Mini SBUS Firmware
On Pixhawk, we could use Frsky Smart Port Telemetry by adding extra hardware like "FrSky Telemetry Cables" or "Teensy Board" (test myself, working) mention here http://ardupilot.org/copter/docs/common-frsky-telemetry.html
But the Matek F405 WING, Omnibus F4 Pro are now supported by ArduPilot. and Matek F405 WING, Omnibus F4 Pro like FC are support SPort Telemetry without extra hardware in iNav, CleanFlight, BetaFlight. So I was hopping the latest firmware 2018-08-23 http://firmware.ardupilot.org/Plane/beta/MatekF405-Wing/
will work, but it does not.
because in here, it said the TX2 (SPort) pin is disabled. https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_HAL_ChibiOS/hwdef/MatekF405-Wing/hwdef.dat
I try TX1, TX2, TX3, TX5, with serial protocol set to 4=frsky sport or 10=frsky sport passthrough all not working, no new sensor.
I even try get the telemetry from this latest lua script https://github.com/jplopezll/OpenTX_FrSkySPort_passthrough_master same not working, I guest this script need a TTL-Serial inverter adaptor as mention in the readme.