- Posts: 296
- Forum
- News, Announcements and Feedback
- Feedback & Questions
- Devo 12S DSMX Range and Telemetry Questions
Devo 12S DSMX Range and Telemetry Questions
- cmpang
- Offline
Please Log in or Create an account to join the conversation.
- Indigo
- Offline
- Posts: 230
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
static void parse_telemetry_packet()
{
...
...
const u8 *update = NULL;
...
...
if (update) {
while(*update) {
TELEMETRY_SetUpdated(*update++);
}
}
}
What will do this code if *update = NULL and we have not any telemetry data? What will be the value 'update'?
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
static void parse_telemetry_packet()
{
...
...
const u8 *update = NULL;
...
...
if (update) {
while(*update) {
TELEMETRY_SetUpdated(*update++);
}
}
}
E.g TELEMETRY=ON and we have not telemetry unit.
What will do this code if we have not any telemetry data? What will be the value 'update'?
Please Log in or Create an account to join the conversation.
- SM510
- Offline
- Posts: 2
my setup
Goblin 500
2 new generation dsmx satelites
Vbar 5.3pro bind on 22ms
hobbywing platinum v3 100
tm1000 with volta and tempratur sensor
Devo 8s v4.0.1-22961b6
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
Indigo wrote: I'm currently working on DSMX Telemetry problems with Thomas Heiss.
The problems are caused by data integrity issues in receiving telemetry data .
Deviation could also be transmitting occasional bad packets, so I have also added a fix for #594: Data integrity of Channels array
Anyway it would be good to have a number of people test this. Downloads are available here:
bitbucket.org/Indigo1/deviation/downloads
Reversing that change (ie. Enabling On/Off for telemetry mode on Devo7e), makes the module file size too large (max size is 4KB). However, I found another way to reduce code size so Telemetry On/Off should now work.aMax wrote: hardware.c/2014-05-21/
Allow use of txid override on Devo7e. Devo7e will always be in telemetry mode now
I've done a through test on this build, running my r/c boat continuously for two hours in the pond I used to played, with my usual test setting on 3mW Tx output, without any problem. That results that the DSMX protocol with Telemetry OFF is NOW on par (if not better) with my trusty Devo protocol. The amber light did flash at times, but no data link lost as shown my the red led for the whole two hours testing period.
Previous readers may recall my Devo 7e with R601 works in range to 1Km..
So at this point, a big thanks to Indigo, and please confirm that nothing has been changed in the Devo part so that I can shift all my 7e (three sets) to this build for happy flying..
cmPang
Please Log in or Create an account to join the conversation.
- aMax
- Offline
- Posts: 776
Impressive!
What about the tx side? Which antenna,.. any booster?
Devo7e, TaranisQ X7, R9M , 4in1 MM, Futaba FC18plusV3.2 & DFT/FLD-02
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
To be exact, what I meant 3mW Tx output today is actually setting to 300uW in Deviation but becomes 3mW after the 10dB booster I fit recently..
Next time I will put the orange receiver sitting dummy inside one of my Devo control plane and see if any Red led flashing after landing..
cmPang
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
Indigo wrote: I'm currently working on DSMX Telemetry problems with Thomas Heiss.
....
Anyway it would be good to have a number of people test this. Downloads are available here:
bitbucket.org/Indigo1/deviation/downloads
Reversing that change (ie. Enabling On/Off for telemetry mode on Devo7e), makes the module file size too large (max size is 4KB). However, I found another way to reduce code size so Telemetry On/Off should now work.aMax wrote: hardware.c/2014-05-21/
Allow use of txid override on Devo7e. Devo7e will always be in telemetry mode now
I have tested DSMX working flawlessly with on this build. As it has fixed the bug in DSM protocol, will it be Incorporated into future nightly builds ?
Big thanks to Indigo anyway...
cmPang
Please Log in or Create an account to join the conversation.
- Indigo
- Offline
- Posts: 230
That's great. Did you use a recent build?cmpang wrote: I have tested DSMX working flawlessly with on this build. As it has fixed the bug in DSM protocol, will it be Incorporated into future nightly builds ?
I changed a binding flag in the code about 4 days ago. It works for some people but not others. In next version just uploaded, I've added a 3rd option to DSM2/DSMX Telemetry config setting. For those who have binding problem with Telemetry "On", try changing setting from "On" to new "B2" option.
Either "On" or "B2" will work. Some models prefer one over the other. "B2" is the special case. Why did I call it "B2" I hear you ask? Believe it or not the size of the DSM2/DSMX protocol file on Devo7e is such a tight squeeze only 2 characters would fit, B2 is named after the binding code 0xb2.
I've also included in this build some important patches that will benefit Devo10/7e.
Yes, it will be included in nightly's soon. I will submit a pull request for this before I start working on displaying the new Telemetry values.
Enjoy!
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
bitbucket.org/Indigo1/deviation/downloads
cmPang
Please Log in or Create an account to join the conversation.
- Indigo
- Offline
- Posts: 230
Both Devo and DSM Telemetry are believed to now be working correctly
Download from:
bitbucket.org/Indigo1/deviation/downloads
Please Log in or Create an account to join the conversation.
- Thomas.Heiss
- Offline
- Posts: 698
vlad_vy wrote:
Indigo wrote: When binding, if protocol is DSMX and number of channels is 7 or less it sends a different code within the binding packet. Presumably to tell rx that telemetry data is not needed.
Not that case. If telemetry enabled, it send 0xB2, without that telemetry unit does not work with 6-7 channels Rx.
But, it can be problem for other Rx (e.g. 7200BX). For that case it sends 0xA2 if telemetry disabled.
Hi all,
had a first testing deviation-devo10-v4.0.1-c0b203a_v2.zip.
I tried to bind AR600 + AR6210 with TM1000 in DSMx mode.
On AR600 + AR6210 was successful with "B2". "ON" does not work as stated before.
ON AR8000 I was successfull with "ON" or "B2"
On 200QX I was successful with "ON".
Do you mind further explaining to me what options should be send on a bind for
- 7CH
- AR600
- AR6210
- AR8000 (will have to re-test bind)
> 8CH
either
- telemetry ON
- B2
- OFF
for old + new code?
My feeling is that I get confused about the "&&" combination in the code anyways.
I can't tell for sure at this time what valid possible option scenarios are.
Why does have a user even have to think about "Am I using a 6CH RX + telemetry...oh then I have to choose "B2" because it will NOT work with "ON"" or the user has to test out like me?
I had to re-read this thread just for this case
You would also have to update the Wiki, Manual just tell users about when to use "B2".
If telemetry (TM1000) is bind related to 6CH I would suggest - if possible - to check RX channel numbers and use the right bind mode option (probably 0xb2 in that case).
What was the problem again?
That "0xb2" bind option does not work all the time for some (BNF) receivers?
I bound the AR600 (StrykerQ) with Telemetry "ON" with deviationTX-devo10-v4.0.1-92e1705 and it was working.
However it does NOT work with deviation-devo10-v4.0.1-c0b203a_v2.zip.
Bound AR8000 before with telemetry "ON" (92e1705), works again it c0b203a, even with "B2".
Found some bugs which I will add to the second DSM thread.
Greetings
Thomas
Old code:
if(Model.protocol == PROTOCOL_DSMX) {
#ifdef MODULAR
packet[12] = 0xb2;
#else
packet[12] = num_channels < 8 && Model.proto_opts[PROTOOPTS_TELEMETRY] == TELEM_OFF ? 0xa2 : 0xb2;
#endif
} else {
packet[12] = num_channels < 8 ? 0x01 : 0x02;
}
New code
if(Model.protocol == PROTOCOL_DSMX)
packet[12] = num_channels < 8 && Model.proto_opts[PROTOOPTS_TELEMETRY] != TELEM_B2 ? 0xa2 : 0xb2;
else
packet[12] = num_channels < 8 ? 0x01 : 0x02;
Diff
if(Model.protocol == PROTOCOL_DSMX) {
-#ifdef MODULAR
- packet[12] = 0xb2;
-#else
- packet[12] = num_channels < 8 && Model.proto_opts[PROTOOPTS_TELEMETRY] == TELEM_OFF ? 0xa2 : 0xb2;
-#endif
- } else {
+ if(Model.protocol == PROTOCOL_DSMX)
+ packet[12] = num_channels < 8 && Model.proto_opts[PROTOOPTS_TELEMETRY] != TELEM_B2 ? 0xa2 : 0xb2;
+ else
packet[12] = num_channels < 8 ? 0x01 : 0x02;
- }
Please Log in or Create an account to join the conversation.
- Indigo
- Offline
- Posts: 230
The ON setting will use code B2 when number of channels is 8 or more; and when less will use code A2. The 'B2' option forces use of code B2.
AR8000 is 8ch so settings ON and B2 are the same.
The 'B2' setting only has effect when protocol is DSMX and number of channels < 8. Otherwise 'B2' is the same as 'ON'. Making the user interface only show the 'B2' option when it is different to 'ON' adds 44 bytes to firmware size.
&& is logical AND
& is bitwise AND
Please Log in or Create an account to join the conversation.
- johnho100
- Topic Author
- Offline
- Posts: 6
I originally started this tread last year because I was having range issues with my Devo 12S with the DSMX protocol. I have not came back for a while and it looks like things have changed thanks to Indigo and Thomas Heiss. It would be great if I can trust my Devo 12S and fly my larger helis!
Just a couple of questions:
1.) The DSMX range / reception problem I experienced was due to a telemetry code issue? Indigo's latest build has addressed this range issue?
2.) If I had my telemetry turned off, I wouldn't experience the range issue and achieve satisfactory range test results (with deviation 4.0.1)?
Thanks.
Please Log in or Create an account to join the conversation.
- Indigo
- Offline
- Posts: 230
Telemetry ON or OFF; DSM2 or DSMX; I have no measurable difference in range on any version.
Please Log in or Create an account to join the conversation.
- aMax
- Offline
- Posts: 776
Which rx did you use and how many channels are setup at the tx?
Devo7e, TaranisQ X7, R9M , 4in1 MM, Futaba FC18plusV3.2 & DFT/FLD-02
Please Log in or Create an account to join the conversation.
- Indigo
- Offline
- Posts: 230
Please Log in or Create an account to join the conversation.
- Indigo
- Offline
- Posts: 230
cmpang wrote: Another test with telemetry ON. Surprisingly, get the same result as with telemetry OFF above.
So would Indigo please comment, or other than get the switching function to work, you have also fixed some coding regarding telemetry?
cmPang
About my Telemetry update.
Before transmit and receive (Telemetry) were sharing the same buffer. This effected Telemtry where sometimes all values change at same time and display wrong values (Tx data overwriting telemetry). If the reverse ever occurred it would cause a loss of binding. To fix this I gave Telemetry a separate buffer.
I have also done the same for Devo Telemetry, but there must still be another problem because with Devo Telemetry the problem persists. I read somewhere that the CYRF6936 will lock-up if an attempt to transmit occurs too soon after receiving data. Such a lock-up would persist until protocol is reset which would explain why Devo won't bind automatically after being left on for some time.
Please Log in or Create an account to join the conversation.
- Cesco2
- Offline
- Posts: 5
Output power is 85mw on the 150mw setting (immersionrc meter) and surface range is around 250m with dsm2 or dsmx setting, 7 channels, no telemetry.
The Devo10 has 60mw output, 150mw setting, dsm2, 7 channel.
My other dsm2 transmitter, orangerx T-SIX does 130mw output and range is somewhat better, up to 500m. My orangerx TX module does a whopping 158mw, range not tested.
Frsky and Flysky radios have a rock stable signal at 760m distance. TX power is 60mw only. Is dsm2 / dsmx really that bad?
Edit:
since both the walkera modules output less that the stated 150mw i went searching. The PA is the RDTA212 chip, well capable of 20dbm (100mw). The thing other hf modules dont have is the little filter chip in the output. Seems a 2.4G bandpass filter CAN HAVE A 3DB INSERTION LOSS ( www.mouser.com/pdfdocs/TDKRF-3.pdf )
Please Log in or Create an account to join the conversation.
- Forum
- News, Announcements and Feedback
- Feedback & Questions
- Devo 12S DSMX Range and Telemetry Questions
- Home
- Forum
- News, Announcements and Feedback
- Feedback & Questions
- Devo 12S DSMX Range and Telemetry Questions