- Posts: 2631
JJRC H20 Hex Quad
- goebish
- Offline
- I Void Warranties
hmmmm, I think I get it, let me check if it worksgoebish wrote: I'd like to crack tx id / rf channels before making a pull request
Please Log in or Create an account to join the conversation.
- bmw111
- Offline
- Posts: 35
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.
- bmw111
- Offline
- Posts: 35
Please Log in or Create an account to join the conversation.
- hexfet
- Offline
- Posts: 1891
Combo build is updated. It also has the latest KN changes, which are now merged. This build is from the new_protocols branch in my repo if anyone wants to build it.SeByDocKy wrote: @HexFet, can you add this protocol to your combo release ?
Please Log in or Create an account to join the conversation.
- dc59
- Offline
- Posts: 799
hexfet wrote:
Combo build is updated. It also has the latest KN changes, which are now merged. This build is from the new_protocols branch in my repo if anyone wants to build it.SeByDocKy wrote: @HexFet, can you add this protocol to your combo release ?
Hi Hexfet,
Thank you very much for the new build,this is the answer that I send you a PM.
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
If that's ok I'll make a pull request so it's included in nightly builds.
Please Log in or Create an account to join the conversation.
- Durete
- Offline
- Posts: 610
I can't test yet because my H8 3D is on the slow boat, but figure out the TX id vs RF channels with only 2 captures is incredible
With MJXq protocol we have about 10 captures, and at least me I can't see something obvious
Good job
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
This one was kinda easy, here are my notes
Stage 1 --> init
3F CD 3F 7F 9C 20 set xn297 debug register
3E DA 9A B0 79 BB AB 9C set xn297 debug register
39 0B DF C4 A7 03 set xn297 debug register
30 C4 57 09 65 21 set TX address C4 57 09 65 21
2B C4 57 09 65 21 set RX address pipe 1 C4 57 09 65 21
01 00 -> 3F get EN_AA -> enabled on all 6 data pipes
02 00 -> 03 get Enabled RX Addresses -> enabled on data pipes 0 & 1
27 70 clear data ready, data sent, and retransmit
21 00 disable auto ack
22 02 enable RX data pipe 1, disable others
23 03 set 5 bytes address width
25 06 set RF channel 6
24 00 disable automatic retransmission
31 14 set RX payload size for pipe 0(disabled ?) 20 bytes
32 14 set RX payload size for pipe 1 20 bytes
26 01 set 1Mbps data rate, minimum RF power
70 73 activate 73
3C 00 disable dynamic payload length on all pipes
3D 00 disable features
05 FF -> 06 get RF channel
Stage 2 --> bind
20 1E TX mode / power on / 2 bytes crc / int not reflected on irq pin
25 0F set RF channel 0F
E1 flush TX
27 70 clear interrupts
20 1E power on
A0 13 AE B8 0B 10 00 00 01 81 00 00 00 00 00 00 00 00 00 00 00 (TX1)
A0 13 AF C5 17 00 00 00 01 8B 00 00 00 00 00 00 00 00 00 00 00 (TX2)
07 FF -> 0E get status
07 FF -> 0E get status
....
07 FF -> 2E get status -> TX_DS raised
27 70 clear interupts
.... repeat stage 2 for 2000 ms
Stage 3 --> data
26 07 set max RF power
25 0F set RF channel 0F
E1
27 70
20 1E
A0 13 AE B8 0B 10 00 08 03 81 00 00 7F 7F 20 20 20 20 00 00 7E <-- payload[5] is an index ? --> 00
07 FF -> 0E
07 FF -> 0E
....
07 FF -> 2E
27 70
25 19 set RF channel 19 after packet is sent
E1
27 70
20 1E
A0 13 AE B8 0B 10 01 08 03 81 00 00 7F 7F 20 20 20 20 00 00 7E --> 01
07 FF -> 0E
....
07 FF -> 2E
27 70
25 2F set RF channel 2F after packet is sent
E1
27 70
20 1E
A0 13 AE B8 0B 10 02 08 03 81 00 00 7F 7F 20 20 20 20 00 00 7E --> 02
07 FF -> 0E
....
07 FF -> 2E
27 70
25 34 set RF channel 34 after packet is sent
E1
27 70
20 1E
A0 13 AE B8 0B 10 03 08 03 81 00 00 7F 7F 20 20 20 20 00 00 7E --> 03
07 FF -> 0E
....
07 FF -> 2E
27 70
25 0F set RF channel 0F after packet is sent
repeat stage 3 ....
packet period: 1800µs
data packet:
[00] = 13 // fixed
[01] = AE // txid
[02] = B8 // txid
[03] = 0B // txid
[04] = 10 // txid
[05] = next channel index (0-3) (0 during bind)
[06] = 08 // fixed (0 during bind)
[07] = 03 // fixed (1 during bind)
[08] = 81 // = txid checksum [01-04] & FF
[09] = throttle (00-FF)
[10] = rudder (BC-80-00-3C )
[11] = elevator (43-7F-BB)
[12] = aileron (BB-7F-43)
[13] = trim (neutral 20)
[14] = trim (neutral 20)
[15] = trim (neutral 20)
[16] = trim (neutral 20)
[17] = flags:
|01: flip
|02: mid rate
|04: high rate
|08:
|10: RTH / headless
|20: flip mode: 180° when clear, 360° when set
|40:
|80:
[18] = flags:
|20: accelerometer calibration
[19] = data checksum = ([09] ..+.. [18]) & FF
tx id / channels
TX1
id: AE B8 0B 10 chk: 81
ch: 0F 19 2F 34
ch0: a+e=18 %0f=09; 06+09=0f -> or 1+8=09, works in both case
ch1: b+8=13 %0f=04; 15+04=19 -> or 1+3 ...
ch2: 0+b=0b %0f=0b; 24+0b=2f > ...
ch3: 1+0=01 %0f=01; 33+01=34
TX2
id: AF C5 17 00 chk: 8b
ch: 10 17 2C 33
ch0: a+f=19 %0f=0a; 06+0a=10
ch1: c+5=11 %0f=02; 15+02=17
ch2: 1+7=08 %0f=08; 24+08=2C
ch3: 0+0=00 %0f=00; 33+00=33
rf_channel[index] = 6+(index*0x0f)+(((txid[index]>>8)+(txid[index]&0x0f))%0x0f);
totally random ids don't work (bind ok but no data...)
seems to be ok with those ranges:
txid[0] [a0 ; af]
txid[1] [b0 ; cf]
txid[2] [00 ; 1f]
txid[3] [00 ; 10]
Please Log in or Create an account to join the conversation.
- Deal57
- Topic Author
- Offline
- Posts: 857
Flew the H20 with multiple different Fixed ID and without Fixed ID, and it worked every time. I'll fly it a few more times today. This is really nice work and I appreciate seeing your notes.
Thank you!!!!
Deviation Devo7e 3way switch mod, A7105, NRF24L01
Devo6s 2x2 switch mod, trim mod, haptic, multimodule, A7105, NRF24L01, CC2500
Devo12e 4-in-1 with voice mod -- it speaks!!
Please Log in or Create an account to join the conversation.
- sledgehammer1570
- Offline
- Posts: 34
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
I'll implement it, thanks for noticing !
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
Note that it will work only with a scaling of 100 on ail/rud/ele.
Please Log in or Create an account to join the conversation.
- sledgehammer1570
- Offline
- Posts: 34
Tested and works. Thank you!goebish wrote: Build updated , accelerometer calibration is working now
Note that it will work only with a scaling of 100 on ail/rud/ele.
Please Log in or Create an account to join the conversation.
- Sicon
- Offline
- Posts: 12
Sorry if I ask something stupid (I am new to devo 7e world ), but someone could post a working ini file for a devo 7e for the H83D? I try to let the flip/inverted functions to work but on HOLD1 (ch6) it only works for the 180° and I don't have a ch10 on my 7e
Thank you!!
Please Log in or Create an account to join the conversation.
- Deal57
- Topic Author
- Offline
- Posts: 857
Deviation Devo7e 3way switch mod, A7105, NRF24L01
Devo6s 2x2 switch mod, trim mod, haptic, multimodule, A7105, NRF24L01, CC2500
Devo12e 4-in-1 with voice mod -- it speaks!!
Please Log in or Create an account to join the conversation.
- sledgehammer1570
- Offline
- Posts: 34
Sicon wrote: First of all, thank you for this protocol
Sorry if I ask something stupid (I am new to devo 7e world ), but someone could post a working ini file for a devo 7e for the H83D? I try to let the flip/inverted functions to work but on HOLD1 (ch6) it only works for the 180° and I don't have a ch10 on my 7e
Thank you!!
You need to enable ten channels in model setup at "# Channels"
At mixer, change Ch10 to complex.
At complex section, make two mixers.
Page 1
[Switch - FMODE 1]
[Src - FMODE 1]
[Curve - < 0]
Page 2
[Switch - FMODE 0]
[Src - FMODE 0]
[Curve - > 0] ( note the >. different from page 1 )
Save
You already have HOLD1 as your flip switch at Ch6, so no need to change that. Or if you want FMODE to be your flip switch, then choose HOLD switch at the Ch10 mixers and FMODE for Ch6, you know:)
I hope this helps. Ask if you don't get it or this doesn't work.
Please Log in or Create an account to join the conversation.
- Sicon
- Offline
- Posts: 12
[channel6]
template=simple
[mixer]
src=HOLD1
dest=Ch6
curvetype=expo
points=0,0
[channel9]
template=simple
[mixer]
src=FMODE1
dest=Ch9
curvetype=zero/max
points=0
[channel10]
template=complex
[mixer]
src=FMODE0
dest=Ch10
switch=FMODE0
usetrim=0
curvetype=greater-than-0
points=0
[mixer]
src=FMODE1
dest=Ch10
switch=FMODE1
usetrim=0
curvetype=less-than-0
points=0
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
bitbucket.org/deviationtx/deviation/pull...3d-jjrc-h20-h22/diff
Please Log in or Create an account to join the conversation.
- dc59
- Offline
- Posts: 799
Please Log in or Create an account to join the conversation.
- Home
- Forum
- Development
- Protocol Development
- JJRC H20 Hex Quad