- Posts: 3333
DSM2/X protocol errors
- vlad_vy
- Topic Author
- Offline
P.S. I can't fit "Flight Log" filtering to devo7e build, so it cut out from code for Devo7e. Sorry...
File deleted
Please Log in or Create an account to join the conversation.
- Thomas.Heiss
- Offline
- Posts: 698
Where do we know that Fades A is only 8bit and ends at 0xFF=255?
That is in the receiver, isn't it, not the TM1000?
How about the new All-In-One Spektrum telemetry receivers? What if they support >255 for Fades now or at any future?
How about future Orange / Lemon telemetry receivers? Why are they limited to 8-bit?
German thread on 8 vs 16 bit with links to RCGroups: www.rc-network.de/forum/showthread.php/5...es-A-gt-255-anzeigen
Personally I would probably try to implement showing Fades A-R + filtering Fades as generic as possible without any future necessary code modifications on Deviation side.
So the 2nd filtering if FadesA>255 looks "special" to me; I somehow like 1st filtering implemention a bit more
What do you think?
I believe the AR6210 SAT is Fades B = max 255 too, correct? I guess i saw that once last days on 100uw ground tests when showing 1500 FrameLosses (faking: too far away, turning 180 degree, etc.).
Will have to ground re-test at 100uw and recheck Fades B.
Please Log in or Create an account to join the conversation.
- vlad_vy
- Topic Author
- Offline
- Posts: 3333
Rx internal receivers:
8.3 Message Structure Internal Remote
typedef stuct
{
UINT8 fades;
UINT8 system;
UINT16 servo[7];
} INT_REMOTE_STR;
The “system” field will only contain certain values. Any value other than these should be ignored and the unit should behave in a mode appropriate for not having bound.
Rx external receivers:
8.4 Message Structure External Remote
typedef struct
{
UINT16 fades;
UINT16 servo[7];
} EXT_REMOTE_STR;
www.spektrumrc.com/ProdInfo/Files/Remote...facing%20Rev%20A.pdf
But we can use generic filtering for A-R by any way.
Please Log in or Create an account to join the conversation.
- Thomas.Heiss
- Offline
- Posts: 698
I would be interested to see on display when and how often this happens without using serial dev compile, USB or whatever.
Just like FlightLog FrameLosses / holds or a permanent flight time timer....
- did it happen during flight (including longer flights up to 40 minutes)
- counter how often (like holds)
- what are min/sec inverval when that happens in 4-8min or 15-40min (glider) flight (like FrameLoss n delta change request but just logging time inverval)
- maybe permanently store the value in model.ini to have an overview for total (like permanent timer)
- be able to compare the CYRF reset for all modell.ini`s, like additionally counting up all CYRF reset numbers to a permanent TX global variable (tx.ini?)
As written before so far I am successful with mutiple V4-0.1-nightly builds, release 5.0.0 and Vlad`s new DSMx test builds with turned on telemetry.
I never seemed top run into any possible CYRF reset issue before.
So maybe there are HF modules which behave different? Would be surely interesting to remove dead HF modules where it happens too often?!?
It is still not clear what exactly happend to Roland`s linked 5.0.0 thread using non-genuine Spektrum receivers and any “possible deadlock“ (whatever it was) scenario.
Or do you think Vlad that the register error checking and handling the CYRF reset is enough for not having to care about “any possible RX<->TX deadlocks“ by the pilot and any possble bad HF modules?
How can one user tell himself about a bad HF module?
Your opinions?
Thomas
Please Log in or Create an account to join the conversation.
- vlad_vy
- Topic Author
- Offline
- Posts: 3333
In my case I got one "CYRF reset" with Devo protocol with telemetry enabled after uninterrupted 72 hours testing.
Please Log in or Create an account to join the conversation.
- Thomas.Heiss
- Offline
- Posts: 698
No, personally I seem not to need it now.
Would have to research for what receivers and what channel options B2 might not be working so A1 would be required....
Please Log in or Create an account to join the conversation.
- vlad_vy
- Topic Author
- Offline
- Posts: 3333
So,
if(Model.protocol == PROTOCOL_DSMX) {
packet[12] = num_channels < 8 && Model.proto_opts[PROTOOPTS_TELEMETRY] == TELEM_OFF ? 0xa2 : 0xb2;
} else {
packet[12] = num_channels < 8 ? 0x01 : 0x02;
}
Please Log in or Create an account to join the conversation.
- Thomas.Heiss
- Offline
- Posts: 698
Ah, so old GUI popup "A1" is gone, I noticed that in my tests.
It was called "A1" by Indigo and switched back and forth A1<->B2 in the test builds:
bitbucket.org/Indigo1/deviationtx/commit...d0c7ee4ef2909b889dbd
www.deviationtx.com/forum/protocol-devel...mx-and-dsm2-receiver
Nevermind...Indigos repository latest code seems to be updated in all three branches default, dsm-telemetry and devo-telemetry with your above code.
Hard to keep track of back and forth changes (for me) if you are not DSM protocol developer yourself
At least you guys keep the big picture...nice!
Please Log in or Create an account to join the conversation.
- Bisky
- Offline
- Posts: 89
Ultimate 7E + range mod + 3x2 switch mod + 3in1 module
Devo F7 XMS + 4in1 module
Please Log in or Create an account to join the conversation.
- vlad_vy
- Topic Author
- Offline
- Posts: 3333
www.hobbyking.com/hobbyking/store/__9062...Ant_F_Safe_CPPM.html
Please Log in or Create an account to join the conversation.
- Bisky
- Offline
- Posts: 89
Thanks!
Ultimate 7E + range mod + 3x2 switch mod + 3in1 module
Devo F7 XMS + 4in1 module
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
prezi.com/vh4in2krlaoh/attacking-dsmx-wi...acsec-2016-english/#
Please Log in or Create an account to join the conversation.
- Thomas.Heiss
- Offline
- Posts: 698
5(-6?) lines = good/best telemetry signal
1-2 lines=bad signal
Spektrum even is able to manage the "antenna flickering" or fading out the antenna symbol.
I am not sure how they handle temporarily "telemetry out of range values" within Airware. Is that flickering?
Thomas
Please Log in or Create an account to join the conversation.
- Fernandez
- Offline
- Posts: 983
But still:
he connected a logic analyser
he knew that he was going to hack / expect DSMX and he knew the chipset.
Now switch on 5 different transmitter, with different chip and modulator, like we are flying 5 drones.
Put an antenna in the air, in addition you pick up some wifi some Bluetooth and the drones.
For me it is still very very unlikely, that there will be a routine, to detect/determine al those different signals in the air. Then select the right one and spoofe jam it take over control.....
Please Log in or Create an account to join the conversation.
- vlad_vy
- Topic Author
- Offline
- Posts: 3333
Thomas.Heiss wrote: Vlad do you know how Spektrum Airware does it with their antenna symbol on the top left (e.g DX8G1), which has vertical lines as good the (telemetry) signal is?
5(-6?) lines = good/best telemetry signal
1-2 lines=bad signal
Spektrum even is able to manage the "antenna flickering" or fading out the antenna symbol.
I am not sure how they handle temporarily "telemetry out of range values" within Airware. Is that flickering?
Thomas
It is transmitter side RSSI of received telemetry signal. We can also do it, but I don't see great sense in that. Telemetry range is less than control range. I even have commented line for it.
if((rx_state & 0x07) == 0x02) { // good data (complete with no errors)
CYRF_WriteRegister(CYRF_07_RX_IRQ_STATUS, 0x80); // need to set RXOW before data read
CYRF_ReadDataPacketLen(packet, CYRF_ReadRegister(CYRF_09_RX_COUNT));
//rssi = CYRF_ReadRegister(CYRF_13_RSSI) & 0x1F; // RSSI of the received telemetry signal
parse_telemetry_packet();
}
Please Log in or Create an account to join the conversation.
- Fernandez
- Offline
- Posts: 983
RSSI, received RC signals at the RX
RSSI, received telemetry signals at the TX
Not sure if it is usefull, more a fancy or nice to have, if it is easy possible why not?
Please Log in or Create an account to join the conversation.
- Ralf_Brandt
- Offline
- Posts: 4
Thank you for finding that bug.
A while ago,
Based on the deviationtx DSMX code,
i created a firmware for older mlp4dsm transmitter RF modules to be upgraded from DSM2 to DSMX.
github.com/RalfBrandt/DSMX_Transmitter_Modul
This was working fine for 3 RF modules but with one module I had unstable connections.
I already figured that it is related to the CY mfg_ID (0x76,0x65,0x3B,0x0F,0x5D,0xFC)
When using a FIXED ID from one of the other modules, this module was running fine.
After applying your change to my project, this module is now running fine as well.
Regards
Ralf
Please Log in or Create an account to join the conversation.
- monster2040
- Offline
- Posts: 1
vlad_vy wrote: I think we need correct DSM.txt file and dsm2_cyrf6936.c
Note: Values are LSB 1st
0 1 2 3 4
0 03BC6E8AEFBDFEF8 83F7A82D7A4464D3 405632D90FD95D97 C0908FBB7C8E2B8E E1D631265FBD4093
1 8817133B2DBF06D6 3F2C4EAA71487AC9 8E4AD0A9A7FF20CA 8069268008F849E7 DC68089997AEAF8C
2 F1943021A11C88A9 17FF9E213690C782 4C979DBFB83DB5BE 7D2D4954D08040C1 C30E01160E3206BA
3 D0D28EBC822FE3B4 BC5D9A5BEE7F42EB 0C5D24309FCA6DBD B6F2E61B805A36B4 E08301FAAB3E8FAC
4 8CFA479B83A566D0 24F5DDF87A7774E7 501433DEF17895AD 42AE9C1CDA6705F6 5CD59CB8469C7D84
5 07BD9F26C8310FB8 3D707C94DC84AD95 0C3CFAF9F0F210C9 9B75F7E0148DB580 F1C6FE5C9DA54FB7
6 EF039589B471619D 1E6AF037527B11D4 F4DA06DBBF4E6FB3 BF5498B9B7305A88 58B5B3DD0E28F1B0
7 40BA97D5864FCCD1 62F52BAAFC33BFAF 9E08D1AE595EE8F0 35D1FC9723D4C988 5F303B569645F4A1
8 D7A154B15E89AE86 405632D90FD95D97 C0908FBB7C8E2B8E 88E1D631265FBD40 03BC6E8AEFBDFEF8
Bold value is incorrect, it has to be E1D631265FBD4093
I found next:
DX7
Channel [channel=1, sop=83f7a82d7a4464d3, pn=62f52baafc33bfaf405632d90fd95d97, crc_lsb=11, crx_msb=b4]
Channel [channel=1, sop=83f7a82d7a4464d3, pn=62f52baafc33bfaf405632d90fd95d97, crc_lsb=ee, crx_msb=4b]
Channel [channel=2, sop=405632d90fd95d97, pn=9e08d1ae595ee8f0c0908fbb7c8e2b8e, crc_lsb=11, crx_msb=b4]
Channel [channel=2, sop=405632d90fd95d97, pn=9e08d1ae595ee8f0c0908fbb7c8e2b8e, crc_lsb=ee, crx_msb=4b]
Channel [channel=3, sop=c0908fbb7c8e2b8e, pn=35d1fc9723d4c988e1d631265fbd4093, crc_lsb=11, crx_msb=b4]
Channel [channel=3, sop=c0908fbb7c8e2b8e, pn=35d1fc9723d4c988e1d631265fbd4093, crc_lsb=ee, crx_msb=4b]
Channel [channel=4, sop=e1d631265fbd4093, pn=5f303b569645f4a103bc6e8aefbdfef8, crc_lsb=ee, crx_msb=4b]
Channel [channel=4, sop=e1d631265fbd4093, pn=5f303b569645f4a103bc6e8aefbdfef8, crc_lsb=11, crx_msb=b4]
Channel [channel=5, sop=03bc6e8aefbdfef8, pn=40ba97d5864fccd1d7a154b15e89ae86, crc_lsb=ee, crx_msb=4b]
Channel [channel=5, sop=03bc6e8aefbdfef8, pn=40ba97d5864fccd1d7a154b15e89ae86, crc_lsb=11, crx_msb=b4]
Row 3 Col 8 in pncodes[5][9][8] table exactly has to be e1d631265fbd4093. Most likely it is very old copy paste error.
By the way, Orange receivers have the same error.
Please Log in or Create an account to join the conversation.
- MacGyverek
- Offline
- Posts: 68
I bought 2 LemonRX sattelite with diveristy and have random signal lost. Max range is 15m in 100mW!!!! Yesterday I have small crash with my heli 380.
I have 2 lemonRx sattelite with the same problem. Sometimes status led have one flash for 500ms.
I am using DEVO8s with 5.0 vlad_vy Version. I found few topic on forum with the same problem
Please Log in or Create an account to join the conversation.
- vlad_vy
- Topic Author
- Offline
- Posts: 3333
Please Log in or Create an account to join the conversation.
- Home
- Forum
- Development
- Protocol Development
- DSM2/X protocol errors