- Posts: 2631
Cheerson CX35
- goebish
- Offline
- I Void Warranties
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
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.
Please Log in or Create an account to join the conversation.
- ajtank
- Topic Author
- Offline
- Posts: 278
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
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.
- ajtank
- Topic Author
- Offline
- Posts: 278
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
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;
}
}
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 ...
Please Log in or Create an account to join the conversation.
- ajtank
- Topic Author
- Offline
- Posts: 278
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.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
Now I've to wrap my head around the offset (X) calculation ...
Please Log in or Create an account to join the conversation.
- ajtank
- Topic Author
- Offline
- Posts: 278
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
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)
Please Log in or Create an account to join the conversation.
- ajtank
- Topic Author
- Offline
- Posts: 278
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
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
www.dropbox.com/s/hlun55hgk9fxwba/deviat...0.0-d6f29d5.zip?dl=1
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
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.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
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
Please Log in or Create an account to join the conversation.
- ajtank
- Topic Author
- Offline
- Posts: 278
Sorry as I just noticed the CSN pin was broken.
I have soldered the pin and re-uploaded the correct captures.
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
Please Log in or Create an account to join the conversation.
- ajtank
- Topic Author
- Offline
- Posts: 278
Please Log in or Create an account to join the conversation.
- Home
- Forum
- Development
- Protocol Development
- Cheerson CX35