Max waypoint number as a per-target define (#395)
[betaflight.git] / docs / Controls.md
blobe302a7f2534b0267d988a2aff4ff6e5aefb79f38
1 # Controls
3 ## Arming
5 When armed, the aircraft is ready to fly and the motors will spin when throttle is applied.  The motors will
6 spin at a slow speed when armed (this feature may be disabled by setting MOTOR_STOP, but for safety reasons,
7 that is not recommended).
9 By default, arming and disarming is done using stick positions.  (NOTE: this feature is disabled when using a
10 switch to arm.)
12 ## Stick Positions
14 The three stick positions are:
16 |Position        | Approx. Channel Input|
17 |----------------|----------------------|
18 |LOW             | 1000                 |
19 |CENTER          | 1500                 |
20 |HIGH            | 2000                 |
22 The stick positions are combined to activate different functions:
24 | Function                      | Throttle | Yaw     | Pitch  | Roll   |
25 | ----------------------------- | -------- | ------- | ------ | ------ |
26 | ARM                           | LOW      | HIGH    | CENTER | CENTER |
27 | DISARM                        | LOW      | LOW     | CENTER | CENTER |
28 | Profile 1                     | LOW      | LOW     | CENTER | LOW    |
29 | Profile 2                     | LOW      | LOW     | HIGH   | CENTER |
30 | Profile 3                     | LOW      | LOW     | CENTER | HIGH   |
31 | Calibrate Gyro                | LOW      | LOW     | LOW    | CENTER |
32 | Calibrate Acc                 | HIGH     | LOW     | LOW    | CENTER |
33 | Calibrate Mag/Compass         | HIGH     | HIGH    | LOW    | CENTER |
34 | Inflight calibration controls | LOW      | LOW     | HIGH   | HIGH   |
35 | Trim Acc Left                 | HIGH     | CENTER  | CENTER | LOW    |
36 | Trim Acc Right                | HIGH     | CENTER  | CENTER | HIGH   |
37 | Trim Acc Forwards             | HIGH     | CENTER  | HIGH   | CENTER |
38 | Trim Acc Backwards            | HIGH     | CENTER  | LOW    | CENTER |
39 | Disable LCD Page Cycling      | LOW      | CENTER  | HIGH   | LOW    |
40 | Enable LCD Page Cycling       | LOW      | CENTER  | HIGH   | HIGH   |
41 | Save setting                  | LOW      | LOW     | LOW    | HIGH   |
43 ![Stick Positions](assets/images/StickPositions.png)
45 Download a graphic [cheat sheet](https://multiwii.googlecode.com/svn/branches/Hamburger/MultiWii-StickConfiguration-23_v0-5772156649.pdf) with Tx stick commands (the latest version can always be found
46 [here](https://code.google.com/p/multiwii/source/browse/#svn%2Fbranches%2FHamburger)).
48 ## Yaw control
50 While arming/disarming with sticks, your yaw stick will be moving to extreme values. In order to prevent your craft
51 from trying to yaw during arming/disarming while on the ground, your yaw input will not cause the craft to yaw when the
52 throttle is LOW (i.e. below the `min_check` setting).
54 For tricopters, you may want to retain the ability to yaw while on the ground, so that you can verify that your tail
55 servo is working correctly before takeoff. You can do this by setting `tri_unarmed_servo` to `1` on the CLI (this is the
56 default). If you are having issues with your tail rotor contacting the ground during arm/disarm, you can set this to
57 `0` instead. Check this table to decide which setting will suit you:
59 <table>
60     <tr>
61         <th colspan="5">Is yaw control of the tricopter allowed?</th>
62     </tr>
63     <tr>
64         <th></th><th colspan="2">Disarmed</th><th colspan="2">Armed</th>
65     </tr>
66     <tr>
67         <th></th><th>Throttle low</th><th>Throttle normal</th><th>Throttle low</th><th>Throttle normal</th>
68     </tr>
69     <tr>
70         <td rowspan="2">tri_unarmed_servo = 0</td><td>No</td><td>No</td><td>No</td><td>Yes</td>
71     </tr>
72     <tr>
73         <td>No</td><td>No</td><td>No</td><td>Yes</td>
74     </tr>
75     <tr>
76         <td rowspan="2">tri_unarmed_servo = 1</td><td>Yes</td><td>Yes</td><td>Yes</td><td>Yes</td>
77     </tr>
78     <tr>
79         <td>Yes</td><td>Yes</td><td>Yes</td><td>Yes</td>
80     </tr>
81 </table>
84 ## Throttle settings and their interaction
86 `min_command` -
87 With motor stop enabled this is the command sent to the esc's when the throttle is below min_check or disarmed. With motor stop disabled, this is the command sent only when the copter is disarmed. This must be set well below motors spinning for safety. 
89 `min_check` - 
90 With switch arming mode is in use, lowering your throttle below min_check will result in motors spinning at min_throttle. When using the default stick arming, lowering your throttle below min_check will result in motors spinning at min_throttle and yaw being disabled so that you may arm/disarm. With motor stop enabled, lowering your throttle below min_check will also result in motors off and the esc's being sent min_command. Min_check must be set to a level that is 100% reliably met by the throttle throw. A setting too low may result in a dangerous condition where the copter can’t be disarmed. It is ok to set this below min_throttle because the FC will automaticly scale the output to the esc's
92 `min_throttle` -
93 Typically set to just above reliable spin up of all motors. Sometimes this is set slightly higher for prop stall prevention during advanced maneuvers or sometimes considerably higher to produce a desired result. When armed with motor stop off, your motors will spin at this command so keep that in mind from a safety stand point.  
95 `max_check` -
96 Throttle positions above this level will send max_command to the esc's. 
98 `max_throttle` -
99 This is the max command to the esc's from the flight controller. 
101 In depth videos explaining these terms are available from Joshua Bardwell here:
103 https://www.youtube.com/watch?v=WFU3VewGbbA
105 https://www.youtube.com/watch?v=YNRl0OTKRGA