Volantex V761-1 Firestar Mini protocol

More
02 May 2018 21:12 #68983 by Kill_Switch
Volantex V761-1 Firestar Mini protocol was created by Kill_Switch
Hello all
a bit of a lurker, and decided I wanted to try get one of my mini toy tx deviated but I am going to need some help

I have Id'ed the boards, Xn297LBW in the TX via a daughter board, and pan159cy in Rx. I have read that there are similar combo's in DM002 and GW008 but nether of these will bind. not sure if the nrf24 would be able to do this.

I have a basic capture but there is no miso pin labelled( photo attached),

I have done a test capture just to see if there is any info see below does this look half right before I continue?


thank you in advance, and sorry if these are noob questions
Attachments:

Please Log in or Create an account to join the conversation.

More
03 May 2018 14:29 #68996 by Kill_Switch
Replied by Kill_Switch on topic Volantex V761-1 Firestar Mini protocol
First capture
first order review shows a variation on the normal for timepoint 1, although there is lots of commonality
shown from 2-8 below

the excel has the raw csv data and then just collection of data to get the timepoint info as shown( sheet 2)
also included the logic file.

From here on I assume I would need the bind, and some sweeps,
Then I run into "need help territory " :blush: :blink:

File Attachment:

File Name: capture.zip
File Size:509 KB
Attachments:

Please Log in or Create an account to join the conversation.

More
04 May 2018 08:56 - 04 May 2018 09:37 #69015 by goebish
Replied by goebish on topic Volantex V761-1 Firestar Mini protocol
Hi,

There's no MISO pin on the LBW (8 pin) variant of the XN297L, that's 3-wire SPI, there's a single data pin acting as an input (MOSI) and output (MISO) instead.

I took a look at your capture, seems fine:
www.dropbox.com/s/55zcsyzfrei9fb4/V761.txt?dl=0
( XN297L datasheet )
We need more captures:
1. Bind sequence
2. one capture for each of the sticks once it's bound (throttle, elevator, aileron)
Last edit: 04 May 2018 09:37 by goebish.

Please Log in or Create an account to join the conversation.

More
04 May 2018 09:57 #69016 by Kill_Switch
Replied by Kill_Switch on topic Volantex V761-1 Firestar Mini protocol
Hi Goebish

Thx for confirmation, I should have updated I found that is was indeed a 3 line SPI, I will upload the rest of the captures this evening.
How to you complete the decode?,
I am very new to this, I am using Sigrok, which has built in decode for the chip but not on a 3 wire spi, wants MISO MOSI on seperate channels( so I get the Commands from what i can see, but not the correct responses

Please Log in or Create an account to join the conversation.

More
04 May 2018 10:03 - 04 May 2018 11:00 #69017 by goebish
Replied by goebish on topic Volantex V761-1 Firestar Mini protocol
I'm using a script that's made to decode the nrf24l01 (4-wire SPI), hence there is some UNKNOWN activity on the bus, but that's usually enough to understand and implement the protocol.
www.dropbox.com/s/91vxlwar1jmna6b/nRF24_decode.py?dl=1
It takes the hex output of the SPI decoder from Saleae Logic (Analyzers -> SPI -> Export as text/cvs file)
eg: nRF24_decode.py capture.txt > V761.txt

If this is a bi-directional protocol (handshake during bind...) we might have to modify this decoder to properly handle the XN297LBW (differentiate inputs & outputs).
Last edit: 04 May 2018 11:00 by goebish.

Please Log in or Create an account to join the conversation.

More
04 May 2018 11:01 - 04 May 2018 11:03 #69018 by Kill_Switch
Replied by Kill_Switch on topic Volantex V761-1 Firestar Mini protocol
Thank you!!

I will work through the instruction set still and confirm if there are any new commands.
Attachments:
Last edit: 04 May 2018 11:03 by Kill_Switch. Reason: not thinking

Please Log in or Create an account to join the conversation.

More
04 May 2018 11:03 #69019 by goebish
Replied by goebish on topic Volantex V761-1 Firestar Mini protocol
No, I mean bi-directional at the protocol level, of course the data pin is bi-directional, but most of the time we don't need to understand what those UNKNOWN are to implement the protocol ;)

Please Log in or Create an account to join the conversation.

More
04 May 2018 11:14 #69020 by Kill_Switch
Replied by Kill_Switch on topic Volantex V761-1 Firestar Mini protocol
:whistle: :whistle: :ohmy: umm noob exiting left :whistle: :whistle:

Please Log in or Create an account to join the conversation.

More
04 May 2018 11:15 #69021 by goebish
Replied by goebish on topic Volantex V761-1 Firestar Mini protocol
No problem, we've all been there ;)

Please Log in or Create an account to join the conversation.

More
04 May 2018 11:30 #69022 by goebish
Replied by goebish on topic Volantex V761-1 Firestar Mini protocol
What makes me think it's bidirectional is this line:
W_REGISTER(11 RX_PW_P0) 08
(set RX FIFO length)

But we need more captures to confirm that.

Please Log in or Create an account to join the conversation.

More
04 May 2018 12:00 #69023 by Kill_Switch
Replied by Kill_Switch on topic Volantex V761-1 Firestar Mini protocol
In the interim , some more detail about the plane until I can make the new captures at home.
Banggood page

It is a 3 channel setup , throttle left stick, elevator and rudder right stick
bind is done by sweeping thr 0-200-0
Rx has built in stabiliser/Gyro with three modes( by switch) beginner, midd, expert.
beginner is auto level, with a limited yaw and pitch
midd is auto level, without limits on yaw and pitch
expert gyro is off

there are no other tx inputs other than trims on all the inputs

based on this I will do sweeps of the inputs in all 3 modes, is trim inputs a requirement ?

Please Log in or Create an account to join the conversation.

More
04 May 2018 12:10 - 04 May 2018 12:13 #69024 by goebish
Replied by goebish on topic Volantex V761-1 Firestar Mini protocol
Make a capture where you're pressing the mode button, it shouldn't be required to capture inputs in all 3 modes.
(well, that's only 2 modes actually, accelerometer on/off ...)
Trims captures are usually not required, just make sure they're set to neutral.
Last edit: 04 May 2018 12:13 by goebish.

Please Log in or Create an account to join the conversation.

More
04 May 2018 12:23 #69025 by goebish
Replied by goebish on topic Volantex V761-1 Firestar Mini protocol
I had a closer look, good news, it's using 1 Mbps bitrate, and no auto ack, so even if it's bi-directional there's no reason it can't be emulated with the nrf24l01.

Please Log in or Create an account to join the conversation.

More
04 May 2018 15:24 #69027 by Kill_Switch
Replied by Kill_Switch on topic Volantex V761-1 Firestar Mini protocol
Ok I got to the captures.

Seems I forgot how it binds, Bind happens on power-up( previous capture taken without actual rx )
There are 5 captures
Bind
Switch on Rx, switch on Tx bind seems to take place around 2-3 sec after switchon

Arm
After bind is achieved , Throttle swept from 0-200 and back to arm

Thr
left stick swept from 0-200-0 in vertical axis

Elev
Right Stick swept vertically centre up down centre( 100-200-0-100)

Rud
Right Stick swept horizontally centre left right centre( 100-0-200-100)

Gyro
Switch toggled from front(beginner( 200)) mid( Midd( 100) back (expert(0) and back again

File Attachment:

File Name: Gyro.zip
File Size:723 KB

File Attachment:

File Name: bind.zip
File Size:722 KB

File Attachment:

File Name: arm.zip
File Size:728 KB

File Attachment:

File Name: elev.zip
File Size:724 KB

File Attachment:

File Name: rud.zip
File Size:725 KB

Please Log in or Create an account to join the conversation.

More
04 May 2018 16:45 #69028 by Kill_Switch
Replied by Kill_Switch on topic Volantex V761-1 Firestar Mini protocol

goebish wrote: I'm using a script that's made to decode the nrf24l01 (4-wire SPI), hence there is some UNKNOWN activity on the bus, but that's usually enough to understand and implement the protocol.
www.dropbox.com/s/91vxlwar1jmna6b/nRF24_decode.py?dl=1
It takes the hex output of the SPI decoder from Saleae Logic (Analyzers -> SPI -> Export as text/cvs file)
eg: nRF24_decode.py capture.txt > V761.txt
.


I have more noob questions , sorry
when I run the script it gives me a syntax error

C:\Users\0400514\Desktop\capture\FromGoebish>nRF24_decode.py gyro.txt > g.txt
File "C:\Users\0400514\Desktop\capture\FromGoebish\nRF24_decode.py", line 83
print packet_id, mnemonic
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(packet_id, mnemonic)?

C:\Users\0400514\Desktop\capture\FromGoebish>nRF24_decode.py gyro.txt g.txt
File "C:\Users\0400514\Desktop\capture\FromGoebish\nRF24_decode.py", line 83
print packet_id, mnemonic
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(packet_id, mnemonic)
?


I am able to run a hello world from the same location, any ideas?

it seems pulseview cant export the decoded data( or I just don't know how)
Attachments:

Please Log in or Create an account to join the conversation.

More
04 May 2018 16:58 #69029 by goebish
Replied by goebish on topic Volantex V761-1 Firestar Mini protocol
Ok, the protocol doesn't look difficult, data address & frequencies are sent in clear text during bind but there's one thing we've to understand: the last byte (or 2 last bytes during bind) of each data packet seems to be a checksum but I've not found how to calculate it yet (probably not a CRC8, reveng finds nothing).

00 3E 3F 3F 20 C8 80 DB
00 3E 3F 3F 20 88 80 1B
00 3E 3F 3F 20 08 80 9B

Please Log in or Create an account to join the conversation.

More
04 May 2018 17:01 - 04 May 2018 17:14 #69030 by goebish
Replied by goebish on topic Volantex V761-1 Firestar Mini protocol
To use the .py script, use Salaea Logic, add a SPI analyzer, set output to HEX, set SPI channels properly (map MISO to an empty channel) then export as text/cvs file.
Output of your "bind" capture: www.dropbox.com/s/xhdd2f7ppt720cf/V761_bind.txt?dl=0
arm: www.dropbox.com/s/4gsei99obgvbmfh/V761_arm.txt?dl=0
gyro: www.dropbox.com/s/uzvl5ft03nf3j8a/V761_gyro.txt?dl=0
elevator: www.dropbox.com/s/qlg6a00r88hmguu/V761_elevator.txt?dl=0
rudder: www.dropbox.com/s/xuikoerukv6mrli/V761_rudder.txt?dl=0
Last edit: 04 May 2018 17:14 by goebish.

Please Log in or Create an account to join the conversation.

More
04 May 2018 18:06 #69032 by Kill_Switch
Replied by Kill_Switch on topic Volantex V761-1 Firestar Mini protocol

goebish wrote: To use the .py script, use Salaea Logic, add a SPI analyzer, set output to HEX, set SPI channels properly (map MISO to an empty channel) then export as text/cvs file.
Output of your "bind" capture: www.dropbox.com/s/xhdd2f7ppt720cf/V761_bind.txt?dl=0
arm: www.dropbox.com/s/4gsei99obgvbmfh/V761_arm.txt?dl=0
gyro: www.dropbox.com/s/uzvl5ft03nf3j8a/V761_gyro.txt?dl=0
elevator: www.dropbox.com/s/qlg6a00r88hmguu/V761_elevator.txt?dl=0
rudder: www.dropbox.com/s/xuikoerukv6mrli/V761_rudder.txt?dl=0


ok I missed the MISO channel but still not working same error( i will use you text files for now to practise the decode steps)
my Saleae settings

txt file that is generated from the csv/text export

File Attachment:

File Name: gyro.txt
File Size:540 KB
Attachments:

Please Log in or Create an account to join the conversation.

More
04 May 2018 18:06 #69033 by Kill_Switch
Replied by Kill_Switch on topic Volantex V761-1 Firestar Mini protocol

goebish wrote: Ok, the protocol doesn't look difficult, data address & frequencies are sent in clear text during bind but there's one thing we've to understand: the last byte (or 2 last bytes during bind) of each data packet seems to be a checksum but I've not found how to calculate it yet (probably not a CRC8, reveng finds nothing).

00 3E 3F 3F 20 C8 80 DB
00 3E 3F 3F 20 88 80 1B
00 3E 3F 3F 20 08 80 9B


thank you for the time and effort to assist a complete stranger!!

Please Log in or Create an account to join the conversation.

More
04 May 2018 18:12 - 04 May 2018 18:14 #69034 by Moeder
Replied by Moeder on topic Volantex V761-1 Firestar Mini protocol
Checksum = ((B1+B2+B3+B4+B5+B6+B7) & 0xFF) ^ 0xFF
Last edit: 04 May 2018 18:14 by Moeder. Reason: Missed byte 5 - well sum of all data bytes of course ;)

Please Log in or Create an account to join the conversation.

Time to create page: 0.180 seconds
Powered by Kunena Forum