cleanflight / cleanflight

Clean-code version of the baseflight flight controller firmware
http://cleanflight.com
GNU General Public License v3.0
2.59k stars 1.39k forks source link

Servo resource assignment #2918

Closed Merewether closed 4 years ago

Merewether commented 7 years ago

A - Description

I am using the SP Racing F4 EVO flight controller in a fixed wing configuration. Servos are not properly assigned in either the AIRPLANE or CUSTOMAIRPLANE modes. Actual pin assignments do not match either the listing generated by the RESOURCE command nor the RESOURCE LIST command.

B - Steps To Repeat

From loading DEFAULTS and allowing for a reboot, load lhe following script file in the CLI interface to verify the problem: spr4evo_airplane_script.txt Using this configuration, actual servo assignments are shifted where servo 3 is visible on the C06 port (assigned to servo 1) and repeats for all servos up to and including servo 8 which is visible on B07 (assigned to servo 6). This will work as a "work around" where I am driving the motor with the servo 3 output. Attempting to put the motor 1 on C06 (by swapping resource assignments for motor 1 and servo 3) breaks the servo assignments and I am unable to get the servos to function properly under any other resource mapping.

C - Video Links

none

D - Forum post links

I have worked with @mikeller on the slack channel (I am @kahn).

E - Version Information

Cleanflight: v2.1.0

E - Other information

-- provide additional information such as. -- flight controller make/model: SPRACINGF4EVO -- Firmware version: v2.1.0 - SPRACINGF4EVO - 30-07-2017 06:26 (stable) -- config dump + diff Dump: dump version Cleanflight / SPRACINGF4EVO 2.1.0 Jul 30 2017 / 13:15:12 (8b24735) name name - resources resource BEEPER 1 NONE resource MOTOR 1 A01 resource MOTOR 2 NONE resource MOTOR 3 NONE resource MOTOR 4 NONE resource MOTOR 5 NONE resource MOTOR 6 NONE resource MOTOR 7 NONE resource MOTOR 8 NONE resource MOTOR 9 NONE resource MOTOR 10 NONE resource MOTOR 11 NONE resource MOTOR 12 NONE resource SERVO 1 C06 resource SERVO 2 C07 resource SERVO 3 C09 resource SERVO 4 C08 resource SERVO 5 B06 resource SERVO 6 B07 resource SERVO 7 B01 resource SERVO 8 B00 resource PPM 1 A03 resource PWM 1 NONE resource PWM 2 NONE resource PWM 3 NONE resource PWM 4 NONE resource PWM 5 NONE resource PWM 6 NONE resource PWM 7 NONE resource PWM 8 NONE resource LED_STRIP 1 NONE resource SERIAL_TX 1 A09 resource SERIAL_TX 2 NONE resource SERIAL_TX 3 NONE resource SERIAL_TX 4 NONE resource SERIAL_TX 5 NONE resource SERIAL_TX 6 NONE resource SERIAL_TX 7 NONE resource SERIAL_TX 8 NONE resource SERIAL_TX 9 NONE resource SERIAL_TX 10 NONE resource SERIAL_RX 1 A10 resource SERIAL_RX 2 NONE resource SERIAL_RX 3 NONE resource SERIAL_RX 4 NONE resource SERIAL_RX 5 NONE resource SERIAL_RX 6 NONE resource SERIAL_RX 7 NONE resource SERIAL_RX 8 NONE resource SERIAL_RX 9 NONE resource SERIAL_RX 10 NONE resource INVERTER 1 NONE resource INVERTER 2 B02 resource INVERTER 3 NONE resource INVERTER 4 NONE resource INVERTER 5 NONE resource INVERTER 6 NONE resource INVERTER 7 NONE resource INVERTER 8 NONE resource INVERTER 9 NONE resource INVERTER 10 NONE resource I2C_SCL 1 B08 resource I2C_SCL 2 NONE resource I2C_SCL 3 NONE resource I2C_SDA 1 B09 resource I2C_SDA 2 NONE resource I2C_SDA 3 NONE resource LED 1 A00 resource LED 2 NONE resource LED 3 NONE resource RX_BIND 1 NONE resource RX_BIND_PLUG 1 NONE resource TRANSPONDER 1 NONE resource SPI_SCK 1 A05 resource SPI_SCK 2 B13 resource SPI_SCK 3 B03 resource SPI_MISO 1 A06 resource SPI_MISO 2 B14 resource SPI_MISO 3 B04 resource SPI_MOSI 1 A07 resource SPI_MOSI 2 B15 resource SPI_MOSI 3 B05

mixer mixer CUSTOMAIRPLANE

mmix reset

mmix 0 1.000 0.000 0.000 0.000

servo servo 0 1000 2000 1500 100 -1 servo 1 1000 2000 1500 100 -1 servo 2 1000 2000 1500 100 -1 servo 3 1000 2000 1500 100 -1 servo 4 1000 2000 1500 100 -1 servo 5 1000 2000 1500 100 -1 servo 6 1000 2000 1500 -100 -1 servo 7 1000 2000 1500 100 -1

servo mix smix reset

smix 0 0 10 100 0 0 100 0 smix 1 1 10 100 0 0 100 0 smix 2 2 3 100 0 0 100 0 smix 3 3 10 100 0 0 100 0 smix 4 4 0 100 0 0 100 0 smix 5 5 0 100 0 0 100 0 smix 6 6 2 100 0 0 100 0 smix 7 7 1 100 0 0 100 0

feature feature -RX_PPM feature -INFLIGHT_ACC_CAL feature -RX_SERIAL feature -MOTOR_STOP feature -SERVO_TILT feature -SOFTSERIAL feature -GPS feature -FAILSAFE feature -SONAR feature -TELEMETRY feature -3D feature -RX_PARALLEL_PWM feature -RX_MSP feature -RSSI_ADC feature -LED_STRIP feature -DISPLAY feature -OSD feature -CHANNEL_FORWARDING feature -TRANSPONDER feature -AIRMODE feature -RX_SPI feature -SOFTSPI feature -ESC_SENSOR feature -ANTI_GRAVITY feature -DYNAMIC_FILTER feature RX_PPM feature FAILSAFE

beeper beeper GYRO_CALIBRATED beeper RX_LOST beeper RX_LOST_LANDING beeper DISARMING beeper ARMING beeper ARMING_GPS_FIX beeper BAT_CRIT_LOW beeper BAT_LOW beeper GPS_STATUS beeper RX_SET beeper ACC_CALIBRATION beeper ACC_CALIBRATION_FAIL beeper READY_BEEP beeper MULTI_BEEPS beeper DISARM_REPEAT beeper ARMED beeper SYSTEM_INIT beeper ON_USB beeper BLACKBOX_ERASE

map map TAER1234

serial serial 20 1 115200 57600 0 115200 serial 0 1 115200 57600 0 115200 serial 1 64 115200 57600 0 115200 serial 2 0 115200 57600 0 115200 serial 3 0 115200 57600 0 115200 serial 4 32 115200 57600 0 115200

led led 0 0,0::C:0 led 1 0,0::C:0 led 2 0,0::C:0 led 3 0,0::C:0 led 4 0,0::C:0 led 5 0,0::C:0 led 6 0,0::C:0 led 7 0,0::C:0 led 8 0,0::C:0 led 9 0,0::C:0 led 10 0,0::C:0 led 11 0,0::C:0 led 12 0,0::C:0 led 13 0,0::C:0 led 14 0,0::C:0 led 15 0,0::C:0 led 16 0,0::C:0 led 17 0,0::C:0 led 18 0,0::C:0 led 19 0,0::C:0 led 20 0,0::C:0 led 21 0,0::C:0 led 22 0,0::C:0 led 23 0,0::C:0 led 24 0,0::C:0 led 25 0,0::C:0 led 26 0,0::C:0 led 27 0,0::C:0 led 28 0,0::C:0 led 29 0,0::C:0 led 30 0,0::C:0 led 31 0,0::C:0

color color 0 0,0,0 color 1 0,255,255 color 2 0,0,255 color 3 30,0,255 color 4 60,0,255 color 5 90,0,255 color 6 120,0,255 color 7 150,0,255 color 8 180,0,255 color 9 210,0,255 color 10 240,0,255 color 11 270,0,255 color 12 300,0,255 color 13 330,0,255 color 14 0,0,0 color 15 0,0,0

mode_color mode_color 0 0 1 mode_color 0 1 11 mode_color 0 2 2 mode_color 0 3 13 mode_color 0 4 10 mode_color 0 5 3 mode_color 1 0 5 mode_color 1 1 11 mode_color 1 2 3 mode_color 1 3 13 mode_color 1 4 10 mode_color 1 5 3 mode_color 2 0 10 mode_color 2 1 11 mode_color 2 2 4 mode_color 2 3 13 mode_color 2 4 10 mode_color 2 5 3 mode_color 3 0 8 mode_color 3 1 11 mode_color 3 2 4 mode_color 3 3 13 mode_color 3 4 10 mode_color 3 5 3 mode_color 4 0 7 mode_color 4 1 11 mode_color 4 2 3 mode_color 4 3 13 mode_color 4 4 10 mode_color 4 5 3 mode_color 5 0 9 mode_color 5 1 11 mode_color 5 2 2 mode_color 5 3 13 mode_color 5 4 10 mode_color 5 5 3 mode_color 6 0 6 mode_color 6 1 10 mode_color 6 2 1 mode_color 6 3 0 mode_color 6 4 0 mode_color 6 5 2 mode_color 6 6 3 mode_color 6 7 6 mode_color 6 8 0 mode_color 6 9 0 mode_color 6 10 0 mode_color 7 0 3

aux aux 0 0 0 1700 2100 aux 1 1 1 1300 1700 aux 2 2 1 1700 2100 aux 3 12 1 900 1300 aux 4 0 0 900 900 aux 5 0 0 900 900 aux 6 0 0 900 900 aux 7 0 0 900 900 aux 8 0 0 900 900 aux 9 0 0 900 900 aux 10 0 0 900 900 aux 11 0 0 900 900 aux 12 0 0 900 900 aux 13 0 0 900 900 aux 14 0 0 900 900 aux 15 0 0 900 900 aux 16 0 0 900 900 aux 17 0 0 900 900 aux 18 0 0 900 900 aux 19 0 0 900 900

adjrange adjrange 0 0 0 900 900 0 0 adjrange 1 0 0 900 900 0 0 adjrange 2 0 0 900 900 0 0 adjrange 3 0 0 900 900 0 0 adjrange 4 0 0 900 900 0 0 adjrange 5 0 0 900 900 0 0 adjrange 6 0 0 900 900 0 0 adjrange 7 0 0 900 900 0 0 adjrange 8 0 0 900 900 0 0 adjrange 9 0 0 900 900 0 0 adjrange 10 0 0 900 900 0 0 adjrange 11 0 0 900 900 0 0 adjrange 12 0 0 900 900 0 0 adjrange 13 0 0 900 900 0 0 adjrange 14 0 0 900 900 0 0

rxrange rxrange 0 1000 2000 rxrange 1 1000 2000 rxrange 2 1000 2000 rxrange 3 1000 2000

vtx vtx 0 0 0 0 900 900 vtx 1 0 0 0 900 900 vtx 2 0 0 0 900 900 vtx 3 0 0 0 900 900 vtx 4 0 0 0 900 900 vtx 5 0 0 0 900 900 vtx 6 0 0 0 900 900 vtx 7 0 0 0 900 900 vtx 8 0 0 0 900 900 vtx 9 0 0 0 900 900

rxfail rxfail 0 a rxfail 1 a rxfail 2 a rxfail 3 a rxfail 4 h rxfail 5 h rxfail 6 h rxfail 7 h rxfail 8 h rxfail 9 h rxfail 10 h rxfail 11 h rxfail 12 h rxfail 13 h rxfail 14 h rxfail 15 h rxfail 16 h rxfail 17 h

master set align_gyro = DEFAULT set gyro_lpf = OFF set gyro_sync_denom = 1 set gyro_lowpass_type = PT1 set gyro_lowpass_hz = 90 set gyro_notch1_hz = 400 set gyro_notch1_cutoff = 300 set gyro_notch2_hz = 200 set gyro_notch2_cutoff = 100 set moron_threshold = 48 set gyro_use_32khz = OFF set gyro_isr_update = OFF set align_acc = DEFAULT set acc_hardware = AUTO set acc_lpf_hz = 10 set acc_trim_pitch = 0 set acc_trim_roll = 0 set align_mag = DEFAULT set mag_hardware = NONE set mag_declination = 0 set magzero_x = 0 set magzero_y = 0 set magzero_z = 0 set baro_hardware = AUTO set baro_tab_size = 21 set baro_noise_lpf = 600 set baro_cf_vel = 985 set baro_cf_alt = 965 set mid_rc = 1500 set min_check = 1100 set max_check = 1900 set rssi_channel = 0 set rssi_scale = 30 set rssi_invert = OFF set rc_interp = AUTO set rc_interp_ch = RP set rc_interp_int = 19 set fpv_mix_degrees = 0 set max_aux_channels = 14 set serialrx_provider = SBUS set sbus_inversion = ON set spektrum_sat_bind = 0 set spektrum_sat_bind_autoreset = 1 set airmode_start_throttle = 1350 set rx_min_usec = 885 set rx_max_usec = 2115 set serialrx_halfduplex = OFF set input_filtering_mode = OFF set blackbox_rate_num = 1 set blackbox_rate_denom = 1 set blackbox_device = SDCARD set blackbox_on_motor_test = OFF set blackbox_record_acc = ON set min_throttle = 1000 set max_throttle = 2000 set min_command = 1000 set dshot_idle_value = 450 set use_unsynced_pwm = OFF set motor_pwm_protocol = ONESHOT125 set motor_pwm_rate = 480 set motor_pwm_inversion = OFF set thr_corr_value = 0 set thr_corr_angle = 800 set failsafe_delay = 10 set failsafe_off_delay = 10 set failsafe_throttle = 1000 set failsafe_kill_switch = OFF set failsafe_throttle_low_delay = 100 set failsafe_procedure = DROP set align_board_roll = 0 set align_board_pitch = 0 set align_board_yaw = -90 set gimbal_mode = NORMAL set bat_capacity = 0 set vbat_max_cell_voltage = 43 set vbat_min_cell_voltage = 33 set vbat_warning_cell_voltage = 35 set vbat_hysteresis = 1 set current_meter = NONE set battery_meter = ADC set vbat_detect_cell_voltage = 30 set use_vbat_alerts = ON set use_cbat_alerts = OFF set cbat_alert_percent = 10 set vbat_scale = 110 set ibata_scale = 400 set ibata_offset = 0 set ibatv_scale = 0 set ibatv_offset = 0 set beeper_inversion = ON set beeper_od = OFF set beeper_frequency = 0 set yaw_motors_reversed = OFF set 3d_deadband_low = 1406 set 3d_deadband_high = 1514 set 3d_neutral = 1460 set 3d_deadband_throttle = 50 set servo_center_pulse = 1500 set servo_pwm_rate = 50 set servo_lowpass_hz = 0 set tri_unarmed_servo = ON set channel_forwarding_start = 4 set reboot_character = 82 set serial_update_rate_hz = 100 set accxy_deadband = 40 set accz_deadband = 40 set acc_unarmedcal = ON set imu_dcm_kp = 2500 set imu_dcm_ki = 0 set small_angle = 25 set auto_disarm_delay = 5 set disarm_kill_switch = OFF set gyro_cal_on_first_arm = OFF set gps_provider = NMEA set gps_sbas_mode = AUTO set gps_auto_config = ON set gps_auto_baud = OFF set gps_wp_radius = 200 set nav_controls_heading = ON set nav_speed_min = 100 set nav_speed_max = 300 set nav_slew_rate = 30 set fixedwing_althold_reversed = OFF set alt_hold_deadband = 40 set alt_hold_fast_change = ON set deadband = 0 set yaw_deadband = 0 set yaw_control_reversed = OFF set pid_process_denom = 4 set tlm_switch = OFF set tlm_inverted = ON set tlm_halfduplex = OFF set frsky_default_lat = 0 set frsky_default_long = 0 set frsky_gps_format = 0 set frsky_unit = IMPERIAL set frsky_vfas_precision = 0 set hott_alarm_int = 5 set pid_in_tlm = OFF set report_cell_voltage = OFF set ledstrip_visual_beeper = OFF set sdcard_dma = ON set osd_units = METRIC set osd_rssi_alarm = 20 set osd_cap_alarm = 2200 set osd_alt_alarm = 100 set osd_tim1 = 2560 set osd_tim2 = 2561 set osd_vbat_pos = 2092 set osd_rssi_pos = 2088 set osd_tim_1_pos = 2102 set osd_tim_2_pos = 2081 set osd_flymode_pos = 2381 set osd_throttle_pos = 2273 set osd_vtx_channel_pos = 2424 set osd_crosshairs = 2248 set osd_horizon_pos = 2248 set osd_current_pos = 2433 set osd_mah_drawn_pos = 2401 set osd_craft_name_pos = 2410 set osd_gps_speed_pos = 2265 set osd_gps_lon_pos = 2066 set osd_gps_lat_pos = 2049 set osd_gps_sats_pos = 2099 set osd_home_dir_pos = 2350 set osd_home_dist_pos = 2351 set osd_compass_bar_pos = 2314 set osd_altitude_pos = 2296 set osd_pid_roll_pos = 2471 set osd_pid_pitch_pos = 2503 set osd_pid_yaw_pos = 2535 set osd_debug_pos = 1 set osd_power_pos = 2369 set osd_pidrate_profile_pos = 2393 set osd_warnings_pos = 2377 set osd_avg_cell_voltage_pos = 2060 set osd_pit_ang_pos = 2305 set osd_rol_ang_pos = 2337 set osd_battery_usage_pos = 2440 set osd_disarmed_pos = 2187 set osd_nheading_pos = 2360 set osd_nvario_pos = 2328 set osd_esc_tmp_pos = 2209 set osd_esc_rpm_pos = 2241 set osd_stat_max_spd = ON set osd_stat_max_dist = OFF set osd_stat_min_batt = ON set osd_stat_min_rssi = ON set osd_stat_max_curr = ON set osd_stat_used_mah = ON set osd_stat_max_alt = OFF set osd_stat_bbox = ON set osd_stat_endbatt = OFF set osd_stat_bb_no = ON set osd_stat_tim_1 = OFF set osd_stat_tim_2 = ON set task_statistics = ON set debug_mode = NONE set cpu_overclock = OFF set vtx_band = 4 set vtx_channel = 1 set vtx_power = 0 set displayport_msp_col_adjust = 0 set displayport_msp_row_adjust = 0 set esc_sensor_halfduplex = OFF set led_inversion = 0 set dashboard_i2c_bus = 1 set dashboard_i2c_addr = 60

profile profile 0

set dterm_lowpass_type = BIQUAD set dterm_lowpass = 100 set dterm_notch_hz = 260 set dterm_notch_cutoff = 160 set vbat_pid_gain = OFF set pid_at_min_throttle = ON set anti_gravity_threshold = 350 set anti_gravity_gain = 1000 set setpoint_relax_ratio = 100 set dterm_setpoint_weight = 60 set acc_limit_yaw = 100 set acc_limit = 0 set crash_dthreshold = 50 set crash_gthreshold = 200 set crash_time = 500 set crash_recovery_angle = 10 set crash_recovery_rate = 100 set crash_recovery = OFF set iterm_windup = 50 set yaw_lowpass = 0 set pidsum_limit = 500 set pidsum_limit_yaw = 400 set p_pitch = 58 set i_pitch = 50 set d_pitch = 35 set p_roll = 40 set i_roll = 40 set d_roll = 30 set p_yaw = 70 set i_yaw = 45 set d_yaw = 20 set p_alt = 50 set i_alt = 0 set d_alt = 0 set p_level = 50 set i_level = 50 set d_level = 75 set p_vel = 55 set i_vel = 55 set d_vel = 75 set level_sensitivity = 55 set level_limit = 55 set horizon_tilt_effect = 75 set horizon_tilt_expert_mode = OFF set gps_pos_p = 15 set gps_pos_i = 0 set gps_pos_d = 0 set gps_posr_p = 34 set gps_posr_i = 14 set gps_posr_d = 53 set gps_nav_p = 25 set gps_nav_i = 33 set gps_nav_d = 83

rateprofile rateprofile 0

set rc_rate = 100 set rc_rate_yaw = 100 set rc_expo = 0 set rc_expo_yaw = 0 set thr_mid = 50 set thr_expo = 0 set roll_srate = 70 set pitch_srate = 70 set yaw_srate = 70 set tpa_rate = 10 set tpa_breakpoint = 1650

Diff: diff

version Cleanflight / SPRACINGF4EVO 2.1.0 Jul 30 2017 / 13:15:12 (8b24735)

name

resources resource BEEPER 1 NONE resource MOTOR 1 A01 resource MOTOR 2 NONE resource MOTOR 3 NONE resource MOTOR 4 NONE resource MOTOR 5 NONE resource MOTOR 6 NONE resource MOTOR 7 NONE resource MOTOR 8 NONE resource MOTOR 9 NONE resource MOTOR 10 NONE resource SERVO 1 C06 resource SERVO 2 C07 resource SERVO 3 C09 resource SERVO 4 C08 resource SERVO 5 B06 resource SERVO 6 B07 resource SERVO 7 B01 resource SERVO 8 B00 resource PWM 1 NONE resource PWM 2 NONE resource PWM 3 NONE resource PWM 4 NONE resource LED_STRIP 1 NONE resource SERIAL_TX 2 NONE resource SERIAL_TX 3 NONE resource SERIAL_TX 4 NONE resource SERIAL_TX 5 NONE resource SERIAL_RX 2 NONE resource SERIAL_RX 3 NONE resource SERIAL_RX 4 NONE resource SERIAL_RX 5 NONE resource TRANSPONDER 1 NONE

mixer mixer CUSTOMAIRPLANE mmix 0 1.000 0.000 0.000 0.000

servo servo 6 1000 2000 1500 -100 -1

servo mix smix 0 0 10 100 0 0 100 0 smix 1 1 10 100 0 0 100 0 smix 2 2 3 100 0 0 100 0 smix 3 3 10 100 0 0 100 0 smix 4 4 0 100 0 0 100 0 smix 5 5 0 100 0 0 100 0 smix 6 6 2 100 0 0 100 0 smix 7 7 1 100 0 0 100 0

feature feature -RX_SERIAL feature -TELEMETRY feature -RSSI_ADC feature -LED_STRIP feature -OSD feature -TRANSPONDER feature RX_PPM

beeper

map map TAER1234

serial

led

color

mode_color

aux aux 0 0 0 1700 2100 aux 1 1 1 1300 1700 aux 2 2 1 1700 2100 aux 3 12 1 900 1300

adjrange

rxrange

vtx

rxfail

master set min_throttle = 1000 set align_board_yaw = -90 set current_meter = NONE set disarm_kill_switch = OFF

profile profile 0

rateprofile rateprofile 0

-- esc make/model/config -- receiver make/model/config -- transmitter make/model/config -- schematics -- diagrams -- operating system -- etc.

hydra commented 6 years ago

please build firmware from latest master and re-test.

hydra commented 6 years ago

please try 2.2.0-RC2 and report back.

hydra commented 4 years ago

no feedback report and master has changed significantly again. closing as Inactive.