This commit is contained in:
Pascal Brisset
2006-08-25 14:57:13 +00:00
parent 917490e892
commit 7658d7925a
5 changed files with 80 additions and 4 deletions
+63
View File
@@ -0,0 +1,63 @@
<!-- Paparazzi airframe DTD -->
<!ELEMENT airframe (servos|commands|rc_commands|command_laws|section|makefile)*>
<!ELEMENT servos (servo)*>
<!ELEMENT commands (axis)*>
<!ELEMENT rc_commands (set)*>
<!ELEMENT command_laws (let|set)*>
<!ELEMENT section (define|linear)*>
<!ELEMENT servo EMPTY>
<!ELEMENT axis EMPTY>
<!ELEMENT set EMPTY>
<!ELEMENT let EMPTY>
<!ELEMENT define EMPTY>
<!ELEMENT linear EMPTY>
<!ELEMENT makefile (#PCDATA)>
<!ATTLIST airframe
name CDATA #IMPLIED>
<!ATTLIST servos>
<!ATTLIST commands>
<!ATTLIST rc_commands>
<!ATTLIST command_laws>
<!ATTLIST section
name CDATA #IMPLIED
prefix CDATA #IMPLIED>
<!ATTLIST servo
name CDATA #REQUIRED
no CDATA #REQUIRED
min CDATA #REQUIRED
neutral CDATA #REQUIRED
max CDATA #REQUIRED>
<!ATTLIST axis
name CDATA #REQUIRED
failsafe_value CDATA #REQUIRED>
<!ATTLIST set
value CDATA #REQUIRED
command CDATA #IMPLIED
servo CDATA #IMPLIED>
<!ATTLIST let
var CDATA #REQUIRED
value CDATA #REQUIRED>
<!ATTLIST define
name CDATA #REQUIRED
value CDATA #REQUIRED
unit CDATA #IMPLIED>
<!ATTLIST linear
name CDATA #REQUIRED
arity CDATA #REQUIRED
coeff1 CDATA #REQUIRED
coeff2 CDATA #IMPLIED
coeff3 CDATA #IMPLIED>
<!ATTLIST makefile
target CDATA #IMPLIED>
+2
View File
@@ -1,3 +1,5 @@
<!DOCTYPE airframe SYSTEM "airframe.dtd">
<airframe name="Microjet5">
<!-- tiny test airframe -->
+9 -3
View File
@@ -1,5 +1,7 @@
<!-- axi 2204-54 / GWS 8*4.3 / 3 lipos 740mah / 9.5a -->
<!DOCTYPE airframe SYSTEM "airframe.dtd">
<airframe name="Plaster White 1">
<section name="adc" prefix="ADC_CHANNEL_">
<define name="IR1" value="1"/>
@@ -8,7 +10,7 @@
<define name="IR_NB_SAMPLES" value="16"/>
</section>
<servos min="1000" neutral="1500" max="2000">
<servos>
<servo name="GAZ" no="0" min="1000" neutral="1000" max="1750"/>
<servo name="AILEVON_RIGHT" no="2" min="1800" neutral="1480" max="1200"/>
<servo name="AILEVON_LEFT" no="6" min="1800" neutral="1440" max="1200"/>
@@ -51,8 +53,12 @@
<define name="RAD_OF_IR_CONTRAST" value="0.6"/>
<define name="RAD_OF_IR_MIN_VALUE" value="0.0008"/>
<define name="RAD_OF_IR_MAX_VALUE" value="0.008"/>
<!--
<linear name="RollOfIrs" arity="2" coeff1="-1" coeff2="-1"/>
<linear name="PitchOfIrs" arity="2" coeff1="-1" coeff2="1"/>
-->
<define name="RollOfIrs(i1, i2)" value="(-i1 -i2)"/>
<define name="PitchOfIrs(i1, i2)" value="(i2-i1)"/>
<define name="ADC_ROLL_NEUTRAL" value="-1042"/>
<define name="ADC_PITCH_NEUTRAL" value="10"/>
</section>
@@ -80,14 +86,14 @@
<define name="ALTITUDE_PGAIN" value="-0.05"/>
<define name="NAV_PITCH" value="0."/>
</section>
<section name="BAT" channel="3">
<section name="BAT">
<define name="MILLIAMP_PER_PERCENT" value="1.24"/>
<define name="VOLTAGE_ADC_A" value="0.01727"/>
<define name="VOLTAGE_ADC_B" value="0.2965"/>
<define name="VoltageOfAdc(adc)" value="(VOLTAGE_ADC_A * adc + VOLTAGE_ADC_B)"/>
<define name="LOW_BATTERY" value="9" unit="V"/>
</section>
<section name="SERVOS" channel="6">
<section name="SERVOS">
<define name="SERVOS_VOLTAGE_ADC_A" value="0.005661"/>
<define name="SERVOS_VOLTAGE_ADC_B" value="0.014948"/>
<define name="ServosVoltageOfAdc(adc)" value="(VOLTAGE_ADC_A * adc + VOLTAGE_ADC_B)"/>
+2
View File
@@ -1,3 +1,5 @@
<!DOCTYPE airframe SYSTEM "airframe.dtd">
<airframe name="Twinjet">
<servos>
+4 -1
View File
@@ -187,5 +187,8 @@ let _ =
List.iter parse_section (Xml.children xml);
finish h_name
with
Xml.Error e -> prerr_endline (Xml.error e)
Xml.Error e -> prerr_endline (Xml.error e); exit 1
| Dtd.Parse_error e -> prerr_endline (Dtd.parse_error e); exit 1
| Dtd.Prove_error e -> prerr_endline (Dtd.prove_error e); exit 1
| Dtd.Check_error e -> prerr_endline (Dtd.check_error e); exit 1