mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-27 17:06:31 +08:00
[umarim] release config file for Umarim Lite v2
This commit is contained in:
@@ -0,0 +1,177 @@
|
||||
<!DOCTYPE airframe SYSTEM "../airframe.dtd">
|
||||
|
||||
<!--
|
||||
Example airframe
|
||||
Umarim Lite
|
||||
-->
|
||||
|
||||
<airframe name="Weasel">
|
||||
|
||||
<firmware name="fixedwing">
|
||||
<define name="USE_I2C0"/>
|
||||
<define name="USE_I2C1"/>
|
||||
<define name="AGR_CLIMB" />
|
||||
<define name="ALT_KALMAN"/>
|
||||
|
||||
<target name="sim" board="pc"/>
|
||||
<target name="ap" board="umarim_lite_2.0"/>
|
||||
|
||||
<subsystem name="radio_control" type="ppm"/>
|
||||
|
||||
<!-- Communication -->
|
||||
<subsystem name="telemetry" type="transparent"/>
|
||||
|
||||
<!-- Actuators are automatically chosen according to board-->
|
||||
<subsystem name="imu" type="umarim"/>
|
||||
<subsystem name="ahrs" type="float_dcm"/>
|
||||
<subsystem name="control"/>
|
||||
<subsystem name="navigation"/>
|
||||
<!-- Sensors -->
|
||||
<subsystem name="gps" type="ublox"/>
|
||||
</firmware>
|
||||
|
||||
|
||||
<!-- commands section -->
|
||||
<servos>
|
||||
<servo name="MOTOR" no="7" min="1040" neutral="1040" max="2000"/>
|
||||
<servo name="AILEVON_LEFT" no="6" min="1900" neutral="1543" max="1100"/>
|
||||
<servo name="AILEVON_RIGHT" no="3" min="1100" neutral="1561" 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.75"/>
|
||||
<define name="AILEVON_ELEVATOR_RATE" value="0.75"/>
|
||||
</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="IMU" prefix="IMU_">
|
||||
<!-- Calibration Neutral -->
|
||||
<define name="GYRO_P_NEUTRAL" value="-15"/>
|
||||
<define name="GYRO_Q_NEUTRAL" value="94"/>
|
||||
<define name="GYRO_R_NEUTRAL" value="-7"/>
|
||||
|
||||
<!-- SENS ITG3200 1/14.375 (deg/s)/LSB, rate frac 12bit => 1/14.375 * pi / 180 * 2^12 -->
|
||||
<define name="GYRO_P_SENS" value="4.97312" integer="16"/>
|
||||
<define name="GYRO_Q_SENS" value="4.97312" integer="16"/>
|
||||
<define name="GYRO_R_SENS" value="4.97312" integer="16"/>
|
||||
|
||||
<define name="ACCEL_X_NEUTRAL" value="0"/>
|
||||
<define name="ACCEL_Y_NEUTRAL" value="0"/>
|
||||
<define name="ACCEL_Z_NEUTRAL" value="0"/>
|
||||
|
||||
<!-- SENS ADXL345 16G 31.2 mg/LSB, accel frac 10bit => 31.2 * 2^10 / 1000 -->
|
||||
<define name="ACCEL_X_SENS" value="31.9488" integer="10"/>
|
||||
<define name="ACCEL_Y_SENS" value="31.9488" integer="10"/>
|
||||
<define name="ACCEL_Z_SENS" value="31.9488" integer="10"/>
|
||||
|
||||
<!-- Just to compile -->
|
||||
<define name="MAG_X_NEUTRAL" value="0"/>
|
||||
<define name="MAG_Y_NEUTRAL" value="0"/>
|
||||
<define name="MAG_Z_NEUTRAL" value="0"/>
|
||||
|
||||
<define name="BODY_TO_IMU_PHI" value="0"/>
|
||||
<define name="BODY_TO_IMU_THETA" value="0"/>
|
||||
<define name="BODY_TO_IMU_PSI" value="0"/>
|
||||
</section>
|
||||
|
||||
<section name="INS" prefix="INS_">
|
||||
<define name="ROLL_NEUTRAL_DEFAULT" value="0.048" unit="rad"/>
|
||||
<define name="PITCH_NEUTRAL_DEFAULT" value="0." unit="rad"/>
|
||||
</section>
|
||||
|
||||
<section name="BAT">
|
||||
<define name="MILLIAMP_AT_FULL_THROTTLE" value="10000."/>
|
||||
<define name="CATASTROPHIC_BAT_LEVEL" value="9.3" 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="DEFAULT_CIRCLE_RADIUS" value="80."/>
|
||||
</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.32"/>
|
||||
<define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.25"/>
|
||||
<define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.65"/>
|
||||
<define name="AUTO_THROTTLE_LOITER_TRIM" value="1500"/>
|
||||
<define name="AUTO_THROTTLE_DASH_TRIM" value="-4000"/>
|
||||
<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"/>
|
||||
|
||||
<define name="THROTTLE_SLEW_LIMITER" value="2" unit="s"/>
|
||||
</section>
|
||||
|
||||
<section name="HORIZONTAL CONTROL" prefix="H_CTL_">
|
||||
<define name="COURSE_PGAIN" value="1.0"/>
|
||||
<define name="COURSE_DGAIN" value="0.3"/>
|
||||
|
||||
<define name="ROLL_MAX_SETPOINT" value="0.6" unit="rad"/>
|
||||
<define name="PITCH_MAX_SETPOINT" value="0.5" unit="rad"/>
|
||||
<define name="PITCH_MIN_SETPOINT" value="-0.5" unit="rad"/>
|
||||
|
||||
<define name="PITCH_PGAIN" value="12000."/>
|
||||
<define name="PITCH_DGAIN" value="1.5"/>
|
||||
|
||||
<define name="ELEVATOR_OF_ROLL" value="1250"/>
|
||||
|
||||
<define name="ROLL_ATTITUDE_GAIN" value="7500"/>
|
||||
<define name="ROLL_RATE_GAIN" value="1500"/>
|
||||
</section>
|
||||
|
||||
<section name="AGGRESSIVE" prefix="AGR_">
|
||||
<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_THROTTLE" value="1.00"/><!-- Gaz for Aggressive Climb -->
|
||||
<define name="CLIMB_PITCH" value="0.3"/><!-- Pitch for Aggressive Climb -->
|
||||
<define name="DESCENT_THROTTLE" value="0.1"/><!-- Gaz for Aggressive Decent -->
|
||||
<define name="DESCENT_PITCH" value="-0.25"/><!-- 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>
|
||||
|
||||
</airframe>
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# unami_1.0.makefile
|
||||
#
|
||||
# prototype for Umarim board
|
||||
# Umarim v1 board
|
||||
#
|
||||
|
||||
ARCH=lpc21
|
||||
@@ -41,7 +41,7 @@ GPS_LED = 2
|
||||
endif
|
||||
|
||||
ifndef SYS_TIME_LED
|
||||
SYS_TIME_LED = none
|
||||
SYS_TIME_LED = 1
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
#
|
||||
# umarim_lite_2.0.makefile
|
||||
#
|
||||
# Umarim Lite v2 board
|
||||
#
|
||||
|
||||
ARCH=lpc21
|
||||
|
||||
BOARD=umarim
|
||||
BOARD_VERSION=lite_2.0
|
||||
|
||||
BOARD_CFG=\"boards/$(BOARD)_$(BOARD_VERSION).h\"
|
||||
|
||||
|
||||
ifndef FLASH_MODE
|
||||
FLASH_MODE = IAP
|
||||
endif
|
||||
|
||||
|
||||
LPC21ISP_BAUD = 38400
|
||||
LPC21ISP_XTAL = 12000
|
||||
|
||||
|
||||
#
|
||||
# default LED configuration
|
||||
#
|
||||
ifndef RADIO_CONTROL_LED
|
||||
RADIO_CONTROL_LED = none
|
||||
endif
|
||||
|
||||
ifndef BARO_LED
|
||||
BARO_LED = none
|
||||
endif
|
||||
|
||||
ifndef AHRS_ALIGNER_LED
|
||||
AHRS_ALIGNER_LED = none
|
||||
endif
|
||||
|
||||
ifndef GPS_LED
|
||||
GPS_LED = 2
|
||||
endif
|
||||
|
||||
ifndef SYS_TIME_LED
|
||||
SYS_TIME_LED = 1
|
||||
endif
|
||||
|
||||
|
||||
#
|
||||
# default uart settings
|
||||
#
|
||||
ifndef GPS_PORT
|
||||
GPS_PORT = UART0
|
||||
endif
|
||||
ifndef GPS_BAUD
|
||||
GPS_BAUD = B38400
|
||||
endif
|
||||
|
||||
ifndef MODEM_PORT
|
||||
MODEM_PORT = UART1
|
||||
endif
|
||||
ifndef MODEM_BAUD
|
||||
MODEM_BAUD = B57600
|
||||
endif
|
||||
|
||||
|
||||
|
||||
ADC_GENERIC_NB_SAMPLES = 16
|
||||
|
||||
#
|
||||
# you can use different actuators by adding a configure option to your firmware section
|
||||
# e.g. <configure name="ACTUATORS" value="actuators_ppm/>
|
||||
#
|
||||
ifndef ACTUATORS
|
||||
ACTUATORS = actuators_4017
|
||||
endif
|
||||
|
||||
|
||||
# All targets on the Umarim board run on the same processor achitecture
|
||||
$(TARGET).ARCHDIR = $(ARCH)
|
||||
+11
-1
@@ -35,7 +35,7 @@
|
||||
gui_color="white"
|
||||
/>
|
||||
|
||||
<!-- tiny -->
|
||||
<!-- tiny/umarim -->
|
||||
<aircraft
|
||||
name="Microjet"
|
||||
ac_id="5"
|
||||
@@ -56,6 +56,16 @@
|
||||
settings="settings/fixedwing_basic.xml settings/control/ctl_basic.xml settings/estimation/ins_neutrals.xml"
|
||||
gui_color="blue"
|
||||
/>
|
||||
<aircraft
|
||||
name="Umarim_Lite"
|
||||
ac_id="20"
|
||||
airframe="airframes/examples/umarim_lite_v2.xml"
|
||||
radio="radios/cockpitSX.xml"
|
||||
telemetry="telemetry/default_fixedwing_imu.xml"
|
||||
flight_plan="flight_plans/basic.xml"
|
||||
settings="settings/fixedwing_basic.xml settings/control/ctl_basic.xml settings/estimation/ins_neutrals.xml"
|
||||
gui_color="blue"
|
||||
/>
|
||||
<aircraft
|
||||
name="Twinjet"
|
||||
ac_id="6"
|
||||
|
||||
@@ -0,0 +1,108 @@
|
||||
#ifndef CONFIG_UMARIM_LITE_V2_0_H
|
||||
#define CONFIG_UMARIM_LITE_V2_0_H
|
||||
|
||||
/* Master oscillator freq. */
|
||||
#define FOSC (12000000)
|
||||
|
||||
/* PLL multiplier */
|
||||
#define PLL_MUL (5)
|
||||
|
||||
/* CPU clock freq. */
|
||||
#define CCLK (FOSC * PLL_MUL)
|
||||
|
||||
/* Peripheral bus speed mask 0x00->4, 0x01-> 1, 0x02 -> 2 */
|
||||
#define PBSD_BITS 0x02
|
||||
#define PBSD_VAL 2
|
||||
|
||||
/* Peripheral bus clock freq. */
|
||||
#define PCLK (CCLK / PBSD_VAL)
|
||||
|
||||
/* Onboard LEDs */
|
||||
#ifndef USE_LED_1
|
||||
#define USE_LED_1 1
|
||||
#endif
|
||||
#define LED_1_BANK 1
|
||||
#define LED_1_PIN 25
|
||||
|
||||
#ifndef USE_LED_2
|
||||
#define USE_LED_2 1
|
||||
#endif
|
||||
#define LED_2_BANK 1
|
||||
#define LED_2_PIN 24
|
||||
|
||||
/* P0.5 aka MAT0.1 */
|
||||
#define SERVO_CLOCK_PIN 5
|
||||
#define SERVO_CLOCK_PINSEL PINSEL0
|
||||
#define SERVO_CLOCK_PINSEL_VAL 0x02
|
||||
#define SERVO_CLOCK_PINSEL_BIT 10
|
||||
/* p1.20 */
|
||||
#define SERVO_RESET_PIN 20
|
||||
|
||||
/* PPM : rc rx on P0.28 ( CAP0.2 ) */
|
||||
#define PPM_PINSEL PINSEL1
|
||||
#define PPM_PINSEL_VAL 0x02
|
||||
#define PPM_PINSEL_BIT 24
|
||||
#define PPM_CRI TIR_CR2I
|
||||
#define PPM_CCR_CRF TCCR_CR2_F
|
||||
#define PPM_CCR_CRR TCCR_CR2_R
|
||||
#define PPM_CCR_CRI TCCR_CR2_I
|
||||
#define PPM_CR T0CR2
|
||||
|
||||
/* ADC */
|
||||
|
||||
#define ADC_0 AdcBank1(5)
|
||||
#ifdef USE_ADC_0
|
||||
#ifndef USE_AD1
|
||||
#define USE_AD1
|
||||
#endif
|
||||
#define USE_AD1_5
|
||||
#endif
|
||||
|
||||
#define ADC_1 AdcBank1(4)
|
||||
#ifdef USE_ADC_1
|
||||
#ifndef USE_AD1
|
||||
#define USE_AD1
|
||||
#endif
|
||||
#define USE_AD1_4
|
||||
#endif
|
||||
|
||||
#define ADC_2 AdcBank1(3)
|
||||
#ifdef USE_ADC_2
|
||||
#ifndef USE_AD1
|
||||
#define USE_AD1
|
||||
#endif
|
||||
#define USE_AD1_3
|
||||
#endif
|
||||
|
||||
#define ADC_3 AdcBank1(2)
|
||||
#ifdef USE_ADC_3
|
||||
#ifndef USE_AD1
|
||||
#define USE_AD1
|
||||
#endif
|
||||
#define USE_AD1_2
|
||||
#endif
|
||||
|
||||
|
||||
/* battery */
|
||||
/* allow to define ADC_CHANNEL_VSUPPLY in the airframe file*/
|
||||
#ifndef ADC_CHANNEL_VSUPPLY
|
||||
#define ADC_CHANNEL_VSUPPLY AdcBank0(2)
|
||||
#ifndef USE_AD0
|
||||
#define USE_AD0
|
||||
#endif
|
||||
#define USE_AD0_2
|
||||
#endif
|
||||
|
||||
#define DefaultVoltageOfAdc(adc) (0.0247*adc)
|
||||
|
||||
/* SPI (SSP) */
|
||||
#define SPI_SELECT_SLAVE0_PORT 0
|
||||
#define SPI_SELECT_SLAVE0_PIN 20
|
||||
|
||||
#define SPI1_DRDY_PINSEL PINSEL1
|
||||
#define SPI1_DRDY_PINSEL_BIT 0
|
||||
#define SPI1_DRDY_PINSEL_VAL 1
|
||||
#define SPI1_DRDY_EINT 0
|
||||
#define SPI1_DRDY_VIC_IT VIC_EINT0
|
||||
|
||||
#endif /* CONFIG_UMARIM_LITE_V2_0_H */
|
||||
Reference in New Issue
Block a user