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
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
Iampete1
28989f1838
Tools: ardupilotwaf: add AP_AIS to build
2022-07-12 09:39:54 +10:00
Tom Pittenger
0c7e107157
Tools/waf: Add Sagetech SDK to WAF build
2022-06-14 07:10:17 -07:00
Randy Mackay
104e9202af
Tools: remove AP_ToshibaCAN from waf
2022-06-10 12:08:05 +09:00
Pierre Kancir
020bd0ba1e
Tools: fix exec permission
2022-06-08 08:16:42 +09:00
Pierre Kancir
2cca370a74
Tools: ardupilotwaf: remove useless shebang on non exec files
2022-06-08 08:16:42 +09:00
Peter Barker
7474a31a83
waf: take ap_version.h int items from environment as we do str items
...
This will mean we take the integer version of GIT_VERSION from the env
too
2022-04-12 11:47:48 +10: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
Iampete1
6ac661c6ce
Tools: ardupilotwaf: add AP_CustomRotations
2022-03-02 18:16:42 +11:00
Andy Piper
fdaaa589e5
waf: move external flash binaries to regular name to aid publishing
2022-03-01 11:15:52 +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
Andy Piper
2beb9cfc7d
waf: rename EXTERNAL_PROG_FLASH_MB to EXT_FLASH_SIZE_MB
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
Joshua Henderson
b3e78e1e8d
ardupilotwaf: grouped_program use nested dicts
2022-02-02 19:36:39 +11:00
Willian Galvani
2b9d56c252
Tools: embed default.param files for Linux boards
2022-02-01 17:35:26 +11:00
Peter Barker
c056a7948d
Tools: move Airspeed up to AP_Vehicle, provide dummy
2022-01-19 18:21:32 +11:00
Peter Barker
43b4f86485
waf: use GIT_VERSION from env if available
...
This allows for reproducible builds to be produced
2022-01-18 11:30:41 +11:00
Pierre Kancir
d9c562cfae
Tools: add HAL_COVERAGE_BUILD for coverage build
2022-01-12 12:31:56 +11:00
Peter Barker
d6f4f54c0a
Tools: include brand name and manufacturer in APJ file, use for manifest
2022-01-07 22:46:52 +11:00
Joshua Henderson
ac4304e2c4
Tool: ardupilotwaf fix duplicate reporting from build summary
2022-01-03 12:40:42 +11:00
Josh Henderson
d410533424
Tools: fix Build_Summary when more than one targert
2021-12-28 10:27:10 +11:00
Josh Henderson
74fa47a3bb
Tools: fix flash size reporting due to crash_log
2021-12-21 20:33:00 +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
854266dc78
ESP32: drop submodule and add script to get it as a clone and/or submodule
...
works with either a submodule setup or a 'clone' for either type of dev
2021-11-03 06:06:15 +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
6adfcd4957
waf: disable building CrashCatcher for non 2M boards
2021-10-30 19:24:57 +11:00
bugobliterator
eee7e6cadf
waf: add defines for use in CrashCatcher Flash dump
2021-10-30 19:24:57 +11:00
bugobliterator
c5dd02fb2b
waf: compile in crash catcher library
2021-10-30 19:24:57 +11:00
Andy Piper
7daa276769
waf: stricter lua bindings build processing
2021-10-28 07:19:16 +11:00
Andy Piper
6672577f6e
waf: make sure APM_BUILD_DIRECTORY is defined for APM_BUILD_COPTER_OR_HELI and lua
2021-10-26 11:42:12 +11:00
Randy Mackay
37dbbc7ed3
Tools: add AP_Torqeedo to ardupilotwaf.py
2021-10-19 01:30:51 -04: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
Andrew Tridgell
00491275e0
waf: added image_maxsize to apj files
...
this allows the px4_uploader.py script to load apj files
2021-10-12 15:47:51 +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
Gone4Dirt
7fab70b8f1
Waf: Modify build directory define if heli build command is given
2021-09-29 19:55:48 +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
948a0012c5
waf: fix build issue on cygwin after changes for external flash
2021-09-06 18:04:48 +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
Pierre Kancir
28706f5e23
Tools: link AP_FETtecOneWire
2021-08-13 16:22:37 +10:00
Andrew Tridgell
fadadfb50e
waf: avoid problem with custom build server
...
this happens on custom build server when building into a new directory
2021-08-10 21:34:36 +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
Iampete1
d2a14f4283
Tools/ardupilotwaf: make skipped summary warning red
2021-07-28 18:25:27 +10:00