|
|
|
@ -635,12 +635,11 @@ typedef struct {
|
|
|
|
|
const uint8_t type; // see cliValueFlag_e
|
|
|
|
|
void *ptr;
|
|
|
|
|
const cliValueConfig_t config;
|
|
|
|
|
const persistent_flags_e pflags_to_set;
|
|
|
|
|
} clivalue_t;
|
|
|
|
|
|
|
|
|
|
const clivalue_t valueTable[] = {
|
|
|
|
|
{ "looptime", VAR_UINT16 | MASTER_VALUE, &gyroConfig()->looptime, .config.minmax = {0, 9000}, 0 },
|
|
|
|
|
{ "i2c_overclock", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &masterConfig.i2c_overclock, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "looptime", VAR_UINT16 | MASTER_VALUE, &gyroConfig()->looptime, .config.minmax = {0, 9000} },
|
|
|
|
|
{ "i2c_overclock", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &masterConfig.i2c_overclock, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "gyro_sync", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gyroConfig()->gyroSync, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "gyro_sync_denom", VAR_UINT8 | MASTER_VALUE, &gyroConfig()->gyroSyncDenominator, .config.minmax = { 1, 32 } },
|
|
|
|
|
|
|
|
|
@ -650,271 +649,271 @@ const clivalue_t valueTable[] = {
|
|
|
|
|
{ "async_mode", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &masterConfig.asyncMode, .config.lookup = { TABLE_ASYNC_MODE } },
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
{ "mid_rc", VAR_UINT16 | MASTER_VALUE, &rxConfig()->midrc, .config.minmax = { 1200, 1700 }, 0 },
|
|
|
|
|
{ "min_check", VAR_UINT16 | MASTER_VALUE, &rxConfig()->mincheck, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX }, 0 },
|
|
|
|
|
{ "max_check", VAR_UINT16 | MASTER_VALUE, &rxConfig()->maxcheck, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX }, 0 },
|
|
|
|
|
{ "rssi_channel", VAR_INT8 | MASTER_VALUE, &rxConfig()->rssi_channel, .config.minmax = { 0, MAX_SUPPORTED_RC_CHANNEL_COUNT }, 0 },
|
|
|
|
|
{ "rssi_scale", VAR_UINT8 | MASTER_VALUE, &rxConfig()->rssi_scale, .config.minmax = { RSSI_SCALE_MIN, RSSI_SCALE_MAX }, 0 },
|
|
|
|
|
{ "rssi_ppm_invert", VAR_INT8 | MASTER_VALUE | MODE_LOOKUP, &rxConfig()->rssi_ppm_invert, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "rc_smoothing", VAR_INT8 | MASTER_VALUE | MODE_LOOKUP, &rxConfig()->rcSmoothing, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "input_filtering_mode", VAR_INT8 | MASTER_VALUE | MODE_LOOKUP, &masterConfig.inputFilteringMode, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "mid_rc", VAR_UINT16 | MASTER_VALUE, &rxConfig()->midrc, .config.minmax = { 1200, 1700 } },
|
|
|
|
|
{ "min_check", VAR_UINT16 | MASTER_VALUE, &rxConfig()->mincheck, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX } },
|
|
|
|
|
{ "max_check", VAR_UINT16 | MASTER_VALUE, &rxConfig()->maxcheck, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX } },
|
|
|
|
|
{ "rssi_channel", VAR_INT8 | MASTER_VALUE, &rxConfig()->rssi_channel, .config.minmax = { 0, MAX_SUPPORTED_RC_CHANNEL_COUNT } },
|
|
|
|
|
{ "rssi_scale", VAR_UINT8 | MASTER_VALUE, &rxConfig()->rssi_scale, .config.minmax = { RSSI_SCALE_MIN, RSSI_SCALE_MAX } },
|
|
|
|
|
{ "rssi_ppm_invert", VAR_INT8 | MASTER_VALUE | MODE_LOOKUP, &rxConfig()->rssi_ppm_invert, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "rc_smoothing", VAR_INT8 | MASTER_VALUE | MODE_LOOKUP, &rxConfig()->rcSmoothing, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "input_filtering_mode", VAR_INT8 | MASTER_VALUE | MODE_LOOKUP, &masterConfig.inputFilteringMode, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
|
|
|
|
|
{ "min_throttle", VAR_UINT16 | MASTER_VALUE, &motorConfig()->minthrottle, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX }, 0 },
|
|
|
|
|
{ "max_throttle", VAR_UINT16 | MASTER_VALUE, &motorConfig()->maxthrottle, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX }, 0 },
|
|
|
|
|
{ "min_command", VAR_UINT16 | MASTER_VALUE, &motorConfig()->mincommand, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX }, 0 },
|
|
|
|
|
{ "min_throttle", VAR_UINT16 | MASTER_VALUE, &motorConfig()->minthrottle, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX } },
|
|
|
|
|
{ "max_throttle", VAR_UINT16 | MASTER_VALUE, &motorConfig()->maxthrottle, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX } },
|
|
|
|
|
{ "min_command", VAR_UINT16 | MASTER_VALUE, &motorConfig()->mincommand, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX } },
|
|
|
|
|
|
|
|
|
|
{ "3d_deadband_low", VAR_UINT16 | MASTER_VALUE, &flight3DConfig()->deadband3d_low, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX }, 0 }, // FIXME upper limit should match code in the mixer, 1500 currently
|
|
|
|
|
{ "3d_deadband_high", VAR_UINT16 | MASTER_VALUE, &flight3DConfig()->deadband3d_high, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX }, 0 }, // FIXME lower limit should match code in the mixer, 1500 currently,
|
|
|
|
|
{ "3d_neutral", VAR_UINT16 | MASTER_VALUE, &flight3DConfig()->neutral3d, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX }, 0 },
|
|
|
|
|
{ "3d_deadband_throttle", VAR_UINT16 | MASTER_VALUE, &flight3DConfig()->deadband3d_throttle, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX }, 0 },
|
|
|
|
|
{ "3d_deadband_low", VAR_UINT16 | MASTER_VALUE, &flight3DConfig()->deadband3d_low, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX } }, // FIXME upper limit should match code in the mixer, 1500 currently
|
|
|
|
|
{ "3d_deadband_high", VAR_UINT16 | MASTER_VALUE, &flight3DConfig()->deadband3d_high, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX } }, // FIXME lower limit should match code in the mixer, 1500 currently,
|
|
|
|
|
{ "3d_neutral", VAR_UINT16 | MASTER_VALUE, &flight3DConfig()->neutral3d, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX } },
|
|
|
|
|
{ "3d_deadband_throttle", VAR_UINT16 | MASTER_VALUE, &flight3DConfig()->deadband3d_throttle, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX } },
|
|
|
|
|
|
|
|
|
|
{ "motor_pwm_rate", VAR_UINT16 | MASTER_VALUE, &motorConfig()->motorPwmRate, .config.minmax = { 50, 32000 }, 0 },
|
|
|
|
|
{ "motor_pwm_rate", VAR_UINT16 | MASTER_VALUE, &motorConfig()->motorPwmRate, .config.minmax = { 50, 32000 } },
|
|
|
|
|
{ "motor_pwm_protocol", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &motorConfig()->motorPwmProtocol, .config.lookup = { TABLE_MOTOR_PWM_PROTOCOL } },
|
|
|
|
|
|
|
|
|
|
{ "fixed_wing_auto_arm", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &armingConfig()->fixed_wing_auto_arm, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "disarm_kill_switch", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &armingConfig()->disarm_kill_switch, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "auto_disarm_delay", VAR_UINT8 | MASTER_VALUE, &armingConfig()->auto_disarm_delay, .config.minmax = { 0, 60 }, 0 },
|
|
|
|
|
{ "small_angle", VAR_UINT8 | MASTER_VALUE, &imuConfig()->small_angle, .config.minmax = { 0, 180 }, 0 },
|
|
|
|
|
{ "fixed_wing_auto_arm", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &armingConfig()->fixed_wing_auto_arm, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "disarm_kill_switch", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &armingConfig()->disarm_kill_switch, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "auto_disarm_delay", VAR_UINT8 | MASTER_VALUE, &armingConfig()->auto_disarm_delay, .config.minmax = { 0, 60 } },
|
|
|
|
|
{ "small_angle", VAR_UINT8 | MASTER_VALUE, &imuConfig()->small_angle, .config.minmax = { 0, 180 } },
|
|
|
|
|
|
|
|
|
|
{ "reboot_character", VAR_UINT8 | MASTER_VALUE, &serialConfig()->reboot_character, .config.minmax = { 48, 126 }, 0 },
|
|
|
|
|
{ "reboot_character", VAR_UINT8 | MASTER_VALUE, &serialConfig()->reboot_character, .config.minmax = { 48, 126 } },
|
|
|
|
|
|
|
|
|
|
#ifdef GPS
|
|
|
|
|
{ "gps_provider", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gpsConfig()->provider, .config.lookup = { TABLE_GPS_PROVIDER }, 0 },
|
|
|
|
|
{ "gps_sbas_mode", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gpsConfig()->sbasMode, .config.lookup = { TABLE_GPS_SBAS_MODE }, 0 },
|
|
|
|
|
{ "gps_dyn_model", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gpsConfig()->dynModel, .config.lookup = { TABLE_GPS_DYN_MODEL }, 0 },
|
|
|
|
|
{ "gps_auto_config", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gpsConfig()->autoConfig, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "gps_auto_baud", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gpsConfig()->autoBaud, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "gps_provider", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gpsConfig()->provider, .config.lookup = { TABLE_GPS_PROVIDER } },
|
|
|
|
|
{ "gps_sbas_mode", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gpsConfig()->sbasMode, .config.lookup = { TABLE_GPS_SBAS_MODE } },
|
|
|
|
|
{ "gps_dyn_model", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gpsConfig()->dynModel, .config.lookup = { TABLE_GPS_DYN_MODEL } },
|
|
|
|
|
{ "gps_auto_config", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gpsConfig()->autoConfig, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "gps_auto_baud", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gpsConfig()->autoBaud, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifdef NAV
|
|
|
|
|
{ "nav_alt_p", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PIDALT], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_alt_i", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PIDALT], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_alt_d", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PIDALT], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_alt_p", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PIDALT], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "nav_alt_i", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PIDALT], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "nav_alt_d", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PIDALT], .config.minmax = { 0, 255 }, },
|
|
|
|
|
|
|
|
|
|
{ "nav_vel_p", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PIDVEL], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_vel_i", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PIDVEL], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_vel_d", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PIDVEL], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_vel_p", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PIDVEL], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "nav_vel_i", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PIDVEL], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "nav_vel_d", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PIDVEL], .config.minmax = { 0, 255 }, },
|
|
|
|
|
|
|
|
|
|
{ "nav_pos_p", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PIDPOS], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_pos_i", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PIDPOS], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_pos_d", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PIDPOS], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_posr_p", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PIDPOSR], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_posr_i", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PIDPOSR], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_posr_d", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PIDPOSR], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_navr_p", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PIDNAVR], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_navr_i", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PIDNAVR], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_navr_d", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PIDNAVR], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "nav_pos_p", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PIDPOS], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "nav_pos_i", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PIDPOS], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "nav_pos_d", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PIDPOS], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "nav_posr_p", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PIDPOSR], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "nav_posr_i", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PIDPOSR], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "nav_posr_d", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PIDPOSR], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "nav_navr_p", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PIDNAVR], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "nav_navr_i", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PIDNAVR], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "nav_navr_d", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PIDNAVR], .config.minmax = { 0, 255 }, },
|
|
|
|
|
|
|
|
|
|
#if defined(NAV_AUTO_MAG_DECLINATION)
|
|
|
|
|
{ "inav_auto_mag_decl", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->estimation.automatic_mag_declination, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "inav_auto_mag_decl", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->estimation.automatic_mag_declination, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
{ "inav_accz_unarmedcal", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->estimation.accz_unarmed_cal, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "inav_use_gps_velned", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->estimation.use_gps_velned, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "inav_gps_delay", VAR_UINT16 | MASTER_VALUE, &navConfig()->estimation.gps_delay_ms, .config.minmax = { 0, 500 }, 0 },
|
|
|
|
|
{ "inav_gps_min_sats", VAR_UINT8 | MASTER_VALUE, &navConfig()->estimation.gps_min_sats, .config.minmax = { 5, 10}, 0 },
|
|
|
|
|
{ "inav_accz_unarmedcal", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->estimation.accz_unarmed_cal, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "inav_use_gps_velned", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->estimation.use_gps_velned, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "inav_gps_delay", VAR_UINT16 | MASTER_VALUE, &navConfig()->estimation.gps_delay_ms, .config.minmax = { 0, 500 } },
|
|
|
|
|
{ "inav_gps_min_sats", VAR_UINT8 | MASTER_VALUE, &navConfig()->estimation.gps_min_sats, .config.minmax = { 5, 10} },
|
|
|
|
|
|
|
|
|
|
{ "inav_w_z_baro_p", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_z_baro_p, .config.minmax = { 0, 10 }, 0 },
|
|
|
|
|
{ "inav_w_z_gps_p", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_z_gps_p, .config.minmax = { 0, 10 }, 0 },
|
|
|
|
|
{ "inav_w_z_gps_v", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_z_gps_v, .config.minmax = { 0, 10 }, 0 },
|
|
|
|
|
{ "inav_w_xy_gps_p", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_xy_gps_p, .config.minmax = { 0, 10 }, 0 },
|
|
|
|
|
{ "inav_w_xy_gps_v", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_xy_gps_v, .config.minmax = { 0, 10 }, 0 },
|
|
|
|
|
{ "inav_w_z_res_v", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_z_res_v, .config.minmax = { 0, 10 }, 0 },
|
|
|
|
|
{ "inav_w_xy_res_v", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_xy_res_v, .config.minmax = { 0, 10 }, 0 },
|
|
|
|
|
{ "inav_w_acc_bias", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_acc_bias, .config.minmax = { 0, 1 }, 0 },
|
|
|
|
|
{ "inav_w_z_baro_p", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_z_baro_p, .config.minmax = { 0, 10 } },
|
|
|
|
|
{ "inav_w_z_gps_p", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_z_gps_p, .config.minmax = { 0, 10 } },
|
|
|
|
|
{ "inav_w_z_gps_v", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_z_gps_v, .config.minmax = { 0, 10 } },
|
|
|
|
|
{ "inav_w_xy_gps_p", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_xy_gps_p, .config.minmax = { 0, 10 } },
|
|
|
|
|
{ "inav_w_xy_gps_v", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_xy_gps_v, .config.minmax = { 0, 10 } },
|
|
|
|
|
{ "inav_w_z_res_v", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_z_res_v, .config.minmax = { 0, 10 } },
|
|
|
|
|
{ "inav_w_xy_res_v", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_xy_res_v, .config.minmax = { 0, 10 } },
|
|
|
|
|
{ "inav_w_acc_bias", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.w_acc_bias, .config.minmax = { 0, 1 } },
|
|
|
|
|
|
|
|
|
|
{ "inav_max_eph_epv", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.max_eph_epv, .config.minmax = { 0, 9999 }, 0 },
|
|
|
|
|
{ "inav_baro_epv", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.baro_epv, .config.minmax = { 0, 9999 }, 0 },
|
|
|
|
|
{ "inav_max_eph_epv", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.max_eph_epv, .config.minmax = { 0, 9999 } },
|
|
|
|
|
{ "inav_baro_epv", VAR_FLOAT | MASTER_VALUE, &navConfig()->estimation.baro_epv, .config.minmax = { 0, 9999 } },
|
|
|
|
|
|
|
|
|
|
{ "nav_disarm_on_landing", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.disarm_on_landing, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "nav_use_midthr_for_althold", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.use_thr_mid_for_althold, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "nav_extra_arming_safety", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.extra_arming_safety, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "nav_user_control_mode", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.user_control_mode, .config.lookup = { TABLE_NAV_USER_CTL_MODE }, 0 },
|
|
|
|
|
{ "nav_position_timeout", VAR_UINT8 | MASTER_VALUE, &navConfig()->general.pos_failure_timeout, .config.minmax = { 0, 10 }, 0 },
|
|
|
|
|
{ "nav_wp_radius", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.waypoint_radius, .config.minmax = { 10, 10000 }, 0 },
|
|
|
|
|
{ "nav_max_speed", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.max_speed, .config.minmax = { 10, 2000 }, 0 },
|
|
|
|
|
{ "nav_max_climb_rate", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.max_climb_rate, .config.minmax = { 10, 2000 }, 0 },
|
|
|
|
|
{ "nav_manual_speed", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.max_manual_speed, .config.minmax = { 10, 2000 }, 0 },
|
|
|
|
|
{ "nav_manual_climb_rate", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.max_manual_climb_rate, .config.minmax = { 10, 2000 }, 0 },
|
|
|
|
|
{ "nav_landing_speed", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.land_descent_rate, .config.minmax = { 100, 2000 }, 0 },
|
|
|
|
|
{ "nav_land_slowdown_minalt", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.land_slowdown_minalt, .config.minmax = { 50, 1000 }, 0 },
|
|
|
|
|
{ "nav_land_slowdown_maxalt", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.land_slowdown_maxalt, .config.minmax = { 500, 4000 }, 0 },
|
|
|
|
|
{ "nav_emerg_landing_speed", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.emerg_descent_rate, .config.minmax = { 100, 2000 }, 0 },
|
|
|
|
|
{ "nav_min_rth_distance", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.min_rth_distance, .config.minmax = { 0, 5000 }, 0 },
|
|
|
|
|
{ "nav_rth_climb_first", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.rth_climb_first, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "nav_rth_tail_first", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.rth_tail_first, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "nav_rth_alt_mode", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.rth_alt_control_mode, .config.lookup = { TABLE_NAV_RTH_ALT_MODE }, 0 },
|
|
|
|
|
{ "nav_rth_altitude", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.rth_altitude, .config.minmax = { 100, 65000 }, 0 },
|
|
|
|
|
{ "nav_disarm_on_landing", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.disarm_on_landing, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "nav_use_midthr_for_althold", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.use_thr_mid_for_althold, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "nav_extra_arming_safety", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.extra_arming_safety, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "nav_user_control_mode", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.user_control_mode, .config.lookup = { TABLE_NAV_USER_CTL_MODE } },
|
|
|
|
|
{ "nav_position_timeout", VAR_UINT8 | MASTER_VALUE, &navConfig()->general.pos_failure_timeout, .config.minmax = { 0, 10 } },
|
|
|
|
|
{ "nav_wp_radius", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.waypoint_radius, .config.minmax = { 10, 10000 } },
|
|
|
|
|
{ "nav_max_speed", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.max_speed, .config.minmax = { 10, 2000 } },
|
|
|
|
|
{ "nav_max_climb_rate", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.max_climb_rate, .config.minmax = { 10, 2000 } },
|
|
|
|
|
{ "nav_manual_speed", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.max_manual_speed, .config.minmax = { 10, 2000 } },
|
|
|
|
|
{ "nav_manual_climb_rate", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.max_manual_climb_rate, .config.minmax = { 10, 2000 } },
|
|
|
|
|
{ "nav_landing_speed", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.land_descent_rate, .config.minmax = { 100, 2000 } },
|
|
|
|
|
{ "nav_land_slowdown_minalt", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.land_slowdown_minalt, .config.minmax = { 50, 1000 } },
|
|
|
|
|
{ "nav_land_slowdown_maxalt", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.land_slowdown_maxalt, .config.minmax = { 500, 4000 } },
|
|
|
|
|
{ "nav_emerg_landing_speed", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.emerg_descent_rate, .config.minmax = { 100, 2000 } },
|
|
|
|
|
{ "nav_min_rth_distance", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.min_rth_distance, .config.minmax = { 0, 5000 } },
|
|
|
|
|
{ "nav_rth_climb_first", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.rth_climb_first, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "nav_rth_tail_first", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.rth_tail_first, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "nav_rth_alt_mode", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &navConfig()->general.flags.rth_alt_control_mode, .config.lookup = { TABLE_NAV_RTH_ALT_MODE } },
|
|
|
|
|
{ "nav_rth_altitude", VAR_UINT16 | MASTER_VALUE, &navConfig()->general.rth_altitude, .config.minmax = { 100, 65000 } },
|
|
|
|
|
|
|
|
|
|
{ "nav_mc_bank_angle", VAR_UINT8 | MASTER_VALUE, &navConfig()->mc.max_bank_angle, .config.minmax = { 15, 45 }, 0 },
|
|
|
|
|
{ "nav_mc_hover_thr", VAR_UINT16 | MASTER_VALUE, &navConfig()->mc.hover_throttle, .config.minmax = { 1000, 2000 }, 0 },
|
|
|
|
|
{ "nav_mc_auto_disarm_delay", VAR_UINT16 | MASTER_VALUE, &navConfig()->mc.auto_disarm_delay, .config.minmax = { 100, 10000 }, 0 },
|
|
|
|
|
{ "nav_mc_bank_angle", VAR_UINT8 | MASTER_VALUE, &navConfig()->mc.max_bank_angle, .config.minmax = { 15, 45 } },
|
|
|
|
|
{ "nav_mc_hover_thr", VAR_UINT16 | MASTER_VALUE, &navConfig()->mc.hover_throttle, .config.minmax = { 1000, 2000 } },
|
|
|
|
|
{ "nav_mc_auto_disarm_delay", VAR_UINT16 | MASTER_VALUE, &navConfig()->mc.auto_disarm_delay, .config.minmax = { 100, 10000 } },
|
|
|
|
|
|
|
|
|
|
{ "nav_fw_cruise_thr", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.cruise_throttle, .config.minmax = { 1000, 2000 }, 0 },
|
|
|
|
|
{ "nav_fw_min_thr", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.min_throttle, .config.minmax = { 1000, 2000 }, 0 },
|
|
|
|
|
{ "nav_fw_max_thr", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.max_throttle, .config.minmax = { 1000, 2000 }, 0 },
|
|
|
|
|
{ "nav_fw_bank_angle", VAR_UINT8 | MASTER_VALUE, &navConfig()->fw.max_bank_angle, .config.minmax = { 5, 45 }, 0 },
|
|
|
|
|
{ "nav_fw_climb_angle", VAR_UINT8 | MASTER_VALUE, &navConfig()->fw.max_climb_angle, .config.minmax = { 5, 45 }, 0 },
|
|
|
|
|
{ "nav_fw_dive_angle", VAR_UINT8 | MASTER_VALUE, &navConfig()->fw.max_dive_angle, .config.minmax = { 5, 45 }, 0 },
|
|
|
|
|
{ "nav_fw_pitch2thr", VAR_UINT8 | MASTER_VALUE, &navConfig()->fw.pitch_to_throttle, .config.minmax = { 0, 100 }, 0 },
|
|
|
|
|
{ "nav_fw_roll2pitch", VAR_UINT8 | MASTER_VALUE, &navConfig()->fw.roll_to_pitch, .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "nav_fw_loiter_radius", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.loiter_radius, .config.minmax = { 0, 10000 }, 0 },
|
|
|
|
|
{ "nav_fw_cruise_thr", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.cruise_throttle, .config.minmax = { 1000, 2000 } },
|
|
|
|
|
{ "nav_fw_min_thr", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.min_throttle, .config.minmax = { 1000, 2000 } },
|
|
|
|
|
{ "nav_fw_max_thr", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.max_throttle, .config.minmax = { 1000, 2000 } },
|
|
|
|
|
{ "nav_fw_bank_angle", VAR_UINT8 | MASTER_VALUE, &navConfig()->fw.max_bank_angle, .config.minmax = { 5, 45 } },
|
|
|
|
|
{ "nav_fw_climb_angle", VAR_UINT8 | MASTER_VALUE, &navConfig()->fw.max_climb_angle, .config.minmax = { 5, 45 } },
|
|
|
|
|
{ "nav_fw_dive_angle", VAR_UINT8 | MASTER_VALUE, &navConfig()->fw.max_dive_angle, .config.minmax = { 5, 45 } },
|
|
|
|
|
{ "nav_fw_pitch2thr", VAR_UINT8 | MASTER_VALUE, &navConfig()->fw.pitch_to_throttle, .config.minmax = { 0, 100 } },
|
|
|
|
|
{ "nav_fw_roll2pitch", VAR_UINT8 | MASTER_VALUE, &navConfig()->fw.roll_to_pitch, .config.minmax = { 0, 200 } },
|
|
|
|
|
{ "nav_fw_loiter_radius", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.loiter_radius, .config.minmax = { 0, 10000 } },
|
|
|
|
|
|
|
|
|
|
{ "nav_fw_launch_velocity", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.launch_velocity_thresh, .config.minmax = { 100, 10000 }, 0 },
|
|
|
|
|
{ "nav_fw_launch_accel", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.launch_accel_thresh, .config.minmax = { 1000, 20000 }, 0 },
|
|
|
|
|
{ "nav_fw_launch_detect_time", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.launch_time_thresh, .config.minmax = { 10, 1000 }, 0 },
|
|
|
|
|
{ "nav_fw_launch_thr", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.launch_throttle, .config.minmax = { 1000, 2000 }, 0 },
|
|
|
|
|
{ "nav_fw_launch_motor_delay", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.launch_motor_timer, .config.minmax = { 0, 5000 }, 0 },
|
|
|
|
|
{ "nav_fw_launch_timeout", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.launch_timeout, .config.minmax = { 0, 60000 }, 0 },
|
|
|
|
|
{ "nav_fw_launch_climb_angle", VAR_UINT8 | MASTER_VALUE, &navConfig()->fw.launch_climb_angle, .config.minmax = { 5, 45 }, 0 },
|
|
|
|
|
{ "nav_fw_launch_velocity", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.launch_velocity_thresh, .config.minmax = { 100, 10000 } },
|
|
|
|
|
{ "nav_fw_launch_accel", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.launch_accel_thresh, .config.minmax = { 1000, 20000 } },
|
|
|
|
|
{ "nav_fw_launch_detect_time", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.launch_time_thresh, .config.minmax = { 10, 1000 } },
|
|
|
|
|
{ "nav_fw_launch_thr", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.launch_throttle, .config.minmax = { 1000, 2000 } },
|
|
|
|
|
{ "nav_fw_launch_motor_delay", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.launch_motor_timer, .config.minmax = { 0, 5000 } },
|
|
|
|
|
{ "nav_fw_launch_timeout", VAR_UINT16 | MASTER_VALUE, &navConfig()->fw.launch_timeout, .config.minmax = { 0, 60000 } },
|
|
|
|
|
{ "nav_fw_launch_climb_angle", VAR_UINT8 | MASTER_VALUE, &navConfig()->fw.launch_climb_angle, .config.minmax = { 5, 45 } },
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifdef SERIAL_RX
|
|
|
|
|
{ "serialrx_provider", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &rxConfig()->serialrx_provider, .config.lookup = { TABLE_SERIAL_RX }, 0 },
|
|
|
|
|
{ "serialrx_provider", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &rxConfig()->serialrx_provider, .config.lookup = { TABLE_SERIAL_RX } },
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef USE_RX_SPI
|
|
|
|
|
{ "rx_spi_protocol", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &rxConfig()->rx_spi_protocol, .config.lookup = { TABLE_RX_SPI }, 0 },
|
|
|
|
|
{ "rx_spi_id", VAR_UINT32 | MASTER_VALUE, &rxConfig()->rx_spi_id, .config.minmax = { 0, 0 }, 0 },
|
|
|
|
|
{ "rx_spi_rf_channel_count", VAR_UINT8 | MASTER_VALUE, &rxConfig()->rx_spi_rf_channel_count, .config.minmax = { 0, 8 }, 0 },
|
|
|
|
|
{ "rx_spi_protocol", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &rxConfig()->rx_spi_protocol, .config.lookup = { TABLE_RX_SPI } },
|
|
|
|
|
{ "rx_spi_id", VAR_UINT32 | MASTER_VALUE, &rxConfig()->rx_spi_id, .config.minmax = { 0, 0 } },
|
|
|
|
|
{ "rx_spi_rf_channel_count", VAR_UINT8 | MASTER_VALUE, &rxConfig()->rx_spi_rf_channel_count, .config.minmax = { 0, 8 } },
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef SPEKTRUM_BIND
|
|
|
|
|
{ "spektrum_sat_bind", VAR_UINT8 | MASTER_VALUE, &rxConfig()->spektrum_sat_bind, .config.minmax = { SPEKTRUM_SAT_BIND_DISABLED, SPEKTRUM_SAT_BIND_MAX}, 0 },
|
|
|
|
|
{ "spektrum_sat_bind", VAR_UINT8 | MASTER_VALUE, &rxConfig()->spektrum_sat_bind, .config.minmax = { SPEKTRUM_SAT_BIND_DISABLED, SPEKTRUM_SAT_BIND_MAX} },
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef TELEMETRY
|
|
|
|
|
{ "telemetry_switch", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &telemetryConfig()->telemetry_switch, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "telemetry_inversion", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &telemetryConfig()->telemetry_inversion, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "frsky_default_lattitude", VAR_FLOAT | MASTER_VALUE, &telemetryConfig()->gpsNoFixLatitude, .config.minmax = { -90.0, 90.0 }, 0 },
|
|
|
|
|
{ "frsky_default_longitude", VAR_FLOAT | MASTER_VALUE, &telemetryConfig()->gpsNoFixLongitude, .config.minmax = { -180.0, 180.0 }, 0 },
|
|
|
|
|
{ "frsky_coordinates_format", VAR_UINT8 | MASTER_VALUE, &telemetryConfig()->frsky_coordinate_format, .config.minmax = { 0, FRSKY_FORMAT_NMEA }, 0 },
|
|
|
|
|
{ "frsky_unit", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &telemetryConfig()->frsky_unit, .config.lookup = { TABLE_UNIT }, 0 },
|
|
|
|
|
{ "frsky_vfas_precision", VAR_UINT8 | MASTER_VALUE, &telemetryConfig()->frsky_vfas_precision, .config.minmax = { FRSKY_VFAS_PRECISION_LOW, FRSKY_VFAS_PRECISION_HIGH }, 0 },
|
|
|
|
|
{ "telemetry_switch", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &telemetryConfig()->telemetry_switch, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "telemetry_inversion", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &telemetryConfig()->telemetry_inversion, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "frsky_default_lattitude", VAR_FLOAT | MASTER_VALUE, &telemetryConfig()->gpsNoFixLatitude, .config.minmax = { -90.0, 90.0 } },
|
|
|
|
|
{ "frsky_default_longitude", VAR_FLOAT | MASTER_VALUE, &telemetryConfig()->gpsNoFixLongitude, .config.minmax = { -180.0, 180.0 } },
|
|
|
|
|
{ "frsky_coordinates_format", VAR_UINT8 | MASTER_VALUE, &telemetryConfig()->frsky_coordinate_format, .config.minmax = { 0, FRSKY_FORMAT_NMEA } },
|
|
|
|
|
{ "frsky_unit", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &telemetryConfig()->frsky_unit, .config.lookup = { TABLE_UNIT } },
|
|
|
|
|
{ "frsky_vfas_precision", VAR_UINT8 | MASTER_VALUE, &telemetryConfig()->frsky_vfas_precision, .config.minmax = { FRSKY_VFAS_PRECISION_LOW, FRSKY_VFAS_PRECISION_HIGH } },
|
|
|
|
|
{ "frsky_vfas_cell_voltage", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &telemetryConfig()->frsky_vfas_cell_voltage, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "hott_alarm_sound_interval", VAR_UINT8 | MASTER_VALUE, &telemetryConfig()->hottAlarmSoundInterval, .config.minmax = { 0, 120 }, 0 },
|
|
|
|
|
{ "hott_alarm_sound_interval", VAR_UINT8 | MASTER_VALUE, &telemetryConfig()->hottAlarmSoundInterval, .config.minmax = { 0, 120 } },
|
|
|
|
|
#ifdef TELEMETRY_SMARTPORT
|
|
|
|
|
{ "smartport_uart_unidir", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &telemetryConfig()->smartportUartUnidirectional, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "smartport_uart_unidir", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &telemetryConfig()->smartportUartUnidirectional, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
{ "battery_capacity", VAR_UINT16 | MASTER_VALUE, &batteryConfig()->batteryCapacity, .config.minmax = { 0, 20000 }, 0 },
|
|
|
|
|
{ "vbat_scale", VAR_UINT8 | MASTER_VALUE, &batteryConfig()->vbatscale, .config.minmax = { VBAT_SCALE_MIN, VBAT_SCALE_MAX }, 0 },
|
|
|
|
|
{ "vbat_max_cell_voltage", VAR_UINT8 | MASTER_VALUE, &batteryConfig()->vbatmaxcellvoltage, .config.minmax = { 10, 50 }, 0 },
|
|
|
|
|
{ "vbat_min_cell_voltage", VAR_UINT8 | MASTER_VALUE, &batteryConfig()->vbatmincellvoltage, .config.minmax = { 10, 50 }, 0 },
|
|
|
|
|
{ "vbat_warning_cell_voltage", VAR_UINT8 | MASTER_VALUE, &batteryConfig()->vbatwarningcellvoltage, .config.minmax = { 10, 50 }, 0 },
|
|
|
|
|
{ "current_meter_scale", VAR_INT16 | MASTER_VALUE, &batteryConfig()->currentMeterScale, .config.minmax = { -10000, 10000 }, 0 },
|
|
|
|
|
{ "current_meter_offset", VAR_UINT16 | MASTER_VALUE, &batteryConfig()->currentMeterOffset, .config.minmax = { 0, 3300 }, 0 },
|
|
|
|
|
{ "multiwii_current_meter_output", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &batteryConfig()->multiwiiCurrentMeterOutput, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "current_meter_type", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &batteryConfig()->currentMeterType, .config.lookup = { TABLE_CURRENT_SENSOR }, 0 },
|
|
|
|
|
{ "battery_capacity", VAR_UINT16 | MASTER_VALUE, &batteryConfig()->batteryCapacity, .config.minmax = { 0, 20000 } },
|
|
|
|
|
{ "vbat_scale", VAR_UINT8 | MASTER_VALUE, &batteryConfig()->vbatscale, .config.minmax = { VBAT_SCALE_MIN, VBAT_SCALE_MAX } },
|
|
|
|
|
{ "vbat_max_cell_voltage", VAR_UINT8 | MASTER_VALUE, &batteryConfig()->vbatmaxcellvoltage, .config.minmax = { 10, 50 } },
|
|
|
|
|
{ "vbat_min_cell_voltage", VAR_UINT8 | MASTER_VALUE, &batteryConfig()->vbatmincellvoltage, .config.minmax = { 10, 50 } },
|
|
|
|
|
{ "vbat_warning_cell_voltage", VAR_UINT8 | MASTER_VALUE, &batteryConfig()->vbatwarningcellvoltage, .config.minmax = { 10, 50 } },
|
|
|
|
|
{ "current_meter_scale", VAR_INT16 | MASTER_VALUE, &batteryConfig()->currentMeterScale, .config.minmax = { -10000, 10000 } },
|
|
|
|
|
{ "current_meter_offset", VAR_UINT16 | MASTER_VALUE, &batteryConfig()->currentMeterOffset, .config.minmax = { 0, 3300 } },
|
|
|
|
|
{ "multiwii_current_meter_output", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &batteryConfig()->multiwiiCurrentMeterOutput, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "current_meter_type", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &batteryConfig()->currentMeterType, .config.lookup = { TABLE_CURRENT_SENSOR } },
|
|
|
|
|
|
|
|
|
|
{ "align_gyro", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gyroConfig()->gyro_align, .config.lookup = { TABLE_ALIGNMENT }, 0 },
|
|
|
|
|
{ "align_acc", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &accelerometerConfig()->acc_align, .config.lookup = { TABLE_ALIGNMENT }, 0 },
|
|
|
|
|
{ "align_mag", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &compassConfig()->mag_align, .config.lookup = { TABLE_ALIGNMENT }, 0 },
|
|
|
|
|
{ "align_gyro", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gyroConfig()->gyro_align, .config.lookup = { TABLE_ALIGNMENT } },
|
|
|
|
|
{ "align_acc", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &accelerometerConfig()->acc_align, .config.lookup = { TABLE_ALIGNMENT } },
|
|
|
|
|
{ "align_mag", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &compassConfig()->mag_align, .config.lookup = { TABLE_ALIGNMENT } },
|
|
|
|
|
|
|
|
|
|
{ "align_board_roll", VAR_INT16 | MASTER_VALUE, &boardAlignment()->rollDeciDegrees, .config.minmax = { -1800, 3600 }, 0 },
|
|
|
|
|
{ "align_board_pitch", VAR_INT16 | MASTER_VALUE, &boardAlignment()->pitchDeciDegrees, .config.minmax = { -1800, 3600 }, 0 },
|
|
|
|
|
{ "align_board_yaw", VAR_INT16 | MASTER_VALUE, &boardAlignment()->yawDeciDegrees, .config.minmax = { -1800, 3600 }, 0 },
|
|
|
|
|
{ "align_board_roll", VAR_INT16 | MASTER_VALUE, &boardAlignment()->rollDeciDegrees, .config.minmax = { -1800, 3600 } },
|
|
|
|
|
{ "align_board_pitch", VAR_INT16 | MASTER_VALUE, &boardAlignment()->pitchDeciDegrees, .config.minmax = { -1800, 3600 } },
|
|
|
|
|
{ "align_board_yaw", VAR_INT16 | MASTER_VALUE, &boardAlignment()->yawDeciDegrees, .config.minmax = { -1800, 3600 } },
|
|
|
|
|
|
|
|
|
|
{ "gyro_lpf", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &gyroConfig()->gyro_lpf, .config.lookup = { TABLE_GYRO_LPF } },
|
|
|
|
|
{ "moron_threshold", VAR_UINT8 | MASTER_VALUE, &gyroConfig()->gyroMovementCalibrationThreshold, .config.minmax = { 0, 128 }, 0 },
|
|
|
|
|
{ "moron_threshold", VAR_UINT8 | MASTER_VALUE, &gyroConfig()->gyroMovementCalibrationThreshold, .config.minmax = { 0, 128 } },
|
|
|
|
|
|
|
|
|
|
{ "imu_dcm_kp", VAR_UINT16 | MASTER_VALUE, &imuConfig()->dcm_kp_acc, .config.minmax = { 0, 65535 }, 0 },
|
|
|
|
|
{ "imu_dcm_ki", VAR_UINT16 | MASTER_VALUE, &imuConfig()->dcm_ki_acc, .config.minmax = { 0, 65535 }, 0 },
|
|
|
|
|
{ "imu_dcm_kp_mag", VAR_UINT16 | MASTER_VALUE, &imuConfig()->dcm_kp_mag, .config.minmax = { 0, 65535 }, 0 },
|
|
|
|
|
{ "imu_dcm_ki_mag", VAR_UINT16 | MASTER_VALUE, &imuConfig()->dcm_ki_mag, .config.minmax = { 0, 65535 }, 0 },
|
|
|
|
|
{ "imu_dcm_kp", VAR_UINT16 | MASTER_VALUE, &imuConfig()->dcm_kp_acc, .config.minmax = { 0, 65535 } },
|
|
|
|
|
{ "imu_dcm_ki", VAR_UINT16 | MASTER_VALUE, &imuConfig()->dcm_ki_acc, .config.minmax = { 0, 65535 } },
|
|
|
|
|
{ "imu_dcm_kp_mag", VAR_UINT16 | MASTER_VALUE, &imuConfig()->dcm_kp_mag, .config.minmax = { 0, 65535 } },
|
|
|
|
|
{ "imu_dcm_ki_mag", VAR_UINT16 | MASTER_VALUE, &imuConfig()->dcm_ki_mag, .config.minmax = { 0, 65535 } },
|
|
|
|
|
|
|
|
|
|
{ "deadband", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].rcControlsConfig.deadband, .config.minmax = { 0, 32 }, 0 },
|
|
|
|
|
{ "yaw_deadband", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].rcControlsConfig.yaw_deadband, .config.minmax = { 0, 100 }, 0 },
|
|
|
|
|
{ "pos_hold_deadband", VAR_UINT8 | MASTER_VALUE, &masterConfig.profile[0].rcControlsConfig.pos_hold_deadband, .config.minmax = { 10, 250 }, 0 },
|
|
|
|
|
{ "alt_hold_deadband", VAR_UINT8 | MASTER_VALUE, &masterConfig.profile[0].rcControlsConfig.alt_hold_deadband, .config.minmax = { 10, 250 }, 0 },
|
|
|
|
|
{ "deadband", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].rcControlsConfig.deadband, .config.minmax = { 0, 32 }, },
|
|
|
|
|
{ "yaw_deadband", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].rcControlsConfig.yaw_deadband, .config.minmax = { 0, 100 }, },
|
|
|
|
|
{ "pos_hold_deadband", VAR_UINT8 | MASTER_VALUE, &masterConfig.profile[0].rcControlsConfig.pos_hold_deadband, .config.minmax = { 10, 250 }, },
|
|
|
|
|
{ "alt_hold_deadband", VAR_UINT8 | MASTER_VALUE, &masterConfig.profile[0].rcControlsConfig.alt_hold_deadband, .config.minmax = { 10, 250 }, },
|
|
|
|
|
|
|
|
|
|
{ "throttle_tilt_comp_str", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].throttle_tilt_compensation_strength, .config.minmax = { 0, 100 }, 0 },
|
|
|
|
|
{ "throttle_tilt_comp_str", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].throttle_tilt_compensation_strength, .config.minmax = { 0, 100 }, },
|
|
|
|
|
|
|
|
|
|
{ "yaw_motor_direction", VAR_INT8 | MASTER_VALUE, &mixerConfig()->yaw_motor_direction, .config.minmax = { -1, 1 }, 0 },
|
|
|
|
|
{ "yaw_jump_prevention_limit", VAR_UINT16 | MASTER_VALUE, &mixerConfig()->yaw_jump_prevention_limit, .config.minmax = { YAW_JUMP_PREVENTION_LIMIT_LOW, YAW_JUMP_PREVENTION_LIMIT_HIGH }, 0 },
|
|
|
|
|
{ "yaw_motor_direction", VAR_INT8 | MASTER_VALUE, &mixerConfig()->yaw_motor_direction, .config.minmax = { -1, 1 } },
|
|
|
|
|
{ "yaw_jump_prevention_limit", VAR_UINT16 | MASTER_VALUE, &mixerConfig()->yaw_jump_prevention_limit, .config.minmax = { YAW_JUMP_PREVENTION_LIMIT_LOW, YAW_JUMP_PREVENTION_LIMIT_HIGH } },
|
|
|
|
|
|
|
|
|
|
#ifdef USE_SERVOS
|
|
|
|
|
{ "flaperon_throw_offset", VAR_INT16 | PROFILE_VALUE, &masterConfig.profile[0].flaperon_throw_offset, .config.minmax = { FLAPERON_THROW_MIN, FLAPERON_THROW_MAX}, 0 },
|
|
|
|
|
{ "flaperon_throw_inverted", VAR_UINT8 | PROFILE_VALUE | MODE_LOOKUP, &masterConfig.profile[0].flaperon_throw_inverted, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "tri_unarmed_servo", VAR_INT8 | MASTER_VALUE | MODE_LOOKUP, &servoMixerConfig()->tri_unarmed_servo, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "servo_lowpass_freq", VAR_INT16 | MASTER_VALUE, &servoMixerConfig()->servo_lowpass_freq, .config.minmax = { 10, 400}, 0 },
|
|
|
|
|
{ "servo_lowpass_enable", VAR_INT8 | MASTER_VALUE | MODE_LOOKUP, &servoMixerConfig()->servo_lowpass_enable, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "gimbal_mode", VAR_UINT8 | PROFILE_VALUE | MODE_LOOKUP, &masterConfig.profile[0].gimbalConfig.mode, .config.lookup = { TABLE_GIMBAL_MODE }, 0 },
|
|
|
|
|
{ "servo_center_pulse", VAR_UINT16 | MASTER_VALUE, &servoConfig()->servoCenterPulse, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX }, 0 },
|
|
|
|
|
{ "servo_pwm_rate", VAR_UINT16 | MASTER_VALUE, &servoConfig()->servoPwmRate, .config.minmax = { 50, 498 }, 0 },
|
|
|
|
|
{ "fw_iterm_throw_limit", VAR_INT16 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.fixedWingItermThrowLimit, .config.minmax = { FW_ITERM_THROW_LIMIT_MIN, FW_ITERM_THROW_LIMIT_MAX}, 0 },
|
|
|
|
|
{ "flaperon_throw_offset", VAR_INT16 | PROFILE_VALUE, &masterConfig.profile[0].flaperon_throw_offset, .config.minmax = { FLAPERON_THROW_MIN, FLAPERON_THROW_MAX} },
|
|
|
|
|
{ "flaperon_throw_inverted", VAR_UINT8 | PROFILE_VALUE | MODE_LOOKUP, &masterConfig.profile[0].flaperon_throw_inverted, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "tri_unarmed_servo", VAR_INT8 | MASTER_VALUE | MODE_LOOKUP, &servoMixerConfig()->tri_unarmed_servo, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "servo_lowpass_freq", VAR_INT16 | MASTER_VALUE, &servoMixerConfig()->servo_lowpass_freq, .config.minmax = { 10, 400} },
|
|
|
|
|
{ "servo_lowpass_enable", VAR_INT8 | MASTER_VALUE | MODE_LOOKUP, &servoMixerConfig()->servo_lowpass_enable, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "gimbal_mode", VAR_UINT8 | PROFILE_VALUE | MODE_LOOKUP, &masterConfig.profile[0].gimbalConfig.mode, .config.lookup = { TABLE_GIMBAL_MODE } },
|
|
|
|
|
{ "servo_center_pulse", VAR_UINT16 | MASTER_VALUE, &servoConfig()->servoCenterPulse, .config.minmax = { PWM_RANGE_ZERO, PWM_RANGE_MAX } },
|
|
|
|
|
{ "servo_pwm_rate", VAR_UINT16 | MASTER_VALUE, &servoConfig()->servoPwmRate, .config.minmax = { 50, 498 } },
|
|
|
|
|
{ "fw_iterm_throw_limit", VAR_INT16 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.fixedWingItermThrowLimit, .config.minmax = { FW_ITERM_THROW_LIMIT_MIN, FW_ITERM_THROW_LIMIT_MAX} },
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
{ "mode_range_logic_operator", VAR_UINT8 | PROFILE_VALUE | MODE_LOOKUP, &masterConfig.profile[0].modeActivationOperator, .config.lookup = { TABLE_AUX_OPERATOR }, 0 },
|
|
|
|
|
{ "default_rate_profile", VAR_UINT8 | PROFILE_VALUE , &masterConfig.profile[0].defaultRateProfileIndex, .config.minmax = { 0, MAX_CONTROL_RATE_PROFILE_COUNT - 1 }, 0 },
|
|
|
|
|
{ "rc_expo", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].rcExpo8, .config.minmax = { 0, 100 }, 0 },
|
|
|
|
|
{ "rc_yaw_expo", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].rcYawExpo8, .config.minmax = { 0, 100 }, 0 },
|
|
|
|
|
{ "thr_mid", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].thrMid8, .config.minmax = { 0, 100 }, 0 },
|
|
|
|
|
{ "thr_expo", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].thrExpo8, .config.minmax = { 0, 100 }, 0 },
|
|
|
|
|
{ "mode_range_logic_operator", VAR_UINT8 | PROFILE_VALUE | MODE_LOOKUP, &masterConfig.profile[0].modeActivationOperator, .config.lookup = { TABLE_AUX_OPERATOR } },
|
|
|
|
|
{ "default_rate_profile", VAR_UINT8 | PROFILE_VALUE , &masterConfig.profile[0].defaultRateProfileIndex, .config.minmax = { 0, MAX_CONTROL_RATE_PROFILE_COUNT - 1 } },
|
|
|
|
|
{ "rc_expo", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].rcExpo8, .config.minmax = { 0, 100 } },
|
|
|
|
|
{ "rc_yaw_expo", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].rcYawExpo8, .config.minmax = { 0, 100 } },
|
|
|
|
|
{ "thr_mid", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].thrMid8, .config.minmax = { 0, 100 } },
|
|
|
|
|
{ "thr_expo", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].thrExpo8, .config.minmax = { 0, 100 } },
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
New rates are in dps/10. That means, Rate of 20 means 200dps of rotation speed on given axis.
|
|
|
|
|
Rate 180 (1800dps) is max. value gyro can measure reliably
|
|
|
|
|
*/
|
|
|
|
|
{ "roll_rate", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].rates[FD_ROLL], .config.minmax = { CONTROL_RATE_CONFIG_ROLL_PITCH_RATE_MIN, CONTROL_RATE_CONFIG_ROLL_PITCH_RATE_MAX }, 0 },
|
|
|
|
|
{ "pitch_rate", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].rates[FD_PITCH], .config.minmax = { CONTROL_RATE_CONFIG_ROLL_PITCH_RATE_MIN, CONTROL_RATE_CONFIG_ROLL_PITCH_RATE_MAX }, 0 },
|
|
|
|
|
{ "yaw_rate", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].rates[FD_YAW], .config.minmax = { CONTROL_RATE_CONFIG_YAW_RATE_MIN, CONTROL_RATE_CONFIG_YAW_RATE_MAX }, 0 },
|
|
|
|
|
{ "roll_rate", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].rates[FD_ROLL], .config.minmax = { CONTROL_RATE_CONFIG_ROLL_PITCH_RATE_MIN, CONTROL_RATE_CONFIG_ROLL_PITCH_RATE_MAX }, },
|
|
|
|
|
{ "pitch_rate", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].rates[FD_PITCH], .config.minmax = { CONTROL_RATE_CONFIG_ROLL_PITCH_RATE_MIN, CONTROL_RATE_CONFIG_ROLL_PITCH_RATE_MAX }, },
|
|
|
|
|
{ "yaw_rate", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].rates[FD_YAW], .config.minmax = { CONTROL_RATE_CONFIG_YAW_RATE_MIN, CONTROL_RATE_CONFIG_YAW_RATE_MAX }, },
|
|
|
|
|
|
|
|
|
|
{ "tpa_rate", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].dynThrPID, .config.minmax = { 0, CONTROL_RATE_CONFIG_TPA_MAX}, 0 },
|
|
|
|
|
{ "tpa_breakpoint", VAR_UINT16 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].tpa_breakpoint, .config.minmax = { PWM_RANGE_MIN, PWM_RANGE_MAX}, 0 },
|
|
|
|
|
{ "tpa_rate", VAR_UINT8 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].dynThrPID, .config.minmax = { 0, CONTROL_RATE_CONFIG_TPA_MAX}, },
|
|
|
|
|
{ "tpa_breakpoint", VAR_UINT16 | CONTROL_RATE_VALUE, &masterConfig.controlRateProfiles[0].tpa_breakpoint, .config.minmax = { PWM_RANGE_MIN, PWM_RANGE_MAX}, },
|
|
|
|
|
|
|
|
|
|
{ "failsafe_delay", VAR_UINT8 | MASTER_VALUE, &failsafeConfig()->failsafe_delay, .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "failsafe_recovery_delay", VAR_UINT8 | MASTER_VALUE, &failsafeConfig()->failsafe_recovery_delay, .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "failsafe_off_delay", VAR_UINT8 | MASTER_VALUE, &failsafeConfig()->failsafe_off_delay, .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "failsafe_throttle", VAR_UINT16 | MASTER_VALUE, &failsafeConfig()->failsafe_throttle, .config.minmax = { PWM_RANGE_MIN, PWM_RANGE_MAX }, 0 },
|
|
|
|
|
{ "failsafe_kill_switch", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &failsafeConfig()->failsafe_kill_switch, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "failsafe_throttle_low_delay",VAR_UINT16 | MASTER_VALUE, &failsafeConfig()->failsafe_throttle_low_delay, .config.minmax = { 0, 300 }, 0 },
|
|
|
|
|
{ "failsafe_procedure", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &failsafeConfig()->failsafe_procedure, .config.lookup = { TABLE_FAILSAFE_PROCEDURE }, 0 },
|
|
|
|
|
{ "failsafe_delay", VAR_UINT8 | MASTER_VALUE, &failsafeConfig()->failsafe_delay, .config.minmax = { 0, 200 } },
|
|
|
|
|
{ "failsafe_recovery_delay", VAR_UINT8 | MASTER_VALUE, &failsafeConfig()->failsafe_recovery_delay, .config.minmax = { 0, 200 } },
|
|
|
|
|
{ "failsafe_off_delay", VAR_UINT8 | MASTER_VALUE, &failsafeConfig()->failsafe_off_delay, .config.minmax = { 0, 200 } },
|
|
|
|
|
{ "failsafe_throttle", VAR_UINT16 | MASTER_VALUE, &failsafeConfig()->failsafe_throttle, .config.minmax = { PWM_RANGE_MIN, PWM_RANGE_MAX } },
|
|
|
|
|
{ "failsafe_kill_switch", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &failsafeConfig()->failsafe_kill_switch, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "failsafe_throttle_low_delay",VAR_UINT16 | MASTER_VALUE, &failsafeConfig()->failsafe_throttle_low_delay, .config.minmax = { 0, 300 } },
|
|
|
|
|
{ "failsafe_procedure", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &failsafeConfig()->failsafe_procedure, .config.lookup = { TABLE_FAILSAFE_PROCEDURE } },
|
|
|
|
|
|
|
|
|
|
{ "rx_min_usec", VAR_UINT16 | MASTER_VALUE, &rxConfig()->rx_min_usec, .config.minmax = { PWM_PULSE_MIN, PWM_PULSE_MAX }, 0 },
|
|
|
|
|
{ "rx_max_usec", VAR_UINT16 | MASTER_VALUE, &rxConfig()->rx_max_usec, .config.minmax = { PWM_PULSE_MIN, PWM_PULSE_MAX }, 0 },
|
|
|
|
|
{ "rx_min_usec", VAR_UINT16 | MASTER_VALUE, &rxConfig()->rx_min_usec, .config.minmax = { PWM_PULSE_MIN, PWM_PULSE_MAX } },
|
|
|
|
|
{ "rx_max_usec", VAR_UINT16 | MASTER_VALUE, &rxConfig()->rx_max_usec, .config.minmax = { PWM_PULSE_MIN, PWM_PULSE_MAX } },
|
|
|
|
|
|
|
|
|
|
{ "acc_hardware", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &accelerometerConfig()->acc_hardware, .config.lookup = { TABLE_HW_ACC } },
|
|
|
|
|
|
|
|
|
|
#ifdef BARO
|
|
|
|
|
{ "baro_use_median_filter", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &barometerConfig()->use_median_filtering, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "baro_use_median_filter", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &barometerConfig()->use_median_filtering, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "baro_hardware", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &barometerConfig()->baro_hardware, .config.lookup = { TABLE_HW_BARO } },
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifdef PITOT
|
|
|
|
|
{ "pitot_hardware", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &pitotmeterConfig()->pitot_hardware, .config.lookup = { TABLE_HW_PITOT } },
|
|
|
|
|
{ "pitot_use_median_filter", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &pitotmeterConfig()->use_median_filtering, .config.lookup = { TABLE_OFF_ON }, 0 },
|
|
|
|
|
{ "pitot_noise_lpf", VAR_FLOAT | MASTER_VALUE, &pitotmeterConfig()->pitot_noise_lpf, .config.minmax = { 0, 1 }, 0 },
|
|
|
|
|
{ "pitot_scale", VAR_FLOAT | MASTER_VALUE, &pitotmeterConfig()->pitot_scale, .config.minmax = { 0, 100 }, 0 },
|
|
|
|
|
{ "pitot_use_median_filter", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &pitotmeterConfig()->use_median_filtering, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
{ "pitot_noise_lpf", VAR_FLOAT | MASTER_VALUE, &pitotmeterConfig()->pitot_noise_lpf, .config.minmax = { 0, 1 } },
|
|
|
|
|
{ "pitot_scale", VAR_FLOAT | MASTER_VALUE, &pitotmeterConfig()->pitot_scale, .config.minmax = { 0, 100 } },
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifdef MAG
|
|
|
|
|
{ "mag_hardware", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &compassConfig()->mag_hardware, .config.lookup = { TABLE_HW_MAG } },
|
|
|
|
|
{ "mag_declination", VAR_INT16 | PROFILE_VALUE, &compassConfig()->mag_declination, .config.minmax = { -18000, 18000 }, 0 },
|
|
|
|
|
{ "mag_hold_rate_limit", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.mag_hold_rate_limit, .config.minmax = { MAG_HOLD_RATE_LIMIT_MIN, MAG_HOLD_RATE_LIMIT_MAX }, 0 },
|
|
|
|
|
{ "mag_declination", VAR_INT16 | PROFILE_VALUE, &compassConfig()->mag_declination, .config.minmax = { -18000, 18000 } },
|
|
|
|
|
{ "mag_hold_rate_limit", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.mag_hold_rate_limit, .config.minmax = { MAG_HOLD_RATE_LIMIT_MIN, MAG_HOLD_RATE_LIMIT_MAX } },
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
{ "p_pitch", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PITCH], .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "i_pitch", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PITCH], .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "d_pitch", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PITCH], .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "p_roll", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[ROLL], .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "i_roll", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[ROLL], .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "d_roll", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[ROLL], .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "p_yaw", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[YAW], .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "i_yaw", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[YAW], .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "d_yaw", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[YAW], .config.minmax = { 0, 200 }, 0 },
|
|
|
|
|
{ "p_pitch", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PITCH], .config.minmax = { 0, 200 }, },
|
|
|
|
|
{ "i_pitch", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PITCH], .config.minmax = { 0, 200 }, },
|
|
|
|
|
{ "d_pitch", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PITCH], .config.minmax = { 0, 200 }, },
|
|
|
|
|
{ "p_roll", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[ROLL], .config.minmax = { 0, 200 }, },
|
|
|
|
|
{ "i_roll", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[ROLL], .config.minmax = { 0, 200 }, },
|
|
|
|
|
{ "d_roll", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[ROLL], .config.minmax = { 0, 200 }, },
|
|
|
|
|
{ "p_yaw", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[YAW], .config.minmax = { 0, 200 }, },
|
|
|
|
|
{ "i_yaw", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[YAW], .config.minmax = { 0, 200 }, },
|
|
|
|
|
{ "d_yaw", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[YAW], .config.minmax = { 0, 200 }, },
|
|
|
|
|
|
|
|
|
|
{ "p_level", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PIDLEVEL], .config.minmax = { 0, 255 }, 0 },
|
|
|
|
|
{ "i_level", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PIDLEVEL], .config.minmax = { 0, 100 }, 0 },
|
|
|
|
|
{ "d_level", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PIDLEVEL], .config.minmax = { 0, 100 }, 0 },
|
|
|
|
|
{ "p_level", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.P8[PIDLEVEL], .config.minmax = { 0, 255 }, },
|
|
|
|
|
{ "i_level", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.I8[PIDLEVEL], .config.minmax = { 0, 100 }, },
|
|
|
|
|
{ "d_level", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.D8[PIDLEVEL], .config.minmax = { 0, 100 }, },
|
|
|
|
|
|
|
|
|
|
{ "max_angle_inclination_rll", VAR_INT16 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.max_angle_inclination[FD_ROLL], .config.minmax = { 100, 900 }, 0 },
|
|
|
|
|
{ "max_angle_inclination_pit", VAR_INT16 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.max_angle_inclination[FD_PITCH], .config.minmax = { 100, 900 }, 0 },
|
|
|
|
|
{ "max_angle_inclination_rll", VAR_INT16 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.max_angle_inclination[FD_ROLL], .config.minmax = { 100, 900 }, },
|
|
|
|
|
{ "max_angle_inclination_pit", VAR_INT16 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.max_angle_inclination[FD_PITCH], .config.minmax = { 100, 900 }, },
|
|
|
|
|
|
|
|
|
|
{ "gyro_soft_lpf_hz", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.gyro_soft_lpf_hz, .config.minmax = {0, 200 } },
|
|
|
|
|
{ "acc_soft_lpf_hz", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.acc_soft_lpf_hz, .config.minmax = {0, 200 } },
|
|
|
|
|
{ "dterm_lpf_hz", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.dterm_lpf_hz, .config.minmax = {0, 200 } },
|
|
|
|
|
{ "yaw_lpf_hz", VAR_UINT8 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.yaw_lpf_hz, .config.minmax = {0, 200 } },
|
|
|
|
|
|
|
|
|
|
{ "yaw_p_limit", VAR_UINT16 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.yaw_p_limit, .config.minmax = { YAW_P_LIMIT_MIN, YAW_P_LIMIT_MAX }, 0 },
|
|
|
|
|
{ "yaw_p_limit", VAR_UINT16 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.yaw_p_limit, .config.minmax = { YAW_P_LIMIT_MIN, YAW_P_LIMIT_MAX }, },
|
|
|
|
|
|
|
|
|
|
{ "iterm_ignore_threshold", VAR_UINT16 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.rollPitchItermIgnoreRate, .config.minmax = {15, 1000 } },
|
|
|
|
|
{ "yaw_iterm_ignore_threshold", VAR_UINT16 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.yawItermIgnoreRate, .config.minmax = {15, 1000 } },
|
|
|
|
@ -923,20 +922,20 @@ const clivalue_t valueTable[] = {
|
|
|
|
|
{ "rate_accel_limit_yaw", VAR_UINT32 | PROFILE_VALUE, &masterConfig.profile[0].pidProfile.axisAccelerationLimitYaw, .config.minmax = {0, 500000 } },
|
|
|
|
|
|
|
|
|
|
#ifdef BLACKBOX
|
|
|
|
|
{ "blackbox_rate_num", VAR_UINT8 | MASTER_VALUE, &blackboxConfig()->rate_num, .config.minmax = { 1, 32 }, 0 },
|
|
|
|
|
{ "blackbox_rate_denom", VAR_UINT8 | MASTER_VALUE, &blackboxConfig()->rate_denom, .config.minmax = { 1, 32 }, 0 },
|
|
|
|
|
{ "blackbox_device", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &blackboxConfig()->device, .config.lookup = { TABLE_BLACKBOX_DEVICE }, 0 },
|
|
|
|
|
{ "blackbox_rate_num", VAR_UINT8 | MASTER_VALUE, &blackboxConfig()->rate_num, .config.minmax = { 1, 32 } },
|
|
|
|
|
{ "blackbox_rate_denom", VAR_UINT8 | MASTER_VALUE, &blackboxConfig()->rate_denom, .config.minmax = { 1, 32 } },
|
|
|
|
|
{ "blackbox_device", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &blackboxConfig()->device, .config.lookup = { TABLE_BLACKBOX_DEVICE } },
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#ifdef MAG
|
|
|
|
|
{ "magzero_x", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.magZero.raw[X], .config.minmax = { -32768, 32767 }, FLAG_MAG_CALIBRATION_DONE },
|
|
|
|
|
{ "magzero_y", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.magZero.raw[Y], .config.minmax = { -32768, 32767 }, FLAG_MAG_CALIBRATION_DONE },
|
|
|
|
|
{ "magzero_z", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.magZero.raw[Z], .config.minmax = { -32768, 32767 }, FLAG_MAG_CALIBRATION_DONE },
|
|
|
|
|
{ "magzero_x", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.magZero.raw[X], .config.minmax = { -32768, 32767 } },
|
|
|
|
|
{ "magzero_y", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.magZero.raw[Y], .config.minmax = { -32768, 32767 } },
|
|
|
|
|
{ "magzero_z", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.magZero.raw[Z], .config.minmax = { -32768, 32767 } },
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
{ "acczero_x", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.accZero.raw[X], .config.minmax = { -32768, 32767 }, 0 },
|
|
|
|
|
{ "acczero_y", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.accZero.raw[Y], .config.minmax = { -32768, 32767 }, 0 },
|
|
|
|
|
{ "acczero_z", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.accZero.raw[Z], .config.minmax = { -32768, 32767 }, 0 },
|
|
|
|
|
{ "acczero_x", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.accZero.raw[X], .config.minmax = { -32768, 32767 }, },
|
|
|
|
|
{ "acczero_y", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.accZero.raw[Y], .config.minmax = { -32768, 32767 }, },
|
|
|
|
|
{ "acczero_z", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.accZero.raw[Z], .config.minmax = { -32768, 32767 }, },
|
|
|
|
|
#ifdef LED_STRIP
|
|
|
|
|
{ "ledstrip_visual_beeper", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, &masterConfig.ledstrip_visual_beeper, .config.lookup = { TABLE_OFF_ON } },
|
|
|
|
|
#endif
|
|
|
|
@ -966,9 +965,9 @@ const clivalue_t valueTable[] = {
|
|
|
|
|
{ "osd_gps_sats_pos", VAR_UINT16 | MASTER_VALUE, &osdProfile()->item_pos[OSD_GPS_SATS], .config.minmax = { 0, 65536 } },
|
|
|
|
|
{ "osd_altitude_pos", VAR_UINT16 | MASTER_VALUE, &osdProfile()->item_pos[OSD_ALTITUDE], .config.minmax = { 0, 65536 } },
|
|
|
|
|
#endif
|
|
|
|
|
{ "accgain_x", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.accGain.raw[X], .config.minmax = { 1, 8192 }, 0 },
|
|
|
|
|
{ "accgain_y", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.accGain.raw[Y], .config.minmax = { 1, 8192 }, 0 },
|
|
|
|
|
{ "accgain_z", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.accGain.raw[Z], .config.minmax = { 1, 8192 }, 0 },
|
|
|
|
|
{ "accgain_x", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.accGain.raw[X], .config.minmax = { 1, 8192 }, },
|
|
|
|
|
{ "accgain_y", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.accGain.raw[Y], .config.minmax = { 1, 8192 }, },
|
|
|
|
|
{ "accgain_z", VAR_INT16 | MASTER_VALUE, &masterConfig.sensorTrims.accGain.raw[Z], .config.minmax = { 1, 8192 }, },
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -2768,10 +2767,6 @@ static void cliSetVar(const clivalue_t *var, const int_float_value_t value)
|
|
|
|
|
*(float *)ptr = (float)value.float_value;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (var->pflags_to_set) {
|
|
|
|
|
persistentFlagSet(var->pflags_to_set);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void cliSet(char *cmdline)
|
|
|
|
|