Commit Graph

17297 Commits

Author SHA1 Message Date
Steve Evans 20e41b5f66 Reduce number of OSD bytes transferred in polled mode 2021-12-28 01:06:32 +00:00
Mark Haslinghuis 4c6075b52b Fix Fedora Development Documentation 2021-12-28 01:18:09 +01:00
Martin Luessi d464dd7378 SPI: fix compilation on F4 when DSHOT_BITBANG is not used 2021-12-27 12:02:41 -08:00
Martin Luessi da849318b3 Fix SPI sequencing in spiInternalReadWriteBufPolled for H7 2021-12-26 11:54:03 -08:00
Tony Cabello dedb2a115b fix for gps coordinates not shown on OSD 2021-12-26 16:32:31 +01:00
Jan Post 5933d96bc3
Merge pull request #10613 from hydra/bf-h7adc-configuration
Allow H7 targets to specify an ADC device and channel
2021-12-23 19:20:23 +01:00
Dominic Clifton ea69db0400 Allow H7 targets to specify an ADC device for each channel and a default
ADC device in case of resource re-mapping conflict.

This allows a single ADC device to be used for all channels, which can
free up DMA channels.

For the H7 this makes much more sense because the TEMP and VREF channels
are ALWAYS on ADC3, so using ADC3 for other pins is optimal.

The previous behaviour was to use the first instance for that supported
the pin.  This behavour is only used when the configured default DMA
device does not support the pin.

e.g.

```

possible.

```

The above config would no-longer use ADC1 for anything, as ADC2 and ADC3
can satisfy all the ADC requirements.
2021-12-23 18:42:30 +01:00
Š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