Commit Graph

837 Commits

Author SHA1 Message Date
Andrew Tridgell aec605b020 waf: enable networking by default when supported, and disable with --disable-networking 2023-11-17 10:54:24 -08:00
Pradeep CK 32f6c1c53f waf: disable ICE in SITL periph 2023-11-17 13:09:02 +11:00
Andrew Tridgell c4cf3268cb waf: added --enable-networking and --enable-networking-tests 2023-11-15 12:43:41 -08:00
Andrew Tridgell 1d05196b52 waf: moved SKETCHBOOK to AP_BUILD_ROOT in ap_version.h 2023-10-25 09:50:08 +11:00
Peter Barker 1ea494a159 waf: disable RTC on sitl_periph_gps 2023-10-11 19:17:27 +11:00
Andrew Tridgell af061d41ae waf: enable ADSB in SITL periph 2023-10-02 21:45:28 +11:00
Andrew Tridgell 7aa1f5af22 waf: enable mavlink bindings in SITL periph 2023-10-02 21:45:28 +11:00
Andrew Tridgell 3623d20479 waf: enable CANARD_MULTI_IFACE on AP_Periph if more than one interface 2023-09-05 06:56:51 +10:00
Pierre Kancir 279adeb1b4 Tools: Comparison to `False` should be `cond is False` or `if not cond:` 2023-09-02 13:27:25 +10:00
Pierre Kancir 9d76d1e3df Tools: Test for membership should be `not in` 2023-09-02 13:27:25 +10:00
Andrew Tridgell 61ca0df301 waf: enable CAN on all SITL builds 2023-08-29 15:09:48 +10:00
Ryan Friedman c58cc58363 ardupilotwaf: Fix incorrect comment for cmake minimum version
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-24 15:01:27 +10:00
Andrew Tridgell cc9f973007 waf: enable ESC telemetry for CAN SITL peripheral 2023-08-24 13:06:40 +10:00
Andrew Tridgell 032c5cc6fe waf: enable RC output in AP_Periph SITL 2023-08-24 13:06:40 +10:00
Andrew Tridgell ce288856b5 waf: enable mag, baro, compass, airspeed and rangefinder in SITL periph 2023-08-24 13:06:40 +10:00
Andrew Tridgell 10435ca3c4 waf: added AP_ExternalControl to set of libraries 2023-08-22 18:21:23 +10:00
Andrew Tridgell 5a3b4d3c5f waf: allow whole libraries to be marked as double precision
this is for libraries/SITL and libraries/AP_HAL_SITL
2023-08-15 22:39:23 +10:00
Tom Pittenger f885cb2eb6 Tools/ardupilotwaf: add support for Networking 2023-08-06 09:20:08 +10:00
Andy Piper 744028e79e waf: ensure all constants are float not double if not otherwise declared
allow DOUBLE_PRECISION_SOURCES in ap_find_tests()
2023-08-02 16:22:59 +01:00
Peter Barker 46b262cb32 waf: tidy interpretation of -Werror 2023-08-01 11:31:07 +10:00
Andrew Tridgell 029070cb23 waf: enable CANARD asserts in SITL 2023-07-21 17:20:29 +10:00
Andrew Tridgell 946840cc99 AP_Periph: added targetted tunnel message for CAN serial passthru
this allows for remote control of serial devices over DroneCAN
2023-07-12 17:06:02 +10:00
Andrew Tridgell 15ca52d890 waf: don't imply no watchdog with --debug
this broke AP_Periph with --debug. Better to use --disable-watchdog if
needed
2023-07-12 17:06:02 +10:00
Andrew Tridgell 2eca7224d3 waf: wrap _sbrk to prevent its use
while _sbrk isn't used now, this will prevent a repeat of the bug in
PR 24218
2023-07-05 21:46:36 +10:00
Andrew Tridgell 37253c13d9 waf: wrap newlib alloc functions on ChibiOS
this prevents scripting and string library functions from calling sbrk
based alloction functions that are not thread safe
2023-07-05 07:13:39 +10:00
Peter Barker a9a111fe31 waf: sitl_periph_gps doesn't have AP_AHRS_ENABLED 2023-07-04 10:27:32 +10:00
Andrew Tridgell 1055c5f1c6 waf: fixed dependency of ChibiOS build on compiler flags
this adds a chibios_flags.h which contains the flags we pass to the
ChibiOS make, which allows us to have a make level dependency on the
flags

this fixes (among other things) the build of copter followed by
bootloader for SPRacingH7
2023-06-20 18:08:31 +10:00
Peter Barker 98d392194a Tools: allow AP_SCRIPTING_ENABLED to come from hwdef files 2023-06-09 16:10:52 +10:00
Peter Barker 5a33f870c0 Tools: use HAL_PROXIMITY_ENABLED in place of HAL_PERIPH_ENABLE_PRX
boolean truth rather than defines, and simplifies code
2023-06-08 11:53:01 +10:00
bugobliterator 8ac9480e3d waf: add support for semaphores around allocate blocks in libcanard 2023-06-08 10:15:50 +10:00
Ryan Friedman 2750a1ad6f waf: Only enable whitelist if compiling with G++
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman fd10bc35f0 waf: Fix disable werror to actually work
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman 819f93b778 waf: Enable werror on sitl for gcc
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman 17ba7180d1 waf: Enable Werror for gcc 11.3.0
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Nicholas Kruzan e1f50fadd7 Tools: new mcu: esp32s3 2023-05-26 10:54:01 -07:00
Nicholas Kruzan d16cde3b31 Tools: make esp32.py more flexible 2023-05-26 10:54:01 -07:00
Nicholas Kruzan 7a9ceb7241 Tools: move esp32 specific idf build stuff to subfolder 2023-05-26 10:54:01 -07:00
Peter Barker 0d38362c1a waf: warn on missing declarations in SITL 2023-05-20 17:28:08 +10:00
Peter Barker b051b0d24b waf: add --enable-scripting option 2023-05-16 10:31:01 +10:00
Peter Barker 537fc19bb5 AP_HAL_ChibiOS: do not build ChibiOS with debug symbols unless debug build
debug symbols subtly change the compiler output which can lead to problems with repeatable builds
2023-05-16 09:55:47 +10:00
Peter Barker 0da4e3c9f3 Tools: add and use AP_RCPROTOCOL_ENABLED 2023-05-16 09:16:37 +10:00
Tom Pittenger a47e125c1f Tools: add ./waf --upload-force arg to allow uploader.py to do --force 2023-05-12 07:14:52 +10:00
Tom Pittenger 3b9c2bb185 Tools: WSL2 python.exe uploader.py stdout to be unbuffered via -u 2023-05-12 07:12:07 +10:00
Peter Barker 52d5fbad39 waf: SITL: define bus+addr for LP5562 2023-05-11 11:08:50 +10:00
Andrew Tridgell 91496a1e22 waf: require python 3.8.0 or later
for 4.5.x we no longer support py2
2023-05-05 08:54:03 +10:00
David Buzz c947ce3be3 Tools: fix the HAL double define 2023-05-02 14:38:03 +10:00
David Buzz f1af8bae0d Tools: on esp32 force constants to single-precision like chibios port does. 2023-05-02 14:38:03 +10:00
Andrew Tridgell 775f12387c waf: added -g option to configure
this adds debug symbolds to the build without enabling other debug
code. This is needed for analysing watchdog crash dumps
2023-05-02 10:38:24 +10:00
Andy Piper ae04200fa0 ardupilotwaf: print linker memory map after linking on boards with external flash 2023-04-28 08:31:15 +10:00
bugobliterator 6330c493ae waf: place ROMFS in external flash 2023-04-26 18:04:00 +10:00
bugobliterator db09173ca9 waf: add external flash used size for mixed flash use 2023-04-26 18:04:00 +10:00
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
Tom Pittenger 8a530ee0a6 Tools: move AP_KDECAN build to AP_Vehicle 2023-04-17 11:52:52 +10:00
Andrew Tridgell 5c3d464754 waf: support extra C and C++ flags on a per library basis 2023-04-11 12:18:29 +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 6944e73c57 Tools: fixed build of CPUInfo and other tools 2023-04-10 16:48:50 +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
Andrew Tridgell 0c3c379f69 Tools: remove references to modules/uavcan 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
Andrew Tridgell 7e3b538b16 waf: added --board-start-time configure option 2023-03-24 08:31:25 +11:00
Ryan Friedman 74e7703288 waf: Remove unused XRCE_DEPENDENCIES
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-03-22 09:22:36 +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
Peter Barker 343b72dc32 waf: whitelist AP_LandingGear_config.h for vehicle-dependant macros 2022-12-14 18:30:23 +11:00
Wiktor Maslowski 99f6a31188 Tools: fixed builds for ESP32 2022-11-28 12:23:07 +11:00
bugobliterator 3ec938fae6 waf: add dynamic source option to ap_stlib 2022-11-16 18:05:59 +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
Peter Barker e7509ccf66 waf: remove AP_RunCam.h from vehicle-dependent-header whitelist 2022-11-02 18:35:48 +11:00
Tom Pittenger ed5a0557ca ardupilotwaf: common libraries add AP_TemperatureSensor
Co-authored-by: Joshua Henderson <hendjoshsr71@gmail.com>
2022-10-18 10:05:31 +11:00
Andrew Tridgell 3abdc6ad25 waf: added --enable-gps-logging 2022-10-15 17:20:42 +11:00
Tom Pittenger 1944894b76 Tools: remove warning for WSL2 --upload on python.exe 3.10.x, it works fine 2022-10-07 09:35:20 -07:00
Andrew Tridgell 7a57fc8c5d waf: ensure we don't try to use non-implemented functions 2022-10-06 10:45:49 +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
bugobliterator 0c78f8bac2 AP_HAL_ChibiOS: add support for booting into DFU 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
bugobliterator 3c30991153 waf: ensure we don't apply app desc step on BL 2022-08-16 16:49:30 +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
Tom Pittenger c60f7bff91 Tools: Enable uploader.py and waf --upload to work on WSL2 2022-07-22 09:12:01 +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