Tests are now managed with cmake, with the intention of eventually
moving the whole build system to it. The root Makefile still has
a test target that has been adjusted to call into the appropriate
cmake commands.
Also, GTest library is now downloaded on demand the first time the
tests are run, so we can delete it from the repository.
There's no way to trigger CI on push OR PR, since the CI build
on push is triggered immediately and when the PR is created the
push run is already underway.
Also, make some cosmetic changes to the artifact name to include
the date, inav version and git revision.
We don't clear CFLAGS becase we want to allow them to be passed
via command line. However, when building a target we add our
custom ones once in the first parsing of the Makefile and then
again a second time when we invoke make recursively for each target.
This breaks compilation with -Werror.
To workaround this, save the initial CFLAGS in a variable, then
pass them to the recursive invocation of make.
- Move make/local.mk to the top of the Makefile, so it can
set any variables
- Move target and group definitions to make/targets.mk
- Move settings related rules to make/settings.mk
- Move build-stamp rules to make/stamp.mk
- Define STM32 flash offset in a variable in make/mcu/STM32.mk
- Add make/openocd.mk with openocd-run and openocd-flash targets
- Add make/gdb.mk with gdb-openocd target
* Empty framework to apply RPM filter
* Init gyro RPM filter
* Entry point for Dterm filter
* RPM filter implementation
* Bugfixes
* Fix Dterm fileter bank
* Save RPM filter configuration in blackbox header
* Debug RPM frequency
* Disable PWM servo driver on all F3 boards
* Move RPM filter to ITCM_RAM
* Disable target COLIBRI_RACE as it's out of RAM
* Drop FEATURE in favor of just settings
Generation is enabled by setting the environment variable GENERATE_ASM
to 1. To avoid overwriting files generated by -save-objs, we use
file.txt.S as the filename (-save-objs generates a file.s for each
file.c, and using s and S would break on case insensitive filesystems).
* TIM/DMA abstraction
* Migrage F7 TIM/DMA to HAL_LL
* Refactor timers to use conventional HZ
* Refactor PWM ourput code to use highest possible resolution
* Remove TIMER_OUTPUT_ENABLED
* Temporary disable SPRACINGF3NEO due to out of RAM
To build setting a release suffix of "rc1" use:
FC_VER_SUFFIX=rc1 make <target>
The generated files will use a - to separate the version from its
suffix, respecting semver.
* Initial cut on cleaning up makefile and libraries.
* F3, F4, F7 support
* Add 'make release' to build targets for release
* Introduce BUILD_SUFFIX options; Comment fix
* Fix USB core
* Fix F7 warnings
* Clean up STM32F1 code
* More cleanups of unused files