- Posts: 3
V949 interface to Arduino/AVR
- deepsheet
-
Topic Author
- Offline
Less
More
24 May 2013 00:51 #10264
by deepsheet
V949 interface to Arduino/AVR was created by deepsheet
Hello, I'm interested in interfacing the V949 to an Arduino (or AVR) board. I want to be able to control the RC wirelessly using the board. I've done some research and found out that the a7150 chip is used for communication. My first question is, is the a7150 compatible with the nrf24l01 (I have a couple of them lying around)? Most websites report so and I'm confused.
Second question is about the protocol, is it available somewhere? I don't own a logic sniffer so I can't poke around myself. Sample code will be extremely helpful!
(I also posted this thread at rcgroups.com, but I feel this forum is more appropriate. I found this post which is exactly what I need, but for another model)
Second question is about the protocol, is it available somewhere? I don't own a logic sniffer so I can't poke around myself. Sample code will be extremely helpful!
(I also posted this thread at rcgroups.com, but I feel this forum is more appropriate. I found this post which is exactly what I need, but for another model)
- PhracturedBlue
-
- Offline
Less
More
- Posts: 4403
24 May 2013 12:41 #10274
by PhracturedBlue
Replied by PhracturedBlue on topic V949 interface to Arduino/AVR
Th A7105 is NOT compatible with the nrf24L01.
All of our code is available on bitbucket (look in the protocol dir)
bitbucket.org/PhracturedBlue/deviation
But it will require some work to port to AVR. This work has already been done by many others though. check out the 9x/turnigy thread on RCGroups:
www.rcgroups.com/forums/showthread.php?t=1626362
There are many others as well.
All of our code is available on bitbucket (look in the protocol dir)
bitbucket.org/PhracturedBlue/deviation
But it will require some work to port to AVR. This work has already been done by many others though. check out the 9x/turnigy thread on RCGroups:
www.rcgroups.com/forums/showthread.php?t=1626362
There are many others as well.
- deepsheet
-
Topic Author
- Offline
Less
More
- Posts: 3
25 May 2013 13:49 #10294
by deepsheet
Replied by deepsheet on topic V949 interface to Arduino/AVR
Thanks for the help!
I thought it was compatible because many sellers list them as the same. I guess its a search trick. I've ordered a couple of A7105's and they should arrive in about a month.
Thanks for the link, seems that it has the answers I'm looking for.
Keep it up!
I thought it was compatible because many sellers list them as the same. I guess its a search trick. I've ordered a couple of A7105's and they should arrive in about a month.
Thanks for the link, seems that it has the answers I'm looking for.
Keep it up!
- SadSack
-
- Offline
Less
More
- Posts: 317
26 May 2013 13:13 - 26 May 2013 13:23 #10318
by SadSack
Replied by SadSack on topic V949 interface to Arduino/AVR
Last edit: 26 May 2013 13:23 by SadSack.
- deepsheet
-
Topic Author
- Offline
Less
More
- Posts: 3
26 May 2013 14:11 - 26 May 2013 14:12 #10319
by deepsheet
Replied by deepsheet on topic V949 interface to Arduino/AVR
Really nice project. I think I understand how the A7105 must be initialized and the binding sequence. What's not clear for me is the data packet structure and encoding(?).
The project is an (RX) receiver, I'm looking into making a TX. It's not very different, though.
Another quick question:
According to the code there are 21 packets (21 bytes). This is how they are unpacked:
I'm not sure what the code in bold does. Does anyone have any clues? Is it "encrypted" in some way? Also, why does it happen in a loop?
Thanks for all your help! I truly appreciate it.
The project is an (RX) receiver, I'm looking into making a TX. It's not very different, though.
Another quick question:
According to the code there are 21 packets (21 bytes). This is how they are unpacked:
for (i=0;i<8;i++){
word_temp=(packet[5+(2*i)]+256*packet[6+(2*i)]);
if ((word_temp>900) && (word_temp<2200))
Servo_data=word_temp;
}
rcData[ROLL] = Servo_data[0]; //aileron
rcData[PITCH] = Servo_data[1]; //elevator
rcData[THROTTLE] = Servo_data[2]; //throtle
rcData[YAW] = Servo_data[3]; //rudder
rcData[AUX1] = Servo_data[4]; //aux1
rcData[AUX2] = Servo_data[5]; //aux2
rcData[AUX3] = Servo_data[6]; //aux3
rcData[AUX4] = Servo_data[7]; //aux4
}
I'm not sure what the code in bold does. Does anyone have any clues? Is it "encrypted" in some way? Also, why does it happen in a loop?
Thanks for all your help! I truly appreciate it.
Last edit: 26 May 2013 14:12 by deepsheet.
- PhracturedBlue
-
- Offline
Less
More
- Posts: 4403
26 May 2013 14:15 #10320
by PhracturedBlue
Replied by PhracturedBlue on topic V949 interface to Arduino/AVR
The protocol is documented in the 'doc/Flysky.txt'
- SadSack
-
- Offline
Less
More
- Posts: 317
26 May 2013 16:36 #10323
by SadSack
Replied by SadSack on topic V949 interface to Arduino/AVR
This should help more then
code.google.com/p/rc-ppm-2-spi/
And thread openrcforums.com/forum/viewtopic.php?f=5&t=2672
Not used any of this but have read it
And thread openrcforums.com/forum/viewtopic.php?f=5&t=2672
Not used any of this but have read it
Time to create page: 0.033 seconds
-
Home
-
Forum
-
General
-
General Discussions
- V949 interface to Arduino/AVR