DSM2 Reports

More
31 Oct 2012 18:20 #2549 by PhracturedBlue
Replied by PhracturedBlue on topic DSM2 Reports

vlad_vy wrote: It's not related to DSM2, but I found at dsm2.c - build_bind_packet()

#if DSMX
packet[12] = num_channels < 8 ? 0xa2 : 0xb3; ??? 0xb2 ???

yeah, it is wrong, but there is a lot of rework needed to support DSMX (much more than just setting a variable), so not really a big deal. But I'll change it so it doesn't bite me later. Thanks.
I don't fully understand that byte. The values for DSM2 are:
HP6DSM: 0x01
DX8: 0x12
DM9: 0x02
(the DX6i sends 0xA2, and the Rx returns 0x01, so the end result is 0x01)

I think the '0x12' in the DX8 indicates 11bit data, but my Orange6 doesn't like it when this value is sent.

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

More
31 Oct 2012 18:25 #2550 by vlad_vy
Replied by vlad_vy on topic DSM2 Reports
I think that transmitter capabilities:

0x01 - DSM2 1024/22ms,
0x02 - DSM2 1024/22ms >7 channels,
0x11 - DSM2 2048/11ms
0x12 - DSM2 2048/11ms >7 channels,
0xa2 - DSMX 22ms,
0xb2 - DSMX 11ms

"- for DSMX this byte contains just 0xB2 or 0xA2 value for any resolution. It is not known at the moment how to find the exact resolution from the DSMX data stream. The frame number (1 or 2) and 10/11 bit resolution were found in different data streams."

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

More
31 Oct 2012 21:21 #2553 by Wene001
Replied by Wene001 on topic DSM2 Reports
Description in an earlier link of vlad_vy


00184 * Three values for the transmitter information byte have been seen thus far
00185 *
00186 * 0x01 From a Spektrum DX7eu which transmits a single frame containing all
00187 * channel data every 22ms with 10bit resolution.
00188 *
00189 * 0x02 From a Spektrum DM9 module which transmits two frames to carry the
00190 * data for all channels 11ms apart with 10bit resolution.
00191 *
00192 * 0x12 From a Spektrum DX7se which transmits two frames to carry the
00193 * data for all channels 11ms apart with 11bit resolution.
00194 *
00195 * 0x12 From a JR X9503 which transmits two frames to carry the
00196 * data for all channels 11ms apart with 11bit resolution.
00197 *
00198 * 0x01 From a Spektrum DX7 which transmits a single frame containing all
00199 * channel data every 22ms with 10bit resolution.
00200 *
00201 * 0x12 From a JR DSX12 which transmits two frames to carry the
00202 * data for all channels 11ms apart with 11bit resolution.
00203 *
00204 * 0x1 From a Spektru DX5e which transmits a single frame containing all
00205 * channel data every 22ms with 10bit resolution.
00206 *
00207 * 0x01 From a Spektrum DX6i which transmits a single frame containing all
00208 * channel data every 22ms with 10bit resolution.
00209 *
00210 * Currently the assumption is that the data has the form :
00211 *
00212 * [0 0 0 R 0 0 N1 N0]
00213 *
00214 * where :
00215 *
00216 * 0 means a '0' bit
00217 * R: 0 for 10 bit resolution 1 for 11 bit resolution channel data
00218 * N1 to N0 is the number of frames required to receive all channel
00219 * data.
00220 *
00221 * Channels can have either 10bit or 11bit resolution. Data from a tranmitter
00222 * with 10 bit resolution has the form:
00223 *
00224 * [F 0 C3 C2 C1 C0 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0]
00225 *
00226 * Data from a tranmitter with 11 bit resolution has the form
00227 *
00228 * [F C3 C2 C1 C0 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0]
00229 *
00230 * where :
00231 *
00232 * 0 means a '0' bit
00233 * F: Normally 0 but set to 1 for the first channel of the 2nd frame if a
00234 * second frame is transmitted.
00235 *
00236 * C3 to C0 is the channel number, 4 bit, matching the numbers allocated in
00237 * the transmitter.
00238 *
00239 * D9 to D0 is the channel data (10 bit) 0xaa..0x200..0x356 for
00240 * 100% transmitter-travel
00241 *
00242 *
00243 * D10 to D0 is the channel data (11 bit) 0x154..0x400..0x6AC for
00244 * 100% transmitter-travel

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

More
01 Nov 2012 04:25 - 01 Nov 2012 04:46 #2557 by vlad_vy
Replied by vlad_vy on topic DSM2 Reports
I'm interesting what send DX8 (DX7s) in that byte with frame rate setting = 22ms or 11ms. 0xA2? 0xB2?

Also, what what send DX7se (High speed DSM2) in that byte?
0x11 - DSM2 2048/11ms - DX7se ???

Spektrum’s DX7se has been optimized to give the lowest possible latency making it ideal for high response rate models like 3D helicopters. While transmitters typically operate using a 22-millisecond frame rate, the DX7se utilizes an 11-millisecond frame rate on the primary control channels (aileron, elevator and pitch in helicopter mode) significantly reducing system latency and dramatically improving the response rate. In addition, the DX7se features 2048 resolution with 2x oversampling on all channels for the ultimate in servo accuracy.

Or will be correctly:
0x11 - DSM2 2048/22ms
0x12 - DSM2 2048/22ms >7 channels or DX7se ???
Last edit: 01 Nov 2012 04:46 by vlad_vy.

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

More
01 Nov 2012 04:46 #2558 by PhracturedBlue
Replied by PhracturedBlue on topic DSM2 Reports
in 11msec mode, the DX8 works like the DX7se I guess.

The DX8 sends 0xB2 (for DSMX) and 0x12 for DSM2 (always in 11bit mode regardless of whether it is 22msec or 11msec mode)

In 11msec mode, it sends channels 1,5, 2 every 11msec, and channels 3,6,7,4, 0 every 22msec

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

More
01 Nov 2012 05:26 #2560 by vlad_vy
Replied by vlad_vy on topic DSM2 Reports
Seems that problem with 8 and 9 channel mode is related to the frame timing. Something wrong with 22ms and 11ms periods.

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

More
01 Nov 2012 14:13 #2570 by PhracturedBlue
Replied by PhracturedBlue on topic DSM2 Reports
Well, there is actually nothing different abut 22ms and 11msec mode. with > 7 channels you transmit some # of channels in the 1st packet, and the additional channels 11msec later. Spektrum took advantage of the fact that they don't actually need 14 channels to resend some of the channels in the 2nd packet when in 11msec mode, thus you get 11msec updates on ~3 channels and the rest are at 22msec (with <=7 channels they can actually send all 7 channels every 11msec, but I haven't seen any traces indicating they actually do so). with 8 channels, they could duplicate 6 channels, but they only duplicate 3. I don't know why.

As far as what is wrong with the Deviation code, it may be a frame-timing issue, but I'm more inclined to think something is still wrong with the actual data we're sending.

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

More
01 Nov 2012 14:38 #2572 by vlad_vy
Replied by vlad_vy on topic DSM2 Reports
What is the duration of data frame?

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

More
01 Nov 2012 15:30 #2573 by PhracturedBlue
Replied by PhracturedBlue on topic DSM2 Reports
There is not really any way to control duration. the CYRF6936 sends a packet (at a certain data rate) of whatever length you choose. DSM2 packets are 16bytes. so it is possible that the timing is wrong, that the deata is wrong, or that the SOP/DATA codes are wrong (which would result in complete loss of the pakcet, so I think this unlikely)

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

More
01 Nov 2012 16:19 #2577 by vlad_vy
Replied by vlad_vy on topic DSM2 Reports
I think all is fine with data and so on, because all working properly up to 7 channels. But the second frame by some way disrupt normal work of all channels. Possible that frame space may be too short with 2 frames (less than 7 msec) and that can break frame synchronization in Rx.

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

More
02 Nov 2012 02:50 - 02 Nov 2012 03:32 #2596 by Hexperience
Replied by Hexperience on topic DSM2 Reports
Well, I just bound my ar7200bx and sitting on the desk I didn't see anything jittery etc. But of course, it's an FBL unit sitting on a table so it's not going to show you if a channel is a little jittery.

I had the TX in 6 channel mode. I didn't want to try anything higher at first.
My setup was really basic. All simple mixes with lowered scale (low rates) and of course throttle hold.

It would spool up ok, and hover very stable for a minute or so, then it would roll or pitch on its own... throttle hold works!

It's almost as if it was "stuck" for a moment but I didn't give it a chance see if it would "unstick" on it's own. I just dropped it down as soon as it started doing it.

Another weird thing, once when it did it's little glitch, the throttle stick was at about 40% but the motor shut down. As soon as I moved the stick down the motor started back up, again as if the throttle was stuck.

Again, that was with the TX set to 6 channel mode and the ar7200bx bound with a fixed ID.

I wish I could give you better info, like a log or something, but I don't have any analyzers or the know how to use them for that matter... :)

Oh well... back to the mcpx and nano, which were flying perfectly the other day. I'll try them again tonight and see if anything changed. I DID upgrade to the latest experimental firmware today. (Yesterday I was on fc31fd71caa8 and installed 87729ce290cb this afternoon).

Might be my imagination, but it seemed the nano had a small glitch as well. Throttle dropped of for a fraction of a second. But other than that it was pretty good. Sorry, I know my report is not very scientific. :(

There are 10 types of people in this world. Those that understand binary and those that don't.
Last edit: 02 Nov 2012 03:32 by Hexperience.

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

More
02 Nov 2012 04:20 #2601 by magic_marty
Replied by magic_marty on topic DSM2 Reports
just want to ask this to be safe...is it ok to fly with the dsm protocal? i didn't update to the experimental release i am still running the 1.1.2 ...i built my tri-copter last week and did a short maiden flight but didn't go to far with it..it has the 6ch orange dsm rx with the sat port on it...i just want to make sure its safe to fly with it and not be nervous about it loosing control and flying off or hitting something...it seems rock solid with no glitches or brownouts as long as i turn on the rx first..i did check what would happen if it looses signal by holding the tri and powering it up and turning off my tx and all it does it cut the throttle to zero...so if it happens to loose signal it shouldn't fly off into the clouds...lol

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

More
02 Nov 2012 10:32 #2604 by Hexperience
Replied by Hexperience on topic DSM2 Reports
I flew another pack through the nano and it seemed fine. If you feel that your quad isn't going to hurt anyone then go for it. This hobby is all about risk management. :)

I'm willing to risk my nano crashing but not my 300x. But i could crash my 300x with any tx for any number of reasons. personally the biggest I'll go for now is my 250. I'm going to try it with an orange and a spectrum. Just not the beaxstx.

There are 10 types of people in this world. Those that understand binary and those that don't.

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

More
02 Nov 2012 11:15 #2609 by coaster
Replied by coaster on topic DSM2 Reports
with 1.1.2 and DEVO8S i had no problems (in a range of 300 Meters)

Tested with Protocol DSM2:
T-Rex 250/3GX FBL, T-Rex 450/Microbeast FBL, Blade 130x/FBL,
Blade McpX/FBL

Tested with Protocol DEVO:
Walkera Master CP.

cheers
Graziano

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

More
02 Nov 2012 15:03 #2614 by Hexperience
Replied by Hexperience on topic DSM2 Reports
Yeah, I was doing some reading and my 300x issues may have been vibration related. I'll switch out the TX tonight and test...

There are 10 types of people in this world. Those that understand binary and those that don't.

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

More
12 Nov 2012 06:11 - 12 Nov 2012 13:32 #2867 by vlad_vy
Replied by vlad_vy on topic DSM2 Reports
PB, can it be possible that interrupts mess frame timing in case 8 & 9 channels mode? Or build_data_packet() is too long and mess frame timing in case two frames (11ms)?

Also, I don't understand why 8 channel never work. In case 8-channel mode or 9-channel mode, 8 channel is placed at different parts of second frame. It may be first or third channel at second frame, with or without second frame marker.

By the way, with DEVO protocol, if I have any channel in a box at Main Screen, I have delays with that channel (interrupted servo movement). If I delete that channel from a box or enter Mixer page, these delays disappear.
Last edit: 12 Nov 2012 13:32 by vlad_vy.

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

More
12 Nov 2012 13:55 #2870 by PhracturedBlue
Replied by PhracturedBlue on topic DSM2 Reports

vlad_vy wrote: PB, can it be possible that interrupts mess frame timing in case 8 & 9 channels mode? Or build_data_packet() is too long and mess frame timing in case two frames (11ms)?

It is possible but unlikely. We only have a couple of interrupts enabled, and most of them are very short. The Tx code already runs in an interrupt, so it can't be interrupted by something else.

By the way, with DEVO protocol, if I have any channel in a box at Main Screen, I have delays with that channel (interrupted servo movement). If I delete that channel from a box or enter Mixer page, these delays disappear.

That is not good. Certainly it didn't do that the last time I checked it. You should try doing a :
make clean; make TYPE=prd
and see if this issue goes away. That'll at least help to narrow the causes

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

More
12 Nov 2012 14:14 - 12 Nov 2012 14:15 #2873 by vlad_vy
Replied by vlad_vy on topic DSM2 Reports
It greatly reduced this effect but not completely. Anyway there is a slight delay, I can detect it by interrupted servo sound. If I enter Mixer page, the sound become smooth.
Last edit: 12 Nov 2012 14:15 by vlad_vy.

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

More
13 Nov 2012 04:40 #2889 by Hexperience
Replied by Hexperience on topic DSM2 Reports
Got that weird effect again tonight on my mcpx this time. I flew 3 packs through my V120, devo protocol, no problems at all. Felt very responsive to the sticks with no delay feeling at all.

Flew the mcpx and it felt like every now and then there was a delayed input. Seemed to happen on ELEV. I bound it to my er9x radio and didn't seem to have the issue. The two don't have exactly the same settings for D/R but pretty close and I always use very little expo if any.

Again, I wish I could offer more a technical explanation, but that's just how it felt.

To end on a plus, the V120D02v2 is an awesome little heli! And I had no issues with deviation at all. (momentarily the v2 voltage showed 8.1v... but other than that, control is fine)

Cheers!

There are 10 types of people in this world. Those that understand binary and those that don't.

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

More
13 Nov 2012 04:47 #2891 by PhracturedBlue
Replied by PhracturedBlue on topic DSM2 Reports
FYI, I've ported the protocol code to my Raspberry Pi. This makes it a lot easier to do protocol debug. Currently working on the 2601 stuff, but I'll go back and take a crack at DSM2 sometime in the next few days.

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

Time to create page: 0.050 seconds
Powered by Kunena Forum