[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paparazzi-commits] [4907] moving airframes, enhance nav cube
From: |
Martin Mueller |
Subject: |
[paparazzi-commits] [4907] moving airframes, enhance nav cube |
Date: |
Tue, 11 May 2010 10:46:55 +0000 |
Revision: 4907
http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4907
Author: mmm
Date: 2010-05-11 10:46:55 +0000 (Tue, 11 May 2010)
Log Message:
-----------
moving airframes, enhance nav cube
Modified Paths:
--------------
paparazzi3/trunk/conf/airframes/mm/fixed-wing/miniwing.xml
paparazzi3/trunk/conf/flight_plans/cube.xml
paparazzi3/trunk/sw/airborne/nav_cube.c
paparazzi3/trunk/sw/airborne/nav_cube.h
paparazzi3/trunk/sw/in_progress/blitzer/Makefile
Added Paths:
-----------
paparazzi3/trunk/conf/airframes/mm/extra/rctx.xml
paparazzi3/trunk/conf/airframes/mm/fixed-wing/funjeteth1.xml
paparazzi3/trunk/conf/airframes/mm/fixed-wing/funjeteth2.xml
paparazzi3/trunk/conf/airframes/mm/fixed-wing/funjetmm.xml
paparazzi3/trunk/conf/settings/nav_cube.xml
Removed Paths:
-------------
paparazzi3/trunk/conf/airframes/funjeteth1.xml
paparazzi3/trunk/conf/airframes/funjetmm.xml
Deleted: paparazzi3/trunk/conf/airframes/funjeteth1.xml
===================================================================
--- paparazzi3/trunk/conf/airframes/funjeteth1.xml 2010-05-11 09:56:22 UTC
(rev 4906)
+++ paparazzi3/trunk/conf/airframes/funjeteth1.xml 2010-05-11 10:46:55 UTC
(rev 4907)
@@ -1,266 +0,0 @@
-<!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
- LEA 4
--->
-
-<airframe name="Funjet ETH 1">
-
-<!-- commands section -->
- <servos>
- <servo name="MOTOR" no="0" min="1550" neutral="1550" max="2000"/>
- <servo name="AILEVON_LEFT" no="2" min="1900" neutral="1532" max="1100"/>
- <servo name="AILEVON_RIGHT" no="6" min="1100" neutral="1519" max="1900"/>
- </servos>
-
- <commands>
- <axis name="THROTTLE" failsafe_value="0"/>
- <axis name="ROLL" failsafe_value="0"/>
- <axis name="PITCH" failsafe_value="0"/>
- </commands>
-
- <rc_commands>
- <set command="THROTTLE" value="@THROTTLE"/>
- <set command="ROLL" value="@ROLL"/>
- <set command="PITCH" value="@PITCH"/>
- </rc_commands>
-
- <section name="MIXER">
- <define name="AILEVON_AILERON_RATE" value="0.45"/>
- <define name="AILEVON_ELEVATOR_RATE" value="0.8"/>
- </section>
-
- <command_laws>
- <let var="aileron" value="@ROLL * AILEVON_AILERON_RATE"/>
- <let var="elevator" value="@PITCH * AILEVON_ELEVATOR_RATE"/>
- <set servo="MOTOR" value="@THROTTLE"/>
- <set servo="AILEVON_LEFT" value="$elevator + $aileron"/>
- <set servo="AILEVON_RIGHT" value="$elevator - $aileron"/>
- </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="IR1" value="ADC_1"/>
- <define name="IR2" value="ADC_2"/>
- <define name="IR_TOP" value="ADC_0"/>
- <define name="IR_NB_SAMPLES" value="16"/>
- </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="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="0" unit="deg"/>
- </section>
-
- <section name="BAT">
- <!--define name="MILLIAMP_AT_FULL_THROTTLE" value="10000."/-->
- <define name="ADC_CHANNEL_CURRENT" value="ADC_6"/>
- <define name="MilliAmpereOfAdc(adc)" value="(88*adc)"/>
- <define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
- <!-- 0.0247311828 -->
- <!-- 0.02432905 -->
- <define name="VoltageOfAdc(adc)" value="(0.02454*adc)"/>
- </section>
-
- <section name="MISC">
- <define name="NOMINAL_AIRSPEED" value="15." 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="XBEE_INIT" value="\"ATPL2\rATRN1\rATTT80\r\""/> -->
-<!-- <define name="NO_XBEE_API_INIT" value="TRUE"/> -->
- <define name="ALT_KALMAN_ENABLED" value="FALSE"/>
-
- <define name="TRIGGER_DELAY" value="1."/>
- <define name="DEFAULT_CIRCLE_RADIUS" value="120."/>
- <define name="MIN_CIRCLE_RADIUS" value="50."/>
- </section>
-
- <section name="VERTICAL CONTROL" prefix="V_CTL_">
-
- <define name="POWER_CTL_BAT_NOMINAL" value="10" unit="volt"/>
- <!-- outer loop proportional gain -->
- <define name="ALTITUDE_PGAIN" value="-0.06"/> <!-- -0.024 -->
- <!-- outer loop saturation -->
- <define name="ALTITUDE_MAX_CLIMB" value="2."/>
-
- <!-- auto throttle inner loop -->
- <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.45"/>
- <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.35"/>
- <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.80"/>
- <define name="AUTO_THROTTLE_LOITER_TRIM" value="50"/>
- <define name="AUTO_THROTTLE_DASH_TRIM" value="-60"/>
- <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.2"
unit="%/(m/s)"/>
- <define name="AUTO_THROTTLE_PGAIN" value="-0.023"/> <!-- -0.012 -->
- <define name="AUTO_THROTTLE_IGAIN" value="0.01"/>
- <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>
-
- <!-- auto pitch inner loop -->
- <define name="AUTO_PITCH_PGAIN" value="-0.06"/> <!-- -0.03 -->
- <define name="AUTO_PITCH_IGAIN" value="0.0"/>
- <define name="AUTO_PITCH_MAX_PITCH" value="0.35"/>
- <define name="AUTO_PITCH_MIN_PITCH" value="-0.35"/>
-
- <define name="THROTTLE_SLEW" value="0.1"/>
-
- </section>
-
- <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
- <define name="COURSE_PGAIN" value="-0.8"/>
- <define name="ROLL_MAX_SETPOINT" value="0.62" unit="radians"/> <!-- 0.5 -->
- <define name="PITCH_MAX_SETPOINT" value="0.5" unit="radians"/>
- <define name="PITCH_MIN_SETPOINT" value="-0.5" unit="radians"/>
-
- <define name="ROLL_PGAIN" value="6600."/>
- <define name="AILERON_OF_THROTTLE" value="0.0"/>
- <define name="PITCH_PGAIN" value="-5500."/>
- <define name="PITCH_DGAIN" value="0.4"/>
-
- <define name="ELEVATOR_OF_ROLL" value="1200"/>
-
- <!--define name="ROLL_ATTITUDE_GAIN" value="-7500"/>
- <define name="ROLL_RATE_GAIN" value="-1500"/-->
-
- </section>
-
- <section name="NAV">
- <define name="NAV_PITCH" value="0."/>
- <define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
- </section>
-
- <section name="AGGRESSIVE" prefix="AGR_">
- <define name="BLEND_START" value="50"/><!-- Altitude Error to Initiate
Aggressive Climb CANNOT BE ZERO!!-->
- <define name="BLEND_END" value="15"/><!-- Altitude Error to Blend
Aggressive to Regular Climb Modes CANNOT BE ZERO!!-->
- <define name="CLIMB_THROTTLE" value="0.9"/><!-- Gaz for Aggressive Climb
-->
- <define name="CLIMB_PITCH" value="0.35"/><!-- Pitch for Aggressive Climb
-->
- <define name="DESCENT_THROTTLE" value="0.05"/><!-- Gaz for Aggressive
Decent -->
- <define name="DESCENT_PITCH" value="-0.35"/><!-- 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"/>
- <define name="HOME_RADIUS" value="100" unit="m"/>
-</section>
-
- <section name="DATALINK" prefix="DATALINK_">
- <define name="DEVICE_TYPE" value="XBEE"/>
- <define name="DEVICE_ADDRESS" value="...."/>
- </section>
-
- <section name="MICROMAG">
-
- <define name="MM_SS_PIN" value="20"/>
- <define name="MM_SS_IODIR" value="IO0DIR"/>
- <define name="MM_SS_IOSET" value="IO0SET"/>
- <define name="MM_SS_IOCLR" value="IO0CLR"/>
-
- <define name="MM_RESET_PIN" value="29"/>
- <define name="MM_RESET_IODIR" value="IO0DIR"/>
- <define name="MM_RESET_IOSET" value="IO0SET"/>
- <define name="MM_RESET_IOCLR" value="IO0CLR"/>
-
- <define name="MM_DRDY_PINSEL" value="PINSEL1"/>
- <define name="MM_DRDY_PINSEL_BIT" value="0"/>
- <define name="MM_DRDY_PINSEL_VAL" value="1"/>
- <define name="MM_DRDY_EINT" value="0"/>
- <define name="MM_DRDY_VIC_IT" value="VIC_EINT0"/>
-
- </section>
-
- <makefile>
-CONFIG = \"tiny_2_1.h\"
-
-include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile
-
-FLASH_MODE=IAP
-
-ap.CFLAGS += -DFBW -DAP -DBOARD_CONFIG=$(CONFIG) -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
-
-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_6
-ap.srcs += $(SRC_ARCH)/adc_hw.c
-
-ap.CFLAGS += -DGPS -DUBX -DUSE_UART0 -DGPS_LINK=Uart0 -DUART0_BAUD=B38400
-DGPS_USE_LATLONG
-# -DGPS_LED=2
-ap.srcs += gps_ubx.c gps.c latlong.c
-
-ap.CFLAGS += -DINFRARED -DALT_KALMAN -DWIND_INFO -DWIND_INFO_RET
-ap.srcs += infrared.c estimator.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_cube.c
-ap.srcs += nav_survey_rectangle.c
-
-
-ap.CFLAGS += -DMICROMAG_DRDY_VIC_SLOT=12 -DSSP_VIC_SLOT=11 -DUSE_MICROMAG_FW
-ap.srcs += micromag_fw.c $(SRC_ARCH)/micromag_fw_hw.c
-
-ap.srcs += humid_sht.c
-ap.CFLAGS += -DUSE_HUMID_SHT -DDAT_PIN=30 -DSCK_PIN=4
-
-ap.srcs += i2c.c arm7/i2c_hw.c baro_scp_i2c.c
-ap.CFLAGS += -DUSE_I2C0 -DUSE_BARO_SCP
-
-
-# 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 nav_cube.c
-
-sim.srcs += joystick.c
-sim.CFLAGS += -DUSE_JOYSTICK
-
-
- </makefile>
-</airframe>
Deleted: paparazzi3/trunk/conf/airframes/funjetmm.xml
===================================================================
--- paparazzi3/trunk/conf/airframes/funjetmm.xml 2010-05-11 09:56:22 UTC
(rev 4906)
+++ paparazzi3/trunk/conf/airframes/funjetmm.xml 2010-05-11 10:46:55 UTC
(rev 4907)
@@ -1,280 +0,0 @@
-<!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 */
- K66, LEA 5H
--->
-
-<airframe name="Funjet mm 1 K66">
-
-<!-- commands section -->
- <servos>
- <servo name="MOTOR" no="0" min="1000" neutral="1000" max="2000"/>
- <servo name="AILEVON_LEFT" no="2" min="1900" neutral="1442" max="1100"/>
- <servo name="AILEVON_RIGHT" no="6" min="1100" neutral="1549" max="1900"/>
- <servo name="HATCH" no="7" min="1070" neutral="1070" max="2200"/>
- </servos>
-
- <commands>
- <axis name="THROTTLE" failsafe_value="0"/>
- <axis name="ROLL" failsafe_value="0"/>
- <axis name="PITCH" 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"/>
- <set command="HATCH" value="@CALIB"/>
- </rc_commands>
-
- <section name="MIXER">
- <define name="AILEVON_AILERON_RATE" value="0.45"/>
- <define name="AILEVON_ELEVATOR_RATE" value="0.8"/>
- </section>
-
- <command_laws>
- <let var="aileron" value="@ROLL * AILEVON_AILERON_RATE"/>
- <let var="elevator" value="@PITCH * AILEVON_ELEVATOR_RATE"/>
- <set servo="MOTOR" value="@THROTTLE"/>
- <set servo="AILEVON_LEFT" value="$elevator + $aileron"/>
- <set servo="AILEVON_RIGHT" value="$elevator - $aileron"/>
- <set servo="HATCH" value="@HATCH"/>
- </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="IR1" value="ADC_1"/>
- <define name="IR2" value="ADC_2"/>
- <define name="IR_TOP" value="ADC_0"/>
- <define name="IR_NB_SAMPLES" value="16"/>
- </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="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="0" unit="deg"/>
- </section>
-
- <section name="BAT">
- <!--define name="MILLIAMP_AT_FULL_THROTTLE" value="10000."/-->
- <define name="ADC_CHANNEL_CURRENT" value="ADC_4"/>
- <define name="MilliAmpereOfAdc(adc)" value="(88*adc)"/>
- <define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
- <!-- 0.0247311828 -->
- <!-- 0.02432905 -->
- <define name="VoltageOfAdc(adc)" value="(0.02454*adc)"/>
- </section>
-
- <section name="MISC">
- <define name="NOMINAL_AIRSPEED" value="15." 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="XBEE_INIT" value="\"ATPL2\rATRN1\rATTT80\r\""/> -->
-<!-- <define name="NO_XBEE_API_INIT" value="TRUE"/> -->
- <define name="ALT_KALMAN_ENABLED" value="FALSE"/>
-
- <define name="TRIGGER_DELAY" value="1."/>
- <define name="DEFAULT_CIRCLE_RADIUS" value="120."/>
- <define name="MIN_CIRCLE_RADIUS" value="50."/>
- </section>
-
- <section name="VERTICAL CONTROL" prefix="V_CTL_">
-
- <define name="POWER_CTL_BAT_NOMINAL" value="11.1" unit="volt"/>
- <!-- outer loop proportional gain -->
- <define name="ALTITUDE_PGAIN" value="-0.06"/> <!-- -0.024 -->
- <!-- outer loop saturation -->
- <define name="ALTITUDE_MAX_CLIMB" value="2."/>
-
- <!-- auto throttle inner loop -->
- <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.45"/>
- <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.25"/>
- <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.85"/>
- <define name="AUTO_THROTTLE_LOITER_TRIM" value="1000"/>
- <define name="AUTO_THROTTLE_DASH_TRIM" value="-1200"/>
- <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.2"
unit="%/(m/s)"/>
- <define name="AUTO_THROTTLE_PGAIN" value="-0.023"/> <!-- -0.012 -->
- <define name="AUTO_THROTTLE_IGAIN" value="0.01"/>
- <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>
-
- <!-- auto pitch inner loop -->
- <define name="AUTO_PITCH_PGAIN" value="-0.06"/> <!-- -0.03 -->
- <define name="AUTO_PITCH_IGAIN" value="0.0"/>
- <define name="AUTO_PITCH_MAX_PITCH" value="0.35"/>
- <define name="AUTO_PITCH_MIN_PITCH" value="-0.35"/>
-
- <define name="THROTTLE_SLEW" value="0.1"/>
-
- </section>
-
- <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
- <define name="COURSE_PGAIN" value="-0.9"/>
- <define name="ROLL_MAX_SETPOINT" value="0.70" unit="radians"/> <!-- 0.5 -->
- <define name="PITCH_MAX_SETPOINT" value="0.5" unit="radians"/>
- <define name="PITCH_MIN_SETPOINT" value="-0.5" unit="radians"/>
-
- <define name="ROLL_PGAIN" value="6600."/>
- <define name="AILERON_OF_THROTTLE" value="0.0"/>
- <define name="PITCH_PGAIN" value="-5500."/>
- <define name="PITCH_DGAIN" value="0.4"/>
-
- <define name="ELEVATOR_OF_ROLL" value="2400"/>
-
- <!--define name="ROLL_ATTITUDE_GAIN" value="-7500"/>
- <define name="ROLL_RATE_GAIN" value="-1500"/-->
-
- </section>
-
- <section name="NAV">
- <define name="NAV_PITCH" value="0."/>
- <define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
- </section>
-
- <section name="AGGRESSIVE" prefix="AGR_">
- <define name="BLEND_START" value="50"/><!-- Altitude Error to Initiate
Aggressive Climb CANNOT BE ZERO!!-->
- <define name="BLEND_END" value="15"/><!-- Altitude Error to Blend
Aggressive to Regular Climb Modes CANNOT BE ZERO!!-->
- <define name="CLIMB_THROTTLE" value="0.9"/><!-- Gaz for Aggressive Climb
-->
- <define name="CLIMB_PITCH" value="0.35"/><!-- Pitch for Aggressive Climb
-->
- <define name="DESCENT_THROTTLE" value="0.05"/><!-- Gaz for Aggressive
Decent -->
- <define name="DESCENT_PITCH" value="-0.35"/><!-- 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"/>
- <define name="HOME_RADIUS" value="100" unit="m"/>
-</section>
-
- <section name="DATALINK" prefix="DATALINK_">
- <define name="DEVICE_TYPE" value="XBEE"/>
- <define name="DEVICE_ADDRESS" value="...."/>
- </section>
-
- <section name="SIMU">
- <define name="YAW_RESPONSE_FACTOR" value="0.5"/>
- </section>
-
- <section name="MICROMAG">
-
- <define name="MM_SS_PIN" value="20"/>
- <define name="MM_SS_IODIR" value="IO0DIR"/>
- <define name="MM_SS_IOSET" value="IO0SET"/>
- <define name="MM_SS_IOCLR" value="IO0CLR"/>
-
- <define name="MM_RESET_PIN" value="29"/>
- <define name="MM_RESET_IODIR" value="IO0DIR"/>
- <define name="MM_RESET_IOSET" value="IO0SET"/>
- <define name="MM_RESET_IOCLR" value="IO0CLR"/>
-
- <define name="MM_DRDY_PINSEL" value="PINSEL1"/>
- <define name="MM_DRDY_PINSEL_BIT" value="0"/>
- <define name="MM_DRDY_PINSEL_VAL" value="1"/>
- <define name="MM_DRDY_EINT" value="0"/>
- <define name="MM_DRDY_VIC_IT" value="VIC_EINT0"/>
-
- </section>
-
- <makefile>
-CONFIG = \"tiny_2_1.h\"
-
-include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile
-
-FLASH_MODE=IAP
-
-ap.CFLAGS += -DFBW -DAP -DBOARD_CONFIG=$(CONFIG) -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
-
-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_4
-ap.srcs += $(SRC_ARCH)/adc_hw.c
-
-ap.CFLAGS += -DGPS -DUBX -DUSE_UART0 -DGPS_LINK=Uart0 -DUART0_BAUD=B38400
-DGPS_USE_LATLONG
-# -DGPS_LED=2
-ap.srcs += gps_ubx.c gps.c latlong.c
-
-ap.CFLAGS += -DINFRARED -DALT_KALMAN -DWIND_INFO -DWIND_INFO_RET
-ap.srcs += infrared.c estimator.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
-ap.srcs += nav_survey_rectangle.c
-
-ap.srcs += humid_sht.c
-ap.CFLAGS += -DUSE_HUMID_SHT -DDAT_PIN=3 -DSCK_PIN=2
-
-#ap.srcs += baro_scp.c
-#ap.CFLAGS += -DUSE_BARO_SCP
-
-ap.CFLAGS += -DMICROMAG_DRDY_VIC_SLOT=9 -DSSP_VIC_SLOT=11 -DUSE_MICROMAG_FW
-ap.srcs += micromag_fw.c $(SRC_ARCH)/micromag_fw_hw.c
-
-ap.srcs += bomb.c
-
-ap.srcs += snav.c
-
-# distance sensor
-ap.CFLAGS += -DUSE_ADC_3 -DUSE_ADC_GENERIC -DADC_CHANNEL_GENERIC1=ADC_3
-DADC_CHANNEL_GENERIC_NB_SAMPLES=16
-ap.srcs += adc_generic.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 += bomb.c
-
-
- </makefile>
-</airframe>
Added: paparazzi3/trunk/conf/airframes/mm/extra/rctx.xml
===================================================================
--- paparazzi3/trunk/conf/airframes/mm/extra/rctx.xml
(rev 0)
+++ paparazzi3/trunk/conf/airframes/mm/extra/rctx.xml 2010-05-11 10:46:55 UTC
(rev 4907)
@@ -0,0 +1,50 @@
+<!DOCTYPE airframe SYSTEM "../../airframe.dtd">
+
+<!-- RC transmitter with XBee modem
+-->
+
+<airframe name="RC TX">
+ <section name="adc" prefix="ADC_CHANNEL_">
+ <define name="IR1" value="ADC_1"/>
+ <define name="IR2" value="ADC_2"/>
+ <define name="IR_TOP" value="ADC_0"/>
+ <define name="IR_NB_SAMPLES" value="16"/>
+ </section>
+
+ <section name="BAT">
+ <define name="MILLIAMP_PER_PERCENT" value="0.86"/>
+ <define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
+ <!-- 0.0247311828 -->
+ <!-- 0.02432905 -->
+ <define name="VoltageOfAdc(adc)" value="(0.02454*adc)"/>
+ </section>
+
+ <section name="DATALINK" prefix="DATALINK_">
+ <define name="DEVICE_TYPE" value="XBEE"/>
+ <define name="DEVICE_ADDRESS" value="...."/>
+ </section>
+
+ <makefile>
+
+CONFIG = \"tiny_2_1.h\"
+
+include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile
+
+FLASH_MODE=IAP
+
+ap.CFLAGS += -DFBW -DAP -DCONFIG=$(CONFIG) -DLED
+ap.srcs = sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c main_rctx.c
+
+ap.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_FUTABA
+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 xbee.c
+
+ap.CFLAGS += -DUSE_DOWNLINK_BROADCAST
+
+ap.CFLAGS += -DADC -DUSE_ADC_0 -DUSE_ADC_1 -DUSE_ADC_2
+ap.srcs += $(SRC_ARCH)/adc_hw.c
+
+ </makefile>
+</airframe>
Copied: paparazzi3/trunk/conf/airframes/mm/fixed-wing/funjeteth1.xml (from rev
4896, paparazzi3/trunk/conf/airframes/funjeteth1.xml)
===================================================================
--- paparazzi3/trunk/conf/airframes/mm/fixed-wing/funjeteth1.xml
(rev 0)
+++ paparazzi3/trunk/conf/airframes/mm/fixed-wing/funjeteth1.xml
2010-05-11 10:46:55 UTC (rev 4907)
@@ -0,0 +1,267 @@
+<!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
+ K66, LEA 4
+-->
+
+<airframe name="Funjet ETH 1 K66">
+
+<!-- commands section -->
+ <servos>
+ <servo name="MOTOR" no="0" min="1000" neutral="1000" max="2000"/>
+ <servo name="AILEVON_LEFT" no="2" min="1900" neutral="1552" max="1100"/>
+ <servo name="AILEVON_RIGHT" no="6" min="1100" neutral="1516" max="1900"/>
+ </servos>
+
+ <commands>
+ <axis name="THROTTLE" failsafe_value="0"/>
+ <axis name="ROLL" failsafe_value="0"/>
+ <axis name="PITCH" failsafe_value="0"/>
+ </commands>
+
+ <rc_commands>
+ <set command="THROTTLE" value="@THROTTLE"/>
+ <set command="ROLL" value="@ROLL"/>
+ <set command="PITCH" value="@PITCH"/>
+ </rc_commands>
+
+ <section name="MIXER">
+ <define name="AILEVON_AILERON_RATE" value="0.45"/>
+ <define name="AILEVON_ELEVATOR_RATE" value="0.8"/>
+ </section>
+
+ <command_laws>
+ <let var="aileron" value="@ROLL * AILEVON_AILERON_RATE"/>
+ <let var="elevator" value="@PITCH * AILEVON_ELEVATOR_RATE"/>
+ <set servo="MOTOR" value="@THROTTLE"/>
+ <set servo="AILEVON_LEFT" value="$elevator + $aileron"/>
+ <set servo="AILEVON_RIGHT" value="$elevator - $aileron"/>
+ </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="IR1" value="ADC_1"/>
+ <define name="IR2" value="ADC_2"/>
+ <define name="IR_TOP" value="ADC_0"/>
+ <define name="IR_NB_SAMPLES" value="16"/>
+ </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="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="0" unit="deg"/>
+ </section>
+
+ <section name="BAT">
+ <!--define name="MILLIAMP_AT_FULL_THROTTLE" value="10000."/-->
+ <define name="ADC_CHANNEL_CURRENT" value="ADC_6"/>
+ <define name="MilliAmpereOfAdc(adc)" value="(88*adc)"/>
+ <define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
+ <!-- 0.0247311828 -->
+ <!-- 0.02432905 -->
+ <define name="VoltageOfAdc(adc)" value="(0.02454*adc)"/>
+ </section>
+
+ <section name="MISC">
+ <define name="NOMINAL_AIRSPEED" value="18." 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="XBEE_INIT" value="\"ATPL2\rATRN1\rATTT80\r\""/> -->
+<!-- <define name="NO_XBEE_API_INIT" value="TRUE"/> -->
+ <define name="ALT_KALMAN_ENABLED" value="FALSE"/>
+
+ <define name="TRIGGER_DELAY" value="1."/>
+ <define name="DEFAULT_CIRCLE_RADIUS" value="120."/>
+ <define name="MIN_CIRCLE_RADIUS" value="50."/>
+ </section>
+
+ <section name="VERTICAL CONTROL" prefix="V_CTL_">
+
+ <define name="POWER_CTL_BAT_NOMINAL" value="10" unit="volt"/>
+ <!-- outer loop proportional gain -->
+ <define name="ALTITUDE_PGAIN" value="-0.06"/> <!-- -0.024 -->
+ <!-- outer loop saturation -->
+ <define name="ALTITUDE_MAX_CLIMB" value="2."/>
+
+ <!-- auto throttle inner loop -->
+ <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.45"/>
+ <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.35"/>
+ <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.80"/>
+ <define name="AUTO_THROTTLE_LOITER_TRIM" value="50"/>
+ <define name="AUTO_THROTTLE_DASH_TRIM" value="-60"/>
+ <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.2"
unit="%/(m/s)"/>
+ <define name="AUTO_THROTTLE_PGAIN" value="-0.023"/> <!-- -0.012 -->
+ <define name="AUTO_THROTTLE_IGAIN" value="0.01"/>
+ <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>
+
+ <!-- auto pitch inner loop -->
+ <define name="AUTO_PITCH_PGAIN" value="-0.06"/> <!-- -0.03 -->
+ <define name="AUTO_PITCH_IGAIN" value="0.0"/>
+ <define name="AUTO_PITCH_MAX_PITCH" value="0.35"/>
+ <define name="AUTO_PITCH_MIN_PITCH" value="-0.35"/>
+
+ <define name="THROTTLE_SLEW" value="0.1"/>
+
+ </section>
+
+ <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
+ <define name="COURSE_PGAIN" value="-0.8"/>
+ <define name="ROLL_MAX_SETPOINT" value="0.62" unit="radians"/> <!-- 0.5 -->
+ <define name="PITCH_MAX_SETPOINT" value="0.5" unit="radians"/>
+ <define name="PITCH_MIN_SETPOINT" value="-0.5" unit="radians"/>
+
+ <define name="ROLL_PGAIN" value="6600."/>
+ <define name="AILERON_OF_THROTTLE" value="0.0"/>
+ <define name="PITCH_PGAIN" value="-5500."/>
+ <define name="PITCH_DGAIN" value="0.4"/>
+
+ <define name="ELEVATOR_OF_ROLL" value="1200"/>
+
+ <!--define name="ROLL_ATTITUDE_GAIN" value="-7500"/>
+ <define name="ROLL_RATE_GAIN" value="-1500"/-->
+
+ </section>
+
+ <section name="NAV">
+ <define name="NAV_PITCH" value="0."/>
+ <define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
+ </section>
+
+ <section name="AGGRESSIVE" prefix="AGR_">
+ <define name="BLEND_START" value="50"/><!-- Altitude Error to Initiate
Aggressive Climb CANNOT BE ZERO!!-->
+ <define name="BLEND_END" value="15"/><!-- Altitude Error to Blend
Aggressive to Regular Climb Modes CANNOT BE ZERO!!-->
+ <define name="CLIMB_THROTTLE" value="0.9"/><!-- Gaz for Aggressive Climb
-->
+ <define name="CLIMB_PITCH" value="0.35"/><!-- Pitch for Aggressive Climb
-->
+ <define name="DESCENT_THROTTLE" value="0.05"/><!-- Gaz for Aggressive
Decent -->
+ <define name="DESCENT_PITCH" value="-0.35"/><!-- 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"/>
+ <define name="HOME_RADIUS" value="100" unit="m"/>
+</section>
+
+ <section name="DATALINK" prefix="DATALINK_">
+ <define name="DEVICE_TYPE" value="XBEE"/>
+ <define name="DEVICE_ADDRESS" value="...."/>
+ </section>
+
+ <section name="MICROMAG">
+
+ <define name="MM_SS_PIN" value="20"/>
+ <define name="MM_SS_IODIR" value="IO0DIR"/>
+ <define name="MM_SS_IOSET" value="IO0SET"/>
+ <define name="MM_SS_IOCLR" value="IO0CLR"/>
+
+ <define name="MM_RESET_PIN" value="29"/>
+ <define name="MM_RESET_IODIR" value="IO0DIR"/>
+ <define name="MM_RESET_IOSET" value="IO0SET"/>
+ <define name="MM_RESET_IOCLR" value="IO0CLR"/>
+
+ <define name="MM_DRDY_PINSEL" value="PINSEL1"/>
+ <define name="MM_DRDY_PINSEL_BIT" value="0"/>
+ <define name="MM_DRDY_PINSEL_VAL" value="1"/>
+ <define name="MM_DRDY_EINT" value="0"/>
+ <define name="MM_DRDY_VIC_IT" value="VIC_EINT0"/>
+
+ </section>
+
+ <makefile>
+CONFIG = \"tiny_2_1.h\"
+
+include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile
+
+FLASH_MODE=IAP
+
+ap.CFLAGS += -DFBW -DAP -DBOARD_CONFIG=$(CONFIG) -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
+
+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_6
+ap.srcs += $(SRC_ARCH)/adc_hw.c
+
+ap.CFLAGS += -DGPS -DUBX -DUSE_UART0 -DGPS_LINK=Uart0 -DUART0_BAUD=B38400
+# -DGPS_USE_LATLONG
+# -DGPS_LED=2
+ap.srcs += gps_ubx.c gps.c latlong.c
+
+ap.CFLAGS += -DINFRARED -DALT_KALMAN -DWIND_INFO -DWIND_INFO_RET
+ap.srcs += infrared.c estimator.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_cube.c
+ap.srcs += nav_survey_rectangle.c
+
+
+ap.CFLAGS += -DMICROMAG_DRDY_VIC_SLOT=12 -DSSP_VIC_SLOT=11 -DUSE_MICROMAG_FW
+ap.srcs += micromag_fw.c $(SRC_ARCH)/micromag_fw_hw.c
+
+ap.srcs += humid_sht.c
+ap.CFLAGS += -DUSE_HUMID_SHT -DDAT_PIN=30 -DSCK_PIN=4
+
+ap.srcs += i2c.c arm7/i2c_hw.c baro_scp_i2c.c
+ap.CFLAGS += -DUSE_I2C0 -DUSE_BARO_SCP
+
+
+# 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 nav_cube.c
+
+sim.srcs += joystick.c
+sim.CFLAGS += -DUSE_JOYSTICK
+
+
+ </makefile>
+</airframe>
Added: paparazzi3/trunk/conf/airframes/mm/fixed-wing/funjeteth2.xml
===================================================================
--- paparazzi3/trunk/conf/airframes/mm/fixed-wing/funjeteth2.xml
(rev 0)
+++ paparazzi3/trunk/conf/airframes/mm/fixed-wing/funjeteth2.xml
2010-05-11 10:46:55 UTC (rev 4907)
@@ -0,0 +1,261 @@
+<!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
+ K61, LEA 4 (set to POSLLH)
+-->
+
+<airframe name="Funjet ETH 1 K61">
+
+<!-- commands section -->
+ <servos>
+ <servo name="MOTOR" no="0" min="1000" neutral="1000" max="2000"/>
+ <servo name="AILEVON_LEFT" no="2" min="1900" neutral="1504" max="1100"/>
+ <servo name="AILEVON_RIGHT" no="6" min="1100" neutral="1506" max="1900"/>
+ </servos>
+
+ <commands>
+ <axis name="THROTTLE" failsafe_value="0"/>
+ <axis name="ROLL" failsafe_value="0"/>
+ <axis name="PITCH" failsafe_value="0"/>
+ </commands>
+
+ <rc_commands>
+ <set command="THROTTLE" value="@THROTTLE"/>
+ <set command="ROLL" value="@ROLL"/>
+ <set command="PITCH" value="@PITCH"/>
+ </rc_commands>
+
+ <section name="MIXER">
+ <define name="AILEVON_AILERON_RATE" value="0.45"/>
+ <define name="AILEVON_ELEVATOR_RATE" value="0.8"/>
+ </section>
+
+ <command_laws>
+ <let var="aileron" value="@ROLL * AILEVON_AILERON_RATE"/>
+ <let var="elevator" value="@PITCH * AILEVON_ELEVATOR_RATE"/>
+ <set servo="MOTOR" value="@THROTTLE"/>
+ <set servo="AILEVON_LEFT" value="$elevator + $aileron"/>
+ <set servo="AILEVON_RIGHT" value="$elevator - $aileron"/>
+ </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="IR1" value="ADC_1"/>
+ <define name="IR2" value="ADC_2"/>
+ <define name="IR_TOP" value="ADC_0"/>
+ <define name="IR_NB_SAMPLES" value="16"/>
+ </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="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="0" unit="deg"/>
+ </section>
+
+ <section name="BAT">
+ <!--define name="MILLIAMP_AT_FULL_THROTTLE" value="10000."/-->
+ <define name="ADC_CHANNEL_CURRENT" value="ADC_6"/>
+ <define name="MilliAmpereOfAdc(adc)" value="(88*adc)"/>
+ <define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
+ <!-- 0.0247311828 -->
+ <!-- 0.02432905 -->
+ <define name="VoltageOfAdc(adc)" value="(0.02454*adc)"/>
+ </section>
+
+ <section name="MISC">
+ <define name="NOMINAL_AIRSPEED" value="18." 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="XBEE_INIT" value="\"ATPL2\rATRN1\rATTT80\r\""/> -->
+<!-- <define name="NO_XBEE_API_INIT" value="TRUE"/> -->
+ <define name="ALT_KALMAN_ENABLED" value="FALSE"/>
+
+ <define name="TRIGGER_DELAY" value="1."/>
+ <define name="DEFAULT_CIRCLE_RADIUS" value="120."/>
+ <define name="MIN_CIRCLE_RADIUS" value="50."/>
+ </section>
+
+ <section name="VERTICAL CONTROL" prefix="V_CTL_">
+
+ <define name="POWER_CTL_BAT_NOMINAL" value="10" unit="volt"/>
+ <!-- outer loop proportional gain -->
+ <define name="ALTITUDE_PGAIN" value="-0.06"/> <!-- -0.024 -->
+ <!-- outer loop saturation -->
+ <define name="ALTITUDE_MAX_CLIMB" value="2."/>
+
+ <!-- auto throttle inner loop -->
+ <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.45"/>
+ <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.35"/>
+ <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.80"/>
+ <define name="AUTO_THROTTLE_LOITER_TRIM" value="50"/>
+ <define name="AUTO_THROTTLE_DASH_TRIM" value="-60"/>
+ <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.2"
unit="%/(m/s)"/>
+ <define name="AUTO_THROTTLE_PGAIN" value="-0.023"/> <!-- -0.012 -->
+ <define name="AUTO_THROTTLE_IGAIN" value="0.01"/>
+ <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>
+
+ <!-- auto pitch inner loop -->
+ <define name="AUTO_PITCH_PGAIN" value="-0.06"/> <!-- -0.03 -->
+ <define name="AUTO_PITCH_IGAIN" value="0.0"/>
+ <define name="AUTO_PITCH_MAX_PITCH" value="0.35"/>
+ <define name="AUTO_PITCH_MIN_PITCH" value="-0.35"/>
+
+ <define name="THROTTLE_SLEW" value="0.1"/>
+
+ </section>
+
+ <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
+ <define name="COURSE_PGAIN" value="-0.8"/>
+ <define name="ROLL_MAX_SETPOINT" value="0.62" unit="radians"/> <!-- 0.5 -->
+ <define name="PITCH_MAX_SETPOINT" value="0.5" unit="radians"/>
+ <define name="PITCH_MIN_SETPOINT" value="-0.5" unit="radians"/>
+
+ <define name="ROLL_PGAIN" value="6600."/>
+ <define name="AILERON_OF_THROTTLE" value="0.0"/>
+ <define name="PITCH_PGAIN" value="-5500."/>
+ <define name="PITCH_DGAIN" value="0.4"/>
+
+ <define name="ELEVATOR_OF_ROLL" value="1200"/>
+
+ <!--define name="ROLL_ATTITUDE_GAIN" value="-7500"/>
+ <define name="ROLL_RATE_GAIN" value="-1500"/-->
+
+ </section>
+
+ <section name="NAV">
+ <define name="NAV_PITCH" value="0."/>
+ <define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
+ </section>
+
+ <section name="AGGRESSIVE" prefix="AGR_">
+ <define name="BLEND_START" value="50"/><!-- Altitude Error to Initiate
Aggressive Climb CANNOT BE ZERO!!-->
+ <define name="BLEND_END" value="15"/><!-- Altitude Error to Blend
Aggressive to Regular Climb Modes CANNOT BE ZERO!!-->
+ <define name="CLIMB_THROTTLE" value="0.9"/><!-- Gaz for Aggressive Climb
-->
+ <define name="CLIMB_PITCH" value="0.35"/><!-- Pitch for Aggressive Climb
-->
+ <define name="DESCENT_THROTTLE" value="0.05"/><!-- Gaz for Aggressive
Decent -->
+ <define name="DESCENT_PITCH" value="-0.35"/><!-- 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"/>
+ <define name="HOME_RADIUS" value="100" unit="m"/>
+</section>
+
+ <section name="DATALINK" prefix="DATALINK_">
+ <define name="DEVICE_TYPE" value="XBEE"/>
+ <define name="DEVICE_ADDRESS" value="...."/>
+ </section>
+
+ <section name="MICROMAG">
+
+ <define name="MM_SS_PIN" value="20"/>
+ <define name="MM_SS_IODIR" value="IO0DIR"/>
+ <define name="MM_SS_IOSET" value="IO0SET"/>
+ <define name="MM_SS_IOCLR" value="IO0CLR"/>
+
+ <define name="MM_RESET_PIN" value="29"/>
+ <define name="MM_RESET_IODIR" value="IO0DIR"/>
+ <define name="MM_RESET_IOSET" value="IO0SET"/>
+ <define name="MM_RESET_IOCLR" value="IO0CLR"/>
+
+ <define name="MM_DRDY_PINSEL" value="PINSEL1"/>
+ <define name="MM_DRDY_PINSEL_BIT" value="0"/>
+ <define name="MM_DRDY_PINSEL_VAL" value="1"/>
+ <define name="MM_DRDY_EINT" value="0"/>
+ <define name="MM_DRDY_VIC_IT" value="VIC_EINT0"/>
+
+ </section>
+
+ <makefile>
+CONFIG = \"tiny_2_1.h\"
+
+include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile
+
+FLASH_MODE=IAP
+
+ap.CFLAGS += -DFBW -DAP -DBOARD_CONFIG=$(CONFIG) -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
+
+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_6
+ap.srcs += $(SRC_ARCH)/adc_hw.c
+
+ap.CFLAGS += -DGPS -DUBX -DUSE_UART0 -DGPS_LINK=Uart0 -DUART0_BAUD=B38400
-DGPS_USE_LATLONG
+# -DGPS_LED=2
+ap.srcs += gps_ubx.c gps.c latlong.c
+
+ap.CFLAGS += -DINFRARED -DALT_KALMAN -DWIND_INFO -DWIND_INFO_RET
+ap.srcs += infrared.c estimator.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_cube.c
+ap.srcs += nav_survey_rectangle.c
+
+ap.CFLAGS += -DMICROMAG_DRDY_VIC_SLOT=12 -DSSP_VIC_SLOT=11 -DUSE_MICROMAG_FW
+ap.srcs += micromag_fw.c $(SRC_ARCH)/micromag_fw_hw.c
+
+ap.srcs += humid_sht.c
+ap.CFLAGS += -DUSE_HUMID_SHT -DDAT_PIN=30 -DSCK_PIN=4
+
+ap.srcs += i2c.c arm7/i2c_hw.c baro_scp_i2c.c
+ap.CFLAGS += -DUSE_I2C0 -DUSE_BARO_SCP
+
+
+# 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 nav_cube.c
+
+ </makefile>
+</airframe>
Copied: paparazzi3/trunk/conf/airframes/mm/fixed-wing/funjetmm.xml (from rev
4896, paparazzi3/trunk/conf/airframes/funjetmm.xml)
===================================================================
--- paparazzi3/trunk/conf/airframes/mm/fixed-wing/funjetmm.xml
(rev 0)
+++ paparazzi3/trunk/conf/airframes/mm/fixed-wing/funjetmm.xml 2010-05-11
10:46:55 UTC (rev 4907)
@@ -0,0 +1,284 @@
+<!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 */
+ K66, LEA 5H
+-->
+
+<airframe name="Funjet mm 1 K66">
+
+<!-- commands section -->
+ <servos>
+ <servo name="MOTOR" no="0" min="1000" neutral="1000" max="2000"/>
+ <servo name="AILEVON_LEFT" no="2" min="1900" neutral="1442" max="1100"/>
+ <servo name="AILEVON_RIGHT" no="6" min="1100" neutral="1549" max="1900"/>
+ <servo name="HATCH" no="7" min="1070" neutral="1070" max="2200"/>
+ </servos>
+
+ <commands>
+ <axis name="THROTTLE" failsafe_value="0"/>
+ <axis name="ROLL" failsafe_value="0"/>
+ <axis name="PITCH" 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"/>
+ <set command="HATCH" value="@CALIB"/>
+ </rc_commands>
+
+ <section name="MIXER">
+ <define name="AILEVON_AILERON_RATE" value="0.45"/>
+ <define name="AILEVON_ELEVATOR_RATE" value="0.8"/>
+ </section>
+
+ <command_laws>
+ <let var="aileron" value="@ROLL * AILEVON_AILERON_RATE"/>
+ <let var="elevator" value="@PITCH * AILEVON_ELEVATOR_RATE"/>
+ <set servo="MOTOR" value="@THROTTLE"/>
+ <set servo="AILEVON_LEFT" value="$elevator + $aileron"/>
+ <set servo="AILEVON_RIGHT" value="$elevator - $aileron"/>
+ <set servo="HATCH" value="@HATCH"/>
+ </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="IR1" value="ADC_1"/>
+ <define name="IR2" value="ADC_2"/>
+ <define name="IR_TOP" value="ADC_0"/>
+ <define name="IR_NB_SAMPLES" value="16"/>
+ </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="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="0" unit="deg"/>
+ </section>
+
+ <section name="BAT">
+ <!--define name="MILLIAMP_AT_FULL_THROTTLE" value="10000."/-->
+ <define name="ADC_CHANNEL_CURRENT" value="ADC_4"/>
+ <define name="MilliAmpereOfAdc(adc)" value="(88*adc)"/>
+ <define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
+ <!-- 0.0247311828 -->
+ <!-- 0.02432905 -->
+ <define name="VoltageOfAdc(adc)" value="(0.02454*adc)"/>
+ </section>
+
+ <section name="MISC">
+ <define name="NOMINAL_AIRSPEED" value="15." 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="XBEE_INIT" value="\"ATPL2\rATRN1\rATTT80\r\""/> -->
+<!-- <define name="NO_XBEE_API_INIT" value="TRUE"/> -->
+ <define name="ALT_KALMAN_ENABLED" value="FALSE"/>
+
+ <define name="TRIGGER_DELAY" value="1."/>
+ <define name="DEFAULT_CIRCLE_RADIUS" value="120."/>
+ <define name="MIN_CIRCLE_RADIUS" value="50."/>
+ </section>
+
+ <section name="VERTICAL CONTROL" prefix="V_CTL_">
+
+ <define name="POWER_CTL_BAT_NOMINAL" value="11.1" unit="volt"/>
+ <!-- outer loop proportional gain -->
+ <define name="ALTITUDE_PGAIN" value="-0.06"/> <!-- -0.024 -->
+ <!-- outer loop saturation -->
+ <define name="ALTITUDE_MAX_CLIMB" value="2."/>
+
+ <!-- auto throttle inner loop -->
+ <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.45"/>
+ <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.25"/>
+ <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.85"/>
+ <define name="AUTO_THROTTLE_LOITER_TRIM" value="1000"/>
+ <define name="AUTO_THROTTLE_DASH_TRIM" value="-1200"/>
+ <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.2"
unit="%/(m/s)"/>
+ <define name="AUTO_THROTTLE_PGAIN" value="-0.023"/> <!-- -0.012 -->
+ <define name="AUTO_THROTTLE_IGAIN" value="0.01"/>
+ <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>
+
+ <!-- auto pitch inner loop -->
+ <define name="AUTO_PITCH_PGAIN" value="-0.06"/> <!-- -0.03 -->
+ <define name="AUTO_PITCH_IGAIN" value="0.0"/>
+ <define name="AUTO_PITCH_MAX_PITCH" value="0.35"/>
+ <define name="AUTO_PITCH_MIN_PITCH" value="-0.35"/>
+
+ <define name="THROTTLE_SLEW" value="0.1"/>
+
+ </section>
+
+ <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
+ <define name="COURSE_PGAIN" value="-0.9"/>
+ <define name="ROLL_MAX_SETPOINT" value="0.70" unit="radians"/> <!-- 0.5 -->
+ <define name="PITCH_MAX_SETPOINT" value="0.5" unit="radians"/>
+ <define name="PITCH_MIN_SETPOINT" value="-0.5" unit="radians"/>
+
+ <define name="ROLL_PGAIN" value="6600."/>
+ <define name="AILERON_OF_THROTTLE" value="0.0"/>
+ <define name="PITCH_PGAIN" value="-5500."/>
+ <define name="PITCH_DGAIN" value="0.4"/>
+
+ <define name="ELEVATOR_OF_ROLL" value="2400"/>
+
+ <!--define name="ROLL_ATTITUDE_GAIN" value="-7500"/>
+ <define name="ROLL_RATE_GAIN" value="-1500"/-->
+
+ </section>
+
+ <section name="NAV">
+ <define name="NAV_PITCH" value="0."/>
+ <define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
+ </section>
+
+ <section name="AGGRESSIVE" prefix="AGR_">
+ <define name="BLEND_START" value="50"/><!-- Altitude Error to Initiate
Aggressive Climb CANNOT BE ZERO!!-->
+ <define name="BLEND_END" value="15"/><!-- Altitude Error to Blend
Aggressive to Regular Climb Modes CANNOT BE ZERO!!-->
+ <define name="CLIMB_THROTTLE" value="0.9"/><!-- Gaz for Aggressive Climb
-->
+ <define name="CLIMB_PITCH" value="0.35"/><!-- Pitch for Aggressive Climb
-->
+ <define name="DESCENT_THROTTLE" value="0.05"/><!-- Gaz for Aggressive
Decent -->
+ <define name="DESCENT_PITCH" value="-0.35"/><!-- 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"/>
+ <define name="HOME_RADIUS" value="100" unit="m"/>
+</section>
+
+ <section name="DATALINK" prefix="DATALINK_">
+ <define name="DEVICE_TYPE" value="XBEE"/>
+ <define name="DEVICE_ADDRESS" value="...."/>
+ </section>
+
+ <section name="SIMU">
+ <define name="YAW_RESPONSE_FACTOR" value="0.5"/>
+ </section>
+
+ <section name="MICROMAG">
+
+ <define name="MM_SS_PIN" value="20"/>
+ <define name="MM_SS_IODIR" value="IO0DIR"/>
+ <define name="MM_SS_IOSET" value="IO0SET"/>
+ <define name="MM_SS_IOCLR" value="IO0CLR"/>
+
+ <define name="MM_RESET_PIN" value="29"/>
+ <define name="MM_RESET_IODIR" value="IO0DIR"/>
+ <define name="MM_RESET_IOSET" value="IO0SET"/>
+ <define name="MM_RESET_IOCLR" value="IO0CLR"/>
+
+ <define name="MM_DRDY_PINSEL" value="PINSEL1"/>
+ <define name="MM_DRDY_PINSEL_BIT" value="0"/>
+ <define name="MM_DRDY_PINSEL_VAL" value="1"/>
+ <define name="MM_DRDY_EINT" value="0"/>
+ <define name="MM_DRDY_VIC_IT" value="VIC_EINT0"/>
+
+ </section>
+
+ <makefile>
+CONFIG = \"tiny_2_1.h\"
+
+include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile
+
+FLASH_MODE=IAP
+
+ap.CFLAGS += -DFBW -DAP -DBOARD_CONFIG=$(CONFIG) -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
+
+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_4
+ap.srcs += $(SRC_ARCH)/adc_hw.c
+
+ap.CFLAGS += -DGPS -DUBX -DUSE_UART0 -DGPS_LINK=Uart0 -DUART0_BAUD=B38400
-DGPS_USE_LATLONG
+# -DGPS_LED=2
+ap.srcs += gps_ubx.c gps.c latlong.c
+
+ap.CFLAGS += -DINFRARED -DALT_KALMAN -DWIND_INFO -DWIND_INFO_RET
+ap.srcs += infrared.c estimator.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
+ap.srcs += nav_survey_rectangle.c
+
+ap.srcs += humid_sht.c
+ap.CFLAGS += -DUSE_HUMID_SHT -DDAT_PIN=30 -DSCK_PIN=4
+
+#ap.srcs += baro_scp.c
+#ap.CFLAGS += -DUSE_BARO_SCP
+
+ap.CFLAGS += -DMICROMAG_DRDY_VIC_SLOT=9 -DSSP_VIC_SLOT=11 -DUSE_MICROMAG_FW
+ap.srcs += micromag_fw.c $(SRC_ARCH)/micromag_fw_hw.c
+
+# EagleTree airspeed sensor
+ap.CFLAGS += -DUSE_AIRSPEED_ETS -DUSE_I2C0
+ap.srcs += airspeed_ets.c i2c.c $(SRC_ARCH)/i2c_hw.c
+
+ap.srcs += bomb.c
+
+ap.srcs += snav.c
+
+# distance sensor
+ap.CFLAGS += -DUSE_ADC_3 -DUSE_ADC_GENERIC -DADC_CHANNEL_GENERIC1=ADC_3
-DADC_CHANNEL_GENERIC_NB_SAMPLES=16
+ap.srcs += adc_generic.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 += bomb.c
+
+
+ </makefile>
+</airframe>
Modified: paparazzi3/trunk/conf/airframes/mm/fixed-wing/miniwing.xml
===================================================================
--- paparazzi3/trunk/conf/airframes/mm/fixed-wing/miniwing.xml 2010-05-11
09:56:22 UTC (rev 4906)
+++ paparazzi3/trunk/conf/airframes/mm/fixed-wing/miniwing.xml 2010-05-11
10:46:55 UTC (rev 4907)
@@ -1,4 +1,4 @@
-<!DOCTYPE airframe SYSTEM "airframe.dtd">
+<!DOCTYPE airframe SYSTEM "../../airframe.dtd">
<!-- mini wing, 3A brushless
Tiny 2.11 board, LEA 5H
Modified: paparazzi3/trunk/conf/flight_plans/cube.xml
===================================================================
--- paparazzi3/trunk/conf/flight_plans/cube.xml 2010-05-11 09:56:22 UTC (rev
4906)
+++ paparazzi3/trunk/conf/flight_plans/cube.xml 2010-05-11 10:46:55 UTC (rev
4907)
@@ -35,16 +35,24 @@
<block name="wait" strip_button="wait">
<circle radius="-nav_radius" wp="CR"/>
</block>
+
+ <block name="Preset cubical lines" strip_button="CubeInit">
+ <set var="cube_sect" value="1"/>
+ <set var="cube_nsect_x" value="3"/>
+ <set var="cube_nsect_z" value="2"/>
+ <set var="cube_alpha" value="60"/>
+ <set var="cube_size_x" value="70"/>
+ <set var="cube_size_y" value="150"/>
+ <set var="cube_size_z" value="100"/>
+ <set var="cube_grid_x" value="20"/>
+ <set var="cube_grid_z" value="20"/>
+ <set var="cube_offs_x" value="0"/>
+ <set var="cube_offs_y" value="30"/>
+ <set var="cube_offs_z" value="40"/>
+ <deroute block="Fly lines in cubical"/>
+ </block>
+
<block name="Fly lines in cubical" strip_button="Cube">
- <set var="cube_alpha" value="60"/>
- <set var="cube_size_x" value="70"/>
- <set var="cube_size_y" value="150"/>
- <set var="cube_size_z" value="50"/>
- <set var="cube_grid_x" value="20"/>
- <set var="cube_grid_z" value="20"/>
- <set var="cube_offs_x" value="0"/>
- <set var="cube_offs_y" value="30"/>
- <set var="cube_offs_z" value="40"/>
<call fun="nav_cube_init(WP_CENTER, WP_B0, WP_E0)"/>
<for from="0" to="cube_nline_z" var="j">
<for from="0" to="cube_nline_x" var="i">
Added: paparazzi3/trunk/conf/settings/nav_cube.xml
===================================================================
--- paparazzi3/trunk/conf/settings/nav_cube.xml (rev 0)
+++ paparazzi3/trunk/conf/settings/nav_cube.xml 2010-05-11 10:46:55 UTC (rev
4907)
@@ -0,0 +1,21 @@
+<!DOCTYPE settings SYSTEM "settings.dtd">
+
+<settings>
+ <dl_settings>
+ <dl_settings NAME="cube">
+ <dl_setting MIN="0" MAX="360" STEP="1" VAR="cube_alpha"
module="nav_cube" handler="SetAlpha"/>
+ <dl_setting MIN="1" MAX="12" STEP="1" VAR="cube_sect"
module="nav_cube" handler="SetSect"/>
+ <dl_setting MIN="1" MAX="50" STEP="1" VAR="cube_grid_x"
module="nav_cube" handler="SetGridX"/>
+ <dl_setting MIN="1" MAX="50" STEP="1" VAR="cube_grid_z"
module="nav_cube" handler="SetGridZ"/>
+ <dl_setting MIN="1" MAX="200" STEP="1" VAR="cube_offs_x"
module="nav_cube" handler="SetOffsX"/>
+ <dl_setting MIN="1" MAX="200" STEP="1" VAR="cube_offs_y"
module="nav_cube" handler="SetOffsY"/>
+ <dl_setting MIN="1" MAX="200" STEP="1" VAR="cube_offs_z"
module="nav_cube" handler="SetOffsZ"/>
+ <dl_setting MIN="1" MAX="500" STEP="1" VAR="cube_size_x"
module="nav_cube" handler="SetSizeX"/>
+ <dl_setting MIN="1" MAX="500" STEP="1" VAR="cube_size_y"
module="nav_cube" handler="SetSizeY"/>
+ <dl_setting MIN="1" MAX="500" STEP="1" VAR="cube_size_z"
module="nav_cube" handler="SetSizeZ"/>
+ <dl_setting MIN="1" MAX="8" STEP="1" VAR="cube_nsect_x"
module="nav_cube" handler="SetNSectX"/>
+ <dl_setting MIN="1" MAX="8" STEP="1" VAR="cube_nsect_z"
module="nav_cube" handler="SetNSectZ"/>
+ </dl_settings>
+ </dl_settings>
+</settings>
+
Modified: paparazzi3/trunk/sw/airborne/nav_cube.c
===================================================================
--- paparazzi3/trunk/sw/airborne/nav_cube.c 2010-05-11 09:56:22 UTC (rev
4906)
+++ paparazzi3/trunk/sw/airborne/nav_cube.c 2010-05-11 10:46:55 UTC (rev
4907)
@@ -30,60 +30,98 @@
#include "airframe.h"
#include "nav_cube.h"
#include "nav.h"
+#include "flight_plan.h"
int32_t cube_alpha;
int32_t cube_size_x, cube_size_y, cube_size_z;
int32_t cube_grid_x, cube_grid_z;
int32_t cube_offs_x, cube_offs_y, cube_offs_z;
int32_t cube_nline_x, cube_nline_z;
+int32_t cube_sect=1;
+int32_t cube_nsect_x=1, cube_nsect_z=1;
bool_t nav_cube_init(uint8_t center, uint8_t tb, uint8_t te) {
- int32_t i, start_bx, start_by, start_bz, start_ex, start_ey, start_ez;
+ int32_t j, start_bx, start_by, start_bz, start_ex, start_ey, start_ez;
int32_t bx, by, ex, ey;
float alpha, cos_alpha, sin_alpha;
+ int32_t cube_nline_x_t, cube_nline_z_t;
+ int32_t cube_pos_x, cube_pos_z;
+ int32_t cube_line_x_start, cube_line_x_end;
+ int32_t cube_line_z_start, cube_line_z_end;
/* sanity checks */
- if (cube_grid_x == 0) cube_nline_x = 1;
- else cube_nline_x = cube_size_x / cube_grid_x + 1;
- if (cube_grid_z == 0) cube_nline_z = 1;
- else cube_nline_z = cube_size_z / cube_grid_z + 1;
+ if (cube_nsect_x <= 0) cube_nsect_x = 1;
+ if (cube_nsect_z <= 0) cube_nsect_z = 1;
+ if ((cube_sect <= 0) ||
+ (cube_sect > (cube_nsect_x*cube_nsect_z))) cube_sect = 1;
+ /* total number of lines/layers to fly */
+ if (cube_grid_x == 0) cube_nline_x_t = 1;
+ else cube_nline_x_t = cube_size_x / cube_grid_x + 1;
+ if (cube_grid_z == 0) cube_nline_z_t = 1;
+ else cube_nline_z_t = cube_size_z / cube_grid_z + 1;
+
+ /* position and number of lines in this sector */
+ cube_pos_x = (cube_sect-1) % cube_nsect_x;
+ cube_line_x_start = (cube_pos_x * cube_nline_x_t)/cube_nsect_x;
+ cube_line_x_end = ((cube_pos_x+1) * cube_nline_x_t)/cube_nsect_x;
+ if (cube_line_x_end > cube_nline_x_t) cube_line_x_end = cube_nline_x_t;
+ cube_nline_x = cube_line_x_end - cube_line_x_start;
+
/* do not do more than pre-set number of lines */
- if (cube_nline_x >= MAX_LINES_X) cube_nline_x = 0;
+ if (cube_nline_x >= MAX_LINES_X) cube_nline_x = MAX_LINES_X-1;
+ /* position and number of layers in this sector */
+ cube_pos_z = (cube_sect-1) / cube_nsect_z;
+ cube_line_z_start = (cube_pos_z * cube_nline_z_t)/cube_nsect_z;
+ cube_line_z_end = ((cube_pos_z+1) * cube_nline_z_t)/cube_nsect_z;
+ cube_nline_z = cube_line_z_end - cube_line_z_start;
+
/* do the costly stuff only once */
alpha = ((360. - cube_alpha) / 360.) * 2 * M_PI;
cos_alpha = cos(alpha);
sin_alpha = sin(alpha);
/* calculate lower left start begin/end x coord */
- start_bx = waypoints[center].x - (((cube_nline_x-1) * cube_grid_x)/2) +
cube_offs_x;
- start_ex = waypoints[center].x - (((cube_nline_x-1) * cube_grid_x)/2) +
cube_offs_x;
+ start_bx = waypoints[center].x - (((cube_nline_x_t-1) * cube_grid_x)/2)
+ + cube_offs_x;
+ start_ex = start_bx;
- /* calculate lower left start begin point y coord */
- start_by = waypoints[center].y - cube_offs_y - cube_size_y;
-
/* calculate lower left start end point y coord */
start_ey = waypoints[center].y - cube_offs_y;
+ /* calculate lower left start begin point y coord */
+ start_by = start_ey - cube_size_y;
+
/* calculate lower left start begin/end z coord */
- start_bz = waypoints[center].a - (((cube_nline_z-1) * cube_grid_z)/2) +
cube_offs_z;
- start_ez = waypoints[center].a - (((cube_nline_z-1) * cube_grid_z)/2) +
cube_offs_z;
+ start_bz = waypoints[center].a - (((cube_nline_z-1) * cube_grid_z)/2)
+ + cube_offs_z;
+ start_ez = start_bz;
- for (i=0; i < cube_nline_x; i++) {
+ /* reset all waypoints to the standby position */
+ for (j=0; j < MAX_LINES_X; j++) {
+ waypoints[tb+j].x = waypoints[center].x + STBY_OFFSET;
+ waypoints[tb+j].y = waypoints[center].y;
+ waypoints[te+j].x = waypoints[center].x + STBY_OFFSET;
+ waypoints[te+j].y = waypoints[center].y;
+ }
+
+ /* set used waypoints */
+ for (j=0; j < cube_nline_x; j++) {
+ int i = cube_line_x_start+j;
/* set waypoints and vectorize in regard to center */
bx = (start_bx + i*cube_grid_x) - waypoints[center].x;
by = start_by - waypoints[center].y;
ex = (start_ex + i*cube_grid_x) - waypoints[center].x;
ey = start_ey - waypoints[center].y;
/* rotate clockwise with alpha and un-vectorize*/
- waypoints[tb+i].x = bx * cos_alpha - by * sin_alpha + waypoints[center].x;
- waypoints[tb+i].y = bx * sin_alpha + by * cos_alpha + waypoints[center].y;
- waypoints[tb+i].a = start_bz;
- waypoints[te+i].x = ex * cos_alpha - ey * sin_alpha + waypoints[center].x;
- waypoints[te+i].y = ex * sin_alpha + ey * cos_alpha + waypoints[center].y;
- waypoints[te+i].a = start_ez;
+ waypoints[tb+j].x = bx * cos_alpha - by * sin_alpha + waypoints[center].x;
+ waypoints[tb+j].y = bx * sin_alpha + by * cos_alpha + waypoints[center].y;
+ waypoints[tb+j].a = start_bz;
+ waypoints[te+j].x = ex * cos_alpha - ey * sin_alpha + waypoints[center].x;
+ waypoints[te+j].y = ex * sin_alpha + ey * cos_alpha + waypoints[center].y;
+ waypoints[te+j].a = start_ez;
}
/* bug in <for from="" to=""> ? */
@@ -103,10 +141,14 @@
waypoints[dest_b].x = waypoints[src_b+i].x;
waypoints[dest_b].y = waypoints[src_b+i].y;
waypoints[dest_b].a = waypoints[src_b+i].a + j*cube_grid_z;
+ /* always keep at least security altitude */
+ if (waypoints[dest_b].a < ground_alt+SECURITY_HEIGHT) waypoints[dest_b].a =
ground_alt+SECURITY_HEIGHT;
waypoints[dest_e].x = waypoints[src_e+i].x;
waypoints[dest_e].y = waypoints[src_e+i].y;
waypoints[dest_e].a = waypoints[src_e+i].a + j*cube_grid_z;
+ /* always keep at least security altitude */
+ if (waypoints[dest_e].a < ground_alt+SECURITY_HEIGHT) waypoints[dest_e].a =
ground_alt+SECURITY_HEIGHT;
return FALSE;
}
Modified: paparazzi3/trunk/sw/airborne/nav_cube.h
===================================================================
--- paparazzi3/trunk/sw/airborne/nav_cube.h 2010-05-11 09:56:22 UTC (rev
4906)
+++ paparazzi3/trunk/sw/airborne/nav_cube.h 2010-05-11 10:46:55 UTC (rev
4907)
@@ -28,6 +28,7 @@
#include "std.h"
#define MAX_LINES_X 8
+#define STBY_OFFSET 500
extern bool_t nav_cube_init(uint8_t turb, uint8_t tb, uint8_t te);
bool_t nav_cube(int8_t j, int8_t i,
@@ -43,8 +44,92 @@
extern int32_t cube_offs_x; /* offset to center x (horizontal) */
extern int32_t cube_offs_y; /* offset to center y (in direction) */
extern int32_t cube_offs_z; /* offset to center z (vertical) */
+
+extern int32_t cube_sect; /* sector to fly in (1..[nsect_x*nsect_z]) */
+extern int32_t cube_nsect_x; /* number of sectors horizontal */
+extern int32_t cube_nsect_z; /* number of sectors vertical */
+
extern int32_t cube_nline_x; /* number of lines x (horizontal) */
extern int32_t cube_nline_z; /* number of lines z (vertical) */
+#define nav_cube_SetAlpha(i) { cube_alpha=i; }
+#define nav_cube_SetSect(i) { cube_sect=i; }
+#define nav_cube_SetGridX(i) { cube_grid_x=i; }
+#define nav_cube_SetGridZ(i) { cube_grid_z=i; }
+#define nav_cube_SetSizeX(i) { cube_size_x=i; }
+#define nav_cube_SetSizeY(i) { cube_size_y=i; }
+#define nav_cube_SetSizeZ(i) { cube_size_z=i; }
+#define nav_cube_SetOffsX(i) { cube_offs_x=i; }
+#define nav_cube_SetOffsY(i) { cube_offs_y=i; }
+#define nav_cube_SetOffsZ(i) { cube_offs_z=i; }
+#define nav_cube_SetNSectX(i) { cube_nsect_x=i; }
+#define nav_cube_SetNSectZ(i) { cube_nsect_z=i; }
+
+/*
+
+ from above:
+
+ | (offs_x)
+
+ o [x, y] -
+ |
+ | (offs_y)
+ |
+ -
+ ^ ^ ^ ^ ^ |
+ | | | | | |
+ | | | | | | (size_y)
+ | | | | | |
+ | | | | | |
+ -
+ |--|
+ (grid_x)
+
+ |-----------|
+ (size_x)
+
+
+ side view:
+
+ ---------> - -
+ | (grid_z) |
+ ---------> - |
+ | (offs_z) | (size_z)
+ ---------> | |
+ o [alt] - |
+ ---------> -
+
+ |----------|--------|
+ (size_y) (offs_y)
+
+
+ back view, 1x1 sector:
+
+ -------
+ | |
+ | 1 | ^
+ | | |
+ s------- |
+
+ ---->
+
+
+ back view, 3x2 sectors:
+
+ ------- ------- -------
+ | | | |
+ | 4 | 5 | 6 | ^
+ | | | | |
+ s-------s-------s------- |
+ | | | |
+ | 1 | 2 | 3 | ^
+ | | | | |
+ s-------s-------s------- | (nsect_z)
+
+ ----> ----> ---->
+ (nsect_x)
+
+*/
+
#endif /* NAV_CUBE_H */
Modified: paparazzi3/trunk/sw/in_progress/blitzer/Makefile
===================================================================
--- paparazzi3/trunk/sw/in_progress/blitzer/Makefile 2010-05-11 09:56:22 UTC
(rev 4906)
+++ paparazzi3/trunk/sw/in_progress/blitzer/Makefile 2010-05-11 10:46:55 UTC
(rev 4907)
@@ -1,5 +1,5 @@
-MCU = attiny45
+MCU = attiny25
PROG = dragon_isp
DEV = usb
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [4907] moving airframes, enhance nav cube,
Martin Mueller <=