- Posts: 4402
DSM2 Reports
- PhracturedBlue
- Offline
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.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 ???
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.
- vlad_vy
- Offline
- Posts: 3333
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.
- Wene001
- Topic Author
- Offline
- Posts: 277
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.
- vlad_vy
- Offline
- Posts: 3333
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 ???
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Offline
- Posts: 4402
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.
- vlad_vy
- Offline
- Posts: 3333
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Offline
- Posts: 4402
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.
- vlad_vy
- Offline
- Posts: 3333
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Offline
- Posts: 4402
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
Please Log in or Create an account to join the conversation.
- Hexperience
- Offline
- Posts: 588
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.
Please Log in or Create an account to join the conversation.
- magic_marty
- Offline
- Posts: 706
Please Log in or Create an account to join the conversation.
- Hexperience
- Offline
- Posts: 588
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.
- coaster
- Offline
- Posts: 50
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.
- Hexperience
- Offline
- Posts: 588
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.
- vlad_vy
- Offline
- Posts: 3333
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.
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Offline
- Posts: 4402
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.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)?
That is not good. Certainly it didn't do that the last time I checked it. You should try doing a :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.
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.
- vlad_vy
- Offline
- Posts: 3333
Please Log in or Create an account to join the conversation.
- Hexperience
- Offline
- Posts: 588
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.
- PhracturedBlue
- Offline
- Posts: 4402
Please Log in or Create an account to join the conversation.
- Home
- Forum
- News, Announcements and Feedback
- Feedback & Questions
- DSM2 Reports