Commit Graph

14435 Commits

Author SHA1 Message Date
Michael Keller c6041e1ed6
[NUCLEOH743] Add missing USE_ADC (#8383)
[NUCLEOH743] Add missing USE_ADC
2019-06-07 09:19:43 +12:00
Michael Keller c57d858774
Remove second symbol in the Throttle OSD element (#8372)
Remove second symbol in the Throttle OSD element
2019-06-07 09:17:24 +12:00
Michael Keller 62a815bb10
[H7] Use channel member for H7 DMA request (#8382)
[H7] Use channel member for H7 DMA request
2019-06-07 09:16:28 +12:00
Dominic Clifton 0632eeb934 Support compilation of EXST (EXTERNAL STORAGE) targets
- Initial

- Adjust load address of EXST firmware.

- Add helper script to pad an EXST binary to the expected size.

Padded firmware currently required due to a bug in the flash/dfu code
which causes anything less than a flash page size to be truncated when
uploading new firmware via the bootloader DFU.

- Minor linker script cleanups.

- STM32H7.mk change hardcoded TARGET_FLASH (384) to FIRMWARE_SIZE

- Delete unused configuration section entries from linker
scripts.

- Increase EXST firmware size to 448K.
It turns out 384K wasn't enough for a feature-complete firmware.

- Update pad-exst.sh to use 448K by default.

- Move the EXST file generation to the makefile.

[EXST] Embed firmware hash in ELF

- Add debug marker at end of CODE_RAM section.

It was found when transferring firmware to the H7 RAM via a BMP probe
using the 'gdb load' command, that the last few bytes were not
transferred, this debug marker is present to ensure all needed parts of
the firmware are present.

Example memory view of corrupted bytes at end of transfer:
0x2407DFAE  DEB90000 DEB9DEB9 DEB9DEB9 DEB9DEB9  ..¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ
0x2407DFBE  000000B9 00000000 00000000 00000000  ¹...............

should be:
0x2407DFAE  DEB9DEB9 DEB9DEB9 DEB9DEB9 DEB9DEB9  ¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ¹Þ
0x2407DFBE  00000000 00000000 00000000 00000000  ................

- Remove debug marker in EXST firmware.

STM32H750_EXST - Provide space for empty hash.

* Bootloader will run firmware if hash is empty, without re-verifying
RAM content against hash.
* CODE_RAM always shows as 100% usage.

STM32H750_EXST - Use a specific ELF section for a hash.

Two benefits:
1) CODE_RAM no-longer shows 100% full, since it is no-longer
padded/filled.
2) Prepares the code so that objcopy can be used to inject the hash
into the ELF.

STM32H750_EXST - Patch MD5 into ELF.

Process is now as follows.

* Binary generated (via make target dependency) so there is something to
hash.
* Binary copied (and padded).
* MD5 Hash computed.
* xxd patch file generated from hash.
* xxd hash patch applied to copy of binary at correct address.
* elf .exst_hash section dumped.
* hash injected into into dumped section.
* elf .exst_hash section updated with updated dumped section.

Replace EXST with USE_EXST.

Add documentation for the EXST firmware format.

Add table formatting to EXST documentation.

Update bootloader block.

Update H750 EXST linker script to use block format 0x00.

Use .exst.elf and .exst.bin on the exst files.

Add 'no checksum' to list of checksum hash methods.

Update EXST build system so it generates the following sets of files

obj/main/betaflight_TARGET.elf
obj/main/betaflight_TARGET.map
obj/main/betaflight_TARGET_EXST.elf
obj/betaflight_VERSION_TARGET.bin
obj/betaflight_VERSION_TARGET.bin.md5
obj/betaflight_VERSION_TARGET_EXST.bin

Update EXST build system to be more user-friendly.

* user-flashable files are generated in the normal place.
* Intermediate files are generated in `obj/main/...`
* Removes the `exst` goal.
* Adds .hex generation for EXST builds based on the patched .elf.

To build EXST targets, simply use `make TARGET=x` as normal and flash
the resulting `.hex/.bin` files rather than the .exst.bin file.

Developers can use either the `.elf` or patched `_EXST.elf` file as is
appropriate for their needs.

EXST documentation updated to match changes to build system.
2019-06-07 09:14:49 +12:00
jflyper 76b508d17a [H7] Fix timer_def.h for TIM13 and TIM14 2019-06-06 15:23:04 +09:00
Michael Keller 0c8c671cde
Support MPU6000 for KakuteF7 (#8375)
Support MPU6000 for KakuteF7
2019-06-06 03:11:32 +12:00
Michael Keller b5b18863dc
Fix GPS coordinate in the OSD between 0 and -1 (#8374)
Fix GPS coordinate in the OSD between 0 and -1
2019-06-06 01:33:16 +12:00
jflyper 97602c13b3 [NUCLEOH743] Add missing USE_ADC 2019-06-05 18:14:46 +09:00
jflyper e18c4ec662 [H7] Use channel member for H7 DMA request 2019-06-05 18:13:17 +09:00
Michael Keller d486c47bc1
Removed 'slots' from the adjustment range configuration. (#8369)
Removed 'slots' from the adjustment range configuration.
2019-06-05 18:51:02 +12:00
Michael Keller d3a70bc635 Added comment about removed parameter in CLI. 2019-06-05 13:30:30 +12:00
Miguel Angel Mulero Martinez a12f425325 Fix GPS coordinate in the OSD between 0 and -1 2019-06-04 16:47:18 +02:00
Michael Keller 5918177be9
[ADC] Remove bogus inclusion of drivers/accgyro/accgyro.h (#8373)
[ADC] Remove bogus inclusion of drivers/accgyro/accgyro.h
2019-06-05 01:08:28 +12:00
Michael Keller 32416c7972
Baro fixes 1 (#7711)
Baro fixes 1
2019-06-05 01:07:24 +12:00
Michael Keller d16efe6885
SPRACINGF3NEO - Remove some unneeded target config. (#8332)
SPRACINGF3NEO - Remove some unneeded target config.
2019-06-05 01:02:56 +12:00
mikeller 56f3788cff Fixed tests for adjustment ranges. 2019-06-05 00:56:41 +12:00
mikeller 75b1c0d4ce Removed 'slots' from the adjustment range configuration. 2019-06-05 00:56:37 +12:00
Dominic Clifton 2c468ec334 SPRACINGF3NEO - Remove some unneeded target config.
The defaults in pgResetFn_barometerConfig and pgResetFn_compassConfig
are fine.
2019-06-04 14:05:38 +02:00
Michael Keller c28e7cf8e3
[H7] Remove excess member from timerHardware_s (#8368)
[H7] Remove excess member from timerHardware_s
2019-06-04 21:14:54 +12:00
jamming 898ba30cca Support MPU6000 for KakuteF7 2019-06-04 09:03:25 +08:00
jflyper 0b434369d0 Remove bogus inclusion of drivers/accgyro/accgyro.h 2019-06-03 22:28:48 +09:00
Miguel Angel Mulero Martinez 97d87bd16b Change the home symbol to free the triangle character in OSD 2019-06-03 11:39:48 +02:00
Miguel Angel Mulero Martinez ba99bdae21 Remove second symbol in the Throttle OSD element 2019-06-03 08:44:45 +02:00
Michael Keller 5673310277
Fixed typo in help text for CLI 'timer' command. (#8365)
Fixed typo in help text for CLI 'timer' command.
2019-06-03 16:09:34 +12:00
jflyper f0e5363703 Remove excess member from timerHardware_s 2019-06-02 21:32:03 +09:00
Michael Keller 7f715143da
Consolidate F7 and H7 VCP HAL code except usbd_conf.c (#8364)
Consolidate F7 and H7 VCP HAL code except usbd_conf.c
2019-06-02 16:45:29 +12:00
mikeller cb207e4637 Fixed typo in help text for CLI 'timer' command. 2019-06-02 12:19:16 +12:00
Michael Keller 2b19e8ced8
Use the new Speed and Flight Distance OSD symbols (#8348)
Use the new Speed and Flight Distance OSD symbols
2019-06-01 22:27:40 +12:00
Michael Keller e713cf0bdd
[VIVAF4AIO] Fix for non-working ACC (#8349)
[VIVAF4AIO] Fix for non-working ACC
2019-06-01 21:55:38 +12:00
Michael Keller ee1fbc8711
Merge pull request #8356 from IllusionFpv/gps-new-descent-distance-fix
Add minimum descent distance
2019-06-01 21:47:38 +12:00
Michael Keller 23ff506241
Clean up use of MAX7456_SPI_CLK and MAX7456_RESTORE_CLK (#8358)
Clean up use of MAX7456_SPI_CLK and MAX7456_RESTORE_CLK
2019-06-01 21:42:03 +12:00
Michael Keller dd2c83f6a4
[SmartAudio] Fixed power logic for SA2.0 and 1.0 (#8350)
[SmartAudio] Fixed power logic for SA2.0 and 1.0
2019-06-01 21:39:28 +12:00
jflyper 6beeca38c3 Consolidate F7 and H7 VCP HAL code except usbd_conf.c 2019-06-01 11:57:50 +09:00
blckmn 80d4a0339a Removing VIVAF4AIO target 2019-06-01 11:27:15 +10:00
Nicola De Pasquale f6bd706cb7 This is a combination of 4 commits.
prevents newDescentDistanceM variable from going negative

fix lineSlope and lineOffsetM too

better solution

removed spaces
2019-05-31 20:47:31 +02:00
root dd388ff20d typo in src/main/drivers/max7456.c 2019-05-31 02:20:13 +00:00
root 77e2a1e29e Clean up use of MAX7456_SPI_CLK and MAX7456_RESTORE_CLK
These are set in many targets, but they are exactly the same as set in #6871

Notable exceptions: NOX, IMPUSERCF3 are set to clock data into the MAX7456 at 5MHz
2019-05-31 02:06:12 +00:00
functionpointer 7f4ef5f2d6 [SmartAudio] improved readability of vtxSASetPitMode 2019-05-30 23:49:04 +02:00
Miguel Angel Mulero Martinez 26f5c02331 Make OSD Speed fixed length 2019-05-30 19:18:47 +02:00
functionpointer 1b710ca3c8 [SmartAudio] fix variable names 2019-05-29 15:45:44 +02:00
functionpointer dc26a83bce [SmartAudio] Fixed power logic for SA2.0 and 1.0
The SmartAudio implementation now uses indices of vtxTable in saDevice.power. This requires an index lookup in saProcessResponse, which was previously only present for SA2.1 devices.
2019-05-28 17:00:07 +02:00
Michael Keller 2f3288502d
adjust Ki to keep total i action the same and reduce abs control defa… (#7907)
adjust Ki to keep total i action the same and reduce abs control defa…
2019-05-28 22:06:09 +12:00
Michael Keller ca6cd75eb3
Changed 'timer' output to list timers based on alternate function. (#8320)
Changed 'timer' output to list timers based on alternate function.
2019-05-28 20:56:24 +12:00
blckmn 424b5f6a45 Fix for broken ACC on VIVAF4AIO 2019-05-28 18:37:48 +10:00
Miguel Angel Mulero Martinez 1dc7cd24ba Use the new Speed and Total Distance OSD symbols 2019-05-27 20:01:03 +02:00
mikeller aa1c7025d1 Converted Unified Target configurations to use alternate functions. 2019-05-28 00:28:02 +12:00
Michael Keller 662b66e91c
Use full erase when possible for FLASHFS erase - fixes single partition targets (#8343)
Use full erase when possible for FLASHFS erase - fixes single partition targets
2019-05-27 23:19:14 +12:00
Michael Keller be03be6bd0
Fix flash m25p16 driver sector erase (#8342)
Fix flash m25p16 driver sector erase
2019-05-27 23:15:54 +12:00
Michael Keller 0d66e65f91
Updated message for no-response bot. (#8341)
Updated message for no-response bot.
2019-05-27 23:15:33 +12:00
Thorsten Laux f0bf7a2955 adjust Ki to keep total i action the same and reduce abs control default to 5 2019-05-27 23:13:06 +12:00