A (partial) list of bug fixed and issues resolved in this release can be found here.
localization2DClient
(replaced by localization2D_nwc_yarp
)map2DClient
(replaced by map2D_nwc_yarp
)navigation2DServer
(replaced by navigation2D_nws_yarp
)YARP_VERSION_COMPARE
macro has been added to version.h to simplify how YARP versions are compared e.g. in #if
guards. For instance, the condition #if YARP_VERSION_COMPARE(>=, 3, 6, 0)
will yield true if the current YARP version is equal to or greater than 3.6.0.CommandBottle
class. This is a class that contains both the command and the reply. The only advantage of this class compared to using two bottles is that portmonitors are able to know, in the updateReply
method, what was the request for the reply received.Log
std::vector
, it is now also possible to call yInfo() << collection
where the collection is a std::array
, std::list
, std::set
, std::map
, C-array, std::tuple
...yIDebug
). See documentation.YARP_LOG_PROCESS_LABEL
environment variable is now checked when output is forwarded. If found, the label is appended to the executable name in the log port name e.g. (/log/hostname/yarpdev[mylabel]/123123
)ConnectionWriter
getBuffer
with const/non-const versionsConnectionReader
flushWriter
is now an interface method.idl/WireReader
getReader()
method.idl/WireWriter
yarp::sig::soundfilters::resample()
contained in the new header file yarp/sig/SoundFilters.h
.DeviceDriver
id()
and setId()
methodsPolyDriver
id
option to the open
method (or passing --id
to yarpdev
).Nav2D::INavigation2DVelocityActions
applyVelocityCommand()
method was moved from yarp::dev::Nav2D::INavigation2DTargetActions
to a new interface yarp::dev::Nav2D::INavigation2DVelocityActions
.yarp::dev::Nav2D::MapGrid2D
using Zlib: the methods yarp::os::Portable::write()
and yarp::os::Portable::read()
handle the compression before sending data to the network. The method MapGrid2D::enable_map_compression_over_network()
enables/disables the data compression over the network (default true). If the Zlib library is not available, compression will be disabled.Map2DArea::getCentroid()
.description
field which can now be filled by the user for generic purposes.description
field which can now be filled by the user for generic purposes.description
field which can now be filled by the user for generic purposes.getAllLocations(std::vector<yarp::dev::Nav2D::Map2DLocation>& locations)
getAllAreas(std::vector<yarp::dev::Nav2D::Map2DArea>& areas)
getAllPaths(std::vector<yarp::dev::Nav2D::Map2DPath>& paths)
INavigation2D
interface now derives from IMap2D
interfacecarrier
to set the carrier for the connection with the server.rpLidar3
that supports the 3rd revision of the rpLidar hardware.fakeOdometry
that generates a fake odometry and makes it available from IOdometry2D
interface.fakePositionSensor
that simulate a position sensor and makes it available through the IPositionSensors
and IOrientationSensors
interfaces.localization2D_nwc_yarp
: YARP NWS which connects to localization2D_nws_yarp
: and can be used to replace localization2DClient
map2D_nwc_yarp
YARP NWS which connects to map2D_nws_yarp
and can be used to replace map2DClient
mobileBaseVelocityControl_nws_yarp
: YARP NWS to control the velocity of a mobile base.mobileBaseVelocityControl_nwc_yarp
: YARP NWC to control the velocity of a mobile base.mobileBaseVelocityControl_nws_ros
: ROS NWS to control the velocity of a mobile base.navigation2D_nws_yarp
: YARP NWS that can be used to replace navigation2DServer
.navigation2D_nwc_yarp
: YARP NWC that connects to map2D_nws_yarp
, localization2D_nws_yarp
and navigation2D_nws_yarp
.odometry2D_nws_yarp
: YARP NWS which can be attached to a IOdometry2D
interface and publish the data on a YARP port.odometry2D_nws_ros
: ROS NWS which can be attached to a IOdometry2D
interface and publish the data on a ROS topic.localization2D_nwc_yarp
instead of localization2DClient
FrameTransform_verbose_debug
FrameTransform_verbose_debug
is set to 1.FrameTransform_verbose_debug
(default = 0)FrameTransform_verbose_debug
is set to 1.FrameTransform_verbose_debug
(default = 0)v3
file format, which includes the description for Map2DLocation
, Map2DArea
and Map2DPath
is now supported.enable_maps_compression <0/1>
IJointFault
device is now implemented by the device.IJointFault
device is now implemented by the device.IJointFault
device is now implemented by the device.bottle_compression_zlib
portmonitor to compress bottles (or other data types which can be converted to bottle).soundfilter_resample
portmonitor to resample audio streams.sensorMeasurements_to_vector
portmonitor which converts a 6D Pose from a SensorStreamingData
data type to a yarp::sig::Vector
data type.testdata_filename
to latency-test companion. It allows to load a file which will be transmitted over the network as benchmark. Different files can be used to test latency when using a compression portmonitor (the compression factor will depend on the entropy of the file).YARP_LOG_PROCESS_LABEL
is found, the label is now appended to the executable name in the log port name (e.g. /log/yaprunname/yarpdev[mylabel]/123123
)--dryrun
option to test the xml file without actually opening devices.reverse-shutdown-action-order
attribute for the robot
tag. This reverses the order of actions in shutdown and interrupt phase, making it easier to write the actions when multiple attach and detach are involved.device
tag parameters are now passed to all devices defined inside that tag.YARP_PORTNUMBER<XXX>
environment variable. This allows to change the port number on which the corresponding port is opened by setting the YARP_PORTNUMBER<XXX>
environment variable to the desired port number of the port. For example: YARP_PORTNUMBER_read=20050 yarp read /read
will open a port named /read
on the 20050
port. Port numbers (if present) are applied before prefixes specified with YARP_PORT_PREFIX
and renames specified with YARP_RENAME
(if present). WARNING, if the same port is opened with the same name but different port number by two processes, this might lead to port stealing by the latest process executed.get
and get_all
).yarp.name
and yarp.includefile
also for enums.yarp.bottlesize
annotation, when the struct is not serialized as a bottle but as a fixed size bottle-like structure (for example other yarpidl_thrift generated structs).yarp.editor
annotation should be passed to the struct in order to enable it.--unlimited_size
which removes all limits on the log size. To be used with caution!VectorOf<T>::emplace_back
returning void
. Now it returns a reference to the new element as expected.This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.5.0..v3.6.0
):