Cheerson CX35

More
03 Jan 2017 16:03 #57502 by goebish
Replied by goebish on topic Cheerson CX35
As you wish, but as the algo looks really simple (similar to Q303) that's shouldn't be too tiresome to do it remotely.

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

More
03 Jan 2017 16:04 - 03 Jan 2017 16:21 #57503 by goebish
Replied by goebish on topic Cheerson CX35

ajtank wrote: Oh just read your message again, you mean you teach me how to collect info from the receiver?


That's not different from capturing the transmitter ;)
I just need that you set some "special" IDs on the Devo transmitter, try to bind with them (that will fail, that's normal), then give me the captures from the receiver during those failed attempt.
Those captures will tell me which frequencies are expected by the RX for some given transmitter IDs.
Last edit: 03 Jan 2017 16:21 by goebish.

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

More
03 Jan 2017 16:32 #57505 by ajtank
Replied by ajtank on topic Cheerson CX35
I am more than willing to assist :)

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

More
04 Jan 2017 16:23 #57531 by goebish
Replied by goebish on topic Cheerson CX35
Ok, I added a ID_test version build (this build doesn't completely bind, that's normal ...):
www.dropbox.com/s/y8xuikbd53m23ua/deviat...c16_ID_test.zip?dl=1

- start with quad switched off
- set fixed id to 1
- start the quad then click reinit in deviation
- capture on the RX for a few seconds, save as "1.logicdata"

... then repeat with fixed id = 2, then 3 ... and so on up to 11.

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

More
07 Jan 2017 08:53 #57612 by ajtank
Replied by ajtank on topic Cheerson CX35
I have uploaded the capture in a ID Test folder, thanks.

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

More
07 Jan 2017 12:05 - 07 Jan 2017 21:50 #57621 by goebish
Replied by goebish on topic Cheerson CX35
Thanks, that's weird, the RX hops through 16 channels while the transmitter hops through only 4.

eg, for ID1 (which is the same ID than your stock transmitter), the RX listens to those frequencies:
23, 35, 14, 26, 38, 17, 29, 3b, 1a, 2c, 3e, 1d, 2f, 41, 20, 32 (hops to next frequency in the list every 49.81 ms while no packet has been received)
u8 freq[16] = {0x23, }; // seems to be constant
u8 X = ???
for(u8 hop=0; hop<15; hop++) {
    freq[hop+1] = freq[hop] + X;
    if(freq[hop+1] > 0x46) { 
        freq[hop+1] -= 0x33;
    }
}
Have to find how to calculate X, it's equal to 0x12 here, it depends of tx id. Looks like 0x23 is the "base freq".

The transmitter (id=24 37 46 89) only hops through
14, 17, 1a, 1d

Can you capture the RX while binding with the stock transmitter please ?

edit: X = 6 + ((txid[0] & 7)*3); // need a few more captures to confirm ...
Last edit: 07 Jan 2017 21:50 by goebish.

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

More
07 Jan 2017 12:49 #57626 by ajtank
Replied by ajtank on topic Cheerson CX35
I have uploaded the requested capture.
I used a spare FC board for the capture. I noticed that it took longer time for it to bind.
If you think this is a problem I will re-capture directly on the quad.

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

More
07 Jan 2017 13:11 - 07 Jan 2017 13:13 #57628 by goebish
Replied by goebish on topic Cheerson CX35
Ok, the RX cycles through all the 16 channels while the TX transmits on only 4 ... that's terrible, while the TX sends one packet every 3 ms, the RX gets only about 1 out of 10 ... bad design :P

Now I've to wrap my head around the offset (X) calculation ...
Last edit: 07 Jan 2017 13:13 by goebish.

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

More
07 Jan 2017 13:59 #57629 by ajtank
Replied by ajtank on topic Cheerson CX35
Let's put it aside and wait for the 2nd Tx. It should be available by next weekend.

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

More
07 Jan 2017 14:00 #57630 by goebish
Replied by goebish on topic Cheerson CX35
I think I won't need the 2nd TX capture, I almost understand how to calculate X ... I'm still on it, I might need more captures with different TX ID, I'll let you know :)

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

More
07 Jan 2017 15:17 - 07 Jan 2017 16:22 #57632 by goebish
Replied by goebish on topic Cheerson CX35
... Also, once implemented properly, the deviated protocol should be way more reliable than the stock transmitter ;)
I really don't understand why stock transmitter uses only 4 frequencies out of 16... the rx has to try to resynchronize all the time, so in the end only 2 frequencies are received by the rx ...
www.dropbox.com/s/8ee0bstelejlydi/CX35_R...th_stock_TX.txt?dl=0
(0x17 and 0x1d here)
Last edit: 07 Jan 2017 16:22 by goebish.

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

More
07 Jan 2017 16:37 - 07 Jan 2017 16:44 #57636 by ajtank
Replied by ajtank on topic Cheerson CX35
It looks like you are interested to understand how the rx hops more than tx :)
If tx only hops among 4 channels and one of them is fixed then it should be easier to guess its relationship with the id
Last edit: 07 Jan 2017 16:44 by ajtank.

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

More
07 Jan 2017 17:36 #57639 by goebish
Replied by goebish on topic Cheerson CX35
Yes, I want to understand, better implement the protocol properly, not like stock Tx ;)

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

More
07 Jan 2017 18:54 - 08 Jan 2017 02:04 #57642 by goebish
Replied by goebish on topic Cheerson CX35
Ok, I think I understand how to calculate the missing value but I need a few more captures, here's a new test build, please capture on the RX with transmitter ID 12 through 24.
www.dropbox.com/s/hlun55hgk9fxwba/deviat...0.0-d6f29d5.zip?dl=1
Last edit: 08 Jan 2017 02:04 by goebish.

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

More
07 Jan 2017 22:09 #57647 by goebish
Replied by goebish on topic Cheerson CX35
I'd like another capture, to check how the RX handles failsafe:
start capture on RX, bind with stock tx then switch tx off while still capturing for a few seconds.

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

More
08 Jan 2017 01:16 - 08 Jan 2017 03:29 #57666 by goebish
Replied by goebish on topic Cheerson CX35
Wow, I just had another look at the CX10D (not WD) tx captures, seems the id / rf mapping is the same than cx35 rx (16 rf channels), 2 birds with one stone !

CX10D capture (tx 1):
tx id: 03 25 71 98 --> X = 6 + ((03 & 7)*3) = 0x0f
freqs: 23 32 41 1d 2c 3b 17 26 35 20 2f 3e 1a 29 38 14

that matches with what I found above :)

... but ... that doesn't match with a 2nd CX10D tx capture, where "base freq" is 0x2e instead of 0x23 (the rest still matches), I hope the new set of IDs (12-24) will help to understand that.

CX10D capture (tx 2):
tx id: 97 79 98 78 --> X = 6 + ((0x97 & 7)*3) = 0x1b
freqs: 2e 16 31 19 34 1c 37 1f 3a 22 3d 25 40 28 14 2b
Last edit: 08 Jan 2017 03:29 by goebish.

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

More
08 Jan 2017 06:50 - 08 Jan 2017 07:41 #57673 by ajtank
Replied by ajtank on topic Cheerson CX35
The ID12 -24 and the failsafe capture have been posted in a new folder.
Sorry as I just noticed the CSN pin was broken.
I have soldered the pin and re-uploaded the correct captures.
Last edit: 08 Jan 2017 07:41 by ajtank.

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

More
08 Jan 2017 10:58 #57680 by goebish
Replied by goebish on topic Cheerson CX35
Thanks, that generated plenty of frequency sequences that do not have 0x23 as base freq, hopefully I should be able to understand with that :)

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

More
08 Jan 2017 11:01 - 08 Jan 2017 11:01 #57681 by goebish
Replied by goebish on topic Cheerson CX35
... I might need more captures later, sorry, I thought it would be as simple as the Q303 protocol, but I was wrong ;)
Last edit: 08 Jan 2017 11:01 by goebish.

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

More
08 Jan 2017 12:44 - 08 Jan 2017 12:45 #57688 by ajtank
Replied by ajtank on topic Cheerson CX35
No problem just let me know. Making capture is very simple to me.
Last edit: 08 Jan 2017 12:45 by ajtank.

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

Time to create page: 0.069 seconds
Powered by Kunena Forum