Just in case someone needs this configuration information in the
future, here's the FunJet's setup details. This includes wiring
connections, Spektrum DX7 transmitter settings, and options.h file
settings. The option.h gain levels could be a little lower (per Ric's
options.h file settings), but the plane is ok to fly in stabilized
mode. I had 2 successful flights today with the settings below.
//UAV Dev Board v3 Spektrum AR7000 Receiver
//================ ========================
// Input #1 <-- Aileron port
// Input #2 <-- Elevator port
// Input #3 <-- Throttle port
// Input #4 <-- Aux 1 port (used for UDB Mode Switching)
//UAV Dev Board v3 Servos and UDB Switch Positions
//================ ===============================
// Output #1 --> Left Wing Aileron Servo
// Output #2 --> Right Wing Aileron Servo
// Output #3 --> ESC to motor
// SR1 switch --> Left position
// SR2 switch --> Right position
// SR3 switch --> Right position
//Spektrum DX-7 Transmitter Settings
// Delta Wing Mixing - ON
// Servo 1 --> down
// Servo 2 --> up
// Servo 3 --> up
// Servo 4 --> down
// Servo 5 --> down
// Servo 6 --> down
// Servo 7 --> down
#define BOARD_TYPE UDB3_BOARD
#define BOARD_ORIENTATION ORIENTATION_FORWARDS
#define AIRFRAME_TYPE AIRFRAME_DELTA
#define GPS_TYPE GPS_STD
#define ROLL_STABILIZATION_AILERONS 1
#define ROLL_STABILIZATION_RUDDER 0
#define PITCH_STABILIZATION 1
#define YAW_STABILIZATION_RUDDER 0
#define YAW_STABILIZATION_AILERON 0
#define AILERON_NAVIGATION 1
#define RUDDER_NAVIGATION 0
#define WIND_GAIN_ADJUSTMENT 0
#define ALTITUDEHOLD_STABILIZED AH_NONE
#define ALTITUDEHOLD_WAYPOINT AH_FULL
#define SPEED_CONTROL 0
#define DESIRED_SPEED 10.00 // meters/second
#define INVERTED_FLIGHT_STABILIZED_MODE 0
#define INVERTED_FLIGHT_WAYPOINT_MODE 0
#define HOVERING_STABILIZED_MODE 0
#define HOVERING_WAYPOINT_MODE 0
#define USE_CAMERA_STABILIZATION 0
#define MAG_YAW_DRIFT 1
#define RACING_MODE 0
#define RACING_MODE_WP_THROTTLE 1.0
#define NORADIO 0
#define USE_PPM_INPUT 0
#define PPM_NUMBER_OF_CHANNELS 8
#define PPM_SIGNAL_INVERTED 0
#define PPM_ALT_OUTPUT_PINS 0
#define NUM_INPUTS 4
#define THROTTLE_INPUT_CHANNEL CHANNEL_3
#define AILERON_INPUT_CHANNEL CHANNEL_1
#define ELEVATOR_INPUT_CHANNEL CHANNEL_2
#define RUDDER_INPUT_CHANNEL CHANNEL_UNUSED
#define MODE_SWITCH_INPUT_CHANNEL CHANNEL_4
#define CAMERA_PITCH_INPUT_CHANNEL CHANNEL_UNUSED
#define CAMERA_YAW_INPUT_CHANNEL CHANNEL_UNUSED
#define OSD_MODE_SWITCH_INPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_A_INPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_B_INPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_C_INPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_D_INPUT_CHANNEL CHANNEL_UNUSED
#define NUM_OUTPUTS 3
#define THROTTLE_OUTPUT_CHANNEL CHANNEL_3
#define AILERON_OUTPUT_CHANNEL CHANNEL_1
#define ELEVATOR_OUTPUT_CHANNEL CHANNEL_2
#define RUDDER_OUTPUT_CHANNEL CHANNEL_UNUSED
#define AILERON_SECONDARY_OUTPUT_CHANNEL CHANNEL_UNUSED
#define CAMERA_PITCH_OUTPUT_CHANNEL CHANNEL_UNUSED
#define CAMERA_YAW_OUTPUT_CHANNEL CHANNEL_UNUSED
#define TRIGGER_OUTPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_A_OUTPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_B_OUTPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_C_OUTPUT_CHANNEL CHANNEL_UNUSED
#define PASSTHROUGH_D_OUTPUT_CHANNEL CHANNEL_UNUSED
#define AILERON_CHANNEL_REVERSED HW_SWITCH_1
#define ELEVATOR_CHANNEL_REVERSED HW_SWITCH_2
#define RUDDER_CHANNEL_REVERSED 0
#define AILERON_SECONDARY_CHANNEL_REVERSED 0 // Hardcoded to be
unreversed, since we have only 3 switches.
#define THROTTLE_CHANNEL_REVERSED 0 // Set to 1 to hardcode a
channel to be reversed
#define CAMERA_PITCH_CHANNEL_REVERSED 0
#define CAMERA_YAW_CHANNEL_REVERSED 0
#define ELEVON_VTAIL_SURFACES_REVERSED HW_SWITCH_3
#define MODE_SWITCH_THRESHOLD_LOW 2600
#define MODE_SWITCH_THRESHOLD_HIGH 3400
#define FAILSAFE_INPUT_CHANNEL THROTTLE_INPUT_CHANNEL
#define FAILSAFE_INPUT_MIN 2150 //was 1500 (orig setting)
#define FAILSAFE_INPUT_MAX 4500
#define FAILSAFE_TYPE FAILSAFE_RTL
#define FAILSAFE_HOLD 0
#define SERIAL_OUTPUT_FORMAT SERIAL_NONE
#define MAVLINK_SYSID 55
#define SERIAL_INPUT_FORMAT SERIAL_NONE
#define USE_OSD 0
#define NUM_ANALOG_INPUTS 0
#define ANALOG_CURRENT_INPUT_CHANNEL CHANNEL_UNUSED
#define ANALOG_VOLTAGE_INPUT_CHANNEL CHANNEL_UNUSED
#define ANALOG_RSSI_INPUT_CHANNEL CHANNEL_UNUSED
#define RSSI_MIN_SIGNAL_VOLTAGE 0.5 // Voltage when RSSI should
show 0%
#define RSSI_MAX_SIGNAL_VOLTAGE 3.3 // Voltage when RSSI should
show 100%
#define TRIGGER_TYPE TRIGGER_TYPE_NONE
#define TRIGGER_ACTION TRIGGER_PULSE_HIGH
#define TRIGGER_SERVO_LOW 2000
#define TRIGGER_SERVO_HIGH 4000
#define TRIGGER_PULSE_DURATION 250
#define TRIGGER_REPEAT_PERIOD 4000
#define SERVOSAT 1.0
#define ROLLKP 0.10 //was 0.20, ric uses 0.05
#define ROLLKD 0.05 //was 0.05, ric uses 0.05
#define YAWKP_AILERON 0.05 //was 0.10
#define YAWKD_AILERON 0.05 //was 0.05
#define AILERON_BOOST 1.00 //was 1.00
#define PITCHGAIN 0.10 //was 0.10, ric uses 0.06
#define PITCHKD 0.03 //was 0.04
#define RUDDER_ELEV_MIX 0.50 //was 0.20
#define ROLL_ELEV_MIX 0.50 //was 0.05
#define ELEVATOR_BOOST 0.80 //was 0.50
#define INVERTED_NEUTRAL_PITCH 8.0
#define YAWKP_RUDDER 0.0625 //was 0.05
#define YAWKD_RUDDER 0.05 //was 0.05
#define ROLLKP_RUDDER 0.06 //no change
#define MANUAL_AILERON_RUDDER_MIX 0.00 //no change
#define RUDDER_BOOST 1.00 //no change
#define HOVER_ROLLKP 0.05
#define HOVER_ROLLKD 0.05
#define HOVER_PITCHGAIN 0.2
#define HOVER_PITCHKD 0.25
#define HOVER_PITCH_OFFSET 0.0 // + leans towards top, - leans
towards bottom
#define HOVER_YAWKP 0.2
#define HOVER_YAWKD 0.25
#define HOVER_YAW_OFFSET 0.0
#define HOVER_PITCH_TOWARDS_WP 30.0
#define HOVER_NAV_MAX_PITCH_RADIUS 20
#define CAM_TAN_PITCH_IN_STABILIZED_MODE 1433 // 1443 is 5 degrees
of pitch. Example: 15 degrees is 4389
#define CAM_YAW_IN_STABILIZED_MODE 0 // in degrees relative to the
plane's yaw axis. Example: 0
#define CAM_PITCH_SERVO_THROW 95 // Camera lens rotation at
maximum PWM change (2000 to 4000), in degrees.
#define CAM_PITCH_SERVO_MAX 85 // Max pitch up that plane can
tilt and keep camera level, in degrees.
#define CAM_PITCH_SERVO_MIN -22 // Max pitch down that plane
can tilt and keep camera level, in degrees.
#define CAM_PITCH_OFFSET_CENTRED 38 // Offset in degrees of
servo that results in a level camera.
#define CAM_YAW_SERVO_THROW 350 // Camera yaw movement for
maximum yaw PWM change (2000 to 4000) in Degrees.
#define CAM_YAW_SERVO_MAX 130 // Max positive yaw of camera
relative to front of plane in Degrees.
#define CAM_YAW_SERVO_MIN -130 // Min reverse yaw of camera
relative to front of plane in Degrees.
#define CAM_YAW_OFFSET_CENTRED 11 // Yaw offset in degrees that
results in camera pointing forward.
#define CAM_TESTING_OVERIDE 0 // Set to 1 for camera to move
to test angles in stabilized mode.
#define CAM_TESTING_YAW_ANGLE 90 // e.g. 90 degrees. Will try to
swing 90 degrees left, then 90 degrees right
#define CAM_TESTING_PITCH_ANGLE 90 // In degrees.
#define CAM_USE_EXTERNAL_TARGET_DATA 0
#define HEIGHT_TARGET_MIN 25.0
#define HEIGHT_TARGET_MAX 100.0
#define HEIGHT_MARGIN 10
#define ALT_HOLD_THROTTLE_MIN 0.35
#define ALT_HOLD_THROTTLE_MAX 0.6 //was 1.0
#define ALT_HOLD_PITCH_MIN -20.0 //was -15.0
#define ALT_HOLD_PITCH_MAX 30.0 //was 15.0
#define ALT_HOLD_PITCH_HIGH -20.0 //was -15.0
#define RTL_PITCH_DOWN 5.0 //was 0.0
#define HILSIM 0
#define HILSIM_BAUD 19200
#define FLIGHT_PLAN_TYPE FP_WAYPOINTS
// #define TestGains // uncomment this line if you want to test
your gains without using GPS
#define RECORD_FREE_STACK_SPACE 0