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

Copter/Plane/Rover/Tracker: 4.5.7-beta1 release #28228

Merged
merged 17 commits into from
Sep 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
23 changes: 23 additions & 0 deletions AntennaTracker/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
Antenna Tracker Release Notes:
------------------------------------------------------------------
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
8 changes: 4 additions & 4 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-beta1"

// 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_BETA

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

#include <AP_Common/AP_FWVersionDefine.h>
24 changes: 24 additions & 0 deletions ArduCopter/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
ArduPilot Copter Release Notes:
------------------------------------------------------------------
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
8 changes: 4 additions & 4 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-beta1"

// 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_BETA

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

#include <AP_Common/AP_FWVersionDefine.h>
24 changes: 24 additions & 0 deletions ArduPlane/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
ArduPilot Plane Release Notes:
------------------------------------------------------------------
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
8 changes: 4 additions & 4 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-beta1"

// 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_BETA

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

#include <AP_Common/AP_FWVersionDefine.h>
23 changes: 23 additions & 0 deletions Rover/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,28 @@
Rover Release Notes:
------------------------------------------------------------------
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
8 changes: 4 additions & 4 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-beta1"

// 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_BETA

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

#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
8 changes: 4 additions & 4 deletions libraries/AP_DroneCAN/AP_DroneCAN.h
Original file line number Diff line number Diff line change
Expand Up @@ -231,10 +231,12 @@ class AP_DroneCAN : public AP_CANDriver, public AP_ESC_Telem_Backend {

uint32_t *mem_pool;

AP_DroneCAN_DNA_Server _dna_server;

uint8_t _driver_index;

CanardInterface canard_iface;

AP_DroneCAN_DNA_Server _dna_server;

char _thread_name[13];
bool _initialized;
///// SRV output /////
Expand Down Expand Up @@ -288,8 +290,6 @@ class AP_DroneCAN : public AP_CANDriver, public AP_ESC_Telem_Backend {
} _relay;
#endif

CanardInterface canard_iface;

#if AP_DRONECAN_SERIAL_ENABLED
AP_DroneCAN_Serial serial;
#endif
Expand Down
18 changes: 17 additions & 1 deletion libraries/AP_HAL_ChibiOS/UARTDriver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1623,22 +1623,38 @@ bool UARTDriver::set_options(uint16_t options)
cr2 &= ~USART_CR2_SWAP;
_cr2_options &= ~USART_CR2_SWAP;
}
#else // STM32F4
#elif defined(STM32F4) // STM32F4
// F4 can do inversion by GPIO if enabled in hwdef.dat, using
// TXINV and RXINV options
if (options & OPTION_RXINV) {
if (sdef.rxinv_gpio >= 0) {
hal.gpio->write(sdef.rxinv_gpio, sdef.rxinv_polarity);
if (arx_line != 0) {
palLineSetPushPull(arx_line, PAL_PUSHPULL_PULLDOWN);
}
} else {
ret = false;
}
} else if (sdef.rxinv_gpio >= 0) {
hal.gpio->write(sdef.rxinv_gpio, !sdef.rxinv_polarity);
if (arx_line != 0) {
palLineSetPushPull(arx_line, PAL_PUSHPULL_PULLUP);
}
}
if (options & OPTION_TXINV) {
if (sdef.txinv_gpio >= 0) {
hal.gpio->write(sdef.txinv_gpio, sdef.txinv_polarity);
if (atx_line != 0) {
palLineSetPushPull(atx_line, PAL_PUSHPULL_PULLDOWN);
}
} else {
ret = false;
}
} else if (sdef.txinv_gpio >= 0) {
hal.gpio->write(sdef.txinv_gpio, !sdef.txinv_polarity);
if (atx_line != 0) {
palLineSetPushPull(atx_line, PAL_PUSHPULL_PULLUP);
}
}
if (options & OPTION_SWAP) {
ret = false;
Expand Down
2 changes: 2 additions & 0 deletions libraries/AP_Motors/AP_MotorsHeli_Single.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,8 @@ void AP_MotorsHeli_Single::init_outputs()
case TAIL_TYPE::DIRECTDRIVE_VARPITCH:
case TAIL_TYPE::DIRECTDRIVE_VARPIT_EXT_GOV:
_tail_rotor.init_servo();
// yaw servo is an angle from -4500 to 4500
SRV_Channels::set_angle(SRV_Channel::k_motor4, YAW_SERVO_MAX_ANGLE);
break;

case TAIL_TYPE::SERVO_EXTGYRO:
Expand Down
1 change: 1 addition & 0 deletions libraries/AP_Proximity/AP_Proximity_MR72_CAN.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ bool AP_Proximity_MR72_CAN::parse_distance_message(AP_HAL::CANFrame &frame)

const AP_Proximity_Boundary_3D::Face face = frontend.boundary.get_face(yaw);
_temp_boundary.add_distance(face, yaw, objects_dist);
database_push(yaw, objects_dist);
return true;
}

Expand Down
5 changes: 4 additions & 1 deletion libraries/AP_RCProtocol/AP_RCProtocol_GHST.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,7 @@ bool AP_RCProtocol_GHST::decode_ghost_packet()
const RadioFrame* radio_frame = (const RadioFrame*)(&_frame.payload);
const Channels12Bit_4Chan* channels = &(radio_frame->channels);
const uint8_t* lowres_channels = radio_frame->lowres_channels;
bool rc_frame = false;

// Scaling from Betaflight
// Scaling 12bit channels (8bit channels in brackets)
Expand Down Expand Up @@ -328,6 +329,7 @@ bool AP_RCProtocol_GHST::decode_ghost_packet()
_channels[offset++] = CHANNEL_LR_SCALE_LEGACY(lowres_channels[1]);
_channels[offset++] = CHANNEL_LR_SCALE_LEGACY(lowres_channels[2]);
_channels[offset++] = CHANNEL_LR_SCALE_LEGACY(lowres_channels[3]);
rc_frame = true;
break;
}
case GHST_UL_RC_CHANS_HS4_12_5TO8:
Expand All @@ -338,6 +340,7 @@ bool AP_RCProtocol_GHST::decode_ghost_packet()
_channels[offset++] = CHANNEL_LR_SCALE(lowres_channels[1]);
_channels[offset++] = CHANNEL_LR_SCALE(lowres_channels[2]);
_channels[offset++] = CHANNEL_LR_SCALE(lowres_channels[3]);
rc_frame = true;
break;
}
case GHST_UL_RC_CHANS_RSSI:
Expand All @@ -355,7 +358,7 @@ bool AP_RCProtocol_GHST::decode_ghost_packet()
}
#endif

return true;
return rc_frame;
}

// send out telemetry
Expand Down
2 changes: 1 addition & 1 deletion modules/mavlink
2 changes: 1 addition & 1 deletion modules/waf
Submodule waf updated 234 files
1 change: 0 additions & 1 deletion wscript
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,6 @@ def configure(cfg):
cfg.msg('Setting board to', cfg.options.board)
cfg.get_board().configure(cfg)

cfg.load('clang_compilation_database')
cfg.load('waf_unit_test')
cfg.load('mavgen')
cfg.load('dronecangen')
Expand Down
Loading