Merge branch 'master' of https://github.com/betaflight/betaflight into motor-diag
# Conflicts: # src/main/io/osd.c # src/main/io/osd.h # src/test/unit/osd_unittest.cc
9
.github/ISSUE_TEMPLATE/configuration-issue.md
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: Configuration Issue
|
||||
about: Find help if you are struggling with configuring Betaflight
|
||||
|
||||
---
|
||||
|
||||
**Important: This is not the right place to get help with configuration issues. Your issue will be closed without further comment.**
|
||||
|
||||
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
.github/ISSUE_TEMPLATE/feature-request.md
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
name: Feature Request
|
||||
about: Suggest an idea for for a new feature for Betaflight
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
|
||||
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.
|
25
.github/ISSUE_TEMPLATE/firmware-bug-report.md
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
name: Firmware Bug Report
|
||||
about: Create a report to help us fix bugs in the Betaflight firmware
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Flight controller configuration**
|
||||
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/)
|
||||
|
||||
**Setup / Versions**
|
||||
- Flight controller [what type is it, where was it bought from];
|
||||
- Other components [RX, VTX, brand / model for all of them, firmware version where applicable];
|
||||
- how are the different components wired up.
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
9
.github/ISSUE_TEMPLATE/hardware-problem-report.md
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
name: Hardware Problem Report
|
||||
about: Report problems with faulty / broken hardware
|
||||
|
||||
---
|
||||
|
||||
**Important: This is not the right place to report faulty / broken hardware. Your issue will be closed without further comment.**
|
||||
|
||||
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.
|
2
.github/issue_template.md
vendored
|
@ -1,6 +1,6 @@
|
|||
# If your issue looks like a hardware fault or a configuration problem please don't raise an issue here.
|
||||
|
||||
## Please consider using 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: https://slack.betaflight.tech or other user support forums & groups (e.g. facebook).
|
||||
## Please consider using 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).
|
||||
|
||||
## If you believe there is an issue with the firmware itself please follow these steps:
|
||||
1. Describe your problem;
|
||||
|
|
11
.github/pull_request_template.md
vendored
|
@ -1,14 +1,3 @@
|
|||
## Important: Feature freeze / release candidate phase for Betaflight 3.4
|
||||
|
||||
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:
|
||||
|
||||
1. Pull requests can still be submitted as normal. Comments / discussions will probably be slower than normal due to shifted priorities;
|
||||
|
||||
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;
|
||||
|
||||
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.
|
||||
|
||||
|
||||
## Important considerations when opening a pull request:
|
||||
|
||||
1. Pull requests will only be accepted if they are opened against the `master` branch. Pull requests opened against other branches without prior consent from the maintainers will be closed;
|
||||
|
|
|
@ -53,10 +53,12 @@ before_script:
|
|||
- clang --version
|
||||
- clang++ --version
|
||||
- gcc --version
|
||||
- export V=0
|
||||
|
||||
script: ./.travis.sh
|
||||
|
||||
cache:
|
||||
timeout: 1000
|
||||
directories:
|
||||
- downloads
|
||||
- tools
|
||||
|
|
41
Makefile
|
@ -206,10 +206,11 @@ CFLAGS += $(ARCH_FLAGS) \
|
|||
$(addprefix -D,$(OPTIONS)) \
|
||||
$(addprefix -I,$(INCLUDE_DIRS)) \
|
||||
$(DEBUG_FLAGS) \
|
||||
-std=gnu99 \
|
||||
-std=gnu11 \
|
||||
-Wall -Wextra -Wunsafe-loop-optimizations -Wdouble-promotion \
|
||||
-ffunction-sections \
|
||||
-fdata-sections \
|
||||
-fno-common \
|
||||
-pedantic \
|
||||
$(DEVICE_FLAGS) \
|
||||
-D_GNU_SOURCE \
|
||||
|
@ -469,6 +470,44 @@ targets:
|
|||
@echo "targets-group-4: $(GROUP_4_TARGETS)"
|
||||
@echo "targets-group-rest: $(GROUP_OTHER_TARGETS)"
|
||||
|
||||
@echo "targets-group-1: $(words $(GROUP_1_TARGETS)) targets"
|
||||
@echo "targets-group-2: $(words $(GROUP_2_TARGETS)) targets"
|
||||
@echo "targets-group-3: $(words $(GROUP_3_TARGETS)) targets"
|
||||
@echo "targets-group-4: $(words $(GROUP_4_TARGETS)) targets"
|
||||
@echo "targets-group-rest: $(words $(GROUP_OTHER_TARGETS)) targets"
|
||||
@echo "total in all groups $(words $(SUPPORTED_TARGETS)) targets"
|
||||
|
||||
## target-mcu : print the MCU type of the target
|
||||
target-mcu:
|
||||
@echo $(TARGET_MCU)
|
||||
|
||||
## targets-by-mcu : make all targets that have a MCU_TYPE mcu
|
||||
targets-by-mcu:
|
||||
@echo "Building all $(MCU_TYPE) targets..."
|
||||
$(V1) for target in $(VALID_TARGETS); do \
|
||||
TARGET_MCU_TYPE=$$($(MAKE) -s TARGET=$${target} target-mcu); \
|
||||
if [ "$${TARGET_MCU_TYPE}" = "$${MCU_TYPE}" ]; then \
|
||||
echo "Building target $${target}..."; \
|
||||
$(MAKE) TARGET=$${target}; \
|
||||
if [ $$? -ne 0 ]; then \
|
||||
echo "Building target $${target} failed, aborting."; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
## targets-f3 : make all F3 targets
|
||||
targets-f3:
|
||||
$(V1) $(MAKE) -s targets-by-mcu MCU_TYPE=STM32F3
|
||||
|
||||
## targets-f4 : make all F4 targets
|
||||
targets-f4:
|
||||
$(V1) $(MAKE) -s targets-by-mcu MCU_TYPE=STM32F4
|
||||
|
||||
## targets-f7 : make all F7 targets
|
||||
targets-f7:
|
||||
$(V1) $(MAKE) -s targets-by-mcu MCU_TYPE=STM32F7
|
||||
|
||||
## test : run the cleanflight test suite
|
||||
## junittest : run the cleanflight test suite, producing Junit XML result files.
|
||||
test junittest:
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||

|
||||
|
||||
|
||||

|
||||
|
||||
Betaflight is flight controller software (firmware) used to fly multi-rotor craft and fixed wing craft.
|
||||
|
@ -11,7 +8,8 @@ This fork differs from Baseflight and Cleanflight in that it focuses on flight p
|
|||
|
||||
| Date | Event |
|
||||
| - | - |
|
||||
| 01 July 2018 | Planned [release](https://github.com/betaflight/betaflight/milestone/7) date for Betaflight 3.4 |
|
||||
| 01 December 2018 | Start of feature freeze / Release Candidate window for Betaflight 4.0 |
|
||||
| 01 January 2019 | Planned [release](https://github.com/betaflight/betaflight/milestone/20) date for Betaflight 4.0 |
|
||||
|
||||
## Features
|
||||
|
||||
|
@ -20,7 +18,7 @@ Betaflight has the following features:
|
|||
* Multi-color RGB LED strip support (each LED can be a different color using variable length WS2811 Addressable RGB strips - use for Orientation Indicators, Low Battery Warning, Flight Mode Status, Initialization Troubleshooting, etc)
|
||||
* DShot (150, 300, 600 and 1200), Multishot, and Oneshot (125 and 42) motor protocol support
|
||||
* Blackbox flight recorder logging (to onboard flash or external microSD card where equipped)
|
||||
* Support for targets that use the STM32 F7, F4, F3 and F1 processors
|
||||
* Support for targets that use the STM32 F7, F4 and F3 processors
|
||||
* PWM, PPM, and Serial (SBus, SumH, SumD, Spektrum 1024/2048, XBus, etc) RX connection with failsafe detection
|
||||
* Multiple telemetry protocols (CSRF, FrSky, HoTT smart-port, MSP, etc)
|
||||
* RSSI via ADC - Uses ADC to read PWM RSSI signals, tested with FrSky D4R-II, X8R, X4R-SB, & XSR
|
||||
|
@ -95,6 +93,7 @@ Origins for this fork (Thanks!):
|
|||
* **timecop** (for Baseflight),
|
||||
* **Dominic Clifton** (for Cleanflight), and
|
||||
* **Sambas** (for the original STM32F4 port).
|
||||
* **borisbstyle** (Fork from Cleanflight).
|
||||
|
||||
The Betaflight Configurator is forked from Cleanflight Configurator and its origins.
|
||||
|
||||
|
|
1
_config.yml
Normal file
|
@ -0,0 +1 @@
|
|||
theme: jekyll-theme-midnight
|
|
@ -279,3 +279,10 @@ Click on a variable to jump to the relevant documentation page.
|
|||
| `magzero_x` | Magnetometer calibration X offset | -32768 | 32767 | 0 | Master | INT16 |
|
||||
| `magzero_y` | Magnetometer calibration Y offset | -32768 | 32767 | 0 | Master | INT16 |
|
||||
| `magzero_z` | Magnetometer calibration Z offset | -32768 | 32767 | 0 | Master | INT16 |
|
||||
| `vtx_band` | Configure the VTX band. Set to zero to use `vtx_freq`. Bands: 1: A, 2: B, 3: E, 4: F, 5: Race. | 0 | 5 | 4 | Master | UINT8 |
|
||||
| `vtx_channel` | Channel to use within the configured `vtx_band`. Valid values are [1, 8]. | 1 | 8 | 1 | Master | UINT8 |
|
||||
| `vtx_freq` | Set the VTX frequency using raw MHz. This parameter is ignored unless `vtx_band` is 0. | 0 | 5900 | 5740 | Master | UINT16 |
|
||||
| `vtx_halfduplex` | Use half duplex UART to communicate with the VTX, using only a TX pin in the FC. | OFF | ON | ON | Master | UINT8 |
|
||||
| `vtx_low_power_disarm` | When the craft is disarmed, set the VTX to its lowest power. `ON` will set the power to its minimum value on startup, increase it to `vtx_power` when arming and change it back to its lowest setting after disarming. `UNTIL_FIRST_ARM` will start with minimum power, but once the craft is armed it will increase to `vtx_power` and it will never decrease until the craft is power cycled. | | | OFF | Master | UINT8 |
|
||||
| `vtx_pit_mode_freq` | Frequency to use (in MHz) when the VTX is in pit mode. | 0 | 5900 | 0 | Master | UINT16 |
|
||||
| `vtx_power` | VTX RF power level to use. The exact number of mw depends on the VTX hardware. | 0 | 3 | 1 | Master | UINT8 |
|
||||
|
|
|
@ -24,7 +24,7 @@ The 'text + data' gives you the flash size, and the 'data + bss' is the (static)
|
|||
|
||||
## Commons features for all Flight Controllers
|
||||
|
||||
The first file where the developers specify the features that are activated or not for a flight controller, is the `target/common_fc_pre.h`.
|
||||
The first file where the developers specify the features that are activated or not for a flight controller, is the `target/common_pre.h`.
|
||||
|
||||
This file specifies the features enabled/disabled depending on the memory flash size of the flight controller, or other conditions.
|
||||
|
||||
|
@ -98,9 +98,9 @@ After looking carefully to this file, you must know what features you want to di
|
|||
|
||||
Each flight controller has it's own file to specify what features are enabled or disable only for it. Sometimes they have been disabled by space limitations, but other times it's for limited computing capacity or a bug, so enable it at your own risk.
|
||||
|
||||
This file is located in `target/[FLIGHT_CONTROLLER_NAME]/target.h` and it's loaded **after** the `target/common_fc_pre.h`. So any changes in this file will overwrite the default settings, so this file is the place where you must touch to create your custom firmware.
|
||||
This file is located in `target/[FLIGHT_CONTROLLER_NAME]/target.h` and it's loaded **after** the `target/common_pre.h`. So any changes in this file will overwrite the default settings, so this file is the place where you must touch to create your custom firmware.
|
||||
|
||||
The first thing to do is to *#undef* all the features that we want to disable from the *common_fc_pre.h*.
|
||||
The first thing to do is to *#undef* all the features that we want to disable from the *common_pre.h*.
|
||||
|
||||
For example, in a NAZE32, if we're using Serial RX, with a FlySky receiver (that uses de iBus protocol) and we don't have a led strip we will add all this *#undef* to the file.
|
||||
|
||||
|
|
|
@ -153,6 +153,7 @@ Module | Comments
|
|||
-------|--------
|
||||
U-blox Neo-M8N w/Compass | Pinout can be found in Pixfalcon manual. SDA and SCL can be attached to I2C bus for compass, TX and RX can be attached to UART for GPS. Power must be applied for either to function.
|
||||
Reyax RY825AI | NEO-M8N, 18Hz UART USB interface GPS Glonass BeiDou QZSS antenna module flash. [eBay](http://www.ebay.com/itm/RY825AI-18Hz-UART-USB-interface-GPS-Glonass-BeiDou-QZSS-antenna-module-flash/181566850426)
|
||||
mRo uGPS w/ LIS3MDL | Ultra compact and weights just 7.7 grams. Multiple constellation capabilities (GPS and GLONASS). Includes JST-GH pigtail. Available from [mRobotics](https://store.mrobotics.io/product-p/mro-ugps-samm8q-01.htm).
|
||||
|
||||
#### NEO-7
|
||||
Module | Comments
|
||||
|
|
103
docs/Modes.md
|
@ -1,39 +1,47 @@
|
|||
# Modes
|
||||
|
||||
Cleanflight has 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.
|
||||
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.
|
||||
|
||||
| MSP ID | CLI ID | Short Name | Function |
|
||||
| ------- | ------ | ---------- | -------------------------------------------------------------------- |
|
||||
| 0 | 0 | ARM | Enables motors and flight stabilisation |
|
||||
| 1 | 1 | ANGLE | Legacy auto-level flight mode |
|
||||
| 2 | 2 | HORIZON | Auto-level flight mode |
|
||||
| 3 | 3 | BARO | Altitude hold mode (Requires barometer sensor) |
|
||||
| 4 | N/A | VARIO | Unused |
|
||||
| 5 | 4 | MAG | Heading lock |
|
||||
| 6 | 5 | HEADFREE | Head Free - When enabled yaw has no effect on pitch/roll inputs |
|
||||
| 7 | 6 | HEADADJ | Heading Adjust - Sets a new yaw origin for HEADFREE mode |
|
||||
| 8 | 7 | CAMSTAB | Camera Stabilisation |
|
||||
| 9 | 8 | CAMTRIG | Unused |
|
||||
| 10 | 9 | GPSHOME | Autonomous flight to HOME position |
|
||||
| 11 | 10 | GPSHOLD | Maintain the same longitude/lattitude |
|
||||
| 12 | 11 | PASSTHRU | Pass roll, yaw, and pitch directly from rx to servos in airplane mix |
|
||||
| 13 | 12 | BEEPERON | Enable beeping - useful for locating a crashed aircraft |
|
||||
| 14 | 13 | LEDMAX | |
|
||||
| 15 | 14 | LEDLOW | |
|
||||
| 16 | 15 | LLIGHTS | |
|
||||
| 17 | 16 | CALIB | |
|
||||
| 18 | 17 | GOV | Unused |
|
||||
| 19 | 18 | OSD | Enable/Disable On-Screen-Display (OSD) |
|
||||
| 20 | 19 | TELEMETRY | Enable telemetry via switch |
|
||||
| 21 | 20 | GTUNE | G-Tune - auto tuning of Pitch/Roll/Yaw P values |
|
||||
| 22 | 21 | SONAR | Altitude hold mode (sonar sensor only) |
|
||||
| 23 | 22 | SERVO1 | Servo 1 |
|
||||
| 24 | 23 | SERVO2 | Servo 2 |
|
||||
| 25 | 24 | SERVO3 | Servo 3 |
|
||||
| 26 | 25 | BLACKBOX | Enable BlackBox logging |
|
||||
| 27 | 26 | FAILSAFE | Enter failsafe stage 2 manually |
|
||||
| 28 | 27 | AIRMODE | Alternative mixer and additional PID logic for more stable copter |
|
||||
| ID | Short Name | Function |
|
||||
| -- | ------------------------ | ------------------------------------------------------------------------------------ |
|
||||
| 0 | ARM | Enables motors and flight stabilisation |
|
||||
| 1 | ANGLE | Legacy auto-level flight mode |
|
||||
| 2 | HORIZON | Auto-level flight mode |
|
||||
| 4 | ANTI GRAVITY | Prevents dips and rolls on fast throttle changes |
|
||||
| 5 | MAG | Heading lock |
|
||||
| 6 | HEADFREE | Head Free - When enabled yaw has no effect on pitch/roll inputs |
|
||||
| 7 | HEADADJ | Heading Adjust - Sets a new yaw origin for HEADFREE mode |
|
||||
| 8 | CAMSTAB | Camera Stabilisation |
|
||||
| 12 | PASSTHRU | Pass roll, yaw, and pitch directly from rx to servos in airplane mix |
|
||||
| 13 | BEEPERON | Enable beeping - useful for locating a crashed aircraft |
|
||||
| 15 | LEDLOW | Switch off LED\_STRIP output |
|
||||
| 17 | CALIB | Start in-flight calibration |
|
||||
| 19 | OSD | Enable/Disable On-Screen-Display (OSD) |
|
||||
| 20 | TELEMETRY | Enable telemetry via switch |
|
||||
| 23 | SERVO1 | Servo 1 |
|
||||
| 24 | SERVO2 | Servo 2 |
|
||||
| 25 | SERVO3 | Servo 3 |
|
||||
| 26 | BLACKBOX | Enable BlackBox logging |
|
||||
| 27 | FAILSAFE | Enter failsafe stage 2 manually |
|
||||
| 28 | AIRMODE | Alternative mixer and additional PID logic for more stable copter |
|
||||
| 29 | 3D | Enable 3D mode |
|
||||
| 30 | FPV ANGLE MIX | Apply yaw rotation relative to a FPV camera mounted at a preset angle |
|
||||
| 31 | BLACKBOX ERASE | Erase the contents of the onboard flash log chip (takes > 30 s) |
|
||||
| 32 | CAMERA CONTROL 1 | Control function 1 of the onboard camera (if supported) |
|
||||
| 33 | CAMERA CONTROL 2 | Control function 2 of the onboard camera (if supported) |
|
||||
| 34 | CAMERA CONTROL 3 | Control function 3 of the onboard camera (if supported) |
|
||||
| 35 | FLIP OVER AFTER CRASH | Reverse the motors to flip over an upside down craft after a crash (DShot required) |
|
||||
| 36 | BOXPREARM | When arming, wait for this switch to be activated before actually arming |
|
||||
| 37 | BEEP GPS SATELLITE COUNT | Use a number of beeps to indicate the number of GPS satellites found |
|
||||
| 39 | VTX PIT MODE | Switch the VTX into pit mode (low output power, if supported) |
|
||||
| 40 | USER1 | User defined switch 1. Intended to be used to control an arbitrary output with PINIO |
|
||||
| 41 | USER2 | User defined switch 2. Intended to be used to control an arbitrary output with PINIO |
|
||||
| 42 | USER3 | User defined switch 3. Intended to be used to control an arbitrary output with PINIO |
|
||||
| 43 | USER4 | User defined switch 4. Intended to be used to control an arbitrary output with PINIO |
|
||||
| 44 | PID AUDIO | Enable output of PID controller state as audio |
|
||||
| 45 | PARALYZE | Permanently disable a crashed craft until it is power cycled |
|
||||
| 46 | GPS RESCUE | Enable 'GPS Rescue' to return the craft to the location where it was last armed |
|
||||
| 47 | ACRO TRAINER | Enable 'acro trainer' angle limiting in acro mode |
|
||||
|
||||
## Auto-leveled flight
|
||||
|
||||
|
@ -57,29 +65,7 @@ In this mode, the "head" of the multicopter is always pointing to the same direc
|
|||
|
||||
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.
|
||||
|
||||
### GPS Return To Home
|
||||
|
||||
WORK-IN-PROGRESS. This mode is not reliable yet, please share your experiences with the developers.
|
||||
|
||||
In this mode the aircraft attempts to return to the GPS position recorded when the aircraft was armed.
|
||||
|
||||
This mode should be enabled in conjunction with Angle or Horizon modes and an Altitude hold mode.
|
||||
|
||||
Requires a 3D GPS fix and minimum of 5 satellites in view.
|
||||
|
||||
### GPS Position Hold
|
||||
|
||||
WORK-IN-PROGRESS. This mode is not reliable yet, please share your experiences with the developers.
|
||||
|
||||
In this mode the aircraft attempts to stay at the same GPS position, as recorded when the mode is enabled.
|
||||
|
||||
Disabling and re-enabling the mode will reset the GPS hold position.
|
||||
|
||||
This mode should be enabled in conjunction with Angle or Horizon modes and an Altitude hold mode.
|
||||
|
||||
Requires a 3D GPS fix and minimum of 5 satellites in view.
|
||||
|
||||
## Airmode
|
||||
### Airmode
|
||||
|
||||
In the standard mixer / mode, when the roll, pitch and yaw gets calculated and saturates a motor, all motors
|
||||
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
|
|||
possible correction performed. Airmode can also be enabled to work at all times by always putting it on the
|
||||
same switch like your arm switch or you can enable/disable it in air. Additional things and benefits: Airmode
|
||||
will additionally fully enable Iterm at zero throttle. Note that there is still some protection on the ground
|
||||
when throttle zeroed (below min_check) and roll/pitch sticks centered. This is a basic protection to limit
|
||||
when throttle zeroed (below min\check) and roll/pitch sticks centered. This is a basic protection to limit
|
||||
motors spooling up on the ground. Also the Iterm will be reset above 70% of stick input in acro mode to prevent
|
||||
quick Iterm windups during finishes of rolls and flips, which will provide much cleaner and more natural stops
|
||||
of flips and rolls what again opens the ability to have higher I gains for some.
|
||||
Note that AIRMODE will also overrule motor stop function! It will basically also act as an idle up switch.
|
||||
|
||||
|
||||
## Auxillary Configuration
|
||||
## Auxiliary Configuration
|
||||
|
||||
Spare auxillary receiver channels can be used to enable/disable modes. Some modes can only be enabled this way.
|
||||
|
||||
|
@ -134,4 +120,3 @@ aux 0 0 0 1700 2100
|
|||
```
|
||||
|
||||
You can display the AUX configuration by using the `aux` command with no arguments.
|
||||
|
||||
|
|
65
docs/Release Notes/Betaflight 3.4 Release Notes.md
Normal file
|
@ -0,0 +1,65 @@
|
|||
## Betaflight 3.4 Release Notes
|
||||
|
||||
**Version 3.4.0: The best Betaflight ever!**
|
||||
|
||||
We recognise that most of our users just want to two things with new firmware: Install it, and then go fly it. That's why we have spent a lot of time on working out default settings that fly great on most quads. Just install it and try for yourself! To make your craft fly even better, we've added a brand-new, experimental mode to improve the response to stick input by filtering it instead of interpolating. For more info on setting up 3.4 to optimise flight performance, read [these notes](https://github.com/betaflight/betaflight/wiki/Tuning-Tips-for-Betaflight-3.4).
|
||||
|
||||
We've also put a lot of effort into optimising the performance of the firmware, especially for boards with an F7 MCU. Now you can go and buy that shiny new F7 board, while your friends still struggle with their boards with F3 and F4. :wink:
|
||||
|
||||
For pilots who are into long range flying, we have added the brand new ['GPS Rescue' mode](https://github.com/betaflight/betaflight/wiki/GPS-rescue-mode). It is a simplified version of the 'return to home' mode that exists in other, more navigation oriented firmware, and the great news is that all it needs to work is a GPS, no fiddling to make a compass work required!
|
||||
|
||||
Last but not least, we've also added a bunch of new features to improve the convenience of using Betaflight: You can now copy / paste your logs from an SD card or the on board flash chip by [mounting the flight controller as a storage device](https://github.com/betaflight/betaflight/wiki/Mass-Storage-Device-(MSC)-Support), and you can use your flight controller / TX to [emulate a joystick](https://github.com/betaflight/betaflight/wiki/HID-Joystick-Support) with no extra hardware needed, in order to fly on a simulator.
|
||||
|
||||
If you are upgrading from an earlier version of Betaflight, please read the following section containing a list of things that you might have to change in your configuration.
|
||||
|
||||
We have tried to make this release as bug free as possible. If you still find a **bug**, please report it back to us by opening an **issue [here](https://github.com/betaflight/betaflight/issues)**.
|
||||
|
||||
Happy Props!
|
||||
|
||||
|
||||
## Important information when upgrading
|
||||
|
||||
- A number of changes and improvements in this release require changes to the Betaflight configurator. These changes have been added to Betaflight configurator 10.3.1 (installation instructions [here](https://github.com/betaflight/betaflight-configurator#installation)). Please update your Betaflight configurator to version 10.3.1. If you are using the Blackbox Log Viewer, there is an updated version 3.1.0 to go with Betaflight 3.4 (installation instructions [here](https://github.com/betaflight/blackbox-log-viewer#installation));
|
||||
- as part of the overhaul of the various filter stages, and improvements to the PID loop, the default settings have been re-evaluated and updated. The new default values are designed to make optimal use of the new filtering and improved PID loop, and be flyable with (almost) any hardware. Even if your current set up is working ok, it is probably worthwhile to try and only restore the non-filtering / PID loop settings, and have a go with the new default values (store your old `diff` in a safe place, just in case you don't like the new values :wink:). ([#6036](https://github.com/betaflight/betaflight/pull/6036));
|
||||
- also as part of the filtering overhaul, the names of the debug modes available to log filtering / tuning data have been improved `NOTCH` (gyro data after scaling, before filtering) is now `GYRO_SCALED`, `GYRO` (gyro data after all filtering has been applied) is now `GYRO_FILTERED` ([#6059](https://github.com/betaflight/betaflight/pull/6059));
|
||||
- the upper limit of `dterm_setpoint_weight` has been increased to 2000 (corresponding to a value of 20 for 'D Setpoint Weight' in Betaflight configurator). This means that pilots wanting a more 'locked in' stick feeling can increase this value beyond the previous maximum of 254. At the same time, an undocumented scaling change was reverted, and the scale is now again how it is described in the Betaflight configurator. If you are using a custom setting for `dterm_setpoint_weight`, divide your value by 1.27 to get the new value that will give you the same feeling as between 3.1.6 and 3.4.0 ([#5945](https://github.com/betaflight/betaflight/pull/5945), [#6052](https://github.com/betaflight/betaflight/pull/6052));
|
||||
- Dshot beacon configuraton has been changed. Now the `beacon` CLI command can be used analogous to how the `beeper` command is used. This allows for the Dshot beacon to be disabled individually for the conditions that are supported by it (`RX_SET` and `RX_LOST` at the moment). The old way of disabling the Dshot beacon by setting `beeper_dshot_beacon_tone` to `0` is no longer supported. The Dshot beacon is disabled for all conditions by default, if you want to enable it, use `beacon <condition name|ALL>` in CLI ([#5891](https://github.com/betaflight/betaflight/pull/5891), [#6070](https://github.com/betaflight/betaflight/pull/6070));
|
||||
- in previous versions of the firmware, there was a race condition that could cause Dshot commands (e.g. activation of crash flip) to be ignored by the ESC when the Dshot beacon was active. To prevent this, a timeout has been added to the Dshot beacon that prevents arming for 1.2 seconds after the Dshot beacon was active ([#6079](https://github.com/betaflight/betaflight/pull/6079));
|
||||
- validation has been added for the RSSI configuration. Unlike in previous versions, it is no longer possible to have multiple sources for RSSI configured simultaneously, since only one can be active at any one time. If you have got more than one of the supported RSSI sources (frame error count / ADC / RX channel) configured, all but the first on this list will be disabled ([#5644](https://github.com/betaflight/betaflight/pull/5644));
|
||||
- scaling has been added to all RSSI sources. If the RSSI mechanism that you are using does not give you the output range that you want for RSSI, you can now use the `rssi_scale` / `rssi_offset` CLI variables to set the scale and offset for RSSI ([#6001](https://github.com/betaflight/betaflight/pull/6001), [#6032](https://github.com/betaflight/betaflight/pull/6032));
|
||||
- the functionality of the crash flip mode has been improved: In addition to the existing front / back / left / right spinning of 2 propellers, it now supports spinning only 1 propeller (by moving the roll / pitch stick diagonally), and spinning 2 props that are diagonally opposite (by moving yaw), in order to yaw the overturned craft. The largest stick deflection in any of these directions determines which properllers are spun ([#5163](https://github.com/betaflight/betaflight/pull/5163));
|
||||
- the setting `moron_threshold` for the acceptable noise limit during gyro calibration was renamed to `gyro_calib_noise_limit`. Additionally, a new setting `gyro_calib_duration` was added. This allows users to configure a longer minimum gyro calibration duration (in 1/10ths of seconds, default: 125). Using a larger setting here will result in reduced gyro drift, which is helpful when flying line of sight ([#5932](https://github.com/betaflight/betaflight/pull/5932));
|
||||
- unfortunately bugfixes and improvements in the flight controller core functionality have led to an increase of the firmware size, causing it to overflow the available space on a number of F3 based flight controllers. As a result, some features have had to be removed from a number of F3 based flight controllers in order to make the firmware fit into flash. The following targets are affected: BETAFLIGHTF3, COLIBRI\_RACE, FRSKYF3, FURYF3OSD, LUX\_RACE, MIDELICF3, OMNIBUS, RCEXPLORERF3, RG\_SSD\_F3, SPRACINGF3EVO, SPRACINGF3NEO;
|
||||
- the OSD elements `osd_crosshairs` (crosshairs) and `osd_ah_sbar` (artificial horizon sidebar) have been renamed in CLI to `osd_crosshairs_pos` and `osd_ah_sbar_pos` to make them consistent with the naming of OSD elements. If you are using these elements, please manually change the names in your backup before restoring ([#5534](https://github.com/betaflight/betaflight/pull/5534));
|
||||
- the range of the `vtx_band` parameter in CLI was extended to start at 0 instead of 1. Setting `vtx_band = 0` allows users of VTX using the SmartPort or Tramp protocols to set the desired frequency directly via the `vtx_freq` parameter. Since direct frequency setting is not supported by the RTC6705 (onboard) VTX driver `vtx_band = 0` does not work for these VTX, and should not be used ([#5465](https://github.com/betaflight/betaflight/pull/5465)).
|
||||
|
||||
|
||||
## Major features:
|
||||
|
||||
- Overhauled and improved filtering ([#5391](https://github.com/betaflight/betaflight/pull/5391), [#5458](https://github.com/betaflight/betaflight/pull/5458));
|
||||
- Optimised and massively improved the performance on F7 ([#5674](https://github.com/betaflight/betaflight/pull/5674));
|
||||
- Added GPS rescue mode ([#5753](https://github.com/betaflight/betaflight/pull/5753), [#5764](https://github.com/betaflight/betaflight/pull/5764));
|
||||
- Added support for accessing SD card / onboard flash as USB mass storage device (MSC) ([#5443](https://github.com/betaflight/betaflight/pull/5443), [#5629](https://github.com/betaflight/betaflight/pull/5629), [#5650](https://github.com/betaflight/betaflight/pull/5650));
|
||||
- Added support for reading RC input as USB joystick (HID) ([#5478](https://github.com/betaflight/betaflight/pull/5478), [#5596](https://github.com/betaflight/betaflight/pull/5596));
|
||||
- Added support for CMS configuration over CRSF ([#5743](https://github.com/betaflight/betaflight/pull/5743));
|
||||
- Added support for experimental filter based RC channel smoothing ([#6017](https://github.com/betaflight/betaflight/pull/6017)).
|
||||
|
||||
|
||||
## Minor features:
|
||||
|
||||
- Added acro trainer mode ([#5970](https://github.com/betaflight/betaflight/pull/5970));
|
||||
- Added throttle boost mode ([#5508](https://github.com/betaflight/betaflight/pull/5508));
|
||||
- Added support for throttle limiting ([#5608](https://github.com/betaflight/betaflight/pull/5608));
|
||||
- Added PID loop improvements ([#5968](https://github.com/betaflight/betaflight/pull/5968), [#5963](https://github.com/betaflight/betaflight/pull/5963), [#5962](https://github.com/betaflight/betaflight/pull/5962));
|
||||
- Added support for accelerated [yaw spin recovery](https://github.com/betaflight/betaflight/wiki/Yaw-Spin-Recovery-and-Gyro-Overflow-Detect) ([#5706](https://github.com/betaflight/betaflight/pull/5706));
|
||||
- Added support for direct adjustment of PID values through an RC channel ([#5584](https://github.com/betaflight/betaflight/pull/5584));
|
||||
- Added support for multiple overclocking speeds ([#5193](https://github.com/betaflight/betaflight/pull/5193));
|
||||
- Added MCU temperature monitoring ([#5322](https://github.com/betaflight/betaflight/pull/5322));
|
||||
- Added paralyse mode ([#5851](https://github.com/betaflight/betaflight/pull/5851));
|
||||
- Added support for QMC5883L compass ([#5309](https://github.com/betaflight/betaflight/pull/5309));
|
||||
- Added support for W25M flash chips ([#5722](https://github.com/betaflight/betaflight/pull/5722)).
|
||||
|
||||
|
||||
## New targets:
|
||||
|
||||
- Added SPRACINGF7DUAL with dual gyro support ([#5264](https://github.com/betaflight/betaflight/pull/5264)).
|
35
docs/Release Notes/Betaflight 3.5 Release Notes.md
Normal file
|
@ -0,0 +1,35 @@
|
|||
## Betaflight 3.5 Release Notes
|
||||
|
||||
**Wait, there is one more thing we can do to make it better!**
|
||||
|
||||
This is what we realised about two months ago, as we were preparing for the release of Betaflight 3.4.0. And this is what led to the 'Feed Forward PID controller' being born. But when we came up with it it was already too late to add it to 3.4.0, and it needed some more refinement before it was ready to go out anyway. So we decided to do Betaflight 3.5.0, a release that focuses on more flight improvements. We put the Feed Forward PID controller into it, we have made the dynamic notch filter a whole lot more awesome, and we made improvements to how anti gravity works. Man, all of these improvements show when you fly it!
|
||||
|
||||
To get the best out of the flight performance improvements, please read these [tuning tips](https://github.com/betaflight/betaflight/wiki/3.5-tuning-notes).
|
||||
|
||||
If you are upgrading from an earlier version of Betaflight, please read the following section containing a list of things that you might have to change in your configuration.
|
||||
|
||||
We have tried to make this release as bug free as possible. If you still find a **bug**, please report it back to us by opening an **issue [here](https://github.com/betaflight/betaflight/issues)**.
|
||||
|
||||
We also have a Facebook Group: If you want to talk about Betaflight, ask configuration questions, or just hang out with fellow pilots, you can do this [here](https://www.facebook.com/groups/betaflightgroup/).
|
||||
|
||||
Happy Props!
|
||||
|
||||
|
||||
## Important information when upgrading
|
||||
|
||||
- A number of changes and improvements in this release require changes to the Betaflight configurator. These changes have been added to [Betaflight configurator 10.4.0](https://github.com/betaflight/betaflight-configurator/releases/tag/10.4.0)(installation instructions [here](https://github.com/betaflight/betaflight-configurator#installation)), please update your Betaflight configurator to at least this version;
|
||||
- if you are using the Blackbox Log Viewer, there is an updated [version 3.2.0](https://github.com/betaflight/blackbox-log-viewer/releases/tag/3.2.0) to go with Betaflight 3.5 (installation instructions [here](https://github.com/betaflight/blackbox-log-viewer#installation)). Please update to at least version 3.2.0;
|
||||
- a new 'Feed Forward PID' algorithm has been implemented, replacing setpoint weight ([#6355](https://github.com/betaflight/betaflight/pull/6355)). In addition to this, the dynamic notch filter ([#6411](https://github.com/betaflight/betaflight/pull/6411)) and anti-gravity ([#6220](https://github.com/betaflight/betaflight/pull/6220)) have been optimised for improved flight performance. For all of these changes, default values have been chosen that should result in good flight characteristics for most setups. It is recommended to start testing with default settings, incorporating tuned settings from previous versions if needed, where needed. For more in-depth instructions for tuning Betaflight 3.5, please consult [these notes](https://github.com/betaflight/betaflight/wiki/3.5-tuning-notes).
|
||||
- unfortunately, bugfixes in the flight controller core functionality have led to an increase of the firmware size, causing it to overflow the available space on a number of F3 based flight controllers. As a result, some features have had to be removed from a number of F3 based flight controllers in order to make the firmware fit into flash. The following targets are affected: CRAZYBEEF3FR, CRAZYBEEF3FS, FRSKYF3, FURYF3, FURYF3OSD, OMNIBUS, SPRACINGF3, SPRACINGF3EVO, SPRACINGF3MINI, SPRACINGF3NEO ([#6497](https://github.com/betaflight/betaflight/pull/6497), [#6501](https://github.com/betaflight/betaflight/pull/6501))
|
||||
|
||||
|
||||
## Major features:
|
||||
|
||||
- Added support for feed forward to the PID controller ([#6355](https://github.com/betaflight/betaflight/pull/6355)).
|
||||
- Improved the performance of the dynamic notch filter ([#6411](https://github.com/betaflight/betaflight/pull/6411)).
|
||||
|
||||
## Minor features:
|
||||
|
||||
- Improved the performance of anti-gravity ([#6220](https://github.com/betaflight/betaflight/pull/6220));
|
||||
- Added support for linking of modes ([#6335](https://github.com/betaflight/betaflight/pull/6335));
|
||||
- Added support for dynamic filter in dual gyro mode ([#6428](https://github.com/betaflight/betaflight/pull/6428)).
|
|
@ -167,6 +167,8 @@ Use a diode with cathode to receiver serial rx output (for example 1N4148),
|
|||
the anode is connected to the FC serial _TX_ pin, and also via a
|
||||
resistor (10KOhm) to the receiver ibus sensor port.
|
||||
|
||||
Note (2018-07-27): In some cases, the value of the series resistor may be too large, and going down to 1K[ohm] may provide a good result.
|
||||
|
||||
Enable with cli:
|
||||
```
|
||||
serial 1 1088 115200 57600 115200 115200
|
||||
|
|
|
@ -107,7 +107,10 @@ Use the latest Graupner firmware for your transmitter and receiver.
|
|||
|
||||
Older HoTT transmitters required the EAM and GPS modules to be enabled in the telemetry menu of the transmitter. (e.g. on MX-20)
|
||||
|
||||
Serial ports use two wires but HoTT uses a single wire so some electronics are required so that the signals don't get mixed up. The TX and RX pins of
|
||||
You can connect HoTT-Telemetry in two ways:
|
||||
|
||||
#### Old way:
|
||||
Serial ports use two wires but HoTT uses a single wire so some electronics are required so that the signals don't get mixed up. The TX and RX pins of
|
||||
a serial port should be connected using a diode and a single wire to the `T` port on a HoTT receiver.
|
||||
|
||||
Connect as follows:
|
||||
|
@ -123,6 +126,11 @@ The diode should be arranged to allow the data signals to flow the right way
|
|||
|
||||
1N4148 diodes have been tested and work with the GR-24.
|
||||
|
||||
When using the diode disable `tlm_halfduplex`, go to CLI and type `set tlm_halfduplex = OFF`, don't forget a `save` afterwards.
|
||||
|
||||
#### New way:
|
||||
You can use a single connection, connect HoTT RX/TX only to serial TX, leave serial RX open and make sure `tlm_halfduplex` is ON.
|
||||
|
||||
As noticed by Skrebber the GR-12 (and probably GR-16/24, too) are based on a PIC 24FJ64GA-002, which has 5V tolerant digital pins.
|
||||
|
||||
Note: The SoftSerial ports may not be 5V tolerant on your board. Verify if you require a 5v/3.3v level shifters.
|
||||
|
|
|
@ -2,47 +2,47 @@
|
|||
|
||||
- To get optimal support for configuration and tuning of the firmware, please use the latest version of the Betaflight configurator (10.2.0 at the time of this release), available [here](https://github.com/betaflight/betaflight-configurator/releases);
|
||||
- If you are using OpenTX and the Betaflight lua scripts, please also make sure to use the latest version of these, available [here](https://github.com/betaflight/betaflight-tx-lua-scripts/releases);
|
||||
- This release is introducing Runaway Takeoff Prevention (#4935). This feature will prevent uncontrollable acceleration ('tasmanian devil') when the craft is armed with misconfigured motor outputs or props on the wrong way, by disarming the craft if such a configuration is detected. It will also cause disarms when throttling up quickly on the bench with props off. If you get unwanted disarms right after arming, use the parameters (`runaway_takeoff_deactivate_delay`, `runaway_takeoff_deactivate_throttle_percent`) to tune the function to work for you, and please report back your working configuration. See the [wiki article](https://github.com/betaflight/betaflight/wiki/Runaway-Takeoff-Prevention) for details.
|
||||
- This release is introducing Runaway Takeoff Prevention [#4935](https://github.com/betaflight/betaflight/pull/4935). This feature will prevent uncontrollable acceleration ('tasmanian devil') when the craft is armed with misconfigured motor outputs or props on the wrong way, by disarming the craft if such a configuration is detected. It will also cause disarms when throttling up quickly on the bench with props off. If you get unwanted disarms right after arming, use the parameters (`runaway_takeoff_deactivate_delay`, `runaway_takeoff_deactivate_throttle_percent`) to tune the function to work for you, and please report back your working configuration. See the [wiki article](https://github.com/betaflight/betaflight/wiki/Runaway-Takeoff-Prevention) for details.
|
||||
- The orientation of the AK8963 magnetometer has been changed, to make it match the orientation it has when it comes integrated in the MPU9250 gyro / accelerometer / magnetometer chip. If you are using an external AK8963 magnetometer, check your orientation to make sure it is still correct. If not, use the `align_mag` to configure the correct orientation;
|
||||
- More possible reasons for arming to be disabled have been added. Because of this, and because counting the 'arming disabled' beep indications was becoming difficult, the method of how the arming disabled reason is indicated has been changed. See the [wiki article](https://github.com/betaflight/betaflight/wiki/Arming-Sequence-&-Safety#arming-prevention) for details.
|
||||
- Arming is now disabled when the flight controller is connected to the Betaflight configurator. This was added in order to keep users from accidentally arming their craft when testing their RX / mode switches with a battery connected. In order to enable arming for bench testing, go to the 'Motors' tab and enable the 'Motor test mode' switch (**REMOVE ALL PROPELLERS FIRST**);
|
||||
- The parameter `sbus_inversion` has been changed into `serialrx_inverted`, and the way it is applied has been changed as follows: It now applies to all RX protocols, not just SBus, and instead of switching the UART to normal when off and inverted when on, 'off' now means that the port is set to whatever the default is for the selected protocol (i.e. inverted for SBus, not inverted for SUMD), and 'on' means that the port is inverted from default (i.e. not inverted for SBus, inverted for SUMD);
|
||||
- The way that rates are configured has been changed (#4973). Betaflight now supports independent rates settings for roll / pitch / yaw. When updating from an older version of the firmware, make sure to convert your settings to the new parameters as follows: `rc_rate` becomes `roll_rc_rate` and `pitch_rc_rate`, `rc_rate_yaw` becomes `yaw_rc_rate`, `rc_expo` becomes `roll_expo` and `pitch_expo`, and `rc_expo_yaw` becomes `yaw_expo`. The same change also makes 'RaceFlight' type rate settings available. Set `rates_type = raceflight`. After this, 'rc_rate_<axis>' is RaceFlight 'rate' (scaled down by a factor of 10), `<axis>_expo` is RaceFlight 'expo', and `<axis>_srate` is RaceFlight 'acro+';
|
||||
- The `DISABLE 3D` mode is now called `DISABLE / SWITCH 3D` (#5179). In default configuration it works in the same way it used to work before. With `3d_switched_mode = on`, 'switched 3d mode' is enabled: With the 3D switch on, the throttle goes from forward thrust idle (min) to forward thrust full (max), which is the same as with `3d_switched_mode = off`. With the 3D switch off, the throttle goes from reversed thrust idle (min) to reversed thrust full (max). This allows the pilot to fly 3d by using the full throttle range in normal / reversed position, by switching motor directions with the switch when flipping over;
|
||||
- The way that rates are configured has been changed [#4973](https://github.com/betaflight/betaflight/pull/4973). Betaflight now supports independent rates settings for roll / pitch / yaw. When updating from an older version of the firmware, make sure to convert your settings to the new parameters as follows: `rc_rate` becomes `roll_rc_rate` and `pitch_rc_rate`, `rc_rate_yaw` becomes `yaw_rc_rate`, `rc_expo` becomes `roll_expo` and `pitch_expo`, and `rc_expo_yaw` becomes `yaw_expo`. The same change also makes 'RaceFlight' type rate settings available. Set `rates_type = raceflight`. After this, 'rc_rate_<axis>' is RaceFlight 'rate' (scaled down by a factor of 10), `<axis>_expo` is RaceFlight 'expo', and `<axis>_srate` is RaceFlight 'acro+';
|
||||
- The `DISABLE 3D` mode is now called `DISABLE / SWITCH 3D` [#5179](https://github.com/betaflight/betaflight/pull/5179). In default configuration it works in the same way it used to work before. With `3d_switched_mode = on`, 'switched 3d mode' is enabled: With the 3D switch on, the throttle goes from forward thrust idle (min) to forward thrust full (max), which is the same as with `3d_switched_mode = off`. With the 3D switch off, the throttle goes from reversed thrust idle (min) to reversed thrust full (max). This allows the pilot to fly 3d by using the full throttle range in normal / reversed position, by switching motor directions with the switch when flipping over;
|
||||
- The `disarm_kill_switch` function that allowed (switch) disarming to be set up to be only possible on low throttle has been removed. There is no use case that requires it, and having it enabled introduces the safety risk of not being able to reliably disarm in an emergency;
|
||||
- The SmartAudio protocol implementation has been updated to be fully compliant with the SmartAudio specification. First generation AKK / RDQ VTX devices have a bug in their SmartAudio protocol implementation, causing them to fail to work with the SmartAudio protocol as implemented by Betaflight 3.3 (and KISS / RaceFlight). In order to not leave the owners of these VTX devices stranded, a branch off the Betaflight 3.3 maintenance branch has been created with a fix for these devices in it. This branch will be updated for all 3.3 patch releases. If you own one of these first generation AKK / RDQ VTX devices and are affected by this bug, please go to [this website](https://ci.betaflight.tech/job/Betaflight%20Maintenance%203.3%20%28AKK%20-%20RDQ%20VTX%20Patch%29/lastSuccessfulBuild/artifact/obj/) to download a Betaflight 3.3 version that works with your VTX device. (Go back to this page to download the latest version whenever a new version of Betaflight 3.3 has been released.)
|
||||
|
||||
## Major features:
|
||||
|
||||
- Added support for the FrSky FPort protocol (#4158);
|
||||
- Added Spektrum VTX control (#4434);
|
||||
- Added CMS configuration over Spektrum telemetry (#4545);
|
||||
- Added FrSky X SPI RX protocol (#4683);
|
||||
- Added fast Biquad RC+FIR2 filter (optimised version of Kalman gyro filter in #4890) (#4965);
|
||||
- Added Runaway Takeoff Prevention (anti-taz) (#4935).
|
||||
- Added support for the FrSky FPort protocol [#4158](https://github.com/betaflight/betaflight/pull/4158);
|
||||
- Added Spektrum VTX control [#4434](https://github.com/betaflight/betaflight/pull/4434);
|
||||
- Added CMS configuration over Spektrum telemetry [#4545](https://github.com/betaflight/betaflight/pull/4545);
|
||||
- Added FrSky X SPI RX protocol [#4683](https://github.com/betaflight/betaflight/pull/4683);
|
||||
- Added fast Biquad RC+FIR2 filter (optimised version of Kalman gyro filter in #4890) [#4965](https://github.com/betaflight/betaflight/pull/4965);
|
||||
- Added Runaway Takeoff Prevention (anti-taz) [#4935](https://github.com/betaflight/betaflight/pull/4935).
|
||||
|
||||
|
||||
## Minor features:
|
||||
|
||||
- Added CMS power menu (#3724);
|
||||
- Added support for FlySky SPI receiver (#4060);
|
||||
- Added use TIM_UP and DMAR for all timer channels with Dshot (#4073, #4843, #4852);
|
||||
- Added '3D on a switch' mode (#4227);
|
||||
- Added Dshot beacon activation to BEEPER_RX_LOST_LANDING (#4231);
|
||||
- Added generic RunCam device protocol support (#4251), see the [wiki article](https://github.com/betaflight/betaflight/wiki/RunCam-Device-Protocol) for details;
|
||||
- Added a reasonable default OSD layout (#4260);
|
||||
- Added handling and display of date and time (#4289);
|
||||
- Added MSP command to disable arming (#4320);
|
||||
- Added support for Spektrum real RSSI from SRXL Rx and fake RSSI from both int and ext bound satellites (#4347);
|
||||
- Changed after flight OSD statistics screen to only show when enabled (#4428);
|
||||
- Added remaining time estimate based on flight used mAh rate to OSD (#4487, #4543, #4618);
|
||||
- Added setting of RSSI value with MSP (#4507);
|
||||
- Improved SmartAudio update frequency (make it QuietAudio) (#4532);
|
||||
- Updated PID calculations to use actual deltaT (#4556);
|
||||
- Added AND logic to modes (#4722);
|
||||
- Add TCM support to F7 (#4757);
|
||||
- Added Benewake TFmini/TF02 rangefinder support (#4793);
|
||||
- Added selectable RaceFlight rates (#4973);
|
||||
- Added KN (NRF24) SPI RX protocol (#4994);
|
||||
- Added Spektrum VTX status via telemtry (#5081);
|
||||
- Added PINIOBOX BOX to PINIO general purpose pin output mapper (#5110).
|
||||
- Added CMS power menu [#3724](https://github.com/betaflight/betaflight/pull/3724);
|
||||
- Added support for FlySky SPI receiver [#4060](https://github.com/betaflight/betaflight/pull/4060);
|
||||
- Added use TIM_UP and DMAR for all timer channels with Dshot ([#4073](https://github.com/betaflight/betaflight/pull/4073), [#4843](https://github.com/betaflight/betaflight/pull/4843), [#4852](https://github.com/betaflight/betaflight/pull/4852));
|
||||
- Added '3D on a switch' mode [#4227](https://github.com/betaflight/betaflight/pull/4227);
|
||||
- Added Dshot beacon activation to BEEPER_RX_LOST_LANDING [#4231](https://github.com/betaflight/betaflight/pull/4231);
|
||||
- Added generic RunCam device protocol support [#4251](https://github.com/betaflight/betaflight/pull/4251), see the [wiki article](https://github.com/betaflight/betaflight/wiki/RunCam-Device-Protocol) for details;
|
||||
- Added a reasonable default OSD layout [#4260](https://github.com/betaflight/betaflight/pull/4260);
|
||||
- Added handling and display of date and time [#4289](https://github.com/betaflight/betaflight/pull/4289);
|
||||
- Added MSP command to disable arming [#4320](https://github.com/betaflight/betaflight/pull/4320);
|
||||
- Added support for Spektrum real RSSI from SRXL Rx and fake RSSI from both int and ext bound satellites [#4347](https://github.com/betaflight/betaflight/pull/4347);
|
||||
- Changed after flight OSD statistics screen to only show when enabled [#4428](https://github.com/betaflight/betaflight/pull/4428);
|
||||
- Added remaining time estimate based on flight used mAh rate to OSD ([#4487](https://github.com/betaflight/betaflight/pull/4487), [#4543](https://github.com/betaflight/betaflight/pull/4543), [#4618](https://github.com/betaflight/betaflight/pull/4618));
|
||||
- Added setting of RSSI value with MSP [#4507](https://github.com/betaflight/betaflight/pull/4507);
|
||||
- Improved SmartAudio update frequency (make it QuietAudio) [#4532](https://github.com/betaflight/betaflight/pull/4532);
|
||||
- Updated PID calculations to use actual deltaT [#4556](https://github.com/betaflight/betaflight/pull/4556);
|
||||
- Added AND logic to modes [#4722](https://github.com/betaflight/betaflight/pull/4722);
|
||||
- Add TCM support to F7 [#4757](https://github.com/betaflight/betaflight/pull/4757);
|
||||
- Added Benewake TFmini/TF02 rangefinder support [#4793](https://github.com/betaflight/betaflight/pull/4793);
|
||||
- Added selectable RaceFlight rates [#4973](https://github.com/betaflight/betaflight/pull/4973);
|
||||
- Added KN (NRF24) SPI RX protocol [#4994](https://github.com/betaflight/betaflight/pull/4994);
|
||||
- Added Spektrum VTX status via telemtry [#5081](https://github.com/betaflight/betaflight/pull/5081);
|
||||
- Added PINIOBOX BOX to PINIO general purpose pin output mapper [#5110](https://github.com/betaflight/betaflight/pull/5110).
|
||||
|
|
|
@ -44,5 +44,5 @@ Andrey Mironov (@DieHertz)
|
|||
## FAQ & Known Issues
|
||||
* First revision has no diode protecting the 5V input on the 11-pin ESC connector, make sure to pull the 5V wire coming from our ESC in order to avoid two regulators fighting against each other
|
||||
* First revision has RX4 (ESC Telemetry) and GND pad silkscreen swapped near motor outputs
|
||||

|
||||

|
||||

|
||||

|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
# CrazyBee F3 FR
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
## Description
|
||||
CrazyBee F3 flight controller is a Highly integrated board for 1S Whoop brushless racing drone.
|
||||
It might be the world first Tiny whoop size brushless flight controller which integrated Receiver/4in1 ESC/OSD/Current Meter.
|
||||
|
||||
## MCU, Sensors and Features
|
||||
|
||||
### Hardware and Features
|
||||
|
@ -23,11 +25,8 @@ It might be the world first Tiny whoop size brushless flight controller which in
|
|||
- Beeper output: 2-pin, soldering pad
|
||||
- 4 Rx Indicating LEDs: 2 x red and 2 x white
|
||||
|
||||
|
||||
|
||||
## Resource mapping
|
||||
|
||||
|
||||
| Label | Pin | Timer | DMA | Default | Note |
|
||||
|----------------------------|------|-------|-----|-------------|----------------------------------|
|
||||
| MPU6000_INT_EXTI | PC13 | | | | |
|
||||
|
@ -63,12 +62,26 @@ https://www.banggood.com/Racerstar-Crazybee-F3-Flight-Controller-4-IN-1-5A-1S-Bl
|
|||
|
||||
## Designers
|
||||
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
|
||||
## FAQ & Known Issues
|
||||
|
||||
- The board specifications claim DSHOT600-ready, but due to the use of a type L (BB1 24MHz) ESC, only DSHOT300 is reliably supported, although DSHOT600 seems to be working for quite a few people. But just how clean that ESC control signal is when using DSHOT600, is untested. For a discussion on this, see https://www.rcgroups.com/forums/showthread.php?3036325-Racerstar-Crazybee-F3-Ultimate-Micro-AIO-FC%21-1S-5A-BlheliS-Frsky-Flysky-OSD/page3 .
|
||||
- The factory default GYRO / PID config is 8KHz / 2KHz . There are reports that this may lead to possible instability and 4KHz / 4KHz is recommended.
|
||||
|
||||
Specific information for the factory supplied Betaflight 3.3.0 version:
|
||||
|
||||
- The DSHOT beeper function does not work.
|
||||
- When turtle mode ("Flip over after Crash") is activated, the FC will only arm if the failsafe timeout is 1s (10 * 0.1s) or more. If the timeout is set lower than that, you may see the motors shortly try to spin up and then stop, and then the quad will not be armed. Rumour has it that this is fixed in BF 3.4 .
|
||||
|
||||
FRSKY Version:
|
||||
- To bind to your Taranis, you need to be running the non-eu OpenTX version, which allows you to use the required D8 setting to bind to the RX. The factory default BF receiver mode is FRSKY_X, so remember to configure this if needed.
|
||||
- FrSky X (8 / 16 channels) and FrSky D (8 channels) work both reliably, including in combination with crash flip / Dshot beacon, as long as the TELEMETRY feature is disabled;
|
||||
Basic telemetry information like RSSI and battery voltage will be sent even when the TELEMETRY feature is disabled;
|
||||
- On FrSky D, the TELEMETRY feature causes occasional dropouts, depending on how many sensors (BARO, GPS, ...) are enabled, probably due to a timing overrun;
|
||||
- On FrSky X, the TELEMETRY feature causes hard lockups due to a bug in the telemetry generation code.
|
||||
|
||||
|
||||
## Other Resources
|
||||
User Manual: http://img.banggood.com/file/products/20180209021414Crazybeef3.pdf
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# CrazyBee F3 FS
|
||||

|
||||

|
||||

|
||||

|
||||
## Description
|
||||
CrazyBee F3 FS flight controller is a Highly integrated board for 1S Whoop brushless racing drone.
|
||||
It might be the world first Tiny whoop size brushless flight controller which integrated Receiver/4in1 ESC/OSD/Current Meter.
|
||||
|
@ -63,12 +63,11 @@ https://www.banggood.com/Racerstar-Crazybee-F3-Flight-Controller-4-IN-1-5A-1S-Bl
|
|||
|
||||
## Designers
|
||||
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
|
||||
## FAQ & Known Issues
|
||||
|
||||
See the same item for [CrazyBeeF3FR](Board%20-%20CrazyBeeF3FR.md#FAQ%20&%20Known%20ssues)
|
||||
|
||||
## Other Resources
|
||||
User Manual: http://img.banggood.com/file/products/20180225215703Crazybeef3flysky.pdf
|
113
docs/boards/Board - DALRCF722DUAL.md
Normal file
|
@ -0,0 +1,113 @@
|
|||
# Board - DALRCF722DUAL
|
||||
|
||||
The DALRCF722DUAL described here:
|
||||
|
||||
This board use the STM32F722RET6 microcontroller and have the following features:
|
||||
* High-performance and DSP with FPU, ARM Cortex-M7 MCU with 512 Kbytes Flash
|
||||
* 216 MHz CPU,462 DMIPS/2.14 DMIPS/MHz (Dhrystone 2.1) and DSP instructions, Art Accelerator, L1 cache, SDRAM
|
||||
* DUAL gyro MPU6000 and ICM20602,could choose mpu6000,more stable and smooth.Or choose ICM20602,higher rate(32K/32K).Choose on CLI mode,experience different feature gyro on same board
|
||||
* OSD on board
|
||||
* The 16M byte SPI flash on board for data logging
|
||||
* USB VCP and boot select button on board(for DFU)
|
||||
* Stable voltage regulation,DUAL BEC 5v/2.5A and 10v/2A for VTX/camera etc.And could select 5v/10v with pad
|
||||
* Serial LED interface(LED_STRIP)
|
||||
* VBAT/CURR/RSSI sensors input
|
||||
* Suppose IRC Tramp/smart audio/FPV Camera Control/FPORT/telemetry
|
||||
* Supports SBus(built-in inverters), Spektrum1024/2048, PPM
|
||||
* Supports I2C device extend(baro/compass/OLED etc)(socket)
|
||||
* Supports GPS (socket)
|
||||
|
||||
### All uarts have pad on board
|
||||
| Value | Identifier | RX | TX | Notes |
|
||||
| ----- | ------------ | -----| -----| ------------------------------------------------------------------------------------------- |
|
||||
| 1 | USART1 | PB7 | PB6 | PB7 FOR SBUS IN(inverter build in)/PPM |
|
||||
| 2 | USART2 | PA3 | PA2 | PAD USE FOR TRAMP/smart audio |
|
||||
| 3 | USART3 | PC11 | PC10| USE FOR GPS |
|
||||
| 4 | USART4 | PA1 | PA0 | PA0 FOR RSSI/FPORT/TEL etc |
|
||||
| 5 | USART5 | PD2 | PC12| PAD |
|
||||
|
||||
|
||||
### I2C with GPS port together.Use for BARO or compass etc
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | I2C1 | SDA | PB9 |
|
||||
| 2 | I2C1 | SCL | PB8 |
|
||||
|
||||
|
||||
### Buzzer/LED output
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | LED0 | LED | PC14 |On board
|
||||
| 2 | BEEPER | BEE | PC13 |Pad
|
||||
|
||||
|
||||
### VBAT input with 1/10 divider ratio,Current signal input,Analog/digit RSSI input
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ----------| ------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | ADC1 | VBAT | PC1 |
|
||||
| 2 | ADC1 | CURR | PC0 |
|
||||
| 3 | ADC1 | RSSI | PA0 |
|
||||
|
||||
|
||||
### 8 Outputs
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ----------| ------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | TIM4_CH2 | PPM | PB7 | PPM
|
||||
| 2 | TIM8_CH1 | OUPUT1 | PC6 | DMA
|
||||
| 3 | TIM8_CH2 | OUPUT2 | PC7 | DMA
|
||||
| 4 | TIM8_CH3 | OUPUT3 | PC8 | DMA
|
||||
| 5 | TIM8_CH4 | OUPUT4 | PC9 | DMA
|
||||
| 6 | TIM1_CH1 | OUPUT5 | PA8 | DMA
|
||||
| 7 | TIM1_CH2 | OUPUT6 | PA9 | DMA
|
||||
| 8 | TIM1_CH3 | OUPUT7 | PA10 | DMA NO PAD
|
||||
| 9 | TIM2_CH4 | OUPUT8 | PB11 | NO PAD
|
||||
| 10 | TIM2_CH1 | PWM | PA15 | DMA LED_STRIP
|
||||
| 11 | TIM3_CH4 | PWM | PB1 | FPV Camera Control(FCAM)
|
||||
|
||||
|
||||
### Gyro & ACC ,support ICM20602 and MPU6000
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | SPI1 | SCK | PA5 | MPU6000 & ICM20602
|
||||
| 2 | SPI1 | MISO | PA6 | MPU6000 & ICM20602
|
||||
| 3 | SPI1 | MOSI | PA7 | MPU6000 & ICM20602
|
||||
| 4 | SPI1 | CS1 | PB0 | MPU6000
|
||||
| 5 | SPI1 | CS2 | PA4 | ICM20602
|
||||
| 6 | SPI1 | INT1 | PB10 | MPU6000
|
||||
| 7 | SPI1 | INT2 | PC4 | ICM20602
|
||||
|
||||
### OSD MAX7456
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | SPI2 | SCK | PB13 |
|
||||
| 2 | SPI2 | MISO | PB14 |
|
||||
| 3 | SPI2 | MOSI | PB15 |
|
||||
| 4 | SPI2 | CS | PB12 |
|
||||
|
||||
### 16Mbyte flash
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | SPI3 | SCK | PB3 |
|
||||
| 2 | SPI3 | MISO | PB4 |
|
||||
| 3 | SPI3 | MOSI | PB4 |
|
||||
| 4 | SPI3 | CS | PB2 |
|
||||
|
||||
### SWD
|
||||
| Pin | Function | Notes |
|
||||
| --- | -------------- | -------------------------------------------- |
|
||||
| 1 | SWCLK | PAD |
|
||||
| 2 | Ground | PAD |
|
||||
| 3 | SWDIO | PAD |
|
||||
| 4 | 3V3 | PAD |
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
###Designers
|
||||
* ZhengNyway(nyway@vip.qq.com)
|
||||
|
||||
|
||||
|
||||
|
||||
|
101
docs/boards/Board - FLYWOOF405.md
Executable file
|
@ -0,0 +1,101 @@
|
|||
# Board - FLYWOOF405
|
||||
|
||||
This board use the STM32F405RGT6 microcontroller and have the following features:
|
||||
* 1024K bytes of flash memory,192K bytes RAM,168 MHz CPU/210 DMIPS
|
||||
|
||||
* The 16M byte SPI flash for data logging
|
||||
* USB VCP and boot select button on board(for DFU)
|
||||
* Stable voltage regulation,9V/1.5A DCDC BEC for VTX/camera etc.And could select 5v/9v with pad
|
||||
* Serial LED interface(LED_STRIP)
|
||||
* VBAT/CURR/RSSI sensors input
|
||||
* Suppose IRC Tramp/smart audio/FPV Camera Control/FPORT/telemetry
|
||||
* Supports SBus, Spektrum1024/2048, PPM. No external inverters required (built-in).
|
||||
* Supports I2C device extend(baro/compass/OLED etc)
|
||||
* Supports GPS
|
||||
|
||||
### All uarts have pad on board
|
||||
| Value | Identifier | RX | TX | Notes |
|
||||
| ----- | ------------ | -----| -----| ------------------------------------------------------------------------------------------- |
|
||||
| 1 | USART1 | PA10 | PB6 | USE smartport/FPORT/TEL etc |
|
||||
| 2 | USART3 | PB11 | PB10| FOR SBUS IN(inverter build in) |
|
||||
| 3 | USART4 | PA1 | PA0 | PAD USE FOR TRAMP/smart audio |
|
||||
| 4 | USART5 | PD2 | / | PAD ESC sensor |
|
||||
| 5 | USART6 | PC7 | PC6 | PAD USE FOR GPS/BLE etc |
|
||||
|
||||
|
||||
### I2C with GPS port together.Use for BARO or compass etc
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | I2C1 | SDA | PB9 | with GPS outlet
|
||||
| 2 | I2C1 | SCL | PB8 | with GPS outlet
|
||||
|
||||
|
||||
### Buzzer/LED output
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | LED0 | LED | PC14 |
|
||||
| 2 | BEEPER | BEE | PC13 |
|
||||
|
||||
|
||||
### VBAT input with 1/10 divider ratio,Current signal input,Analog/digit RSSI input
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ----------| ------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | ADC1 | VBAT | PC3 | DMA2_Stream0
|
||||
| 2 | ADC1 | CURR | PC2 | DMA2_Stream0
|
||||
| 3 | ADC1 | RSSI | PC1 | DMA2_Stream0
|
||||
|
||||
|
||||
### 8 Outputs, 1 PPM input
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ----------| ------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | TIM10_CH1 | PPM | PB7 | PPM
|
||||
| 2 | TIM3_CH3 | OUPUT1 | PB0 | DMA1_Stream7
|
||||
| 3 | TIM3_CH4 | OUPUT2 | PB1 | DMA1_Stream2
|
||||
| 4 | TIM2_CH4 | OUPUT3 | PA3 | DMA1_Stream6
|
||||
| 5 | TIM2_CH3 | OUPUT4 | PA2 | DMA1_Stream1
|
||||
| 6 | TIM3_CH2 | OUPUT5 | PB5 | DMA1_Stream5
|
||||
| 7 | TIM4_CH2 | OUPUT6 | PB7 | DMA1_Stream3
|
||||
| 8 | TIM8_CH4 | OUPUT7 | PC9 | DMA2_Stream7
|
||||
| 9 | TIM3_CH1 | OUPUT8 | PB4 | DMA1_Stream4
|
||||
| 10 | TIM8_CH3 | LED | PC8 | DMA2_Stream2 LED_STRIP
|
||||
| 11 | TIM1_CH2 | PWM | PA9 | FPV Camera Control(FCAM)
|
||||
|
||||
|
||||
### Gyro & ACC ICM20689
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | SPI1 | SCK | PA5 |
|
||||
| 2 | SPI1 | MISO | PA6 |
|
||||
| 3 | SPI1 | MOSI | PA7 |
|
||||
| 4 | SPI1 | CS | PC4 |
|
||||
|
||||
### OSD MAX7456
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | SPI3 | SCK | PC10 |
|
||||
| 2 | SPI3 | MISO | PC11 |
|
||||
| 3 | SPI3 | MOSI | PC12 |
|
||||
| 4 | SPI3 | CS | PB14 |
|
||||
|
||||
### 16Mbyte flash
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | SPI3 | SCK | PC10 |
|
||||
| 2 | SPI3 | MISO | PC11 |
|
||||
| 3 | SPI3 | MOSI | PC12 |
|
||||
| 4 | SPI3 | CS | PB3 |
|
||||
|
||||
### SWD
|
||||
| Pin | Function | Notes |
|
||||
| --- | -------------- | -------------------------------------------- |
|
||||
| 1 | SWCLK | PAD |
|
||||
| 2 | Ground | PAD |
|
||||
| 3 | SWDIO | PAD |
|
||||
| 4 | 3V3 | PAD |
|
||||
|
||||
* FLYWOO TECH
|
||||
|
||||
|
||||
|
||||
|
||||
|
103
docs/boards/Board - FOXEERF722DUAL.md
Normal file
|
@ -0,0 +1,103 @@
|
|||
# Board - FOXEERF722DUAL
|
||||
|
||||
The FOXEERF722DUAL described here:
|
||||
|
||||
This board use the STM32F722RET6 microcontroller and have the following features:
|
||||
* High-performance and DSP with FPU, ARM Cortex-M7 MCU with 512 Kbytes Flash
|
||||
* 216 MHz CPU,462 DMIPS/2.14 DMIPS/MHz (Dhrystone 2.1) and DSP instructions, Art Accelerator, L1 cache, SDRAM
|
||||
* DUAL gyro MPU6000 and ICM20602,could choose mpu6000,more stable and smooth.Or choose ICM20602,higher rate(32K/32K).Choose on CLI mode,experience different feature gyro on same board
|
||||
* OSD on board
|
||||
* The 16M byte SPI flash on board for data logging
|
||||
* USB VCP and boot select button on board(for DFU)
|
||||
* Stable voltage regulation,DUAL BEC 5v/2.5A and 9v/2A for VTX/camera etc.And could select 5v/9v with pad
|
||||
* Serial LED interface(LED_STRIP)
|
||||
* VBAT/CURR/RSSI sensors input
|
||||
* Suppose IRC Tramp/smart audio/FPV Camera Control/FPORT/telemetry
|
||||
* Supports SBus, Spektrum1024/2048, PPM
|
||||
* Supports I2C device extend(baro/compass/OLED etc)
|
||||
* Supports GPS
|
||||
|
||||
### All uarts have pad on board
|
||||
| Value | Identifier | RX | TX | Notes |
|
||||
| ----- | ------------ | -----| -----| ------------------------------------------------------------------------------------------- |
|
||||
| 1 | USART1 | PB7 | PB6 | PB7 FOR SBUS IN(inverter build in)/PPM |
|
||||
| 2 | USART2 | PA3 | PA2 | PAD USE FOR TRAMP/smart audio |
|
||||
| 3 | USART3 | PB11 | PB10| USE FOR GPS |
|
||||
| 4 | USART4 | PA1 | PA0 | PA0 FOR RSSI/FPORT/TEL etc |
|
||||
| 5 | USART5 | PD2 | PC12| PAD |
|
||||
|
||||
|
||||
### I2C with GPS port together.Use for BARO or compass etc
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | I2C1 | SDA | PB9 | outlet
|
||||
| 2 | I2C1 | SCL | PB8 | outlet
|
||||
|
||||
|
||||
### Buzzer/LED output
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | LED0 | LED | PC15 |On board
|
||||
| 2 | BEEPER | BEE | PA4 |Pad
|
||||
|
||||
|
||||
### VBAT input with 1/10 divider ratio,Current signal input,Analog/digit RSSI input
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ----------| ------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | ADC1 | VBAT | PC0 | On board
|
||||
| 2 | ADC1 | CURR | PC2 |
|
||||
| 3 | ADC1 | RSSI | PA0 |
|
||||
|
||||
|
||||
### 8 Outputs
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ----------| ------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | TIM4_CH2 | PPM | PB7 | PPM
|
||||
| 2 | TIM1_CH2 | OUPUT1 | PA9 | DMA
|
||||
| 3 | TIM1_CH1 | OUPUT2 | PA8 | DMA
|
||||
| 4 | TIM8_CH4 | OUPUT3 | PC9 | DMA
|
||||
| 5 | TIM8_CH3 | OUPUT4 | PC8 | DMA
|
||||
| 6 | TIM8_CH1 | OUPUT5 | PC6 | DMA
|
||||
| 7 | TIM8_CH2 | OUPUT6 | PC7 | DMA
|
||||
| 8 | TIM2_CH1 | PWM | PA15 | DMA LED_STRIP
|
||||
| 9 | TIM2_CH2 | PWM | PB3 | FPV Camera Control(FCAM)
|
||||
|
||||
|
||||
### Gyro & ACC ,support ICM20602 and MPU6000
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | SPI1 | SCK | PA5 | MPU6000 & ICM20602
|
||||
| 2 | SPI1 | MISO | PA6 | MPU6000 & ICM20602
|
||||
| 3 | SPI1 | MOSI | PA7 | MPU6000 & ICM20602
|
||||
| 4 | SPI1 | CS1 | PB2 | MPU6000
|
||||
| 5 | SPI1 | CS2 | PB1 | ICM20602
|
||||
| 6 | SPI1 | INT1 | PC4 | MPU6000
|
||||
| 7 | SPI1 | INT2 | PB0 | ICM20602
|
||||
|
||||
### OSD MAX7456
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | SPI3 | SCK | PC10 |
|
||||
| 2 | SPI3 | MISO | PC11 |
|
||||
| 3 | SPI3 | MOSI | PB5 |
|
||||
| 4 | SPI3 | CS | PC3 |
|
||||
|
||||
### 16Mbyte flash
|
||||
| Value | Identifier | function | pin | Notes |
|
||||
| ----- | ------------ | ---------| -------| ------------------------------------------------------------------------------------- |
|
||||
| 1 | SPI2 | SCK | PB13 |
|
||||
| 2 | SPI2 | MISO | PB14 |
|
||||
| 3 | SPI2 | MOSI | PB15 |
|
||||
| 4 | SPI2 | CS | PB12 |
|
||||
|
||||
### SWD
|
||||
| Pin | Function | Notes |
|
||||
| --- | -------------- | -------------------------------------------- |
|
||||
| 1 | SWCLK | PAD |
|
||||
| 2 | Ground | PAD |
|
||||
| 3 | SWDIO | PAD |
|
||||
| 4 | 3V3 | PAD |
|
||||
|
||||
|
||||
###Designers
|
||||
* NywayZheng(nyway@vip.qq.com)
|
122
docs/boards/Board - HAKRCF722.md
Executable file
|
@ -0,0 +1,122 @@
|
|||
# Board - HAKRCF722
|
||||
|
||||
|
||||
### Hardware and Features
|
||||
|
||||
- STM32CubeMX
|
||||
- MCU STM32F722RET6
|
||||
- IMU: MPU6000 (SPI)
|
||||
- VCP: yes
|
||||
- OSD: Betaflight OSD
|
||||
- Battery Voltage Sensor: yes
|
||||
- Stable voltage regulation,9V/2A DCDC BEC for VTX/camera etc.And could select 5v/9v with pad
|
||||
- Serial LED interface(LED_STRIP)
|
||||
- 5 UART
|
||||
- BARO: QMP6988/BMP280(I2C_1)
|
||||
- GPS
|
||||
-
|
||||
|
||||
|
||||
PERIPHERALS MODES FUNCTIONS PINS
|
||||
ADC1 IN10 ADC1_IN10 PC0
|
||||
ADC1 IN11 ADC1_IN11 PC1
|
||||
ADC1 IN12 ADC1_IN12 PC2
|
||||
I2C1 SMBus-two-wire-Interface I2C1_SCL PB8
|
||||
I2C1 SMBus-two-wire-Interface I2C1_SDA PB9
|
||||
RCC Crystal/Ceramic Resonator RCC_OSC_IN PH0-OSC_IN
|
||||
RCC Crystal/Ceramic Resonator RCC_OSC_OUT PH1-OSC_OUT
|
||||
SPI1 Full-Duplex Master SPI1_MISO PA6
|
||||
SPI1 Full-Duplex Master SPI1_MOSI PA7
|
||||
SPI1 Full-Duplex Master SPI1_SCK PB3
|
||||
SPI1 Hardware NSS Input Signal SPI1_NSS PA4
|
||||
SPI2 Full-Duplex Master SPI2_MISO PB14
|
||||
SPI2 Full-Duplex Master SPI2_MOSI PC3
|
||||
SPI2 Full-Duplex Master SPI2_SCK PB13
|
||||
SPI2 Hardware NSS Output Signal SPI2_NSS PB12
|
||||
SPI3 Full-Duplex Master SPI3_MISO PC11
|
||||
SPI3 Full-Duplex Master SPI3_MOSI PB5
|
||||
SPI3 Full-Duplex Master SPI3_SCK PC10
|
||||
SYS SysTick SYS_VS_Systick VP_SYS_VS_Systick
|
||||
TIM1 Output Compare CH1 TIM1_CH1 PA8
|
||||
TIM1 Output Compare CH3 TIM1_CH3 PA10
|
||||
TIM2 Output Compare CH1 TIM2_CH1 PA5
|
||||
TIM3 Output Compare CH2 TIM3_CH2 PC7
|
||||
TIM3 Output Compare CH3 TIM3_CH3 PB0
|
||||
TIM3 Output Compare CH4 TIM3_CH4 PB1
|
||||
TIM4 Output Compare CH1 TIM4_CH1 PB6
|
||||
TIM8 Output Compare CH1 TIM8_CH1 PC6
|
||||
TIM8 Output Compare CH3 TIM8_CH3 PC8
|
||||
TIM8 Output Compare CH4 TIM8_CH4 PC9
|
||||
TIM12 Input Capture direct mode TIM12_CH2 PB15
|
||||
UART4 Multiprocessor Communication UART4_RX PA1
|
||||
UART4 Multiprocessor Communication UART4_TX PA0-WKUP
|
||||
UART5 Multiprocessor Communication UART5_RX PD2
|
||||
UART5 Multiprocessor Communication UART5_TX PC12
|
||||
USART1 Multiprocessor Communication USART1_RX PB7
|
||||
USART1 Multiprocessor Communication USART1_TX PA9
|
||||
USART2 Multiprocessor Communication USART2_RX PA3
|
||||
USART2 Multiprocessor Communication USART2_TX PA2
|
||||
USART3 Multiprocessor Communication USART3_RX PB11
|
||||
USART3 Multiprocessor Communication USART3_TX PB10
|
||||
|
||||
|
||||
|
||||
Pin Nb PINs FUNCTIONs LABELs
|
||||
2 PC13-ANTI_TAMP GPIO_Output LED0
|
||||
3 PC14-OSC32_IN GPIO_Output Beep
|
||||
5 PH0-OSC_IN RCC_OSC_IN
|
||||
6 PH1-OSC_OUT RCC_OSC_OUT
|
||||
8 PC0 ADC1_IN10 RSSI
|
||||
9 PC1 ADC1_IN11 VBAT
|
||||
10 PC2 ADC1_IN12 CURR
|
||||
11 PC3 SPI2_MOSI
|
||||
14 PA0-WKUP UART4_TX extend/UART4_TX
|
||||
15 PA1 UART4_RX
|
||||
16 PA2 USART2_TX
|
||||
17 PA3 USART2_RX
|
||||
20 PA4 SPI1_NSS
|
||||
21 PA5 TIM2_CH1
|
||||
22 PA6 SPI1_MISO
|
||||
23 PA7 SPI1_MOSI
|
||||
24 PC4 GPIO_Output SPI1_CS
|
||||
26 PB0 TIM3_CH3 OUPUT1
|
||||
27 PB1 TIM3_CH4 OUPUT6
|
||||
29 PB10 USART3_TX
|
||||
30 PB11 USART3_RX
|
||||
33 PB12 SPI2_NSS
|
||||
34 PB13 SPI2_SCK
|
||||
35 PB14 SPI2_MISO
|
||||
36 PB15 TIM12_CH2 PPM
|
||||
37 PC6 TIM8_CH1 OUPUT2
|
||||
38 PC7 TIM3_CH2 OUPUT7
|
||||
39 PC8 TIM8_CH3 OUPUT5
|
||||
40 PC9 TIM8_CH4 OUPUT8
|
||||
41 PA8 TIM1_CH1 OUPUT4
|
||||
42 PA9 USART1_TX
|
||||
43 PA10 TIM1_CH3 OUPUT3
|
||||
46 PA13* SYS_JTMS-SWDIO
|
||||
49 PA14* SYS_JTCK-SWCLK
|
||||
50 PA15* SPI3_NSS
|
||||
51 PC10 SPI3_SCK
|
||||
52 PC11 SPI3_MISO
|
||||
53 PC12 UART5_TX
|
||||
54 PD2 UART5_RX
|
||||
55 PB3 SPI1_SCK
|
||||
56 PB4 GPIO_Output Inverter
|
||||
57 PB5 SPI3_MOSI
|
||||
58 PB6 TIM4_CH1 LED1
|
||||
59 PB7 USART1_RX USART1_RX
|
||||
61 PB8 I2C1_SCL
|
||||
62 PB9 I2C1_SDA
|
||||
|
||||
|
||||
## Manufacturers and Distributors
|
||||
|
||||
HAKRC Loopur
|
||||
|
||||
|
||||
## Designers
|
||||
|
||||
HAKRC Loopur
|
||||
|
||||
|
67
docs/boards/Board - SKYZONEF405.md
Normal file
|
@ -0,0 +1,67 @@
|
|||
# SKYZONEF405
|
||||
|
||||
## Description
|
||||
|
||||
The SKYZONEF405 has been designed as a versatile flight controller, to allow efficient control of craft with 4, 6 or 8 motors.
|
||||
|
||||
It is available in 2 variants:
|
||||
|
||||
### SKYZONEF405\_STD
|
||||
|
||||
Standard 30 * 30 mm size
|
||||
|
||||

|
||||

|
||||
|
||||
### SKYZONEF405\_PDB
|
||||
|
||||
30 x 30 mm 'extended corners' design with integrated PDB / current sensing shunt.
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
## Hardware
|
||||
|
||||
Type|Description
|
||||
---|---
|
||||
MCU|STM32F405
|
||||
IMU|ICM-20689
|
||||
IMU Interrupt|yes
|
||||
Motor outputs|up to 8
|
||||
Barometer|optional
|
||||
Magnetometer|optional
|
||||
VCP (supporting joystick emulation)|yes
|
||||
Hardware serial|5 (1 with inverter for SBus)
|
||||
Software serial|2
|
||||
OSD|yes
|
||||
Blackbox|16 MB onboard flash
|
||||
PPM in|yes
|
||||
Camera control output|yes
|
||||
LED strip (WS2811) output|yes
|
||||
Battery voltage sensor|yes
|
||||
Current sensor|yes (SKYZONEF405\_PDB only)
|
||||
Integrated voltage regulator|yes
|
||||
Buttons|boot
|
||||
LEDs|power, activity
|
||||
|
||||
## Features
|
||||
|
||||
Plenty of connectivity options, including 5 UARTs, most of them with through-hole solder points, minimising the risk of ripped off solder pads.
|
||||
|
||||
ESC signal / telemetry solder points next to the corners for motors 1 - 4 (SKYZONEF405\_PDB only).
|
||||
|
||||
|
||||
## Manufacturers and Distributors
|
||||
|
||||
skyzone Hobbies
|
||||
|
||||
|
||||
## Designers
|
||||
|
||||
skyzone Hobbies
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
[Daniel Zhou](mailto:daniel@skyzonehobbies.com)
|
31
docs/boards/Board - SPEDIXF4.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
# SPEDIX F4
|
||||
|
||||
## Description
|
||||
One of the main considerations while designing the SPEDIX F4 was to provide users the maximum amount of UARTs, as well as motor outputs, while retaining maximum efficiency, a careful choice of pinmap allowed to run 6-8 DSHOT motors off just 2 timers, while breaking out all the 6 UARTs that the STM32F405 provides.
|
||||
Timer design favors running multirotor and fixed wing alike.
|
||||
Plug & play connectivity to SPEDIX and AIKON 4in1 ESCs,
|
||||
|
||||
## MCU, Sensors and Features
|
||||
|
||||
### Hardware
|
||||
- MCU: STM32F405
|
||||
- IMU: ICM-20602 or MPU-6000
|
||||
- 6 DSHOT motors outputs, 8 by remapping UART6 as M7 & 8, using just 2 timers
|
||||
- BMP280 SPI
|
||||
- 6 hardware UARTs, UART5 with a controllable inverter for SBUS, USART1 with bidirectional inverter for FPORT/SPORT
|
||||
- Onboard regulator supports up to 6S
|
||||
- Dataflash blackbox
|
||||
- External I2C port
|
||||
- JST-SH 10 pin 4in1 ESC plug
|
||||
|
||||
|
||||
## Designers
|
||||
Kyle Lee (SPEDIX)
|
||||
Andrey Mironov (@DieHertz)
|
||||
|
||||
|
||||
## Maintainers
|
||||
Andrey Mironov (@DieHertz)
|
||||
|
||||
|
||||

|
Before Width: | Height: | Size: 138 KiB After Width: | Height: | Size: 138 KiB |
Before Width: | Height: | Size: 157 KiB After Width: | Height: | Size: 157 KiB |
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 158 KiB |
BIN
docs/boards/images/DALRCF722DUAL-Botton.jpg
Normal file
After Width: | Height: | Size: 285 KiB |
BIN
docs/boards/images/DALRCF722DUAL-Top.png
Normal file
After Width: | Height: | Size: 517 KiB |
Before Width: | Height: | Size: 3.1 MiB After Width: | Height: | Size: 3.1 MiB |
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 3.3 MiB |
BIN
docs/boards/images/skyzonef405_pdb_back.jpg
Normal file
After Width: | Height: | Size: 700 KiB |
BIN
docs/boards/images/skyzonef405_pdb_front.jpg
Normal file
After Width: | Height: | Size: 818 KiB |
BIN
docs/boards/images/skyzonef405_std_back.jpg
Normal file
After Width: | Height: | Size: 722 KiB |
BIN
docs/boards/images/skyzonef405_std_front.jpg
Normal file
After Width: | Height: | Size: 745 KiB |
BIN
docs/boards/images/spedixf4-top.png
Normal file
After Width: | Height: | Size: 122 KiB |
|
@ -1,6 +1,6 @@
|
|||
# Building in Eclipse
|
||||
|
||||
How to build, test & debug Cleanflight in Eclipse on Linux, Windows & MacOS.
|
||||
How to build, test & debug Betaflight in Eclipse on Linux, Windows & MacOS.
|
||||
|
||||
## Checklist
|
||||
|
||||
|
@ -17,7 +17,7 @@ Use this checklist to make sure you didn't miss a step. Versions mandated below
|
|||
- [ ] Optionally [Download and Install](https://github.com/gnuarmeclipse/qemu/releases) the latest GNU ARM Eclipse QEMU [read more](#install-qemu)
|
||||
- [ ] Add a new update site to Eclipse named "GNU ARM Eclipse Plugins" with the URL "http://gnuarmeclipse.sourceforge.net/updates" and install all the features offered
|
||||
- [ ] Configure [the recommended workspace settings](http://gnuarmeclipse.github.io/eclipse/workspace/preferences/)
|
||||
- [ ] Checkout the cleanflight source code [read more](#checkout-cleanflight)
|
||||
- [ ] Checkout the betaflight source code [read more](#checkout-betaflight)
|
||||
- [ ] *Windows platform only:* Add the msys or cygwin bin directory to the project path
|
||||
- [ ] Build the code by going to *Project menu -> Build All* [read more](#build)
|
||||
- [ ] Run the tests by creating and running a make target named "test"
|
||||
|
@ -47,85 +47,85 @@ Retain the default installation directories so that the GNU ARM Plugins can loca
|
|||
|
||||
### Install OpenOCD
|
||||
|
||||
You should install OpenOCD If you will be debugging on real hardware, such as the STM32F3DISCOVERY dev board. It is not required to simply build Cleanflight or run the tests.
|
||||
You should install OpenOCD If you will be debugging on real hardware, such as the STM32F3DISCOVERY dev board. It is not required to simply build Betaflight or run the tests.
|
||||
|
||||
### Install QEMU
|
||||
|
||||
No tests currently run on the QEMU emulator therefore this install is entirely optional. It is useful to test your installation, since you can compile and run a blinky demo.
|
||||
|
||||
### Checkout Cleanflight
|
||||
### Checkout Betaflight
|
||||
|
||||
If you'll be submitting changes to cleanflight, [fork the repository](https://help.github.com/articles/fork-a-repo/) on GitHub and checkout your copy.
|
||||
If you'll be submitting changes to betaflight, [fork the repository](https://help.github.com/articles/fork-a-repo/) on GitHub and checkout your copy.
|
||||
|
||||
In Eclipse go to *File -> Import* choose *Git -> Projects from Git*
|
||||
|
||||

|
||||

|
||||
|
||||
Choose *Clone URI*
|
||||
|
||||

|
||||

|
||||
|
||||
Enter the URI https://github.com/cleanflight/cleanflight or if you've forked the repo, enter your URI instead. With a fork, you will need to specify your authentication details
|
||||
Enter the URI https://github.com/betaflight/betaflight or if you've forked the repo, enter your URI instead. With a fork, you will need to specify your authentication details
|
||||
|
||||

|
||||

|
||||
|
||||
On the branch selection dialog, de-select all branches and select only *master*
|
||||
|
||||

|
||||

|
||||
|
||||
Select the default destination directory
|
||||
|
||||

|
||||

|
||||
|
||||
When the download completes, choose *Use the New Project wizard* and click Finish
|
||||
|
||||

|
||||

|
||||
|
||||
Choose *C/C++ -> Makefile Project with Existing Code*
|
||||
|
||||

|
||||

|
||||
|
||||
Enter cleanflight as the project name and browse to your home directory -> git -> cleanflight for the existing code location. Ensure the C (cleanflight) and C++ (tests) languages are checked. Choose the Cross ARM GCC toolchain for the Indexer Settings. Click finish.
|
||||
Enter betaflight as the project name and browse to your home directory -> git -> betaflight for the existing code location. Ensure the C (betaflight) and C++ (tests) languages are checked. Choose the Cross ARM GCC toolchain for the Indexer Settings. Click finish.
|
||||
|
||||

|
||||

|
||||
|
||||
Set your build and debug targets by going to project properties -> C/C++ Build and choose the Behaviour tab. Replace "all" in the build box with "TARGET=xxx DEBUG=GDB" where xxx is your platform such as NAZE
|
||||
|
||||

|
||||

|
||||
|
||||
On Windows only, add msys or cygwin bin directory to the project's path by right clicking the project and choosing properties
|
||||
|
||||

|
||||

|
||||
|
||||
Edit the path variable in *C/C++ Build -> Environment*
|
||||
|
||||

|
||||

|
||||
|
||||
Append the full path to the relevant bin dir
|
||||
|
||||

|
||||

|
||||
|
||||
### Build
|
||||
|
||||
Choose project -> build all
|
||||
|
||||

|
||||

|
||||
|
||||
### Configure Debugging
|
||||
|
||||
Choose debug -> debug configurations
|
||||
|
||||

|
||||

|
||||
|
||||
Create a new OpenOCD configuration for the obj\main\cleanflight_XXX.elf application (this file is generated by the build step above)
|
||||
Create a new OpenOCD configuration for the obj\main\betaflight_XXX.elf application (this file is generated by the build step above)
|
||||
|
||||

|
||||

|
||||
|
||||
Add the appropriate openocd board configuration parameter for your dev platform
|
||||
|
||||

|
||||

|
||||
|
||||
Add the target to your debug menu favourites
|
||||
|
||||

|
||||

|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Building in Fedora
|
||||
|
||||
Assuming you already have wget and git available, you should be able to build Cleanflight on a fresh install of Fedora with the following commands (tested on F18, F20 and Ubuntu 14.04):
|
||||
Assuming you already have wget and git available, you should be able to build Betaflight on a fresh install of Fedora with the following commands (tested on F18, F20 and Ubuntu 14.04):
|
||||
|
||||
```
|
||||
wget http://distribute.atmel.no/tools/opensource/Atmel-ARM-GNU-Toolchain/4.8.4/arm-gnu-toolchain-4.8.4.371-linux.any.x86_64.tar.gz
|
||||
|
@ -8,9 +8,9 @@ wget http://distribute.atmel.no/tools/opensource/Atmel-ARM-GNU-Toolchain/4.8.4/a
|
|||
tar xf arm-gnu-toolchain-4.8.4.371-linux.any.x86_64.tar.gz
|
||||
export PATH=$PATH:$PWD/arm-none-eabi/bin
|
||||
|
||||
git clone https://github.com/cleanflight/cleanflight.git
|
||||
cd cleanflight
|
||||
git clone https://github.com/betaflight/betaflight.git
|
||||
cd betaflight
|
||||
TARGET=NAZE make
|
||||
```
|
||||
|
||||
This will create cleanflight_NAZE.hex in the obj folder.
|
||||
This will create betaflight_NAZE.hex in the obj folder.
|
||||
|
|
|
@ -4,7 +4,7 @@ Building in Mac OS X can be accomplished in just a few steps:
|
|||
|
||||
* Install general development tools (clang, make, git)
|
||||
* Install ARM GCC 4.9 series compiler
|
||||
* Checkout Cleanflight sourcecode through git
|
||||
* Checkout Betaflight sourcecode through git
|
||||
* Build the code
|
||||
|
||||
## Install general development tools (clang, make, git)
|
||||
|
@ -37,7 +37,7 @@ installation, open up XCode and enter its preferences menu. Go to the "downloads
|
|||
|
||||
## Install ARM GCC 4.9 series compiler
|
||||
|
||||
Cleanflight is built using the 4.9 series GCC compiler provided by the [GNU Tools for ARM Embedded Processors project][].
|
||||
Betaflight is built using the 4.9 series GCC compiler provided by the [GNU Tools for ARM Embedded Processors project][].
|
||||
|
||||
Hit the "all downloads" link on the right side of the GNU Tools for ARM page to view [the older releases][]. Grab the
|
||||
Mac installation tarball for the latest version in the 4.9 series (e.g. 4.9-2015q2). Move it somewhere useful
|
||||
|
@ -73,29 +73,29 @@ If `arm-none-eabi-gcc` couldn't be found, go back and check that you entered the
|
|||
[GNU Tools for ARM Embedded Processors project]: https://launchpad.net/gcc-arm-embedded
|
||||
[the older releases]: https://launchpad.net/gcc-arm-embedded/+download
|
||||
|
||||
## Checkout CleanFlight sourcecode through git
|
||||
## Checkout Betaflight sourcecode through git
|
||||
|
||||
Enter your development directory and clone the [Cleanflight repository][] using the "HTTPS clone URL" which is shown on
|
||||
the right side of the Cleanflight GitHub page, like so:
|
||||
Enter your development directory and clone the [Betaflight repository][] using the "HTTPS clone URL" which is shown on
|
||||
the right side of the Betaflight GitHub page, like so:
|
||||
|
||||
```
|
||||
git clone https://github.com/cleanflight/cleanflight.git
|
||||
git clone https://github.com/betaflight/betaflight.git
|
||||
```
|
||||
|
||||
This will download the entire Cleanflight repository for you into a new folder called "cleanflight".
|
||||
This will download the entire betaflight repository for you into a new folder called "betaflight".
|
||||
|
||||
[CleanFlight repository]: https://github.com/cleanflight/cleanflight
|
||||
[Betaflight repository]: https://github.com/betaflight/betaflight
|
||||
|
||||
## Build the code
|
||||
|
||||
Enter the cleanflight directory and run `make TARGET=NAZE` to build firmware for the Naze32. When the build completes,
|
||||
the .hex firmware should be available as `obj/cleanflight_NAZE.hex` for you to flash using the Cleanflight
|
||||
Enter the betaflight directory and run `make TARGET=NAZE` to build firmware for the Naze32. When the build completes,
|
||||
the .hex firmware should be available as `obj/betaflight_NAZE.hex` for you to flash using the Betaflight
|
||||
Configurator.
|
||||
|
||||
## Updating to the latest source
|
||||
|
||||
If you want to erase your local changes and update to the latest version of the Cleanflight source, enter your
|
||||
cleanflight directory and run these commands to first erase your local changes, fetch and merge the latest
|
||||
If you want to erase your local changes and update to the latest version of the Betaflight source, enter your
|
||||
betaflight directory and run these commands to first erase your local changes, fetch and merge the latest
|
||||
changes from the repository, then rebuild the firmware:
|
||||
|
||||
```
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Building in Ubuntu
|
||||
|
||||
Building for Ubuntu platform is remarkably easy. The only trick to understand is that the Ubuntu toolchain,
|
||||
which they are downstreaming from Debian, is not compatible with Cleanflight. We suggest that you take an
|
||||
which they are downstreaming from Debian, is not compatible with Betaflight. We suggest that you take an
|
||||
alternative PPA from Terry Guo, found here:
|
||||
https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded
|
||||
|
||||
|
@ -44,23 +44,23 @@ sudo apt-get install gcc-arm-none-eabi=4.9.3.2014q4-0precise12
|
|||
After the ARM toolchain from Terry is installed, you should be able to build from source.
|
||||
```bash
|
||||
cd src
|
||||
git clone git@github.com:cleanflight/cleanflight.git
|
||||
cd cleanflight
|
||||
git clone git@github.com:betaflight/betaflight.git
|
||||
cd betaflight
|
||||
make TARGET=NAZE
|
||||
```
|
||||
|
||||
You'll see a set of files being compiled, and finally linked, yielding both an ELF and then a HEX:
|
||||
```
|
||||
...
|
||||
arm-none-eabi-size ./obj/main/cleanflight_NAZE.elf
|
||||
arm-none-eabi-size ./obj/main/betaflight_NAZE.elf
|
||||
text data bss dec hex filename
|
||||
97164 320 11080 108564 1a814 ./obj/main/cleanflight_NAZE.elf
|
||||
arm-none-eabi-objcopy -O ihex --set-start 0x8000000 obj/main/cleanflight_NAZE.elf obj/cleanflight_NAZE.hex
|
||||
$ ls -la obj/cleanflight_NAZE.hex
|
||||
-rw-rw-r-- 1 pim pim 274258 Jan 12 21:45 obj/cleanflight_NAZE.hex
|
||||
97164 320 11080 108564 1a814 ./obj/main/betaflight_NAZE.elf
|
||||
arm-none-eabi-objcopy -O ihex --set-start 0x8000000 obj/main/betaflight_NAZE.elf obj/betaflight_NAZE.hex
|
||||
$ ls -la obj/betaflight_NAZE.hex
|
||||
-rw-rw-r-- 1 pim pim 274258 Jan 12 21:45 obj/betaflight_NAZE.hex
|
||||
```
|
||||
|
||||
You can use the Cleanflight-Configurator to flash the `obj/cleanflight_NAZE.hex` file.
|
||||
You can use the Betaflight-Configurator to flash the `obj/betaflight_NAZE.hex` file.
|
||||
|
||||
## Bricked/Bad build?
|
||||
|
||||
|
@ -78,10 +78,10 @@ Make sure to remove `obj/` and `make clean`, before building again.
|
|||
|
||||
## Updating and rebuilding
|
||||
|
||||
Navigate to the local cleanflight repository and use the following steps to pull the latest changes and rebuild your version of cleanflight:
|
||||
Navigate to the local betaflight repository and use the following steps to pull the latest changes and rebuild your version of betaflight:
|
||||
|
||||
```bash
|
||||
cd src/cleanflight
|
||||
cd src/betaflight
|
||||
git reset --hard
|
||||
git pull
|
||||
make clean TARGET=NAZE
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
A new feature in Windows 10 allows any developer to quickly and easily run an entire linux subsystem in windows and access it via a bash terminal. This gives developers full use of the entire linux OS and all of the great existing linux tools and programs. When Bash for Windows is up and running it feels like you sshed into a full linux box, except the linux distro is actually running alongside windows locally.
|
||||
|
||||
If you use Bash on Windows you can easily build cleanflight exactly as you would for Ubuntu. (the linux distro running on Windows is Ubuntu Trusty)
|
||||
If you use Bash on Windows you can easily build betaflight exactly as you would for Ubuntu. (the linux distro running on Windows is Ubuntu Trusty)
|
||||
|
||||
Setup for Bash on Windows is very easy and takes less than 5 minutes. [For instructions follow the official guide here.](https://msdn.microsoft.com/commandline/wsl/install_guide)
|
||||
|
||||
|
@ -61,24 +61,24 @@ add the "bin" subdirectory to the PATH Windows environment variable: ```%PATH%;C
|
|||
|
||||

|
||||
|
||||
## Checkout and compile Cleanflight
|
||||
## Checkout and compile Betaflight
|
||||
|
||||
Head over to the Cleanflight Github page and grab the URL of the GIT Repository: "https://github.com/cleanflight/cleanflight.git"
|
||||
Head over to the Betaflight Github page and grab the URL of the GIT Repository: "https://github.com/betaflight/betaflight.git"
|
||||
|
||||
Open the Cygwin-Terminal, navigate to your development folder and use the git commandline to checkout the repository:
|
||||
|
||||
```bash
|
||||
cd /cygdrive/c/dev
|
||||
git clone https://github.com/cleanflight/cleanflight.git
|
||||
git clone https://github.com/betaflight/betaflight.git
|
||||
```
|
||||

|
||||
|
||||

|
||||
|
||||
To compile your Cleanflight binaries, enter the cleanflight directory and build the project using the make command. You can append TARGET=[HARDWARE] if you want to build anything other than the default NAZE target:
|
||||
To compile your Betaflight binaries, enter the Betaflight directory and build the project using the make command. You can append TARGET=[HARDWARE] if you want to build anything other than the default NAZE target:
|
||||
|
||||
```bash
|
||||
cd cleanflight
|
||||
cd betaflight
|
||||
make TARGET=NAZE
|
||||
```
|
||||
|
||||
|
@ -88,20 +88,20 @@ within few moments you should have your binary ready:
|
|||
|
||||
```bash
|
||||
(...)
|
||||
arm-none-eabi-size ./obj/main/cleanflight_NAZE.elf
|
||||
arm-none-eabi-size ./obj/main/betaflight_NAZE.elf
|
||||
text data bss dec hex filename
|
||||
95388 308 10980 106676 1a0b4 ./obj/main/cleanflight_NAZE.elf
|
||||
arm-none-eabi-objcopy -O ihex --set-start 0x8000000 obj/main/cleanflight_NAZE.elf obj/cleanflight_NAZE.hex
|
||||
95388 308 10980 106676 1a0b4 ./obj/main/betaflight_NAZE.elf
|
||||
arm-none-eabi-objcopy -O ihex --set-start 0x8000000 obj/main/betaflight_NAZE.elf obj/betaflight_NAZE.hex
|
||||
```
|
||||
|
||||
You can use the Cleanflight-Configurator to flash the ```obj/cleanflight_NAZE.hex``` file.
|
||||
You can use the Betaflight-Configurator to flash the ```obj/betaflight_NAZE.hex``` file.
|
||||
|
||||
## Updating and rebuilding
|
||||
|
||||
Navigate to the local cleanflight repository and use the following steps to pull the latest changes and rebuild your version of cleanflight:
|
||||
Navigate to the local betaflight repository and use the following steps to pull the latest changes and rebuild your version of betaflight:
|
||||
|
||||
```bash
|
||||
cd /cygdrive/c/dev/cleanflight
|
||||
cd /cygdrive/c/dev/betaflight
|
||||
git reset --hard
|
||||
git pull
|
||||
make clean TARGET=NAZE -j16 -l
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#General
|
||||
# General
|
||||
This document overrides the original Baseflight style that was referenced before.
|
||||
This document has taken inspiration from that style, from Eclipse defaults and from Linux, as well as from some Cleanflight developers and existing code.
|
||||
|
||||
There are not so many changes from the old style, if you managed to find it.
|
||||
|
||||
#Formatting style
|
||||
# Formatting style
|
||||
|
||||
##Indentation
|
||||
## Indentation
|
||||
K&R indent style with 4 space indent, NO hard tabs (all tabs replaced by spaces).
|
||||
|
||||
##Tool support
|
||||
## Tool support
|
||||
Any of these tools can get you pretty close:
|
||||
|
||||
Eclipse built in "K&R" style, after changing the indent to 4 spaces and change Braces after function declarations to Next line.
|
||||
|
@ -26,21 +26,70 @@ Sometimes, for example, you may want other columns and line breaks so it looks l
|
|||
|
||||
Note2: The Astyle settings have been tested and will produce a nice result. Many files will be changed, mostly to the better but maybe not always, so use with care.
|
||||
|
||||
##Curly Braces
|
||||
## Curly Braces
|
||||
Functions shall have the opening brace at the beginning of the next line.
|
||||
```
|
||||
int function(int x)
|
||||
{
|
||||
body of function
|
||||
}
|
||||
```
|
||||
|
||||
All non-function statement blocks (if, switch, for) shall have the opening brace last on the same line, with the following statement on the next line.
|
||||
|
||||
Closing braces shall be but on the line after the last statement in the block.
|
||||
```
|
||||
if (x is true) {
|
||||
we do y
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
```
|
||||
switch (action) {
|
||||
case ADD:
|
||||
return "add";
|
||||
case REMOVE:
|
||||
return "remove";
|
||||
case CHANGE:
|
||||
return "change";
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
```
|
||||
|
||||
If it is followed by an `else` or `else if` that shall be on the same line, again with the opening brace on the same line.
|
||||
```
|
||||
if (x is true) {
|
||||
we do y
|
||||
...
|
||||
} else {
|
||||
we do z
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
A single statement after an `if` or an `else` may omit the "unnecessary" braces only when ALL conditional branches have single statements AND you have strong reason to know it will always be that way.
|
||||
```
|
||||
if (x is true)
|
||||
we do y
|
||||
else
|
||||
we do z
|
||||
```
|
||||
|
||||
```
|
||||
if (x is true) {
|
||||
we do y
|
||||
...
|
||||
} else {
|
||||
we do z
|
||||
}
|
||||
```
|
||||
|
||||
If in doubt, do not omit such "unnecessary" braces.
|
||||
(Adding a statement to a branch will break the logic if the braces are forgotten and otherwise make the PR longer).
|
||||
|
||||
##Spaces
|
||||
## Spaces
|
||||
Use a space after (most) keywords. The notable exceptions are sizeof, typeof, alignof, and __attribute__, which look somewhat like functions (and are usually used with parentheses).
|
||||
So use a space after these keywords:
|
||||
```
|
||||
|
@ -76,7 +125,7 @@ and no space around the '.' and "->" structure member operators.
|
|||
|
||||
'*' and '&', when used for pointer and reference, shall have no space between it and the following variable name.
|
||||
|
||||
#typedef
|
||||
# typedef
|
||||
enums with a count should have that count declared as the last item in the enumeration list,
|
||||
so that it is automatically maintained, e.g.:
|
||||
```
|
||||
|
@ -99,9 +148,9 @@ typedef struct motorMixer_s {
|
|||
```
|
||||
the motorMixer_s name is required.
|
||||
|
||||
#Variables
|
||||
# Variables
|
||||
|
||||
##Naming
|
||||
## Naming
|
||||
Generally, descriptive lowerCamelCase names are preferred for function names, variables, arguments, etc.
|
||||
For configuration variables that are user accessible via CLI or similar, all_lowercase with underscore is preferred.
|
||||
|
||||
|
@ -111,7 +160,7 @@ Simple temporary variables with a very small scope may be short where it aligns
|
|||
Such as "i" as a temporary counter in a `for` loop, like `for (int i = 0; i < 4; i++)`.
|
||||
Using "temporaryCounter" in that case would not improve readability.
|
||||
|
||||
##Declarations
|
||||
## Declarations
|
||||
Avoid global variables.
|
||||
|
||||
Variables should be declared at the top of the smallest scope where the variable is used.
|
||||
|
@ -123,7 +172,7 @@ For example to limit variable scope to a single `case` branch.
|
|||
|
||||
Variables with limited use may be declared at the point of first use. It makes PR-review easier (but that point is lost if the variable is used everywhere anyway).
|
||||
|
||||
##Initialisation
|
||||
## Initialisation
|
||||
The pattern with "lazy initialisation" may be advantageous in the Configurator to speed up the start when the initialisation is "expensive" in some way.
|
||||
In the FC, however, it’s always better to use some milliseconds extra before take-off than to use them while flying.
|
||||
|
||||
|
@ -131,7 +180,7 @@ So don't use "lazy initialisation".
|
|||
|
||||
An explicit "init" function, is preferred.
|
||||
|
||||
##Data types
|
||||
## Data types
|
||||
Be aware of the data types you use and do not trust implicit type casting to be correct.
|
||||
|
||||
Angles are sometimes represented as degrees in a float. Sometimes as decidegrees in a uint8_t.
|
||||
|
@ -145,9 +194,9 @@ Instead of sin() and cos(), use sin_approx() and cos_approx() from common/math.h
|
|||
|
||||
Float constants should be defined with "f" suffix, like 1.0f and 3.1415926f, otherwise double conversion might occur.
|
||||
|
||||
#Functions
|
||||
# Functions
|
||||
|
||||
##Naming
|
||||
## Naming
|
||||
Methods that return a boolean should be named as a question, and should not change any state. e.g. 'isOkToArm()'.
|
||||
|
||||
Methods should have verb or verb-phrase names, like deletePage or save. Tell the system to 'do' something 'with' something. e.g. deleteAllPages(pageList).
|
||||
|
@ -167,7 +216,7 @@ void newBiQuadLpf(...);
|
|||
boolean isBiQuadReady();
|
||||
```
|
||||
|
||||
##Parameter order
|
||||
## Parameter order
|
||||
Data should move from right to left, as in memcpy(void *dst, const void *src, size_t size).
|
||||
This also mimics the assignment operator (e.g. dst = src;)
|
||||
|
||||
|
@ -182,7 +231,7 @@ float biQuadFilterApply(float sample, biquad_t *state);
|
|||
void biQuadNewLpf(float filterCutFreq, biquad_t *state, uint32_t refreshRate);
|
||||
```
|
||||
|
||||
##Declarations
|
||||
## Declarations
|
||||
Functions not used outside their containing .c file should be declared static (or STATIC_UNIT_TESTED so they can be used in unit tests).
|
||||
|
||||
Non-static functions should have their declaration in a single .h file.
|
||||
|
@ -199,7 +248,7 @@ In the module .c file, and in the test file but nowhere else, put `#define MODUL
|
|||
|
||||
Note: You can get the same effect by putting the internals in a separate .h file.
|
||||
|
||||
##Implementation
|
||||
## Implementation
|
||||
Keep functions short and distinctive.
|
||||
Think about unit test when you define your functions. Ideally you should implement the test cases before implementing the function.
|
||||
|
||||
|
@ -225,7 +274,7 @@ Use parentheses around each group in logical and mathematical statements,
|
|||
rather than relying on the implicit logic and operator priority.
|
||||
The compiler knows what it’s doing but it should be easy for people too.
|
||||
|
||||
#Includes
|
||||
# Includes
|
||||
All files must include their own dependencies and not rely on includes from the included files or that some other file was included first.
|
||||
|
||||
Do not include things you are not using.
|
||||
|
@ -233,7 +282,7 @@ Do not include things you are not using.
|
|||
"[#pragma once](https://en.wikipedia.org/wiki/Pragma_once)" is preferred over "#include guards" to avoid multiple includes.
|
||||
|
||||
|
||||
#Other details
|
||||
# Other details
|
||||
No trailing whitespace at the end of lines or at blank lines.
|
||||
|
||||
Stay within 120 columns, unless exceeding 120 columns significantly increases readability and does not hide information.
|
||||
|
|
|
@ -103,32 +103,32 @@ https://help.github.com/articles/creating-a-pull-request/
|
|||
|
||||
The main flow for a contributing is as follows:
|
||||
|
||||
1. Login to github, go to the cleanflight repository and press `fork`.
|
||||
1. Login to github, go to the betaflight repository and press `fork`.
|
||||
2. Then using the command line/terminal on your computer: `git clone <url to YOUR fork>`
|
||||
3. `cd cleanflight`
|
||||
3. `cd betaflight`
|
||||
4. `git checkout master`
|
||||
5. `git checkout -b my-new-code`
|
||||
6. Make changes
|
||||
7. `git add <files that have changed>`
|
||||
8. `git commit`
|
||||
9. `git push origin my-new-code`
|
||||
10. Create pull request using github UI to merge your changes from your new branch into `cleanflight/master`
|
||||
10. Create pull request using github UI to merge your changes from your new branch into `betaflight/master`
|
||||
11. Repeat from step 4 for new other changes.
|
||||
|
||||
The primary thing to remember is that separate pull requests should be created for separate branches. Never create a pull request from your `master` branch.
|
||||
|
||||
Once you have created the PR,
|
||||
every new commit/push in your branch will propagate from your fork into the PR in the main github/cleanflight repo.
|
||||
every new commit/push in your branch will propagate from your fork into the PR in the main github/betaflight repo.
|
||||
Checkout another branch first if you want something else.
|
||||
|
||||
Push will often fail if you edit or squash commits in a branch already pushed. Never do such things after creating the PR.
|
||||
|
||||
Later, you can get the changes from the cleanflight repo into your `master` branch by adding cleanflight as a git remote and merging from it as follows:
|
||||
Later, you can get the changes from the betaflight repo into your `master` branch by adding betaflight as a git remote and merging from it as follows:
|
||||
|
||||
1. `git remote add cleanflight https://github.com/cleanflight/cleanflight.git`
|
||||
1. `git remote add betaflight https://github.com/betaflight/betaflight.git`
|
||||
2. `git checkout master`
|
||||
3. `git fetch cleanflight`
|
||||
4. `git merge cleanflight/master`
|
||||
3. `git fetch betaflight`
|
||||
4. `git merge betaflight/master`
|
||||
5. `git push origin master` is an optional step that will update your fork on github
|
||||
|
||||
|
||||
|
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
165
docs/osd.md
Normal file
|
@ -0,0 +1,165 @@
|
|||
# OSD Glyphs
|
||||
|
||||
| PNG | Hex | Dec | Betaflight Name(s) | Notes |
|
||||
| -------------------------------|------| --- | ------------------------------- | ----- |
|
||||
|  | 0x01 | 001 | SYM_RSSI | Used in OSD.c |
|
||||
|  | 0x02 | 002 | SYM_AH_RIGHT | Used in OSD.c |
|
||||
|  | 0x03 | 003 | SYM_AH_LEFT SYM_CURSOR | Used in OSD.c |
|
||||
|  | 0x04 | 004 | SYM_THR SYM_HOME | Used in OSD.c |
|
||||
|  | 0x05 | 005 | SYM_THR1 SYM_AIRCRAFT | Used in OSD.c |
|
||||
|  | 0x06 | 006 | SYM_VOLT | Used in OSD.c |
|
||||
|  | 0x07 | 007 | SYM_MAH | Used in OSD.c |
|
||||
|  | 0x08 | 008 | | |
|
||||
|  | 0x09 | 009 | | |
|
||||
|  | 0x0A | 010 | | |
|
||||
|  | 0x0B | 011 | | |
|
||||
|  | 0x0C | 012 | SYM_M | Used in OSD.c |
|
||||
|  | 0x0D | 013 | SYM_TEMP_F | No longer used in OSD.c ? Using F instead |
|
||||
|  | 0x0E | 014 | SYM_TEMP_C | No longer used in OSD.c ? Using C instead |
|
||||
|  | 0x0F | 015 | SYM_FT | Used in OSD.c |
|
||||
|  | 0x10 | 016 | | |
|
||||
|  | 0x11 | 017 | | |
|
||||
|  | 0x12 | 018 | | |
|
||||
|  | 0x13 | 019 | SYM_AH_DECORATION | Used in OSD.c |
|
||||
|  | 0x14 | 020 | | |
|
||||
|  | 0x15 | 021 | | |
|
||||
|  | 0x16 | 022 | | |
|
||||
|  | 0x17 | 023 | | |
|
||||
|  | 0x18 | 024 | SYM_HEADING_N | Used in OSD.c |
|
||||
|  | 0x19 | 025 | SYM_HEADING_S | Used in OSD.c |
|
||||
|  | 0x1A | 026 | SYM_HEADING_E | Used in OSD.c |
|
||||
|  | 0x1B | 027 | SYM_HEADING_W | Used in OSD.c |
|
||||
|  | 0x1C | 028 | SYM_HEADING_DIVIDED_LINE | Used in OSD.c |
|
||||
|  | 0x1D | 029 | SYM_HEADING_LINE | Used in OSD.c |
|
||||
|  | 0x1E | 030 | SYM_SAT_L | Used in OSD.c |
|
||||
|  | 0x1F | 031 | SYM_SAT_R | Used in OSD.c |
|
||||
| | 0x20 | 032 | SYM_BLANK | Used in OSD.c |
|
||||
|  | 0x21 | 033 | | |
|
||||
|  | 0x22 | 034 | | |
|
||||
|  | 0x23 | 035 | | |
|
||||
|  | 0x24 | 036 | | |
|
||||
|  | 0x25 | 037 | | |
|
||||
|  | 0x26 | 038 | SYM_AH_CENTER_LINE | Used in OSD.c |
|
||||
|  | 0x27 | 039 | SYM_AH_CENTER_LINE_RIGHT | Used in OSD.c |
|
||||
|  | 0x28 | 040 | | |
|
||||
|  | 0x29 | 040 | | |
|
||||
|  | 0x2A | 040 | | |
|
||||
|  | 0x2B | 040 | | |
|
||||
|  | 0x2C | 040 | | |
|
||||
|  | 0x2D | 045 | SYM_COLON | Used in OSD.c |
|
||||
|  | 0x2E | 046 | | |
|
||||
|  | 0x2F | 047 | | |
|
||||
|  | 0x30 | 048 | | |
|
||||
|  | 0x31 | 049 | | |
|
||||
|  | 0x32 | 050 | | |
|
||||
|  | 0x33 | 051 | | |
|
||||
|  | 0x34 | 052 | | |
|
||||
|  | 0x35 | 053 | | |
|
||||
|  | 0x36 | 054 | | |
|
||||
|  | 0x37 | 055 | | |
|
||||
|  | 0x38 | 056 | | |
|
||||
|  | 0x39 | 057 | | |
|
||||
|  | 0x3A | 058 | | |
|
||||
|  | 0x3B | 059 | | |
|
||||
|  | 0x3C | 060 | | |
|
||||
|  | 0x3D | 061 | | |
|
||||
|  | 0x3E | 062 | | |
|
||||
|  | 0x3F | 063 | | |
|
||||
|  | 0x40 | 064 | | |
|
||||
|  | 0x41 | 065 | | |
|
||||
|  | 0x42 | 066 | | |
|
||||
|  | 0x43 | 067 | | |
|
||||
|  | 0x44 | 068 | | |
|
||||
|  | 0x45 | 069 | | |
|
||||
|  | 0x46 | 070 | | |
|
||||
|  | 0x47 | 071 | | |
|
||||
|  | 0x48 | 072 | | |
|
||||
|  | 0x49 | 073 | | |
|
||||
|  | 0x4A | 074 | | |
|
||||
|  | 0x4B | 075 | | |
|
||||
|  | 0x4C | 076 | | |
|
||||
|  | 0x4D | 077 | | |
|
||||
|  | 0x4E | 078 | | |
|
||||
|  | 0x4F | 079 | | |
|
||||
|  | 0x50 | 080 | | |
|
||||
|  | 0x51 | 081 | | |
|
||||
|  | 0x52 | 082 | | |
|
||||
|  | 0x53 | 083 | | |
|
||||
|  | 0x54 | 084 | | |
|
||||
|  | 0x55 | 085 | | |
|
||||
|  | 0x56 | 086 | | |
|
||||
|  | 0x57 | 087 | SYM_WATT | Used in OSD.c |
|
||||
|  | 0x58 | 088 | | |
|
||||
|  | 0x59 | 089 | | |
|
||||
|  | 0x5A | 090 | | |
|
||||
|  | 0x5B | 091 | | |
|
||||
|  | 0x5C | 092 | | |
|
||||
|  | 0x5D | 093 | | |
|
||||
|  | 0x5E | 094 | | |
|
||||
|  | 0x5F | 095 | | |
|
||||
|  | 0x60 | 096 | SYM_ARROW_SOUTH | Used in OSD.c |
|
||||
|  | 0x61 | 097 | SYM_ARROW_2 | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x62 | 098 | SYM_ARROW_3 | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x63 | 099 | SYM_ARROW_4 | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x64 | 100 | SYM_ARROW_EAST | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x65 | 101 | SYM_ARROW_6 | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x66 | 102 | SYM_ARROW_7 | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x67 | 103 | SYM_ARROW_8 | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x68 | 104 | SYM_ARROW_NORTH | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x69 | 105 | SYM_ARROW_10 | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x6A | 106 | SYM_ARROW_11 | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x6B | 107 | SYM_ARROW_12 | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x6C | 108 | SYM_ARROW_WEST | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x6D | 109 | SYM_ARROW_14 | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x6E | 110 | SYM_ARROW_15 | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x6F | 111 | SYM_ARROW_16 | Calculated from SYM_ARROW_SOUTH + heading |
|
||||
|  | 0x70 | 112 | | |
|
||||
|  | 0x71 | 113 | | |
|
||||
|  | 0x72 | 114 | | |
|
||||
|  | 0x73 | 115 | | |
|
||||
|  | 0x74 | 116 | | |
|
||||
|  | 0x75 | 117 | | |
|
||||
|  | 0x76 | 118 | | |
|
||||
|  | 0x77 | 119 | | |
|
||||
|  | 0x78 | 120 | | |
|
||||
|  | 0x79 | 121 | | |
|
||||
| | 0x7A | 122 | | |
|
||||
|  | 0x7B | 123 | | |
|
||||
|  | 0x7C | 124 | | |
|
||||
|  | 0x7D | 125 | | |
|
||||
|  | 0x7E | 126 | SYM_AH_CENTER | Used in OSD.c |
|
||||
|  | 0x7F | 127 | | |
|
||||
|  | 0x80 | 128 | SYM_AH_BAR9_0 | Used in OSD.c |
|
||||
|  | 0x81 | 129 | SYM_AH_BAR9_1 | Calculated in AH using SYM_AH_BAR9_0 as base |
|
||||
|  | 0x82 | 130 | SYM_AH_BAR9_2 | Calculated in AH using SYM_AH_BAR9_0 as base |
|
||||
|  | 0x83 | 131 | SYM_AH_BAR9_3 | Calculated in AH using SYM_AH_BAR9_0 as base |
|
||||
|  | 0x84 | 132 | SYM_AH_BAR9_4 | Calculated in AH using SYM_AH_BAR9_0 as base |
|
||||
|  | 0x85 | 133 | SYM_AH_BAR9_5 | Calculated in AH using SYM_AH_BAR9_0 as base |
|
||||
|  | 0x86 | 134 | SYM_AH_BAR9_6 | Calculated in AH using SYM_AH_BAR9_0 as base |
|
||||
|  | 0x87 | 135 | SYM_AH_BAR9_7 | Calculated in AH using SYM_AH_BAR9_0 as base |
|
||||
|  | 0x88 | 136 | SYM_AH_BAR9_8 | Calculated in AH using SYM_AH_BAR9_0 as base |
|
||||
|  | 0x89 | 137 | | |
|
||||
|  | 0x8A | 138 | SYM_PB_START | Used in OSD.c |
|
||||
|  | 0x8B | 139 | SYM_PB_FULL | Used in OSD.c |
|
||||
|  | 0x8C | 140 | SYM_PB_HALF | |
|
||||
|  | 0x8D | 141 | SYM_PB_EMPTY | Used in OSD.c |
|
||||
|  | 0x8E | 142 | SYM_PB_END | Used in OSD.c |
|
||||
|  | 0x8F | 143 | SYM_PB_CLOSE | Used in OSD.c |
|
||||
|  | 0x90 | 144 | SYM_BATT_FULL | Calculated from SYM_BATT_EMPTY |
|
||||
|  | 0x91 | 145 | SYM_BATT_5 | Calculated from SYM_BATT_EMPTY |
|
||||
|  | 0x92 | 146 | SYM_BATT_4 | Calculated from SYM_BATT_EMPTY |
|
||||
|  | 0x93 | 147 | SYM_BATT_3 | Calculated from SYM_BATT_EMPTY |
|
||||
|  | 0x94 | 148 | SYM_BATT_2 | Calculated from SYM_BATT_EMPTY |
|
||||
|  | 0x95 | 149 | SYM_BATT_1 | Calculated from SYM_BATT_EMPTY |
|
||||
|  | 0x96 | 150 | SYM_BATT_EMPTY | Used in OSD.c |
|
||||
|  | 0x97 | 151 | SYM_MAIN_BATT | Used in OSD.c |
|
||||
|  | 0x98 | 152 | | |
|
||||
|  | 0x99 | 153 | | |
|
||||
|  | 0x9A | 154 | SYM_AMP | Used in OSD.c |
|
||||
|  | 0x9B | 155 | SYM_ON_M | Used in OSD.c |
|
||||
|  | 0x9C | 156 | SYM_FLY_M | Used in OSD.c |
|
||||
|  | 0x9D | 157 | | |
|
||||
|  | 0x9E | 158 | | |
|
||||
|  | 0x9F | 159 | | |
|
||||
|  | 0xA0 | 160 | | *Logo Starts Here* |
|
||||
| | 0xFF | 255 | SYM_END_OF_FONT | |
|
BIN
docs/osd_images/001.png
Normal file
After Width: | Height: | Size: 134 B |
BIN
docs/osd_images/002.png
Normal file
After Width: | Height: | Size: 136 B |
BIN
docs/osd_images/003.png
Normal file
After Width: | Height: | Size: 135 B |
BIN
docs/osd_images/004.png
Normal file
After Width: | Height: | Size: 161 B |
BIN
docs/osd_images/005.png
Normal file
After Width: | Height: | Size: 119 B |
BIN
docs/osd_images/006.png
Normal file
After Width: | Height: | Size: 131 B |
BIN
docs/osd_images/007.png
Normal file
After Width: | Height: | Size: 173 B |
BIN
docs/osd_images/008.png
Normal file
After Width: | Height: | Size: 124 B |
BIN
docs/osd_images/009.png
Normal file
After Width: | Height: | Size: 156 B |
BIN
docs/osd_images/010.png
Normal file
After Width: | Height: | Size: 158 B |
BIN
docs/osd_images/011.png
Normal file
After Width: | Height: | Size: 117 B |
BIN
docs/osd_images/012.png
Normal file
After Width: | Height: | Size: 131 B |
BIN
docs/osd_images/013.png
Normal file
After Width: | Height: | Size: 173 B |
BIN
docs/osd_images/014.png
Normal file
After Width: | Height: | Size: 165 B |
BIN
docs/osd_images/015.png
Normal file
After Width: | Height: | Size: 144 B |
BIN
docs/osd_images/016.png
Normal file
After Width: | Height: | Size: 135 B |
BIN
docs/osd_images/017.png
Normal file
After Width: | Height: | Size: 137 B |
BIN
docs/osd_images/018.png
Normal file
After Width: | Height: | Size: 142 B |
BIN
docs/osd_images/019.png
Normal file
After Width: | Height: | Size: 139 B |
BIN
docs/osd_images/020.png
Normal file
After Width: | Height: | Size: 140 B |
BIN
docs/osd_images/021.png
Normal file
After Width: | Height: | Size: 141 B |
BIN
docs/osd_images/022.png
Normal file
After Width: | Height: | Size: 167 B |
BIN
docs/osd_images/023.png
Normal file
After Width: | Height: | Size: 161 B |
BIN
docs/osd_images/024.png
Normal file
After Width: | Height: | Size: 166 B |
BIN
docs/osd_images/025.png
Normal file
After Width: | Height: | Size: 176 B |
BIN
docs/osd_images/026.png
Normal file
After Width: | Height: | Size: 166 B |
BIN
docs/osd_images/027.png
Normal file
After Width: | Height: | Size: 170 B |
BIN
docs/osd_images/028.png
Normal file
After Width: | Height: | Size: 124 B |
BIN
docs/osd_images/029.png
Normal file
After Width: | Height: | Size: 121 B |
BIN
docs/osd_images/030.png
Normal file
After Width: | Height: | Size: 178 B |
BIN
docs/osd_images/031.png
Normal file
After Width: | Height: | Size: 161 B |
BIN
docs/osd_images/033.png
Normal file
After Width: | Height: | Size: 135 B |
BIN
docs/osd_images/034.png
Normal file
After Width: | Height: | Size: 135 B |
BIN
docs/osd_images/035.png
Normal file
After Width: | Height: | Size: 145 B |