DeBesten / opentx

Automatically exported from code.google.com/p/opentx
0 stars 0 forks source link

DSM2 serial on Taranis #128

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Which board  Taranis

What is your openTx FW version?
2688

Hello

pleas make a File with DSM2 or DSMX Protocoll 

I need it for a DX5 HF Module with a seriall output.

I cant it compile (Windows PC)

Regards
Stefan

Original issue reported on code.google.com by kiend...@gmail.com on 2 Sep 2013 at 6:39

GoogleCodeExporter commented 8 years ago
DSM2/DSMX on FrSky taranis is still not supported,
when it will be supported you will be able to find it in companion9x options.
This is not actually a defect but a feature request.

Original comment by romolo.m...@gmail.com on 2 Sep 2013 at 6:55

GoogleCodeExporter commented 8 years ago
Hello
how can I compile the Taranis software itself
I have a win7 PC, the complete code is downloaded
but I get to the start of "make all" error arm-none-eabi-gcc not found.
what do I need?

Greetings Stefan

Original comment by kiend...@gmail.com on 2 Sep 2013 at 5:09

GoogleCodeExporter commented 8 years ago
you need an arm toolchain like yagarto or similar.

But I repeat: even you you compile by yourself DSM2 doesn't work yet...

Original comment by romolo.m...@gmail.com on 2 Sep 2013 at 6:34

GoogleCodeExporter commented 8 years ago
Thank you
I'll wait until DSM2 works
regards Stefan

Original comment by kiend...@gmail.com on 3 Sep 2013 at 6:25

GoogleCodeExporter commented 8 years ago
What needs done to support DSM2/DSMX via Serial?
I've downloaded the code and it appears that the protocol itself is already 
implemented.  I assume it's working on other boards, just not the Taranis?
The TODO.txt simply states: "DSM2 channel order (Cam)"

Is there an IRC or Forum somewhere that the developers hang out?

Original comment by modul...@gmail.com on 3 Sep 2013 at 7:00

GoogleCodeExporter commented 8 years ago
DSM2/X works on AVR but not on Taranis
The TODO is not updated, and DSM2 still require some work and debugging,

Please remember the developers have a real life and do not work full time on 
OpenTX, nor they are on the payroll of OpenTX.

Nowhere, in the specs of the radio you bought, was written that it was going to 
support hack DSM2/X modules. Surely it will but be patient.

About the info for the forum is well reported in all official Taranis docs:
http://openrcforums.com/forum/index.php

Original comment by romolo.m...@gmail.com on 4 Sep 2013 at 6:44

GoogleCodeExporter commented 8 years ago
I already implemented almost everything for DSM2 serial. I only need a couple 
of hours with the logic analyser, I believe the signal is inverted, unless it's 
the endiannness.

Original comment by bson...@gmail.com on 4 Sep 2013 at 6:49

GoogleCodeExporter commented 8 years ago

Original comment by bson...@gmail.com on 4 Sep 2013 at 6:52

GoogleCodeExporter commented 8 years ago
Romolo, I'm afraid you've misunderstood my enthusiasm to help get Serial DSM 
working with criticism that it's not.  I consider myself a capable developer, 
I've implemented the dsm protocol on the arduino by making a ppm-2-dsm module 
similar to the one in the rcgroups post.  I'd just rather build a new module 
that's dumping serial straight into the dx5e radio, as anything more than that 
just isn't beautiful.

Bertrand, I've seen the PCBTARANIS code in dsm2_arm.cpp, I assume this is where 
whatever remaining issues are.  I'll happily attempt to debug it.  Where can I 
find the default build options for the Taranis? I've worked with both arudinos 
and mbeds, but not opentx or avrdude.  Thanks for responding.

Original comment by modul...@gmail.com on 4 Sep 2013 at 2:30

GoogleCodeExporter commented 8 years ago
Cool, contributions are always welcome :)

We would just need to find a day to spend on it with Bertrand, but I've been 
away abroad for work, then Bertrand has been on holiday, now he's back any I'm 
leaving again tomorrow for 2 weeks... and in the meantime those beautiful 
summer days are better spent flying than coding ;)
But I actually do have a DSM2 module I'd like to use myself at some point :)

So a quick summary:
- The DSM2 packets are constructed in protocols/dsm2_arm.cpp. As the PPM signal 
line is not a hardware serial port but a timer's compare output, the packet is 
converted into an array of "time until the next edge" elements.
- The hardware driver is in targets/taranis/pulses_driver.cpp. The timer is set 
up to wraparound every 22ms giving the base frame rate, and to generate an edge 
at every wraparound and compare match.
- A DMA is used to load the next element of the array into the timer's compare 
register everytime a compare match happens. 

The current trunk generates a 44ms-period square showing the 22ms interrupt is 
working fine, but there is no data. 
I did a very quick check of the logic part and it looked OK, and even if it 
wasn't we should at least have some garbage out so I'd suspect the DMA isn't 
running. Might be a good place to check first, so that we can get some data 
out. Then check if that data is correct or not :)

Original comment by bernet.a...@gmail.com on 4 Sep 2013 at 4:34

GoogleCodeExporter commented 8 years ago
The option is DSM2=YES

I succeeded to have almost everything working, but inversed and I had to stop 
because other things to do. Personnally I don't need it at all. 

I will try to find a couple of hours asap to debug it with the logic analyser. 
But feel free to help if you can!

Original comment by bson...@gmail.com on 4 Sep 2013 at 7:30

GoogleCodeExporter commented 8 years ago
Sorry guys, please don't worry about working on it just because I'm asking.. It 
is open-source and anyone can help, I would never complain to get other 
features added.  In fact, the current stuff is awesome, I love the auto-select 
for the source, I just flip a switch and it updates, that's great!

Thanks for all the responses guys, that'll get me started except for one thing.
I guess I should have been more clear, I knew to use DSM2=YES to enable the DSM 
option, I actually meant the rest of the options for a Taranis, such as 
PCB=TARANIS, etc..
I don't have a clue what frsky used as the options to build the firmware in the 
first place, and haven't found it anywhere yet..

Thanks again for the responses, I'll check out pulses_driver.cpp tonight.

Original comment by modul...@gmail.com on 4 Sep 2013 at 8:33

GoogleCodeExporter commented 8 years ago
It's DSM2=PPM actually.

A standard command line would be:
make PCB=TARANIS PCBREV=REV4 HELI=YES GVARS=YES AUTOSWITCH=YES AUTOSOURCE=YES 
PPM_LIMITS_SYMETRICAL=YES PPM_CENTER_ADJUSTABLE=YES TRANSLATIONS=EN 
TEMPLATES=YES DBLKEYS=YES

Original comment by bernet.a...@gmail.com on 4 Sep 2013 at 9:30

GoogleCodeExporter commented 8 years ago
What is dsm2Index being used for?

Ok, I used that make command, but after burning the resulting firmware, the 
Taranis was stuck in a bootloop flashing the splash screen until I burned a 
good firmware.

Original comment by modul...@gmail.com on 5 Sep 2013 at 3:54

GoogleCodeExporter commented 8 years ago
Hello
Hav you news to DSM??

Regards Stefan

Original comment by kiend...@gmail.com on 7 Sep 2013 at 10:24

GoogleCodeExporter commented 8 years ago
One more recurring request

Original comment by bernet.a...@gmail.com on 25 Sep 2013 at 1:10

GoogleCodeExporter commented 8 years ago
Just wondering if the DSM2/X protocol would support ModelMatch

Original comment by SFC...@gmail.com on 6 Nov 2013 at 7:33

GoogleCodeExporter commented 8 years ago
It should, the model ID is transmitted through the protocol

Original comment by bson...@gmail.com on 6 Nov 2013 at 8:57

GoogleCodeExporter commented 8 years ago
Thanks for everyone's hard work and contribution. Do I read correctly that a 
build using the DSM2=PPM will now work.

Original comment by keith.he...@gmail.com on 9 Dec 2013 at 4:20

GoogleCodeExporter commented 8 years ago
Yes, you read correctly :)

Original comment by bson...@gmail.com on 9 Dec 2013 at 7:05