iNavFlight / inav

INAV: Navigation-enabled flight control software
https://inavflight.github.io
GNU General Public License v3.0
3.11k stars 1.47k forks source link

Problem: arming #1386

Closed avirotstein closed 7 years ago

avirotstein commented 7 years ago

Using iNav 1.6.0 on an Seriously Pro Racing F3 Delux board with a (properly reconfigured) "Walkera QR X350 Pro Quadcopter - GPS Module", will not arm, even after GPS fix is obtained, even after waiting many additional minutes. Arm and disarm both result in a beep, so Rx setup is working. the GPS position shows correctly on my remote over telemetry, so that is configured correctly. The 1 time it did arm (I don't know under what special condition this occurred), after lifting off it did not move forward after pressing forward on my remote so I quickly disarmed it, and could not get it to rearm. (my channel mapping is configured exactly as I did under Cleanflight)

digitalentity commented 7 years ago

Please provide your configuration dump.

avirotstein commented 7 years ago

Configuration is as follows:

2017-03-10 @ 11:26:08 -- Running - OS: Windows, Chrome: 56.0.2924.87, Configurator: 1.6.2 2017-03-10 @ 11:48:37 -- Serial port successfully opened with ID: 2 2017-03-10 @ 11:48:37 -- MultiWii API version received - 1.24.0 2017-03-10 @ 11:48:37 -- Flight controller info, identifier: INAV, version: 1.6.0 2017-03-10 @ 11:48:37 -- Running firmware released on: Feb 28 2017 13:44:32 2017-03-10 @ 11:48:39 -- Board: SRF3, version: 0 2017-03-10 @ 11:48:39 -- Unique device ID received - 0x3e002f5832570b20363436 2017-03-10 @ 11:48:40 -- CLI mode detected Setup Presets Ports Configuration Failsafe PID tuning Advanced tuning Receiver Modes Adjustments Servos GPS Motors OSD LED Strip Sensors Tethered Logging Blackbox CLI Note: Leaving CLI tab or pressing Disconnect will automatically send "exit" to the board. With the latest firmware this will make the controller restart and unsaved changes will be lost.

Entering CLI Mode, type 'exit' to return, or 'help'

dump

version

INAV/SPRACINGF3 1.6.0 Feb 28 2017 / 13:44:32 (0def456)

resources

mixer

mixer QUADX

mmix reset

servo

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

servo mix

smix reset

feature

feature -RX_PPM feature -VBAT feature -RX_SERIAL feature -MOTOR_STOP feature -SERVO_TILT feature -SOFTSERIAL feature -GPS feature -TELEMETRY feature -CURRENT_METER feature -3D feature -RX_PARALLEL_PWM feature -RX_MSP feature -RSSI_ADC feature -LED_STRIP feature -DASHBOARD feature -BLACKBOX feature -CHANNEL_FORWARDING feature -TRANSPONDER feature -AIRMODE feature -SUPEREXPO feature -VTX feature -RX_SPI feature -SOFTSPI feature -PWM_SERVO_DRIVER feature -PWM_OUTPUT_ENABLE feature -OSD feature VBAT feature RX_SERIAL feature SOFTSERIAL feature GPS feature TELEMETRY feature CURRENT_METER feature BLACKBOX feature PWM_OUTPUT_ENABLE

beeper

beeper GYRO_CALIBRATED beeper HW_FAILURE 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 ACTION_SUCCESS beeper ACTION_FAIL beeper READY_BEEP beeper MULTI_BEEPS beeper DISARM_REPEAT beeper ARMED beeper SYSTEM_INIT beeper ON_USB beeper LAUNCH_MODE

map

map TREA1234

serial

serial 0 1 115200 38400 0 115200 serial 1 64 115200 38400 0 115200 serial 2 32 115200 38400 0 115200 serial 30 2 115200 38400 0 115200 serial 31 0 115200 38400 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

aux

aux 0 1 0 900 2100 aux 1 23 0 1675 2100 aux 2 3 0 1300 2100 aux 3 9 0 1700 2100 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

rxrange

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

master

set looptime = 1000 set gyro_sync = ON set gyro_sync_denom = 4 set align_gyro = DEFAULT set gyro_hardware_lpf = 256HZ set gyro_lpf_hz = 90 set moron_threshold = 32 set gyro_notch1_hz = 400 set gyro_notch1_cutoff = 300 set gyro_notch2_hz = 200 set gyro_notch2_cutoff = 100 set align_acc = DEFAULT set acc_hardware = MPU6050 set acc_lpf_hz = 15 set acczero_x = 124 set acczero_y = 26 set acczero_z = -145 set accgain_x = 4117 set accgain_y = 4087 set accgain_z = 4075 set rangefinder_hardware = NONE set align_mag = DEFAULT set mag_hardware = HMC5883 set mag_declination = 1140 set magzero_x = 197 set magzero_y = -1133 set magzero_z = 504 set mag_hold_rate_limit = 90 set mag_calibration_time = 30 set baro_hardware = MS5611 set baro_use_median_filter = ON 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_smoothing = ON set serialrx_provider = SBUS set sbus_inversion = ON set spektrum_sat_bind = 0 set rx_min_usec = 885 set rx_max_usec = 2115 set rx_nosignal_throttle = HOLD set blackbox_rate_num = 1 set blackbox_rate_denom = 1 set blackbox_device = SPIFLASH set min_throttle = 1150 set max_throttle = 1850 set min_command = 1000 set motor_pwm_rate = 2000 set motor_pwm_protocol = ONESHOT125 set failsafe_delay = 10 set failsafe_recovery_delay = 5 set failsafe_off_delay = 200 set failsafe_kill_switch = OFF set failsafe_throttle_low_delay = 100 set failsafe_procedure = DROP set failsafe_stick_threshold = 50 set failsafe_fw_roll_angle = -200 set failsafe_fw_pitch_angle = 100 set failsafe_fw_yaw_rate = -45 set align_board_roll = 0 set align_board_pitch = 0 set align_board_yaw = 0 set gimbal_mode = NORMAL set battery_capacity = 0 set vbat_scale = 110 set vbat_max_cell_voltage = 43 set vbat_min_cell_voltage = 33 set vbat_warning_cell_voltage = 35 set current_meter_scale = 480 set current_meter_offset = 0 set multiwii_current_meter_output = OFF set current_meter_type = ADC set yaw_motor_direction = 1 set yaw_jump_prevention_limit = 200 set 3d_deadband_low = 1406 set 3d_deadband_high = 1514 set 3d_neutral = 1460 set servo_center_pulse = 1500 set servo_pwm_rate = 50 set servo_lpf_hz = 20 set flaperon_throw_offset = 250 set flaperon_throw_inverted = OFF set tri_unarmed_servo = ON set reboot_character = 82 set imu_dcm_kp = 2500 set imu_dcm_ki = 50 set imu_dcm_kp_mag = 10000 set imu_dcm_ki_mag = 0 set small_angle = 25 set fixed_wing_auto_arm = OFF set disarm_kill_switch = ON set auto_disarm_delay = 5 set gps_provider = NMEA set gps_sbas_mode = NONE set gps_dyn_model = AIR_1G set gps_auto_config = ON set gps_auto_baud = ON set gps_min_sats = 6 set deadband = 5 set yaw_deadband = 5 set pos_hold_deadband = 20 set alt_hold_deadband = 50 set 3d_deadband_throttle = 50 set inav_auto_mag_decl = ON set inav_accz_unarmedcal = ON set inav_use_gps_velned = ON set inav_gps_delay = 200 set inav_reset_altitude = FIRST_ARM set inav_w_z_baro_p = 0.350 set inav_w_z_gps_p = 0.200 set inav_w_z_gps_v = 0.500 set inav_w_xy_gps_p = 1.000 set inav_w_xy_gps_v = 2.000 set inav_w_z_res_v = 0.500 set inav_w_xy_res_v = 0.500 set inav_w_acc_bias = 0.010 set inav_max_eph_epv = 1000.000 set inav_baro_epv = 100.000 set nav_disarm_on_landing = OFF set nav_use_midthr_for_althold = OFF set nav_extra_arming_safety = ON set nav_user_control_mode = ATTI set nav_position_timeout = 5 set nav_wp_radius = 100 set nav_wp_safe_distance = 10000 set nav_max_speed = 300 set nav_max_climb_rate = 500 set nav_manual_speed = 500 set nav_manual_climb_rate = 200 set nav_landing_speed = 200 set nav_land_slowdown_minalt = 500 set nav_land_slowdown_maxalt = 2000 set nav_emerg_landing_speed = 500 set nav_min_rth_distance = 500 set nav_rth_climb_first = ON set nav_rth_climb_ignore_emerg = OFF set nav_rth_tail_first = OFF set nav_rth_allow_landing = ON set nav_rth_alt_mode = AT_LEAST set nav_rth_abort_threshold = 50000 set nav_rth_altitude = 1000 set nav_mc_bank_angle = 30 set nav_mc_hover_thr = 1461 set nav_mc_auto_disarm_delay = 2000 set nav_fw_cruise_thr = 1400 set nav_fw_min_thr = 1200 set nav_fw_max_thr = 1700 set nav_fw_bank_angle = 20 set nav_fw_climb_angle = 20 set nav_fw_dive_angle = 15 set nav_fw_pitch2thr = 10 set nav_fw_roll2pitch = 75 set nav_fw_loiter_radius = 5000 set nav_fw_launch_velocity = 300 set nav_fw_launch_accel = 1863 set nav_fw_launch_detect_time = 40 set nav_fw_launch_thr = 1700 set nav_fw_launch_idle_thr = 1000 set nav_fw_launch_motor_delay = 500 set nav_fw_launch_spinup_time = 100 set nav_fw_launch_timeout = 5000 set nav_fw_launch_climb_angle = 18 set telemetry_switch = OFF set telemetry_inversion = ON set frsky_default_lattitude = 0.000 set frsky_default_longitude = 0.000 set frsky_coordinates_format = 0 set frsky_unit = IMPERIAL set frsky_vfas_precision = 0 set frsky_vfas_cell_voltage = OFF set hott_alarm_sound_interval = 5 set smartport_uart_unidir = OFF set ibus_telemetry_type = 0 set ledstrip_visual_beeper = OFF set i2c_overclock = OFF set debug_mode = NONE set acc_task_frequency = 500 set attitude_task_frequency = 100 set async_mode = ALL set throttle_tilt_comp_str = 0 set input_filtering_mode = OFF set mode_range_logic_operator = OR

profile

profile 1

set mc_p_pitch = 58 set mc_i_pitch = 50 set mc_d_pitch = 22 set mc_p_roll = 43 set mc_i_roll = 40 set mc_d_roll = 20 set mc_p_yaw = 70 set mc_i_yaw = 45 set mc_d_yaw = 0 set mc_p_level = 20 set mc_i_level = 15 set mc_d_level = 75 set fw_p_pitch = 20 set fw_i_pitch = 35 set fw_ff_pitch = 10 set fw_p_roll = 25 set fw_i_roll = 35 set fw_ff_roll = 10 set fw_p_yaw = 50 set fw_i_yaw = 45 set fw_ff_yaw = 0 set fw_p_level = 20 set fw_i_level = 15 set fw_d_level = 75 set max_angle_inclination_rll = 300 set max_angle_inclination_pit = 300 set dterm_lpf_hz = 80 set yaw_lpf_hz = 30 set dterm_setpoint_weight = 0.000 set fw_iterm_throw_limit = 165 set dterm_notch_hz = 260 set dterm_notch_cutoff = 160 set pidsum_limit = 500 set yaw_p_limit = 300 set iterm_ignore_threshold = 200 set yaw_iterm_ignore_threshold = 50 set rate_accel_limit_roll_pitch = 0 set rate_accel_limit_yaw = 10000 set nav_mc_pos_z_p = 50 set nav_mc_pos_z_i = 0 set nav_mc_pos_z_d = 0 set nav_mc_vel_z_p = 100 set nav_mc_vel_z_i = 50 set nav_mc_vel_z_d = 10 set nav_mc_pos_xy_p = 65 set nav_mc_pos_xy_i = 120 set nav_mc_pos_xy_d = 10 set nav_mc_vel_xy_p = 180 set nav_mc_vel_xy_i = 15 set nav_mc_vel_xy_d = 100 set nav_fw_pos_z_p = 50 set nav_fw_pos_z_i = 0 set nav_fw_pos_z_d = 0 set nav_fw_pos_xy_p = 75 set nav_fw_pos_xy_i = 5 set nav_fw_pos_xy_d = 8 set rc_expo = 70 set rc_yaw_expo = 20 set thr_mid = 50 set thr_expo = 0 set roll_rate = 80 set pitch_rate = 80 set yaw_rate = 65 set tpa_rate = 0 set tpa_breakpoint = 1500

digitalentity commented 7 years ago

What is shown on main Configurator screen? Does all checks show green checkmarks?

avirotstein commented 7 years ago

Everything but navigation is safe (metal roof here, no portable computer at the moment to check what its like outdoors, though telemetry indicates a gps fix outdoors). Strangely, if I set nav_extra_arming_safety=OFF then i can arm it indoors, but not outdoors.

digitalentity commented 7 years ago

Red "navigation is safe" might indicate that position is not accurate enough to consider "safe" even if you have a valid fix. Also, you won't be able to arm if you already have PosHold, Waypoint or RTH enabled.

With nav_extra_arming_safety=OFF you should be able to arm regardless of GPS lock - it's something else that prevents arming in your case.

avirotstein commented 7 years ago

I am arming via angle mode.

WaspFPV commented 7 years ago

Is your cpu overloaded maybe? Seems to be running 2k gyro, 1k pidloop and softserial. May I see the output from status command?

stronnag commented 7 years ago

Very plausible. Perhaps two profiles, one for performance and no nav, the other lower performance and nav. 1k gyro, asynch=gyro and self levelling arms for me on SPRF3 with nav and soft serial.

avirotstein commented 7 years ago

status

System Uptime: 39 seconds Voltage: 115 * 0.1V (3S battery - OK) CPU Clock=72MHz, GYRO=MPU6050, ACC=MPU6050.n, BARO=MS5611, MAG=HMC5883 Sensor status: GYRO=OK, ACC=OK, MAG=OK, BARO=OK, SONAR=NONE, GPS=NONE Stack size: 2048, Stack address: 0x10002000 I2C Errors: 0, config size: 3234, max available config: 4096 System load: 50, cycle time: 1048, PID rate: 954, RX rate: 47, System rate: 9

oleost commented 7 years ago

Seems very high, share 'tasks'

digitalentity commented 7 years ago

System load: 50 is marginal. Just slight increase in system load and you won't be able to arm. System load won't grow until tasks actually start competing for CPU time meaning anything above just a few percent is potentially unsafe.

avirotstein commented 7 years ago

I managed to get a wireless link working from my pc to outdoors. Confirmed 12 sats and navigation is safe is green. With softserial off, cpu usage is 42-58%. As for the gyro rate. Changing from 2khz to 1khz gives 28% cpu usage with softserial on and 18% with softserial off. It now arms. So it would seem the defauts are not usable on a "Seriously Pro Racing F3 Delux" board and perhaps changed?

digitalentity commented 7 years ago

@avirotstein what "defaults" are you talking about? INAV's default is 500Hz gyro/PID loop which is perfectly fine for all boards.

avirotstein commented 7 years ago

it seems to be the "5" racer" preset that sets the 1khz control loop and the 2khz gyro sampling. well that profile is not seeming working on this particular board, with those values.

oleost commented 7 years ago

If you read the description it's for f3 boards without any GPS. Only pure racing.

You will need to reduce some load when using that preset with GPS.

digitalentity commented 7 years ago

@avirotstein that preset is for pure racing w/o GPS/baro. You are overloading the FC.

WaspFPV commented 7 years ago

your serial config: uart1 MSP, uart2 serial rx, uart 3 smartport, softserial gps. Which baud is the gps using? Softserial should always run at the lowest baud possible, as more baudrate means more cpu load. Without softserial, your config would be no problem. I suppose you don't want to use ppm receiver mode to avoid the need for softserial. If you do wish to use softserial, try synchronous task processing at 1khz, that will improve navigation performance as well.

avirotstein commented 7 years ago

Seems to be 5% cpu load when no presets are applied, and softserial enabled.

digitalentity commented 7 years ago

Ok, I think we can close this.