Commit Graph

325 Commits

Author SHA1 Message Date
Michael Keller 80be08f050 Added resource allocation for DMA. 2021-09-28 02:44:07 +13:00
KarateBrot 8649f1003f Dynamic notch refactoring
+ added new parameter group for Dyn Notch
2021-09-01 12:39:21 +12:00
Steve Evans ab66795eeb G4 SPI DMA support 2021-08-31 23:29:51 +12:00
Steve Evans 87c8847c13 New SPI API supporting DMA
Call targetConfiguration() once before config is loaded and again afterwards in case the config needs to be changed to load from SD card etc

Drop SPI clock during binding

Remove debug

Add per device SPI DMA enable

Fix sdioPinConfigure() declaration warning

Reduce clock speed during SPI RX initialisation
2021-07-25 12:40:25 +12:00
Michael Keller 5549a906f6 Added a Unified Target for STM32H743. 2021-06-27 18:49:45 +12:00
Michael Keller b414be320f
Merge pull request #10727 from ctzsnooze/PT2-PT3-options-for-filters 2021-05-25 01:53:53 +12:00
Michael Keller e37619e559
Merge pull request #10653 from klutvott123/i2c-configurable-clockspeed 2021-05-21 02:06:31 +12:00
Hans Christian Olaussen 5c7ff1ff94 I2C configurable clockspeed 2021-05-17 13:57:44 +02:00
ctzsnooze 636d563abe major rc changes ctzsnooze 2021 2021-05-07 14:40:43 +10:00
Dominic Clifton c8e741bd18 Add W25Q128FV driver (QSPI only)
* Enable QSPI flash chip drivers on NUCLEOH743 for some CI visibility.
* Rework QSPI flash detection.
* Supports chips that are in QSPI mode by default (factory).
* Supports chips that are in QSPI mode due to configuration (e.g. Quad
Enable in Non-Volatile on W25Q128FV)
* Supports chips that need 8 dummy bytes (e.g. W25Q128JV) and ones that
don't (e.g. W25N01G)
2021-04-28 05:30:08 +02:00
Bruce Luckcuck 37dbbd0755 Add GPS coordinates OSD elements display variants; add support for Open Location Code display
Adds variations in GPS coordinate OSD element display:
1. Fractional degrees with 7 digits (default) - 000.0000000
2. Fractional degrees with 4 digits - 000.0000
3. Degrees, minutes, seconds - 000^00'00.0"E
4. Open Location Code (sometimed called Google Plus Code) - 23ABC4R8+M37

Uses Open Location Code library from:
https://github.com/google/open-location-code

Added support for `STATE(GPS_FIX_EVER)` to differentiate from having a fix now (`STATE(GPS_FIX)`) vs. ever having a fix.

Logic change to only display coordinates from the GPS module once a fix has been initially established. This prevents displaying interim coordinates supplied by the GPS while the fix is still being establised as these coordinates can be inaccurate by hundreds of miles. Once a fix is established initially then the coordinates will continue to be displayed even if the fix is lost or degrades in quality.

Add logic to "blink" the coordinates if the 3D fix is lost after initially being established. Alerts the user that the coordinate display may be inaccurate or no longer being updated. We want to keep the coordinates displayed to aid recovery if the user loses the fix (like crashing upside down).

Replace GPS defines `LAT` and `LON` used throughout the code with the enumeration:
```
typedef enum {
    GPS_LATITUDE,
    GPS_LONGITUDE
} gpsCoordinateType_e;
```

The Open Location Code option is bounded with `USE_GPS_PLUS_CODE` to allow it to be excluded if needed for targets with limited flash space. It currently fits for F411 but we may have to remove it in the future.
2021-04-26 23:43:11 +12:00
mikeller 03d3d94497 Added Unified Target for STM32G4. 2021-04-26 16:18:28 +12:00
KarateBrot d02af7334c Added tracking of multiple dynamic notches per axis and replaced FFT with SDFT 2021-03-24 17:09:28 +01:00
Bruce Luckcuck 84b6730cdd Separate OSD warnings from OSD task and make available via MSP
Provides a properly implemented way for MSP query type OSD implementations (like DJI) to display OSD warnings. Separates the warnings generation from the OSD task and shares common code to make the text available for the OSD and/or via MSP. Eliminates the need to implement hacks and workarounds like using the `CRAFT_NAME` field to display warnings. Since the warnings logic is now separate, the OSD task does not need to be running unlike other hacks.

Adds the `MSP2_GET_OSD_WARNINGS` message formatted as follows:
```
byte  description
0     Display attributes including blink (see displayPortAttr_e in drivers/display.h)
1     Length of warning text
2-n   Warning text characters
```
2021-02-13 14:11:38 -05:00
Michael Keller 7fc3c7cea6 Renamed 'tuning sliders' to 'simplified tuning'. 2020-12-26 14:26:56 +01:00
IvoFPV cff19dc113 Implement tuning sliders, add to CMS, MSP 2020-12-26 14:26:50 +01:00
jflyper 1feb306674 [H7] H723/H725 support 2020-11-11 23:45:15 +09:00
Michael Keller 4bf3e99e9c
Merge pull request #10318 from jflyper/bfdev-h7-h7a3
[H7] H7A3 support
2020-11-05 02:11:20 +13:00
Michael Keller 49679ce0ef
Merge pull request #10247 from SteveCEvans/h7mscsrc 2020-11-01 11:27:52 +13:00
jflyper 697d0f7ed3 [H7] H7A3 support 2020-11-01 00:32:39 +09:00
Steve Evans 31b06cd7d2 Add USB MSC support for H7 2020-10-30 19:30:38 +00:00
limonspb 54d1c3051a Added persistent stats to CMS 2020-10-29 22:04:54 -05:00
TheIsotopes 80329a61a4
bump SDK to latest Update 2020-10-27 08:27:17 +01:00
Michael Keller 114e5ab4c8 Simplified the Makefile OS detection output. 2020-10-25 12:08:32 +01:00
Michael Keller a54e31a06a Changed optimisation on F7X2 targets to '-O2' to save flash space. 2020-10-19 09:10:43 +02:00
Michael Keller ecb804bf5e
Merge pull request #10279 from etracer65/acceleration_split_init
Split acceleration code into init and runtime to save flash space
2020-10-18 19:40:39 +13:00
Michael Keller 785969031d
Merge pull request #10269 from haslinghuis/fix-dfu-pack
Fix dfuse and python check
2020-10-18 19:26:27 +13:00
Bruce Luckcuck 358fe5ce1c Split acceleration code into init and runtime to save flash space 2020-10-15 15:58:47 -04:00
Unknown 5bf4f71a6d Initial install of GHST driver
First pass at GHST driver including low-latency control, and basic telemetry.

Fix Ghost channel scaling

Use ghstChannelData instead of rxRuntimeState->channelData

Integrate PR feedback

Primarily de-tab and a few cosmetic changes.

Keep Travis CI happy

Removed unused function

Rework ghost driver to reduce time in ISR, move processing

As requested in PR review.
Fixed issue in telemetry driver, mAh consumed is transmitted as units of 10mAh, not 1mAh.

Resolve Packet Collision Issue with GHST

Send telemetry packets only within a well defined time slot after an incoming Rx packet.

Remove unnecessary comment

rxRefreshRate doesn't need to be dynamic.

Ghost - Remove special case from scheduler

No need to reschedule telemetry for the Ghost protocol.
2020-10-14 21:52:33 +13:00
Mark Haslinghuis 8ab0a002d1 Fix dfuse and python check 2020-10-13 01:52:21 +02:00
mikeller 9e6b65680e Split mixer code into initialisation and runtime to reduce flash space usage. 2020-10-11 23:54:26 +13:00
Michael Keller 5f8d9da384
Merge pull request #10224 from jflyper/bdev-h7-bbdshot
[H7] BB-Dshot support (TIM1/TIM8 limited version)
2020-10-05 00:28:34 +13:00
jflyper fe1a05fa2a [H7] BB-Dshot support (TIM1/TIM8 limited version) 2020-09-30 23:27:23 +09:00
jflyper e4d7c4e152 [G4][SYSTEM] Basic & build files 2020-09-30 18:20:05 +09:00
Sam Lane 4c99ad743d Rename FAST_RAM to FAST_DATA 2020-08-23 08:49:26 +01:00
Birk Tjelmeland aa5066e443 Add MSP override mode
The MSP override mode allows for use of MSP togehter with
another RX feature like SBUS. When enabling the MSP override
mode all channels from the `msp_override_channels` bitmask
will be overwritten by data comming from MSP instead of the
main RX.
2020-07-27 13:01:38 +02:00
Michael Keller 31c9962831
Merge pull request #9743 from mikeller/add_stm32f4discovery_to_build
Added STM32F4DISCOVERY to the CI build.
2020-07-05 21:08:39 +12:00
Bruce Luckcuck 99a9543968 Add support for LSM6DSO gyro/acc
Also supports the LSM6DSOX variant which has the additional machine learning core (not used by Betaflight).
2020-06-21 16:22:29 -04:00
Michael Keller a8085bef8b
Merge pull request #9759 from etracer65/pid_init_separate
Split initialization from pid.c for flash savings
2020-06-22 00:35:42 +12:00
Michael Keller 7ce6f2688d
Merge pull request #9641 from hydra/bf-h7-linker-script-cleanup-1 2020-06-22 00:23:56 +12:00
mikeller 3845a7b873 Added STM32F4DISCOVERY to the CI build. 2020-06-07 12:55:24 +12:00
Michael Keller b2e99c6651
Merge pull request #9771 from shellixyz/fix/frsky_crc 2020-05-07 23:39:01 +12:00
Michel Pastor 347483250b Fix CRC algo for FrSky S.Port and F.Port 2020-05-07 01:25:51 +02:00
Bruce Luckcuck f3c1e4e07f Change gyro driver initialize-only files to size-optimized
The following driver files only contain initialization and configuration fuctions and were erroneously set up for speed-optimization. Moving them to size-optimization saves significant space. They all share common runtime functions contained in `drivers/accgyro/accgyro_mpu.c` which is correctly speed-optimized.

```
drivers/accgyro/accgyro_mpu6050.c
drivers/accgyro/accgyro_mpu6500.c
drivers/accgyro/accgyro_spi_mpu6000.c
drivers/accgyro/accgyro_spi_mpu6500.c
drivers/accgyro/accgyro_spi_mpu9250.c
drivers/accgyro/accgyro_spi_icm20689.c
```

Also added explicit `#ifdef USE_` around the code of some of the drivers missing it. Doesn't result in any space savings as the compiler optimizes out the unused functions. But better in the long-term as it will flag any cases where the code might be called without proper bounding.

Saves 10704 bytes on STM32F7X2.
2020-05-04 16:43:47 -04:00
Bruce Luckcuck c06106e2d1 Split initialization from pid.c for flash savings
Move low performance requirements initialization code into pid_init.c and optimize that for size.

Saves 2688 bytes for target STM32F7X2.
2020-05-03 13:58:55 -04:00
Dominic Clifton 09ac5be8d6 Cleanup and de-duplicate H7 linker scripts 2020-03-26 16:50:21 +01:00
Dominic Clifton fb6f93bc0d Remove 'flash' from the ram-based linker script filename. 2020-03-26 16:37:00 +01:00
Michael Keller bbdc1bd586
Merge pull request #9489 from mikeller/move_targets_into_legacy_for_4_1_6
Move targets into legacy targets for 4.1.6.
2020-03-17 22:05:11 +13:00
Michael Keller 94005fda6c
Merge pull request #9584 from etracer65/bmi270_compile_optimization
Change BMI270 driver compilation to speed-optimized
2020-03-16 08:54:08 +13:00
Michael Keller b729c3cc99
Merge pull request #9582 from etracer65/gyro_init_separate
Split initialization from gyro.c for flash savings
2020-03-15 10:16:30 +13:00