Skip to content

Commit 0d97ea8

Browse files
committed
Merge remote-tracking branch 'betaflight-local/3.5.0-with-spracingf3osd'
2 parents 35fa38f + c37de8e commit 0d97ea8

File tree

171 files changed

+2781
-1346
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

171 files changed

+2781
-1346
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
name: Configuration Issue
3+
about: Find help if you are struggling with configuring Betaflight
4+
5+
---
6+
7+
**Important: This is not the right place to get help with configuration issues. Your issue will be closed without further comment.**
8+
9+
Please get help from other user support options such as asking the manufacturer of the hardware you are using, RCGroups: https://rcgroups.com/forums/showthread.php?t=2464844, or Slack (registration at https://slack.betaflight.com/) or other user support forums & groups (e.g. Facebook).
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea for for a new feature for Betaflight
4+
5+
---
6+
7+
**Is your feature request related to a problem? Please describe.**
8+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9+
10+
**Describe the solution you'd like**
11+
A clear and concise description of what you want to happen.
12+
13+
**Describe alternatives you've considered**
14+
A clear and concise description of any alternative solutions or features you've considered.
15+
16+
**Additional context**
17+
Add any other context or screenshots about the feature request here.
18+
19+
Please note that feature requests are not 'fire and forget'. It is a lot more likely that the feature you would like to have will be implemented if you keep watching your feature request, and provide more details to developers looking into implementing your feature, and help them with testing.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
name: Firmware Bug Report
3+
about: Create a report to help us fix bugs in the Betaflight firmware
4+
5+
---
6+
7+
**Describe the bug**
8+
A clear and concise description of what the bug is.
9+
10+
**To Reproduce**
11+
Steps to reproduce the behavior:
12+
13+
**Expected behavior**
14+
A clear and concise description of what you expected to happen.
15+
16+
**Flight controller configuration**
17+
Create a `diff` and post it here in a code block. Put ``` (three backticks) at the start and end of the `diff` block (instructions on how to do a diff: https://oscarliang.com/use-diff-not-dump-betaflight/)
18+
19+
**Setup / Versions**
20+
- Flight controller [what type is it, where was it bought from];
21+
- Other components [RX, VTX, brand / model for all of them, firmware version where applicable];
22+
- how are the different components wired up.
23+
24+
**Additional context**
25+
Add any other context about the problem here.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
name: Hardware Problem Report
3+
about: Report problems with faulty / broken hardware
4+
5+
---
6+
7+
**Important: This is not the right place to report faulty / broken hardware. Your issue will be closed without further comment.**
8+
9+
Contact the manufacturer or supplier of your hardware, or check RCGroups https://rcgroups.com/forums/showthread.php?t=2464844 to see if others with the same problem have found a solution.

.github/pull_request_template.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
## Important: Feature freeze / release candidate phase for Betaflight 3.4
1+
## Important: Feature freeze / release candidate phase for Betaflight 3.5
22

3-
From 01/06/2018 until the release of Betaflight 3.4.0 (scheduled for 01/07/2018), the project is in a 'feature freeze / release candidate' phase. This means:
3+
From 22/07/2018 until the release of Betaflight 3.5.0 (scheduled for 05/08/2018), the project is in a 'feature freeze / release candidate' phase. This means:
44

55
1. Pull requests can still be submitted as normal. Comments / discussions will probably be slower than normal due to shifted priorities;
66

7-
2. If your pull request is a fix for an existing bug, or an update for a single target that has a low risk of side effect for other targets, it will be reviewed, and if accepted merged into `master` for the 3.4 release;
7+
2. If your pull request is a fix for an existing bug, or an update for a single target that has a low risk of side effect for other targets, it will be reviewed, and if accepted merged into `master` for the 3.5 release;
88

9-
3. All other pull requests will be scheduled for 3.5, and discussed / reviewed / merged into `master` after 3.4.0 has been released. Please keep in mind that this potentially means that you will have to rebase your changes if they are broken by bugfixes made to 3.4.
9+
3. All other pull requests will be scheduled for 4.0, and discussed / reviewed / merged into `master` after 3.5.0 has been released. Please keep in mind that this potentially means that you will have to rebase your changes if they are broken by bugfixes made for 3.5.
1010

1111

1212
## Important considerations when opening a pull request:

Makefile

+38
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,44 @@ targets:
473473
@echo "targets-group-4: $(GROUP_4_TARGETS)"
474474
@echo "targets-group-rest: $(GROUP_OTHER_TARGETS)"
475475

476+
@echo "targets-group-1: $(words $(GROUP_1_TARGETS)) targets"
477+
@echo "targets-group-2: $(words $(GROUP_2_TARGETS)) targets"
478+
@echo "targets-group-3: $(words $(GROUP_3_TARGETS)) targets"
479+
@echo "targets-group-4: $(words $(GROUP_4_TARGETS)) targets"
480+
@echo "targets-group-rest: $(words $(GROUP_OTHER_TARGETS)) targets"
481+
@echo "total in all groups $(words $(SUPPORTED_TARGETS)) targets"
482+
483+
## target-mcu : print the MCU type of the target
484+
target-mcu:
485+
@echo $(TARGET_MCU)
486+
487+
## targets-by-mcu : make all targets that have a MCU_TYPE mcu
488+
targets-by-mcu:
489+
@echo "Building all $(MCU_TYPE) targets..."
490+
$(V1) for target in $(VALID_TARGETS); do \
491+
TARGET_MCU_TYPE=$$($(MAKE) -s TARGET=$${target} target-mcu); \
492+
if [ "$${TARGET_MCU_TYPE}" = "$${MCU_TYPE}" ]; then \
493+
echo "Building target $${target}..."; \
494+
$(MAKE) TARGET=$${target}; \
495+
if [ $$? -ne 0 ]; then \
496+
echo "Building target $${target} failed, aborting."; \
497+
exit 1; \
498+
fi; \
499+
fi; \
500+
done
501+
502+
## targets-f3 : make all F3 targets
503+
targets-f3:
504+
$(V1) $(MAKE) -s targets-by-mcu MCU_TYPE=STM32F3
505+
506+
## targets-f4 : make all F4 targets
507+
targets-f4:
508+
$(V1) $(MAKE) -s targets-by-mcu MCU_TYPE=STM32F4
509+
510+
## targets-f7 : make all F7 targets
511+
targets-f7:
512+
$(V1) $(MAKE) -s targets-by-mcu MCU_TYPE=STM32F7
513+
476514
## test : run the cleanflight test suite
477515
## junittest : run the cleanflight test suite, producing Junit XML result files.
478516
test junittest:

docs/Modes.md

+45-60
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,47 @@
11
# Modes
22

3-
Cleanflight has various modes that can be toggled on or off. Modes can be enabled/disabled by stick positions,
4-
auxillary receiver channels and other events such as failsafe detection.
5-
6-
| MSP ID | CLI ID | Short Name | Function |
7-
| ------- | ------ | ---------- | -------------------------------------------------------------------- |
8-
| 0 | 0 | ARM | Enables motors and flight stabilisation |
9-
| 1 | 1 | ANGLE | Legacy auto-level flight mode |
10-
| 2 | 2 | HORIZON | Auto-level flight mode |
11-
| 3 | 3 | BARO | Altitude hold mode (Requires barometer sensor) |
12-
| 4 | N/A | VARIO | Unused |
13-
| 5 | 4 | MAG | Heading lock |
14-
| 6 | 5 | HEADFREE | Head Free - When enabled yaw has no effect on pitch/roll inputs |
15-
| 7 | 6 | HEADADJ | Heading Adjust - Sets a new yaw origin for HEADFREE mode |
16-
| 8 | 7 | CAMSTAB | Camera Stabilisation |
17-
| 9 | 8 | CAMTRIG | Unused |
18-
| 10 | 9 | GPSHOME | Autonomous flight to HOME position |
19-
| 11 | 10 | GPSHOLD | Maintain the same longitude/lattitude |
20-
| 12 | 11 | PASSTHRU | Pass roll, yaw, and pitch directly from rx to servos in airplane mix |
21-
| 13 | 12 | BEEPERON | Enable beeping - useful for locating a crashed aircraft |
22-
| 14 | 13 | LEDMAX | |
23-
| 15 | 14 | LEDLOW | |
24-
| 16 | 15 | LLIGHTS | |
25-
| 17 | 16 | CALIB | |
26-
| 18 | 17 | GOV | Unused |
27-
| 19 | 18 | OSD | Enable/Disable On-Screen-Display (OSD) |
28-
| 20 | 19 | TELEMETRY | Enable telemetry via switch |
29-
| 21 | 20 | GTUNE | G-Tune - auto tuning of Pitch/Roll/Yaw P values |
30-
| 22 | 21 | SONAR | Altitude hold mode (sonar sensor only) |
31-
| 23 | 22 | SERVO1 | Servo 1 |
32-
| 24 | 23 | SERVO2 | Servo 2 |
33-
| 25 | 24 | SERVO3 | Servo 3 |
34-
| 26 | 25 | BLACKBOX | Enable BlackBox logging |
35-
| 27 | 26 | FAILSAFE | Enter failsafe stage 2 manually |
36-
| 28 | 27 | AIRMODE | Alternative mixer and additional PID logic for more stable copter |
3+
There are various modes that can be toggled on or off. Modes can be enabled/disabled by stick positions, auxillary receiver channels and other events such as failsafe detection.
4+
5+
| ID | Short Name | Function |
6+
| -- | ------------------------ | ------------------------------------------------------------------------------------ |
7+
| 0 | ARM | Enables motors and flight stabilisation |
8+
| 1 | ANGLE | Legacy auto-level flight mode |
9+
| 2 | HORIZON | Auto-level flight mode |
10+
| 4 | ANTI GRAVITY | Prevents dips and rolls on fast throttle changes |
11+
| 5 | MAG | Heading lock |
12+
| 6 | HEADFREE | Head Free - When enabled yaw has no effect on pitch/roll inputs |
13+
| 7 | HEADADJ | Heading Adjust - Sets a new yaw origin for HEADFREE mode |
14+
| 8 | CAMSTAB | Camera Stabilisation |
15+
| 12 | PASSTHRU | Pass roll, yaw, and pitch directly from rx to servos in airplane mix |
16+
| 13 | BEEPERON | Enable beeping - useful for locating a crashed aircraft |
17+
| 15 | LEDLOW | Switch off LED\_STRIP output |
18+
| 17 | CALIB | Start in-flight calibration |
19+
| 19 | OSD | Enable/Disable On-Screen-Display (OSD) |
20+
| 20 | TELEMETRY | Enable telemetry via switch |
21+
| 23 | SERVO1 | Servo 1 |
22+
| 24 | SERVO2 | Servo 2 |
23+
| 25 | SERVO3 | Servo 3 |
24+
| 26 | BLACKBOX | Enable BlackBox logging |
25+
| 27 | FAILSAFE | Enter failsafe stage 2 manually |
26+
| 28 | AIRMODE | Alternative mixer and additional PID logic for more stable copter |
27+
| 29 | 3D | Enable 3D mode |
28+
| 30 | FPV ANGLE MIX | Apply yaw rotation relative to a FPV camera mounted at a preset angle |
29+
| 31 | BLACKBOX ERASE | Erase the contents of the onboard flash log chip (takes > 30 s) |
30+
| 32 | CAMERA CONTROL 1 | Control function 1 of the onboard camera (if supported) |
31+
| 33 | CAMERA CONTROL 2 | Control function 2 of the onboard camera (if supported) |
32+
| 34 | CAMERA CONTROL 3 | Control function 3 of the onboard camera (if supported) |
33+
| 35 | FLIP OVER AFTER CRASH | Reverse the motors to flip over an upside down craft after a crash (DShot required) |
34+
| 36 | BOXPREARM | When arming, wait for this switch to be activated before actually arming |
35+
| 37 | BEEP GPS SATELLITE COUNT | Use a number of beeps to indicate the number of GPS satellites found |
36+
| 39 | VTX PIT MODE | Switch the VTX into pit mode (low output power, if supported) |
37+
| 40 | USER1 | User defined switch 1. Intended to be used to control an arbitrary output with PINIO |
38+
| 41 | USER2 | User defined switch 2. Intended to be used to control an arbitrary output with PINIO |
39+
| 42 | USER3 | User defined switch 3. Intended to be used to control an arbitrary output with PINIO |
40+
| 43 | USER4 | User defined switch 4. Intended to be used to control an arbitrary output with PINIO |
41+
| 44 | PID AUDIO | Enable output of PID controller state as audio |
42+
| 45 | PARALYZE | Permanently disable a crashed craft until it is power cycled |
43+
| 46 | GPS RESCUE | Enable 'GPS Rescue' to return the craft to the location where it was last armed |
44+
| 47 | ACRO TRAINER | Enable 'acro trainer' angle limiting in acro mode |
3745

3846
## Auto-leveled flight
3947

@@ -57,29 +65,7 @@ In this mode, the "head" of the multicopter is always pointing to the same direc
5765

5866
With this mode it is easier to control the multicopter, even fly it with the physical head towards you since the controls always respond the same. This is a friendly mode to new users of multicopters and can prevent losing the control when you don't know the head direction.
5967

60-
### GPS Return To Home
61-
62-
WORK-IN-PROGRESS. This mode is not reliable yet, please share your experiences with the developers.
63-
64-
In this mode the aircraft attempts to return to the GPS position recorded when the aircraft was armed.
65-
66-
This mode should be enabled in conjunction with Angle or Horizon modes and an Altitude hold mode.
67-
68-
Requires a 3D GPS fix and minimum of 5 satellites in view.
69-
70-
### GPS Position Hold
71-
72-
WORK-IN-PROGRESS. This mode is not reliable yet, please share your experiences with the developers.
73-
74-
In this mode the aircraft attempts to stay at the same GPS position, as recorded when the mode is enabled.
75-
76-
Disabling and re-enabling the mode will reset the GPS hold position.
77-
78-
This mode should be enabled in conjunction with Angle or Horizon modes and an Altitude hold mode.
79-
80-
Requires a 3D GPS fix and minimum of 5 satellites in view.
81-
82-
## Airmode
68+
### Airmode
8369

8470
In the standard mixer / mode, when the roll, pitch and yaw gets calculated and saturates a motor, all motors
8571
will be reduced equally. When motor goes below minimum it gets clipped off.
@@ -92,14 +78,14 @@ gliding and actobatics. But also the cornering / turns will be much tighter now
9278
possible correction performed. Airmode can also be enabled to work at all times by always putting it on the
9379
same switch like your arm switch or you can enable/disable it in air. Additional things and benefits: Airmode
9480
will additionally fully enable Iterm at zero throttle. Note that there is still some protection on the ground
95-
when throttle zeroed (below min_check) and roll/pitch sticks centered. This is a basic protection to limit
81+
when throttle zeroed (below min\check) and roll/pitch sticks centered. This is a basic protection to limit
9682
motors spooling up on the ground. Also the Iterm will be reset above 70% of stick input in acro mode to prevent
9783
quick Iterm windups during finishes of rolls and flips, which will provide much cleaner and more natural stops
9884
of flips and rolls what again opens the ability to have higher I gains for some.
9985
Note that AIRMODE will also overrule motor stop function! It will basically also act as an idle up switch.
10086

10187

102-
## Auxillary Configuration
88+
## Auxiliary Configuration
10389

10490
Spare auxillary receiver channels can be used to enable/disable modes. Some modes can only be enabled this way.
10591

@@ -134,4 +120,3 @@ aux 0 0 0 1700 2100
134120
```
135121

136122
You can display the AUX configuration by using the `aux` command with no arguments.
137-

0 commit comments

Comments
 (0)