Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CxPilot-7 to ArduPilot 4.5.7 #250

Merged
merged 46 commits into from
Nov 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
73c708a
hwdef: backport CUAV-7-Nano hwdef defines
cuav-chen2 Aug 28, 2024
92fec17
waf: update to 2.0.27
tridge Apr 25, 2024
5ce2924
mavlink: support python 3.12
tridge Apr 26, 2024
1e1d4a8
waf: cope with CI python oddity
tridge Apr 26, 2024
2045ef9
Plane: correct the ability to disable the takeoff atititude checks
peterbarker Sep 21, 2024
688632b
Tools: ardupilot_sitl launch file to include an out parameter for mav…
Dec 7, 2023
a1e612c
Tools: Expose map/console mavproxy args
Ryanf55 May 7, 2024
b7721f5
Tools: ros2: Fix plane launch headless
May 22, 2024
63a6004
AP_DDS: add param DDS_DOMAIN_ID
srmainwaring Jun 4, 2024
cd7f325
AP_DDS: ensure zero rotation quaternions are normalised
srmainwaring May 23, 2024
5c315cb
AP_DDS: Use common quaternion initialization function
Ryanf55 May 26, 2024
8c06d3d
Tools: ROS2: Add missing dependencies with docs
Ryanf55 Jul 31, 2024
6e20752
AP_DDS: fixed cell voltages
tridge Jul 10, 2024
d00568a
AP_DDS: Correct compilation of tests without external odom
Ryanf55 Sep 21, 2024
2f6ac7f
AP_GPS: backport to copter 4.5 the correct satellite count for NrSv d…
chiara-septentrio Aug 9, 2024
842edc7
AP_HAL_ChibiOS: add VUAV-V7pro
LCaiJie Sep 24, 2024
7264d7e
bootloaders: add VUAV-V7pro
LCaiJie Sep 24, 2024
06e3b20
HAL_ChibiOS: limit RX timeout to 100ms
tridge Sep 24, 2024
4e008d9
AP_DroneCAN: prevent saturation of CPU with DroneCAN thread
tridge Sep 24, 2024
d135fb2
DroneCAN: update libcanard
tridge Sep 24, 2024
53cb764
AP_Motors: fix DDVP tail servo initialization
Ferruccio1984 Sep 1, 2024
92d678f
AP_HAL_ChibiOS: correctly uninvert RX/TX on F4 with inverter support
andyp1per Aug 6, 2024
a133a91
AP_RCProtocol: only update rc value for GHST on rc frames
andyp1per Sep 11, 2024
f403594
AP_DroneCAN: Fix constructor initialization order
bugobliterator Sep 20, 2024
449a56f
AP_Proximity: Include database push in MR72 driver
rishabsingh3003 Jun 22, 2024
d9eaf18
Tracker: version to 4.5.7-beta1
rmackay9 Sep 25, 2024
a0f3c49
Rover: 4.5.7-beta1 release notes
rmackay9 Sep 25, 2024
0557990
Rover: version to 4.5.7-beta1
rmackay9 Sep 25, 2024
f2674f0
Copter: 4.5.7-beta1 release notes
rmackay9 Sep 25, 2024
6f2f576
Copter: version to 4.5.7-beta1
rmackay9 Sep 25, 2024
e02f71d
Plane: 4.5.7-beta1 release notes
rmackay9 Sep 25, 2024
0523b2c
Plane: version to 4.5.7-beta1
rmackay9 Sep 25, 2024
7102cce
AntennaTracker: 4.5.0 release notes
rmackay9 Apr 2, 2024
0ebe9f4
Tracker: 4.5.5 release notes
rmackay9 Aug 1, 2024
7732878
Tracker: 4.5.6-beta1 release notes
rmackay9 Aug 19, 2024
97ff0f6
Tracker: 4.5.6 release notes
rmackay9 Sep 2, 2024
db98715
Tracker: 4.5.7-beta1 release notes
rmackay9 Sep 25, 2024
2b30e7f
AP_GPS: revert backport to copter 4.5 the correct satellite count for…
rmackay9 Oct 7, 2024
139ac15
Tracker: 4.5.7 release notes
rmackay9 Oct 7, 2024
ce8795f
Tracker: version to 4.5.7
rmackay9 Oct 7, 2024
50bcf1f
Rover: 4.5.7 release notes
rmackay9 Oct 7, 2024
62566d1
Rover: version to 4.5.7
rmackay9 Oct 7, 2024
3bc79c3
Copter: 4.5.7 release notes
rmackay9 Oct 7, 2024
5dc1642
Copter: version to 4.5.7
rmackay9 Oct 7, 2024
02ee789
Plane: 4.5.7 release notes
rmackay9 Oct 7, 2024
0358a9c
Plane: version to 4.5.7
rmackay9 Oct 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions AntennaTracker/ReleaseNotes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,71 @@ Changes from 4.5.5
------------------------------------------------------------------
Release 4.5.5 1st Aug 2024

No changes from 4.5.5-beta2
------------------------------------------------------------------
Release 4.5.7 08 Oct 2024

Changes from 4.5.7-beta1

1) Reverted Septentrio GPS sat count correctly drops to zero when 255 received
------------------------------------------------------------------
Release 4.5.7-beta1 26 Sep 2024

Changes from 4.5.6

1) Bug fixes and minor enhancements

- VUAV-V7pro support
- CUAV-7-Nano correction for LEDs and battery volt and current scaling
- DroneCAN deadlock and saturation of CAN bus fixed
- DroneCAN DNA server init fix (caused logging issues and spam on bus)
- F4 boards with inverter support correctly uninvert RX/TX
- Nanoradar M72 radar driver fix for object avoidance path planning
- RC support for latest version of GHST
- Septentrio GPS sat count correctly drops to zero when 255 received

2) ROS2/DDS and other developer focused enhancements

- AP quaternions normalised for ROS2 to avoid warnings
- Dependencies fixed for easier installation
- ROS2 SITL launch file enhancements including displaying console and map
- ROS_DOMAIN_ID param added to support multiple vehicles or instances of ROS2
- Python 3.12 support
------------------------------------------------------------------
Release 4.5.6 03 Sep 2024

No changes from 4.5.6-beta1
------------------------------------------------------------------
Release 4.5.6-beta1 20 Aug 2024

Changes from 4.5.5

1) Board specific enhancements and bug fixes

- 3DR Control Zero H7 Rev G support
- CUAV-7-Nano support
- FoxeerF405v2 servo outputs increased from 9 to 11
- Holybro Pixhawk6C hi-power peripheral overcurrent reporting fixed
- iFlight 2RAW H7 support
- MFT-SEMA100 support
- TMotorH743 support BMI270 baro
- ZeroOneX6 support

2) Minor enhancements and bug fixes

- Cameras using MAVLink report vendor and model name correctly
- DroneCAN fix to remove occasional NodeID registration error
- GPS NMEA and GSoF driver ground course corrected (now always 0 ~ 360 deg)
- ICP101XX barometer slowed to avoid I2C communication errors
- IMU temp cal param (INSn_ACCSCAL_Z) stored correctly when bootloader is flashed
- IMU gyro/accel duplicate id registration fixed to avoid possible pre-arm failure
- Logging to flash timestamp fix
- OSD displays ESC temp instead of motor temp
- PID controller error calculation bug fix (was using target from prev iteration)
- Relay on MAIN pins fixed
------------------------------------------------------------------
Release 4.5.5 1st Aug 2024

No changes from 4.5.5-beta2
------------------------------------------------------------------
Release 4.5.5-beta2 27 July 2024
Expand Down Expand Up @@ -241,6 +306,10 @@ No changes from 4.5.0-beta4
------------------------------------------------------------------
Release 4.5.0 2nd April 2024

No changes from 4.5.0-beta4
------------------------------------------------------------------
Release 4.5.0 2nd April 2024

No changes from 4.5.0-beta4
------------------------------------------------------------------
Release 4.5.0-beta4 22nd March 2024
Expand Down
6 changes: 3 additions & 3 deletions AntennaTracker/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@

#include "ap_version.h"

#define THISFIRMWARE "AntennaTracker V4.5.6"
#define THISFIRMWARE "AntennaTracker V4.5.7"

// the following line is parsed by the autotest scripts
#define FIRMWARE_VERSION 4,5,6,FIRMWARE_VERSION_TYPE_OFFICIAL
#define FIRMWARE_VERSION 4,5,7,FIRMWARE_VERSION_TYPE_OFFICIAL

#define FW_MAJOR 4
#define FW_MINOR 5
#define FW_PATCH 6
#define FW_PATCH 7
#define FW_TYPE FIRMWARE_VERSION_TYPE_OFFICIAL

#include <AP_Common/AP_FWVersionDefine.h>
30 changes: 30 additions & 0 deletions ArduCopter/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
ArduPilot Copter Release Notes:
------------------------------------------------------------------
Release 4.5.7 08 Oct 2024

Changes from 4.5.7-beta1

1) Reverted Septentrio GPS sat count correctly drops to zero when 255 received
------------------------------------------------------------------
Release 4.5.7-beta1 26 Sep 2024

Changes from 4.5.6

1) Bug fixes and minor enhancements

- VUAV-V7pro support
- CUAV-7-Nano correction for LEDs and battery volt and current scaling
- DroneCAN deadlock and saturation of CAN bus fixed
- DroneCAN DNA server init fix (caused logging issues and spam on bus)
- F4 boards with inverter support correctly uninvert RX/TX
- Nanoradar M72 radar driver fix for object avoidance path planning
- RC support for latest version of GHST
- Septentrio GPS sat count correctly drops to zero when 255 received
- TradHeli DDVP tail rotor pitch actuator fixed

2) ROS2/DDS and other developer focused enhancements

- AP quaternions normalised for ROS2 to avoid warnings
- Dependencies fixed for easier installation
- ROS2 SITL launch file enhancements including displaying console and map
- ROS_DOMAIN_ID param added to support multiple vehicles or instances of ROS2
- Python 3.12 support
------------------------------------------------------------------
Release 4.5.6 03 Sep 2024

No changes from 4.5.6-beta1
Expand Down
6 changes: 3 additions & 3 deletions ArduCopter/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@

#include "ap_version.h"

#define THISFIRMWARE "ArduCopter V4.5.6"
#define THISFIRMWARE "ArduCopter V4.5.7"

// the following line is parsed by the autotest scripts
#define FIRMWARE_VERSION 4,5,6,FIRMWARE_VERSION_TYPE_OFFICIAL
#define FIRMWARE_VERSION 4,5,7,FIRMWARE_VERSION_TYPE_OFFICIAL

#define FW_MAJOR 4
#define FW_MINOR 5
#define FW_PATCH 6
#define FW_PATCH 7
#define FW_TYPE FIRMWARE_VERSION_TYPE_OFFICIAL

#include <AP_Common/AP_FWVersionDefine.h>
30 changes: 30 additions & 0 deletions ArduPlane/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
ArduPilot Plane Release Notes:
------------------------------------------------------------------
Release 4.5.7 08 Oct 2024

Changes from 4.5.7-beta1

1) Reverted Septentrio GPS sat count correctly drops to zero when 255 received
------------------------------------------------------------------
Release 4.5.7-beta1 26 Sep 2024

Changes from 4.5.6

1) Bug fixes and minor enhancements

- VUAV-V7pro support
- CUAV-7-Nano correction for LEDs and battery volt and current scaling
- DroneCAN deadlock and saturation of CAN bus fixed
- DroneCAN DNA server init fix (caused logging issues and spam on bus)
- F4 boards with inverter support correctly uninvert RX/TX
- Nanoradar M72 radar driver fix for object avoidance path planning
- Plane fix to ability to disable the takeoff atititude checks
- RC support for latest version of GHST
- Septentrio GPS sat count correctly drops to zero when 255 received

2) ROS2/DDS and other developer focused enhancements

- AP quaternions normalised for ROS2 to avoid warnings
- Dependencies fixed for easier installation
- ROS2 SITL launch file enhancements including displaying console and map
- ROS_DOMAIN_ID param added to support multiple vehicles or instances of ROS2
- Python 3.12 support
------------------------------------------------------------------
Release 4.5.6 03 Sep 2024

No changes from 4.5.6-beta1
Expand Down
2 changes: 1 addition & 1 deletion ArduPlane/takeoff.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ bool Plane::auto_takeoff_check(void)
bool do_takeoff_attitude_check = !(flight_option_enabled(FlightOptions::DISABLE_TOFF_ATTITUDE_CHK));
#if HAL_QUADPLANE_ENABLED
// disable attitude check on tailsitters
do_takeoff_attitude_check = !quadplane.tailsitter.enabled();
do_takeoff_attitude_check &= !quadplane.tailsitter.enabled();
#endif

if (!takeoff_state.launchTimerStarted && !is_zero(g.takeoff_throttle_min_accel)) {
Expand Down
6 changes: 3 additions & 3 deletions ArduPlane/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@

#include "ap_version.h"

#define THISFIRMWARE "ArduPlane V4.5.6"
#define THISFIRMWARE "ArduPlane V4.5.7"

// the following line is parsed by the autotest scripts
#define FIRMWARE_VERSION 4,5,6,FIRMWARE_VERSION_TYPE_OFFICIAL
#define FIRMWARE_VERSION 4,5,7,FIRMWARE_VERSION_TYPE_OFFICIAL

#define FW_MAJOR 4
#define FW_MINOR 5
#define FW_PATCH 6
#define FW_PATCH 7
#define FW_TYPE FIRMWARE_VERSION_TYPE_OFFICIAL

#include <AP_Common/AP_FWVersionDefine.h>
29 changes: 29 additions & 0 deletions Rover/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
Rover Release Notes:
------------------------------------------------------------------
Release 4.5.7 08 Oct 2024

Changes from 4.5.7-beta1

1) Reverted Septentrio GPS sat count correctly drops to zero when 255 received
------------------------------------------------------------------
Release 4.5.7-beta1 26 Sep 2024

Changes from 4.5.6

1) Bug fixes and minor enhancements

- VUAV-V7pro support
- CUAV-7-Nano correction for LEDs and battery volt and current scaling
- DroneCAN deadlock and saturation of CAN bus fixed
- DroneCAN DNA server init fix (caused logging issues and spam on bus)
- F4 boards with inverter support correctly uninvert RX/TX
- Nanoradar M72 radar driver fix for object avoidance path planning
- RC support for latest version of GHST
- Septentrio GPS sat count correctly drops to zero when 255 received

2) ROS2/DDS and other developer focused enhancements

- AP quaternions normalised for ROS2 to avoid warnings
- Dependencies fixed for easier installation
- ROS2 SITL launch file enhancements including displaying console and map
- ROS_DOMAIN_ID param added to support multiple vehicles or instances of ROS2
- Python 3.12 support
------------------------------------------------------------------
Release 4.5.6 03 Sep 2024

No changes from 4.5.6-beta1
Expand Down
6 changes: 3 additions & 3 deletions Rover/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@

#include "ap_version.h"

#define THISFIRMWARE "ArduRover V4.5.6"
#define THISFIRMWARE "ArduRover V4.5.7"

// the following line is parsed by the autotest scripts
#define FIRMWARE_VERSION 4,5,6,FIRMWARE_VERSION_TYPE_OFFICIAL
#define FIRMWARE_VERSION 4,5,7,FIRMWARE_VERSION_TYPE_OFFICIAL

#define FW_MAJOR 4
#define FW_MINOR 5
#define FW_PATCH 6
#define FW_PATCH 7
#define FW_TYPE FIRMWARE_VERSION_TYPE_OFFICIAL

#include <AP_Common/AP_FWVersionDefine.h>
2 changes: 2 additions & 0 deletions Tools/ardupilotwaf/ap_library.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,8 @@ def scan(self):

# force dependency scan, if necessary
self.compiled_task.signature()
if not self.compiled_task.uid() in self.generator.bld.node_deps:
return r, []
for n in self.generator.bld.node_deps[self.compiled_task.uid()]:
# using common Node methods doesn't work here
p = n.abspath()
Expand Down
6 changes: 5 additions & 1 deletion Tools/ardupilotwaf/chibios.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,11 @@
_dynamic_env_data = {}
def _load_dynamic_env_data(bld):
bldnode = bld.bldnode.make_node('modules/ChibiOS')
tmp_str = bldnode.find_node('include_dirs').read()
include_dirs_node = bldnode.find_node('include_dirs')
if include_dirs_node is None:
_dynamic_env_data['include_dirs'] = []
return
tmp_str = include_dirs_node.read()
tmp_str = tmp_str.replace(';\n','')
tmp_str = tmp_str.replace('-I','') #remove existing -I flags
# split, coping with separator
Expand Down
4 changes: 2 additions & 2 deletions Tools/ardupilotwaf/git_submodule.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ def runnable_status(self):
else:
r = Task.RUN_ME

if self.non_fast_forward:
if getattr(self,'non_fast_forward',[]):
r = Task.SKIP_ME

return r
Expand Down Expand Up @@ -148,7 +148,7 @@ def git_submodule(bld, git_submodule, **kw):
def _post_fun(bld):
Logs.info('')
for name, t in _submodules_tasks.items():
if not t.non_fast_forward:
if not getattr(t,'non_fast_forward',[]):
continue
Logs.warn("Submodule %s not updated: non-fastforward" % name)

Expand Down
Binary file added Tools/bootloaders/VUAV-V7pro_bl.bin
Binary file not shown.
24 changes: 20 additions & 4 deletions Tools/ros2/README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,34 @@
# ArduPilot ROS 2 packages

This directory contains ROS 2 packages and configuration files for running
ROS 2 processes and nodes that communicate with the ArduPilot DDS client
library using the microROS agent. It contains the following packages:
This directory contains ROS 2 packages and configuration files for running
ROS 2 processes and nodes that communicate with the ArduPilot DDS client
library using the microROS agent. It contains the following packages:

#### `ardupilot_sitl`

A `colcon` package for building and running ArduPilot SITL using the ROS 2 CLI.
This is a `colcon` package for building and running ArduPilot SITL using the ROS 2 CLI.
For example `ardurover` SITL may be launched with:

```bash
ros2 launch ardupilot_sitl sitl.launch.py command:=ardurover model:=rover
```

Other launch files are included with many arguments.
Some common arguments are exposed and forwarded to the underlying process.

For example, MAVProxy can be launched, and you can enable the `console` and `map`.
```bash
ros2 launch ardupilot_sitl sitl_mavproxy.launch.py map:=True console:=True
```

ArduPilot SITL does not yet expose all arguments from the underlying binary.
See [#27714](https://github.com/ArduPilot/ardupilot/issues/27714) for context.

To see all current options, use the `-s` argument:
```bash
ros2 launch ardupilot_sitl sitl.launch.py -s
```

#### `ardupilot_dds_test`

A `colcon` package for testing communication between `micro_ros_agent` and the
Expand Down
3 changes: 3 additions & 0 deletions Tools/ros2/ardupilot_dds_tests/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,15 @@
<test_depend>ament_lint_auto</test_depend>
<test_depend>ardupilot_msgs</test_depend>
<test_depend>ardupilot_sitl</test_depend>
<test_depend>builtin_interfaces</test_depend>
<test_depend>launch</test_depend>
<test_depend>launch_pytest</test_depend>
<test_depend>launch_ros</test_depend>
<exec_depend>micro_ros_msgs</exec_depend>
<test_depend>python3-pytest</test_depend>
<test_depend>rclpy</test_depend>
<test_depend>sensor_msgs</test_depend>


<export>
<build_type>ament_python</build_type>
Expand Down
6 changes: 6 additions & 0 deletions Tools/ros2/ardupilot_sitl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,12 @@ install(DIRECTORY
DESTINATION share/${PROJECT_NAME}/config/
)

# Install additional autotest model params.
install(DIRECTORY
${ARDUPILOT_ROOT}/Tools/autotest/models
DESTINATION share/${PROJECT_NAME}/config/
)

# Install Python package.
ament_python_install_package(${PROJECT_NAME}
PACKAGE_DIR src/${PROJECT_NAME}
Expand Down
8 changes: 8 additions & 0 deletions Tools/ros2/ardupilot_sitl/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,15 @@
<buildtool_depend>ament_cmake</buildtool_depend>
<buildtool_depend>ament_cmake_python</buildtool_depend>

<exec_depend>ardupilot_msgs</exec_depend>
<exec_depend>builtin_interfaces</exec_depend>
<exec_depend>geographic_msgs</exec_depend>
<exec_depend>geometry_msgs</exec_depend>
<exec_depend>micro_ros_agent</exec_depend>
<exec_depend>rosgraph_msgs</exec_depend>
<exec_depend>sensor_msgs</exec_depend>
<exec_depend>std_msgs</exec_depend>
<exec_depend>tf2_msgs</exec_depend>

<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_cmake_black</test_depend>
Expand Down
Loading
Loading