- Posts: 151
FQ777-124 Pocket Drone
- btoschi
- Offline
Does that match the H101 protocol, too ? (or do they use different special values ?)
Please Log in or Create an account to join the conversation.
- bikemike
- Offline
- Posts: 42
Can you post some spi payload captures so I can check that each byte in the payload is being decoded properly?
And does the tx cycle through the channels in the order you specified them in?
Please Log in or Create an account to join the conversation.
- btoschi
- Offline
- Posts: 151
Yes, channels alternate 4d, 43, 27, 07, 4d, 43, ...
Please Log in or Create an account to join the conversation.
- bikemike
- Offline
- Posts: 42
sending 8 0x00 bytes, crc length 2.
PACKET RECV: len: 8, pid: 2, nack: 0, data: 0 0 0 0 0 0 0 0 C5 D9 54 7D 4A 40 22 50 20 6 AB 1A 74 A5 B5 8B 4A B5 6A B6 A4 B5
PACKET RECV: len: 8, pid: 2, nack: 0, data: 0 0 0 0 0 0 0 0 C5 D9 6D 6B 52 AA CA E5 69 4A C6 B4 89 3D C9 44 A5 59 AB 34 AD 29
PACKET RECV: len: 7, pid: 2, nack: 0, data: 80 44 64 75 6C 71 2A 36 3B C 52 B5 52 A4 A8 A4 94 55 D5 3B 95 FC B6 A9 4B 57 28 97 E3 54
PACKET RECV: len: 8, pid: 2, nack: 0, data: 80 44 64 75 6C 71 2A 36 B9 28 52 A9 56 95 55 D4 AC 8B F7 5B CF F4 D5 6B 76 D9 BA 2D D5 EA
PACKET RECV: len: 8, pid: 2, nack: 0, data: 80 44 64 75 6C 71 2A 36 B9 28 51 A9 D2 40 2A 48 28 62 A8 D2 B8 C3 49 4E FA FF 77 B4 D5 F5
PACKET RECV: len: 8, pid: 2, nack: 0, data: 80 44 64 75 6C 71 2A 36 B9 28 4D 28 A9 52 81 10 21 85 59 54 D5 2A 20 B1 4A 55 33 64 95 6A
PACKET RECV: len: 8, pid: 2, nack: 0, data: 80 44 64 75 6C 71 2A 36 B9 28 99 92 D6 A4 DA 69 2A 55 D9 A5 6A AD 67 49 2D 6A A4 A6 95 95
As you can see, the data becomes encoded matching well with the xor value I previously posted.
Then I increased the size of the packet to get a longer xor value:
PACKET RECV: len: 24, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 24, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 24, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 24, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 24, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 24, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 27, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 24, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 27, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 24, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 24, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 24, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 24, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RECV: len: 27, pid: 3, nack: 0, data: 80 44 64 75 6C 71 2A 36 7C F1 6E 52 9 9D 1F 78 3F E1 EE 16 6D E8 73 9 15 D7 92 E7 3 BA
PACKET RE
Please Log in or Create an account to join the conversation.
- bikemike
- Offline
- Posts: 42
PACKET RECV: 20 15 5 6 D3 45 0 18
nrf can not receive these as they are encoded. This is the data the nrf sees:
some raw packets:
PACKET RECV: 21 50 28 B0 B9 DF 9A 15 17 7 15 B6 3C
PACKET RECV: 22 50 28 B0 B9 DF 9A 15 17 2A 51 B1 52
and some packet control field parsed:
PACKET RECV: len: 8, pid: 1, nack: 0, data: A0 51 61 73 BF 34 2A 2E E 2B
PACKET RECV: len: 8, pid: 2, nack: 0, data: A0 51 61 73 BF 34 2A 2E 54 A3
while this is the raw data the ssv sees(when reserved registers are set):
some raw packets:
PACKET RECV: A2 14 4C C5 D5 AE B0 23 6B DB 3F C2
PACKET RECV: A2 14 4C C5 D5 AE B0 23 6B DB 3F E8
and some packet control field parsed:
PACKET RECV: len: 40, pid: 2, nack: 0, data: 28 99 8B AB 5D 60 46 D7 B6 7F
PACKET RECV: len: 40, pid: 2, nack: 0, data: 28 99 8B AB 5D 60 46 D7 B6 7F
So it appears that the decoding differs between shockburst and enhanced shockburst on the ssv. Perhaps this is just that the XOR is offset because of the packet control field.
Anyway, at this point I think it's obvious that we can't transmit to an nrf from an ssv in enhanced shockburst mode or vice versa because of the encoding/crc. For transmitting I think it should be possible to fake an ssv enhanced shockburst packet by prepending the a packet control field to the payload, appending a 2 byte crc(calculated over address, packet control, and payload), and then encoding the whole packet(xor).
Please Log in or Create an account to join the conversation.
- bikemike
- Offline
- Posts: 42
Now that I know it works I can code it up in nrf24_multipro. Woohoo!
Please Log in or Create an account to join the conversation.
- HappyHarry
- Offline
- Posts: 1136
Please Log in or Create an account to join the conversation.
- petsmith
- Topic Author
- Offline
- Posts: 63
Please Log in or Create an account to join the conversation.
- bikemike
- Offline
- Posts: 42
Very basic support so far (no support for any of the buttons). It's available here:
github.com/bikemike/nrf24_multipro/tree/fq777-124
Please Log in or Create an account to join the conversation.
- bikemike
- Offline
- Posts: 42
I was able to improve this by transmitting three of the same packet per channel hop. I've uploaded this and support for the buttons to my guthub branch.
It sure is nice not having to use the crappy tx!
Please Log in or Create an account to join the conversation.
- Tradecrafter
- Offline
- Posts: 6
Please Log in or Create an account to join the conversation.
- bikemike
- Offline
- Posts: 42
Tradecrafter wrote: i want to make an receiver to this controller, using arduino and NRF 24l01 pa lna, so i could use it with any other projects, these protocol could serve my purpose, or i will need to buy an logic analyzer and make my way down the stone road all by myself ??
The image is very small so I'm not sure what it is. It looks like some model of FQ777 transmitter I presume? I have no idea if all the FQ777s use the same protocol and radio chip or if they are all unique.
I think your first task is to determine what type of radio chip the transmitter uses. If it is the SSV7241 then perhaps it might work with this protocol.
Please Log in or Create an account to join the conversation.
- Multirotor Go
- Offline
- Posts: 55
Thanks for your awesome work.
I would like to know when is this going to be available on the nightly builds?
I am dying to tried it out
Please Log in or Create an account to join the conversation.
- bikemike
- Offline
- Posts: 42
Multirotor Go wrote: Hello
Thanks for your awesome work.
I would like to know when is this going to be available on the nightly builds?
I am dying to tried it out
I am dying for someone to try it out as well! Someone here who is familiar with deviationtx source code needs to port my code over. It can't be too difficult to do. I'd do it but I don't have a Devo.
Please Log in or Create an account to join the conversation.
- Multirotor Go
- Offline
- Posts: 55
Please Log in or Create an account to join the conversation.
- bikemike
- Offline
- Posts: 42
Please Log in or Create an account to join the conversation.
- Tradecrafter
- Offline
- Posts: 6
i'm intending to do this for learning purposes, because its a cheap controller, and won't pay the efforts...
i'll buy the saleae logic analyzer, i´ve been willing to buy one for a while, and looks like a good reason to do this now...
the controller board has an atmel, for the buttons, knobs. and for the transmitter the microchip comes with no names on it, its weird... chinese...
you can see it on the picture, the red wire is the antenna.
my name is Leo, i am an Soldier from the Military Police of Rio de Janeiro and IT student, 33 years old, thanks for the fast response !!
Cheers !!
PS.: Apologize for the bad english, my native is Brazilian portuguese, and please, don't come for the Olympic Games !!!
Please Log in or Create an account to join the conversation.
- kahuna001
- Offline
- Posts: 34
next ...
hook up Arduino mini pro with NRF24 and upgrade my 9XR-Pro to open-TX but cannot get it to bind.
I follow the hook-up diagram as follows.
www.dropbox.com/s/hxmbxsx8dn8sn4t/schalt...i-CORRECTED.jpg?dl=0
Any pointers here ?
Please Log in or Create an account to join the conversation.
- bikemike
- Offline
- Posts: 42
Please Log in or Create an account to join the conversation.
- kahuna001
- Offline
- Posts: 34
bikemike wrote: The connections look right. Did you hold the yaw all the way right and the roll and pitch to the top right to make it choose the fq777-124 protocol? Do you see the LED on the arduino flash rapidly when it first starts up (the bind sequence)?
Yes sir. All that. I even tried on 3.3v mini pro , 5v mini pro and Uno. With the dual 10k resistor divider , one 10k resistor inline, no resistor. All nothing.
I don't need a Taranis do it ? I read somewhere that all I need is a Open-TX firmware, set it to PPM , channel 1-12 , AETR 100%
I am going to put some debug in the code so I can be sure it actually go to the protocol. More update to come.
Please Log in or Create an account to join the conversation.
- Home
- Forum
- Development
- Protocol Development
- FQ777-124 Pocket Drone