Štěpán Dalecký
474fddd08a
Merge pull request #10695 from hydra/bf-stm32h730-cpu-support
...
Initial STM32H730 CPU Support
2021-12-23 18:35:19 +01: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
Dominic Clifton
0b7fcb7df4
STM32H7 - Use FAST_CODE on all HOT ISRs to avoid flash access on targets where
...
FAST_CODE functions are placed in RAM.
2021-12-23 15:02:12 +01:00
Dominic Clifton
37412289dd
STM32H7 - Cleanup clock configuration and add frequency calculation
...
comments.
2021-12-23 12:36:02 +01:00
Dominic Clifton
9a70c8b176
STM32H7 - Add support for compiling H725 and A3x.
2021-12-23 12:36:02 +01:00
Dominic Clifton
121ebe7fe3
STM32H7 - Add support for GPIO Port I to def_generated source. Rebuild
...
io_def_generated.h
2021-12-23 12:36:02 +01:00
Dominic Clifton
faa1fdc3d6
STM32H7 - Cleanup HAL configuration. No settings changed, just updates
...
based on latest hal config template file.
2021-12-23 12:36:02 +01:00
Dominic Clifton
8b897bdcd7
STM32H7 - Update HAL configuration and enable OSPI module.
2021-12-23 12:36:02 +01:00
Dominic Clifton
4fcf752655
Fix objcopy 'memory exhausted' error when extracting the EXST hash
...
section.
References:
* https://stackoverflow.com/questions/5235009/huge-binary-files-with-objcopy
2021-12-23 12:36:02 +01:00
Dominic Clifton
115a584713
HAL - Fix issues with HAL USB timeouts on fast processors.
...
* Occurs more frequently on >=480Mhz CPUs.
* Occurs more frequently on RELEASE builds due to optimizations.
Patch comes from here:
https://community.st.com/s/question/0D50X0000BCMFx0SQH/usbhs-ulpi-on-stm32h750
Confirmed fixed on H730 @ 520Mhz RELEASE build.
2021-12-23 12:36:02 +01:00
Štěpán Dalecký
bfff89c112
Merge pull request #11141 from ctzsnooze/disable-EXTI-for-Nox-until-bugfix-found
2021-12-23 11:12:44 +01:00
Jan Post
a708578c5e
Merge pull request #11149 from daleckystepan/get_rid_of_double_math_512kb
...
Get rid of double math on <512kB targets
2021-12-23 09:04:54 +01:00
Štěpán Dalecký
ac7774cc73
Merge pull request #10762 from g3gg0/add_SK6812_RGBW
...
add SK6812 RGBW 4-channel LEDs
2021-12-23 08:57:14 +01:00
g3gg0
ca6c495f46
add SK6812 RGBW 4-channel LEDs, which are compatible to WS2812 except for the fourth color channel
2021-12-23 01:12:02 +01:00
J Blackman
5e931169f2
Merge pull request #11134 from daleckystepan/disable_olc_on_low_flash
2021-12-23 10:53:28 +11:00
Štěpán Dalecký
12dc2eb3fb
Get rid of double math on <512kB targets
2021-12-23 00:15:57 +01:00
haslinghuis
4f0d4b81b1
Merge pull request #10788 from phobos-/express-lrs
...
ExpressLRS over SPI - sx1280 and sx1276 support
2021-12-22 23:46:03 +01:00
haslinghuis
509303ee2e
Merge pull request #11011 from SteveCEvans/dshot_defaults
...
Dshot dshot_bitbang=AUTO behaviour change for non-F4
2021-12-22 23:32:24 +01:00
Štěpán Dalecký
f2f4f817f8
Disable OLC on low flash target to save around 5kB
2021-12-22 23:28:58 +01:00
haslinghuis
9e2002b969
Merge pull request #11096 from mathiasvr/float-math
...
Fix use of floating point math functions
2021-12-22 23:26:00 +01:00
haslinghuis
d293e45f57
Merge pull request #11143 from KarateBrot/noiseFloor
...
Enhance SDFT noise floor
2021-12-22 09:15:26 +01:00
ctzsnooze
32bc45ba29
disable GYRO_EXTI when Gyro and OSD share the same bus
2021-12-22 17:28:25 +11:00
ctzsnooze
790a904cfd
Merge pull request #11098 from mathiasvr/static-opt
...
Optimize rescueAttainPosition()
2021-12-22 15:34:27 +11:00
haslinghuis
03bbc575c3
Merge pull request #11145 from SteveCEvans/task_ave
...
Calculate moving sum delta time in 10ths us
2021-12-22 01:55:49 +01:00
Steve Evans
877adf4634
Calculate moving sum delta time in 10ths us
2021-12-21 18:49:42 +00:00
phobos-
e00a3abc59
ExpressLrs v2.0.0 support
2021-12-21 17:59:47 +01:00
KarateBrot
705e93431d
Enhance SDFT noise floor
2021-12-21 07:51:29 +01:00
Mathias Rasmussen
87c259a26e
Fix use of floating point math functions
2021-12-21 04:18:59 +01:00
Štěpán Dalecký
4c034d67ee
Merge pull request #11099 from DusKing1/fix-aligning-in-osd-code
...
Fix code aligning in osd_elements.c
2021-12-21 01:45:58 +01:00
J Blackman
cfa5df3eea
Merge pull request #10921 from TonyBlit/m9n_support
...
Added m9n support
2021-12-21 10:34:57 +11:00
haslinghuis
b745eaf284
Merge pull request #11111 from SteveCEvans/cms_slider_ro
...
Make CMS fields readonly when overridden by a slider and mark with an S
2021-12-21 00:33:59 +01:00
ctzsnooze
4ded9f60c3
Merge pull request #11136 from SteveCEvans/guard_tweak
...
Increase task guard margin to 3us
2021-12-21 10:22:53 +11:00
haslinghuis
eb881efba1
Merge pull request #11114 from limonspb/msp_request_sliders_calculations
...
MSP commands for calculating/requesting but not setting simplified tuning/values
2021-12-21 00:10:57 +01:00
ctzsnooze
961589c1c9
Merge pull request #11135 from SteveCEvans/gps_serial
...
If GPS serial data remains, reschedule task to run again after 1ms
2021-12-21 08:43:11 +11:00
Steve Evans
7f147479fc
If GPS serial data remains, reschedule task to run again after 1ms
2021-12-20 07:48:06 +00:00
Tony Cabello
2f89cf3cc4
m9n support
2021-12-20 07:55:41 +01:00
Steve Evans
5c4f3c6b70
Increase task guard margin to 3us
2021-12-20 00:42:06 +00:00
ctzsnooze
aa4f0f7517
Merge pull request #10972 from SteveCEvans/ledstrip_dim
...
Add ledstrip_brightness to control LED strip brightness by percentage
2021-12-20 10:30:59 +11:00
ctzsnooze
db242cb161
Merge pull request #11033 from SteveCEvans/late_led_strip
...
Fix peaky task duration estimation
2021-12-20 10:27:05 +11:00
haslinghuis
35e6e1e9c7
Merge pull request #11113 from ctzsnooze/de-duplicate-all-blackbox-names
...
deduplicate more blackbox names
2021-12-19 19:02:08 +01:00
Ivan Efimov
d5c31accdf
FW sliders: separate MSP commands for requesting calculations but not applying them into the FW
2021-12-19 04:00:50 -06:00
Steve Evans
d94a78cb3e
Reduce timing margins
2021-12-18 13:36:55 +00:00
haslinghuis
4b44378b4d
Merge pull request #10694 from hydra/bf-spi-fixes-1
...
Fix missing SPI5/6 configuration.
2021-12-18 00:33:51 +01:00
haslinghuis
282e9f6350
Merge pull request #11131 from klutvott123/remove-shared-msp-buffer
...
Remove shared MSP buffer
2021-12-18 00:29:13 +01:00
haslinghuis
8cbd562dca
Merge pull request #11103 from klutvott123/fix-telemetry-displayport-init
...
Fix telemetry displayport initialisation
2021-12-18 00:16:22 +01:00
haslinghuis
bc0c8ce0da
Merge pull request #11123 from KarateBrot/dynNotchGainFix
...
Fix dynamic notch PT1 gain
2021-12-18 00:13:53 +01:00
haslinghuis
cc2b28a290
Merge pull request #11116 from KarateBrot/batchSizeFix
...
Fix SDFT batch size
2021-12-18 00:12:51 +01:00
Steve Evans
29d221502e
Use peak tracking as default for task duration estimation rather than a moving average
2021-12-17 22:09:52 +00:00
J Blackman
bfd597a449
Merge pull request #10813 from SteveCEvans/osd_task_timing
2021-12-18 08:17:07 +11:00
Steve Evans
ab1baccc66
Track state execution time for OSD, baro, rx and GPS tasks and inform scheduler of next state execution time
2021-12-17 15:40:01 +00:00