1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-19 14:25:20 +03:00
Commit graph

40 commits

Author SHA1 Message Date
Michael Keller
f2a16157de Removed useless test. 2019-11-21 19:53:27 +13:00
mikeller
5808bfd6f3 Improved tests. 2019-11-21 19:51:53 +13:00
mikeller
4a7904695e Moved 'config.[ch]' into the 'config/' directory. 2019-10-28 11:17:25 +13:00
Bruce Luckcuck
e64703308b Revise feature logic to separate runtime and config settings
Isolates and prevents changes to runtime active features. Any changes to enabled features are deferred until after a save/reboot. Simplifies the previous logic.

Prevents potential failures when features are changed at runtime but the underlying code is not capabile of dynamic reconfiguration.
2019-10-21 20:25:03 +13:00
mikeller
1c8cfbd241 Extended configuration status to accommodate custom defaults. 2019-09-03 09:57:43 +12:00
mikeller
36dc7306e2 Merge branch 'fix_custom_defaults_addresses' into add_custom_defaults_to_msp 2019-09-01 20:03:57 +12:00
mikeller
772b249a3f Added support for resetting to custom defaults to MSP. 2019-09-01 14:26:57 +12:00
mikeller
2c8d197ccb Added support for custom defaults in sector 0. 2019-08-11 21:32:01 +12:00
mikeller
7518ec67f5 Experimental support for on-board custom defaults. 2019-08-11 21:32:01 +12:00
jflyper
542146c702 Motor code refactor (Phase 1) 2019-07-17 01:33:39 +09:00
Dominic Clifton
e83ba0db0e Allow the use of EEPROM_IN_RAM on MCUs.
If the MCU also supports PERSISTENT ram (not erased on a warm boot) it
allows testing of config changes without wearing out your flash.

e.g.

linker script
-------------
comment out __config_start/__config_end

target.c
--------
PERSISTENT uint8_t eepromData[EEPROM_SIZE]; // persistent, so it
survives warm boots.

target.h
--------
extern uint8_t eepromData[EEPROM_SIZE];

SITL actually keeps the EEPROM in a FILE, loaded into RAM using
alternate FLASH_* implementation.
2019-06-12 12:47:51 +02:00
Bruce Luckcuck
a1135dbbc4 Improve CLI diff output to only include non-empty sections
Eliminates the empty blocks for sections that have no changes from defaults.
2019-05-07 09:48:45 -04:00
blckmn
4cb1f6509c Adding ability to specify a string as an option in the SET / GET setup 2019-04-15 14:52:10 +10:00
Bruce Luckcuck
30672a37c5 Refactor OSD element display code
Remove the giant `select` block that contained all the code to generate the elements and transition them to individual functions called only when the element is active. Simplifies the code and results in a performance improvement as it's not necessary to fall through the large `select` statement for every element that will be drawn. The individual functions and the element to function mapping are moved to a new `osd_elements.c` file.

Moved the OSD related code files to a new `osd/` directory.

Also pre-analyze the active elements and only process those that are active. This also saves processing as it's not necessary to loop through all 50 or so elements when only a couple are active.

Various other cleanup and removal of stale or unnecessary code.

In the default configuration the element drawing phase of the OSD task is reduced from ~51us to ~35us - resulting in about a 30% decrease in processing time.
2019-02-21 14:03:25 -05:00
Bruce Luckcuck
42af168854 Optimize rc modes activation conditions processing
Analyze the rc modes activation conditions and only process configured entries. Previously the entire possible list was processed even though typically only a handful are configured.

Reduces the RX task processing time by about 25% (~44us to ~33us) with an average setup of 3 modes configured (F405, SBUS). Processing time savings will diminish as the user configures more modes. But typically far fewer than the maximum of 20 will be configured.
2019-02-05 16:05:16 -05:00
mikeller
e121e1e92b Separated LED_STRIP parameter groups, separated out LED_STRIP status mode code. 2019-02-05 08:39:42 +13:00
mikeller
38e1ce04df Reorganised interfaces, putting them where they are used. 2019-01-27 13:38:22 +13:00
Bruce Luckcuck
044648ca12 Optimize in-flight adjustments to only process configured ranges
Previously the logic would process all possible ranges defined by MAX_ADJUSTMENT_RANGE_COUNT even if some (or even all) ranges were not configured.  This change first builds a list of configured ranges and only processes thos entries.

Reduces CPU load by skipping unnecessary processing and minimizes the impact of increasing the number of available ranges.
2018-09-18 10:31:58 -04:00
mikeller
8a72362a67 Fixed tests. 2018-08-21 00:36:47 +12:00
Andrey Mironov
f1e33d170e
Added stub for unittest 2018-07-07 14:56:33 +03:00
mikeller
6131ac1449 Fixed tests. 2018-05-31 23:25:03 +12:00
jflyper
041bfb22c6 Create a pg for rxConfig 2018-05-27 09:13:04 +09:00
jirif
fa40fbe865 Fix RX rate calculation when using fport 2018-05-04 07:45:47 +02:00
SteveCEvans
5558174d33 Support programming of Arduino devices in serial passthrough mode (#5129)
* Support DTR in serial passthrough mode to enable programming of Arduino
based devices such as MinimOSD.

Use 'serialpassthrough 5 57600 rxtx 56' and then use Ardino to program MinimOSD
Use 'serialpassthrough 5 115200' and then use MWOSD configurator to setup

* Fix comment for CDC_SetCtrlLineStateCb routine

* Handle F7 CDC interface

* Use strToPin() to allow easy port/pin specification

* Fix use of CDC_SetCtrlLineStateCb for all processor types

* Only set baud when specified

* Fix unit tests for cli

* Only register callback if needed

* Fix white space

* Provide implementation of IOConfigGPIO in SITL

* Update serialpassthrough help text

* DTR handling through serial drivers

* Fix F3, F7 and SITL builds

* If serialpassthrough command specifies baud rate of 0, set baud rate over USB. MWOSD configurator can now access config and reflash MinimOSD without rebooting and changing baud rate.

* Fix F3 build

* Fix failing unit tests

* Use resources to declare DTR pin assignment

* Don't assert DTR during normal operation as MW_OSD doesn't like it

* MW_OSD must be built with MAX_SOFTRESET defined in order to support DTR resets

* Minimise changes after dropping DTR pin param from serialpassthrough cmd

* Remove DTR pin param from serialpassthrough cmd

* Treat ioDtrTag as boolean in conditional statements

* Tidy buffer check

* Check buffer size in CDC_Itf_Control

* Fix unit test

* Add documentation for DTR

* Add note on MAX_SOFTRESET to documentation

* Remove superfluous function definitions

* Fix tabs

* Fix tabs

* Removed superfluous entried from vtable

* Backout whitespace changes unrelated to this PR

* Pass true/false to IOWrite()

* Fix line coding packing

* Add LINE_CODING structure defintion

* Revise serial documentation

* Prevent tx buffer overflow in serialPassthrough()

* Revert change unrelated to PR

* Review feedback from ledvinap

* Fix unit test

* Use PINIO to drive DTR

* Fix unit test

* Remove change unrelated to PR

* Fix SITL build

* Use shifted bits for mask definition

* Fix serialpassthrough documentation

* Only compile PINIO functionality if USE_PINIO defined

* IOConfigGPIO not needed

* Move cbCtrlLine callback to cli.c

* serialPassthrough params changed

* Check packed structure size

* Fix unit test

* Tidy up baud rate handling
2018-03-21 23:17:31 +13:00
mikeller
09d396c05c Cleaned up parameter group handling.
Fixed missing include.
2017-12-31 10:51:01 +13:00
mikeller
f6bdfd91e2 Moved beeper parameter groups to pg/. 2017-12-24 17:56:37 +13:00
mikeller
b489d0ba9d Renamed 'parameter_group' to 'pg'. 2017-12-19 23:36:31 +13:00
Martin Budden
8cb7abd15f Added data parameter to UART RX callback 2017-11-25 10:11:37 +00:00
Martin Budden
8044d08fb3 Renamed fc_msp* files to msp* 2017-11-12 21:43:09 +00:00
Martin Budden
e3ee9a5588 Created new interface directory 2017-11-12 12:20:58 +00:00
Unknown
d9caabefa1 Removed vtx_settings_config in favor of vtx_common. Removed implicit EEPROM writes for vtx_ changes.
Updated MSP_VTX_CONFIG

Updated MSP_SET_VTX_CONFIG

Updated MSP_VTX_CONFIG (again)

Implemented VTX update schedule

Removed unneeded initialization blocks from io/vtx implementations

Prevent VTX settings from being applied in CLI. Sync Band/Chan/Freq on init

Correct issues in SA CMS

Moved vtxCommonInit and vtxCommonProcess to io/vtx
2017-11-08 10:28:09 -05:00
Martin Budden
e6bbce53e6 Improved testability 2017-08-31 13:37:38 +01:00
Steffen Windoffer
03aa31acdd remove not needed whitespaces 2017-08-24 11:33:39 +02:00
bkeinert
5d258d11f2 sync order of beeperTable and beeperMode_e enum
add beeperModeMaskForTableIndex function and use it in CLI
add change to unittest to make it compile
2017-08-14 01:12:23 +02:00
Martin Budden
944fe0761c Tidied UART enum definitions 2017-07-29 13:30:37 +01:00
blckmn
7a5d1d9b8e Moving boardIdentifier out of config header and into systemConfig (for generic targets) 2017-07-25 09:05:12 +10:00
Martin Budden
6943fb8e56 Split MSP box code into separate module 2017-07-20 13:33:34 +01:00
fishpepper
544cad10df cleanup and style cosmetics 2017-07-15 20:30:55 +02:00
fishpepper
8c8c9f5e7a move unittest specific stuff to unittest 2017-07-14 21:23:44 +02:00
fishpepper
a38eb4350d added unittest for cli arrays 2017-07-14 19:24:04 +02:00