just 6 ch on DSM2/X?

er9x is the best known firmware. It has a superb range of features and is well supported by the community. Well worth trying out.
Post Reply
magmeinenseat
Posts: 13
Joined: Thu Jan 31, 2013 7:40 am
Country: -

just 6 ch on DSM2/X?

Post by magmeinenseat »

Hello to everyone!

For the last days i was reading many many sites of stuff with the modding of the 9x to work with DSM2/X.

I've got an burning question. Why is the 9x (er9x) just giving me 6 channels and not the full 8 channels?
Is it possible to get the full 8? Is there any way?

I'm very sorry, when some guys think that my request is annoying, but i just want to know if there is a possibility to get all my rc-stuff feeded by one modification on my 9x.
I don't realy need the full 8 channels, I need just 7. The 7th channel will be used for the bankswitching of my MSH Brain FBL-controler.

If there is no way to get what I want with the DX4e modul i will take another option, like selling my 9x and buy another Transmitter or buy a DM9-modul.
(No FrSky is not an option)

Can anyone tell something about that?

Thanks and greetings from Germany!

Jörg

User avatar
Kilrah
Posts: 11109
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: just 6 ch on DSM2/X?

Post by Kilrah »

AFAIK the module simply doesn't support more than 6. Back when the mod was done some tried to send more but they never were transmitted. I've read about people saying the modules coming from higher end radios (DX8 for example) would accept the extra channels, possibly having a different firmware in them.

You could always get the $30 Orange DSM module instead, that does supposedly support up to 14 channels (I only tested 8).

Sent via mobile
magmeinenseat
Posts: 13
Joined: Thu Jan 31, 2013 7:40 am
Country: -

Re: just 6 ch on DSM2/X?

Post by magmeinenseat »

Sorry, but i think that isn't correct.

The users of an MX-16 are including the modul from a DX4e in their Transmitters and can use 8 channels. I wouldn't pic up this idea if I wouldn't be convinced that there is a posibility

I will lput in a link if I find once again.


Thanks for your reply.


BR Jörg
User avatar
Kilrah
Posts: 11109
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: just 6 ch on DSM2/X?

Post by Kilrah »

OK, then if it's really the case they have understood something about the protocol that we haven't. But as they don't publish their code, someone with one of these radios would need to analyse the data to find out how they do it before it could be replicated.

Sent via mobile
magmeinenseat
Posts: 13
Joined: Thu Jan 31, 2013 7:40 am
Country: -

Re: just 6 ch on DSM2/X?

Post by magmeinenseat »

Hello cracks!

I found that page! I'm sorry but it is a german speaking/writing. Our swiss guys shouldn't have problems to read it.

Here's the Link. (Scroll a to the top, please)

Once again sorry that i didn't found something in english.


Maybe the guys with MX-16 are using a trick. They take the signal (PCM?,PPM?) from the transmitter and change it to DSM2 via Adruino? I don't know it!


Thanks!

BR
Jörg

P.S.: I wrote to the "JaggerMD" to explain who it works with the MX-16. I'll report if I get interesting news.

User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: just 6 ch on DSM2/X?

Post by rperkins »

I noticed on the link posted above mention of a DM9 module, which uses a ppm input.

How does this sound ?
It all depends on what module you use
  • DX4E or similar module
  • takes serial output from 9x into module
  • typically limited to 6 channels
I admit to reading conflicting information all along about how many channels on dsm mods. I only use dsm with MCPX which as an integrated 3in1 board which houses the receiver .
User avatar
Rob Thomson
Site Admin
Posts: 4543
Joined: Tue Dec 27, 2011 11:34 am
Country: United Kingdom
Location: Albury, Guildford
Contact:

Re: just 6 ch on DSM2/X?

Post by Rob Thomson »

If it is the DM9, then this is much like using the orangerx dsm module.
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!
User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: just 6 ch on DSM2/X?

Post by rperkins »

The code below just pulled from er9x trunk shows that the serial dsm2 protocol used in the dx4e is limited to 6 channels.

snippet of pulses.cpp

Code: Select all

// DSM2 protocol pulled from th9x - Thanks thus!!!

//http://www.rclineforum.de/forum/board49-zubeh-r-elektronik-usw/fernsteuerungen-sender-und-emp/neuer-9-kanal-sender-f-r-70-au/Beitrag_3897736#post3897736
//(dsm2( LP4DSM aus den RTF ( Ready To Fly ) Sendern von Spektrum.
//http://www.rcgroups.com/forums/showpost.php?p=18554028&postcount=237
// /home/thus/txt/flieger/PPMtoDSM.c
/*
  125000 Baud 8n1      _ xxxx xxxx - ---
#define DSM2_CHANNELS      6                // Max number of DSM2 Channels transmitted
#define DSM2_BIT (8*2)
bind:
  DSM2_Header = 0x80,0
static byte DSM2_Channel[DSM2_CHANNELS*2] = {
                ch
  0x00,0xAA,     0 0aa
  0x05,0xFF,     1 1ff
  0x09,0xFF,     2 1ff
  0x0D,0xFF,     3 1ff
  0x13,0x54,     4 354

Other protocols listed include
ppm
pxx ( 8 channels defined in pulses.h)
dsm2 ( no mention of a dsmx protocol but there is a bind value for dsmx)
ppm16

take into consideration that I am barely comprehending what I am reading in the source
magmeinenseat
Posts: 13
Joined: Thu Jan 31, 2013 7:40 am
Country: -

Re: just 6 ch on DSM2/X?

Post by magmeinenseat »

rperkins wrote:The code below just pulled from er9x trunk shows that the serial dsm2 protocol used in the dx4e is limited to 6 channels.

snippet of pulses.cpp

Code: Select all

// DSM2 protocol pulled from th9x - Thanks thus!!!

//http://www.rclineforum.de/forum/board49-zubeh-r-elektronik-usw/fernsteuerungen-sender-und-emp/neuer-9-kanal-sender-f-r-70-au/Beitrag_3897736#post3897736
//(dsm2( LP4DSM aus den RTF ( Ready To Fly ) Sendern von Spektrum.
//http://www.rcgroups.com/forums/showpost.php?p=18554028&postcount=237
// /home/thus/txt/flieger/PPMtoDSM.c
/*
  125000 Baud 8n1      _ xxxx xxxx - ---
#define DSM2_CHANNELS      6                // Max number of DSM2 Channels transmitted
#define DSM2_BIT (8*2)
bind:
  DSM2_Header = 0x80,0
static byte DSM2_Channel[DSM2_CHANNELS*2] = {
                ch
  0x00,0xAA,     0 0aa
  0x05,0xFF,     1 1ff
  0x09,0xFF,     2 1ff
  0x0D,0xFF,     3 1ff
  0x13,0x54,     4 354

Other protocols listed include
ppm
pxx ( 8 channels defined in pulses.h)
dsm2 ( no mention of a dsmx protocol but there is a bind value for dsmx)
ppm16

take into consideration that I am barely comprehending what I am reading in the source

this is the post i ment. -> CLICK ME!

this guy says he has used a modul from DX4e and can use more than 6 channels.

He just changed the defination of the maximum of channels. (posting #160)

At this moment i don't have any answer from this guy.

THX

Jörg
User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: just 6 ch on DSM2/X?

Post by rperkins »

cool
keep us informed
magmeinenseat
Posts: 13
Joined: Thu Jan 31, 2013 7:40 am
Country: -

Re: just 6 ch on DSM2/X?

Post by magmeinenseat »

Hey guys!

I've got an answer!

The supplier of information said: he just changed the value for #define DSM2_CHANNELS from 6 to 8. BUT the 8 channels are only available with an AMTX11-modul, with the X1TNX there is no way to get more than 6 channels.

The posted part of code above (by rperkins posted) is a part of the ER9x code and part of a Arduino-code to convert PPM zo DSM? I think it is called PPMtoDSM? For the MX-16 an Arduinoboard is used to do this conversion.

In that code it should be possible to change the value for the channels that will be given.


Can anyone explain to me how i can get a look into the ER9x code? Which programm do i need and how can i get it.

I am not unexperienced in programming but my experience is mostly based on automationsystems. In study i was getting basics in C and a very little bit in C++. Can i use this knowledge?
I want to try it!
User avatar
Kilrah
Posts: 11109
Joined: Sat Feb 18, 2012 6:56 pm
Country: Switzerland

Re: just 6 ch on DSM2/X?

Post by Kilrah »

OK, matches the previous answers then. The "good" module is usually too expensive to get, so it's not really used by modders, they use whatever it came with (DM9 for example)

Sent via mobile
User avatar
MikeB
9x Developer
Posts: 18010
Joined: Tue Dec 27, 2011 1:24 pm
Country: -
Location: Poole, Dorset, UK

Re: just 6 ch on DSM2/X?

Post by MikeB »

Er9x code is open source and found here

Mike.
erskyTx/er9x developer
The difficult we do immediately,
The impossible takes a little longer!
magmeinenseat
Posts: 13
Joined: Thu Jan 31, 2013 7:40 am
Country: -

Re: just 6 ch on DSM2/X?

Post by magmeinenseat »

Kilrah wrote:OK, matches the previous answers then. The "good" module is usually too expensive to get, so it's not really used by modders, they use whatever it came with (DM9 for example)

Sent via mobile
I had a look at my "brandnew" DX4e that came together with my mCPx and in it is the AMTX11 included.


MikeB wrote:Er9x code is open source and found here

Mike.
I found the part of code i am interested in.
Now the next step(s).
How can I change code for myself and what program do I need for that?
For flashing i need a .hex file. How is that made?
Is anywhere a guide or a "how to" available to read a bit about what I have to do.

I think in deep of my studydata is a hardcopy of visual studio 6.0. Is that helpful?


To save a lot of time it could be helpful if one of the developers would change that number and send me that version for a test. My part of that would be the risk of my model and I have to buy a receiver. If there is a possibility to go on that way I would integrate my modul asap for testing. Has anyone else interests in that :?:


Thanks!

Jörg
User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: just 6 ch on DSM2/X?

Post by rperkins »

I'm not a developer but I can change one line in the code and compile it. I dont think this will work. If you look just after the line that you want changed, you will see

Code: Select all

static byte DSM2_Channel[DSM2_CHANNELS*2] = {
within that block the channels are assigned some hex values. you notice there are only 6 channels there also :)


So here is a diff showing the one line I changed in the code

Code: Select all

rperkins@htpc ~/src/er9x-read-only/src $ diff -u pulses.cpp pulses.cpp.bak 
--- pulses.cpp.bak	2013-02-05 02:26:19.719678328 -0500
+++ pulses.cpp	2013-02-05 02:26:45.375678014 -0500
@@ -277,7 +277,7 @@
 // /home/thus/txt/flieger/PPMtoDSM.c
 /*
   125000 Baud 8n1      _ xxxx xxxx - ---
-#define DSM2_CHANNELS      6                // Max number of DSM2 Channels transmitted
+#define DSM2_CHANNELS      8                // Max number of DSM2 Channels transmitted
 #define DSM2_BIT (8*2)
 bind:
   DSM2_Header = 0x80,0

and here is the compiled hex you requested
EDIT -- Attachment removed after OP downloaded it. I'ts not going to work and I didnt want it to get out floating around. On the other hand if he reports back that it does work, I'll be more than willing to create it again, and eat my hat :)

I've been wrong before and will be wrong again. Good luck
Last edited by rperkins on Tue Feb 05, 2013 4:54 pm, edited 1 time in total.
magmeinenseat
Posts: 13
Joined: Thu Jan 31, 2013 7:40 am
Country: -

Re: just 6 ch on DSM2/X?

Post by magmeinenseat »

I thank you very much!

Do you know that your "+#define ...." will work the same way like a "#define DSM2_CHANNELS 8" ?


So now my part of work will take a little bit more time.
At first I have to implement the modul in my 9x. During that the parcel service has enough time to deliver my 8 channel DSM2 receiver.

If this way is mot working the way i want, I will try the way the guys with MX-16 are going and do the conversion from PPM to DSM via the Arduinoboard. This way should work because with my FlySky stuff i can transmit 8 channels so it is possible.


BR
Jörg
User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: just 6 ch on DSM2/X?

Post by rperkins »

Google search ' unified diff'

Can you please just take my word on this ?
The '+' is not your problem :)
magmeinenseat
Posts: 13
Joined: Thu Jan 31, 2013 7:40 am
Country: -

Re: just 6 ch on DSM2/X?

Post by magmeinenseat »

Hello guys!

That trial was a fail!

BUT I think I know why.
rperkins wrote:

Code: Select all

rperkins@htpc ~/src/er9x-read-only/src $ diff -u pulses.cpp pulses.cpp.bak 
--- pulses.cpp.bak	2013-02-05 02:26:19.719678328 -0500
+++ pulses.cpp	2013-02-05 02:26:45.375678014 -0500
@@ -277,7 +277,7 @@
 // /home/thus/txt/flieger/PPMtoDSM.c
 /*                                                                                    <<<<-----------------------------------
   125000 Baud 8n1      _ xxxx xxxx - ---
-#define DSM2_CHANNELS      6                // Max number of DSM2 Channels transmitted
+#define DSM2_CHANNELS      8                // Max number of DSM2 Channels transmitted
 #define DSM2_BIT (8*2)
 bind:
   DSM2_Header = 0x80,0
As shown in the code above (arrow) the part that was changed by rperkins (thanks again!) is completly disabled. That code is not active! It is only a comment. In sourcecode it's easier to see because of different colors.




So rperkins was absolute right to say that this changing of value will not do anything.

But what about this?

Code: Select all

   case PROTO_DSM2:
        sei() ;                                                 // Interrupts allowed here
        setupPulsesDsm2(6);                                                                       <<<<-------------------------
        break;
This seems to be the point where is defined how many channels will be send. The value (6) is handed over to functioncall of setupPulsesDsm2 an is used to limit a counter.
Maybe it could happen that there will be a problem with the different frame lenghts of DSM2 and DSMX, but thats a"maybe" problem of the future.

There must be anythink that has to be changed and that will result a 8 channel transmission.

And once again my question:
With what programms are you working on the code (freeware?) and how can I do also work on it (at first for myself, if there is a result it can be built in)?
I don't want to open my own project or destroy anything on your code. I just want to spend a bit of my time to make it (maybe) better.

I've ordered some parts to do a mod like the guys with the MX-16 are doing to demonstrate that 8 channels are possible.

I'll report if i have some news!

Thanks!

BR,
Jörg
User avatar
rperkins
Posts: 1422
Joined: Sun Jan 08, 2012 12:51 pm
Country: -

Re: just 6 ch on DSM2/X?

Post by rperkins »

yes I changed the line that was referenced in the thread you linked to here viewtopic.php?f=5&t=2696&p=38807#p38240
which is here http://www.rc-heli.de/board/showpost.ph ... tcount=161
yes it does look like a multiline comment.
I use Ubuntu linux and can download all the tools to be able to compile er9x

Sorry I cant be of any more help.
Good luck and report back with your findings.

Post Reply

Return to “er9x”