paparazzi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[paparazzi-commits] [4311] Aircraft Updates


From: Christophe De Wagter
Subject: [paparazzi-commits] [4311] Aircraft Updates
Date: Fri, 06 Nov 2009 07:28:42 +0000

Revision: 4311
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4311
Author:   dewagter
Date:     2009-11-06 07:28:41 +0000 (Fri, 06 Nov 2009)
Log Message:
-----------
Aircraft Updates

Added Paths:
-----------
    paparazzi3/trunk/conf/airframes/TUDelft/
    paparazzi3/trunk/conf/airframes/TUDelft/Trip50A.xml
    paparazzi3/trunk/conf/airframes/TUDelft/Trip50B.xml
    paparazzi3/trunk/conf/airframes/TUDelft/holiday50.xml

Removed Paths:
-------------
    paparazzi3/trunk/conf/airframes/holiday50.xml

Added: paparazzi3/trunk/conf/airframes/TUDelft/Trip50A.xml
===================================================================
--- paparazzi3/trunk/conf/airframes/TUDelft/Trip50A.xml                         
(rev 0)
+++ paparazzi3/trunk/conf/airframes/TUDelft/Trip50A.xml 2009-11-06 07:28:41 UTC 
(rev 4311)
@@ -0,0 +1,299 @@
+<!DOCTYPE airframe SYSTEM "airframe.dtd">
+
+<!-- 
+     Funjet Multiplex (http://www.multiplex-rc.de/), Jeti ECO 25
+     Tiny 2.11 board (http://paparazzi.enac.fr/wiki/index.php/Tiny_v2)
+     PerkinElmer TPS334 IR Sensors
+     Tilted infrared sensor 
(http://paparazzi.enac.fr/wiki/index.php/Image:Tiny_v2_1_Funjet.jpg)
+     XBee modem
+     Payload: Sensirion humidity/temp, VTI pressure/temp
+     K68, LEA 5
+-->
+
+<airframe name="MavLab50cm">
+
+<!-- commands section -->
+  <servos>
+    <servo name="MOTOR" no="0" min="1000" neutral="1000" max="2000"/>
+    <servo name="AILEVON_LEFT" no="1" min="900" neutral="1500" max="2100"/>
+    <servo name="AILEVON_RIGHT" no="5" min="900" neutral="1500" max="2100"/>
+    <servo name="BOMB" no="3" min="1880" neutral="1880" max="1200"/>
+  </servos>
+
+  <commands>
+    <axis name="THROTTLE" failsafe_value="0"/>
+    <axis name="ROLL" failsafe_value="0"/>
+    <axis name="PITCH" failsafe_value="0"/>
+    <axis name="BOMB" failsafe_value="0"/>
+  </commands>
+
+  <rc_commands>
+    <set command="THROTTLE" value="@THROTTLE"/>
+    <set command="ROLL" value="@ROLL"/>
+    <set command="PITCH" value="@PITCH"/>
+    <set command="BOMB" value="@YAW"/>
+  </rc_commands>
+
+  <ap_only_commands>
+<!--
+    <copy command="CAM_TILT"/>
+    <copy command="CAM_PAN"/>
+-->
+  </ap_only_commands>
+
+  <command_laws>
+    <set servo="MOTOR" value="@THROTTLE"/>
+    <set servo="AILEVON_LEFT" value="(@ROLL*0.8f) - (@PITCH)"/>
+    <set servo="AILEVON_RIGHT" value="(@ROLL*0.8f) + (@PITCH)"/>
+    <set servo="BOMB" value="@BOMB"/>
+  </command_laws>
+
+  <section name="AUTO1" prefix="AUTO1_">
+    <define name="MAX_ROLL" value="0.85"/>
+    <define name="MAX_PITCH" value="0.6"/>
+  </section>
+
+  <section name="adc" prefix="ADC_CHANNEL_">
+    <define name="IR_TOP" value="ADC_0"/>
+    <define name="IR1" value="ADC_1"/>
+    <define name="IR2" value="ADC_2"/>
+    <define name="IR_NB_SAMPLES" value="16"/>
+    <define name="GYRO_ROLL" value="ADC_4"/>
+    <define name="GYRO_PITCH" value="ADC_5"/>
+    <define name="GYRO_NB_SAMPLES" value="16"/> 
+    <define name="AIRSPEED" value="ADC_3"/>
+    <define name="AIRSPEED_NB_SAMPLES" value="32"/> 
+  </section>
+
+  <section name="INFRARED" prefix="IR_">
+    <define name="ADC_IR1_NEUTRAL" value="500"/>
+    <define name="ADC_IR2_NEUTRAL" value="500"/>
+    <define name="ADC_TOP_NEUTRAL" value="490"/>
+
+    <define name="CORRECTION_UP" value="1."/>
+    <define name="CORRECTION_DOWN" value="1."/>
+    <define name="CORRECTION_LEFT" value="1."/>
+    <define name="CORRECTION_RIGHT" value="1."/>
+
+    <define name="LATERAL_CORRECTION" value="1."/>
+    <define name="LONGITUDINAL_CORRECTION" value="-1."/>
+    <define name="VERTICAL_CORRECTION" value="1.5"/>
+
+    <define name="HORIZ_SENSOR_TILTED" value="1"/>
+    <define name="IR1_SIGN" value="1"/>
+    <define name="IR2_SIGN" value="-1"/>
+    <define name="TOP_SIGN" value="1"/>
+
+    <define name="ROLL_NEUTRAL_DEFAULT" value="0." unit="deg"/>
+    <define name="PITCH_NEUTRAL_DEFAULT" value="18.9649028778" unit="deg"/>
+  </section>
+
+  <section name="BAT">
+    <define name="MILLIAMP_AT_FULL_THROTTLE" value="14000"/>
+    <define name="CATASTROPHIC_BAT_LEVEL" value="6.0" unit="V"/>
+    <define name="CRITIC_BAT_LEVEL" value="6.8" unit="V"/>
+    <define name="LOW_BAT_LEVEL" value="7.3" unit="V"/>
+    <define name="MAX_BAT_LEVEL" value="8.4" unit="V"/>
+
+    <define name="MilliAmpereOfAdc(adc)" value="((adc-508)*50)"/>
+  </section>
+ 
+
+  <section name="GYRO" prefix="GYRO_">
+    <define name="ADC_ROLL_NEUTRAL" value="382"/>
+    <define name="ADC_PITCH_NEUTRAL" value="400"/>
+    <define name="ADC_TEMP_NEUTRAL" value="0"/>
+    <define name="ADC_TEMP_SLOPE" value="0"/>
+    <define name="DYNAMIC_RANGE" value="500" unit="deg/s"/>
+    <define name="ROLL_SCALE" value="-2.0/1024.*GYRO_DYNAMIC_RANGE" 
unit="deg/s/adc_unit"/>
+    <define name="PITCH_SCALE" value="2.0/1024.*GYRO_DYNAMIC_RANGE" 
unit="deg/s/adc_unit"/>
+    <define name="ROLL_DIRECTION" value="-1."/> 
+    <define name="PITCH_DIRECTION" value="1."/>
+  </section>
+
+  <section name="MISC">
+    <define name="NOMINAL_AIRSPEED" value="10." unit="m/s"/>
+    <define name="CARROT" value="5." unit="s"/>
+    <define name="KILL_MODE_DISTANCE" value="(1.5*MAX_DIST_FROM_HOME)"/>
+    <define name="CONTROL_RATE" value="60" unit="Hz"/>
+
+    <define name="ALT_KALMAN_ENABLED" value="TRUE"/>
+    <define name="DEFAULT_CIRCLE_RADIUS" value="70."/>
+    <define name="GLIDE_AIRSPEED" value="10"/>
+    <define name="GLIDE_VSPEED" value="3."/>
+    <define name="GLIDE_PITCH" value="5" unit="deg"/>
+
+  </section>
+
+  <section name="VERTICAL CONTROL" prefix="V_CTL_">
+    <define name="POWER_CTL_BAT_NOMINAL" value="7.6" unit="volt"/>
+
+       <!-- Vertical Outerloop
+               v_ctl_climb_setpoint = ALTITUDE_PGAIN * altitude_error + 
altitude_pre_climb;
+               BoundAbs(v_ctl_climb_setpoint, V_CTL_ALTITUDE_MAX_CLIMB);
+       -->
+
+    <!-- outer loop proportional gain: alt error 5 climb m/s -->
+    <define name="ALTITUDE_PGAIN" value="-0.0750000029802"/>
+    <!-- outer loop saturation: m/s-->
+    <define name="ALTITUDE_MAX_CLIMB" value="5.0"/>
+
+    <!-- auto throttle inner loop 
+               float controlled_throttle = v_ctl_auto_throttle_cruise_throttle 
+               + v_ctl_auto_throttle_climb_throttle_increment * 
v_ctl_climb_setpoint 
+               + v_ctl_auto_throttle_pgain * 
+               (err + v_ctl_auto_throttle_igain * v_ctl_auto_throttle_sum_err
+               + v_ctl_auto_throttle_dgain * d_err);
+
+               /* pitch pre-command */
+               float v_ctl_pitch_of_vz = (v_ctl_climb_setpoint + d_err * 
v_ctl_auto_throttle_pitch_of_vz_dgain) 
+               * v_ctl_auto_throttle_pitch_of_vz_pgain;
+       -->
+    <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" 
value="0.40000000596"/>
+    <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.20"/>
+    <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.90"/>
+    <define name="AUTO_THROTTLE_LOITER_TRIM" value="1500."/>
+    <define name="AUTO_THROTTLE_DASH_TRIM" value="-1000"/>
+    <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0." 
unit="%/(m/s)"/>
+    <define name="AUTO_THROTTLE_PGAIN" value="-0.035000000149"/>
+    <define name="AUTO_THROTTLE_IGAIN" value="0."/>
+    <define name="AUTO_THROTTLE_DGAIN" value="0.0"/>
+    <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0."/>
+    <define name="THROTTLE_SLEW_LIMITER" value="1" unit="s"/>
+
+    <define name="AUTO_AIRSPEED_SETPOINT" value="10" unit="m/s"/>
+    <define name="AUTO_AIRSPEED_PITCH_PGAIN" value="0" unit="degree/(m/s)"/>
+    <define name="AUTO_AIRSPEED_THROTTLE_PGAIN" value="0" unit="%/(m/s)"/>
+    <define name="AUTO_AIRSPEED_THROTTLE_IGAIN" value="0"/>
+
+
+    <!-- auto pitch inner loop -->
+    <define name="AUTO_PITCH_PGAIN" value="0."/>
+    <define name="AUTO_PITCH_IGAIN" value="0."/>
+    <define name="AUTO_PITCH_MAX_PITCH" value="0"/>
+    <define name="AUTO_PITCH_MIN_PITCH" value="0"/>
+  </section>
+
+  <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
+    <define name="COURSE_PGAIN" value="-1.5"/> <!-- Heading outerloop: only 
P-gain -->
+
+    <define name="ROLL_MAX_SETPOINT" value="0.75" unit="radians"/> <!-- Max 
Angles -->
+    <define name="PITCH_MAX_SETPOINT" value="0.4" unit="radians"/>
+    <define name="PITCH_MIN_SETPOINT" value="-0.4" unit="radians"/>
+
+    <define name="PITCH_PGAIN" value="-7110.09179688"/>        <!-- Pitch 
Angle PD control -->
+    <define name="PITCH_DGAIN" value="2."/>
+
+    <define name="ELEVATOR_OF_ROLL" value="1500."/> <!-- Feed forward 
ABS(roll) to elevator -->
+    
+    <define name="ROLL_SLEW" value="0.30"/> <!-- Maximal roll angle change per 
1/60 of second --> 
+
+    <define name="ROLL_ATTITUDE_GAIN" value="-7000."/> <!-- Roll Angle PD 
control -->
+    <define name="ROLL_RATE_GAIN" value="-2752.29394531"/>
+
+<!--
+#ifdef H_CTL_ROLL_ATTITUDE_GAIN
+inline static void h_ctl_roll_loop( void ) {
+  float err = estimator_phi - h_ctl_roll_setpoint;
+  float cmd = - h_ctl_roll_attitude_gain * err
+    - h_ctl_roll_rate_gain * estimator_p
+    + v_ctl_throttle_setpoint * h_ctl_aileron_of_throttle;
+
+  h_ctl_aileron_setpoint = TRIM_PPRZ(cmd); 
+}
+-->
+
+   </section>
+
+  <section name="NAV">
+    <define name="NAV_PITCH" value="0."/>
+    <define name="NAV_GLIDE_PITCH_TRIM" value="0."/>
+<!--    <define name="NAV_GROUND_SPEED_PGAIN" value="0"/> -->
+  </section>
+
+  <section name="AGGRESSIVE" prefix="AGR_">
+    <define name="BLEND_START" value="40"/><!-- Altitude Error to Initiate 
Aggressive Climb CANNOT BE ZERO!!-->
+    <define name="BLEND_END" value="25"/><!-- Altitude Error to Blend 
Aggressive to Regular Climb Modes  CANNOT BE ZERO!!-->
+    <define name="CLIMB_THROTTLE" value="1.0"/><!-- Gaz for Aggressive Climb 
-->
+    <define name="CLIMB_PITCH" value="0.40"/><!-- Pitch for Aggressive Climb 
-->
+    <define name="DESCENT_THROTTLE" value="0.0"/><!-- Gaz for Aggressive 
Decent -->
+    <define name="DESCENT_PITCH" value="-0.3"/><!-- Pitch for Aggressive 
Decent -->
+    <define name="CLIMB_NAV_RATIO" value="0.8"/><!-- Percent Navigation for 
Altitude Error Equal to Start Altitude -->
+    <define name="DESCENT_NAV_RATIO" value="1.0"/>
+    </section>
+
+  <section name="FAILSAFE" prefix="FAILSAFE_">
+    <define name="DELAY_WITHOUT_GPS" value="2" unit="s"/>
+    <define name="DEFAULT_THROTTLE" value="0.0" unit="%"/>
+    <define name="DEFAULT_ROLL" value="0.3" unit="rad"/>
+    <define name="DEFAULT_PITCH" value="0.5" unit="rad"/>
+  </section>
+
+<!-- 
+  <section name="DATALINK" prefix="DATALINK_">
+    <define name="DEVICE_TYPE" value="XBEE"/>
+    <define name="DEVICE_ADDRESS" value="0x005067361851"/>
+  </section>
+-->
+
+ <section name="SIMU">
+    <define name="YAW_RESPONSE_FACTOR" value="0.5"/>
+ </section>
+
+ <makefile>
+CONFIG = \"tiny_sense.h\"
+
+include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile
+
+FLASH_MODE=IAP
+
+ap.CFLAGS +=  -DFBW -DAP -DBOARD_CONFIG=$(CONFIG) -DLED -DTIME_LED=2
+ap.srcs = sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c main_fbw.c 
main_ap.c main.c
+
+ap.srcs += commands.c
+
+ap.CFLAGS += -DACTUATORS=\"servos_4017_hw.h\" -DSERVOS_4017
+ap.srcs += $(SRC_ARCH)/servos_4017_hw.c actuators.c
+
+ap.CFLAGS += -DRADIO_CONTROL
+ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c  
+
+#ap.CFLAGS += -DDOWNLINK -DUSE_UART1 -DDOWNLINK_TRANSPORT=XBeeTransport 
-DXBEE_UART=Uart1 -DDATALINK=XBEE -DUART1_BAUD=B57600
+#ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c xbee.c
+
+#TRANSPARENT
+ap.CFLAGS += -DDOWNLINK -DUSE_UART1 -DDOWNLINK_TRANSPORT=PprzTransport 
-DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1 -DPPRZ_UART=Uart1 
-DDATALINK=PPRZ -DUART1_BAUD=B9600
+ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c pprz_transport.c
+
+
+ap.CFLAGS += -DINTER_MCU
+ap.srcs += inter_mcu.c 
+
+ap.CFLAGS += -DADC -DUSE_ADC_0 -DUSE_ADC_1 -DUSE_ADC_2 -DUSE_ADC_3 -DUSE_ADC_4 
-DUSE_ADC_5 -DGYRO -DIDG300
+ap.srcs += $(SRC_ARCH)/adc_hw.c
+
+ap.CFLAGS += -DGPS -DUBX -DUSE_UART0 -DGPS_LINK=Uart0 -DUART0_BAUD=B38400 
-DGPS_USE_LATLONG
+ap.srcs += gps_ubx.c gps.c latlong.c
+
+ap.CFLAGS += -DINFRARED -DALT_KALMAN -DWIND_INFO -DWIND_INFO_RET -DSTRONG_WIND
+ap.srcs += infrared.c estimator.c gyro.c
+
+ap.CFLAGS += -DNAV -DAGR_CLIMB -DLOITER_TRIM
+ap.srcs += nav.c fw_h_ctl.c fw_v_ctl.c
+
+ap.srcs += nav_line.c nav_survey_rectangle.c
+
+#ap.srcs += baro_bmp.c $(SRC_ARCH)/i2c_hw.c i2c.c
+#ap.CFLAGS += -DUSE_I2C0 -DUSE_BARO_BMP -DBARO_BMP_ACCEL
+
+# Config for SITL simulation
+include $(PAPARAZZI_SRC)/conf/autopilot/sitl.makefile
+sim.CFLAGS += -DBOARD_CONFIG=\"tiny.h\" -DAGR_CLIMB -DLOITER_TRIM -DALT_KALMAN
+sim.srcs += nav_line.c nav_survey_rectangle.c
+
+sim.srcs += joystick.c
+sim.CFLAGS += -DUSE_JOYSTICK
+
+
+  </makefile>
+</airframe>

Added: paparazzi3/trunk/conf/airframes/TUDelft/Trip50B.xml
===================================================================
--- paparazzi3/trunk/conf/airframes/TUDelft/Trip50B.xml                         
(rev 0)
+++ paparazzi3/trunk/conf/airframes/TUDelft/Trip50B.xml 2009-11-06 07:28:41 UTC 
(rev 4311)
@@ -0,0 +1,315 @@
+<!DOCTYPE airframe SYSTEM "airframe.dtd">
+
+<!-- 
+     Funjet Multiplex (http://www.multiplex-rc.de/), Jeti ECO 25
+     Tiny 2.11 board (http://paparazzi.enac.fr/wiki/index.php/Tiny_v2)
+     PerkinElmer TPS334 IR Sensors
+     Tilted infrared sensor 
(http://paparazzi.enac.fr/wiki/index.php/Image:Tiny_v2_1_Funjet.jpg)
+     XBee modem
+     Payload: Sensirion humidity/temp, VTI pressure/temp
+     K68, LEA 5
+-->
+
+<airframe name="MavLab50cm">
+
+<!-- commands section -->
+  <servos>
+    <servo name="MOTOR" no="0" min="1000" neutral="1000" max="2000"/>
+    <!-- Left: 2ms is up -->
+    <servo name="AILEVON_LEFT" no="1" min="1100" neutral="1500" max="2900"/>
+    <!-- Right: 2ms is donw -->
+    <servo name="AILEVON_RIGHT" no="5" min="300" neutral="1200" max="1900"/>
+    <servo name="CAM_TILT" no="3" min="1500" neutral="2050" max="2050"/>
+  </servos>
+
+  <commands>
+    <axis name="THROTTLE" failsafe_value="0"/>
+    <axis name="ROLL" failsafe_value="0"/>
+    <axis name="PITCH" failsafe_value="0"/>
+    <axis name="CAM_TILT" failsafe_value="0"/>
+  </commands>
+
+  <ap_only_commands>
+    <copy command="CAM_TILT"/>
+  </ap_only_commands>
+
+  <rc_commands>
+    <set command="THROTTLE" value="@THROTTLE"/>
+    <set command="ROLL" value="@ROLL"/>
+    <set command="PITCH" value="@PITCH"/>
+  </rc_commands>
+
+  <command_laws>
+    <set servo="MOTOR" value="@THROTTLE"/>
+    <set servo="AILEVON_LEFT" value="(@ROLL*0.8f) + (@PITCH)"/>
+    <set servo="AILEVON_RIGHT" value="(@ROLL*0.8f) - (@PITCH)"/>
+    <set servo="CAM_TILT" value="@CAM_TILT"/>
+  </command_laws>
+
+  <section name="CAMERA" prefix="CAM_">
+    <define name="TILT0" value="0" unit="deg"/>
+    <define name="TILT_MIN" value="-30" unit="deg"/>
+    <define name="TILT_NEUTRAL" value="0" unit="deg"/>
+    <define name="TILT_MAX" value="30" unit="deg"/>
+  </section>
+
+  <section name="AUTO1" prefix="AUTO1_">
+    <define name="MAX_ROLL" value="0.85"/>
+    <define name="MAX_PITCH" value="0.6"/>
+  </section>
+
+  <section name="adc" prefix="ADC_CHANNEL_">
+    <define name="IR_TOP" value="ADC_0"/>
+    <define name="IR1" value="ADC_1"/>
+    <define name="IR2" value="ADC_2"/>
+    <define name="IR_NB_SAMPLES" value="16"/>
+    <define name="GYRO_ROLL" value="ADC_4"/>
+    <define name="GYRO_PITCH" value="ADC_5"/>
+    <define name="GYRO_NB_SAMPLES" value="16"/> 
+    <define name="AIRSPEED" value="ADC_3"/>
+    <define name="AIRSPEED_NB_SAMPLES" value="32"/> 
+  </section>
+
+  <section name="INFRARED" prefix="IR_">
+    <define name="ADC_IR1_NEUTRAL" value="500"/>
+    <define name="ADC_IR2_NEUTRAL" value="500"/>
+    <define name="ADC_TOP_NEUTRAL" value="490"/>
+
+    <define name="CORRECTION_UP" value="1."/>
+    <define name="CORRECTION_DOWN" value="1."/>
+    <define name="CORRECTION_LEFT" value="1."/>
+    <define name="CORRECTION_RIGHT" value="1."/>
+
+    <define name="LATERAL_CORRECTION" value="1."/>
+    <define name="LONGITUDINAL_CORRECTION" value="-1."/>
+    <define name="VERTICAL_CORRECTION" value="1.5"/>
+
+    <define name="HORIZ_SENSOR_TILTED" value="1"/>
+    <define name="IR1_SIGN" value="1"/>
+    <define name="IR2_SIGN" value="-1"/>
+    <define name="TOP_SIGN" value="1"/>
+
+    <define name="ROLL_NEUTRAL_DEFAULT" value="0." unit="deg"/>
+    <define name="PITCH_NEUTRAL_DEFAULT" value="18.9649028778" unit="deg"/>
+  </section>
+
+  <section name="BAT">
+    <define name="MILLIAMP_AT_FULL_THROTTLE" value="14000"/>
+    <define name="CATASTROPHIC_BAT_LEVEL" value="6.0" unit="V"/>
+    <define name="CRITIC_BAT_LEVEL" value="6.8" unit="V"/>
+    <define name="LOW_BAT_LEVEL" value="7.3" unit="V"/>
+    <define name="MAX_BAT_LEVEL" value="8.4" unit="V"/>
+
+    <define name="MilliAmpereOfAdc(adc)" value="((adc-508)*50)"/>
+  </section>
+ 
+
+  <section name="GYRO" prefix="GYRO_">
+    <define name="ADC_ROLL_NEUTRAL" value="382"/>
+    <define name="ADC_PITCH_NEUTRAL" value="400"/>
+    <define name="ADC_TEMP_NEUTRAL" value="0"/>
+    <define name="ADC_TEMP_SLOPE" value="0"/>
+    <define name="DYNAMIC_RANGE" value="500" unit="deg/s"/>
+    <define name="ROLL_SCALE" value="-2.0/1024.*GYRO_DYNAMIC_RANGE" 
unit="deg/s/adc_unit"/>
+    <define name="PITCH_SCALE" value="2.0/1024.*GYRO_DYNAMIC_RANGE" 
unit="deg/s/adc_unit"/>
+    <define name="ROLL_DIRECTION" value="-1."/> 
+    <define name="PITCH_DIRECTION" value="1."/>
+  </section>
+
+  <section name="MISC">
+    <define name="NOMINAL_AIRSPEED" value="10." unit="m/s"/>
+    <define name="CARROT" value="10." unit="s"/>
+    <define name="KILL_MODE_DISTANCE" value="(1.5*MAX_DIST_FROM_HOME)"/>
+    <define name="CONTROL_RATE" value="60" unit="Hz"/>
+
+    <define name="ALT_KALMAN_ENABLED" value="TRUE"/>
+    <define name="DEFAULT_CIRCLE_RADIUS" value="70."/>
+    <define name="GLIDE_AIRSPEED" value="10"/>
+    <define name="GLIDE_VSPEED" value="3."/>
+    <define name="GLIDE_PITCH" value="5" unit="deg"/>
+
+  </section>
+
+  <section name="VERTICAL CONTROL" prefix="V_CTL_">
+    <define name="POWER_CTL_BAT_NOMINAL" value="7.6" unit="volt"/>
+
+       <!-- Vertical Outerloop
+               v_ctl_climb_setpoint = ALTITUDE_PGAIN * altitude_error + 
altitude_pre_climb;
+               BoundAbs(v_ctl_climb_setpoint, V_CTL_ALTITUDE_MAX_CLIMB);
+       -->
+
+    <!-- outer loop proportional gain: alt error 5 climb m/s -->
+    <define name="ALTITUDE_PGAIN" value="-0.0750000029802"/>
+    <!-- outer loop saturation: m/s-->
+    <define name="ALTITUDE_MAX_CLIMB" value="5.0"/>
+
+    <!-- auto throttle inner loop 
+               float controlled_throttle = v_ctl_auto_throttle_cruise_throttle 
+               + v_ctl_auto_throttle_climb_throttle_increment * 
v_ctl_climb_setpoint 
+               + v_ctl_auto_throttle_pgain * 
+               (err + v_ctl_auto_throttle_igain * v_ctl_auto_throttle_sum_err
+               + v_ctl_auto_throttle_dgain * d_err);
+
+               /* pitch pre-command */
+               float v_ctl_pitch_of_vz = (v_ctl_climb_setpoint + d_err * 
v_ctl_auto_throttle_pitch_of_vz_dgain) 
+               * v_ctl_auto_throttle_pitch_of_vz_pgain;
+       -->
+    <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" 
value="0.40000000596"/>
+    <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.20"/>
+    <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.90"/>
+    <define name="AUTO_THROTTLE_LOITER_TRIM" value="1500."/>
+    <define name="AUTO_THROTTLE_DASH_TRIM" value="-1000"/>
+    <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0." 
unit="%/(m/s)"/>
+    <define name="AUTO_THROTTLE_PGAIN" value="-0.035000000149"/>
+    <define name="AUTO_THROTTLE_IGAIN" value="0."/>
+    <define name="AUTO_THROTTLE_DGAIN" value="0.0"/>
+    <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0."/>
+    <define name="THROTTLE_SLEW_LIMITER" value="1" unit="s"/>
+
+    <define name="AUTO_AIRSPEED_SETPOINT" value="10" unit="m/s"/>
+    <define name="AUTO_AIRSPEED_PITCH_PGAIN" value="0" unit="degree/(m/s)"/>
+    <define name="AUTO_AIRSPEED_THROTTLE_PGAIN" value="0" unit="%/(m/s)"/>
+    <define name="AUTO_AIRSPEED_THROTTLE_IGAIN" value="0"/>
+
+
+    <!-- auto pitch inner loop -->
+    <define name="AUTO_PITCH_PGAIN" value="0."/>
+    <define name="AUTO_PITCH_IGAIN" value="0."/>
+    <define name="AUTO_PITCH_MAX_PITCH" value="0"/>
+    <define name="AUTO_PITCH_MIN_PITCH" value="0"/>
+  </section>
+
+  <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
+    <define name="COURSE_PGAIN" value="-1.5"/> <!-- Heading outerloop: only 
P-gain -->
+
+    <define name="ROLL_MAX_SETPOINT" value="0.75" unit="radians"/> <!-- Max 
Angles -->
+    <define name="PITCH_MAX_SETPOINT" value="0.4" unit="radians"/>
+    <define name="PITCH_MIN_SETPOINT" value="-0.4" unit="radians"/>
+
+    <define name="PITCH_PGAIN" value="-7110.09179688"/>        <!-- Pitch 
Angle PD control -->
+    <define name="PITCH_DGAIN" value="2."/>
+
+    <define name="ELEVATOR_OF_ROLL" value="1500."/> <!-- Feed forward 
ABS(roll) to elevator -->
+    
+    <define name="ROLL_SLEW" value="0.30"/> <!-- Maximal roll angle change per 
1/60 of second --> 
+
+    <define name="ROLL_ATTITUDE_GAIN" value="-7000."/> <!-- Roll Angle PD 
control -->
+    <define name="ROLL_RATE_GAIN" value="-2752.29394531"/>
+
+<!--
+#ifdef H_CTL_ROLL_ATTITUDE_GAIN
+inline static void h_ctl_roll_loop( void ) {
+  float err = estimator_phi - h_ctl_roll_setpoint;
+  float cmd = - h_ctl_roll_attitude_gain * err
+    - h_ctl_roll_rate_gain * estimator_p
+    + v_ctl_throttle_setpoint * h_ctl_aileron_of_throttle;
+
+  h_ctl_aileron_setpoint = TRIM_PPRZ(cmd); 
+}
+-->
+
+   </section>
+
+  <section name="NAV">
+    <define name="NAV_PITCH" value="0."/>
+    <define name="NAV_GLIDE_PITCH_TRIM" value="0."/>
+<!--    <define name="NAV_GROUND_SPEED_PGAIN" value="0"/> -->
+  </section>
+
+  <section name="AGGRESSIVE" prefix="AGR_">
+    <define name="BLEND_START" value="40"/><!-- Altitude Error to Initiate 
Aggressive Climb CANNOT BE ZERO!!-->
+    <define name="BLEND_END" value="25"/><!-- Altitude Error to Blend 
Aggressive to Regular Climb Modes  CANNOT BE ZERO!!-->
+    <define name="CLIMB_THROTTLE" value="1.0"/><!-- Gaz for Aggressive Climb 
-->
+    <define name="CLIMB_PITCH" value="0.40"/><!-- Pitch for Aggressive Climb 
-->
+    <define name="DESCENT_THROTTLE" value="0.0"/><!-- Gaz for Aggressive 
Decent -->
+    <define name="DESCENT_PITCH" value="-0.3"/><!-- Pitch for Aggressive 
Decent -->
+    <define name="CLIMB_NAV_RATIO" value="0.8"/><!-- Percent Navigation for 
Altitude Error Equal to Start Altitude -->
+    <define name="DESCENT_NAV_RATIO" value="1.0"/>
+    </section>
+
+  <section name="FAILSAFE" prefix="FAILSAFE_">
+    <define name="DELAY_WITHOUT_GPS" value="2" unit="s"/>
+    <define name="DEFAULT_THROTTLE" value="0.0" unit="%"/>
+    <define name="DEFAULT_ROLL" value="0.3" unit="rad"/>
+    <define name="DEFAULT_PITCH" value="0.5" unit="rad"/>
+  </section>
+
+<!-- 
+  <section name="DATALINK" prefix="DATALINK_">
+    <define name="DEVICE_TYPE" value="XBEE"/>
+    <define name="DEVICE_ADDRESS" value="0x005067361851"/>
+  </section>
+-->
+
+ <section name="SIMU">
+    <define name="YAW_RESPONSE_FACTOR" value="0.5"/>
+ </section>
+
+ <makefile>
+CONFIG = \"tiny_sense.h\"
+
+include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile
+
+FLASH_MODE=IAP
+
+ap.CFLAGS +=  -DFBW -DAP -DBOARD_CONFIG=$(CONFIG) -DLED -DTIME_LED=2
+ap.srcs = sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c main_fbw.c 
main_ap.c main.c
+
+ap.srcs += commands.c
+
+ap.CFLAGS += -DACTUATORS=\"servos_4017_hw.h\" -DSERVOS_4017
+ap.srcs += $(SRC_ARCH)/servos_4017_hw.c actuators.c
+
+ap.CFLAGS += -DRADIO_CONTROL
+ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c  
+
+#ap.CFLAGS += -DDOWNLINK -DUSE_UART1 -DDOWNLINK_TRANSPORT=XBeeTransport 
-DXBEE_UART=Uart1 -DDATALINK=XBEE -DUART1_BAUD=B57600
+#ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c xbee.c
+
+#TRANSPARENT
+ap.CFLAGS += -DDOWNLINK -DUSE_UART1 -DDOWNLINK_TRANSPORT=PprzTransport 
-DDOWNLINK_FBW_DEVICE=Uart1 -DDOWNLINK_AP_DEVICE=Uart1 -DPPRZ_UART=Uart1 
-DDATALINK=PPRZ -DUART1_BAUD=B9600
+ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c pprz_transport.c
+
+
+ap.CFLAGS += -DINTER_MCU
+ap.srcs += inter_mcu.c 
+
+ap.CFLAGS += -DADC -DUSE_ADC_0 -DUSE_ADC_1 -DUSE_ADC_2 -DUSE_ADC_3 -DUSE_ADC_4 
-DUSE_ADC_5 -DGYRO -DIDG300
+ap.srcs += $(SRC_ARCH)/adc_hw.c
+
+ap.CFLAGS += -DGPS -DUBX -DUSE_UART0 -DGPS_LINK=Uart0 -DUART0_BAUD=B38400 
-DGPS_USE_LATLONG
+ap.srcs += gps_ubx.c gps.c latlong.c
+
+ap.CFLAGS += -DINFRARED -DALT_KALMAN -DWIND_INFO -DWIND_INFO_RET -DSTRONG_WIND
+ap.srcs += infrared.c estimator.c gyro.c
+
+ap.CFLAGS += -DNAV -DAGR_CLIMB -DLOITER_TRIM
+ap.srcs += nav.c fw_h_ctl.c fw_v_ctl.c
+
+ap.srcs += nav_line.c nav_survey_rectangle.c
+
+ap.srcs += baro_bmp.c $(SRC_ARCH)/i2c_hw.c i2c.c
+ap.CFLAGS += -DUSE_I2C0 -DUSE_BARO_BMP -DBARO_BMP_ACCEL
+
+# camera control
+ap.CFLAGS += -DCAM -DMOBILE_CAM -DPOINT_CAM -DPOINT_CAM_PITCH_ROLL
+ap.srcs += cam.c point.c
+
+# Config for SITL simulation
+include $(PAPARAZZI_SRC)/conf/autopilot/sitl.makefile
+sim.CFLAGS += -DBOARD_CONFIG=\"tiny.h\" -DAGR_CLIMB -DLOITER_TRIM -DALT_KALMAN
+sim.srcs += nav_line.c nav_survey_rectangle.c
+
+sim.srcs += joystick.c
+sim.CFLAGS += -DUSE_JOYSTICK
+
+sim.CFLAGS += -DCAM -DMOBILE_CAM -DPOINT_CAM -DPOINT_CAM_PITCH_ROLL
+# -DTEST_CAM
+sim.srcs += cam.c point.c
+sim.srcs += bomb.c
+
+
+
+
+  </makefile>
+</airframe>

Copied: paparazzi3/trunk/conf/airframes/TUDelft/holiday50.xml (from rev 4310, 
paparazzi3/trunk/conf/airframes/holiday50.xml)
===================================================================
--- paparazzi3/trunk/conf/airframes/TUDelft/holiday50.xml                       
        (rev 0)
+++ paparazzi3/trunk/conf/airframes/TUDelft/holiday50.xml       2009-11-06 
07:28:41 UTC (rev 4311)
@@ -0,0 +1,310 @@
+<!DOCTYPE airframe SYSTEM "airframe.dtd">
+
+<airframe name="Holiday 50 Delft Tiny 1.1">
+
+<!-- commands section -->
+  <servos>
+    <servo name="THROTTLE" no="0" min="1100" neutral="1100" max="1900"/>
+    <servo name="AILERONS" no="2" min="1830" neutral="1480" max="1130"/> <!-- 
positive = right turn -->
+    <servo name="ELEVATOR" no="1" min="1100" neutral="1400" max="1900"/> <!-- 
positive = up -->
+    <servo name="CAM_TILT" no="3" min="1150" neutral="1500" max="1850"/>
+  </servos>
+
+  <commands>
+    <axis name="THROTTLE" failsafe_value="0"/>
+    <axis name="ROLL" failsafe_value="0"/>
+    <axis name="PITCH" failsafe_value="0"/>
+    <axis name="CAM_TILT" failsafe_value="0"/>
+    <axis name="HATCH" failsafe_value="0"/>
+  </commands>
+
+  <rc_commands>
+    <set command="THROTTLE" value="@THROTTLE"/>
+    <set command="ROLL" value="@ROLL"/>
+    <set command="PITCH" value="@PITCH"/>
+  </rc_commands>
+
+  <ap_only_commands>
+    <copy command="CAM_TILT"/>
+  </ap_only_commands>
+
+  <command_laws>
+    <set servo="THROTTLE" value="@THROTTLE"/>
+    <set servo="AILERONS" value="@ROLL"/>
+    <set servo="ELEVATOR" value="@PITCH"/>
+    <set servo="CAM_TILT" value="@CAM_TILT"/>
+  </command_laws>
+
+  <section name="CAMERA" prefix="CAM_">
+    <define name="TILT0" value="0" unit="deg"/>
+    <define name="TILT_MIN" value="-30" unit="deg"/>
+    <define name="TILT_NEUTRAL" value="0" unit="deg"/>
+    <define name="TILT_MAX" value="30" unit="deg"/>
+  </section>
+
+  <section name="AUTO1" prefix="AUTO1_">
+    <define name="MAX_ROLL" value="0.7"/>
+    <define name="MAX_PITCH" value="0.7"/>
+  </section>
+
+  <section name="adc" prefix="ADC_CHANNEL_">
+    <define name="IR1" value="ADC_0"/>
+    <define name="IR2" value="ADC_1"/>
+    <define name="IR_TOP" value="ADC_2"/>
+    <define name="IR_NB_SAMPLES" value="16"/>
+    <define name="GYRO_ROLL" value="ADC_3"/>
+    <define name="GYRO_TEMP" value="ADC_4"/>
+    <define name="GYRO_NB_SAMPLES" value="16"/> 
+    <define name="AIRSPEED" value="ADC_5"/>
+    <define name="AIRSPEED_NB_SAMPLES" value="32"/> 
+
+    <define name="CURRENT" value="ADC_6"/>             <!-- Current 
Measurement -->
+  </section>
+
+  <section name="INFRARED" prefix="IR_">
+    <define name="ADC_IR1_NEUTRAL" value="512"/>
+    <define name="ADC_IR2_NEUTRAL" value="512"/>
+    <define name="ADC_TOP_NEUTRAL" value="512"/>
+
+    <define name="HORIZ_SENSOR_TILTED" value="1"/>
+    <define name="IR2_SIGN" value="-1"/>
+    <define name="TOP_SIGN" value="1"/>
+
+    <define name="LATERAL_CORRECTION" value="0.7"/>
+    <define name="LONGITUDINAL_CORRECTION" value="-0.7"/>
+    <define name="VERTICAL_CORRECTION" value="1."/>
+
+    <define name="ROLL_NEUTRAL_DEFAULT" value="-4.29718351364" unit="deg"/>
+    <define name="PITCH_NEUTRAL_DEFAULT" value="5" unit="deg"/>
+
+    <define name="CORRECTION_UP" value="1.0"/>
+    <define name="CORRECTION_DOWN" value="1.0"/>
+    <define name="CORRECTION_LEFT" value="1.0"/>
+    <define name="CORRECTION_RIGHT" value="1.0"/>
+  </section>
+
+  <section name="AIRSPEED" prefix="AIRSPEED_">
+    <define name="ZERO" value="0"/>
+    <define name="RESISTOR_BRIDGE" value="(3.3/(3.3+2.2))"/>
+    <define name="SCALE" value="1." unit="m/s/adc_unit"/>
+  </section>
+
+
+  <section name="GYRO" prefix="GYRO_">
+    <define name="ADC_ROLL_NEUTRAL" value="325"/>
+    <define name="ADC_TEMP_NEUTRAL" value="450"/>
+    <define name="ADC_TEMP_SLOPE" value="0"/>   
+    <define name="DYNAMIC_RANGE" value="150" unit="deg/s"/>
+    <define name="ADXRS300_RESISTOR_BRIDGE" value="(3.3/(3.3+2.2))"/>
+    <define name="ADXRS300_SENSITIVITY" value="5" unit="mV/(deg/s)"/>
+    <define name="ROLL_SCALE" 
value="2.0*1000./1024./(GYRO_ADXRS300_SENSITIVITY*GYRO_ADXRS300_RESISTOR_BRIDGE)"
 unit="deg/s/adc_unit"/>
+    <define name="ROLL_DIRECTION" value="-1."/> 
+  </section>
+
+  <section name="BAT">
+    <define name="MILLIAMP_AT_FULL_THROTTLE" value="12000"/> <!-- 12Amp Full 
power on Ground -->
+    <define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
+
+    <define name="MilliAmpereOfAdc(adc)" value="((adc-508)*50)"/>
+  </section>
+ 
+  <section name="MISC">
+    <define name="NOMINAL_AIRSPEED" value="13." unit="m/s"/>
+    <define name="CARROT" value="5." unit="s"/>
+    <define name="KILL_MODE_DISTANCE" value="(1.5*MAX_DIST_FROM_HOME)"/>
+    <define name="CONTROL_RATE" value="60" unit="Hz"/>
+
+    <define name="ALT_KALMAN_ENABLED" value="TRUE"/>
+    <define name="DEFAULT_CIRCLE_RADIUS" value="70."/>
+    <define name="GLIDE_AIRSPEED" value="10"/>
+    <define name="GLIDE_VSPEED" value="3."/>
+    <define name="GLIDE_PITCH" value="5" unit="deg"/>
+
+    <define name="LIGHT_LED_1" value="3"/>
+<!--    <define name="POWER_SWITCH_LED" value="2"/> -->
+  </section>
+
+  <section name="VERTICAL CONTROL" prefix="V_CTL_">
+    <define name="POWER_CTL_BAT_NOMINAL" value="11.1" unit="volt"/>
+
+       <!-- Vertical Outerloop
+               v_ctl_climb_setpoint = ALTITUDE_PGAIN * altitude_error + 
altitude_pre_climb;
+               BoundAbs(v_ctl_climb_setpoint, V_CTL_ALTITUDE_MAX_CLIMB);
+       -->
+
+    <!-- outer loop proportional gain: alt error 5 climb m/s -->
+    <define name="ALTITUDE_PGAIN" value="-0.04"/>
+    <!-- outer loop saturation: m/s-->
+    <define name="ALTITUDE_MAX_CLIMB" value="5.0"/>
+
+    <!-- auto throttle inner loop 
+               float controlled_throttle = v_ctl_auto_throttle_cruise_throttle 
+               + v_ctl_auto_throttle_climb_throttle_increment * 
v_ctl_climb_setpoint 
+               + v_ctl_auto_throttle_pgain * 
+               (err + v_ctl_auto_throttle_igain * v_ctl_auto_throttle_sum_err
+               + v_ctl_auto_throttle_dgain * d_err);
+
+               /* pitch pre-command */
+               float v_ctl_pitch_of_vz = (v_ctl_climb_setpoint + d_err * 
v_ctl_auto_throttle_pitch_of_vz_dgain) 
+               * v_ctl_auto_throttle_pitch_of_vz_pgain;
+       -->
+    <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" 
value="0.319999992847"/>
+    <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.20"/>
+    <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.45"/>
+    <define name="AUTO_THROTTLE_LOITER_TRIM" value="1500"/>
+    <define name="AUTO_THROTTLE_DASH_TRIM" value="-1000"/>
+    <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.0" 
unit="%/(m/s)"/>
+    <define name="AUTO_THROTTLE_PGAIN" value="-0.005"/>
+    <define name="AUTO_THROTTLE_IGAIN" value="0.0"/>
+    <define name="AUTO_THROTTLE_DGAIN" value="0.0"/>
+    <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.56"/>
+    <define name="THROTTLE_SLEW_LIMITER" value="1" unit="s"/>
+
+    <define name="AUTO_AIRSPEED_SETPOINT" value="16" unit="m/s"/>
+    <define name="AUTO_AIRSPEED_PITCH_PGAIN" value="0" unit="degree/(m/s)"/>
+    <define name="AUTO_AIRSPEED_THROTTLE_PGAIN" value="0" unit="%/(m/s)"/>
+    <define name="AUTO_AIRSPEED_THROTTLE_IGAIN" value="0"/>
+  </section>
+
+  <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
+    <define name="COURSE_PGAIN" value="-1.5"/> <!-- Heading outerloop: only 
P-gain -->
+
+    <define name="ROLL_MAX_SETPOINT" value="0.80" unit="radians"/> <!-- Max 
Angles -->
+    <define name="PITCH_MAX_SETPOINT" value="0.4" unit="radians"/>
+    <define name="PITCH_MIN_SETPOINT" value="-0.4" unit="radians"/>
+
+    <define name="PITCH_PGAIN" value="-4925.65087891"/>        <!-- Pitch 
Angle PD control -->
+    <define name="PITCH_DGAIN" value="2.0"/>
+
+    <define name="ELEVATOR_OF_ROLL" value="2050"/> <!-- Feed forward ABS(roll) 
to elevator -->
+    
+    <define name="ROLL_SLEW" value="0.10"/> <!-- Maximal roll angle change per 
1/60 of second --> 
+
+    <define name="ROLL_ATTITUDE_GAIN" value="-9000"/> <!-- Roll Angle PD 
control -->
+    <define name="ROLL_RATE_GAIN" value="-550"/>
+
+<!--
+#ifdef H_CTL_ROLL_ATTITUDE_GAIN
+inline static void h_ctl_roll_loop( void ) {
+  float err = estimator_phi - h_ctl_roll_setpoint;
+  float cmd = - h_ctl_roll_attitude_gain * err
+    - h_ctl_roll_rate_gain * estimator_p
+    + v_ctl_throttle_setpoint * h_ctl_aileron_of_throttle;
+
+  h_ctl_aileron_setpoint = TRIM_PPRZ(cmd); 
+}
+-->
+
+   </section>
+
+  <section name="NAV">
+    <define name="NAV_PITCH" value="0."/>
+    <define name="NAV_GLIDE_PITCH_TRIM" value="-0.0"/>
+<!--    <define name="NAV_GROUND_SPEED_PGAIN" value="0"/> -->
+  </section>
+
+  <section name="AGGRESSIVE" prefix="AGR_">
+    <define name="BLEND_START" value="30"/><!-- Altitude Error to Initiate 
Aggressive Climb CANNOT BE ZERO!!-->
+    <define name="BLEND_END" value="18"/><!-- Altitude Error to Blend 
Aggressive to Regular Climb Modes  CANNOT BE ZERO!!-->
+    <define name="CLIMB_THROTTLE" value="0.60"/><!-- Gaz for Aggressive Climb 
-->
+    <define name="CLIMB_PITCH" value="0.40"/><!-- Pitch for Aggressive Climb 
-->
+    <define name="DESCENT_THROTTLE" value="0.1"/><!-- Gaz for Aggressive 
Decent -->
+    <define name="DESCENT_PITCH" value="-0.3"/><!-- Pitch for Aggressive 
Decent -->
+    <define name="CLIMB_NAV_RATIO" value="0.8"/><!-- Percent Navigation for 
Altitude Error Equal to Start Altitude -->
+    <define name="DESCENT_NAV_RATIO" value="1.0"/>
+    </section>
+
+  <section name="FAILSAFE" prefix="FAILSAFE_">
+    <define name="DELAY_WITHOUT_GPS" value="2" unit="s"/>
+    <define name="DEFAULT_THROTTLE" value="0.3" unit="%"/>
+    <define name="DEFAULT_ROLL" value="0.3" unit="rad"/>
+    <define name="DEFAULT_PITCH" value="0.5" unit="rad"/>
+  </section>
+
+<!-- 
+  <section name="DATALINK" prefix="DATALINK_">
+    <define name="DEVICE_TYPE" value="AEROCOMM"/>
+    <define name="DEVICE_ADDRESS" value="0x005067361851"/>
+  </section>
+-->
+
+ <section name="SIMU">
+    <define name="YAW_RESPONSE_FACTOR" value="0.5"/>
+ </section>
+
+ <makefile>
+include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile
+
+FLASH_MODE=IAP
+
+# main files (including the 60Hz timing)
+ap.CFLAGS +=  -DFBW -DAP -DBOARD_CONFIG=\"tiny_1_1.h\" -DLED -DTIME_LED=1
+ap.srcs = sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c main_fbw.c 
main_ap.c main.c
+
+# Command allocation and Radio Mixers
+ap.srcs += commands.c
+
+# Actuators: tiny1.1 board has 4015_MAT servos
+ap.CFLAGS += -DACTUATORS=\"servos_4015_MAT_hw.h\" -DSERVOS_4015_MAT
+ap.srcs += $(SRC_ARCH)/servos_4015_MAT_hw.c actuators.c
+
+# 35MHz Radio
+ap.CFLAGS += -DRADIO_CONTROL
+ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c  
+
+# Paparazzi protocol on UART0 at 57600
+ap.CFLAGS += -DDOWNLINK -DUSE_UART0 -DDOWNLINK_TRANSPORT=PprzTransport 
-DDOWNLINK_FBW_DEVICE=Uart0 -DDOWNLINK_AP_DEVICE=Uart0 -DPPRZ_UART=Uart0 
-DDATALINK=PPRZ -DUART0_BAUD=B57600
+ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c pprz_transport.c
+
+# communication from FBW and AP
+ap.CFLAGS += -DINTER_MCU
+ap.srcs += inter_mcu.c 
+
+
+ap.CFLAGS += -DADC -DUSE_ADC_0 -DUSE_ADC_1 -DUSE_ADC_2 -DUSE_ADC_3 -DUSE_ADC_4 
-DUSE_ADC_5
+ap.srcs += $(SRC_ARCH)/adc_hw.c
+
+# GPS on UART1
+ap.CFLAGS += -DGPS -DUBX -DUSE_UART1 -DGPS_LINK=Uart1 -DUART1_BAUD=B38400
+#ap.CFLAGS += -DGPS_CONFIGURE -DGPS_BAUD=38400
+ap.srcs += gps_ubx.c gps.c latlong.c
+
+ap.CFLAGS += -DINFRARED
+ap.srcs += infrared.c estimator.c
+
+ap.CFLAGS += -DNAV -DAGR_CLIMB -DLOITER_TRIM -DALT_KALMAN
+ap.srcs += nav.c fw_h_ctl.c fw_v_ctl.c
+
+ap.CFLAGS += -DGYRO -DADXRS150
+ap.srcs += gyro.c
+
+ap.CFLAGS += -DUSE_AIRSPEED
+ap.srcs += airspeed.c
+
+ap.srcs += nav_line.c nav_survey_rectangle.c
+ap.srcs += traffic_info.c
+
+# camera control
+ap.CFLAGS += -DCAM -DMOBILE_CAM -DPOINT_CAM -DPOINT_CAM_PITCH_ROLL
+# -DTEST_CAM
+ap.srcs += cam.c point.c
+# traffic_info.c
+
+ap.CFLAGS += -DWIND_INFO -DSTRONG_WIND
+ap.srcs += bomb.c
+
+# Config for SITL simulation
+include $(PAPARAZZI_SRC)/conf/autopilot/sitl.makefile
+sim.CFLAGS += -DBOARD_CONFIG=\"tiny_1_1.h\" -DAGR_CLIMB -DLOITER_TRIM 
-DALT_KALMAN -DWIND_INFO -DSTRONG_WIND
+sim.srcs += nav_survey_rectangle.c nav_line.c 
+# traffic_info.c
+sim.CFLAGS += -DUSE_AIRSPEED
+sim.srcs += airspeed.c
+
+sim.CFLAGS += -DCAM -DMOBILE_CAM -DPOINT_CAM -DPOINT_CAM_PITCH_ROLL
+# -DTEST_CAM
+sim.srcs += cam.c point.c
+sim.srcs += bomb.c
+
+  </makefile>
+</airframe>

Deleted: paparazzi3/trunk/conf/airframes/holiday50.xml
===================================================================
--- paparazzi3/trunk/conf/airframes/holiday50.xml       2009-11-05 13:47:15 UTC 
(rev 4310)
+++ paparazzi3/trunk/conf/airframes/holiday50.xml       2009-11-06 07:28:41 UTC 
(rev 4311)
@@ -1,310 +0,0 @@
-<!DOCTYPE airframe SYSTEM "airframe.dtd">
-
-<airframe name="Holiday 50 Delft Tiny 1.1">
-
-<!-- commands section -->
-  <servos>
-    <servo name="THROTTLE" no="0" min="1100" neutral="1100" max="1900"/>
-    <servo name="AILERONS" no="2" min="1830" neutral="1480" max="1130"/> <!-- 
positive = right turn -->
-    <servo name="ELEVATOR" no="1" min="1100" neutral="1400" max="1900"/> <!-- 
positive = up -->
-    <servo name="CAM_TILT" no="3" min="1150" neutral="1500" max="1850"/>
-  </servos>
-
-  <commands>
-    <axis name="THROTTLE" failsafe_value="0"/>
-    <axis name="ROLL" failsafe_value="0"/>
-    <axis name="PITCH" failsafe_value="0"/>
-    <axis name="CAM_TILT" failsafe_value="0"/>
-    <axis name="HATCH" failsafe_value="0"/>
-  </commands>
-
-  <rc_commands>
-    <set command="THROTTLE" value="@THROTTLE"/>
-    <set command="ROLL" value="@ROLL"/>
-    <set command="PITCH" value="@PITCH"/>
-  </rc_commands>
-
-  <ap_only_commands>
-    <copy command="CAM_TILT"/>
-  </ap_only_commands>
-
-  <command_laws>
-    <set servo="THROTTLE" value="@THROTTLE"/>
-    <set servo="AILERONS" value="@ROLL"/>
-    <set servo="ELEVATOR" value="@PITCH"/>
-    <set servo="CAM_TILT" value="@CAM_TILT"/>
-  </command_laws>
-
-  <section name="CAMERA" prefix="CAM_">
-    <define name="TILT0" value="0" unit="deg"/>
-    <define name="TILT_MIN" value="-30" unit="deg"/>
-    <define name="TILT_NEUTRAL" value="0" unit="deg"/>
-    <define name="TILT_MAX" value="30" unit="deg"/>
-  </section>
-
-  <section name="AUTO1" prefix="AUTO1_">
-    <define name="MAX_ROLL" value="0.7"/>
-    <define name="MAX_PITCH" value="0.7"/>
-  </section>
-
-  <section name="adc" prefix="ADC_CHANNEL_">
-    <define name="IR1" value="ADC_0"/>
-    <define name="IR2" value="ADC_1"/>
-    <define name="IR_TOP" value="ADC_2"/>
-    <define name="IR_NB_SAMPLES" value="16"/>
-    <define name="GYRO_ROLL" value="ADC_3"/>
-    <define name="GYRO_TEMP" value="ADC_4"/>
-    <define name="GYRO_NB_SAMPLES" value="16"/> 
-    <define name="AIRSPEED" value="ADC_5"/>
-    <define name="AIRSPEED_NB_SAMPLES" value="32"/> 
-
-    <define name="CURRENT" value="ADC_6"/>             <!-- Current 
Measurement -->
-  </section>
-
-  <section name="INFRARED" prefix="IR_">
-    <define name="ADC_IR1_NEUTRAL" value="512"/>
-    <define name="ADC_IR2_NEUTRAL" value="512"/>
-    <define name="ADC_TOP_NEUTRAL" value="512"/>
-
-    <define name="HORIZ_SENSOR_TILTED" value="1"/>
-    <define name="IR2_SIGN" value="-1"/>
-    <define name="TOP_SIGN" value="1"/>
-
-    <define name="LATERAL_CORRECTION" value="0.7"/>
-    <define name="LONGITUDINAL_CORRECTION" value="-0.7"/>
-    <define name="VERTICAL_CORRECTION" value="1."/>
-
-    <define name="ROLL_NEUTRAL_DEFAULT" value="-4.29718351364" unit="deg"/>
-    <define name="PITCH_NEUTRAL_DEFAULT" value="5" unit="deg"/>
-
-    <define name="CORRECTION_UP" value="1.0"/>
-    <define name="CORRECTION_DOWN" value="1.0"/>
-    <define name="CORRECTION_LEFT" value="1.0"/>
-    <define name="CORRECTION_RIGHT" value="1.0"/>
-  </section>
-
-  <section name="AIRSPEED" prefix="AIRSPEED_">
-    <define name="ZERO" value="50"/>
-    <define name="RESISTOR_BRIDGE" value="(3.3/(3.3+2.2))"/>
-    <define name="SCALE" value="30./1024./(AIRSPEED_RESISTOR_BRIDGE)" 
unit="m/s/adc_unit"/>
-  </section>
-
-
-  <section name="GYRO" prefix="GYRO_">
-    <define name="ADC_ROLL_NEUTRAL" value="325"/>
-    <define name="ADC_TEMP_NEUTRAL" value="450"/>
-    <define name="ADC_TEMP_SLOPE" value="0"/>   
-    <define name="DYNAMIC_RANGE" value="150" unit="deg/s"/>
-    <define name="ADXRS300_RESISTOR_BRIDGE" value="(3.3/(3.3+2.2))"/>
-    <define name="ADXRS300_SENSITIVITY" value="5" unit="mV/(deg/s)"/>
-    <define name="ROLL_SCALE" 
value="2.0*1000./1024./(GYRO_ADXRS300_SENSITIVITY*GYRO_ADXRS300_RESISTOR_BRIDGE)"
 unit="deg/s/adc_unit"/>
-    <define name="ROLL_DIRECTION" value="-1."/> 
-  </section>
-
-  <section name="BAT">
-    <define name="MILLIAMP_AT_FULL_THROTTLE" value="12000"/> <!-- 12Amp Full 
power on Ground -->
-    <define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
-
-    <define name="MilliAmpereOfAdc(adc)" value="((adc-508)*50)"/>
-  </section>
- 
-  <section name="MISC">
-    <define name="NOMINAL_AIRSPEED" value="13." unit="m/s"/>
-    <define name="CARROT" value="5." unit="s"/>
-    <define name="KILL_MODE_DISTANCE" value="(1.5*MAX_DIST_FROM_HOME)"/>
-    <define name="CONTROL_RATE" value="60" unit="Hz"/>
-
-    <define name="ALT_KALMAN_ENABLED" value="TRUE"/>
-    <define name="DEFAULT_CIRCLE_RADIUS" value="70."/>
-    <define name="GLIDE_AIRSPEED" value="10"/>
-    <define name="GLIDE_VSPEED" value="3."/>
-    <define name="GLIDE_PITCH" value="5" unit="deg"/>
-
-    <define name="LIGHT_LED_1" value="3"/>
-<!--    <define name="POWER_SWITCH_LED" value="2"/> -->
-  </section>
-
-  <section name="VERTICAL CONTROL" prefix="V_CTL_">
-    <define name="POWER_CTL_BAT_NOMINAL" value="11.1" unit="volt"/>
-
-       <!-- Vertical Outerloop
-               v_ctl_climb_setpoint = ALTITUDE_PGAIN * altitude_error + 
altitude_pre_climb;
-               BoundAbs(v_ctl_climb_setpoint, V_CTL_ALTITUDE_MAX_CLIMB);
-       -->
-
-    <!-- outer loop proportional gain: alt error 5 climb m/s -->
-    <define name="ALTITUDE_PGAIN" value="-0.04"/>
-    <!-- outer loop saturation: m/s-->
-    <define name="ALTITUDE_MAX_CLIMB" value="5.0"/>
-
-    <!-- auto throttle inner loop 
-               float controlled_throttle = v_ctl_auto_throttle_cruise_throttle 
-               + v_ctl_auto_throttle_climb_throttle_increment * 
v_ctl_climb_setpoint 
-               + v_ctl_auto_throttle_pgain * 
-               (err + v_ctl_auto_throttle_igain * v_ctl_auto_throttle_sum_err
-               + v_ctl_auto_throttle_dgain * d_err);
-
-               /* pitch pre-command */
-               float v_ctl_pitch_of_vz = (v_ctl_climb_setpoint + d_err * 
v_ctl_auto_throttle_pitch_of_vz_dgain) 
-               * v_ctl_auto_throttle_pitch_of_vz_pgain;
-       -->
-    <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" 
value="0.319999992847"/>
-    <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.20"/>
-    <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.45"/>
-    <define name="AUTO_THROTTLE_LOITER_TRIM" value="1500"/>
-    <define name="AUTO_THROTTLE_DASH_TRIM" value="-1000"/>
-    <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.0" 
unit="%/(m/s)"/>
-    <define name="AUTO_THROTTLE_PGAIN" value="-0.005"/>
-    <define name="AUTO_THROTTLE_IGAIN" value="0.0"/>
-    <define name="AUTO_THROTTLE_DGAIN" value="0.0"/>
-    <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.56"/>
-    <define name="THROTTLE_SLEW_LIMITER" value="1" unit="s"/>
-
-    <define name="AUTO_AIRSPEED_SETPOINT" value="16" unit="m/s"/>
-    <define name="AUTO_AIRSPEED_PITCH_PGAIN" value="0" unit="degree/(m/s)"/>
-    <define name="AUTO_AIRSPEED_THROTTLE_PGAIN" value="0" unit="%/(m/s)"/>
-    <define name="AUTO_AIRSPEED_THROTTLE_IGAIN" value="0"/>
-  </section>
-
-  <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
-    <define name="COURSE_PGAIN" value="-1.5"/> <!-- Heading outerloop: only 
P-gain -->
-
-    <define name="ROLL_MAX_SETPOINT" value="0.80" unit="radians"/> <!-- Max 
Angles -->
-    <define name="PITCH_MAX_SETPOINT" value="0.4" unit="radians"/>
-    <define name="PITCH_MIN_SETPOINT" value="-0.4" unit="radians"/>
-
-    <define name="PITCH_PGAIN" value="-4925.65087891"/>        <!-- Pitch 
Angle PD control -->
-    <define name="PITCH_DGAIN" value="2.0"/>
-
-    <define name="ELEVATOR_OF_ROLL" value="2050"/> <!-- Feed forward ABS(roll) 
to elevator -->
-    
-    <define name="ROLL_SLEW" value="0.10"/> <!-- Maximal roll angle change per 
1/60 of second --> 
-
-    <define name="ROLL_ATTITUDE_GAIN" value="-9000"/> <!-- Roll Angle PD 
control -->
-    <define name="ROLL_RATE_GAIN" value="-550"/>
-
-<!--
-#ifdef H_CTL_ROLL_ATTITUDE_GAIN
-inline static void h_ctl_roll_loop( void ) {
-  float err = estimator_phi - h_ctl_roll_setpoint;
-  float cmd = - h_ctl_roll_attitude_gain * err
-    - h_ctl_roll_rate_gain * estimator_p
-    + v_ctl_throttle_setpoint * h_ctl_aileron_of_throttle;
-
-  h_ctl_aileron_setpoint = TRIM_PPRZ(cmd); 
-}
--->
-
-   </section>
-
-  <section name="NAV">
-    <define name="NAV_PITCH" value="0."/>
-    <define name="NAV_GLIDE_PITCH_TRIM" value="-0.0"/>
-<!--    <define name="NAV_GROUND_SPEED_PGAIN" value="0"/> -->
-  </section>
-
-  <section name="AGGRESSIVE" prefix="AGR_">
-    <define name="BLEND_START" value="30"/><!-- Altitude Error to Initiate 
Aggressive Climb CANNOT BE ZERO!!-->
-    <define name="BLEND_END" value="18"/><!-- Altitude Error to Blend 
Aggressive to Regular Climb Modes  CANNOT BE ZERO!!-->
-    <define name="CLIMB_THROTTLE" value="0.60"/><!-- Gaz for Aggressive Climb 
-->
-    <define name="CLIMB_PITCH" value="0.40"/><!-- Pitch for Aggressive Climb 
-->
-    <define name="DESCENT_THROTTLE" value="0.1"/><!-- Gaz for Aggressive 
Decent -->
-    <define name="DESCENT_PITCH" value="-0.3"/><!-- Pitch for Aggressive 
Decent -->
-    <define name="CLIMB_NAV_RATIO" value="0.8"/><!-- Percent Navigation for 
Altitude Error Equal to Start Altitude -->
-    <define name="DESCENT_NAV_RATIO" value="1.0"/>
-    </section>
-
-  <section name="FAILSAFE" prefix="FAILSAFE_">
-    <define name="DELAY_WITHOUT_GPS" value="2" unit="s"/>
-    <define name="DEFAULT_THROTTLE" value="0.3" unit="%"/>
-    <define name="DEFAULT_ROLL" value="0.3" unit="rad"/>
-    <define name="DEFAULT_PITCH" value="0.5" unit="rad"/>
-  </section>
-
-<!-- 
-  <section name="DATALINK" prefix="DATALINK_">
-    <define name="DEVICE_TYPE" value="AEROCOMM"/>
-    <define name="DEVICE_ADDRESS" value="0x005067361851"/>
-  </section>
--->
-
- <section name="SIMU">
-    <define name="YAW_RESPONSE_FACTOR" value="0.5"/>
- </section>
-
- <makefile>
-include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile
-
-FLASH_MODE=IAP
-
-# main files (including the 60Hz timing)
-ap.CFLAGS +=  -DFBW -DAP -DBOARD_CONFIG=\"tiny_1_1.h\" -DLED -DTIME_LED=1
-ap.srcs = sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c main_fbw.c 
main_ap.c main.c
-
-# Command allocation and Radio Mixers
-ap.srcs += commands.c
-
-# Actuators: tiny1.1 board has 4015_MAT servos
-ap.CFLAGS += -DACTUATORS=\"servos_4015_MAT_hw.h\" -DSERVOS_4015_MAT
-ap.srcs += $(SRC_ARCH)/servos_4015_MAT_hw.c actuators.c
-
-# 35MHz Radio
-ap.CFLAGS += -DRADIO_CONTROL
-ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c  
-
-# Paparazzi protocol on UART0 at 57600
-ap.CFLAGS += -DDOWNLINK -DUSE_UART0 -DDOWNLINK_TRANSPORT=PprzTransport 
-DDOWNLINK_FBW_DEVICE=Uart0 -DDOWNLINK_AP_DEVICE=Uart0 -DPPRZ_UART=Uart0 
-DDATALINK=PPRZ -DUART0_BAUD=B57600
-ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c pprz_transport.c
-
-# communication from FBW and AP
-ap.CFLAGS += -DINTER_MCU
-ap.srcs += inter_mcu.c 
-
-
-ap.CFLAGS += -DADC -DUSE_ADC_0 -DUSE_ADC_1 -DUSE_ADC_2 -DUSE_ADC_3 -DUSE_ADC_4 
-DUSE_ADC_5
-ap.srcs += $(SRC_ARCH)/adc_hw.c
-
-# GPS on UART1
-ap.CFLAGS += -DGPS -DUBX -DUSE_UART1 -DGPS_LINK=Uart1 -DUART1_BAUD=B38400
-#ap.CFLAGS += -DGPS_CONFIGURE -DGPS_BAUD=38400
-ap.srcs += gps_ubx.c gps.c latlong.c
-
-ap.CFLAGS += -DINFRARED
-ap.srcs += infrared.c estimator.c
-
-ap.CFLAGS += -DNAV -DAGR_CLIMB -DLOITER_TRIM -DALT_KALMAN
-ap.srcs += nav.c fw_h_ctl.c fw_v_ctl.c
-
-ap.CFLAGS += -DGYRO -DADXRS150
-ap.srcs += gyro.c
-
-ap.CFLAGS += -DUSE_AIRSPEED
-ap.srcs += airspeed.c
-
-ap.srcs += nav_line.c nav_survey_rectangle.c
-ap.srcs += traffic_info.c
-
-# camera control
-ap.CFLAGS += -DCAM -DMOBILE_CAM -DPOINT_CAM -DPOINT_CAM_PITCH_ROLL
-# -DTEST_CAM
-ap.srcs += cam.c point.c
-# traffic_info.c
-
-ap.CFLAGS += -DWIND_INFO -DSTRONG_WIND
-ap.srcs += bomb.c
-
-# Config for SITL simulation
-include $(PAPARAZZI_SRC)/conf/autopilot/sitl.makefile
-sim.CFLAGS += -DBOARD_CONFIG=\"tiny_1_1.h\" -DAGR_CLIMB -DLOITER_TRIM 
-DALT_KALMAN -DWIND_INFO -DSTRONG_WIND
-sim.srcs += nav_survey_rectangle.c nav_line.c 
-# traffic_info.c
-sim.CFLAGS += -DUSE_AIRSPEED
-sim.srcs += airspeed.c
-
-sim.CFLAGS += -DCAM -DMOBILE_CAM -DPOINT_CAM -DPOINT_CAM_PITCH_ROLL
-# -DTEST_CAM
-sim.srcs += cam.c point.c
-sim.srcs += bomb.c
-
-  </makefile>
-</airframe>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]