diff --git a/docs/Configuration.md b/docs/Configuration.md index 72f52a138c..cd9f75da29 100644 --- a/docs/Configuration.md +++ b/docs/Configuration.md @@ -132,8 +132,29 @@ set telemetry_provider = 1 save ``` +## Migrating from baseflight + +Before flashing with cleanflight, dump your configs for each profile via the CLI and save to a text file. + +profile 0 +dump +profile 1 +dump +profile 2 +dump + +Then after flashing cleanflight paste the output from each dump command into the cli, switching profiles as you go. + +You'll note that some commands are not recognised by cleanflight when you do this. For the commands that are not recognised look +up the new configuration options and choose appropriate values for the settings. See below for a list of differences. + +Once you've done this for the first profile, save the config. Then verify your config is OK, e.g. features serial ports, etc. +When you've verified the first profile is OK repeat for the other profiles. + ## CLI command differences from baseflight +In general all CLI commands use underscore characters to separate words for consistency. In baseflight the format of CLI commands is somewhat haphazard. + ### gps_baudrate reason: simplify @@ -163,3 +184,43 @@ Example: to use RSSI on AUX1 in Cleanflight use `set rssi_aux_channel = 5`, sinc reason: improved functionality See `failsafe_min_usec` and `failsafe_max_usec` in Failsafe documentation. + +### emfavoidance +reason: renamed to `emf_avoidance` for consistency + +### yawrate +reason: renamed to `yaw_rate` for consistency + +### yawdeadband +reason: renamed to `yaw_deadband` for consistency + +### midrc +reason: renamed to `midrc` for consistency + +### mincheck +reason: renamed to `min_check` for consistency + +### maxcheck +reason: renamed to `max_check` for consistency + +### minthrottle +reason: renamed to `min_throttle` for consistency + +### maxthrottle +reason: renamed to `max_throttle` for consistency + +### mincommand +reason: renamed to `min_command` for consistency + +### deadband3d_low +reason: renamed to `3d_deadband_low` for consistency + +### deadband3d_high +reason: renamed to `3d_deadband_high` for consistency + +### deadband3d_throttle +reason: renamed to `3d_deadband_throttle` for consistency + +### neutral3d +reason: renamed to `3d_neutral` for consistency + diff --git a/src/main/io/serial_cli.c b/src/main/io/serial_cli.c index 44701e2c61..b2e772646b 100644 --- a/src/main/io/serial_cli.c +++ b/src/main/io/serial_cli.c @@ -146,19 +146,19 @@ const clivalue_t valueTable[] = { { "looptime", VAR_UINT16, &masterConfig.looptime, 0, 9000 }, { "emf_avoidance", VAR_UINT8, &masterConfig.emf_avoidance, 0, 1 }, - { "midrc", VAR_UINT16, &masterConfig.rxConfig.midrc, 1200, 1700 }, - { "mincheck", VAR_UINT16, &masterConfig.rxConfig.mincheck, PWM_RANGE_ZERO, PWM_RANGE_MAX }, - { "maxcheck", VAR_UINT16, &masterConfig.rxConfig.maxcheck, PWM_RANGE_ZERO, PWM_RANGE_MAX }, + { "mid_rc", VAR_UINT16, &masterConfig.rxConfig.midrc, 1200, 1700 }, + { "min_check", VAR_UINT16, &masterConfig.rxConfig.mincheck, PWM_RANGE_ZERO, PWM_RANGE_MAX }, + { "max_check", VAR_UINT16, &masterConfig.rxConfig.maxcheck, PWM_RANGE_ZERO, PWM_RANGE_MAX }, { "rssi_channel", VAR_INT8, &masterConfig.rxConfig.rssi_channel, 0, MAX_SUPPORTED_RC_CHANNEL_COUNT }, - { "minthrottle", VAR_UINT16, &masterConfig.escAndServoConfig.minthrottle, PWM_RANGE_ZERO, PWM_RANGE_MAX }, - { "maxthrottle", VAR_UINT16, &masterConfig.escAndServoConfig.maxthrottle, PWM_RANGE_ZERO, PWM_RANGE_MAX }, - { "mincommand", VAR_UINT16, &masterConfig.escAndServoConfig.mincommand, PWM_RANGE_ZERO, PWM_RANGE_MAX }, + { "min_throttle", VAR_UINT16, &masterConfig.escAndServoConfig.minthrottle, PWM_RANGE_ZERO, PWM_RANGE_MAX }, + { "max_throttle", VAR_UINT16, &masterConfig.escAndServoConfig.maxthrottle, PWM_RANGE_ZERO, PWM_RANGE_MAX }, + { "min_command", VAR_UINT16, &masterConfig.escAndServoConfig.mincommand, PWM_RANGE_ZERO, PWM_RANGE_MAX }, - { "deadband3d_low", VAR_UINT16, &masterConfig.flight3DConfig.deadband3d_low, PWM_RANGE_ZERO, PWM_RANGE_MAX }, // FIXME upper limit should match code in the mixer, 1500 currently - { "deadband3d_high", VAR_UINT16, &masterConfig.flight3DConfig.deadband3d_high, PWM_RANGE_ZERO, PWM_RANGE_MAX }, // FIXME lower limit should match code in the mixer, 1500 currently, - { "neutral3d", VAR_UINT16, &masterConfig.flight3DConfig.neutral3d, PWM_RANGE_ZERO, PWM_RANGE_MAX }, - { "deadband3d_throttle", VAR_UINT16, &masterConfig.flight3DConfig.deadband3d_throttle, PWM_RANGE_ZERO, PWM_RANGE_MAX }, + { "3d_deadband_low", VAR_UINT16, &masterConfig.flight3DConfig.deadband3d_low, PWM_RANGE_ZERO, PWM_RANGE_MAX }, // FIXME upper limit should match code in the mixer, 1500 currently + { "3d_deadband_high", VAR_UINT16, &masterConfig.flight3DConfig.deadband3d_high, PWM_RANGE_ZERO, PWM_RANGE_MAX }, // FIXME lower limit should match code in the mixer, 1500 currently, + { "3d_neutral", VAR_UINT16, &masterConfig.flight3DConfig.neutral3d, PWM_RANGE_ZERO, PWM_RANGE_MAX }, + { "3d_deadband_throttle", VAR_UINT16, &masterConfig.flight3DConfig.deadband3d_throttle, PWM_RANGE_ZERO, PWM_RANGE_MAX }, { "motor_pwm_rate", VAR_UINT16, &masterConfig.motor_pwm_rate, 50, 32000 }, { "servo_pwm_rate", VAR_UINT16, &masterConfig.servo_pwm_rate, 50, 498 }, @@ -218,7 +218,7 @@ const clivalue_t valueTable[] = { { "throttle_correction_angle", VAR_UINT16, ¤tProfile.throttle_correction_angle, 1, 900 }, { "deadband", VAR_UINT8, ¤tProfile.deadband, 0, 32 }, - { "yawdeadband", VAR_UINT8, ¤tProfile.yaw_deadband, 0, 100 }, + { "yaw_deadband", VAR_UINT8, ¤tProfile.yaw_deadband, 0, 100 }, { "yaw_control_direction", VAR_INT8, &masterConfig.yaw_control_direction, -1, 1 }, { "yaw_direction", VAR_INT8, ¤tProfile.mixerConfig.yaw_direction, -1, 1 }, @@ -283,15 +283,15 @@ const clivalue_t valueTable[] = { { "i_yaw", VAR_UINT8, ¤tProfile.pidProfile.I8[YAW], 0, 200 }, { "d_yaw", VAR_UINT8, ¤tProfile.pidProfile.D8[YAW], 0, 200 }, - { "Ppitchf", VAR_FLOAT, ¤tProfile.pidProfile.P_f[PITCH], 0, 100 }, - { "Ipitchf", VAR_FLOAT, ¤tProfile.pidProfile.I_f[PITCH], 0, 100 }, - { "Dpitchf", VAR_FLOAT, ¤tProfile.pidProfile.D_f[PITCH], 0, 100 }, - { "Prollf", VAR_FLOAT, ¤tProfile.pidProfile.P_f[ROLL], 0, 100 }, - { "Irollf", VAR_FLOAT, ¤tProfile.pidProfile.I_f[ROLL], 0, 100 }, - { "Drollf", VAR_FLOAT, ¤tProfile.pidProfile.D_f[ROLL], 0, 100 }, - { "Pyawf", VAR_FLOAT, ¤tProfile.pidProfile.P_f[YAW], 0, 100 }, - { "Iyawf", VAR_FLOAT, ¤tProfile.pidProfile.I_f[YAW], 0, 100 }, - { "Dyawf", VAR_FLOAT, ¤tProfile.pidProfile.D_f[YAW], 0, 100 }, + { "p_pitchf", VAR_FLOAT, ¤tProfile.pidProfile.P_f[PITCH], 0, 100 }, + { "i_pitchf", VAR_FLOAT, ¤tProfile.pidProfile.I_f[PITCH], 0, 100 }, + { "d_pitchf", VAR_FLOAT, ¤tProfile.pidProfile.D_f[PITCH], 0, 100 }, + { "p_rollf", VAR_FLOAT, ¤tProfile.pidProfile.P_f[ROLL], 0, 100 }, + { "i_rollf", VAR_FLOAT, ¤tProfile.pidProfile.I_f[ROLL], 0, 100 }, + { "d_rollf", VAR_FLOAT, ¤tProfile.pidProfile.D_f[ROLL], 0, 100 }, + { "p_yawf", VAR_FLOAT, ¤tProfile.pidProfile.P_f[YAW], 0, 100 }, + { "i_yawf", VAR_FLOAT, ¤tProfile.pidProfile.I_f[YAW], 0, 100 }, + { "d_yawf", VAR_FLOAT, ¤tProfile.pidProfile.D_f[YAW], 0, 100 }, { "level_horizon", VAR_FLOAT, ¤tProfile.pidProfile.H_level, 0, 10 }, { "level_angle", VAR_FLOAT, ¤tProfile.pidProfile.A_level, 0, 10 },