18 channels for DSM2 / DSMX ?

More
29 Oct 2013 11:13 #15121 by Cesco
Replied by Cesco on topic 18 channels for DSM2 / DSMX ?
I got my "latency test" firmware running, but i get strange results on previous firmware (not the one you deleted).

I get 22ms on every x-channel.

Now its easily possible that my latency measurement is wrong.

Please Log in or Create an account to join the conversation.

More
29 Oct 2013 11:16 - 03 Nov 2013 06:01 #15122 by vlad_vy
Replied by vlad_vy on topic 18 channels for DSM2 / DSMX ?
Corrected firmware

DELETED
Last edit: 03 Nov 2013 06:01 by vlad_vy.

Please Log in or Create an account to join the conversation.

More
29 Oct 2013 12:00 - 29 Oct 2013 12:10 #15124 by Cesco
Replied by Cesco on topic 18 channels for DSM2 / DSMX ?
channels numbered 0 to 7
8 xchannels 88ms
7 xchannels 88ms chan 7 missing
6 xchannels 66ms chan 3 , 7 missing
5 xchannels 66ms chan 3 , 6 , 7 missing chan 0 , 4 , 1 , 5 , 2 working
4 xchannels 44ms chan 2 , 3 , 6 , 7 missing chan 0 , 4 , 1 , 5 working
3 xchannels 44ms chan 5 , 2 , 3 , 6 , 7 missing chan 0 , 4 , 1 working
2 xchannels 22ms chan 1 , 5 , 2 , 3 , 6 , 7 missing chan 0 , 4 working
1 xchannels 22ms chan 4 , 1 , 5 , 2 , 3 , 6 , 7 missing chan 0 working

This is good, but ...
why this 0 4 1 5 2 sequence and not 0 1 2 3 4 ?
Last edit: 29 Oct 2013 12:10 by Cesco.

Please Log in or Create an account to join the conversation.

More
29 Oct 2013 13:08 - 29 Oct 2013 13:37 #15127 by vlad_vy
Replied by vlad_vy on topic 18 channels for DSM2 / DSMX ?
Is it for last firmware? I don't quite understand, all 8 x-channels are in working state?

The sequence 0 4 1 5 2 6 3 7 - it's because for first packet = 0 1 2 3 and for second packet = 0+4 1+4 2+4 3+4 (0 1 2 3). If I do not change counter for second packet, it's normal sequence. With optimal arrangement it always will be not in series.

If you test previous firmware, you will find 0 1 2 3 4 5 6 7, but only first 3 x-channels have delays 22ms, 44ms, 66ms, and all others have delay 88ms.

If you will look in capture from DX18, it's not in series.
Last edit: 29 Oct 2013 13:37 by vlad_vy.

Please Log in or Create an account to join the conversation.

More
29 Oct 2013 13:38 #15128 by Cesco
Replied by Cesco on topic 18 channels for DSM2 / DSMX ?

vlad_vy wrote: Is it for last firmware? I don't quite understand, all 8 x-channels are in working state


Last firmware, yes.

Everithing works how it should, all ok.

I PM you where to get access to my DX18QQ test person.

Please Log in or Create an account to join the conversation.

More
29 Oct 2013 13:43 #15129 by vlad_vy
Replied by vlad_vy on topic 18 channels for DSM2 / DSMX ?
If you have tested your software with DX18 and software works with DX18 and Devo12, it seems we got working version.

Please Log in or Create an account to join the conversation.

More
29 Oct 2013 13:46 #15130 by Cesco
Replied by Cesco on topic 18 channels for DSM2 / DSMX ?

vlad_vy wrote: If you have tested your software with DX18 and software works with DX18 and Devo12, it seems we got working version.


I guess so :) :) :)

Please Log in or Create an account to join the conversation.

More
29 Oct 2013 13:50 #15131 by vlad_vy
Replied by vlad_vy on topic 18 channels for DSM2 / DSMX ?
Last question, what will be best, last firmware with optimal delays or previous firmware with x-channels in series (0 1 2 3 4 5 6 7)?

Please Log in or Create an account to join the conversation.

More
29 Oct 2013 15:47 #15133 by Cesco
Replied by Cesco on topic 18 channels for DSM2 / DSMX ?
Last firmware

After some thinking i know the reason for the channel sequence.
You are right, it must be this way !

Good work :)

Please Log in or Create an account to join the conversation.

More
29 Oct 2013 16:58 - 30 Oct 2013 04:40 #15134 by vlad_vy
Replied by vlad_vy on topic 18 channels for DSM2 / DSMX ?
The X-Plus channels structure

Channel numbers 0 to 11 are normal, with data resolution 11bit (2048).
Channel 12 carries the X-Plus channels, with data resolution 9bit (512).

Channel transfer structure:
packet 1 -> 1 5 2 4 6 10 12
packet 2 -> 0 7 3 8 9 11 12

X-Plus data format
each 16bit X-Plus data value is defined as:

a bbbb cc ddddddddd

a: always 0
bbbb: the channel number, always 12
cc: X-Plus channel number, low 2 bits, third bit defined by packet number, 1st packet = 0, second packet = 1
dd..: X-Plus channel data, 9 bits, 256 is midpoint

The channel data will be 0xffff if the specific X-Plus channel slot is unused.

1 to 2 X-Plus channels, every 22ms
3 to 4 X-Plus channels, every 44ms
5 to 6 X-Plus channels, every 66ms
7 to 8 X-Plus channels, every 88ms
Last edit: 30 Oct 2013 04:40 by vlad_vy.

Please Log in or Create an account to join the conversation.

More
30 Oct 2013 06:22 #15141 by vlad_vy
Replied by vlad_vy on topic 18 channels for DSM2 / DSMX ?
Cesco, I have new idea. If you can bind/test your software with DSM2 1024 mode and DX18, I can build firmware with X-Plus for DSMX and DSM2 (1024). I think it will work also.

Please Log in or Create an account to join the conversation.

More
01 Nov 2013 10:51 #15190 by Cesco
Replied by Cesco on topic 18 channels for DSM2 / DSMX ?
I can see how x-chan can work with DSM2 2048. Tell me if you have a version.

But dsm2 1024 ? The cahnnel field is wrong.

Please Log in or Create an account to join the conversation.

More
01 Nov 2013 11:24 #15191 by vlad_vy
Replied by vlad_vy on topic 18 channels for DSM2 / DSMX ?
Now I think you are right. It's unlikely that X-Plus 8 module can decode two different channel fields.

In that case we need wait next release. After that will be possible to implement 1024/2048 switching for DSM2 protocol.

Please Log in or Create an account to join the conversation.

  • rbe2012
  • rbe2012's Avatar
  • Offline
  • So much to do, so little time...
More
01 Nov 2013 12:20 - 01 Nov 2013 12:22 #15192 by rbe2012
Replied by rbe2012 on topic 18 channels for DSM2 / DSMX ?
For testing simply add one line in dsm2.c and you get Model.proto_ops[1] Model.proto_opts[1]=0 for 1024 and =1 for 2048:
static const char * const dsm_opts[] = {
  _tr_noop("Telemetry"),  _tr_noop("Off"), _tr_noop("On"), NULL,
  _tr_noop("Resolution"), _tr_noop("Steps: 1024"), _tr_noop("Steps: 2048"), NULL,
  NULL
};
You can use it where needed.
Last edit: 01 Nov 2013 12:22 by rbe2012.

Please Log in or Create an account to join the conversation.

More
01 Nov 2013 17:19 - 01 Nov 2013 17:19 #15204 by vlad_vy
Replied by vlad_vy on topic 18 channels for DSM2 / DSMX ?
Now I have protocol option and can use it.



But, I don't know how to disable 'DSM2 resolution' change (from default 1024) if number of channels < 8?
Attachments:
Last edit: 01 Nov 2013 17:19 by vlad_vy.

Please Log in or Create an account to join the conversation.

  • rbe2012
  • rbe2012's Avatar
  • Offline
  • So much to do, so little time...
More
01 Nov 2013 17:36 #15205 by rbe2012
Replied by rbe2012 on topic 18 channels for DSM2 / DSMX ?
The protocol options are not conditional. You can set them to any value in any case.
It is part of the code to decide if it's used. Maybe we can show an explanation or hint near the option, but it has to fit in the first field of the array (resp. on the screen where it is located actually and not hidden behind the value box).

Please Log in or Create an account to join the conversation.

More
01 Nov 2013 20:39 #15209 by Cesco
Replied by Cesco on topic 18 channels for DSM2 / DSMX ?
If we could use 1024 OR 2048 in DSM2 this would be great.
Also maybe "enable x-channels" or not. Auto gray if 1024 selected.

You guys aware this could be a big thing with truck / boat people?

Please Log in or Create an account to join the conversation.

More
02 Nov 2013 07:55 - 03 Nov 2013 07:28 #15218 by vlad_vy
Replied by vlad_vy on topic 18 channels for DSM2 / DSMX ?
It seems all issues solved. But it required thorough testing.

Cesco, can you test all modes: < 8 channels (1024), > 7 channels (1024), > 7 channels (2048), X-Plus cnannels?



At protocol options page you can select all you want, but:
1) if you have number of channels < 8, next time you visit protocol options page you will see 'DSM2 resolution' = 'Steps: 1024';
2) before you can get number of channels > 12 you have to select 'X-Plus channels' = 'On';
3) if you select 'X-Plus channels' = 'On', number of channels > 7, next time you visit protocol options page you will see 'DSM2 resolution' = 'Steps: 2048', you don't need select it manually, it will change automatically;
4) X-Plus channels started from 13 channel (X-Plus 1), 14 channel (X-Plus 5), 15 channel (X-Plus 2), 16 channel (X-Plus 6), and so on.


For DSMX protocol resolution is always 11bit(2048).


Firmware for Devo12, based on v3.1.0-beta-04 rbe2012 build

DELETED

Devo12 filesystem

DELETED
Attachments:
Last edit: 03 Nov 2013 07:28 by vlad_vy.

Please Log in or Create an account to join the conversation.

  • rbe2012
  • rbe2012's Avatar
  • Offline
  • So much to do, so little time...
More
02 Nov 2013 09:34 #15224 by rbe2012
Replied by rbe2012 on topic 18 channels for DSM2 / DSMX ?

vlad_vy wrote: I1) if you have number of channels < 8, next time you visit protocol options page you will see 'DSM2 resolution' = 'Steps: 1024';
...
3) if you select 'X-Plus channels' = 'On', number of channels > 7, next time you visit protocol options page you will see 'DSM2 resolution' = 'Steps: 2048', you don't need select it manually, it will change automatically;


I think you can force the right values to be shown directly, not only after revisiting the page. I'll have a look later.

Please Log in or Create an account to join the conversation.

More
02 Nov 2013 11:03 - 03 Nov 2013 07:28 #15226 by vlad_vy
Replied by vlad_vy on topic 18 channels for DSM2 / DSMX ?
RBE, I can provide you changed files, if needed (protocol\dsm2.c, protocol\interface.h, target\devo12\target_defs.h)

DELETED
Last edit: 03 Nov 2013 07:28 by vlad_vy.

Please Log in or Create an account to join the conversation.

Time to create page: 0.094 seconds
Powered by Kunena Forum