Giter Club home page Giter Club logo

atbetaflight's Introduction

Betaflight

Latest version Build Status Build Status License: GPL v3

Betaflight is flight controller software (firmware) used to fly multi-rotor craft and fixed wing craft.

This fork differs from Baseflight and Cleanflight in that it focuses on flight performance, leading-edge feature additions, and wide target support.

Events

Date Event

News

Requirements for the submission of new and updated targets

  • 新增 AT32F435VGT7(LQFP 64) AT32F435/7 VMT7(LQFP100) /CGU7 (QFN48) 支持
  • Add support for AT32F435VGT7(LQFP 64) AT32F435/7 VMT7(LQFP100) /CGU7 (QFN48)
  • 调整bmi270 性能
  • modify bmi270 drivers

##Caution & 注意事项

  • betaflight-configutor 需要选中选项-显示所有串口 才能链接
  • set betaflight-configutor Options -show all serial port ,and connect

Features

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 and 600), Multishot, Oneshot (125 and 42) and Proshot1000 motor protocol support
  • Blackbox flight recorder logging (to onboard flash or external microSD card where equipped)
  • Support for targets that use the STM32 F4, G4, F7 and H7 processors
  • PWM, PPM, SPI, and Serial (SBus, SumH, SumD, Spektrum 1024/2048, XBus, etc) RX connection with failsafe detection
  • Multiple telemetry protocols (CRSF, 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
  • OSD support & configuration without needing third-party OSD software/firmware/comm devices
  • OLED Displays - Display information on: Battery voltage/current/mAh, profile, rate profile, mode, version, sensors, etc
  • In-flight manual PID tuning and rate adjustment
  • PID and filter tuning using sliders
  • Rate profiles and in-flight selection of them
  • Configurable serial ports for Serial RX, Telemetry, ESC telemetry, MSP, GPS, OSD, Sonar, etc - Use most devices on any port, softserial included
  • VTX support for Unify Pro and IRC Tramp
  • and MUCH, MUCH more.

Installation & Documentation

See: https://github.com/betaflight/betaflight/wiki

Support and Developers Channel

There's a dedicated Slack chat channel here:

https://slack.betaflight.com/

We also have a Facebook Group. Join us to get a place to talk about Betaflight, ask configuration questions, or just hang out with fellow pilots.

https://www.facebook.com/groups/betaflightgroup/

Etiquette: Don't ask to ask and please wait around long enough for a reply - sometimes people are out flying, asleep or at work and can't answer immediately.

Configuration Tool

To configure Betaflight you should use the Betaflight-configurator GUI tool (Windows/OSX/Linux) which can be found here:

https://github.com/betaflight/betaflight-configurator/releases/latest

Contributing

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

  • implement a new feature in the firmware or in configurator (see below);
  • documentation updates and corrections;
  • How-To guides - received help? Help others!
  • bug reporting & fixes;
  • new feature ideas & suggestions;
  • provide a new translation for configurator, or help us maintain the existing ones (see below).

The best place to start is the Betaflight Slack (registration here). Next place is the github issue tracker:

https://github.com/betaflight/betaflight/issues https://github.com/betaflight/betaflight-configurator/issues

Before creating new issues please check to see if there is an existing one, search first otherwise you waste people's time when they could be coding instead!

If you want to contribute to our efforts financially, please consider making a donation to us through PayPal.

If you want to contribute financially on an ongoing basis, you should consider becoming a patron for us on Patreon.

Developers

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

Azure Pipelines are used to run automatic builds

https://dev.azure.com/Betaflight/Betaflight%20Nightlies/_build

Translators

We want to make Betaflight accessible for pilots who are not fluent in English, and for this reason we are currently maintaining translations into 18 languages for Betaflight Configurator: Català, Deutsch, Español, Euskera, Français, Galego, Hrvatski, Bahasa Indonesia, Italiano, 日本語, 한국어, Latviešu, Português, Português Brasileiro, polski, Русский язык, Svenska, 简体中文. We have got a team of volunteer translators who do this work, but additional translators are always welcome to share the workload, and we are keen to add additional languages. If you would like to help us with translations, you have got the following options:

  • if you help by suggesting some updates or improvements to translations in a language you are familiar with, head to crowdin and add your suggested translations there;
  • if you would like to start working on the translation for a new language, or take on responsibility for proof-reading the translation for a language you are very familiar with, please head to the Betaflight Slack (registration here), and join the '#team_translation' channel - the people in there can help you to get a new language added, or set you up as a proof reader.

Hardware Issues

Betaflight does not manufacture or distribute their own hardware. While we are collaborating with and supported by a number of manufacturers, we do not do any kind of hardware support. If you encounter any hardware issues with your flight controller or another component, please 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.

Betaflight Releases

https://github.com/betaflight/betaflight/releases

Open Source / Contributors

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

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

Origins for this fork (Thanks!):

  • Alexinparis (for MultiWii),
  • timecop (for Baseflight),
  • Dominic Clifton (for Cleanflight),
  • borisbstyle (for Betaflight), and
  • Sambas (for the original STM32F4 port).

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

Origins for Betaflight 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)

And many many others who haven't been mentioned....

atbetaflight's People

Contributors

andershoglund avatar basdelfos avatar blckmn avatar borisbstyle avatar ctzsnooze avatar dannixon avatar diehertz avatar dusking1 avatar etracer65 avatar ezshinoda avatar haslinghuis avatar hydra avatar illusionfpv avatar jflyper avatar joelucid avatar kiteanton avatar klutvott123 avatar ledvinap avatar martinbudden avatar mcgivergim avatar mikeller avatar mj666 avatar nathantsoi avatar raphaelcoeffic avatar sambas avatar savaga avatar stevecevans avatar thenickdude avatar trollcop avatar wind0r avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

atbetaflight's Issues

不支持SPI接收机,无法对频?

Describe the bug

我最近做了一个内置SPI接收机的飞控,主控芯片是AT32F435CGU7,无线芯片使用SX1280,使用SPI+ELRS协议进行通信。我尝试使用ELRS遥控器进行对频都不行,而且示波器也捕捉不到SPI的SCK时序。

To Reproduce

我的target 关于RX_SPI的配置如下:

/*主控芯片使用at32F435CGU7*/
/* ======== SPI ======== */
#define USE_SPI
#define USE_SPI_DEVICE_1
#define SPI1_SCK_PIN            PA5
#define SPI1_MISO_PIN           PA6
#define SPI1_MOSI_PIN           PA7

/* ======== RX ======== */
#define USE_RX_SPI
#define RX_SPI_INSTANCE        SPI1
#define RX_SPI_LED_INVERTED

#define USE_RX_EXPRESSLRS
#define USE_RX_EXPRESSLRS_TELEMETRY
#define USE_RX_SX1280
#define RX_CHANNELS_AETR
#define RX_SPI_BIND_PIN        PH2
#define RX_NSS_PIN             PA4
#define RX_SPI_LED_PIN         PC14
#define RX_SPI_EXTI_PIN        PB9
#define RX_EXPRESSLRS_SPI_RESET_PIN      PB4
#define RX_EXPRESSLRS_SPI_BUSY_PIN       PH3
#define RX_EXPRESSLRS_TIMER_INSTANCE     TMR5

#define DEFAULT_RX_FEATURE     FEATURE_RX_SPI
#define RX_SPI_DEFAULT_PROTOCOL RX_SPI_EXPRESSLRS

Expected behavior

如果不使用RX_SPI,使用外置串口接收机,就可以对频正常使用。

Flight controller configuration

  # REPLACE THIS LINE BY THE OUTPUT OF YOUR `diff`
  # REPLACE THIS LINE BY THE OUTPUT OF YOUR `resource show all`

Flight controller

主控芯片使用AT32F435CGU7

Other components

No response

How are the different components wired up

No response

Add any other context about the problem that you think might be relevant here

No response

GPS 增加北斗导航的支持

Is your feature request related to a problem? Please describe

目前在**北斗导航卫星覆盖已经十分全面,卫星数量和定位速度都优于GPS,而且市面上的多模GPS模块也已经支持北斗,需要考虑在atbf中增加对 NMEA 协议下的北斗卫星导航支持

Describe the solution you'd like

在gps NMEA 协议解析中,增加北斗 NMEA协议支持

[23:14:44] $BDRMC,151444.600,A,4013.17349,N,11612.09969,E,0.00,142.29,160621,,,A,V*08 [23:14:44] $BDVTG,142.29,T,,M,0.00,N,0.00,K,A*20 [23:14:44] $BDZDA,151444.600,16,06,2021,00,00*40 [23:14:44] $GPTXT,01,01,01,ANTENNA OPEN*25 [23:14:44] $BDGGA,151444.700,4013.17348,N,11612.09969,E,1,06,5.3,0.0,M,0.0,M,,*7E [23:14:44] $BDGLL,4013.17348,N,11612.09969,E,151444.700,A,A*4B [23:14:44] $BDGSA,A,3,04,08,13,20,36,38,,,,,,,6.3,5.3,3.4,4*3D [23:14:44] $BDGSV,5,1,18,01,35,140,,02,34,225,,03,43,189,,04,25,125,27,0*7F [23:14:44] $BDGSV,5,2,18,05,17,249,,06,76,331,,07,09,167,,08,31,187,24,0*7C [23:14:44] $BDGSV,5,3,18,09,57,274,,12,08,285,,13,46,208,19,16,73,315,,0*73 [23:14:44] $BDGSV,5,4,18,19,55,103,08,20,07,116,19,22,64,322,,36,62,157,19,0*7E [23:14:44] $BDGSV,5,5,18,38,35,191,31,59,,,27,0*42

[23:25:18] $GPRMC,152518.800,A,4013.13669,N,11612.13786,E,0.61,90.50,160621,,,A,V*2C [23:25:18] $GPVTG,90.50,T,,M,0.61,N,1.13,K,A*05 [23:25:18] $GPZDA,152518.800,16,06,2021,00,00*54 [23:25:18] $GPTXT,01,01,01,ANTENNA OPEN*25 [23:25:18] $GPGGA,152518.900,4013.13668,N,11612.13790,E,1,07,2.0,72.4,M,0.0,M,,*5E [23:25:18] $GPGLL,4013.13668,N,11612.13790,E,152518.900,A,A*5F [23:25:18] $GPGSA,A,3,12,23,25,32,193,194,199,,,,,,3.1,2.0,2.4,1*1B [23:25:18] $GPGSV,3,1,11,10,74,302,23,12,32,115,23,15,15,089,,18,13,193,,0*62 [23:25:18] $GPGSV,3,2,11,23,67,149,29,24,44,051,,25,22,154,33,32,42,290,14,0*6F [23:25:18] $GPGSV,3,3,11,193,61,108,28,194,45,133,30,199,42,163,19,0*6E

Describe alternatives you've considered

需要考虑多重测试多模GPS模块的兼容性

Other information

No response

电调透传(serial-esc-4way)刷写固件容易卡死

Describe the bug

atbf 4.3.2rc3 在刷写 am32 电调固件的时候,大概率刷写失败,超时失去响应

To Reproduce

1、NEUTRONRCF435SE /MINI 正常链接 am32 电调
2、am32电调上电
3、通过esc-configuator 刷写am32 电调
4、刷写会卡死、失去响应

Expected behavior

期望能够正常刷写am32 电调固件

Flight controller configuration

  # REPLACE THIS LINE BY THE OUTPUT OF YOUR `diff`
  # REPLACE THIS LINE BY THE OUTPUT OF YOUR `resource show all`

与配置信息无关

Flight controller

NEUTRONRCF435SE / NEUTRONF435MINI / EMSRPROTO2

Other components

No response

How are the different components wired up

No response

Add any other context about the problem that you think might be relevant here

No response

HD Canvas mode

Is your feature request related to a problem? Please describe

Hi. I have no osd on a walksnail system using uart 2 of neutronrc at32f435 mini aio.
I have inputted the correct cli commands.

Describe the solution you'd like

hd canvas support

Describe alternatives you've considered

Dumping the neutronrc at32f435 mini aio

Other information

No response

[Safety Issue]: Dshot beacon cmd with random dshot thr cmd

Describe the bug

When enable dshot beacon feature and beep, the beacon cmd sometimes come with random dshot throttle cmd.

To Reproduce

Remove the ESC before the test for safety reason.

  • Enable dshot as motor protocol
  • Enable dshot beacon feature
  • Assign an RC AUX for beeper based on dshot beacon
  • Activate the beeper via that AUX
  • Check the dshot line

Expected behavior

  • 4 dshot beacon cmds in pairs with 102ms intervel
  • 102 ms after the 4st beacon cmd, FC sends some random dshot cmd
  • 10 ms after random dshot cmd, next 4 dshot beacon cmds start

Flight controller configuration

Any AT32 FC can reproduce this issue in any case.

Flight controller

EMSRPROTO4

Other components

No response

How are the different components wired up

No response

Add any other context about the problem that you think might be relevant here

No response

电流计ADC测量不准问题

Describe the bug

电流计在特定版本固件上如4.3.2 RC3 (b8d31f4)电流计表现正常,但是在本地编译的固件,电流计有大概率显示不正常。
审核代码逻辑未发现明显逻辑错误

To Reproduce

本地编译新分支(98865a946 ),此分支刷入相同固件之后, 电流计偏移到200A+ ,电流计不正常。

Expected behavior

电流计准确

Flight controller configuration

  # REPLACE THIS LINE BY THE OUTPUT OF YOUR `diff`
  # REPLACE THIS LINE BY THE OUTPUT OF YOUR `resource show all`

与配置无瓜

Flight controller

NEUTRONRCF435SE NEUTRONF435MINI EMSRPROTO2

Other components

No response

How are the different components wired up

No response

Add any other context about the problem that you think might be relevant here

因此怀疑是否因osd展示 电流计统计值全局变量 越界等问题导致数据错乱

EMSRProto-2 NeutronFcF435Aio 默认开启X8支持

Is your feature request related to a problem? Please describe

当前两个版本飞控支持飞控,但是前期设计中配置了4个舵机,部分用户在使用中需要手工调整Resource映射不够方便

Describe the solution you'd like

改为默认开启8个Motor,

Describe alternatives you've considered

如果需要启用Servo 提供手工方式

Other information

No response

NEURTONRCF435MINI PWM motor2 no signal

Describe the bug

NEURTONRCF435MINI target ,在使用PWM 电调协议的时候,motor2 无信号输出 ,motor 1、3、4 均正常

To Reproduce

NEURTONRCF435MINI 全部恢复默认, 电机- 电调协议选择 PWM ,测试 motor1234 的信号输出,可以发现 motor2 无输出

Expected behavior

motor 正常输出

Flight controller configuration

diff

version

Betaflight / NEUTRONRCF435MINI (NERC) 4.3.2 Mar 5 2023 / 19:48:37 (norevision) MSP API: 1.44

config: YES

start the command batch

batch start

board_name NEUTRONRCF435MINI

master

set motor_pwm_protocol = PWM
set pid_process_denom = 15

profile 0

rateprofile 0

end the command batch

batch end

Flight controller

neutronf435mini

Other components

No response

How are the different components wired up

No response

Add any other context about the problem that you think might be relevant here

No response

Support for AT32F435VGT7

Is your feature request related to a problem? Please describe

Hi i wonder if the firmware is only limited to AT32F435VMT7 or VGT7 can be also used for the same firmware

Describe the solution you'd like

If AT32F435VGT7 could be also added that would be great

Describe alternatives you've considered

havent considered any alternatevies yet

Other information

No response

可否增加支持外挂模块用于自定义OSD显示的功能?

Is your feature request related to a problem? Please describe

我做了一个OSD计时器外设模块,使用Atmel328P作为MCU控制OSD芯片(AT7456),串接在摄像头和飞控之间,用于在视频信号上叠加计时信息。目前只支持模拟视频,想改进以支持HD图传

Describe the solution you'd like

计时器计划通过串口向飞控发送数据,以便飞控在OSD上显示计时信息。这就需要bf固件新增一个额外的MSP命令,便于外设通过该命令显示自定义的osd信息

Describe alternatives you've considered

看到git上有个项目ESP32-INAV-Radar,通过esp和飞控串口通讯,打算用类似方法在BF上实现我想要的功能。
这是ESP32-INAV-Radar项目中,向飞控(inav固件)发送显示雷达信息的命令:msp.command2(MSP2_COMMON_SET_RADAR_POS , &radarPos, sizeof(radarPos), 0);
MSP2_COMMON_SET_RADAR_POS是INAV特有的MSP命令ID

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.