Commit Graph

1416 Commits

Author SHA1 Message Date
Peter Barker 40a0e06db3 Tools: add and use AP_CUSTOMROTATIONS_ENABLED
also add to build_options.py
2024-03-03 08:22:46 +11:00
Andrew Tridgell 03910b8df4 Tools: run examples with SITL 2024-02-28 19:22:14 +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
Dr.-Ing. Amilcar do Carmo Lucas b6b4c972f9 Tools: Script to fetch online ArduPilot parameter documentation (if not cached) and
add it to the specified file or to all *.param and *.parm files in the specified directory.

1. Checks if a local cache of the XML file exists in the target directory or on the directory of the target file:
 - If it does, the script loads the file content.
 - If it doesn't, the script sends a GET request to the URL to fetch the XML data for the requested vehicle type.
2. Parses the XML data and creates a dictionary of parameter documentation.
3. DELETES all comments that start at the beginning of a line
4. Adds the parameter documentation to the target file or to all *.param,*.parm files in the target directory.

Supports AP_Periph, AntennaTracker, ArduCopter, ArduPlane, ArduSub, Blimp, Heli, Rover and SITL vehicle types
Supports both Mission Planner and MAVProxy file formats
Supports sorting the parameters
Has unit tests with 88% coverage

AP_FLAKE8_CLEAN

Author: Amilcar do Carmo Lucas, IAV GmbH

# Conflicts:
#	.github/workflows/test_unit_tests.yml
2024-02-22 08:31:57 +11:00
Simon Hancock e01e697343 Autotest: Generate LogMessages.xml for Sub 2024-02-21 21:05:22 +11:00
Dr.-Ing. Amilcar do Carmo Lucas 74640c9e65 Tools: Extracts parameter default values from an ArduPilot .bin file.
Supports Mission Planner, MAVProxy and QGCS file format output

Contains unittests with 95% coverage

Amilcar do Carmo Lucas, IAV GmbH
2024-02-21 18:24:16 +11:00
Andrew Tridgell 3668616c53 Tools: added -e to cygwin build
error if any part of build fails

also ensure cygwin build in CI is parallelised
2024-02-16 18:59:32 +11:00
Peter Barker 492bbe4830 Tools: remove HerePro
to be replaced by a HereProAP
2024-02-15 13:42:14 +11:00
Richard Marko 04b46678a4 treewide: fix shebangs - /bin/bash -> /usr/bin/env bash
Most scripts/tools use non-portable `/bin/bash`, switch
to environment agnostic `/usr/bin/env bash`.
2024-02-13 11:36:23 +11:00
Peter Barker 2fe2c3b520 Tools: move RC bits in mavlink to common code
Plane's semantics change to be like Copter. Rover, Sub and Tracker will start reporting the bits
2024-02-10 11:46:44 +11:00
Peter Barker 1e7df560aa Revert "board_list.py: correct autobuild target name"
This reverts commit 039701b616.

This broken builds on the build server.  We should be correcting the other way anyway, from antennatracker -> tracker
2024-02-10 11:46:14 +11:00
Peter Barker 857547ba55 Tools: build_options.py: include fixed-yaw and in-flight learning options 2024-02-06 11:11:27 +11:00
Peter Barker cd1e1273fa Tools: size_compare_branches.py: correct pruning of threads 2024-02-01 14:27:36 +11:00
Peter Barker 039701b616 board_list.py: correct autobuild target name
this has to be the waf target name
2024-02-01 12:31:04 +11:00
Andrew Tridgell bf60a3b385 Tools: added convert_param_scale.py 2024-01-23 15:00:30 +11:00
Peter Barker b35431beb5 Tools: build_options.py: add option for HAL_LOGGING_ENABLED 2024-01-23 11:55:49 +11:00
Andrew Tridgell ebe7fc23b3 Tools: build a web enabled bootloader in CI 2024-01-21 12:30:08 +11:00
Henry Wurzburg 1bac278a38 Tools: add button build server option 2024-01-21 11:51:47 +11:00
Andrew Tridgell fb26452b8d Tools: added linux boards to build sizes web page 2024-01-19 11:41:02 +11:00
Peter Barker 7c52d8b468 build_options.py: add option to force APJ_TOOL parameter area 2024-01-17 18:28:48 +11:00
Peter Barker 3f9062d676 Tools: extend error message when not finding defaults 2024-01-17 18:28:48 +11:00
Peter Barker 0c98369fd5 Tools: remove script which generates MissionPlanner-style xml files
it now uses apm.pdef.xml
2024-01-17 14:10:01 +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
Peter Barker 2ca8cc572c Tools: build_options.py: Ghost telem requires ghost RC 2024-01-15 09:39:41 +11:00
Peter Barker fe30a93602 build_options.py: correct entries for Ghost telem protocol 2024-01-15 09:39:41 +11:00
AndersonRayner d53807cb6c Tools: Update sitl-on-hardware README.md to match new file paths.
The sitl-on-hardware paths have changed.  This updates the readme file to reflect the new file locations.
2024-01-13 13:55:25 -08:00
Siddharth Purohit d278ed3f2c Tools: add bin file when building binaries for Here4FC 2024-01-13 23:03:52 +11:00
Andrew Tridgell 2e8be66353 CI: added Pixhawk6X-PPPGW to CI builds 2024-01-12 19:06:49 -08:00
Peter Barker 34bc01ec71 Tools: size_compare_branches.py: upon process failure write out a file containing diagnostics 2024-01-12 15:23:47 +11:00
Peter Barker 1748711b99 Tools: size_compare_branches.py: restart failed threads 2024-01-12 15:23:47 +11:00
Andy Piper 3c9c4a58b8 scripts: add Ghost protocol to build_options.py 2024-01-10 18:32:53 +11:00
Bob Long eb10b81964 Tools: uploader.py: set write_timeout
This is needed to prevent Windows from hanging when trying to write to
"Standard Serial over Bluetooth" ports.
2024-01-09 01:32:16 -08:00
Andrew Tridgell 40e9b94f58 CI: test sim-on-hw build in CI 2024-01-07 20:51:55 +11:00
Andrew Tridgell 30ad0560f4 Tools: added CAN playback tool
uses frames from lua CAN bus capture and plays back for driver
development
2024-01-07 12:23:39 +11:00
David 'Buzz' Bussenschutt 6d4747a38c Tools: fix esp32 CI build
install gevent as a package first seems to allow it to avoid issues.
also 3.11 is reqd, and 3.10 usn't good enough.
2024-01-07 08:09:21 +11:00
Andrew Tridgell f4e731781d CI: debug ppp install 2024-01-03 12:14:47 +11:00
Andrew Tridgell b340b5f8ca Tools: added PPP as a build option 2024-01-03 12:14:47 +11:00
Andrew Tridgell eb6c62f319 CI: added CubeOrange-PPP build test 2024-01-03 12:14:47 +11:00
Peter Barker f8fcc96103 Tools: don't check all files if no files-to-check supplied 2024-01-03 11:46:05 +11:00
Iampete1 b13632cc94 Tools: Scripts: decode_ICSR: use decoder_m4_pendsvset function 2024-01-01 11:31:40 +11:00
Andrew Tridgell 990b10bbca Tools: added esp32s3empty and gdb startup file for esp32 2023-12-31 09:55:02 +11:00
Peter Barker fc9e6de99a Tools: size_compare_branches.py: add canzero to linux boards 2023-12-13 14:30:46 +11:00
Ka Ru e384c78904 Tools: add can-zero board 2023-12-05 07:41:06 -06:00
Ryan Friedman bcd11701fa Tools: Add MicroStrain7 support
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-12-05 11:09:22 +11: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
Iampete1 2c84799bb5 Tools: Scripts: Decode devid: add ICM45686 2023-11-30 14:26:26 -08:00
Andrew Tridgell 11d0e36e36 Tools: added IMUOUT to build options 2023-11-30 07:05:02 +11:00
Andrew Tridgell e04d1bba9e Tools: added IMU decoder script 2023-11-30 07:05:02 +11:00
Andrew Tridgell fcb3d40ffd Tools: sort serial ports for uploader
this ensures that the first port on linux is used, the 2nd port may
not have mavlink enabled
2023-11-27 13:33:27 -08:00
Tom Pittenger 496125a8cb Tools: add AP_BATTERY_WATT_MAX_ENABLED to docs 2023-11-26 11:57:14 +11:00
Peter Barker 6809f243f1 Tools: CI: build AP_Periph parameters in CI 2023-11-22 21:43:53 -08:00
Pierre Kancir 1d7d6328bb Tools: make CI output junit xml results 2023-11-22 18:32:19 +11:00
Andrew Tridgell d42e5d89fe Tools: added DroneCAN serial to options and extract features 2023-11-22 17:19:12 +11:00
Andrew Tridgell d5470ae466 Tools: disable networking in ccache test
this allows for fair comparison between Durandal and Pixhawk6X
2023-11-17 10:54:24 -08:00
Andrew Tridgell f12166c2d4 Tools: added EFI hirth to options and features 2023-11-17 13:09:02 +11:00
jfbblue0922 374573ae39 Tools/scripts: add AP_RANGEFINDER_JRE_SERIAL_ENABLED 2023-11-15 19:10:05 +09:00
Lokesh Ramina 6fe9090367 Tools : Decode_devid Add Compass QMC5883P, AK09915 2023-11-15 10:53:38 +11:00
Peter Barker 5586daec49 Tools: add AP_TEMPCALIBRATION_ENABLED to build_options 2023-11-07 07:46:24 +11:00
Peter Barker 1f7e87ddf5 Tools: build_options.py: move baro-related thigns to new Baro section 2023-11-07 07:46:24 +11:00
Asif Khan 6528394797 Tools: custom build server support for SEND_FOV_STATUS 2023-11-02 15:54:37 +11:00
Peter Barker 6589290053 Tools: filter empty columns out of size_compare result 2023-10-27 17:41:30 +11:00
Peter Barker 0928927ab7 Tools: correct use of AP_RANGEFINDER_LUA_ENABLED
new, separate define to AP_SCRIPTING_ENABLED use was incomplete
2023-10-27 14:16:47 +11:00
Peter Barker e5613de586 Tools: extract_features.py: add option to find feature by string-present-in-codebase
sometimes a features isn't represented by a symbol, but can be found with a specific string....
2023-10-27 14:15:53 +11:00
Peter Barker a04bfff957 Tools: add AC_PAYLOAD_PLACE_ENABLED to build options 2023-10-27 14:15:53 +11:00
rishabsingh3003 221628c396 Tools: Update new rangefinders in build_options.py 2023-10-25 10:03:54 +11:00
muramura 68350130b0 SimOnHW: Incorporate POSHOLD by default 2023-10-20 07:57:21 +11:00
Peter Barker 9de147a11a Tools: add script to filter output from size_compare_branches.py 2023-10-20 07:04:26 +11:00
Peter Barker 90d39a6ee0 GCS_MAVLink: add build option for deprecated MISSION_REQUEST
replaced by MISSION_REQUEST_INT
2023-10-17 10:40:12 +11:00
Tom Pittenger 3013a7959d Tools: add build_option - ODID (OpenDroneID/RemoteID) 2023-10-03 10:17:19 +11:00
Tom Pittenger 9cc3d71c50 Tools: add extract_features Check Firmware and ODID 2023-10-03 10:17:19 +11:00
Henry Wurzburg 224c1ee2a9 Tools:correct desc of batt->esc param 2023-09-22 23:10:21 -07:00
Peter Barker a26ebd3600 Tools: build_options.py: add option to remove AP_Tuning from build 2023-09-21 07:07:58 +10:00
Peter Barker 164b7328bd Tools: add COMPASS_CAL_ENABLED to build_options.py 2023-09-19 16:54:59 +10:00
Henry Wurzburg 5bb96d31e3 Tools: limit AFS to Plane and fix symbol lookup 2023-09-19 11:19:06 +10:00
Andrew Tridgell 67d84a9a5a Tools: added build options for himark servos and hobbywing ESCs 2023-09-07 08:44:54 +10:00
Peter Barker d70027f83a build_options.py: correct case of Sagetech company name 2023-09-07 08:44:27 +10:00
Leonard Hall 823527588c Tools: Add TSYS03 to build options 2023-09-06 23:00:30 +10:00
Andrew Tridgell 84ff71d519 Tools: added --periph-only option to build_bootloaders.py 2023-09-06 11:21:51 +10:00
Peter Barker f87c138393 build_options.py: add options for various MAVLink message handling 2023-09-05 10:20:14 +10:00
Peter Barker d40320b1c2 Tools: size_compare_branches.py: blacklist iomcu-f103 for bootloader build 2023-09-04 20:00:10 +10:00
Peter Barker 9e0367764d Tools: blacklist iomcu dshot builds when building bootloaders
we don't have the ability to buld bootloaders for these
2023-09-04 13:54:58 +10:00
Andrew Tridgell 9742997a34 Tools: fixed ccache test for newer ccache version 2023-09-03 09:41:15 +10:00
Pierre Kancir a6d5e437ea Tools: fix Indentation contains mixed spaces and tabs 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 b612c245bd Tools: added build_peripherals.py
useful for testing that changes in AP_Periph have not broken any builds
2023-09-01 13:04:59 +10:00
Andrew Tridgell d10cebd649 Tools: support new stable release of 4.3.x
allows creation of the stable-4.3.x directories
2023-08-29 11:11:55 +10:00
Peter Barker 533bc504c1 Tools: add build options for deprecated messages MOUNT_CONTROL/MOUNT_CONFIGURE
these are repalced by the command equivalents
2023-08-29 11:06:13 +10:00
Ryan Friedman 74750ca952 Tools: Rename MicroStrain to MicroStrain5
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-29 10:31:44 +10:00
Michelle Rossouw b57d17123f Tools: Add simple Blimp autotest, testing Manual, Loiter and RTL modes 2023-08-26 22:21:59 +10:00
Andrew Tridgell 74102c6380 Tools: added Qiotek to list of recognised USB vendors 2023-08-26 21:14:15 +10:00
Andrew Tridgell 08fd7973e2 Tools: removed force32 bit option for sitltest-can
multicast does not work on CI as 32 bit binary
2023-08-24 13:06:40 +10:00
Ryan Friedman 4447e87098 Tools: Build DDS tests in CI
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-24 07:46:06 +10:00
Tom Pittenger 2057a1871b Tools/scripts/build_features: add BATTERY_ESC_TELEM_OUTBOUND_ENABLED 2023-08-22 16:14:36 -07:00
Ryan Friedman d76bf320de Tools: Enforce astyle on AP_ExternalControl
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-22 18:21:23 +10:00
Peter Barker 2c3ac2fa4e build_options.py: create MAVLink section, populate it
this is for when we want to be able to add or remove mavlink features or mavlink message/command handling
2023-08-22 09:09:54 +10:00
Andrew Tridgell c14e65850b Tools: allow selection of sdcard storage
this has been requested for MatekF765-Wing
2023-08-21 17:03:52 +10:00
Ryan Friedman a56782546d Tools: Allow enforcing astyle in CLI automatically
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-19 20:26:55 +10:00
Peter Barker 2ce61cce58 AP_Generator: rename generator define to fix feature extraction
pattern-matching requires a regular pattern.  Renaming the class would be bad, so  just rename the define
2023-08-16 17:35:59 +10:00
Peter Barker 08a7fa8d1f Tools: extract_features.py: correct feature extraction for generator
update isn't present in some classes as they inherit it from their base class
2023-08-16 17:35:59 +10:00
Peter Barker f6e93ad12b Tools: add build_options.py option to remove rallypoint protocol 2023-08-15 08:37:17 +10:00
Andy Piper 74fb1a91ca scripts: build f103 variants of iofirmware 2023-08-15 06:53:48 +10:00
bugobliterator de0f875191 IO_Firmware: dshot iofirmware and build script 2023-08-15 06:53:48 +10:00
Peter Barker a2934d7dd2 Tools: size_compare_branches.py: make build failures clearer 2023-08-12 15:31:29 +10:00
Peter Barker 52ca2be0d1 Tools: write features json at same place we write manifest 2023-08-12 10:39:01 +10:00
Peter Barker 4226371f76 Tools: add sensor_status_change.py 2023-08-10 08:04:01 +10:00
Andrew Tridgell 3f4a6a23dd Tools: added battery fitting script 2023-08-10 07:43:25 +10:00
Peter Barker dd388a3da2 Tools: add build_options.py option to remove fencepoint protocol
also gate more code on defines

Saves ~2kB
2023-08-09 17:53:54 +10:00
Ryan Friedman 4f08451ade Tools: Rename LORD to MicroStrain
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-08-07 19:16:03 +10:00
Peter Barker 9bd19bc835 Tools: size_compare_branches.py: blacklist build of RADIX2HD bootloader
we don't have a hardware definition for this
2023-08-04 07:16:58 +10:00
Peter Barker 17343e2228 Tools: build_options.py: add SLCAN to build options
saves 4.1kB when disabled
2023-08-01 11:33:26 +10:00
Peter Barker 3784841eaa Tools: extract_features.py: sort extracted features string into more useful order
when taking differences between output of this file it is more useful to sort the list regardless of compiled-in/compiled-out.
2023-08-01 07:08:19 +10:00
Randy Mackay e0353666d4 Tools: custom build server supports viewpro mount 2023-07-18 21:02:02 +09:00
Willian Galvani 5013a1e979 Tools: don't fail if feature extraction failed (beta/stable version) 2023-07-15 09:59:28 +10:00
Peter Barker e2e8bbabf1 Tools: don't fail if feature extraction failed 2023-07-12 20:48:19 +10:00
Max-001 44e565800f Tools: added EFI mavlink to build options 2023-07-11 12:32:19 +10:00
Iampete1 0ee778cac1 Tools: Scripts: run_luacheck: allow passing extra arguments 2023-07-06 00:11:12 +01:00
Henry Wurzburg 6afb16d10f Tools:add brake mode to build options 2023-06-28 15:59:22 +10:00
Randy Mackay 8adfd7e6ad Tools: custom build server support for Xacti gimbal 2023-06-27 21:12:20 +10:00
Peter Barker f7243c0ff5 Tools: add and use AP_SBUSOUTPUT_ENABLED
.... which will allow periphs to instantiate this if they really feel like it, and for it to be removed on smaller boards on the custom build server (and potentially on lower-specced boards.
2023-06-27 10:10:41 +10:00
Peter Barker 0cf53f5127 Tools: add option to disable relay and servorelay libraries 2023-06-20 09:36:39 +10:00
Peter Barker 2d51eae56e Tools: build_options.py: add filesystem build options 2023-06-18 10:35:27 +10:00
Peter Barker c0cf43d5b5 Tools: tidy solution_status_change.py
NFC, just a bit tidier
2023-06-15 19:25:12 +10:00
Peter Barker a1726f9b92 Tools: allow CrashCatcher to be disabled via hwdef 2023-06-14 18:39:11 +10:00
Peter Barker cf7b01d73a Tools: add AP_SCRIPTING_ENABLED to custom build server 2023-06-09 16:10:52 +10:00
Peter Barker 0c9c01d903 Tools: size_compare_branches.py: correct exclude-board globbing 2023-06-09 08:41:27 +10:00
Peter Barker a7e6bfc80a Tools: size_compare_branches.py: blacklist build of Pixhawk1-bdshot
new board, no bootloader
2023-06-09 08:41:27 +10:00
Peter Barker 38693c0e5d Tools: add --exclude-board=glob to size_compare_branches.py 2023-06-08 17:16:51 +10:00
Peter Barker 7ab625b969 Tools: correct detection of feature AP_FILESYSTEM_FORMAT_ENABLED 2023-06-08 08:55:26 +10:00
Peter Barker 440d00e8c8 Tools: add AP_BOOTLOADER_FLASHING_ENABLED to build options 2023-06-07 18:24:05 +10:00
Peter Barker 3b5779fa91 Tools: create define specifically for the developer feature for killing IMUs 2023-06-07 18:23:01 +10:00
Andrew Tridgell ce11532800 Tools: make sdcard formatting a build option 2023-06-06 15:19:00 +10:00
Ryan Friedman 5803dd9b23 scripts: Only enable Werror in boards.py rather than build_ci.sh
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman 8d1937866b Tools: Only enable -Werr for SITL when compiling with g++
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Ryan Friedman 7b4d37ac43 Tools: Enable -Werr for SITL
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-06-05 09:09:13 +10:00
Andrew Tridgell 4946ce5431 HAL_ChibiOS: revert recent USB changes
these are causing some boards to crash on startup. Tested with a
QiotekZealotH743 which doesn't get out of setup_usb_strings()

once we have debugged this we can re-add the functionality
2023-06-03 16:50:30 +10:00
Peter Barker 2489a2bec4 Tools: compile with debug symbols and provide path to sources 2023-06-01 11:36:02 +10:00
Peter Barker d2af1f0fa1 Tools: size_compare_branches.py: correct branch name in elf_diff output 2023-06-01 11:36:02 +10:00
bugobliterator b5f303e5e7 Tools: use HereProAP instead of HerePro 2023-05-31 18:40:17 +10:00
Nicholas Kruzan 5a67ff6479 Tools: new board: esp32s3devkit 2023-05-26 10:54:01 -07:00
Pierre Kancir a47c97bb9f Tools: continue on coverage test failure 2023-05-26 10:48:35 -07:00
Andrew Tridgell c69f236dd3 Tools: added beta-4.3 to build list 2023-05-25 07:33:47 +10:00
Pierre Kancir d01f9e3ec5 Tools: add typing and add option for examples on coverage 2023-05-24 17:56:58 +10:00
Pierre Kancir dcb6b59962 Tools: remove build/linux/modules from coverage stats 2023-05-24 17:56:58 +10:00
Peter Barker 1359b43742 Tools: build_binaries.py: avoid exception while handling exception
From the build server:

  File "./build_binaries.py", line 570, in get_exception_stacktrace
    ret = "%s\n" % e
  File "/usr/lib/python3.8/subprocess.py", line 113, in __str__
    if self.returncode and self.returncode < 0:
2023-05-24 06:23:02 +10:00
Andrew Tridgell 59b24c304f Tools: support beta-4.3 tags for doing new beta releases
temporary measure for new beta-4.3 for RCIN fix
2023-05-23 20:26:42 +10:00
Andrew Tridgell 5f469f2596 Tools: whitelist AP_PLANE_BLACKBOX_LOGGING
no signature we can use for this
2023-05-18 12:59:09 +10:00
Andrew Tridgell e0cf5c5802 Tools: added AP_PLANE_BLACKBOX_LOGGING build option for custom build server 2023-05-18 12:59:09 +10:00
Pierre Kancir c05175074a Tools: enforce python3 on Tools 2023-05-18 07:54:10 +10:00
Peter Barker 0edf71e430 Tools: configure_all.py: copy bootloader hwdefs to different filename 2023-05-17 18:39:51 +10:00
Peter Barker 01c3e34eea Tools: use chibios_hwdef lib to determine is-ap-periph 2023-05-17 18:39:51 +10:00