[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Paparazzi-devel] FRSky radio XML configuration
From: |
Jamie Furtner |
Subject: |
[Paparazzi-devel] FRSky radio XML configuration |
Date: |
Thu, 23 Aug 2012 00:06:15 -0600 |
User-agent: |
Mozilla/5.0 (Windows NT 6.2; WOW64; rv:14.0) Gecko/20120713 Thunderbird/14.0 |
Hello,
I'm creating a RADIO.XML file for a FrSky CPPM signal (from a D4FR RX)
and I've got a few questions. I've got an oscilloscope trace of the CPPM
output and have uploaded it here: http://postimage.org/image/yxunv5645/,
and I'm using the scope for measurements - zoomed in more when needed to
get more precision.
The overall width of the entire CPPM frame is 18ms, with each channel
being between 1000 and 2000 microseconds in length. This does mean that
if all channels are maxed no synchronization is actually possible (as
all pulses are 2000 us in length). I'm forcing channel 8 in the TX to
always be the minimum to work around that potential problem with the
CPPM frame. In the sample frame I captured, the first channel begins in
the first division and is in the max position, channels 2, 3 and 4 are
in the neutral position, and channels 5 to 8 are in the minimum position.
If it matters: I'll be using the RXs in a Quadshot and the TX is a
Turnigy 9X with ER9X flashed onto it.
Here's my XML file - I took the example on the wiki and changed the
values based on my measurements:
<?xml version="1.0"?>
<radio name="FrSkyCPPM" data_min="1000" data_max="2000" sync_min="2200"
sync_max="10300" pulse_type="POSITIVE">
<channel ctl="A" function="THROTTLE" min="2000" neutral="1500"
max="1000" average="0"/>
<!-- reversed in TX -->
<!-- left stick up/down -->
<channel ctl="B" function="ROLL" min="1000" neutral="1500"
max="2000" average="0"/>
<!-- right stick left/right -->
<channel ctl="C" function="PITCH" min="1000" neutral="1500"
max="2000" average="0"/>
<!-- right stick up/down -->
<channel ctl="D" function="YAW" min="1000" neutral="1500"
max="2000" average="0"/>
<!-- left stick left/right-->
<channel ctl="E" function="MODE" min="1000" neutral="1500"
max="2000" average="1"/>
<!-- left middle 3-pos switch -->
<channel ctl="F" function="GAIN1" min="1000" neutral="1500"
max="2000" average="0"/>
<!-- left slider prop channel -->
<channel ctl="G" function="GAIN2" min="1000" neutral="1500"
max="2000" average="0"/>
<!-- right slider prop channel -->
<channel ctl="H" function="SWITCH1" min="1000" neutral="1500"
max="2000" average="1"/>
<!-- switch (channel 8) -->
<!-- DISABLED - no ch9
<channel ctl="I" function="UNUSED" min="1050" neutral="1500"
max="2100" average="1"/>
</radio>
Here are my questions:
- I think the pulse_type is POSITIVE - as in normally high and the
high-low transition is what signals the next channel. Is that right
based on the trace?
- Is it better to be slightly low or slightly high on the min and max
values? What happens if my min is 1000 us and the complete pulse width
(measured based from low to low) that is captured is 990 microseconds?
- Is the XML generally correct? Any glaring, obvious mistakes?
- What's the average attribute for? Why does the sample on the wiki have
channel E and H with average=1?
If it looks good then I'll try the XML file in Paparazzi and flash the
controller for the Quadshot tomorrow.
Please let me know if I'm missing anything or if more information is needed.
Thanks!
Jamie