Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/workflows/hide-artifacts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Hide artifacts links comments

on:
pull_request_target:
types: [synchronize, reopened]

jobs:
hide-artifacts-link-comments:
name: Hide artifacts links
runs-on: ubuntu-22.04
steps:
- name: Hide artifacts links from comments.
uses: int128/hide-comment-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
contains: "Compiled HEX from this Pull-Request. WARNING: No warranty or guarantee of any kind. Test/Fly at your own risk!"
20 changes: 20 additions & 0 deletions .github/workflows/link-artifacts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Link PR Artifacts

on:
workflow_run:
workflows: ["Build EmuFlight"]
types: ["completed"]

jobs:
artifacts-url-comments:
name: Add artifact links
runs-on: ubuntu-22.04
steps:
- name: Add artifact links
uses: tonyhallett/artifacts-url-comments@v1.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
prefix: "Compiled HEX from this Pull-Request. WARNING: No warranty or guarantee of any kind. Test/Fly at your own risk!"
format: name
addTo: pull
46 changes: 46 additions & 0 deletions .github/workflows/pin-artifacts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Pin artifacts
on:
workflow_run:
workflows: ["Build EmuFlight"]
types: ["completed"]

jobs:
# Make artifacts links more visible for the upstream project
pin-artifacts:
permissions:
statuses: write
name: Add artifacts links to commit statuses
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ubuntu-latest
steps:
- name: Add artifacts links to commit status
run: |
set -x
workflow_id=${{ github.event.workflow_run.workflow_id }}
run_id=${{ github.event.workflow_run.id }} # instead of ${{ github.run_id }}
run_number=${{ github.event.workflow_run.run_number }}
head_branch=${{ github.event.workflow_run.head_branch }}
head_sha=${{ github.event.workflow_run.head_sha }} # instead of ${{ github.event.pull_request.head.sha }} (or ${{ github.sha }})
check_suite_id=${{ github.event.workflow_run.check_suite_id }}
set +x

curl \
-H "Accept: application/vnd.github+json" \
"https://api.github.com/repos/${{ github.repository }}/actions/runs/${run_id}/artifacts" \
| jq '[.artifacts | .[] | {"id": .id, "name": .name, "created_at": .created_at, "expires_at": .expires_at, "archive_download_url": .archive_download_url}] | sort_by(.name)' \
> artifacts.json

cat artifacts.json

< artifacts.json jq -r ".[] | \
.name + \"§\" + \
( .id | tostring | \"https://github.com/${{ github.repository }}/suites/${check_suite_id}/artifacts/\" + . ) + \"§\" + \
( \"Link to \" + .name + \".zip [\" + ( .created_at | sub(\"T.*\"; \"→\") ) + ( .expires_at | sub(\"T.*\"; \"] (you must be logged)\" ) ) )" \
| while IFS="§" read name url descr; do
curl \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ github.token }}" \
"https://api.github.com/repos/${{ github.repository }}/statuses/${head_sha}" \
-d "$( printf '{"state":"%s","target_url":"%s","description":"%s","context":"%s"}' "${{ github.event.workflow_run.conclusion }}" "$url" "$descr" "$name (artifact)" )"
done
126 changes: 1 addition & 125 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,125 +1 @@
![EmuFlight](docs/assets/images/EMUFlightLogo-2022_Trans.png)

## EmuFlight is flight controller software (firmware) used to fly multi-rotor aircraft.
* This fork differs from Baseflight, Cleanflight and Betaflight in that it focuses on flight performance, innovative filtering, and leading-edge features.

## WARNING

* **DJI components bypass Configurator safety-checks. Do not attempt arming while connected to Configurator with LiPo plugged. Always remove propellers and use a smoke-stopper for extra safety.**

## EmuFlight Releases

* [![Codacy Badge](https://api.codacy.com/project/badge/Grade/5422b54319254b6f9b6d01464ae9380c)](https://www.codacy.com/gh/emuflight/EmuFlight?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=emuflight/EmuFlight&amp;utm_campaign=Badge_Grade)
* https://github.com/emuflight/EmuConfigurator/releases
* https://github.com/emuflight/EmuFlight/releases

## Support and Developers Channel

* ![Discord](https://img.shields.io/discord/547211754845765635?label=EmuFlight%20Discord&style=for-the-badge&logo=discord&logoColor=white&color=00A3E0)
* To get support as well as the latest updates, join our discord at <https://discord.gg/BWqgBg3>.

## Features

* Support for targets that use the STM32 F7 and F4 processors
* Support for HelioRC Spring FC's
* IMUF (Kalman-based) Filtering for all FC's
* Additional DShot levels: 1200, 2400, 4800
* OSD based configuration without needing third-party OSD software/firmware/comm devices
* Per-Axis Lowpass filters
* Feathered PIDs
* Error-based Boosts for P, I, & D. (EmuBoost/DBoost)
* i-Decay
* Throttle Point Attenuation (TPA) for P, I, & D
* Stick Point Attenuation (SPA)
* Advanced Dynamic Gyro & D-Term Filters
* Smith-Predictor on Gyro
* Optional ABG Filters for Gyro and DTerm
* PT(n) for LPF and RC-Smoothing
* Rate-Dynamics (Stick-feel modifier)
* Angle-mode 2.0
* Dual Axis Steering
* NFE racer mode
* Fixed yaw PIDsum limit
* LPF filter for voltage and current
* Motor output limit
* Motor output smoothing
* Thrust linearization
* Axis Lock
* and MUCH, MUCH more

## Installation & Documentation

* See: https://github.com/emuflight/EmuFlight/wiki

## Configuration Tool

* To configure EmuFlight you should use the EmuFlight-Configurator GUI tool (Windows/OSX/Linux) which can be found here:
* https://github.com/emuflight/EmuConfigurator

## DJI OSD [In]Compatibility

* Setting PIDs and Rates (except for Feed Forward) is supported with the DJI OSD. The filtering menus (MISC PP, FILT PP, FILT GLB) are not currently supported and may result in unintended problems.

## Contributing

* Contributions are welcome and encouraged. You can contribute in many ways:

- Documentation updates and corrections.
- How-To guides - received help? Help others!
- Bug reporting & fixes.
- New feature ideas & suggestions.
- Coding and Pull Requests.

* The best place to start is the EmuFlight Discord (https://discord.gg/BWqgBg3). Next place is the github issue tracker:
- https://github.com/emuflight/EmuFlight/issues
- https://github.com/emuflight/EmuConfigurator/issues

* Before creating new issues please check to see if there is an existing one.

* If you want to contribute financially on an ongoing basis, please consider becoming a Patreon member (https://www.patreon.com/EmuFlight).

## Developers

Contribution of bugfixes and new features is encouraged. Please be aware that we have a thorough review process for pull requests. Be prepared to explain what you want to achieve with your pull request.
Before starting to write code, please read our [development guidelines](docs/development/Development.md ) and [coding style definition](docs/development/CodingStyle.md).

## Open Source / Contributors

EmuFlight is software that is **open source** and is available free of charge without warranty to all users.

EmuFlight is forked from Betaflight, so thanks goes to all those whom have contributed to Cleanflight, Betaflight, Butterflight and their origins.

Origins for this fork (Thanks!):
* **Alexinparis** (for MultiWii),
* **timecop** (for Baseflight),
* **Dominic Clifton** (for Cleanflight),
* **borisbstyle** (for Betaflight),
* **Sambas** (for the original STM32F4 port), and
* **Marinus** (for forking IMUF thus beginning EmuFlight).

The EmuFlight Configurator is forked from Betaflight Configurator and its origins.

Origins for EmuFlight Configurator:
* **Dominic Clifton** (for Cleanflight configurator), and
* **ctn** (for the original Configurator).

Big thanks to current and past contributors:
* Budden, Martin (martinbudden)
* Bardwell, Joshua (joshuabardwell)
* Blackman, Jason (blckmn)
* ctzsnooze
* Höglund, Anders (andershoglund)
* Ledvina, Petr (ledvinap) - **IO code awesomeness!**
* kc10kevin
* Keeble, Gary (MadmanK)
* Keller, Michael (mikeller) - **Configurator brilliance**
* Kravcov, Albert (skaman82) - **Configurator brilliance**
* MJ666
* Nathan (nathantsoi)
* ravnav
* sambas - **bringing us the F4**
* savaga
* Stålheim, Anton (KiteAnton)
* Tim Sweet, Kaylin Doerr, Shawn Loftin - **Filtering improvements, IMUF**

And many many others either mentioned in release notes, GitHub history, or possibly haven't been mentioned.... Thank you!
## this is edit for testings PR [link, hide, pin].