[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[paparazzi-commits] [6193] branches/HB mods for hb_mini ap
From: |
Oliver Riesener |
Subject: |
[paparazzi-commits] [6193] branches/HB mods for hb_mini ap |
Date: |
Thu, 21 Oct 2010 09:39:59 +0000 |
Revision: 6193
http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=6193
Author: olri
Date: 2010-10-21 09:39:58 +0000 (Thu, 21 Oct 2010)
Log Message:
-----------
branches/HB mods for hb_mini ap
Modified Paths:
--------------
paparazzi3/branches/HB/trunk/bin/bootloader.sh
paparazzi3/branches/HB/trunk/bin/clean.sh
paparazzi3/branches/HB/trunk/bin/clean_ac.sh
paparazzi3/branches/HB/trunk/bin/compile.sh
paparazzi3/branches/HB/trunk/bin/compile_all.sh
paparazzi3/branches/HB/trunk/bin/find.sh
paparazzi3/branches/HB/trunk/bin/ground.sh
paparazzi3/branches/HB/trunk/bin/tunnel.sh
paparazzi3/branches/HB/trunk/bin/upload.sh
paparazzi3/branches/HB/trunk/conf/airframes/HB/extra/SAS.xml
paparazzi3/branches/HB/trunk/conf/autopilot/conf_demo.h
paparazzi3/branches/HB/trunk/conf/conf.xml.HB
paparazzi3/branches/HB/trunk/conf/control_panel.xml.HB
paparazzi3/branches/HB/trunk/sw/airborne/arm7/i2c_hw.c
paparazzi3/branches/HB/trunk/sw/airborne/arm7/ppm_hw.c
paparazzi3/branches/HB/trunk/sw/airborne/hmc5843_i2c.c
paparazzi3/branches/HB/trunk/sw/airborne/main_demo3.c
paparazzi3/branches/HB/trunk/sw/airborne/main_demo4.c
paparazzi3/branches/HB/trunk/sw/airborne/main_demo5.c
Added Paths:
-----------
paparazzi3/branches/HB/trunk/bin/upload_isp.sh
paparazzi3/branches/HB/trunk/conf/airframes/HB/extra/hb_mini.xml
paparazzi3/branches/HB/trunk/conf/radios/HB/mx12-HB_MINI.xml
paparazzi3/branches/HB/trunk/sw/airborne/hmc5843_i2c1.c
Property Changed:
----------------
paparazzi3/branches/HB/trunk/
Property changes on: paparazzi3/branches/HB/trunk
___________________________________________________________________
Modified: svn:ignore
- var
.cvsignore
*.cmo
*.cma
*.cmi
*.cmx
.depend
+ var
.cvsignore
*.cmo
*.cma
*.cmi
*.cmx
.depend
dox
Modified: paparazzi3/branches/HB/trunk/bin/bootloader.sh
===================================================================
--- paparazzi3/branches/HB/trunk/bin/bootloader.sh 2010-10-21 01:30:14 UTC
(rev 6192)
+++ paparazzi3/branches/HB/trunk/bin/bootloader.sh 2010-10-21 09:39:58 UTC
(rev 6193)
@@ -2,4 +2,12 @@
#
# $Id$ olri
#
+
make upload_bl PROC=GENERIC
+
+for TTY in /dev/ttyS0 /dev/ttyS1 /dev/ttyUSB0 /dev/ttyUSB1
+do
+ if [ -c $TTY ] ; then
+ lpc21isp sw/airborne/arm7/test/bootloader/bl.hex $TTY 38400 12000
+ fi
+done
Modified: paparazzi3/branches/HB/trunk/bin/clean.sh
===================================================================
--- paparazzi3/branches/HB/trunk/bin/clean.sh 2010-10-21 01:30:14 UTC (rev
6192)
+++ paparazzi3/branches/HB/trunk/bin/clean.sh 2010-10-21 09:39:58 UTC (rev
6193)
@@ -2,4 +2,5 @@
#
# $Id:$ olri
#
+
make clean
Modified: paparazzi3/branches/HB/trunk/bin/clean_ac.sh
===================================================================
--- paparazzi3/branches/HB/trunk/bin/clean_ac.sh 2010-10-21 01:30:14 UTC
(rev 6192)
+++ paparazzi3/branches/HB/trunk/bin/clean_ac.sh 2010-10-21 09:39:58 UTC
(rev 6193)
@@ -2,5 +2,7 @@
#
# $Id:$ olri
#
+
[ $# = 1 ] || { echo "Usage: $0 <AirframeName>"; exit 5; }
+
make AIRCRAFT="$1" clean_ac
Modified: paparazzi3/branches/HB/trunk/bin/compile.sh
===================================================================
--- paparazzi3/branches/HB/trunk/bin/compile.sh 2010-10-21 01:30:14 UTC (rev
6192)
+++ paparazzi3/branches/HB/trunk/bin/compile.sh 2010-10-21 09:39:58 UTC (rev
6193)
@@ -2,5 +2,7 @@
#
# $Id:$ olri
#
+
[ $# = 1 ] || { echo "Usage: $0 <AirframeName>"; exit 5; }
+
make AIRCRAFT="$1" ap.compile
Modified: paparazzi3/branches/HB/trunk/bin/compile_all.sh
===================================================================
--- paparazzi3/branches/HB/trunk/bin/compile_all.sh 2010-10-21 01:30:14 UTC
(rev 6192)
+++ paparazzi3/branches/HB/trunk/bin/compile_all.sh 2010-10-21 09:39:58 UTC
(rev 6193)
@@ -3,7 +3,7 @@
# $Id$
#
# SAS Busca_Razor_40cm Busca_Razor_80cm TWOG_CHNI Lerche MJ5 Busca2
-for i in SAS Busca_Razor_40cm Busca_Razor_80cm TWOG_CHNI Lerche MJ5 Busca2
+for i in SAS Busca_Razor_40cm Busca_Razor_80cm TWOG_CHNI Lerche MJ5 Busca2
HB_MINI
do
echo "###################### $i #######################"
(
@@ -11,7 +11,7 @@
) 2>&1 | egrep Total\|Error\|Fehler
done
-for i in 1 2 # defect 3 4 5
+for i in 1 2 3 4 # defect 5
do
echo "###################### demo$i #######################"
(
Modified: paparazzi3/branches/HB/trunk/bin/find.sh
===================================================================
--- paparazzi3/branches/HB/trunk/bin/find.sh 2010-10-21 01:30:14 UTC (rev
6192)
+++ paparazzi3/branches/HB/trunk/bin/find.sh 2010-10-21 09:39:58 UTC (rev
6193)
@@ -2,5 +2,7 @@
#
# $Id:$ olri
#
+
[ "$#" = "1" ] || { echo "Usage: $0 <pattern>"; exit 5; }
+
find . -type f -print0 | xargs -0 egrep "$@" | grep -v /.svn/
Modified: paparazzi3/branches/HB/trunk/bin/ground.sh
===================================================================
--- paparazzi3/branches/HB/trunk/bin/ground.sh 2010-10-21 01:30:14 UTC (rev
6192)
+++ paparazzi3/branches/HB/trunk/bin/ground.sh 2010-10-21 09:39:58 UTC (rev
6193)
@@ -2,5 +2,7 @@
#
# $Id:$ olri
#
+
make
+
./paparazzi &
Modified: paparazzi3/branches/HB/trunk/bin/tunnel.sh
===================================================================
--- paparazzi3/branches/HB/trunk/bin/tunnel.sh 2010-10-21 01:30:14 UTC (rev
6192)
+++ paparazzi3/branches/HB/trunk/bin/tunnel.sh 2010-10-21 09:39:58 UTC (rev
6193)
@@ -1,4 +1,6 @@
+#!/bin/sh
#
# $Id: tunnel.sh,v 1.1 2008-06-02 19:05:27 olri Exp $ olri
#
+
make AIRCRAFT=MJ5 tunnel.upload
Modified: paparazzi3/branches/HB/trunk/bin/upload.sh
===================================================================
--- paparazzi3/branches/HB/trunk/bin/upload.sh 2010-10-21 01:30:14 UTC (rev
6192)
+++ paparazzi3/branches/HB/trunk/bin/upload.sh 2010-10-21 09:39:58 UTC (rev
6193)
@@ -2,5 +2,7 @@
#
# $Id:$ olri
#
+
[ $# = 1 ] || { echo "Usage: $0 <AirframeName>"; exit 5; }
+
make AIRCRAFT="$1" ap.upload
Added: paparazzi3/branches/HB/trunk/bin/upload_isp.sh
===================================================================
--- paparazzi3/branches/HB/trunk/bin/upload_isp.sh
(rev 0)
+++ paparazzi3/branches/HB/trunk/bin/upload_isp.sh 2010-10-21 09:39:58 UTC
(rev 6193)
@@ -0,0 +1,8 @@
+#
+# $Id:$ olri
+#
+[ $# = 1 ] || { echo "Usage: $0 <AirframeName>"; exit 5; }
+
+make AIRCRAFT="$1" ap.compile
+
+lpc21isp var/$AIRCRAFT/ap/ap.hex /dev/ttyS1 38400 12000
Property changes on: paparazzi3/branches/HB/trunk/bin/upload_isp.sh
___________________________________________________________________
Added: svn:executable
+ *
Modified: paparazzi3/branches/HB/trunk/conf/airframes/HB/extra/SAS.xml
===================================================================
--- paparazzi3/branches/HB/trunk/conf/airframes/HB/extra/SAS.xml
2010-10-21 01:30:14 UTC (rev 6192)
+++ paparazzi3/branches/HB/trunk/conf/airframes/HB/extra/SAS.xml
2010-10-21 09:39:58 UTC (rev 6193)
@@ -270,7 +270,7 @@
#ap.srcs = sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c
test_adcs.c
-#olri added hmc5843
+#olri added hmc5843 on i2c0 bus
ap.CFLAGS += -DUSE_MAG_HMC5843 -DUSE_I2C0
ap.srcs += hmc5843_i2c.c i2c.c $(SRC_ARCH)/i2c_hw.c
#olri added hmc5843
Added: paparazzi3/branches/HB/trunk/conf/airframes/HB/extra/hb_mini.xml
===================================================================
--- paparazzi3/branches/HB/trunk/conf/airframes/HB/extra/hb_mini.xml
(rev 0)
+++ paparazzi3/branches/HB/trunk/conf/airframes/HB/extra/hb_mini.xml
2010-10-21 09:39:58 UTC (rev 6193)
@@ -0,0 +1,361 @@
+<!DOCTYPE airframe SYSTEM "../../airframe.dtd">
+
+<airframe name="HB_MINI Board">
+
+<!-- commands section -->
+
+ <servos>
+ <servo name="THROTTLE" no="1" min="1000" neutral="1000" max="2000"/>
+ <servo name="AILERON" no="2" max="1000" neutral="1500" min="2000"/>
+ <servo name="ELEVATOR" no="3" max="2000" neutral="1500" min="1000"/>
+ <servo name="HATCH" no="0" max="1000" neutral="1500" min="2000"/>
+ </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="@HATCH"/>
+ </rc_commands>
+
+ <command_laws>
+ <set servo="THROTTLE" value="@THROTTLE"/>
+ <set servo="AILERON" value="@ROLL"/>
+ <set servo="ELEVATOR" value="@PITCH"/>
+ <set servo="HATCH" value="@HATCH"/>
+ </command_laws>
+
+ <section name="AUTO1" prefix="AUTO1_">
+ <define name="MAX_ROLL" value="0.6"/>
+ <define name="MAX_PITCH" value="0.6"/>
+ </section>
+<!--
+ <section name="adc" prefix="ADC_CHANNEL_">
+ <define name="IR1" value="ADC_4"/>
+ <define name="IR2" value="ADC_3"/>
+ <define name="IR_NB_SAMPLES" value="16"/>
+ <define name="PRESSURE_OFF" value="ADC_0"/>
+ <define name="PRESSURE" value="ADC_2"/>
+ <define name="PRESSURE_NB_SAMPLES" value="16"/>
+ <define name="PRESSURE_OFF_NB_SAMPLES" value="16"/>
+ <define name="GYRO_ROLL" value="ADC_5"/>
+ <define name="GYRO_TEMP" value="ADC_6"/>
+ <define name="GYRO_NB_SAMPLES" value="16"/>
+ </section>
+-->
+<!-- orig busca 2008
+ <section name="adc" prefix="ADC_CHANNEL_">
+ <define name="IR1" value="ADC_0"/>
+ <define name="IR_TOP" value="ADC_1"/>
+ <define name="IR2" value="ADC_2"/>
+ <define name="IR_NB_SAMPLES" value="16"/>
+ <define name="PRESSURE_OFF" value="ADC_3"/>
+ <define name="PRESSURE" value="ADC_4"/>
+ <define name="PRESSURE_NB_SAMPLES" value="16"/>
+ <define name="PRESSURE_OFF_NB_SAMPLES" value="16"/>
+ <define name="GYRO_ROLL" value="ADC_5"/>
+ <define name="GYRO_TEMP" value="ADC_6"/>
+ <define name="GYRO_NB_SAMPLES" value="16"/>
+ </section>
+-->
+<!-- old hwarm 20100514 -->
+ <section name="adc" prefix="ADC_CHANNEL_">
+ <define name="RAZ_GROLL" value="ADC_0"/>
+ <define name="RAZ_GPITCH" value="ADC_1"/>
+ <define name="RAZ_GYAW" value="ADC_2"/>
+ <define name="IR_NB_SAMPLES" value="16"/>
+ <define name="IR1" value="ADC_3"/>
+ <define name="IR2" value="ADC_4"/>
+ <define name="RAZ_ACCX" value="ADC_5"/>
+ <define name="RAZ_ACCY" value="ADC_6"/>
+ <define name="RAZ_ACCZ" value="ADC_7"/>
+ </section>
+<!--
+ GROLL ADC_0
+ GPITCH ADC_1
+ GYAW ADC_2
+ ..
+ ..
+ ACCX ADC_5
+ ACCY ADC_6
+ ACCZ ADC_7
+-->
+
+ <section name="INFRARED" prefix="IR_">
+ <define name="ROLL_NEUTRAL_DEFAULT" value="6" unit="deg"/>
+ <define name="PITCH_NEUTRAL_DEFAULT" value="9" unit="deg"/>
+ <linear name="RollOfIrs" arity="2" coeff1="-0.7" coeff2="0.7"/>
+ <linear name="PitchOfIrs" arity="2" coeff1="-0.7" coeff2="-0.7"/>
+ <linear name="TopOfIr" arity="1" coeff1="1"/>
+ <define name="RAD_OF_IR_MAX_VALUE" value="0.0045"/>
+ <define name="RAD_OF_IR_MIN_VALUE" value="0.00075"/>
+ <define name="DEFAULT_CONTRAST" value="200"/>
+ <define name="RAD_OF_IR_CONTRAST" value="0.0001"/>
+ <define name="ADC_IR1_NEUTRAL" value="512"/>
+ <define name="ADC_IR2_NEUTRAL" value="512"/>
+ <define name="ADC_TOP_NEUTRAL" value="512"/>
+ </section>
+
+<!--
+ <section name="GYRO" prefix="GYRO_">
+ <define name="ADC_ROLL_COEF" value="1"/>
+ <define name="ADC_ROLL_NEUTRAL" value="500"/>
+ <define name="ADC_TEMP_NEUTRAL" value="476"/>
+ <define name="ADC_TEMP_SLOPE" value="0"/>
+ <define name="ROLL_SCALE" value="0.44"/>
+ <define name="ROLL_DIRECTION" value="1"/>
+ </section>
+-->
+ <section name="BAT">
+ <define name="MILLIAMP_AT_FULL_THROTTLE" value="0.86"/>
+<!-- olri Lipo 3S <define name="CATASTROPHIC_BAT_LEVEL" value="9.3"
unit="V"/> -->
+ <define name="CATASTROPHIC_BAT_LEVEL" value="6.1" unit="V"/>
+ </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="ALT_KALMAN_ENABLED" value="TRUE"/>
+ <define name="ALT_BARO_ENABLED" value="TRUE"/>
+ </section>
+
+ <section name="PID">
+ <define name="ROLL_PGAIN" value="5000."/>
+ <define name="PITCH_OF_ROLL" value="0.25"/>
+ <define name="PITCH_PGAIN" value="10000."/>
+ <define name="MAX_ROLL" value="0.35"/>
+ <define name="MAX_PITCH" value="0.35"/>
+ <define name="MIN_PITCH" value="-0.35"/>
+ <define name="AILERON_OF_THROTTLE" value="0.0"/>
+ <define name="CRUISE_THROTTLE" value="0.35"/>
+ </section>
+
+ <section name="ALT" prefix="CLIMB_">
+ <define name="PITCH_PGAIN" value="-0.05"/>
+ <define name="PITCH_IGAIN" value="0.075"/>
+ <define name="PGAIN" value="-0.01"/>
+ <define name="IGAIN" value="0.1"/>
+ <define name="MAX" value="1."/>
+ <define name="PITCH_OF_VZ_PGAIN" value="0.05"/>
+ <define name="THROTTLE_OF_CLIMB" value="0.15" unit="%/(m/s)"/>
+ </section>
+
+ <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
+ <define name="COURSE_PGAIN" value="-0.4"/>
+ <define name="ROLL_MAX_SETPOINT" value="0.6" unit="radians"/>
+ <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="5000."/>
+ <define name="AILERON_OF_THROTTLE" value="0.0"/>
+ <define name="PITCH_PGAIN" value="-9000."/>
+ <define name="PITCH_DGAIN" value="1.5"/>
+ <define name="ELEVATOR_OF_ROLL" value="1250"/>
+
+ <!-- roll rate loop -->
+ <define name="ROLL_RATE_MODE_DEFAULT" value="1"/>
+ <define name="ROLL_RATE_SETPOINT_PGAIN" value="-5." unit="rad/s/rad"/>
+ <define name="ROLL_RATE_MAX_SETPOINT" value="10"/>
+ <define name="LO_THROTTLE_ROLL_RATE_PGAIN" value="1000."/>
+ <define name="HI_THROTTLE_ROLL_RATE_PGAIN" value="1000."/>
+ <define name="ROLL_RATE_IGAIN" value="0."/>
+ <define name="ROLL_RATE_DGAIN" value="0."/>
+ <define name="ROLL_RATE_SUM_NB_SAMPLES" value="64"/>
+
+ </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.03"/>
+ <!-- outer loop saturation -->
+ <define name="ALTITUDE_MAX_CLIMB" value="2."/>
+
+ <!-- auto throttle inner loop -->
+ <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.35"/>
+ <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.30"/>
+ <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.80"/>
+ <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.15"
unit="%/(m/s)"/>
+ <define name="AUTO_THROTTLE_PGAIN" value="-0.01"/>
+ <define name="AUTO_THROTTLE_IGAIN" value="0.1"/>
+ <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>
+
+ <!-- auto pitch inner loop -->
+ <define name="AUTO_PITCH_PGAIN" value="-0.05"/>
+ <define name="AUTO_PITCH_IGAIN" value="0.075"/>
+ <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="NAV">
+ <define name="NAV_PITCH" value="0."/>
+ <define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
+ <define name="DEFAULT_CIRCLE_RADIUS" value="100" unit="m"/>
+ </section>
+
+ <section name="AGGRESSIVE" prefix="AGR_">
+ <define name="CLIMB_THROTTLE" value="0.95"/><!-- Throttle for Aggressive
Climb -->
+ <define name="DESCENT_THROTTLE" value="0.1"/><!-- Throttle for Aggressive
Decent -->
+ <define name="CLIMB_PITCH" value="0.3"/><!-- Pitch for Aggressive Climb -->
+ <define name="DESCENT_PITCH" value="-0.25"/><!-- Pitch for Aggressive
Decent -->
+ <define name="BLEND_START" value="20"/><!-- Altitude Error to Initiate
Aggressive Climb CANNOT BE ZERO!!-->
+ <define name="BLEND_END" value="10"/><!-- Altitude Error to Blend
Aggressive to Regular Climb Modes CANNOT BE ZERO!!-->
+ <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="GYRO_GAINS">
+ <define name="GYRO_MAX_RATE" value="200."/>
+ <define name="ROLLRATESUM_NB_SAMPLES" value="60"/>
+ <define name="ALT_ROLL_PGAIN" value="120.0"/>
+ <define name="ROLL_RATE_PGAIN" value="85.0"/>
+ <define name="ROLL_RATE_IGAIN" value="0.0"/>
+ <define name="ROLL_RATE_DGAIN" value="0.0"/>
+ </section>
+-->
+
+ <section name="FAILSAFE" prefix="FAILSAFE_">
+ <define name="DELAY_WITHOUT_GPS" value="1" 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>
+-->
+
+
+ <makefile>
+
+
+
+include $(PAPARAZZI_SRC)/conf/autopilot/tiny.makefile
+
+FLASH_MODE=IAP
+
+#Harware Low Level konfiguration
+
+ap.CFLAGS += -DFBW -DAP -DBOARD_CONFIG=\"HB/hb_mini_0_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
+
+ap.CFLAGS += -DRAZOR_IMU -DUSE_ADC_5 -DUSE_ADC_6 -DUSE_ADC_7
+ap.srcs += razor_imu.c
+
+#ap.CFLAGS += -DUSE_DAC
+ap.srcs += diydrones/dcm.c diydrones/matrix.c diydrones/read_adc.c
diydrones/vector.c diydrones/arduimu.c
+
+#ap.srcs = sys_time.c $(SRC_ARCH)/sys_time_hw.c $(SRC_ARCH)/armVIC.c
test_adcs.c
+
+#olri added hmc5843 on i2c1 bus
+#WEG ap.CFLAGS += -DUSE_MAG_HMC5843 -DUSE_I2C1
+#WEG ap.srcs += hmc5843_i2c1.c i2c.c $(SRC_ARCH)/i2c_hw.c
+#olri added hmc5843
+
+#olri added baro_scp_hw
+#WEG ap.srcs += baro_scp.c $(SRC_ARCH)/baro_scp_hw.c
+#WEG ap.CFLAGS += -DUSE_BARO_SCP
+#olri added baro_scp_hw
+
+ap.srcs += commands.c
+
+
+#
+#WEG ap.CFLAGS += -DACTUATORS=\"servos_4015_MAT_hw.h\" -DSERVOS_4015_MAT
+#WEG ap.srcs += $(SRC_ARCH)/servos_4015_MAT_hw.c actuators.c
+
+# radio control
+ap.CFLAGS += -DRADIO_CONTROL -DRADIO_CONTROL_TYPE=RC_FUTABA
+ap.srcs += radio_control.c $(SRC_ARCH)/ppm_hw.c
+
+#olri tuning / settings
+ap.CFLAGS += -DRADIO_CONTROL_SETTINGS
+ap.srcs += rc_settings.c
+
+ap.CFLAGS += -DDOWNLINK -DUSE_UART0 -DDOWNLINK_TRANSPORT=PprzTransport
-DDOWNLINK_FBW_DEVICE=Uart0 -DDOWNLINK_AP_DEVICE=Uart0 -DPPRZ_UART=Uart0
-DDATALINK=PPRZ -DUART0_BAUD=B38400
+ap.srcs += downlink.c $(SRC_ARCH)/uart_hw.c datalink.c pprz_transport.c
latlong.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
+ap.srcs += $(SRC_ARCH)/adc_hw.c
+
+# BARO_MP3H6115
+#WEG ap.CFLAGS += -DADC -DUSE_ADC_3 -DUSE_ADC_4
+#ap.CFLAGS += -DUSE_BARO_MP3H6115 -DBARO_SCALE=1.0
+#ap.srcs += baro_MP3H6115.c
+ap.srcs += baro_nobaro.c
+
+ap.CFLAGS += -DGPS -DUBX -DUSE_UART1 -DGPS_LINK=Uart1 -DUART1_BAUD=B38400
+ap.srcs += gps_ubx.c gps.c #latlong.c
+
+ap.CFLAGS += -DINFRARED -DADC -DUSE_ADC_3 -DUSE_ADC_4
+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
+
+# bomb test
+#WEG ap.srcs += bomb.c #nav_survey_rectangle.c
+
+#ap.CFLAGS += -DGYRO -DADXRS150
+#ap.srcs += gyro.c
+
+ap.srcs += nav_line.c nav_survey_rectangle.c
+
+ap.srcs += traffic_info.c
+
+#ap.srcs += light.c
+#ap.CFLAGS += -DUSE_LIGHT
+
+# PID sensor
+#ap.CFLAGS += -DUSE_ADC_6 -DUSE_ADC_GENERIC -DADC_CHANNEL_GENERIC1=ADC_6
-DADC_CHANNEL_GENERIC_NB_SAMPLES=16
+#ap.srcs += adc_generic.c
+
+ap.CFLAGS += -DUSE_MODULES
+
+# 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
+sim.srcs += nav_survey_rectangle.c nav_line.c
+sim.srcs += bomb.c #nav_survey_rectangle.c
+
+sim.srcs += light.c
+sim.CFLAGS += -DUSE_LIGHT
+
+#olri baro
+#sim.CFLAGS += -DUSE_BARO_MP3H6115 -DBARO_SCALE=1.0
+#sim.srcs += $(SRC_ARCH)/baro_MP3H6115_sim.c
+
+#olri tuning / settings
+sim.CFLAGS += -DRADIO_CONTROL_SETTINGS
+sim.srcs += rc_settings.c
+ap.CFLAGS += -DTELEMETRY_MODE_FBW=1
+
+ </makefile>
+</airframe>
Modified: paparazzi3/branches/HB/trunk/conf/autopilot/conf_demo.h
===================================================================
--- paparazzi3/branches/HB/trunk/conf/autopilot/conf_demo.h 2010-10-21
01:30:14 UTC (rev 6192)
+++ paparazzi3/branches/HB/trunk/conf/autopilot/conf_demo.h 2010-10-21
09:39:58 UTC (rev 6193)
@@ -14,7 +14,12 @@
#define PCLK (CCLK / PBSD_VAL)
#define LED_1_BANK 1
-#define LED_1_PIN 24
+// olri #define LED_1_PIN 24
+#define LED_1_PIN 18
+#define LED_2_BANK 1
+// olri #define LED_1_PIN 24
+#define LED_2_PIN 19
+
#endif /* CONFIG_DEMO_H */
Modified: paparazzi3/branches/HB/trunk/conf/conf.xml.HB
===================================================================
--- paparazzi3/branches/HB/trunk/conf/conf.xml.HB 2010-10-21 01:30:14 UTC
(rev 6192)
+++ paparazzi3/branches/HB/trunk/conf/conf.xml.HB 2010-10-21 09:39:58 UTC
(rev 6193)
@@ -139,4 +139,14 @@
settings="settings/tuning.xml"
gui_color="#ffffffffffff"
/>
+ <aircraft
+ name="HB_MINI"
+ ac_id="46"
+ airframe="airframes/HB/extra/hb_mini.xml"
+ radio="radios/HB/mx12-HB_MINI.xml"
+ telemetry="telemetry/default.xml"
+ flight_plan="flight_plans/HB/hochschule.xml"
+ settings="settings/HB/tuning_hsb_2.xml"
+ gui_color="white"
+ />
</conf>
Modified: paparazzi3/branches/HB/trunk/conf/control_panel.xml.HB
===================================================================
--- paparazzi3/branches/HB/trunk/conf/control_panel.xml.HB 2010-10-21
01:30:14 UTC (rev 6192)
+++ paparazzi3/branches/HB/trunk/conf/control_panel.xml.HB 2010-10-21
09:39:58 UTC (rev 6193)
@@ -52,6 +52,16 @@
<program name="GCS"/>
<program name="Real-time Plotter"/>
</session>
+ <session name="38k4 Hardware RS232 & ttyS1">
+ <program name="Data Link">
+ <arg flag="-d" constant="/dev/ttyS1"/>
+ <arg flag="-s" constant="38400"/>
+ </program>
+ <program name="Messages"/>
+ <program name="Server"/>
+ <program name="GCS"/>
+ <program name="Real-time Plotter"/>
+ </session>
<session name="Booz simulation : AHRS">
<program name="Messages">
<arg flag="-c" constant="telemetry"/>
@@ -171,4 +181,4 @@
<program name="GCS"/>
</session>
</section>
-</control_panel>
\ No newline at end of file
+</control_panel>
Added: paparazzi3/branches/HB/trunk/conf/radios/HB/mx12-HB_MINI.xml
===================================================================
--- paparazzi3/branches/HB/trunk/conf/radios/HB/mx12-HB_MINI.xml
(rev 0)
+++ paparazzi3/branches/HB/trunk/conf/radios/HB/mx12-HB_MINI.xml
2010-10-21 09:39:58 UTC (rev 6193)
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<!-- $Id: cockpitMM.xml,v 1.7 2006/04/13 11:30:56 poine Exp $
+--
+-- (c) 2003 Pascal Brisset, Antoine Drouin
+--
+-- This file is part of paparazzi.
+--
+-- paparazzi is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; either version 2, or (at your option)
+-- any later version.
+--
+-- paparazzi is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with paparazzi; see the file COPYING. If not, write to
+-- the Free Software Foundation, 59 Temple Place - Suite 330,
+-- Boston, MA 02111-1307, USA.
+-->
+
+<!--
+-- Attributes of root (Radio) tag :
+-- name: name of RC
+-- data_min: min width of a pulse to be considered as a data pulse
+-- data_max: max width of a pulse to be considered as a data pulse
+-- sync_min: min width of a pulse to be considered as a synchro pulse
+-- sync_max: max width of a pulse to be considered as a synchro pulse
+-- min, max and sync are expressed in micro-seconds
+-->
+
+<!--
+-- Attributes of channel tag :
+-- ctl: name of the command on the transmitter - only for displaying
+-- no: order in the PPM frame
+-- function: logical command
+-- averaged: channel filtered through several frames (for discrete commands)
+-- min: minimum pulse length (micro-seconds)
+-- max: maximum pulse length (micro-seconds)
+-- neutral: neutral pulse length (micro-seconds)
+-- Note: a command may be reversed by exchanging min and max values
+-->
+
+
+<!DOCTYPE radio SYSTEM "../radio.dtd">
+
+<!-- ACHTUNG hier zählt die Reihenfolge, nicht der Buchstabe am Anfang!!! -->
+
+<radio name="HB/mx12-HB_MINI.xml" data_min="900" data_max="2100" sync_min
="8000" sync_max ="13000" pulse_type="NEGATIVE">
+ <channel ctl="C" function="PITCH" max="2000" neutral="1500" min="900"
average="0"/>
+ <channel ctl="B" function="ROLL" max="1000" neutral="1500" min="2000"
average="0"/>
+ <channel ctl="A" function="THROTTLE" min="1000" neutral="1070" max="2000"
average="0"/>
+ <channel ctl="F" function="YAW" min="1000" neutral="1500" max="2000"
average="0"/>
+ <channel ctl="H" function="MODE" min="1000" neutral="1500" max="2000"
average="0"/>
+ <channel ctl="D" function="HATCH" min="1000" neutral="1100" max="2000"
average="1"/>
+ <channel ctl="E" function="CALIB" min="1000" neutral="1500" max="2000"
average="0"/>
+ <channel ctl="G" function="GAIN2" min="1000" neutral="1500" max="2000"
average="1"/>
+</radio>
Modified: paparazzi3/branches/HB/trunk/sw/airborne/arm7/i2c_hw.c
===================================================================
--- paparazzi3/branches/HB/trunk/sw/airborne/arm7/i2c_hw.c 2010-10-21
01:30:14 UTC (rev 6192)
+++ paparazzi3/branches/HB/trunk/sw/airborne/arm7/i2c_hw.c 2010-10-21
09:39:58 UTC (rev 6193)
@@ -151,6 +151,10 @@
#define I2C1_DATA_REG I2C1DAT
#define I2C1_STATUS_REG I2C1STAT
+#ifndef I2C1_VIC_SLOT
+#define I2C1_VIC_SLOT 9
+#endif
+
void i2c1_ISR(void) __attribute__((naked));
/* SDA1 on P0.14 */
Modified: paparazzi3/branches/HB/trunk/sw/airborne/arm7/ppm_hw.c
===================================================================
--- paparazzi3/branches/HB/trunk/sw/airborne/arm7/ppm_hw.c 2010-10-21
01:30:14 UTC (rev 6192)
+++ paparazzi3/branches/HB/trunk/sw/airborne/arm7/ppm_hw.c 2010-10-21
09:39:58 UTC (rev 6193)
@@ -2,9 +2,10 @@
#include "std.h"
#include "sys_time.h"
+#ifndef PPM_NB_CHANNEL
+#define PPM_NB_CHANNEL PPM_NB_PULSES
+#endif
-
-
uint16_t ppm_pulses[PPM_NB_CHANNEL];
volatile bool_t ppm_valid;
Modified: paparazzi3/branches/HB/trunk/sw/airborne/hmc5843_i2c.c
===================================================================
--- paparazzi3/branches/HB/trunk/sw/airborne/hmc5843_i2c.c 2010-10-21
01:30:14 UTC (rev 6192)
+++ paparazzi3/branches/HB/trunk/sw/airborne/hmc5843_i2c.c 2010-10-21
09:39:58 UTC (rev 6193)
@@ -1,6 +1,6 @@
/** \file hmc5843_i2c.c
*
- * \brief Read the Honywell hmc5843 magnetometer on I2C sensor interface
+ * \brief Read the Honywell hmc5843 magnetometer on I2C(0) sensor interface
*
* This reads the values for X Y Z magnitude from the HMC5843 through I2C.
*
Added: paparazzi3/branches/HB/trunk/sw/airborne/hmc5843_i2c1.c
===================================================================
--- paparazzi3/branches/HB/trunk/sw/airborne/hmc5843_i2c1.c
(rev 0)
+++ paparazzi3/branches/HB/trunk/sw/airborne/hmc5843_i2c1.c 2010-10-21
09:39:58 UTC (rev 6193)
@@ -0,0 +1,155 @@
+/** \file hmc5843_i2c.c
+ *
+ * \brief Read the Honywell hmc5843 magnetometer on I2C(1) sensor interface
+ *
+ * This reads the values for X Y Z magnitude from the HMC5843 through I2C.
+ *
+ * \author Oliver Riesener 2010
+ */
+
+#include <string.h>
+#include <math.h>
+
+#include "sys_time.h"
+#include "i2c.h"
+#include "led.h"
+
+#include "hmc5843_i2c.h"
+
+#define HMC5843_SLAVE_ADDR 0x3C
+
+uint8_t hmc5843_status;
+int16_t hmc5843_mag_x;
+int16_t hmc5843_mag_y;
+int16_t hmc5843_mag_z;
+float hmc5843_mag_h;
+
+bool_t hmc5843_available;
+
+volatile bool_t hmc5843_i2c_done;
+
+typedef struct {
+ unsigned short offset[3]; // x-, y-, z-offset
+ unsigned short range[3]; //x-, y-, z- range
+} hmc5843_param_t;
+
+#if (AIRCRAFT == SAS)
+#define MAX_X 650
+#define MAX_Y 590
+#define MAX_Z 580
+#define MIN_X -570
+#define MIN_Y -620
+#define MIN_Z -530
+#else
+#warning no magent offset ranges
+#define MAX_X 600
+#define MAX_Y 600
+#define MAX_Z 600
+#define MIN_X -600
+#define MIN_Y -600
+#define MIN_Z -600
+#endif
+
+
+static hmc5843_param_t hmc5843_param = {
+ { (MAX_X+MIN_X)/2,(MAX_Y+MIN_Y)/2,(MAX_Z+MIN_Z)/2 },
+ { MAX_X-(MIN_X),MAX_Y-(MIN_Y),MAX_Z-(MAX_Z) }
+};
+
+/**
+ * Initialises states from HMC5843 device
+ *
+ * \author Oliver Riesener
+ *
+ * \return hmc5843_status, hmc5843_i2c_done, hmc5843_available
+ */
+void hmc5843_init( void ) {
+ hmc5843_status = HMC5843_UNINIT;
+ hmc5843_i2c_done = FALSE;
+ hmc5843_available = FALSE;
+}
+
+/**
+ * reads magneto data from HMC5843 device, correct axis and sign
+ *
+ * return axis in airplane direction and notation
+ *
+ * \todo scaling is missing, incl. dice to begin
+ * \return hmc5843_mag_[xyzh], hmc5843_available
+ */
+void hmc5843_periodic( void ) {
+ if (hmc5843_status == HMC5843_UNINIT && cpu_time_sec > 1) {
+ /* initialise device, write 0x00 to 0x01 */
+ i2c1_buf[0] = 0x02; // mode register
+ i2c1_buf[1] = 0x00; // cont. measurement mode
+ hmc5843_i2c_done = FALSE;
+ i2c1_transmit(HMC5843_SLAVE_ADDR, 2, &hmc5843_i2c_done);
+ hmc5843_status = HMC5843_IDLE;
+ } else {
+ if (hmc5843_i2c_done) {
+ if (hmc5843_status == HMC5843_IDLE) {
+ // start 6+1 bytes read sequence 6 data + 1 status mode rr
+ hmc5843_status = HMC5843_READ_XYZ;
+ hmc5843_i2c_done = FALSE;
+ i2c1_transceive(HMC5843_SLAVE_ADDR, 0, 6+1, &hmc5843_i2c_done);
+ } else if ( hmc5843_status == HMC5843_READ_XYZ ) {
+ // calculate the 3 answer values, switch axis and sign
+ hmc5843_mag_y = -((i2c1_buf[0] << 8) | i2c1_buf[1]); // xh + xl
+ hmc5843_mag_x = -((i2c1_buf[2] << 8) | i2c1_buf[3]); // yh + yl
+ hmc5843_mag_z = -((i2c1_buf[4] << 8) | i2c1_buf[5]); // zh + zl
+ // offset correction
+ hmc5843_mag_x -= hmc5843_param.offset[0];
+ hmc5843_mag_y -= hmc5843_param.offset[1];
+ hmc5843_mag_z -= hmc5843_param.offset[2];
+ // scaling to +/- 512
+ hmc5843_mag_x *= (1024. / hmc5843_param.range[0]);
+ hmc5843_mag_y *= (1024. / hmc5843_param.range[1]);
+ hmc5843_mag_z *= (1024. / hmc5843_param.range[2]);
+ // set data avail
+ hmc5843_available = TRUE;
+ // next state
+ hmc5843_status = HMC5843_IDLE;
+ //debug
+ //LED_OFF(2);
+ }
+ } else {
+ // debug no response
+ hmc5843_mag_x = hmc5843_i2c_done;
+ hmc5843_mag_y = hmc5843_status;
+ hmc5843_mag_z++;
+ // reinvoke
+ // LED_ON(2);
+ hmc5843_status = HMC5843_UNINIT;
+ }
+ }
+}
+
+
+/**
+ * calculates actual heading from magnetic data
+ *
+ * \author Oliver Riesener
+ * \param[in] roll actual roll angle
+ * \param[in] pitch actual pitch angle
+ *
+ * \return hmc5843_mag_h
+ */
+void hmc5843_heading( float roll, float pitch ) {
+ // speedup for cos/sin from roll
+ float cos_roll = cos(roll);
+ float sin_roll = sin(roll);
+ // speedup for cos/sin from pitch
+ float cos_pitch = cos(pitch);
+ float sin_pitch = sin(pitch);
+ // tilt compensated magnetic field x
+ /** \todo tilt compensation wrong */
+ float mag_x =
+ hmc5843_mag_x * cos_pitch +
+ hmc5843_mag_y * sin_roll * sin_pitch +
+ hmc5843_mag_z * cos_roll * sin_pitch;
+ // tilt compensated magnetic field y
+ /** \todo tilt compensation wrong */
+ float mag_y = hmc5843_mag_y*cos_roll-hmc5843_mag_z*sin_roll;
+ // Magnetic Heading
+ hmc5843_mag_h = atan2(mag_y,mag_x); // olri 2010-07-25 -mag_y
+}
Modified: paparazzi3/branches/HB/trunk/sw/airborne/main_demo3.c
===================================================================
--- paparazzi3/branches/HB/trunk/sw/airborne/main_demo3.c 2010-10-21
01:30:14 UTC (rev 6192)
+++ paparazzi3/branches/HB/trunk/sw/airborne/main_demo3.c 2010-10-21
09:39:58 UTC (rev 6193)
@@ -23,7 +23,7 @@
hw_init();
sys_time_init();
led_init();
- uart0_init_tx();
+ uart0_init();
int_enable();
}
Modified: paparazzi3/branches/HB/trunk/sw/airborne/main_demo4.c
===================================================================
--- paparazzi3/branches/HB/trunk/sw/airborne/main_demo4.c 2010-10-21
01:30:14 UTC (rev 6192)
+++ paparazzi3/branches/HB/trunk/sw/airborne/main_demo4.c 2010-10-21
09:39:58 UTC (rev 6193)
@@ -24,11 +24,11 @@
hw_init();
sys_time_init();
led_init();
- uart0_init_tx();
+ uart0_init();
int_enable();
}
static inline void main_periodic_task( void ) {
LED_TOGGLE(1);
- DOWNLINK_SEND_TAKEOFF(&cpu_time_sec);
+ DOWNLINK_SEND_TAKEOFF(DefaultChannel, &cpu_time_sec);
}
Modified: paparazzi3/branches/HB/trunk/sw/airborne/main_demo5.c
===================================================================
--- paparazzi3/branches/HB/trunk/sw/airborne/main_demo5.c 2010-10-21
01:30:14 UTC (rev 6192)
+++ paparazzi3/branches/HB/trunk/sw/airborne/main_demo5.c 2010-10-21
09:39:58 UTC (rev 6193)
@@ -28,13 +28,13 @@
hw_init();
sys_time_init();
led_init();
- uart0_init_tx();
+ uart0_init();
int_enable();
}
static inline void main_periodic_task( void ) {
// LED_TOGGLE(1);
- DOWNLINK_SEND_TAKEOFF(&cpu_time_sec);
+ DOWNLINK_SEND_TAKEOFF(DefaultChannel, &cpu_time_sec);
}
static inline void main_event_task( void ) {
@@ -69,6 +69,6 @@
uint8_t i = DL_SETTING_index(dl_buffer);
float var = DL_SETTING_value(dl_buffer);
DlSetting(i, var);
- DOWNLINK_SEND_DL_VALUE(&i, &var);
+ DOWNLINK_SEND_DL_VALUE(DefaultChannel, &i, &var);
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [paparazzi-commits] [6193] branches/HB mods for hb_mini ap,
Oliver Riesener <=