Configuration

Configuration occurs in two places, config.h and settings.xml. The former is where all architecture specific settings should be placed, typically those settings very close to the hardware, etc. The latter, settings.xml is designed to hold settings which are not machine specific, but feature or configuration specific.

Architecture Specific Settings

file config.h

Architecture specific configuration for wasp V1.x (LPC2148) hardware.

Defines
USE_USB_SERIAL

USB serial support.

FOSC

Master oscillator freq.

PLL_MUL

PLL multiplier.

CCLK

CPU clock freq.

PBSD_BITS

Peripheral bus speed mask 0x00->4, 0x01-> 1, 0x02 -> 2.

PBSD_VAL

PCLK

Peripheral bus clock freq.

GPIO_1_BANK

Onboard LEDs.

GPIO_1_PIN

GPIO_2_BANK

GPIO_2_PIN

GPIO_3_BANK

GPIO_3_PIN

GPIO_4_BANK

GPIO_4_PIN

ANALOG_BATT_PINSEL

ADC battery: P0.29 AD0.2.

ANALOG_BATT_PINSEL_VAL

ANALOG_BATT_PINSEL_BIT

ANALOG_SPARE_PINSEL

ADC spare: P0.13 AD1.4.

ANALOG_SPARE_PINSEL_VAL

ANALOG_SPARE_PINSEL_BIT

ANALOG_BARO_PINSEL

ADC pressure : P0.10 AD1.2.

ANALOG_BARO_PINSEL_VAL

ANALOG_BARO_PINSEL_BIT

USE_ANALOG_BARO

Use the onboard analog baro.

MM_SS_PIN

Micromag on SSP, IMU connector.

MM_SS_IODIR

MM_SS_IOSET

MM_SS_IOCLR

MM_RESET_PIN

MM_RESET_IODIR

MM_RESET_IOSET

MM_RESET_IOCLR

MM_DRDY_PIN

MM_DRDY_PINSEL

MM_DRDY_PINSEL_BIT

MM_DRDY_PINSEL_VAL

MM_DRDY_EINT

MM_DRDY_VIC_IT

USE_SERVOS_4017

Servos: 4017 servo driver on CAM connector.

SERVOS_4017_NB_CHANNELS

SERVO_CLOCK_IODIR

SERVO_CLOCK_PIN

SERVO_CLOCK_PINSEL

SERVO_CLOCK_PINSEL_VAL

SERVO_CLOCK_PINSEL_BIT

SERVO_RESET_PIN

SERVO_RESET_IODIR

SERVO_RESET_IOSET

SERVO_RESET_IOCLR

USE_SERVOS_DIRECT

Servos: Direct drive via PWM.

PWM_SERVO_0

USE_RADIO_CONTROL

Radio Control.

PPM_PINSEL

PPM : rc rx on P0.28 ( CAP0.2 ).

PPM_PINSEL_VAL

PPM_PINSEL_BIT

USE_UART0

UART0 = uBlox GPS.

UART0_BAUD

USE_UART1

UART1 = XBEE.

UART1_BAUD

USE_I2C0

I2C0 Motor Controllers.

I2C0_SCLL

I2C0_SCLH

USE_I2C1

I2C1 AMI601 (Not used).

I2C1_SCLL

I2C1_SCLH

GPS_LINK

GPS Uart.

TIMER0_VIC_SLOT

UART0_VIC_SLOT

UART1_VIC_SLOT

USB_VIC_SLOT

MAX1168_EOC_VIC_SLOT

SSP_VIC_SLOT

I2C0_VIC_SLOT

MICROMAG_DRDY_VIC_SLOT

dir sw/onboard/arch/

dir sw/onboard/arch/arm7/

dir sw/onboard/

dir sw/

Run-time Adjustable Settings

Name Type
IMU_ALIGNMENT_BODY_TO_IMU_PHI float
IMU_ALIGNMENT_BODY_TO_IMU_THETA float
IMU_ALIGNMENT_BODY_TO_IMU_PSI float
SUPERVISION_TRIM_A int32
SUPERVISION_TRIM_E int32
SUPERVISION_TRIM_R int32
SUPERVISION_TRIM_T int32
PID_PITCH_P int32
PID_PITCH_I int32
PID_PITCH_D int32
PID_ROLL_P int32
PID_ROLL_I int32
PID_ROLL_D int32
PID_YAW_P int32
PID_YAW_I int32
PID_YAW_D int32
PID_ALT_P int32
PID_ALT_I int32
PID_ALT_D int32

Compile-time Adjustable Settings

HARDWARE_ENABLED

  • HARDWARE_ENABLED_GPS
    • Value: 1

AUTOPILOT

  • AUTOPILOT_MODE_MANUAL
    • Autopilot mode in manual flight
    • Value: AP_MODE_RC_DIRECT
  • AUTOPILOT_MODE_AUTO1
    • Autopilot mode 1
    • Value: AP_MODE_HOVER_DIRECT
  • AUTOPILOT_MODE_AUTO2
    • Autopilot mode 2
    • Value: AP_MODE_ATTITUDE_DIRECT

ANALOG

  • ANALOG_BATTERY_SENS
    • Value: 0.018387097
  • ANALOG_ADC_SPARE_SENS
    • Value: 0.0

INS

  • INS_BARO_SENS
    • Value: 15.0

IMU_ALIGNMENT

  • IMU_ALIGNMENT_BODY_TO_IMU_PHI
    • Value: 0.75 (float)
    • Min: -5.0
    • Max: 5.0
  • IMU_ALIGNMENT_BODY_TO_IMU_THETA
    • Value: 1.50 (float)
    • Min: -5.0
    • Max: 5.0
  • IMU_ALIGNMENT_BODY_TO_IMU_PSI
    • Value: 0.0 (float)
    • Min: -5.0
    • Max: 5.0

FMS

  • FMS_CORRECTION_RC_ROLL
    • Value: 0
  • FMS_CORRECTION_RC_PITCH
    • Value: 0
  • FMS_CORRECTION_RC_HEADING
    • Value: 0
  • FMS_CORRECTION_RC_THRUST
    • Value: 0
  • FMS_CORRECTION_ATTITUDE_ROLL
    • Value: 12.0
  • FMS_CORRECTION_ATTITUDE_PITCH
    • Value: -14.0
  • FMS_CORRECTION_ATTITUDE_HEADING
    • Value: 0.0
  • FMS_CORRECTION_ATTITUDE_THRUST
    • Value: 0.0

PERIODIC

  • PERIODIC_TASK_DT
    • the periodic task time (seconds), the main loop runs at 1/TASK_DT
    • Value: (1./512.)

LED

  • LED_NB
    • Value: 5
  • LED_TIME
    • Value: 1
  • LED_RC
    • Value: 1
  • LED_GPS
    • Value: 4
  • LED_BARO
    • Value: 2
  • LED_AHRS
    • Value: 3

CONTROL

  • CONTROL_USE_VFF
    • Value: 1
  • CONTROL_DT_VFILTER
    • Value: (1./512.)

IMU_SENS

  • IMU_SENS_GYRO_P
    • Value: 1.01
  • IMU_SENS_GYRO_Q
    • Value: -1.01
  • IMU_SENS_GYRO_R
    • Value: -1.01
  • IMU_SENS_ACCEL_X
    • Value: -2.44665442
  • IMU_SENS_ACCEL_Y
    • Value: -2.44994081
  • IMU_SENS_ACCEL_Z
    • Value: -2.50555481
  • IMU_SENS_MAG_X
    • Value: 22.008352
  • IMU_SENS_MAG_Y
    • Value: -21.79885
  • IMU_SENS_MAG_Z
    • Value: -14.675745

IMU_NEUTRAL

  • IMU_NEUTRAL_GYRO_P
    • Value: 33026
  • IMU_NEUTRAL_GYRO_Q
    • Value: 32348
  • IMU_NEUTRAL_GYRO_R
    • Value: 32524
  • IMU_NEUTRAL_ACCEL_X
    • Value: 32311
  • IMU_NEUTRAL_ACCEL_Y
    • Value: 32536
  • IMU_NEUTRAL_ACCEL_Z
    • Value: 32779
  • IMU_NEUTRAL_MAG_X
    • Value: -12
  • IMU_NEUTRAL_MAG_Y
    • Value: -10
  • IMU_NEUTRAL_MAG_Z
    • Value: -11

MOTOR

  • MOTOR_NB
    • Value: 4
  • MOTOR_FRONT
    • Value: 0
  • MOTOR_BACK
    • Value: 1
  • MOTOR_RIGHT
    • Value: 2
  • MOTOR_LEFT
    • Value: 3
  • MOTOR_ADDR
    • The I2C adresses of the motors
    • Value: {0x52, 0x54, 0x56, 0x58}

SERVO

  • SERVO_NB
    • Value: 4
  • SERVO_THROTTLE
    • Value: 0
  • SERVO_ELEVATOR
    • Value: 1
  • SERVO_AILERON
    • Value: 2
  • SERVO_RUDDER
    • Value: 3
  • SERVO_ADDR
    • The channel of the servos, numbered from 0 (the pcb is numbered from 1)
    • Value: {4, 5, 6, 7}

COMMAND

  • COMMAND_NB
    • Value: 4
  • COMMAND_PITCH
    • Value: 0
  • COMMAND_ROLL
    • Value: 1
  • COMMAND_YAW
    • Value: 2
  • COMMAND_THRUST
    • Value: 3
  • COMMAND_FAILSAFE
    • Value: {0,0,0,0}

SUPERVISION

  • SUPERVISION_MIN_MOTOR
    • Value: 2
  • SUPERVISION_MAX_MOTOR
    • Value: 210
  • SUPERVISION_TRIM_A
    • Value: 0 (int32)
    • Min: -100
    • Max: 100
  • SUPERVISION_TRIM_E
    • Value: 0 (int32)
    • Min: -100
    • Max: 100
  • SUPERVISION_TRIM_R
    • Value: 0 (int32)
    • Min: -100
    • Max: 100
  • SUPERVISION_TRIM_T
    • Value: 0 (int32)
    • Min: -100
    • Max: 100
  • SUPERVISION_NB_MOTOR
    • Value: 4
  • SUPERVISION_SCALE
    • Value: 256
  • SUPERVISION_ROLL_COEF
    • Value: { 0, 0, -256, 256}
  • SUPERVISION_PITCH_COEF
    • Value: { 256, -256, 0, 0}
  • SUPERVISION_YAW_COEF
    • Value: { -256, -256, 256, 256}
  • SUPERVISION_THRUST_COEF
    • Value: { 256, 256, 256, 256}

PID

  • PID_PITCH_P
    • Value: 1 (int32)
    • Min: -2147483648
    • Max: 2147483647
  • PID_PITCH_I
    • Value: 0 (int32)
    • Min: -2147483648
    • Max: 2147483647
  • PID_PITCH_D
    • Value: 0 (int32)
    • Min: -2147483648
    • Max: 2147483647
  • PID_ROLL_P
    • Value: 1 (int32)
    • Min: -2147483648
    • Max: 2147483647
  • PID_ROLL_I
    • Value: 0 (int32)
    • Min: -2147483648
    • Max: 2147483647
  • PID_ROLL_D
    • Value: 0 (int32)
    • Min: -2147483648
    • Max: 2147483647
  • PID_YAW_P
    • Value: 1 (int32)
    • Min: -2147483648
    • Max: 2147483647
  • PID_YAW_I
    • Value: 0 (int32)
    • Min: -2147483648
    • Max: 2147483647
  • PID_YAW_D
    • Value: 0 (int32)
    • Min: -2147483648
    • Max: 2147483647
  • PID_ALT_P
    • Value: 1 (int32)
    • Min: -2147483648
    • Max: 2147483647
  • PID_ALT_I
    • Value: 0 (int32)
    • Min: -2147483648
    • Max: 2147483647
  • PID_ALT_D
    • Value: 0 (int32)
    • Min: -2147483648
    • Max: 2147483647

BOOZ_STABILIZATION

  • BOOZ_STABILIZATION_RATE_SP_MAX_P
    • Value: 10000
  • BOOZ_STABILIZATION_RATE_SP_MAX_Q
    • Value: 10000
  • BOOZ_STABILIZATION_RATE_SP_MAX_R
    • Value: 10000
  • BOOZ_STABILIZATION_RATE_GAIN_P
    • Value: -400
  • BOOZ_STABILIZATION_RATE_GAIN_Q
    • Value: -400
  • BOOZ_STABILIZATION_RATE_GAIN_R
    • Value: -350
  • BOOZ_STABILIZATION_ATTITUDE_SP_MAX_PHI
    • Value: 3000
  • BOOZ_STABILIZATION_ATTITUDE_SP_MAX_THETA
    • Value: 3000
  • BOOZ_STABILIZATION_ATTITUDE_SP_MAX_R
    • Value: 5500
  • BOOZ_STABILIZATION_ATTITUDE_DEADBAND_R
    • Value: 250
  • BOOZ_STABILIZATION_ATTITUDE_PHI_THETA_PGAIN
    • Value: -400
  • BOOZ_STABILIZATION_ATTITUDE_PHI_THETA_DGAIN
    • Value: -300
  • BOOZ_STABILIZATION_ATTITUDE_PHI_THETA_DDGAIN
    • Value: 300
  • BOOZ_STABILIZATION_ATTITUDE_PHI_THETA_IGAIN
    • Value: -200
  • BOOZ_STABILIZATION_ATTITUDE_PSI_PGAIN
    • Value: -380
  • BOOZ_STABILIZATION_ATTITUDE_PSI_DGAIN
    • Value: -320
  • BOOZ_STABILIZATION_ATTITUDE_PSI_DDGAIN
    • Value: 300
  • BOOZ_STABILIZATION_ATTITUDE_PSI_IGAIN
    • Value: -75

BOOZ2_GUIDANCE

  • BOOZ2_GUIDANCE_V_MIN_ERR_Z
    • Value: POS_BFP_OF_REAL(-10.)
  • BOOZ2_GUIDANCE_V_MAX_ERR_Z
    • Value: POS_BFP_OF_REAL( 10.)
  • BOOZ2_GUIDANCE_V_MIN_ERR_ZD
    • Value: SPEED_BFP_OF_REAL(-10.)
  • BOOZ2_GUIDANCE_V_MAX_ERR_ZD
    • Value: SPEED_BFP_OF_REAL( 10.)
  • BOOZ2_GUIDANCE_V_HOVER_KP
    • Value: -300
  • BOOZ2_GUIDANCE_V_HOVER_KD
    • Value: -400
  • BOOZ2_GUIDANCE_H_PGAIN
    • Value: -20
  • BOOZ2_GUIDANCE_H_DGAIN
    • Value: -0
  • BOOZ2_GUIDANCE_H_IGAIN
    • Value: -5

BOMB

  • BOMB_ENABLED
    • Value: 1
  • BOMB_RELEASE_VALUE
    • Value: 0xFF
  • BOMB_HOLD_VALUE
    • Value: 0x0
  • BOMB_PERIODIC_TICKS
    • the amount of time for the bomb latch to be held
    • Value: 80

BATTERY

  • BATTERY_CRITICAL_VOLTAGE
    • decivolts
    • Value: 100