Commit Graph

349 Commits

Author SHA1 Message Date
Hugo Chiang 949730bda2 add support for lsm6dsl imu 2022-12-12 16:37:01 +08:00
Hugo Chiang b654e758e2 add support for lsm6ds3 imu 2022-12-09 15:16:16 +08:00
shanggl 3654c3a097 update bsp to 2.1.0 i2c_application gcc to 10.3.1 library to fianlly
fix i2c
2022-11-05 23:20:24 +08:00
shanggl f6591bab48 临时提交,内容有用但是尚未排除i2c bug 2022-11-05 21:34:48 +08:00
shanggl 272db0a3fd 再次优化at32 执行速度 2022-11-04 00:09:19 +08:00
shanggl 4cf1fd3a1d fix bug : 解决i2c 一直忙问题, 修正气压计无读数bug 修正ci gcc version ,10.3.1 导致pg 数据错误 2022-10-23 22:52:49 +08:00
Hugo Chiang 0e8b5c8691 add ci for building at32 targets 2022-10-13 18:05:29 +08:00
shanggl 554931b207 msc ready 2022-10-01 23:01:17 +08:00
shanggl 468c867a82 add AT32F435 RGT7 1024kb LQFP64 support 2022-10-01 23:01:15 +08:00
shanggl bd734c3408 add NeutronF435Aio LQFP64 target 2022-10-01 23:01:15 +08:00
shanggl fac77f9efe add proto2 hardware defines 2022-10-01 23:01:12 +08:00
shanggl 8b2eaca723 compile pass 2022-10-01 22:57:31 +08:00
shanggl 83896ee959 校对at32f437 gpio timer gpiomuxid 2022-10-01 22:55:18 +08:00
shanggl f0d810b782 fix io rcc exti nvic ,led on success 2022-10-01 22:41:05 +08:00
shanggl 7d0317ade1 io rcc exti ready 2022-10-01 22:41:04 +08:00
shanggl 7b03a9965a system init reset systick ready 2022-10-01 22:26:28 +08:00
shanggl 3c997e3431 port to at32f437 base line 2022-10-01 22:26:26 +08:00
shanggl 00f6e169f7 fix 240Mhz 2022-10-01 22:26:24 +08:00
emsr 0022e28344 at32f403a usb 48mhz fixed 2022-10-01 22:26:22 +08:00
shanggl c48e56f753 可以编译了,剩下的adc 、pwm_dshot.c dshot_bitbang 这几个需要调试,内存需要扩展到224k,调整PLL时钟等 2022-10-01 22:25:15 +08:00
shanggl 27d0b54d4f PORT TO AT32F403A STEP 1 2022-10-01 22:25:13 +08:00
Steve Evans b0d089ec70 Add STM32F411SX1280 unified target
(cherry picked from commit 6d17f3f765208bbf5d4add55efd485ea6f5f4e7e)
2022-07-11 15:25:27 +10:00
Steve Evans ee740d1381 Add support for ICM42605 and ICM42688P for unified targets except STM32F411 (for space reasons) 2022-01-16 12:25:19 +00:00
Dominic Clifton a325e2386d STM32H730 - Initial ST32H730 support.
The H730 is a value-line CPU, similar to the H723/H725, but with only
128kb RAM.

The FC firmware code is designed to RUN from external flash in MEMORY
MAPPED mode, via OctoSPI.  Use of ITCM/DTCM advised for core loops, like
PID control.

A bootloader is required to enable memory-mapped mode and jump to the
firmware, similar to how EXST bootloader system works.

Config storage is not part of this commit and is a problem when using a
single flash chip in memory mapped mode because the CPU can't run
read/write routines from the flash chip while writing to the flash chip.
Until flash read/write routines are updated the solution requires either
a second flash chip on an SPI interface, or the use of an SD card for
config storage.

Additional commits will support read/write of config to the code/data
storage flash chip to enable cheap and space efficient single-flash-chip
FC solutions.

Squashed commits:
STM32H730 - Workaround issue with 2GB `.elf` files being created.
STM32H730 - Reduce firmware size to 1MB.
STM32H730 - Add USB HS configuration.
STM32H730 - Add ADC internal tag mappings.
STM32H730 - Update all ADC mappings based on the referenced ST
documentation.  Add the VBAT channels.
STM32H730 - Fix DMA continuous requests.
STM32H730 - Fix ADC_INTERNAL confusion.
STM32H730/G4 - Disambiguate use of ADC_CHANNEL_INTERNAL_FIRST_ID.
STM32H730 - Fix documentation reference.
STM32H730 - Add DMA request mapping for ADC3.
STM32H730 - Explicitly set the ADC clock.
STM32H730 - Configure PLL2 speeds correctly.

* Tested with Ultrafast 64GB SanDisk SDXC card.

STM32H730 - Use 50Mhz clock for SDXC cards.

* Tested with SanDisk Ultra 64GB.  100Mhz clock gave CRC errors.

STM32H730 - Ensure USB has a lower NVIC priority than the SDMMC card
reads.

If it's higher, 0, then the SDMMC's DMA IRQ handler doesn't get called
when handing USB MSC storage reads.

STM32H730 - Support CPU name in CLI.

STM32H730 - Rebuild when linker scripts changes.
2021-12-23 15:02:23 +01:00
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