Andrew Tridgell
b2b9226863
waf: allow any custom build option to be specified in waf configure
...
this makes it easy to configure with any option from build_options.py
2024-09-11 16:11:22 +10:00
Andrew Tridgell
a9455ec3d3
waf: fixed app signature in elf files
...
this fixes an issue when developing for ChibiOS AP_Periph targets
where loading the elf file in gdb doesn't allow it to run as it
doesn't have the correct AP_Periph signature (crc, board type etc)
This patch modifies the elf file to fill in the signature, so when you
load in gdb the bootloader will be able to run the signature checks
and load the firmware
2024-09-10 12:33:45 +10:00
Willian Galvani
4ec023ac1a
Tools: ardupilotwaf: allow automatic upload to BlueOS
2024-08-27 10:25:35 +10:00
Ryan Friedman
724e61fa70
Tools: factor out common library for GSOF
...
* Add tests too
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-08-20 14:50:05 +10:00
Iampete1
d5a125a2a9
Tools: ardupilotwaf: boards: enable extended esc telem on sitl_periph_universal
2024-08-20 09:14:11 +10:00
Nicole Ashley
3763d094f6
Tools: Add i-BUS telemetry to build and feature flags
2024-08-07 14:01:44 +10:00
Eric Katzfey
4a3dad2f8f
Tools: Added pthread library to the link of the QURT build Linux application
2024-07-31 10:00:35 +10:00
Peter Barker
535f806c96
Tools: make include file mistakes nicer to interpret
2024-07-30 09:57:01 +10:00
Andrew Tridgell
38ea100c5f
waf: rename QURT host program to "ardupilot"
2024-07-13 14:38:31 +10:00
Andrew Tridgell
af34df2b9f
waf: added QURT board target
2024-07-12 15:56:48 +10:00
Andrew Tridgell
a136c28122
waf: don't build CAN libraries if CAN not supported
2024-07-12 15:56:48 +10:00
Andrew Tridgell
24a6e6bfa1
waf: Revert "waf: use debug option 3 which records defines as well"
...
this change made use of gdb so slow it is completely unusable for
ArduPilot. Far too many macros, loading gdb takes forever
2024-07-11 14:20:04 +10:00
Andrew Tridgell
096cfdcb61
waf: fixed ESP32 build
2024-07-11 09:28:17 +10:00
Andrew Tridgell
8be0a64155
waf: don't mark esp32 as CYGWIN_BUILD
2024-07-07 07:11:59 +10:00
Andrew Tridgell
039367e340
Tools: wrap _malloc_r on cygwin
...
fixes dual allocation heap bug
See https://cygwin.com/pipermail/cygwin/2000-July/038916.html
2024-07-07 07:11:59 +10:00
bugobliterator
4260acb21a
waf: use debug option 3 which records defines as well
2024-07-05 14:16:27 +10:00
bugobliterator
b93ba1ae68
waf: add support for generating compile_commands.json
2024-06-19 17:11:46 +10:00
Michelle Rossouw
7e5810a746
Tools: Added option to set environment variable to not add the compile_commands.json to VSCode's c_cpp_properties.json
2024-06-11 14:29:06 +10:00
Peter Barker
364452ffc8
autotest: add test for DroneCAN battery handling
2024-06-11 09:31:46 +10:00
Andrew Tridgell
93f1bb576b
waf: added --enable-new-checking option
...
this allows CI to check for violations of new, calling without
NEW_NOTHROW
2024-06-04 09:20:21 +10:00
Andrew Tridgell
1ad0c069ae
waf: fixed cygwin build
2024-06-04 09:20:21 +10:00
Andrew Tridgell
aff9175328
waf: moved elf symbol checking to ardupilotwaf
...
not chibios specific
2024-06-04 09:20:21 +10:00
Andrew Tridgell
07b5ffcc58
waf: removed -fcheck-new and added link checks
...
check for use of new without std::nothrow
2024-06-04 09:20:21 +10:00
Peter Barker
720c8719dc
waf: boards.py: use chibios_hwdef.py to get boards list
2024-05-28 10:25:39 +10:00
Bob Long
ead48b6737
Tools: fix handling of include files for Periph
...
This fix scans all the include files in a hwdef, not just one on the
first line.
2024-05-24 10:40:46 +10:00
Andrew Tridgell
792fdc2fb8
Tools: specify pymonocypher version in more places
...
and confirm version when running tools
2024-05-19 10:07:54 +10:00
Iampete1
773fa73e75
Tools: ardupilotwaf: move setting of ROMFS flags for all boards to embed_ROMFS_files
method
2024-05-14 10:05:51 +10:00
Andrew Tridgell
c097cd7fb9
waf: cope with CI python oddity
2024-05-08 18:28:59 +10:00
Rhys Mainwaring
513a6b6206
Tools: ardupilotwaf: use classic clang linker when compiling on macOS
...
- Fix issue where linker fails with Xcode 15.3.
- Add check for CC_VERSION.
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-05-07 09:35:41 +10:00
Iampete1
8cb368de0c
Tools: ardupilotwaf: boards: enable HAL_PERIPH_ENABLE_RPM_STREAM
on sitl_periph_universal
2024-05-02 20:25:38 +10:00
Peter Barker
8c5136e06d
Tools: move Arming, Beacon and RC_Mapper into ardupilotwaf.py
...
these were built for all vehicles, so put them in the common list
2024-04-17 18:11:46 +10:00
muramura
4ef66dcf34
ardupilotwaf: change a word(NFC)
2024-04-10 14:20:04 +09:00
Oleksiy Protas
4e21dbcc0b
waf: Detect board class by inheritance instead of naming
2024-04-06 09:45:01 +11:00
Randy Mackay
96e17f18cc
Tools: waf help output shows --define under build
2024-04-03 18:30:59 +11:00
Peter Barker
7794f7fdaa
Tools: move AP_OSD into common libraries list
2024-03-19 07:15:10 +11:00
Peter Barker
a1a920ba78
waf: add and use AP_CUSTOMROTATIONS_ENABLED
2024-03-03 08:22:46 +11:00
Andrew Tridgell
fee5374cb6
Tools: only produce _with_bl.hex not *.hex for vehicle firmware
...
if we are producing _with_bl.hex then don't also build *.hex as it can
confuse users who think they should flash *.hex with a DFU flashing
tool
2024-02-27 11:24:24 +11:00
Iampete1
ec762d5609
Tools: ardupilotwaf: boards: define HAL_HAVE_AP_ROMFS_EMBEDDED_LUA
if lua files in ROMFS
2024-02-27 11:09:08 +11:00
Peter Barker
df3267c9ba
waf: remove SKETCH and SKETCHNAME from build sysmte
...
... renaming one of them to AP_BUILD_TARGET
2024-02-26 15:42:25 +11:00
Andrew Tridgell
c7a729b7f6
waf: fixed leading slashes in root of ROMFS
2024-02-22 07:43:16 +11:00
Andrew Tridgell
4ad1231c8f
waf: prevent use of C++ library calls that can cause exceptions
...
this cleans up our blacklist of library functions, and ensures there
can be no accidential use of std:: functions that cause exceptions in
flight code on HAL_ChibiOS
2024-02-21 12:09:48 +11:00
Andrew Tridgell
a3697b3d97
waf: added -Wno-psabi
...
the ABI change warnings for gcc 7.1 are not useful
2024-02-21 12:09:48 +11:00
Andrew Tridgell
a7fba2ba5f
waf: added AP_JSON to library list
2024-02-21 12:09:48 +11:00
Peter Barker
392aa8fd48
waf: remove richenpower special-case
...
we started to include this everywhere anyway
2024-02-20 19:35:50 +11:00
Andrew Tridgell
eaf40fbfb3
waf: help diagnose dronecangen errors
2024-02-11 16:48:52 +11:00
Peter Barker
95661bb9bb
waf: include piccolocan protocol directory in all libraries
...
with can_mgr in AP_Vehicle, eliding no longer works for the symbols generated from this directory, as *all* vehicles now get can, including the ones especially created in examples. So now we include the symbols.
2024-02-06 11:03:54 +11:00
Andrew Tridgell
743b1262a0
waf: removed old UAVCAN defines
2024-01-25 11:44:02 +11:00
Thomas Watson
52468f0238
AP_ROMFS: fix buffer null terminator
...
Ensure buffer is properly null terminated without changing the indicated
size even for uncompressed data.
2024-01-25 11:24:31 +11:00
Thomas Watson
d13193150c
AP_ROMFS: store size in file structure instead of compressed stream
...
Cleans up code.
2024-01-25 11:24:31 +11:00
Thomas Watson
d46cb3fd85
AP_ROMFS: embed raw DEFLATE streams
...
Saves size not including unnecessary headers or code to parse them.
2024-01-25 11:24:31 +11:00
Thomas Watson
5d37442f7c
Tools/embed: drop py2 compat, necessary for future improvements
2024-01-25 11:24:31 +11:00
Andrew Tridgell
ec9a8d7167
waf: CubePilot-PPPGW needs fiprintf
2024-01-21 12:30:08 +11:00
Peter Barker
a77df87b01
Tools: rename sim_periph_gps to sim_gps_universal, recreate sim_periph_gps
2024-01-16 12:16:35 +11:00
Andrew Tridgell
c7c0680352
waf: enable sim on hw for esp32 empty builds
2024-01-07 20:51:55 +11:00
David Buzz
9a4a3bf551
Tools: on esp32 force constants to single-precision like chibios port does.
2024-01-07 08:26:07 +11:00
Andrew Tridgell
c85f4f875c
Tools: disable lwip with clang
2024-01-03 12:14:47 +11:00
Andrew Tridgell
d26530c892
waf: added --enable-ppp option
2024-01-03 12:14:47 +11:00
Andrew Tridgell
8b3f3bc2d2
waf: new location for lwip
2024-01-03 12:14:47 +11:00
Andrew Tridgell
fb0a0de2f2
waf: added env.BOARD_CLASS
2024-01-03 12:14:47 +11:00
Andrew Tridgell
a53be122db
waf: removed lwip source paths in chibios class
2024-01-03 12:14:47 +11:00
Andrew Tridgell
a5fee135b0
waf: added paths for PPP build
2024-01-03 12:14:47 +11:00
Andrew Tridgell
564041f592
waf: added WAF_BUILD_TARGET for esp32 build
2023-12-31 09:55:16 +11:00
Andrew Tridgell
e94ab529cc
waf: enable periph serial options in SITL periph
2023-12-27 05:13:14 -07:00
Andrew Tridgell
23e67f7b53
waf: enable CAN deadlines in AP_Periph
2023-12-19 18:56:46 +11:00
Andrew Tridgell
8f2911d0e2
waf: fix dependency on lwip code
2023-12-11 18:00:38 +11:00
Ka Ru
e384c78904
Tools: add can-zero board
2023-12-05 07:41:06 -06:00
Peter Barker
576dc9d05f
Tools: clamp empy to version 3
...
API and syntax hanges make 4 problematic
2023-12-03 17:08:00 +11:00
Peter Barker
11a5b78a0c
waf: correct sitl_periph_gps build
2023-11-29 07:36:47 +11:00
Ryan Friedman
adff2ed5d7
Tools: Add g++ 11.4 to whitelist
...
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 12:21:10 +11:00
Andrew Tridgell
c2ea29a198
waf: added compat/posix lwip headers to path
...
this simplifies the networking code
2023-11-28 12:18:55 +11:00
Peter Barker
5f1f3e5519
waf: keep EKF2 enabled in SITL
...
just because we don't compile this in doesn't mean we shouldn't continue to test it
2023-11-27 09:05:08 +11:00
Peter Barker
aa9bbd0fcb
waf: invert ekf2-disable command-line option
2023-11-27 09:05:08 +11:00
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