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

79 commits

Author SHA1 Message Date
Dominic Clifton
672c906067 Extract serial-related code from printf.c 2019-03-06 11:15:32 +01:00
Dominic Clifton
91d6a1cc8d Move memory section initialisation earlier into the init sequence.
Allows startup-code/libs/etc to be moved into different memory regions.
2019-03-06 10:32:04 +01:00
mikeller
acf759b82e Fixed detection of brushless / brushed motors. 2019-03-03 13:01:04 +13: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
mikeller
9f8cafbf8b Fixed initialisation problem with LED_STRIP. 2019-02-08 12:29:57 +13:00
jflyper
96fc6dc934 CLI parser for vtxtable 2019-02-06 15:24:02 +09:00
Michael Keller
7393d5fdac
Merge pull request #7529 from jflyper/bfdev-stronger-USE_ACC
[REFACTOR] More application of USE_ACC
2019-02-06 10:08:49 +13:00
mikeller
e121e1e92b Separated LED_STRIP parameter groups, separated out LED_STRIP status mode code. 2019-02-05 08:39:42 +13:00
jflyper
cc0e689bb5 Add USE_ACC conditionals 2019-02-04 20:37:43 +09:00
mikeller
210e90249e Fixed up reference in the driver layer. 2019-02-03 11:04:34 +13:00
mikeller
38e1ce04df Reorganised interfaces, putting them where they are used. 2019-01-27 13:38:22 +13:00
mikeller
18496fe745 Fixed unit tests using 'ledstrip.c'. 2019-01-21 01:01:05 +13:00
Michael Keller
7eedfff428
Merge pull request #7415 from jflyper/bfdev-change-call-timing-of-vtxInit-after-device-parameter-init
[VTX] Follow-up to #7285 vtx changes
2019-01-19 14:23:18 +13:00
jflyper
80c1cfa6db Call vtxInit after device parameters are initialized 2019-01-18 01:20:35 +09:00
Bruce Luckcuck
4da9b75c8f Fix compilation errors if USE_BLACKBOX is not defined 2019-01-15 10:08:15 -05:00
Bruce Luckcuck
0ed1fbc609 Fix boot loop if mass storage mode init fails
The logic already performed a reboot if mass storage init failed, but it never reset the boot vector value so it continued to contain the `MSC_MAGIC` value leading to a boot loop.

Also fixed fixed the F7 version of `mscWaitForButton()` as it was using the F4 vector.
2019-01-12 18:23:03 -05:00
Thorsten Laux
7859e6d540 Add dshot command queue and limit max notch filter frequency 2019-01-12 12:25:30 +01:00
Thorsten Laux
8d4ed72e13 rpm telemetry based notch filter 2019-01-07 13:36:01 +01:00
Thorsten Laux
816da6cbf5 Dshot erpm telemetry on the signal line 2019-01-03 14:42:52 +01:00
Michael Keller
131e32c142
Merge pull request #7246 from mikeller/move_mco_init
Moved 'mcoInit()' to after 'OverclockRebootIfNecessary()' to have it execute only once.
2018-12-22 12:16:26 +13:00
mikeller
4a62a006ca Moved 'mcoInit()' to after 'OverclockRebootIfNecessary()' to have it execute only once. 2018-12-19 17:45:11 +13:00
jflyper
feab0bcb81 Speed up the first boot on generic firmware 2018-12-19 16:56:31 +13:00
Bruce Luckcuck
b8085b170e MSC on-board flash: Persist RTC across reboot and use as file timestamp
Adds support to persist the RTC (if set) across the reboot if entering mass storage mode for on-board flash. The value is then used as the timestamp for the files exposed in the virtual FAT32 filesystem. The files will then have reasonable creation dates when copied to the host computer.

If the RTC is not set (or supported), then the default timestamp of 2018-01-01 will be used (unchanged from previous).

Included some improvements to the RTC functions and exposed the `tz_offsetMinutes` in the `timeConfig` PG. Support already existed for timezone offsets but the parameter wasn't exposed to the user and couldn't be set.

Move timezone offset up a layer as a parameter to systemResetToMsc()
Adds support for specifying a custom timezone offset from both the CLI and MSP calls to enter mass storage mode.

Added an option timezone offset minutes to the CLI `msc` command. If no parameter is specified then the default as specified by `timezone_offset_minutes` will be used. So to reboot into mass storage mode and force the file timestamps to be in UTC, use `msc 0`.

Added reboot message `MSP_REBOOT_MSC_UTC` to support rebooting into mass storage mode and forcing the timestamps to use UTC time (0 offset). The Configurator will need to be modified to use this message for operating systems that expect UTC times for FAT file systems (like Linux).
2018-12-17 19:40:51 -05:00
jflyper
9ea1428d11 Introduce per device pin pre-init 2018-12-13 11:15:26 +09:00
mikeller
c8e484df94 Renamed USE_FLASH to USE_FLASH_CHIP for clarity. 2018-11-25 13:47:31 +13:00
jflyper
569f0bae62 Implement configurable system clock generation
PLL-HSE working

PLL-HSI working

Move SystemCoreClockUpdate in SystemInit to end

Switching from HSI-PLL to HSE-PLL (and back) is working

It works during various levels of overclocking.

Renamed CLI variable hse_mhz to system_hse_mhz

Restored the original position of the spectrum bind code

The internal logic of the spectrum bind code will prevent binding
process to fire if executed after soft reset.

Remove stale call to delay

Add a comment about call to spektrumBind placement

Declared SystemXXXSource functions, handled sign-ness warning.

Cleaned up commented out sections

USB clock generation for F446

Default HSE value for backward compatibility

Cleaned up more unused stuff

Handle non-F4 targets

Added comment about PLL_M selection

Removed fake gyro/acc from test target
2018-11-23 15:36:10 +13:00
jflyper
9f47d130b9 Adds the MCO driver facility for F7 targets
MCO2 output as run time configurable option
Add sanity check for MCO2 pin
changed output mode to AF from OUTPUT in mco driver
MCO for F4 is not implemented yet
Reinstate original OMNIBUSF7 target.h
Add config variable mco2_on_pc9
Make MCO2 pin hardcoded with mco2_on_pin control variable
fixed mco2 clock config corruption
removed unused pin definitions
2018-10-26 19:51:19 +02:00
MJ666
b380a343a6 Update SDCARD driver for generic target
remove enabled PG paramter
2018-10-03 14:36:54 +02:00
mikeller
0bce8549ee Renamed 'fc/fc_' files to remove the double 'fc'. 2018-08-26 14:07:06 +12:00
Renamed from src/main/fc/fc_init.c (Browse further)