Clean up cmake files for SITL and fix the compilation issues caused by tooling differences between gcc and clang (used in MacOSX).
SITL on MacOSX still has lots of compile time warnings that need to be addressed and some known issues that prevent it from working with simulators, but those will be addressed in 7.0.
At this point, I don't think MacOSX SITL is ready to be added to the configurator. That should be targeted for 7.0.
Co-Authored-By: EMSR <10240646+shanggl@users.noreply.github.com>
Co-Authored-By: carl <101383042+tcdddd@users.noreply.github.com>
Co-Authored-By: Hugo Chiang <hugo@gyroflow.xyz>
* Get setting default values from settings.yaml
* settings: Make the generator more robust and versatile
- Add support for resolving types and values in multiple compilers
- Add support for resolving types and values in clang 10
- Add support for using the host compiler for resolving the settings
This allows us to run the generator for the unit tests, since they now
need the settings_generated.h file to get the default setting values
from it.
* Fix regexps in settings.rb and add execution bit
* Fix git revision issue
* Fix issue with settings validation
* Fix issue with targets not defining USE_MAG
Co-authored-by: Alberto García Hierro <alberto@garciahierro.com>
Make the version in the CMakeLists.txt the canonical one. Instead
of redefining it in version.h, use command line flags to pass
-DFC_VERSION_{MAJOR,MINOR,PATCH_LEVEL}
- Fix compilation on case sensitive filesystems
- Fix case sensitive paths in F7 drivers
- Fix warnings related to MSC redefinition
- Fix invalid dual gyro definition in FOXEERF722V2
- Remove FURYF3, KFC32F3_INAV and SPRACINGF3EVO from releases
- Always use usbd_storage_sd_spi.c for SDCARD + MSC
- Add targets for SPEEDYBEEF7, FRSKYPILOT and FRSKY_ROVERF7
- Add BUILD_SUFFIX configure-time option
- Add COMPILER_VERSION_CHECK boolean option defaulting to ON
When no alternative toolchain is provided, we explicitely include
the src/tests directory, so the check target (which builds and runs
tests) is available from a main source build without having to
build specifically the src/tests directory
- Rename function for target name definitions to include full MCU
names, so we can support multiple size variants of the same MCU
cleanly
- Add cmake targets for .bin/.hex files from .elf files
- Add targets for bootloader generation
- Add targets for combining the bootloader with the main firmware
- Add openocd_<target>: runs openocd for the target
- Add openocd_flash_<target>: flashes the target using openocd.
It works with both an already running openocd instance as well
as launching its own one. Uses a helper tool that requires python.
- Add openocd_cfg_<target>: generates openocd config for target. Used
for generating an openocd config automatically when launching
a debug session from an IDE.