Commit Graph

369 Commits

Author SHA1 Message Date
Andrew Tridgell 52481e8355 waf: require gcc 10.2 or later for ChibiOS 2023-04-25 11:29:28 +10:00
Peter Barker 0d8512cdfb Tools: tidy external baro probing 2023-04-23 08:28:55 +10:00
Andrew Tridgell 402de293d6 Tools: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell c53e5eaafc Tools: cleanup more defines and classes 2023-04-11 10:31:31 +10:00
Andrew Tridgell 47a73d2c8f waf: fixed build with CANFD and TAO for sitl_periph_gps 2023-04-10 14:46:54 +10:00
Andrew Tridgell cb4b27042c waf: build sitl periph GPS as 64 bit 2023-04-10 14:46:54 +10:00
Andrew Tridgell 85d4024e64 waf: allow for 64 bit CAN builds 2023-04-10 14:46:54 +10:00
Andrew Tridgell 75ed340efa waf: rename UAVCAN to DroneCAN 2023-04-08 07:11:23 +10:00
Andy Piper c7bd87ce33 waf: disable watchdogs on debug builds 2023-03-29 20:49:40 +11:00
bugobliterator 56068e65c6 waf: add support for multithreaded register/unregister of DroneCAN handlers 2023-03-29 17:16:39 +11:00
bugobliterator 50bfa516bc waf: add support for dronecan on linux 2023-03-29 17:16:39 +11:00
bugobliterator 0e80802f69 waf: replace libuavcan with libcanard for vehicle builds 2023-03-29 17:16:39 +11:00
Ryan Friedman c7cac9abae waf: Add building DDS client to waf
* Had to ignore pre-commit hooks for isort and mypy since there are unrelated broken issues in the file

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
Co-authored-by: Arsh Pratap <arshpratapofficial@gmail.com>
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2023-03-22 09:22:36 +11:00
Peter Barker 7995bc5175 Tools: add and use option to compile SLCAN support out of code 2023-03-15 19:08:09 +11:00
Peter Barker 956b66f1f2 Tools: specify compass feature enables for periph in chibios_hwdef.py 2023-03-12 09:35:35 +11:00
Peter Barker f5cc7b206d Tools: rename HAL_SCHEDULER_ENABLED to AP_SCHEDULER_ENABLED
there's AP_HAL::Scheduler which confuses this
2023-02-28 11:26:04 +11:00
Peter Barker debb5c24b3 Tools: add waf argument to get consistent builds 2023-02-17 20:48:45 +11:00
Peter Barker d08e3dec8a Tools: add simple CSV reader 2023-01-17 11:21:48 +11:00
Andrew Tridgell 6d2e060deb waf: add -fcheck-new to g++ build
this ensures the compiler doesn't assume that new always returns a
non-NULL value. Without this the compiler may remove the error path in
code like this:

```
MyObject *x = new MyObject;
if (x == nullptr) {
  ::printf("Alloc failed\n");
}
```

the reason it can do this is the new operator is marked as throwing an
exception on failure, which means the error path is unreachable. As we
don't have C++ exceptions in ArduPilot could (and do!) have code that
ends up losing protection against allocation failures
2023-01-09 15:04:22 +11:00
Wiktor Maslowski 99f6a31188 Tools: fixed builds for ESP32 2022-11-28 12:23:07 +11:00
bugobliterator e4ada09fc3 waf: use bld for dronecangen export headers for including 2022-11-16 18:05:59 +11:00
Peter Barker 218409c490 Tools: look for AP_GyroFFT rather than HAL-DSP support 2022-11-05 14:52:10 +11:00
Andrew Tridgell 3abdc6ad25 waf: added --enable-gps-logging 2022-10-15 17:20:42 +11:00
Peter Barker 5aae259fd5 waf: no CANMANAGER on sitl_periph_gps 2022-09-20 09:39:48 +10:00
bugobliterator 19856ee6e8 waf: setup defines for CANARD multi can support 2022-09-08 13:37:55 +10:00
Andrew Tridgell b55ee297d8 waf: allow setting signing key as part of configure with --private-key
makes for faster development with signed bootloaders
2022-09-05 12:35:37 +10:00
esaldiran 661a525dc1 waf: add --enable-custom-controller build option 2022-08-30 13:10:09 +10:00
bugobliterator 3f951c3e0b waf: add support for secure bootloader 2022-08-30 10:51:06 +10:00
Andrew Tridgell a82758bc3e waf: allow opendroneid on sitl on cygwin and macos
should be now with the structure changes
2022-08-24 18:08:40 +10:00
Peter Barker dab9e00dc7 Tools: rename HAL_MISSION_ENABLED to AP_MISSION_ENABLED 2022-08-18 22:49:10 +10:00
Andrew Tridgell c955c75b9d waf: allow for --enable-opendroneid on any board
useful for testing
2022-08-15 12:45:06 +10:00
Andrew Tridgell df75c1796a waf: added --enable-check-firmware option 2022-08-15 09:18:34 +10:00
Joshua Henderson 68360571d1 Tools: ardupilotwaf add OpenDroneID lib 2022-08-09 14:37:08 +10:00
Peter Barker c0243772b4 waf: add --define command-line option
Allows CPP defines to be specified on command-line

Eases enable/disable of optional features
2022-07-19 09:09:05 +10:00
Peter Barker 6c17fd7bac waf: build Richenpower on SITL by default 2022-07-19 09:09:05 +10:00
Andrew Tridgell 4d4a1ddd42 waf: setup UBSAN_ENABLED define 2022-07-12 11:00:08 +10:00
Andrew Tridgell acf56204f2 waf: added --ubsan and --ubsan-abort options 2022-07-12 11:00:08 +10:00
Pierre Kancir 2cca370a74 Tools: ardupilotwaf: remove useless shebang on non exec files 2022-06-08 08:16:42 +09:00
bugobliterator 7770c960c9 waf: add support for CANFD in SITL 2022-03-27 06:07:34 -07:00
Peter Barker 4c8fc3bcaf waf: split AP_HAL_SITL and AP_SIM_ENABLED 2022-03-17 14:39:55 +11:00
Peter Barker 1a58b3b025 waf: disable airspeed on sitl_periph_gps 2022-03-15 08:52:37 +11:00
bugobliterator 47e710c21a waf: enable tao option for sitl_periph_gps 2022-03-11 18:13:54 +11:00
bugobliterator 79f55e7aad waf: enable option for setting TAO state 2022-03-11 18:13:54 +11:00
Siddharth Purohit 5e54871d82 ardupilotwaf: set flags for CANFD support as applicable 2022-03-11 18:13:54 +11:00
Andrew Tridgell ad88f3e1e8 waf: added --save-temps configure option
linking fails with this option, but the ii files are produced, which
is what is needed for diagnosing cache issues
2022-02-23 12:36:59 +11:00
Andrew Tridgell d07d5a7082 waf: removed g++ command line differences between similar boards
don't put board name on g++ command line
2022-02-22 12:13:19 +11:00
Andy Piper 3f7a726970 waf: add linker map on linking 2022-02-09 12:47:55 +00:00
Peter Barker 410507d54d waf: include integer version of GIT_VERSION (hash) 2022-02-09 18:32:38 +11:00
Willian Galvani 2b9d56c252 Tools: embed default.param files for Linux boards 2022-02-01 17:35:26 +11:00
Pierre Kancir d9c562cfae Tools: add HAL_COVERAGE_BUILD for coverage build 2022-01-12 12:31:56 +11:00
bugobliterator 9eb3a976bc waf: allow build with ardupilot as a module 2021-12-20 12:47:25 +11:00
Nick Exton 5f74333559 waf: only enable -Wsizeof-pointer-div for gcc v8.4 or greater
The -Wsizeof-pointer-div option doesn't exist in gcc v7.5, which is the
version used by Ubuntu 18.04 LTS. It does exist in v8.4.
2021-11-26 11:46:04 +11:00
Peter Barker a93da420c8 waf: make maybe-uninitialised and duplicated-cond errors 2021-11-24 18:26:17 +11:00
Peter Barker a2961ede8f waf: add -Wsizeof-pointer-div 2021-11-24 18:26:17 +11:00
Peter Barker 8ae1a58eae Tools: move from ENABLE_SCRIPTING to AP_SCRIPTING_ENABLED 2021-11-15 20:27:40 +11:00
Peter Barker b83cf3a431 waf: ensure ENABLE_SCRIPTING is always defined 2021-11-15 20:27:40 +11:00
Buzz 228fafeffe Tools: add esp32 support
see libraries/AP_HAL_ESP32/README.md for more.

Author: Charles Villard <charlesvillard10@gmail.com>
Author: Buzz <davidbuzz@gmail.com>
2021-11-01 17:40:31 +11:00
bugobliterator eee7e6cadf waf: add defines for use in CrashCatcher Flash dump 2021-10-30 19:24:57 +11:00
bugobliterator 2223698c47 waf: don't build libuavcan library for AP_Periph builds 2021-10-14 20:13:06 +11:00
Peter Barker 376e7d2a21 Tools: add simulated RAMTRON device 2021-10-12 20:01:49 +11:00
Peter Barker b2a7841672 Tools: allow for selection of Storage backend type at runtime 2021-10-05 10:16:54 +11:00
Pierre Kancir 040a5dffb9 Tools: fix missing warning on Clang 2021-09-30 08:22:40 +10:00
Josh Henderson 27bb200644 Tools: add sitl_32bit board type for sim_vehicle & autotests 2021-09-28 09:15:11 +10:00
Peter Barker 76e2db952b Tools: move from HAL_NO_GCS to HAL_GCS_ENABLED 2021-09-22 21:37:00 +10:00
Pierre Kancir 41788d7b2e Tools: add more compilation warning flags 2021-09-22 18:06:48 +10:00
bugobliterator b8749b776a waf: configure compileCommands json based on the configured board 2021-09-22 17:35:31 +10:00
Mohammad Hefny 705acb26c6 Tools: define obal board 2021-09-10 08:17:37 +10:00
bugobliterator 5940cfac8a waf: move SRCROOT env variable setting to common Board class 2021-09-01 17:10:53 +10:00
Siddharth Purohit f15f5e9334 waf: create separate image sections for internal and external flash 2021-09-01 17:10:53 +10:00
Peter Barker 784d1ddf7c waf: check for AP_PERIPH define in hwdef includes 2021-08-25 10:09:23 +10:00
Andrew Tridgell 54d92551d1 waf: add files from ROMFS_custom to ROMFS
this allows for lua scripts in the root of the source tree as ROMFS_custom/scripts/*.lua

it also allows for any other custom data files that may be
needed. This is cleaner for custom scripts than having the files in
AP_HAL_ChibiOS/hwdef/BOARD/scripts, and allows for the same scripts
working in SITL, Linux and ChibiOS
2021-08-03 10:57:38 +10:00
Andrew Tridgell 791b043586 waf: added 10.2.1 gcc to whitelist of compilers for -Werror 2021-07-27 19:50:21 +10:00
Andrew Tridgell 66bad7b885 waf: added --assert-cc-version configure option
this will allow build_binaries.py to confirm it is using the right
compiler for each build
2021-07-27 19:50:21 +10:00
Siddharth Purohit 7a2c460496 waf: remove cast-align disable flags from CXXFLAGS 2021-07-15 07:50:12 +10:00
Peter Barker d2be5231cb ardupilotwaf: probe external baros in SITL 2021-07-14 17:46:15 +10:00
Siddharth Purohit 67ed54bfca waf: add option to disable Watchdog 2021-07-14 15:18:42 +10:00
Andrew Tridgell 4f7630e29c Tools: allow for double EKF build 2021-07-10 07:20:41 +10:00
Andrew Tridgell 5f45098044 waf: added --ekf-double configure option 2021-07-10 07:20:41 +10:00
Siddharth Purohit 51a6d3c16a waf: only apply gsoap specific flags to gsoap sources 2021-07-07 18:57:25 +10:00
bugobliterator f6715cdaa0 waf: generate SOAP wsdl into cpp code 2021-07-07 18:57:25 +10:00
Andrew Tridgell 895ab6c089 waf: added --postype-single option
for SITL with single precision postype_t
2021-06-24 21:34:30 +10:00
Peter Barker 31c345fc4b Tools: add support for AP_Logger into AP_Periph 2021-06-08 09:57:55 +10:00
Pierre Kancir d1cc8d2bf3 Waf: add coverage flags 2021-06-02 14:42:59 +10:00
Peter Barker 0d05bb9732 Revert "waf: list boards 1/line in case of board-not-found error"
This reverts commit 8ab74d9462.

This broke the build server which parses the output of this
2021-05-21 10:59:56 +10:00
Peter Barker 98753ec6dc Tools: move from HAL_NO_LOGGING to HAL_LOGGING_ENABLED 2021-05-19 17:38:47 +10:00
Peter Barker 8ab74d9462 waf: list boards 1/line in case of board-not-found error
This line is now way too long, and splitting it this way will allow the
output to be grepped for likely-looking board names.
2021-05-18 10:47:37 +10:00
Andy Piper 5eca0c61c4 waf: add support for --enable-stats 2021-04-21 17:14:11 +10:00
Andrew Tridgell 5304dfe213 waf: set NDEBUG define to avoid assert issues
this avoids future assert() calls from affecting STM32 HAL_ChibiOS
builds
2021-03-30 11:05:13 +11:00
Pierre Kancir 805493c854 ardupilotwaf: use dynamic generation for ap_periph board name 2021-01-22 05:42:12 +11:00
bugobliterator 9e15b5785b ardupilotwaf: fix spec args as distcc doesn't like it 2021-01-20 19:21:14 +11:00
Andrew Tridgell bd9dd7ff4c Tools: added vnav linux target 2021-01-20 10:06:45 +11:00
Andrew Tridgell eaf7e7354a Tools: added locations.txt to ROMFS for SITL 2021-01-01 17:30:32 +11:00
Andrew Tridgell ce95b7e81a waf: added --enable-memory-guard option 2020-11-18 17:14:43 +11:00
Michael du Breuil 960437d446 Tools: Add the SFML configuration flags as needed for joysticks 2020-11-13 15:38:22 +11:00
Andrew Tridgell 0c1d665818 waf: support no-gcs and DAL builds 2020-11-10 16:15:45 +11:00
bugobliterator 48b59973b5 waf: add sitl_gps support to simulate AP_Periph GPS 2020-11-04 19:59:40 +11:00
Andrew Tridgell 39f25fc0f4 Tools: added models to ROMFS in SITL 2020-10-28 14:20:44 +11:00
bugobliterator e49891d605 Tools: waf: remove extraneous frame-larger-than warning 2020-10-08 09:31:35 +11:00
Andrew Tridgell 7726848a50 waf: lock in zero errors for gcc9 2020-09-22 08:07:23 +10:00
Andrew Tridgell 3da00b482e waf: enable -Werror for whitelisted compilers on ChibiOS builds 2020-09-15 09:40:03 +10:00