Commit Graph

1078 Commits

Author SHA1 Message Date
Peter van der Perk 9f97793491 Generate C/C++ header to expose px4board kconfig symbols to the preprocessor 2022-02-02 13:23:21 -05:00
Jukka Laitinen 51ceb9a85e Add support for compiling modules into kernel side
Define __KERNEL__ macro during compilation and place the module in separate library

Remove default library linking to m or libc on NuttX. Add these in platform layer instead, since
they are different on kernel and user side

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Julian Oes 2cbc993976 Add clusterfuzzlite to fuzz in CI 2022-01-07 10:17:12 -05:00
Julian Oes 9eda5b373c posix: add fuzz testing using MAVLink messages
This adds the env option PX4_FUZZ which runs the LLVM libFuzzer which
throws random bytes at mavlink_receiver using MAVLink messages over UDP.

The MAVLink messages that are being sent are valid, so the CRC is
calculated but the payload and msgid, etc. are generally garbage, unless
the fuzzing gets a msgid right by chance.

As I understand it, libFuzzer watches the test coverage and will try to
execute as much of the code as possible.
2022-01-07 10:17:12 -05:00
Daniel Agar 38af93085b linux_pwm_out: use PWM_MAIN parameter prefix
- this keeps things simpler for now across the old and new output
configuration
2021-12-23 15:57:11 -05:00
Beat Küng 10f49c99ef px4_add_gtest.cmake: add optional COMPILE_FLAGS, INCLUDES, EXTRA_SRCS and LINKLIBS 2021-12-10 09:03:08 -05:00
Beat Küng aa96e39306 kconfig: do not inherit for recovery.px4board from default.px4board 2021-12-10 09:03:08 -05:00
Jukka Laitinen a537925c3c Fix a build error with crypto variants
There was an error that PX4_CRYPTO was cached accross variants, if it was
defined just for one variant.

This synchronizes the caching of BOARD_CRYPTO with other similar BOARD_ flags;
it is set as INTERNAL and "1" when enabled.

Also remove handling of BOARD_KEYSTORE; it is not used anywhere after
changing the crypto under src/drivers. If a separate keystore driver
is required, it is just selected as any other driver in px4board

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-12-01 09:28:02 -05:00
Beat Küng 93a54ee63d metadata: fix generic param metadata generation
Adds the module.yaml params that was previously split into a separate file.
2021-11-23 12:40:22 -05:00
Beat Küng b94c5db55d component_information: add actuators json generation & CI deployment 2021-11-23 12:40:22 -05:00
Daniel Agar 24090b724c cmake: px4_add_module improve unity build dependencies to avoid unnecessary work 2021-11-19 09:13:07 -05:00
Daniel Agar f5d9b01f5c
NuttX build in place
- cmake NuttX build wrapper compile in place instead of copying source tree to build directory
    - slightly faster skipping necessary copying (depending on system)
    - allows debugging in place
    - easier to work directly in NuttX following official documentation
    - simplifies overall build which should make it easier to resolve any remaining NuttX dependency issues in the build system
 - the downside is switching back and forth between different builds always require rebuilding NuttX, but I think this is worth the improved developer experience
 - also no longer builds px4io and bootloader in every single build, for most users these rarely change and we're wasting a lot of build time
2021-11-15 18:47:38 -05:00
Jacob Crabill 5969508fa7
mavlink: cmake generate mavlink headers at build time
- mavlink/mavlink is now directly included as a submodule instead of the generated mavlink/c_library_v2
 - this also switches to mavlink development.xml by default
2021-11-05 23:01:38 -04:00
Daniel Agar be5c5856e7 cmake: px4_add_module always add module to PX4_MODULE_PATHS so that parameters aren't pruned 2021-10-27 23:00:40 -04:00
Beat Küng 8476875b4d Kconfig: add missing serial ports 2021-10-27 08:03:55 +02:00
mcsauder 21163d859e Whitespace cleanup. 2021-10-19 13:29:26 -04:00
Beat Küng ab1d76ae7d params: use PWM_MAIN_* instead of PWM_FMU_* 2021-10-18 18:45:19 -04:00
Peter van der Perk 3de5623556 Kconfig remove defconfig in root directory after gen
Cleanup fmu configs
2021-10-07 10:09:01 -04:00
Peter van der Perk 6b7237aa3a Kconfig add WIFI serial port option 2021-10-07 10:09:01 -04:00
Peter van der Perk 96994b82bb Kconfig cmake change rm to remove to remain compatible with CMake older then 3.17 2021-10-07 10:09:01 -04:00
Peter van der Perk bb7b033e11 Kconfig backport #18259 & remove contrained flash depedency on NO_HELP 2021-10-07 10:09:01 -04:00
Peter van der Perk c3c9910f04 Backport #17814 to Kconfig 2021-10-07 10:09:01 -04:00
Peter van der Perk 7c6b995cb4 [Kconfig] Replace find_executable by python module, moved python check before calling kconfig 2021-10-07 10:09:01 -04:00
Peter van der Perk f7803fb686 [Kconfig] Bloaty 2nd pass 2021-10-07 10:09:01 -04:00
Peter van der Perk efc91d2b69 [Kconfig] Fixed inclusion of microbench bydefault when TESTING was enabled
Added full optimization option
2021-10-07 10:09:01 -04:00
Peter van der Perk d4fbd5674e [Kconfig] Change patern matching order so that xx_xx doesnut result xx if it exists 2021-10-07 10:09:01 -04:00
Peter van der Perk b3e799e277 [Kconfig] Add all distance sensors 2021-10-07 10:09:01 -04:00
Peter van der Perk 5542402ca0 [Kconfig] CI fixes and SITL fix 2021-10-07 10:09:01 -04:00
Peter van der Perk 21e6547ac7 [Kconfig] Toolchain & platform fixes, SITL still broken 2021-10-07 10:09:01 -04:00
Peter van der Perk c2ad07b983 [Kconfig] Don't inherit kconfig when bootloader (and canbootloader) 2021-10-07 10:09:01 -04:00
Peter van der Perk 6af0477733 [Kconfig] Gnerate px4board from old cmake
Added make updateconfig to update all config when default's have changed
Added cmake to px4board conversion script
2021-10-07 10:09:01 -04:00
Peter van der Perk 815617e670 Added common options for sensor drivers
uavcan_board_identity check for existance
Added kconfig for compiler definitions
2021-10-07 10:09:01 -04:00
Peter van der Perk 82888d3320 [Kconfig] Merge/diff fixes and added some FMUv5 targets 2021-10-07 10:09:01 -04:00
Peter van der Perk ea393b54d9 [Kconfig] non-default labels config inherit default.px4board config 2021-10-07 10:09:01 -04:00
Peter van der Perk b7f03cec5e [Kconfig] Add FMU-V5 and PX4-IOv2 px4board config 2021-10-07 10:09:01 -04:00
Peter van der Perk 56472eeed7 Completely removed px4_add_board 2021-10-07 10:09:01 -04:00
Peter van der Perk 57593cc56a Initial attempt to make px4_add_board obsolute 2021-10-07 10:09:01 -04:00
Peter van der Perk 7aa28ba9cd Kconfig remove clean use configure depends and apps timestamp instead 2021-10-07 10:09:01 -04:00
Peter van der Perk a0821afafd [Kconfig] Move UAVCANv0 num interfaces to Kconfig 2021-10-07 10:09:01 -04:00
Peter van der Perk 29c4d234ec Add make clean after boardconfig configure 2021-10-07 10:09:01 -04:00
Peter van der Perk 787b9b54e1 Board config now saved as defconfig which is smaller and friendlier for version control 2021-10-07 10:09:01 -04:00
Peter van der Perk 8df21b0b42 Changed CMake warning to status to not kill the CI
Furthermore removed obsolete uavcanconfig target
2021-10-07 10:09:01 -04:00
Peter van der Perk 7a747b43f6 Initial boardconfig working with FMUK66 2021-10-07 10:09:01 -04:00
Peter van der Perk 4044fbd4a0 Initial Kconfig implementation in CMake
Used fmuk66-v3 as test case
2021-10-07 10:09:01 -04:00
bresch 5874b1f87c mc atune: add module to all targets
- adjust flash constrianed targets to fit
2021-10-02 18:12:05 -04:00
Jukka Laitinen 6b22fe99b7 Globally define -DPX4_CRYPTO when the board defines some crypto backend
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-09-27 17:45:07 +02:00
Beat Küng 0e1f3a2d62 px4_add_board: infer VENDOR, MODEL & LABEL from cmake file name 2021-08-03 10:36:25 +02:00
David Sidrane ced366b74e Add Option NO_HELP for CONSTRAINED_FLASH system 2021-07-30 22:35:02 -04:00
Daniel Agar 65745a3676 purge broken qurt support and atlflight boards 2021-07-16 08:53:36 -04:00
Beat Küng 7144566afe metadata.cmake: ensure events directory exists & add px4 enums 2021-07-08 16:29:37 -04:00