Commit Graph

858 Commits

Author SHA1 Message Date
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