Merge pull request #8643 from breadoven/abo_nav_yaw_refactor
[inav.git] / docs / Profiles.md
blob94953429967196a163f503087087b4810cf4d968
1 # Profiles
3 A profile is a set of configuration settings.
5 Currently three profiles are supported. The default profile is profile `1`.
7 ## Changing profiles
8 ### Stick Commands
9 Profiles can be selected using a GUI or the following stick combinations:
11 | Profile | Throttle | Yaw   | Pitch  | Roll   |
12 | ------- | -------- | ----- | ------ | ------ |
13 | 1       | Down     | Left  | Middle | Left   |
14 | 2       | Down     | Left  | Up     | Middle |
15 | 3       | Down     | Left  | Middle | Right  |
17 ### CLI
18 The CLI `profile` command can also be used to change profiles:
20 ```
21 profile <index>
22 ```
24 ### Programming (4.0.0 onwards)
25 You can change profiles using the programming frame work. This allows a lot of flexability in how you change profiles.
27 For example, using a simple switch on channel 15.
29 [![For example, using a simple switch](https://i.imgur.com/SS9CaaOl.png)](https://i.imgur.com/SS9CaaO.png)
31 Or using the speed to change profiles. In this example: 
32 - when lower than 25 cm/s (basically not flying), profiles are not effected.
33 - Below 2682 cm/s (60 mph | 97 Km/h) use Profile 1
34 - Above 5364 cm/s (120 mph | 193 Km/h) use Profile 3
35 - Between 2683 and 5364 cm/s, use Profile 2
37 [![Using speed to change profiles](https://i.imgur.com/WjkuhhWl.png)](https://i.imgur.com/WjkuhhW.png)
39 #### Configurator use with profile changing logic.
41 If you have logic conditions that change the profiles. You may find that if you manually change the profile using the drop down boxes in the top right of Configurator; that they switch back to a different profile. This is because the logic conditions are still running in the background. If this is the case, the simplest solutuion is to temporarily disable the switches that trigger the `set profile` operations. Remember to re-enable these switches after you have made your changes.
43 [![Disabled SET PROFILE switches](https://i.imgur.com/AeH9ll7l.png)](https://i.imgur.com/AeH9ll7.png)
45 ## Profile Contents
46 The values contained within a profile can be seen by using the CLI `dump profile` command.
48 e.g
49 ```
50 # dump profile
52 # profile
53 profile 1
55 set mc_p_pitch = 40
56 set mc_i_pitch = 30
57 set mc_d_pitch = 23
58 set mc_cd_pitch = 60
59 set mc_p_roll = 40
60 set mc_i_roll = 30
61 set mc_d_roll = 23
62 set mc_cd_roll = 60
63 set mc_p_yaw = 85
64 set mc_i_yaw = 45
65 set mc_d_yaw = 0
66 set mc_cd_yaw = 60
67 set mc_p_level = 20
68 set mc_i_level = 15
69 set mc_d_level = 75
70 set fw_p_pitch = 5
71 set fw_i_pitch = 7
72 set fw_d_pitch = 0
73 set fw_ff_pitch = 50
74 set fw_p_roll = 5
75 set fw_i_roll = 7
76 set fw_d_roll = 0
77 set fw_ff_roll = 50
78 set fw_p_yaw = 6
79 set fw_i_yaw = 10
80 set fw_d_yaw = 0
81 set fw_ff_yaw = 60
82 set fw_p_level = 20
83 set fw_i_level = 5
84 set fw_d_level = 75
85 set max_angle_inclination_rll = 300
86 set max_angle_inclination_pit = 300
87 set dterm_lpf_hz = 110
88 set dterm_lpf_type = PT2
89 set dterm_lpf2_hz = 0
90 set dterm_lpf2_type = PT1
91 set yaw_lpf_hz = 0
92 set fw_iterm_throw_limit = 165
93 set fw_loiter_direction = RIGHT
94 set fw_reference_airspeed =  1500.000
95 set fw_turn_assist_yaw_gain =  1.000
96 set fw_turn_assist_pitch_gain =  1.000
97 set fw_iterm_limit_stick_position =  0.500
98 set fw_yaw_iterm_freeze_bank_angle = 0
99 set pidsum_limit = 500
100 set pidsum_limit_yaw = 350
101 set iterm_windup = 50
102 set rate_accel_limit_roll_pitch = 0
103 set rate_accel_limit_yaw = 10000
104 set heading_hold_rate_limit = 90
105 set nav_mc_pos_z_p = 50
106 set nav_mc_vel_z_p = 100
107 set nav_mc_vel_z_i = 50
108 set nav_mc_vel_z_d = 10
109 set nav_mc_pos_xy_p = 65
110 set nav_mc_vel_xy_p = 40
111 set nav_mc_vel_xy_i = 15
112 set nav_mc_vel_xy_d = 100
113 set nav_mc_vel_xy_ff = 40
114 set nav_mc_heading_p = 60
115 set nav_mc_vel_xy_dterm_lpf_hz =  2.000
116 set nav_mc_vel_xy_dterm_attenuation = 90
117 set nav_mc_vel_xy_dterm_attenuation_start = 10
118 set nav_mc_vel_xy_dterm_attenuation_end = 60
119 set nav_fw_pos_z_p = 40
120 set nav_fw_pos_z_i = 5
121 set nav_fw_pos_z_d = 10
122 set nav_fw_pos_xy_p = 75
123 set nav_fw_pos_xy_i = 5
124 set nav_fw_pos_xy_d = 8
125 set nav_fw_heading_p = 60
126 set nav_fw_pos_hdg_p = 30
127 set nav_fw_pos_hdg_i = 2
128 set nav_fw_pos_hdg_d = 0
129 set nav_fw_pos_hdg_pidsum_limit = 350
130 set mc_iterm_relax = RP
131 set mc_iterm_relax_cutoff = 15
132 set d_boost_min =  0.500
133 set d_boost_max =  1.250
134 set d_boost_max_at_acceleration =  7500.000
135 set d_boost_gyro_delta_lpf_hz = 80
136 set antigravity_gain =  1.000
137 set antigravity_accelerator =  1.000
138 set antigravity_cutoff_lpf_hz = 15
139 set pid_type = AUTO
140 set mc_cd_lpf_hz = 30
141 set fw_level_pitch_trim =  0.000
142 set smith_predictor_strength =  0.500
143 set smith_predictor_delay =  0.000
144 set smith_predictor_lpf_hz = 50
145 set fw_level_pitch_gain =  5.000
146 set thr_mid = 50
147 set thr_expo = 0
148 set tpa_rate = 0
149 set tpa_breakpoint = 1500
150 set fw_tpa_time_constant = 0
151 set rc_expo = 70
152 set rc_yaw_expo = 20
153 set roll_rate = 20
154 set pitch_rate = 20
155 set yaw_rate = 20
156 set manual_rc_expo = 70
157 set manual_rc_yaw_expo = 20
158 set manual_roll_rate = 100
159 set manual_pitch_rate = 100
160 set manual_yaw_rate = 100
161 set fpv_mix_degrees = 0
162 set rate_dynamics_center_sensitivity = 100
163 set rate_dynamics_end_sensitivity = 100
164 set rate_dynamics_center_correction = 10
165 set rate_dynamics_end_correction = 10
166 set rate_dynamics_center_weight = 0
167 set rate_dynamics_end_weight = 0