Arduino FRSKY SPORT to JETI DUPLEX transcoder..
- Rob Thomson
- Site Admin
- Posts: 4543
- Joined: Tue Dec 27, 2011 11:34 am
- Country: United Kingdom
- Location: Albury, Guildford
- Contact:
Arduino FRSKY SPORT to JETI DUPLEX transcoder..
Hi All
I am starting to pull together some information to enable a SPORT to DUPLEX convertor to be made.
The idea here is to enable cheaper frsky sensors to be used with the Jeti Duplex protocol.
Initial research would show it to be quite a straight forward job.
A few resources I have found are:
1. invertor cable
This cable would probably be needed to allow the sport sensor to be plugged into an arduino. This is due to the signal being inverted. (to be confirmed)
http://www.hobbyking.com/hobbyking/stor ... Cable.html
2. arduino receive code
This project is already receiving the frsky code. Essentially allowing you to plug a smart port device into an arduino, then reading the values.
https://github.com/zendes/SPort
3. jeti duplex output
This project implements a duplex protocol from mavlink source. Essentially the guts of what I already need.
http://www.devfor8.com/mav2duplex/
I am hoping to find some time over the next few weeks to try and put a working sample together! (unless any other guru can beat me to it!) If anyone else has any ideas in this regard.. shout!
Rob
I am starting to pull together some information to enable a SPORT to DUPLEX convertor to be made.
The idea here is to enable cheaper frsky sensors to be used with the Jeti Duplex protocol.
Initial research would show it to be quite a straight forward job.
A few resources I have found are:
1. invertor cable
This cable would probably be needed to allow the sport sensor to be plugged into an arduino. This is due to the signal being inverted. (to be confirmed)
http://www.hobbyking.com/hobbyking/stor ... Cable.html
2. arduino receive code
This project is already receiving the frsky code. Essentially allowing you to plug a smart port device into an arduino, then reading the values.
https://github.com/zendes/SPort
3. jeti duplex output
This project implements a duplex protocol from mavlink source. Essentially the guts of what I already need.
http://www.devfor8.com/mav2duplex/
I am hoping to find some time over the next few weeks to try and put a working sample together! (unless any other guru can beat me to it!) If anyone else has any ideas in this regard.. shout!
Rob
Slope Soaring, FPV, and pretty much anything 'high tech'
...........if you think it should be in the wiki.. ask me for wiki access, then go add it!
...........if you think it should be in the wiki.. ask me for wiki access, then go add it!
Re: Arduino FRSKY SPORT to JETI DUPLEX transcoder..
As you probably know, you can find some code in openXsensor that could be usefull to receive the SPORT data without using an inverter.
This is possible because it does not use the harware UART.
Take care that currently openxsensor read only the deviceID and not all data but I think it could be adapted.
Otherwise, I think you can try using a software serial library. If I remember wel, such a library was used in an old version of openxsensor.
This is possible because it does not use the harware UART.
Take care that currently openxsensor read only the deviceID and not all data but I think it could be adapted.
Otherwise, I think you can try using a software serial library. If I remember wel, such a library was used in an old version of openxsensor.
- Rob Thomson
- Site Admin
- Posts: 4543
- Joined: Tue Dec 27, 2011 11:34 am
- Country: United Kingdom
- Location: Albury, Guildford
- Contact:
Re: Arduino FRSKY SPORT to JETI DUPLEX transcoder..
Can you point me roughly to where in the source I can find this?
Slope Soaring, FPV, and pretty much anything 'high tech'
...........if you think it should be in the wiki.. ask me for wiki access, then go add it!
...........if you think it should be in the wiki.. ask me for wiki access, then go add it!
Re: Arduino FRSKY SPORT to JETI DUPLEX transcoder..
I presume that you would like to connect the Frsky sensors directly to the Arduino without using a Frsky receiver.
In this case, you have to take care that Arduino has to generate the polling that is normally generated by the Rx.
This is required because the Sport sensors do not sent automatically their data. They have a device ID and they sent their data only when a master (normally the Rx) makes a polling with the same device Id.
In this case, you have to take care that Arduino has to generate the polling that is normally generated by the Rx.
This is required because the Sport sensors do not sent automatically their data. They have a device ID and they sent their data only when a master (normally the Rx) makes a polling with the same device Id.
- Rob Thomson
- Site Admin
- Posts: 4543
- Joined: Tue Dec 27, 2011 11:34 am
- Country: United Kingdom
- Location: Albury, Guildford
- Contact:
Re: Arduino FRSKY SPORT to JETI DUPLEX transcoder..
Hmm...
Yes. Prerty much.
Having a read of this:
https://github.com/zendes/SPort
It sould look to me like this code is simply sniffing the wire. Not actually sending th id.
This will need some thought.
The aim is essentially to make the Arduino emulate the receiver function.
Yes. Prerty much.
Having a read of this:
https://github.com/zendes/SPort
It sould look to me like this code is simply sniffing the wire. Not actually sending th id.
This will need some thought.
The aim is essentially to make the Arduino emulate the receiver function.
Slope Soaring, FPV, and pretty much anything 'high tech'
...........if you think it should be in the wiki.. ask me for wiki access, then go add it!
...........if you think it should be in the wiki.. ask me for wiki access, then go add it!
Re: Arduino FRSKY SPORT to JETI DUPLEX transcoder..
The code for the communication is in the file Aserial.cpp (and Aserial.h).Rob Thomson wrote:Can you point me roughly to where in the source I can find this?
This file contains code for the 2 protocols (Hub and Sport). Normally only SPORT has sense for your project I presume.
If you need more explanations, do not hesitate to ask for.
Note: if you want a cheap solution, you could also avoid using Frsky sensor and use openxsensor as base.
You must then replace the Hub/SPORT protocols by the Jeti protocol. I can help if you want but I do not have a Jeti to test.
OpenXsensor supports already:
- altitude, uncompensated and/or pneumatically compensated Verticalspeed (vario)
- airspeed and (electronically) compensated vario
- up to 6 voltages/temperature measurements
- current measurement
- RPM.
I have some PCB that can help putting all compoments toegether.
Re: Arduino FRSKY SPORT to JETI DUPLEX transcoder..
If you need informations on the way the Rx polls the sensors, I can help a little.Rob Thomson wrote:Hmm...
Yes. Prerty much.
Having a read of this:
https://github.com/zendes/SPort
It sould look to me like this code is simply sniffing the wire. Not actually sending th id.
This will need some thought.
The aim is essentially to make the Arduino emulate the receiver function.
There are also some information on this forum
- Rob Thomson
- Site Admin
- Posts: 4543
- Joined: Tue Dec 27, 2011 11:34 am
- Country: United Kingdom
- Location: Albury, Guildford
- Contact:
Re: Arduino FRSKY SPORT to JETI DUPLEX transcoder..
I've got a general idea at this point. Any info you can supply would be usefull.
I guess what I need to do is hook a up a sensor and arduino - to see what I get out of it! I have never done any proper protocol based coding so will be a challenge
I think that a big advantage of this sort of trancoder will be the porential of enabling frsky sensors to be used on any telemetry system. Jeti is just the step1.
I guess what I need to do is hook a up a sensor and arduino - to see what I get out of it! I have never done any proper protocol based coding so will be a challenge
I think that a big advantage of this sort of trancoder will be the porential of enabling frsky sensors to be used on any telemetry system. Jeti is just the step1.
Slope Soaring, FPV, and pretty much anything 'high tech'
...........if you think it should be in the wiki.. ask me for wiki access, then go add it!
...........if you think it should be in the wiki.. ask me for wiki access, then go add it!
Re: Arduino FRSKY SPORT to JETI DUPLEX transcoder..
Rob,
you can also find some information about SPORT in the thread.
viewtopic.php?f=96&t=5393&hilit=SPORT+protocol.
Frsky Rx makes a polling using 28 codes (allowing up to 28 sensors on the bus).
There is about 11 ms between 2 polling sent by RX.
So it takes initially 300 msec (28 * 11) to poll all sensors ID.
Still, if one sensor reply to RX, then Rx will poll this sensor once on two (so every 22 ms). This allows this sensor to transmit more data than if it would be polled only every 300 msec.
If more than one sensor reply, the Rx will adapt this logic in order to give priority to the sensors that replies.
you can also find some information about SPORT in the thread.
viewtopic.php?f=96&t=5393&hilit=SPORT+protocol.
Frsky Rx makes a polling using 28 codes (allowing up to 28 sensors on the bus).
There is about 11 ms between 2 polling sent by RX.
So it takes initially 300 msec (28 * 11) to poll all sensors ID.
Still, if one sensor reply to RX, then Rx will poll this sensor once on two (so every 22 ms). This allows this sensor to transmit more data than if it would be polled only every 300 msec.
If more than one sensor reply, the Rx will adapt this logic in order to give priority to the sensors that replies.
- MikeB
- 9x Developer
- Posts: 17996
- Joined: Tue Dec 27, 2011 1:24 pm
- Country: -
- Location: Poole, Dorset, UK
Re: Arduino FRSKY SPORT to JETI DUPLEX transcoder..
The defined polling rate is 12mS, specifically the Rx sends out the 2 polling bytes (7E and the physical ID)(at 57600 baud), then listens for any response. Such a response should occur quite soon, and complete before 8mS from the start of the 7E poll. The last 4mS of the 12mS 'slot' the bus should be idle.
Mike.
Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
The difficult we do immediately,
The impossible takes a little longer!
Re: Arduino FRSKY SPORT to JETI DUPLEX transcoder..
Hello Rob,
I just read your post today, also the other one where you searched for the JETIBOX.INO code I used in the openXvario jeti branch...
If this helps, here is my most compact "Jeti Duplex EX" sensor implementation based on arduino:
Jeti Duplex EX Sensor (Arduino Demo code)
The JETIBOX.INO is included in this archive as well. The code can be directly flashed to a Pro Mini 328 16Mhz and sends some simple static sensor data to the UART (= EXT telemetry) port, Duplex EX coded as well as classic 16x2 jetibox.
But: It requires a hardware serial port to get the 9 bit protocol running. Shure the software implementatino could be patched to handle the 9th bit as well...
For my sensor projects I changed away from Arduino to pure C in the meantime. My current "Dual MS5611 vario" runs well with C, the DIY PCB is sized 16 x 22mm with a MS5611 on each pcb side and a m328 handling them.
By the way:
I am still interested in getting the TGY 9x "Duplex EX" capable, so I started to implement the EX "receiving side" into the OpenTX JETI code this summer. At least the state machine in JETI.INO decodes the EX frames already (besides the 16x2 jetibox text frames) and displays them alternativly on the transmitters jeti telemetry page. But its still buggy in the decoding, there are some frame errors on some channels...
Let me know if I can help in your transcoder project,
kind regards from Germany,
Henning
I just read your post today, also the other one where you searched for the JETIBOX.INO code I used in the openXvario jeti branch...
If this helps, here is my most compact "Jeti Duplex EX" sensor implementation based on arduino:
Jeti Duplex EX Sensor (Arduino Demo code)
The JETIBOX.INO is included in this archive as well. The code can be directly flashed to a Pro Mini 328 16Mhz and sends some simple static sensor data to the UART (= EXT telemetry) port, Duplex EX coded as well as classic 16x2 jetibox.
But: It requires a hardware serial port to get the 9 bit protocol running. Shure the software implementatino could be patched to handle the 9th bit as well...
For my sensor projects I changed away from Arduino to pure C in the meantime. My current "Dual MS5611 vario" runs well with C, the DIY PCB is sized 16 x 22mm with a MS5611 on each pcb side and a m328 handling them.
By the way:
I am still interested in getting the TGY 9x "Duplex EX" capable, so I started to implement the EX "receiving side" into the OpenTX JETI code this summer. At least the state machine in JETI.INO decodes the EX frames already (besides the 16x2 jetibox text frames) and displays them alternativly on the transmitters jeti telemetry page. But its still buggy in the decoding, there are some frame errors on some channels...
Let me know if I can help in your transcoder project,
kind regards from Germany,
Henning
Last edited by Henning on Mon Nov 10, 2014 7:52 pm, edited 1 time in total.
- Rob Thomson
- Site Admin
- Posts: 4543
- Joined: Tue Dec 27, 2011 11:34 am
- Country: United Kingdom
- Location: Albury, Guildford
- Contact:
Re: Arduino FRSKY SPORT to JETI DUPLEX transcoder..
Hey. Thanks for the info.
I have a load of diy going on at home, so work on this project will be patchy.
If I can get the frsky side sorted - I imagine the jeti side wilk be rather easy. The classes kind of already exist to just do the job.
Realistically... a few weeks before I make progress. Just too much on!
I have a load of diy going on at home, so work on this project will be patchy.
If I can get the frsky side sorted - I imagine the jeti side wilk be rather easy. The classes kind of already exist to just do the job.
Realistically... a few weeks before I make progress. Just too much on!
Slope Soaring, FPV, and pretty much anything 'high tech'
...........if you think it should be in the wiki.. ask me for wiki access, then go add it!
...........if you think it should be in the wiki.. ask me for wiki access, then go add it!
Re: Arduino FRSKY SPORT to JETI DUPLEX transcoder..
Hello Henning,Henning wrote:
By the way:
I am still interested in getting the TGY 9x "Duplex EX" capable, so I started to implement the EX "receiving side" into the OpenTX JETI code this summer. At least the state machine in JETI.INO decodes the EX frames already (besides the 16x2 jetibox text frames) and displays them alternativly on the transmitters jeti telemetry page. But its still buggy in the decoding, there are some frame errors on some channels...
Let me know if I can help in your transcoder project,
kind regards from Germany,
Henning
i am new to openTX. I am using Jeti at the Moment, and want to have a lightweight Transmitter. So I want to test a Taranis 9XD Plus.
I have many Models with Jeti Receiver, so i want to use a TG2 Modul at the Taranis.
Now is the open thing, how can i get the Telemetry in the Taranis. I need an Converter from JetiEX Protocol to FrSky.
Please tell me the state of your Project from the last Summer.
Or is there some sample Code available, to make an transcoder
Regards
Christian