- Posts: 2631
Yi Zhan i6S capture
- goebish
- Offline
- I Void Warranties
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Topic Author
- Offline
- Posts: 1016
goebish wrote: Work in progress, it's almost working, just that CRC is a bit more difficult than I expected... as I did one year ago for scrambled mode, I've to brute force crc xorout for every payload size... so emulation layer should be ready tonight
Crazy guy
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
Which arm gcc version are you guys using ? mine is a bit old (4.8.3, 2014q1)...
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
+ Building 'objs/devo7e/cx10_nrf24l01.bin'
./target/devo7e/protocol.ld:18 cannot move location counter backwards (from 20004f11 to 20004f10)
make: *** [objs/devo7e/cx10_nrf24l01.bin] Error 1
Question:
The linker says something like /linkerscript.ld:221 cannot move location counter backwards (from 4000fb4c to 4000ec98). What's wrong?
Answer:
Your application is too big and won't fit into RAM or the ROM of the target platform.
edit: I've to check if it chokes only on cx10 module ...
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Topic Author
- Offline
- Posts: 1016
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.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
Only 1 & 2Mbps ...
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Topic Author
- Offline
- Posts: 1016
goebish wrote: Note that I can't make more tests myself because the xn297 (non L) I'm using can't do 250Kbps
Only 1 & 2Mbps ...
Not working ... SNifff
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
I'll check that.
If only I had a XN297L breakout ....
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
victzh wrote: I had a suspicion, or more precisely, a sign that my CRC algorithm is defective.
victzh wrote: There are still puzzles, may be more of theoretical value. I don't believe that the XOR sequence and these XOROUT constants are stored somewhere in the chip. I think they are byproduct of some calculation, may be of CRC itself.
... if I can understand how it really works that should fix the code size issue for the 7e ...
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
I think I got a winner by feeding crc reveng with MSb payload and LSb crc pairs !
$ reveng -w 16 -s 000069 def356 000011f0 deadd54b deadbee62d deadbeef946d deadbeef00bad0f00d00eeab
width=16 poly=0x1021 init=0x4d66 refin=true refout=true xorout=0xffff check=0x4746 name=(none)
width=16 poly=0x1021 init=0xbd79 refin=true refout=true xorout=0x07f0 check=0x4746 name=(none)
seems the same init and xorout values are working for different payload lengths ... and 0xffff as xorout is very common.
Now to get that working with scrambled and unscrambled modes then I should be able to remove the 2 hardcoded xorout tables, that should free up something like 208 bytes of memory
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Topic Author
- Offline
- Posts: 1016
goebish wrote: Haha !
I think I got a winner by feeding crc reveng with MSB payload and LSB crc pairs !
$ reveng -w 16 -s 000069 def356 000011f0 deadd54b deadbee62d deadbeef946d deadbeef00bad0f00d00eeab width=16 poly=0x1021 init=0x4d66 refin=true refout=true xorout=0xffff check=0x4746 name=(none) width=16 poly=0x1021 init=0xbd79 refin=true refout=true xorout=0x07f0 check=0x4746 name=(none)
seems the same init and xorout values are working for different payload lengths
Clap clap
Now to get that working with scrambled and unscrambled modes then I should be able to remove the 2 hardcoded xorout tables, that should free up something like 208 bytes of memory
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Topic Author
- Offline
- Posts: 1016
goebish wrote: oops, my last build was still transmitting in scrambled mode, please try this one
Devo 10
WORKING !!!!
But AIL, ELE channels inverted eachother ... and RUDDLER need to be inverted !=
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
Now let me work on the CRC stuff (I'm still struggling with it, but it's almost there) so it can fit on the 7e ...
I'll work on flags later
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
(for unscrambled mode only, but it shouldn't take long to make it work with scrambled mode...)
I need some aspirin now
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
Maybe we could get rid of the scrambling table too, I keep that as a future exercise.
... that was a lot of fun, this is the kind of stuff that would deserve a blog article (sniffing, decoding / unscrambling, crc cracking ...), but I'm just too lazy to write on a blog
Back to the i6S protocol now...
I swapped aileron and elevator channels and reversed rudder.
Please test, then I'll check the flags.
Devo 7e
Devo 10
source
It's currently using your stock tx id, but it should work with an arbitrary id as well, we'll check later, but your tx id / rf channels matches with what I have for H7 / MT9916.
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Topic Author
- Offline
- Posts: 1016
goebish wrote: It's working, scrambled, unscrambled, with crc enabled or disabled ... without requiring xorout tables anymore
Maybe we could get rid of the scrambling table too, I keep that as a future exercise.
... that was a lot of fun, this is the kind of stuff that would deserve a blog article (sniffing, decoding / unscrambling, crc cracking ...), but I'm just too lazy to write on a blog
Back to the i6S protocol now...
I swapped aileron and elevator channels and reversed rudder.
Please test, then I'll check the flags.
Devo 7e
Devo 10
source
It's currently using your stock tx id, but it should work with an arbitrary id as well, we'll check later, but your tx id / rf channels matches with what I have for H7 / MT9916.
Just tested with my 7E .... it doesn't bind anymore
Please Log in or Create an account to join the conversation.
- goebish
- Offline
- I Void Warranties
- Posts: 2631
I tested unscrambled mode + crc with 9 byte payload on my test xn297 RX (but at 1Mbps...) and it's working fine, when I start my Devo10 with i6S protocol selected (but hacked for 1MBps...) my "rx" receives the bind packets.
Please Log in or Create an account to join the conversation.
- Home
- Forum
- Development
- Protocol Development
- Yi Zhan i6S capture