- Posts: 610
HontaiTec Quadcopters (HT F801, HT F803,...)
- Durete
-
Topic Author
- Offline
Less
More
12 Jun 2015 22:43 #33969
by Durete
Replied by Durete on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Hi Guys. Sorry for my late reply, too much family job today 
I started to capture from the receiver, using my stock TX.
Here the captures:
dl.dropboxusercontent.com/u/14941708/RX%...res%20Stock%20TX.zip
I didn't capture trims because I have some problems with the motors since the full quadcopter is disassembly. Hexfet, if you need the trim captures, let me know and I will desolder the motors to capture. No problem.
I will try to capture using the Devo ASAP.
@Greenfly, everytime I update the build I overwrite my Dropbox's file with the new one. So maybe when you tried to use another previous build, if you don't have saved locally and simply click at my link, you are downloading always the last version. That could be the reason you can't bind using "my previous" build, really you are trying with the last version always.
I started to capture from the receiver, using my stock TX.
Here the captures:
dl.dropboxusercontent.com/u/14941708/RX%...res%20Stock%20TX.zip
I didn't capture trims because I have some problems with the motors since the full quadcopter is disassembly. Hexfet, if you need the trim captures, let me know and I will desolder the motors to capture. No problem.
I will try to capture using the Devo ASAP.
@Greenfly, everytime I update the build I overwrite my Dropbox's file with the new one. So maybe when you tried to use another previous build, if you don't have saved locally and simply click at my link, you are downloading always the last version. That could be the reason you can't bind using "my previous" build, really you are trying with the last version always.
- greenfly
-
- Offline
12 Jun 2015 22:53 #33970
by greenfly
Replied by greenfly on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Ah! That explains my result. Whew!
- Durete
-
Topic Author
- Offline
Less
More
- Posts: 610
12 Jun 2015 23:01 #33971
by Durete
Sorry
Please, try with our captured TX id as Fixed Id (61956 and 31242). I have not any problem binding with my Devo using this 2 Fixed Id's.
Remember to reset quadcopter and TX every time you change your fixed Id. I have some problems to bind if not restart both.
I need to start to test fixed id's ...
Replied by Durete on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Please, try with our captured TX id as Fixed Id (61956 and 31242). I have not any problem binding with my Devo using this 2 Fixed Id's.
Remember to reset quadcopter and TX every time you change your fixed Id. I have some problems to bind if not restart both.
I need to start to test fixed id's ...
- greenfly
-
- Offline
12 Jun 2015 23:08 #33972
by greenfly
Replied by greenfly on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Well using an older build you had that was still in my recycle bin, I was able to bind again and get the devo captures.
- greenfly
-
- Offline
12 Jun 2015 23:38 #33973
by greenfly
Replied by greenfly on topic HontaiTec Quadcopters (HT F801, HT F803,...)
OK, now I can bind with the latest build. It seemed to work with 61956 but not 31242. IDK.
- Durete
-
Topic Author
- Offline
Less
More
- Posts: 610
12 Jun 2015 23:45 #33974
by Durete
Replied by Durete on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Yep, you are right. Probably I tested bad, not cycling power at TX or something similar 
I can only bind with my TX id. using 61956 as Fixed Id.
I can only bind with my TX id. using 61956 as Fixed Id.
- hexfet
-
- Offline
Less
More
- Posts: 1971
13 Jun 2015 00:46 #33977
by hexfet
Replied by hexfet on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Yes, you should only be able to bind with 61956 since the protocol uses the rx/tx address associated with that txid. My bad.
Durete's data looks just like greenfly's as far as the strangeness. After staring at it a while I realized the "bad" packets are just left-shifted one bit at some point (not always the same) after the first byte. Maybe the logic analyzer is loading the signals so much that they barely exceed levels for detection? Or causing a clock pulse to be missed? Still strange that it's so consistent. From the timing in the captures it seems the clock rate is about 2MHz. Are y'all capturing at 4MHz sample rate or faster?
greenfly, on the devo rudder capture it looks like the min value only goes down to 0a and the max up to 2f. Is that due to a mix with less than 100% scale? The rudder channel and trim values look correct, as best I can see through the sometimes shifted data.
Durete's data looks just like greenfly's as far as the strangeness. After staring at it a while I realized the "bad" packets are just left-shifted one bit at some point (not always the same) after the first byte. Maybe the logic analyzer is loading the signals so much that they barely exceed levels for detection? Or causing a clock pulse to be missed? Still strange that it's so consistent. From the timing in the captures it seems the clock rate is about 2MHz. Are y'all capturing at 4MHz sample rate or faster?
greenfly, on the devo rudder capture it looks like the min value only goes down to 0a and the max up to 2f. Is that due to a mix with less than 100% scale? The rudder channel and trim values look correct, as best I can see through the sometimes shifted data.
- Durete
-
Topic Author
- Offline
Less
More
- Posts: 610
13 Jun 2015 00:48 #33978
by Durete
Replied by Durete on topic HontaiTec Quadcopters (HT F801, HT F803,...)
I captured at 4Mhz
- greenfly
-
- Offline
13 Jun 2015 00:55 #33979
by greenfly
Replied by greenfly on topic HontaiTec Quadcopters (HT F801, HT F803,...)
I captured at 4Mhz and I did a couple *hirez* powerup and bind captures at 24mhz. They should be in the previous zips.
@Hexfet, yes I was testing in 'low' mode. I forgot to switch to 100% before testing.
@Hexfet, yes I was testing in 'low' mode. I forgot to switch to 100% before testing.
- greenfly
-
- Offline
13 Jun 2015 01:09 #33980
by greenfly
Replied by greenfly on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Hexfet, could it be the SPI settings for the capture (no. of bits, MSB/LSB first, etc) that is causing the analysis to be off?
Could it be that the packets are 'good' and we are just interpreting them wrong in the software?
Could you tell me what to look for if I was to try some of the other analysis options?
Thanks.
Could it be that the packets are 'good' and we are just interpreting them wrong in the software?
Could you tell me what to look for if I was to try some of the other analysis options?
Thanks.
- hexfet
-
- Offline
Less
More
- Posts: 1971
13 Jun 2015 01:56 - 13 Jun 2015 01:58 #33982
by hexfet
Replied by hexfet on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Try a capture or two at 8MHz please. It's possible 4MHz is just at twice the freq, which is not quite enough 
The SPI parameters are correct or we wouldn't get so much good data. Inspecting the SPI data onscreen might show a missed clock pulse or something. Best way I've found to correlate the export file to screen display is by timestamp. Search the decoded (--full) txt file for RX_PAYLOAD and 40 16 on the same line (that's a shifted packet) and look for that timestamp onscreen.
The bind packets I've looked at have all been un-shifted, so we can collect some bind data. I'm out tomorrow so here's what to look for. I'll use greenfly's 05-devo-bind-fail.txt file as an example.
1) Starting from the top search for RX_PAYLOAD. This is reception of the bind packet. The fifth and sixth miso bytes (right of arrow) should be the fixed id set in deviation.
2) Search down from there for RX_ADDR_P0, then again because the first match seems like a programming error. The next match should have six mosi bytes - the last five are the rx/tx address.
3) Search down from there for RX_CH. The value after 25 is the channel being set.
4) Keep searching for RF_CH until the channel sequence repeats. So far it's been 5, 0x19, 0x28.
The RX enters data phase after 2 so we can see the channel sequence, but it goes into bind again if it doesn't receive any data packets (which doesn't happen till the tx stops sending them). So it binds a bunch of times each power-up.
You might start with the stock tx and see if it randomizes the txid each time - greenfly's captured both 7a0a and 7a14 as the last bytes. Easier than changing the fixed id every test. Hopefully a pattern will emerge quickly
The SPI parameters are correct or we wouldn't get so much good data. Inspecting the SPI data onscreen might show a missed clock pulse or something. Best way I've found to correlate the export file to screen display is by timestamp. Search the decoded (--full) txt file for RX_PAYLOAD and 40 16 on the same line (that's a shifted packet) and look for that timestamp onscreen.
The bind packets I've looked at have all been un-shifted, so we can collect some bind data. I'm out tomorrow so here's what to look for. I'll use greenfly's 05-devo-bind-fail.txt file as an example.
1) Starting from the top search for RX_PAYLOAD. This is reception of the bind packet. The fifth and sixth miso bytes (right of arrow) should be the fixed id set in deviation.
2) Search down from there for RX_ADDR_P0, then again because the first match seems like a programming error. The next match should have six mosi bytes - the last five are the rx/tx address.
3) Search down from there for RX_CH. The value after 25 is the channel being set.
4) Keep searching for RF_CH until the channel sequence repeats. So far it's been 5, 0x19, 0x28.
The RX enters data phase after 2 so we can see the channel sequence, but it goes into bind again if it doesn't receive any data packets (which doesn't happen till the tx stops sending them). So it binds a bunch of times each power-up.
You might start with the stock tx and see if it randomizes the txid each time - greenfly's captured both 7a0a and 7a14 as the last bytes. Easier than changing the fixed id every test. Hopefully a pattern will emerge quickly
2.190433 > RX_PAYLOAD 61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 => 42 4c 4b 3a 7a 0a 00 00 00 4f 07 25 6a 80 0a c0 91
2.190541 > RX_ADDR_P0 2a 55 65 92 4a => 4e 00 00 00 00
2.190573 > EN_RXADDR 22 01 => 4e 00
2.190586 = FLUSH_RX e2 => 4e
2.190594 > STATUS 27 70 => 4e 00
2.190606 = SETUP_RETR e4 => 0c
2.190618 > STATUS 27 42 => 0e 00
2.190632 > RX_ADDR_P0 2a 54 b2 c9 25 24 => 0e 00 00 00 00 00
2.190664 > EN_RXADDR 22 => 0e
2.190676 > RF_CH 25 19 => 0e 00
Last edit: 13 Jun 2015 01:58 by hexfet.
- greenfly
-
- Offline
13 Jun 2015 07:21 #33993
by greenfly
Replied by greenfly on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Well, I might not understand what it all means, but you have done a great job explaining what I need to do. Thanks!
I will get started in the morning and post my results as I find them.
I guess the quad is on the operating table for the duration... oh well at least I have a few others I can fly.
Maybe I will find a way to bring the five lines out such that I can still re-assemble it. Like giving my quad a DIY debug port!
I will get started in the morning and post my results as I find them.
I guess the quad is on the operating table for the duration... oh well at least I have a few others I can fly.
Maybe I will find a way to bring the five lines out such that I can still re-assemble it. Like giving my quad a DIY debug port!
- Durete
-
Topic Author
- Offline
Less
More
- Posts: 610
13 Jun 2015 16:11 #34020
by Durete
Replied by Durete on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Hi guys.
Since I'm working with windows, I can't find where is the interpreted CSV SPI file (stdout ? ).
The perl script appears to be working, but the GNU windows is very small to look for anything. I suppose this output will print to any txt file or something similar.
Sorry for this noob question
Since I'm working with windows, I can't find where is the interpreted CSV SPI file (stdout ? ).
The perl script appears to be working, but the GNU windows is very small to look for anything. I suppose this output will print to any txt file or something similar.
Sorry for this noob question
- greenfly
-
- Offline
13 Jun 2015 16:38 #34021
by greenfly
Replied by greenfly on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Durete,
You can use the '>' (greater than) character at the end of the command to pipe stdout to a file.
HTH
You can use the '>' (greater than) character at the end of the command to pipe stdout to a file.
perl format_spi.pl <filetoanalyze> -full > output.txtHTH
- Durete
-
Topic Author
- Offline
Less
More
- Posts: 610
13 Jun 2015 16:39 #34022
by Durete
Replied by Durete on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Thanks !!!!
- Durete
-
Topic Author
- Offline
Less
More
- Posts: 610
13 Jun 2015 16:57 #34024
by Durete
Replied by Durete on topic HontaiTec Quadcopters (HT F801, HT F803,...)
So far, after about 10 bind sequence captures my Stock TX has not changed the TX id (F2 04 as two last bytes).
Data channels always 5, 19, 28.
I will continue capturing binding sequences for a while looking for any change.
Data channels always 5, 19, 28.
I will continue capturing binding sequences for a while looking for any change.
- Durete
-
Topic Author
- Offline
Less
More
- Posts: 610
13 Jun 2015 17:05 - 13 Jun 2015 17:06 #34025
by Durete
My captures at 16mhz don't show this programming error. I can see always 6 mosi bytes with the same address.
Replied by Durete on topic HontaiTec Quadcopters (HT F801, HT F803,...)
hexfet wrote: 2) Search down from there for RX_ADDR_P0, then again because the first match seems like a programming error. The next match should have six mosi bytes - the last five are the rx/tx address.
My captures at 16mhz don't show this programming error. I can see always 6 mosi bytes with the same address.
2.374596 > RX_PAYLOAD 61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 => 42 4c 4b 3a f2 04 00 00 00 78 79 25 6a 80 00 28 31
2.400224 > RX_ADDR_P0 2a 2a da a5 25 24 => 42 00 00 00 00 00
2.400256 > EN_RXADDR 22 01 => 42 00
2.400269 = FLUSH_RX e2 => 42
2.400277 > STATUS 27 70 => 4e 00
2.400290 = FLUSH_RX e2 00 => 0e 00
2.400302 > STATUS 27 42 => 0e 00
2.400315 > RX_ADDR_P0 2a 2a da a5 25 24 => 0e 00 00 00 00 00
2.400347 > EN_RXADDR 22 01 => 0e 00
2.400360 > RF_CH 25 19 => 0e 00
Last edit: 13 Jun 2015 17:06 by Durete.
- greenfly
-
- Offline
13 Jun 2015 17:29 - 13 Jun 2015 17:30 #34028
by greenfly
Replied by greenfly on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Mine as well...
Channels all seem to be 5, 19 and 28.
My TX id always seems to be [7A][0A].
2.467853 > RX_PAYLOAD 61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 => 42 4c 4b 3a 7a 0a 00 00 00 4f 07 25 6a 80 0a c1 91
2.467962 > RX_ADDR_P0 2a 54 b2 c9 25 24 => 4e 00 00 00 00 00
2.467994 > EN_RXADDR 22 01 => 4e 00
2.468006 = FLUSH_RX e2 => 4e
2.468015 > STATUS 27 70 => 4e 00
2.468027 = FLUSH_RX e2 00 => 0e 00
2.468039 > STATUS 27 42 => 0e 00
2.468052 > RX_ADDR_P0 2a 54 b2 c9 25 24 => 0e 00 00 00 00 00
2.468085 > EN_RXADDR 22 01 => 0e 00
2.468097 > RF_CH 25 19 => 0e 00Channels all seem to be 5, 19 and 28.
My TX id always seems to be [7A][0A].
Last edit: 13 Jun 2015 17:30 by greenfly.
- hexfet
-
- Offline
Less
More
- Posts: 1971
14 Jun 2015 00:40 #34035
by hexfet
The 7A14 bind address must've been a capture anomaly - 0x14 is 0x0a shifted left one bit.
Have you made any captures with the devo fixed id? Maybe one start at 0 and the other at 256, and just increment by one each time. It's tedious so stop before it becomes too aggravating
I'm hopeful they've done something very simple, but usually it's necessary to build a test jig to automate these captures. We'll see.
Replied by hexfet on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Excellent. And looks like y'all have the hang of getting the bind informationDurete wrote: My captures at 16mhz don't show this programming error. I can see always 6 mosi bytes with the same address.
Have you made any captures with the devo fixed id? Maybe one start at 0 and the other at 256, and just increment by one each time. It's tedious so stop before it becomes too aggravating
- greenfly
-
- Offline
14 Jun 2015 01:15 #34036
by greenfly
Replied by greenfly on topic HontaiTec Quadcopters (HT F801, HT F803,...)
Let me make sure I understand what you need.
You want me to make captures of the bind process when I use a specific fixed ID on the Devo. 1..2..3..4..
I can do that... but what are we looking for?
Do you want all those capture files?
You want me to make captures of the bind process when I use a specific fixed ID on the Devo. 1..2..3..4..
I can do that... but what are we looking for?
Do you want all those capture files?
Time to create page: 0.495 seconds
-
Home
-
Forum
-
Development
-
Protocol Development
- HontaiTec Quadcopters (HT F801, HT F803,...)