Peter Barker
2f7f361968
Tools: waf: do not permit taking address of packed members under clang++
2019-05-01 19:36:49 -07:00
Peter Barker
9f9531a790
Copter: AP_Arming: correct overriding of arm_checks method
...
This makes the arbitrary decision that arming checks always report
failures to the GCS.
Fixes:
In file included from ../../ArduCopter/events.cpp:1:
In file included from ../../ArduCopter/Copter.h:91:
../../ArduCopter/AP_Arming.h:33:69: fatal error: non-virtual member function marked 'override' hides virtual member function
bool arm_checks(bool display_failure, AP_Arming::Method method) override;
^
../../libraries/AP_Arming/AP_Arming.h:64:18: note: hidden overloaded virtual function 'AP_Arming::arm_checks' declared here: different number of parameters (1 vs 2)
virtual bool arm_checks(AP_Arming::Method method);
^
1 error generated.
2019-04-30 09:29:59 +10:00
Peter Barker
1dd5c33374
Tools: waf: add various conversion warning compiler options
...
suggested by @patrickelectric
2019-04-30 09:29:59 +10:00
Peter Barker
ad6c1acbd7
waf: add -Werror=type-limits
...
This catches always-true comparisons and the like
Also remove redundant directive
2019-04-14 12:18:03 +09:00
Peter Barker
30fec9f54b
Tools: ardupilotwaf: make unused variables fatal on all boards
2019-04-02 10:24:49 +11:00
Peter Barker
e6a1789df8
Tools: ardupilotwaf: make shadowed variables fatal on all platforms
2019-03-23 11:23:07 +11:00
Peter Barker
156d580bcd
Tools: ardupilotwaf: include sfml-audio
2019-03-23 07:10:50 +11:00
Peter Barker
d762629c62
Tools: waf: link AP_InternalError everywhere
2019-03-21 21:34:33 +11:00
Peter Barker
780e0e2eba
Tools: ardupilotwaf: build SITL binaries for x86_64-linux-gnu and arm-linux-gnueabihf
2019-03-19 20:21:50 +11:00
Peter Barker
1a81da4a26
Tools: ardupilotwaf: sort boards in help text
2019-03-19 20:21:50 +11:00
Peter Barker
929e84d120
Tools: ardupilotwaf: add -Werror=attributes
2019-03-19 14:10:10 +11:00
Andrew Tridgell
9e50c1b64e
waf: fixed case insensitive board name
2019-03-07 08:36:01 +11:00
Andrew Tridgell
102141756a
waf: make board name case insensitive in waf configure
2019-03-05 08:43:14 +11:00
Peter Barker
facfa53f57
Tools: waf: add -Werror=overloaded-virtual
2019-03-01 22:31:21 +11:00
Peter Barker
39e7733872
Tools: waf: add -Werror=enum-compare
2019-03-01 12:50:52 +11:00
Andrew Tridgell
b619e1e560
Tools: remove more px4 remnants
2019-02-27 20:32:37 +11:00
Andrew Tridgell
e5efbffe5b
waf: pad bootloader to multiple of 32 bytes
...
this ensures that we can write a whole flash line when updating
bootloader from ROMFS
2019-02-26 16:18:26 +11:00
Andrew Tridgell
3c9646dfef
waf: allow hwdef.dat to override build optimization
2019-02-26 16:18:26 +11:00
Andrew Tridgell
e71514c136
waf: allow for no param default support
...
this allows apj files to be built for example fw
2019-02-26 16:18:26 +11:00
Francisco Ferreira
03ed67a996
waf: add option to override toolchain
2019-02-22 08:27:08 +11:00
Francisco Ferreira
ba2f954a20
waf: add AC_AttitudeControl library for PE target format
2019-02-22 08:27:08 +11:00
Peter Barker
6137704032
Tools: ardupilotwaf: add -Werror=inconsistent-missing-override for clang
2019-02-20 19:23:54 +11:00
Peter Barker
e23809fd59
Tools: ardupilotwaf: include AP_Parachute in all builds
2019-02-13 09:25:27 +09:00
Peter Barker
61961d037e
Tools: ardupilotwaf: all vehicles get AC_Fence
2019-01-31 13:44:29 +09:00
Andrew Tridgell
1f28994bae
waf: added --sitl-flash-storage option
2019-01-21 20:59:00 +11:00
mirkix
f9d49913d9
ardupilotwaf: enable UAVCAN for bbbmini, blue and pocket
2019-01-21 08:08:59 +11:00
Andrew Tridgell
85ca38b630
waf: fixed git hash in generated APJ file
2019-01-19 17:19:41 +11:00
Peter Barker
0bf55ce3f4
Tools: ardupilotwaf: DataFlash renamed to AP_Logger
2019-01-18 18:08:20 +11:00
Randy Mackay
b3b3385143
Tools: add ToshibaCAN to waf build
2019-01-18 17:30:28 +11:00
Andrew Tridgell
1cf4a9b8d8
waf: fixed ROMFS compression to use zero timestamp
...
this makes the apj file indepenent of build date, which fixes this
issue:
https://discuss.ardupilot.org/t/arducopter-waf-build-repeatability/37182
2019-01-11 17:45:07 +11:00
Michael du Breuil
7b259fb09f
ardupilotwaf: Enable heap for scripting builds
2018-12-31 19:25:23 -07:00
Andrew Tridgell
d8291ef1d1
waf: fixed static link build
...
for bebop
2019-01-01 09:34:11 +11:00
Michael du Breuil
2c8b5c651d
Tools: Remove unneeded AP_Buffer include
2018-12-31 11:41:43 +09:00
Andrew Tridgell
bac091262f
waf: use ctx.fatal for old board error
...
thanks to @OXINARF
2018-12-22 11:06:59 +11:00
Andrew Tridgell
646c6f4361
waf: point developers at the new build
2018-12-22 11:06:59 +11:00
Andrew Tridgell
7c5d82ed15
waf: removed px4 build targets
2018-12-22 11:06:59 +11:00
Andrew Tridgell
aa7221d1bf
waf: build AP_RobotisServo
2018-12-22 08:13:14 +11:00
Andrew Tridgell
bdacc410ca
waf: added check for memrchr()
...
needed on macos
2018-12-06 13:32:09 +11:00
Peter Barker
8949cdd87a
Tools: waf: use ctx rather than build for fatal errors
2018-12-01 09:41:24 +11:00
Andrew Tridgell
4b1857b3aa
waf: use local pymavlink
...
use pymavlink from modules, not from install. This allows building
without pymavlink installs, and ensures we use the current version
2018-11-19 10:06:23 +11:00
Andrew Tridgell
e6651b01bb
waf: use direct import of mavgen for mavlink generation
...
this avoids a path problem on windows under eclipse
2018-11-15 14:39:11 +11:00
Andrew Tridgell
304eaa7782
waf: fixed typo
2018-11-15 09:55:14 +11:00
Peter Barker
1d2f8555c0
Tools: ardupilotwaf: adjust for new location of uploader.py
2018-11-15 09:55:14 +11:00
Peter Barker
d0f070d05d
Tools: rename px_uploader.py into uploader.py, move into scripts
2018-11-15 09:55:14 +11:00
Michael du Breuil
472cd9f48c
Tools: Add a runtime scripting check flag
2018-11-14 01:41:35 +00:00
Francisco Ferreira
ff77000d93
waf: support changing board to build without re-configure
...
This allows to use the board option when building as long as it has been configured before
As we don't want to force configuration of all boards each single time, auto-configuration support now has to be done per-board
2018-11-13 10:30:34 +11:00
Francisco Ferreira
2e3b4df47e
waf: don't fail on missing pkg-config
...
Also remove unneeded wrapper method and use standard waf
2018-11-13 10:30:34 +11:00
Francisco Ferreira
389a9ee88b
waf: add option to disable gccdeps
2018-11-13 10:30:34 +11:00
Francisco Ferreira
9bdbd37d98
waf: boards: use existing abstract class definition
...
Remove special case for removing ChibiOS base board class and use the pre-existing way
Make board name list order be case-insensitive
Also fix some space in blank lines
2018-11-13 10:30:34 +11:00
Francisco Ferreira
1e036e4d4e
waf: boards: small change to use waf standard
2018-11-13 10:30:34 +11:00
Peter Barker
769192fed7
Tools: ardupilotwaf: make type narrowing an error
2018-11-09 15:49:35 +11:00
Andrew Tridgell
4eb867efc2
waf: always link AP_LandingGear
...
needed for RC_Channel
2018-11-09 14:35:14 +11:00
Andrew Tridgell
2054be0ce1
waf: omit bootloader for px4-v2 build
...
This saves 8k of flash, and allows the plane stable release for older
Pixhawk1 boards to build
2018-11-07 07:35:45 +11:00
Michael du Breuil
645afbab82
ardupilotwaf: Add ROMFS for scripting
2018-10-30 16:17:03 -07:00
Andrew Tridgell
b3b5415081
waf: added --use-nuttx-iofw configure option
...
this allows building with the old NuttX based IO firmware. The default
is the ChibiOS based firmware
2018-10-30 13:00:48 +11:00
Peter Barker
7c0e5b9929
waf: include AC_Avoid on all vehicles
2018-10-30 12:10:42 +11:00
Peter Barker
6585b6036d
Tools: waf: add -Werror=return-type to all boards
2018-10-23 12:53:28 +11:00
Peter Barker
d4c3caf592
Tools: ardupilotwaf: add enable-math-check-indexes configure option
2018-10-19 08:46:43 +11:00
Michael du Breuil
5192376c85
Tools: Don't generally build scripting unless requested
2018-10-09 10:08:52 +11:00
Andrew Tridgell
31548c983a
waf: ensure that C files get same ABI flags as C++
2018-10-09 10:08:52 +11:00
Michael du Breuil
33d4e09d60
Tools: Add lua source to waf
2018-10-09 10:08:52 +11:00
Michael du Breuil
580c9d6ad9
Tools: Add waf scripting configure option
2018-10-09 10:08:52 +11:00
Michael du Breuil
17103623eb
Tools: Pass ENABLE_SCRIPTING into the system
2018-10-09 10:08:52 +11:00
Francisco Ferreira
434afa268e
waf: change ChibiOS ld script path back to relative
...
Fixes #9461
2018-09-21 09:29:32 +01:00
Siddharth Purohit
6622c9b8fd
HAL_ChibiOS: wrap sscanf and snprintf methods
2018-09-19 12:14:15 +10:00
Siddharth Purohit
56afc44c56
ardupilotwaf: add support for controllers with different arm cortex and related configs
2018-09-19 12:14:15 +10:00
Siddharth Purohit
6fee72b0c0
waf: add flags for F1 controller support and more debug features
2018-09-19 12:14:15 +10:00
Peter Barker
35330e8caa
Tools: ardupilotwaf: add -Werror=unused-result for all boards
2018-09-04 09:22:18 +10:00
Peter Barker
3a1afc4bf1
Tools: boards.py: make float-equals fatal in sitl
2018-08-28 09:54:47 +10:00
Peter Barker
5bd1f57a2a
Tools: ardupilotwaf: add -Werror=return-type to all boards
2018-08-21 20:34:01 +09:00
Peter Barker
4915c72f10
Tools: add sprayer to standard libraries
2018-08-17 15:33:35 +09:00
Andrew Tridgell
a4e50e1626
waf: use the current python interpreter for sub-commands
2018-08-07 14:40:36 +10:00
Andrew Tridgell
36af9eecdf
waf: fixes for python 3.7
2018-08-07 14:40:36 +10:00
Andrew Tridgell
c5f3beb297
waf: added --enable-asserts option for ChibiOS
2018-08-03 13:44:59 +10:00
Andrew Tridgell
4022a17d3b
waf: fixed upload on Linux
2018-07-26 08:52:56 +10:00
Jani Hirvinen
62cf45659b
adding support for win/cygwin installations
2018-07-24 12:40:23 -07:00
Stephen
651a7030aa
Tools: Add quotes in ChibiOS waf file
...
Without these quotes, the ChibiOS build fails if there are spaces in the Ardupilot path, ie ``C:\Stephen Dade\files\ardupilot``
2018-07-18 12:55:29 +10:00
Andrew Tridgell
1e2065e381
waf: recognise CubeBlack USB IDs
2018-07-11 09:26:59 +10:00
Andrew Tridgell
655828d2f8
waf: use wildcard OSD fonts for SITL
2018-07-09 19:41:56 +10:00
Andrew Tridgell
d2996677cf
waf: auto-compress ROMFS files
2018-07-09 19:41:56 +10:00
Andrew Tridgell
950be3fc17
waf: stop build if OSD libs missing and requested
2018-07-08 08:22:40 +10:00
Andrew Tridgell
1dece80c88
waf: fixed error with no ROMFS files
2018-07-03 14:05:37 +10:00
Andrew Tridgell
f78b84805c
waf: don't generate hex files if intelhex module not installed
2018-07-02 12:47:58 +10:00
Andrew Tridgell
8ba137bd9a
waf: moved ROMFS embed script into waf folder
2018-07-02 10:43:48 +10:00
Andrew Tridgell
355269115e
waf: support --enable-osd option
2018-07-01 21:21:28 +10:00
Andrew Tridgell
a7ecbf29aa
waf: define CHIBIOS_BOARD_NAME
2018-06-29 20:27:36 +10:00
Andrew Tridgell
95b2587c76
waf: use ardupilot uploader for HAL_PX4
2018-06-29 08:17:38 +10:00
Andrew Tridgell
8ae6b2e026
waf: fixed dependency of hwdef.h on hwdef.dat
2018-06-27 11:37:45 +10:00
Andrew Tridgell
d12cf0ab59
waf: added -Werror on signed comparison
2018-06-27 11:37:45 +10:00
Lucas De Marchi
49d08ba72a
Global: remove minlure
...
Minlure is a port of ArduPilot to Minnow Board connected to daughter
board. Very few of those were produced and nobody is flying with it.
It served its purpose and all the the improvements to ArduPilot remain
regardless of it not being supported anymore. Now it's just adding
maintenance work with no clear benefit, so pull the plug.
2018-06-26 07:32:08 -07:00
Andrew Tridgell
1c73c133a9
waf: fixed binary generation order
2018-06-24 20:24:06 +10:00
Andrew Tridgell
623a30be55
waf: build hex file with and without bootloader
...
this allows for DFU tools without losing parameters
2018-06-24 16:47:23 +10:00
Andrew Tridgell
f73ca2a6ba
waf: speed up the bootloader build
...
don't need to build all libraries
2018-06-24 15:57:51 +10:00
Andrew Tridgell
5b46adf3fb
waf: fixed chibios upload
2018-06-23 17:06:53 +10:00
Andrew Tridgell
338ff6ae64
waf: automatically build intel hex fw when possible
...
this combines the bootloader and application code into a single binary
2018-06-23 17:06:38 +10:00
Peter Barker
b94e31b21a
Tools: remove warning about native clang builds
...
These appear to be stable now
2018-06-22 16:49:05 +10:00
Andrew Tridgell
290f050575
waf: enable gccdeps, using gcc dependencies
...
this is considerably faster than the way dependency system
2018-06-22 11:13:03 +10:00
Andrew Tridgell
ad49f4fdbf
waf: fixed declaration of ap_romfs_embedded.h
2018-06-22 11:13:03 +10:00
Andrew Tridgell
14f66461a7
HAL_ChibiOS: shrink build size for bootloader
...
thanks to @sh83 for the idea
2018-06-22 08:00:31 +10:00
Andrew Tridgell
0ae25787c0
waf: added a --bootloader configure option
...
this selects hwdef-bl.dat instead of hwdef.dat, allowing for
bootloader config to be kept in the same directory as the main
hwdef.dat
2018-06-22 08:00:31 +10:00
Andrew Tridgell
6771a3d65a
waf: support Hex USB IDs in px_uploader.py
2018-06-22 08:00:31 +10:00
Peter Barker
e9a07bdd6f
Tools: create CHIBIOS_GIT_VERSION build-time define
2018-06-18 19:10:37 +01:00
Peter Barker
09a9abb3a8
Tools: include AP_RTC in all waf builds
2018-06-15 08:01:22 +10:00
Peter Barker
684482295e
Tools: include Gripper in all builds
2018-06-11 19:07:39 +01:00
Eugene Shamaev
68ec9f4119
Tools: add CAN bus declaration for the intel aero board
2018-05-25 13:53:17 +10:00
Lucas De Marchi
2916a3f40c
build: add --apstatedir for Linux boards
...
This is the --localstatedir that is found on other
buildsystems/programs + the package directory. We could provide a
--localstatedir instead to be similar to the others, but I thought it
would be too confusing for the help message.
2018-05-24 08:00:33 -07:00
Francisco Ferreira
ddb45a0813
waf: move skyviper-v2450-px4 definitions to board config
2018-05-22 08:35:01 +09:00
Michael du Breuil
82d486add0
Tools: Add proximity as a common library
2018-05-16 23:21:41 +01:00
Andrew Tridgell
cc931e9a2a
waf: allow F4Light USB ID to be recognised
2018-05-16 20:24:23 +10:00
Lucas De Marchi
997d9f58de
build: invert default for header checks
...
In the end the build time is always almost the same, but it's a pain to
change one header and have it check the world. CI continues to use the
check so we can get any mistake before merging.
2018-05-04 11:47:04 -07:00
Lucas De Marchi
73edda697d
build: align help options
...
While it's aesthetically nice to start the help message in a new line
looking at the code, the first \n screws the output leaving them not
aligned.
2018-05-04 11:47:04 -07:00
Lucas De Marchi
9342bc5050
build: invert default for lttng
...
Since it's a debug option, particularly for the scheduler, leave it
disabled by default and let the user enable on demand.
2018-05-04 11:47:04 -07:00
Lucas De Marchi
4697089a82
build: move Linux configuration options to its own sections
2018-05-04 11:47:04 -07:00
Peter Barker
4e53d9e1a8
Tools: correct flashing under Linux
2018-05-04 18:37:14 +10:00
stephen.dade
76cc014245
waf: Allow spaces in paths when compiling for ChibiOS targets
2018-05-04 12:47:06 +10:00
Andrew Tridgell
835484429d
waf: don't build ChibiOS with debug by default
...
this makes builds (and rebuilds with ccache) faster
2018-05-04 12:17:12 +10:00
Andrew Tridgell
5fb8fe927c
waf: added AP_ROMFS to build
2018-04-17 08:44:44 +10:00
Andrew Tridgell
02f20b4114
HAL_ChibiOS: first version of OMNIBUSF7V2 board support
...
first F7 based board
2018-04-12 11:50:44 +10:00
Andrew Tridgell
827108617a
waf: only generate an abin file when needed
...
this saves on user confusion
2018-04-11 15:09:49 +10:00
Andrew Tridgell
8eaac031af
waf: added AP_BLHeli
2018-04-07 09:10:29 +10:00
Andrew Tridgell
c50359a5b5
waf: throw an error if hwdef.dat can't be processed
2018-04-07 09:10:29 +10:00
Andrew Tridgell
98ab1c13db
Tools: fixed call to apj_tool in skyviper build
2018-03-24 16:11:50 +11:00
Peter Barker
6dfdb19711
Tools: include VisualOdom in common vehicle libraries
2018-03-23 09:28:07 +09:00
Peter Barker
44a063e818
Tools: ardupilotwaf: chibios: change directory before running make_abin.sh
...
Any waf build which is done outside of the git checkout will fail to create the abin without this, as it attempts to invoke git.
An example of this is the autotest system
2018-03-23 11:06:24 +11:00
Peter Barker
edd0f74ec0
Tools: ardupilotwaf: chibios: hand apj tool an absolute path to parameters
...
Any waf build specifying an --out which is not at the same level as the default "build" will fail without this
2018-03-23 11:06:24 +11:00
Peter Barker
b26d140316
Tools: ardupilotwaf: remove redundant --no-trigraph
2018-03-05 13:28:03 +00:00
Andrew Tridgell
ba55f99419
waf: fixed python3 pickle error
2018-03-05 09:50:27 +11:00
Andrew Tridgell
b6c0e65dee
waf: set CYGWIN_BUILD on cygwin for px4
...
helps with missing/cmath
2018-03-03 13:35:39 +11:00
Andrew Tridgell
3e9f0f83f0
waf: fixed cygwin build for ChibiOS
...
keep path lengths to linker short
2018-03-02 17:11:31 +11:00
Andrew Tridgell
706a0c1b2f
waf: define CYGWIN_BUILD for ChibiOS under cygwin
...
and for SITL
2018-03-02 17:11:31 +11:00
Andrew Tridgell
43f1b43b6c
waf: auto-generate board targets for ChibiOS
...
this allows porting to a new board by just adding the hwdef.dat, with
no other changes
2018-03-02 12:52:50 +11:00
Andrew Tridgell
2075a3da7d
waf: use pre_build hook for ChibiOS
...
this fixes dynamic uavcan building
2018-03-02 12:52:50 +11:00
Andrew Tridgell
7d5ed1bc9b
waf: simplify board classes for ChibiOS
...
rely in hwdef.dat
2018-03-02 12:52:50 +11:00
Andrew Tridgell
fed1579187
waf: auto-enable CAN for ChibiOS builds
...
use presence of CAN pins in hwdef.dat to automatically enable if
available
2018-03-02 12:52:50 +11:00
Andrew Tridgell
89430793dd
waf: allow env variable overrides in hwdef.dat
...
this allows hwdef.dat to control files that are built and flags to the
build
2018-03-02 12:52:50 +11:00
Andrew Tridgell
61debe95e0
Tools: started on OMNIBUSF7V2 support
2018-03-02 12:52:50 +11:00
Andrew Tridgell
6b6c35a435
waf: use relative paths for ChibiOS build
...
this fixes the ChibiOS build on cygwin by reducing path lengths to
below the cygwin limit
2018-03-02 12:52:50 +11:00
Andrew Tridgell
035da5047a
waf: added fmuv2 build
...
based on fmuv3, but with 1M target flash
2018-03-01 15:25:55 +11:00
Peter Barker
053d789843
Tools: ardupilotwaf: disable SLP vectorization for clang++ in SITL
...
There appears to be a problem caused by clang++'s optimisations to do
with SLP vectorizations.
It *looks* like it doesn't push enough operands into one of the vectors,
so you end up with a division by zero when attempting to execute an SSE
instruction.
2018-03-01 13:12:10 +11:00
Luis Vale Gonçalves
e88be33c9e
Updated the usbmodem line for upload
...
Added a * to enable recognition of usbmodems
2018-02-16 10:17:45 +11:00
Andrew Tridgell
4dc88c6022
waf: added crazyflie2
2018-02-14 18:27:00 +11:00
Andrew Tridgell
320c3b53a4
waf: make it easier to list USB IDs to load fw to
2018-02-14 18:27:00 +11:00
ljwang
59ee3c8f62
AP_HAL: support mini-pix
2018-02-14 18:27:00 +11:00
Alexey Bulatov
7302618bbc
waf: add support UAVCAN for Edge board
2018-02-13 13:52:44 +11:00
Andrew Tridgell
2cbf04a3d0
waf: use new bootloader path
2018-02-10 19:13:18 +11:00
Andrew Tridgell
8b5291975b
waf: disable uavcan and fatfs on skyviper-v2450
2018-02-08 22:10:46 +11:00
Andrew Tridgell
36695fe1f6
waf: create abin files for some px4 builds
...
needed for skyviper web UI upload
2018-02-08 18:56:51 +11:00
Andrew Tridgell
258ae49952
waf: support PX4 boards with no microSD or USB
2018-02-08 18:56:51 +11:00
Andrew Tridgell
86d43061e9
waf: added skyviper-v2450-px4 build
2018-02-08 17:36:33 +11:00
Andrew Tridgell
2db74a642b
waf: added skyviper-f412-rev1 board
...
older board with SPI 20789
2018-02-08 17:36:33 +11:00