Skip to content

Releases: robotology/yarp

YARP 3.12.1

26 Aug 10:48
Compare
Choose a tag to compare

YARP 3.12.1 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found
here.

New Features

yarpRerun

  • Added new executable tool yarpRerun.
    The tool log data received on yarp port using rerun.io framework)

yarpRobotDescriptionInfo

  • Added new executable yarpRobotDescriptionInfo.
    This tool generate a .dot file which describes a graph representing all the devices used by yarpobotinterface
    and their connections.

Library

libYARP_os

  • LogForwarder: added new method getLogPortName()
  • Added new test LogForwarderTest to check that all forwarded messages are caught by the logger engine.

Portmonitor

  • Added new portmonitor simulated_network_delay to add a delay in the network communication.
  • Used by LogForwarderTest to test the logger under various network delay conditions.

libYARP_dev

  • Added new tests to check IImpedanceControl interface.

Fixes

Bindings

  • Added bindings for IJointCoupling interface.
  • Added bindings for yarp::dev::LLM_Message.
  • Added bindings for yarp::dev::ReturnValue.
  • Fixed bindings for Python callbacks. Added examples.
  • Strip trailing newline from CMAKE_INSTALL_PYTHON3DIR.

Executables

  • yarpActionsPlayer Fixed erratic behavior during the first movement of each sequence.

GUIs

yarpmotorgui

  • Improved yarpmotorgui to handle forceOffset of IImpedanceControl interface: the value is sent only if the table has changed.

Devices

  • ControlBoardRemapper: fixed wrong buffer resize in resizeSubControlBoardBuffers.

Library

libYARP_os

  • LogForwarder: now using a separated thread (class ThreadedPort) to prevent the loss of log messages during stress condition.

libYARP_robotinterface

  • libYARP_robotinterface: does not show error message if device does not derive from IDeviceDriverParams.

Breaking Changes

GUIs

yarpmotorgui

  • Add timers and callbacks for pwm and current control to keep sending references.

Library

libYARP_dev

  • SensorMeasurments datatype moved from multipleAnalogSensorsMsgs to lib libYARP_dev

Contributors

This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.12.0..v3.12.1):

    19	Marco Randazzo <[email protected]>
     3	Jacopo Losi <[email protected]>
     2	Bartek Łukawski <[email protected]>
     2	Jacopo <[email protected]>
     2	Nicolò Genesio <[email protected]>
     2	Pasquale <[email protected]>
     2	robotology-bot (Tag Repository Action) <[email protected]>
     1	Bartek Łukawski <[email protected]>
     1	Silvio Traversaro <[email protected]>

YARP 3.12.0

04 Jun 10:03
Compare
Choose a tag to compare

A (partial) list of bug fixed and issues resolved in this release can be found
here.

New Features

Thrift

  • Improved yarp thrift compiler to generate the following new methods for yarp services:
    • getLocalProtocolVersion()
    • getRemoteProtocolVersion()
    • checkProtocolVersion()
      These methods allow to test the compatibility in the network protocol for nws/nwc communication.
      To specify a new protocol version modify (or add if missing) the line const i16 protocol_version = <xxx> in the .thrift file.
      See fakeTestMsgs.thrift and FakeDevice_nwc_yarp for an example.

Library

libYARP_os

  • Added new portable datatype yarp:os::ApplicationNetworkProtocolVersion

Devices

  • Added new devices:
    • FakeDevice_nws_yarp
    • FakeDevice_nwc_yarp
      FakeDevice_nwc_yarp also uses the new checkProtocolVersion() to verify the communication with FakeDevice_nws_yarp
    • RobotDescriptionStorage
    • fakeFrameWriter
    • openCVWriter
    • frameWriter_nws_yarp
  • Added new methods getParamValue(), getConfiguration() to IDeviceDriverParams interface.
  • Updated yarpDeviceParamParserGenerator tool
  • All device params parsers have been regenerated

yarprobotinterface

  • Added new option autocloseAfterStart which automatically terminates the module after opening and attaching all devices (used bor CI and debug)
  • yarprobotinterface now opens internally a device RobotDescriptionStorage and register all other opened devices inside it.
  • User can open a RobotDescription_nws_yarp and attach it to the RobotDescriptionStorage to obtain info about opened devices. See example:
    yarp\src\yarprobotinterface\tests\robotDescription

yarpmotorgui

  • It now uses RobotDescription_nwc_yarp to ask to a RobotDescription_nws_yarp opened by a yarprobotinterface the name of the parts to which connect to.
    If the connection fails, the yarpmotorgui will continue to use the previous strategy (via parameters provided by command line or via file yarpmotorgui.ini)
  • the new parameter remoteRobotDescriptionPort allows to select the RobotDescription_nws_yarp port. Default value is /yarpRobotInterface/devices/rpc

Breaking Changes

libYARP_dev

  • The following interfaces have been modified to use yarp::dev::ReturnValue:
    • IRangeFinder2D
    • ILLM
    • IChatBot

Devices

  • The following devices haven been modified to use yarp::dev::ReturnValue:
    • Rangefinder2DTranformer
    • FakeLaser
    • FakeLaserWithMotor
    • Rangefinder2D_nws_yarp
    • Rangefinder2D_nwc_yarp
    • fakeChatBotDevice
    • chatBot_nws_yarp
    • chatBot_nwc_yarp
    • fakeLLMDevice
    • LLM_nwc_yarp
    • LLM_nws_yarp
    • RobotDescriptionServer refactored to RobotDescription_nws_yarp
    • RobotDescriptionClient refactored to RobotDescription_nwc_yarp
  • The attachAll() mechanism used to keep track of the devices opened by yarprobotinterface (previously implemented by RobotDescriptionServer)
    has been transferred to RobotDescriptionStorage.
  • device opencv_grabber has been renamed to openCVGrabber
  • device audioRecorderWrapper, deprecated in yarp 3.9 has been completely removed

Other

  • all yarp command line executables are now located under the folder commands similar to the folder guis/
  • yarp documentation was improved.
  • expose bindings for IFrameGrabberControls::getFeature(int, double*, double*)
  • Added `IRGBDSensor interface to python bindings.
    Contributors

This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.11.0..v3.12.0):

    60	Marco Randazzo <[email protected]>
     7	Silvio Traversaro <[email protected]>
     7	Stefano Bernagozzi <[email protected]>
     6	robotology-bot (Tag Repository Action) <[email protected]>
     3	Stefano Berti <[email protected]>
     2	Nicolò Genesio <[email protected]>
     1	Alvaro14 <[email protected]>
     1	Bartek Łukawski <[email protected]>
     1	Pasquale <[email protected]>
     1	Stefano Dafarra <[email protected]>
     1	dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

YARP 3.11.2

23 Mar 00:59
Compare
Choose a tag to compare

YARP 3.11.2 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found
here.

Fixes

GUIs

YarpDataplayer

  • Added missing #include

Contributors

This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.11.1..v3.11.2):

     2	Marco Randazzo <[email protected]>
     2	robotology-bot (Tag Repository Action) <[email protected]>
     1	Nicolò Genesio <[email protected]>

YARP 3.11.1

23 Feb 22:47
Compare
Choose a tag to compare

YARP 3.11.1 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found
here.

Changes

Compiler features

The PUBLIC and INTERFACE values set by target_compile_features have been changed back from cxx_std_20 to cxx_std_17, to permit
to continue to compile downstream projects with C++17. This is not a long term decision, and in future the minimum C++ version required
to compile headers could be increased again.

Contributors

This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.11.0..v3.11.1):

     3	Silvio Traversaro <[email protected]>
     2	robotology-bot (Tag Repository Action) <[email protected]>
     1	Marco Randazzo <[email protected]>

YARP 3.11.0

18 Feb 09:35
Compare
Choose a tag to compare

YARP <yarp-3.11> Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found
here.

Breaking Changes

Library

libYARP_dev

The signature of methods IFrameTransform::frameExists(const std::string &frame_id) and IFrameTransform::canTransform(const std::string &target_frame, const std::string &source_frame) change to IFrameTransform::frameExists(const std::string &frame_id, bool& exits) and IFrameTransform::canTransform(const std::string &target_frame, const std::string &source_frame, bool& exists).

Tests

The set of tests for individual plugins, previously called harness_dev_xxx has been renamed to harness_devices_xxx

Compiler features

target_compile_features updated from cxx_std_17 to cxx_std_20

Fixes

New Features

devices

multiplenalogsensorremapper

  • The angular acceleration and linear velocity values measured by a sensor can now be extracted and used via the sensor remapper.
  • Also involves multipleanalogsensorclient and multipleanalogsensorserver as a breaking change.

GUIs

yarpopencvdisplay

  • yarpopencvdisplay is now able to display a yarp::sig::LayeredImage

yarpmanager

  • Added time info to libYARP_manager logger and to yarpmanager GUI.
  • The time info can be displayed as the current time (obtained from std::chrono::system_clock::now()) or as time elapsed since yarpmanager GUI launch

Libraries

libYARP_sig

  • added new datatype yarp::sig::LayeredImage
  • added yarp::sig::utils::sum() to transform yarp::sig::LayeredImage to yarp::sig::Image
  • modified signature of method yarp::sig::utils::depthToPC and yarp::sig::utils::depthRgbToPC.
    They now accept step_x and step_y parameters to perform pointcloud decimation.
    They also accept a new parameter output_order which allows to swap the axis of the output point cloud (see code documentation)
  • added method yarp::sig::Vector::erase()

libYARP_dev

  • added new class yarp::dev::ReturnValue
  • The following interfaces have been modified to the new class ReturnValue:
    ISpeechSynthesizer
    ISpeechTranscription
    ILocalization2D
    IMap2D
    INavigation2D
    IOdometry2D

devices

  • Updated all devices which use the interfaces employing the new class ReturnValue:
    FakeSpeechSynthesizer
    FakeSpeechTranscription
    FakeNavigation
    FakeLocalizer
    FakeOdometry2D
    Map2DStorage
    SpeechTranscription_nws_yarp
    SpeechTranscription_nwc_yarp
    SpeechSynthesizer_nws_yarp
    SpeechSynthesizer_nwc_yarp
    Localization2D_nws_yarp
    Localization2D_nwc_yarp
    Map2D_nws_yarp
    Map2D_nwc_yarp
    MobileBaseVelocityControl_nws_yarp
    MobileBaseVelocityControl_nwc_yarp
    Navigation2D_nwc_yarp
    Navigation2D_nws_yarp
    Odometry2D_nws_yarp

Other

  • Added new CLI executable yarpActionPlayer to playback trajectories on robot.
    See the related documentation included in the README.md file
  • Updated to SWIG 4.3.0

Contributors

This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.10.0..v3.11.0):

    54	Marco Randazzo <[email protected]>
    13	Nick Tremaroli <[email protected]>
     5	Ettore Landini <[email protected]>
     4	robotology-bot (Tag Repository Action) <[email protected]>
     3	Silvio Traversaro <[email protected]>
     3	Stefano Dafarra <[email protected]>
     1	Francesco Brand <[email protected]>
     1	Ines Sorrentino <[email protected]>

YARP 3.10.1

26 Nov 17:51
Compare
Choose a tag to compare

YARP 3.10.1 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found
here.

Fixes

bindings

  • Fixed regression bug in yarp.i: the file swig_python_windows_preable.i is no more included when a downstream
    project (like icub-main) includes the file in its own .i swig binding file. See #3148

Contributors

This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.10.0..v3.10.1):

     2	Silvio Traversaro <[email protected]>
     2	robotology-bot (Tag Repository Action) <[email protected]>
     1	Marco Randazzo <[email protected]>

YARP 3.10.0

13 Nov 08:59
Compare
Choose a tag to compare

YARP 3.10.0 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found
here.

Major Behaviour Changes

Deprecations and removals

  • Removed xmlrpc and tcpros carriers.
  • Removed yarpidl_rosmsg.
  • Removed library libYARP_wire_rep_utils.
  • Removed extern/md5
  • Removed extern/ros messages and examples.
  • The syntax yarpdev --device xxx --subdevice yyy has been deprecated. See discussion: #3078

Fixes

  • Configuration files installed by the yarp_configure_plugins_installation CMake macro are now relocatable (#2445, ).
  • Improved ffmpeg port monitor to allow using different couples of coders/decodes
  • yarpbatterygui now compatible with battery_nwc_yarp.
  • Fixed compilation of portmonitor carrier when a custom non-system swig is used
  • Fixed compatibility with ffmpeg 7 (#3109).
  • Fixed compilation with graphviz 10 (#3115).
  • Fix sending empty yarp::sig::Vector when building in Debug (#3123).

New Features

  • Added new command line tool yarpDeviceParamParserGenerator. See official yarp documentation (cmd_yarpDeviceParamParserGenerator.dox)

Docker

  • Added two parameters to yarp Dockerfile:
    • base_img to allow starting from different parent images
    • yarp_branch to set the yarp version the users might need in their image

Carriers

  • Removed h264 Carrier
  • Added gstreamer carrier with extended functionalities.
  • Added new gstreamers plugins: yarpvideosource, yarpvidepassthrough, yarpvideosink
  • Fixed segfault on disconnection with shmem carrier.

Devices

  • Most yarp devices now use yarpDeviceParamParserGenerator to generate parameters documentation.

controlboardremapper

  • Aligned to controlBoard_nws_yarp in terms of required interfaces. See #3095.

deviceBundler

  • Added new device deviceBundler which can be useful to open two devices and attach them while using a single yarpdev command line.
    See #3078

llmDevice

  • Added LLM_Message data type to propagate LLM answers
  • Added refreshConversation feature in the interface to allow users to restart the conversation mantaining the same prompt.

Navigation2D

  • Added followPath functionality
  • Added paths as possible arguments in gotoLocation in Navigation2D_nwc

Rangefinder2DTransformer

  • Removed deprecated device Rangerfinder2DClient
  • Added device Rangerfinder2DTransformer, with similar functionalities to Rangerfinder2DClient.

Rangefinder2D_nwc_yarp, Rangefinder2D_nws_yarp

  • Network protocol now uses IDL thrift

ffmpeg_grabber

  • Deprecated device

ffmpeg_writer

  • Deprecated device

portaudio

  • Portaudio device, previously marked as deprecated, has been definitely removed from devices' CMakeLists.txt

FakePythonSpeechTranscription

  • Added new device FakePythonSpeechTranscription. The device is also an example which demonstrates the encapsulation of python code inside a c++ device implementing a Yarp interface.

multipleanalogsensorsclient

  • Always establish the rpc connection with the tcp carrier, instead of using the carrier option as done in YARP <= 3.9 .

GUIs

yarpopencvdisplay

  • added new executable yarpopencvdisplay. Similarly to yarpview, it's a basic window to display video streams. It also allows to save to .avi files.

Libraries

lib_yarp_dev

  • Drivers.cpp If the user requests for a not existing plugin, the system now prints a message suggesting devices with similar names
  • The following data types have been migrated from yarp_dev to yarp_sig library: AudioPlayerStatus, AudioRecorderStatus, AudioBufferSize, AudioBufferSizeData, LaserMeasurementData, LaserScan2D.

lib_yarp_sig

  • Improvements to serialization class yarp::sig::Sound (breaking change)
  • yarp_sig can now use IDL thrift to generate custom data types.
  • The following data types have been migrated from yarp_dev to yarp_sig library: AudioPlayerStatus, AudioRecorderStatus, AudioBufferSize, AudioBufferSizeData, LaserMeasurementData, LaserScan2D.

Bindings

Python

  • Fix loading of Python bindings on Windows when installed in arbitrary directory.

Contributors

This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.9.0..v3.10.0):

   146	Marco Randazzo <[email protected]>
    24	Silvio Traversaro <[email protected]>
    12	Nicolò Genesio <[email protected]>
    10	Stefano Dafarra <[email protected]>
     7	fbrand-new <[email protected]>
     3	robotology-bot (Tag Repository Action) <[email protected]>
     2	Ettore Landini <[email protected]>
     1	Alessandro Croci <[email protected]>
     1	Alessandro Croci <[email protected]>
     1	Bartek Łukawski <[email protected]>
     1	Bartek Łukawski <[email protected]>
     1	Giovanni Fregonese <[email protected]>
     1	elisabeth-ms <[email protected]>

YARP 3.9.0

24 Nov 10:56
Compare
Choose a tag to compare

YARP 3.9.0 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found
here.

Major Behaviour Changes

  • Yarp now supports C++20 standard.
  • Catch2 library updated to version: 3.4.0
  • YCM library updated to 0.15.3

Deprecations and removals

  • Removed yarp companion command TopicTest.
  • Removed unnecessary rosmsg dependencies in yarpdataplayer.
  • Removed UNMAINTAINED executable yarpfs.
  • Removed UNMAINTAINED library libyarpc.
  • Removed deprecated device controlboardwrapper2.

Fixes

  • General improvement to yarp github CI to support Ubuntu22.04+clang17, Windows2022+VS17
  • Fixed segfault in audioRecorderDeviceBase device.
  • Added missing doxygen tags to several interfaces and devices.
  • Fixed segfault when reading a mono .wav file from disk in SoundFileWav.cpp.
  • Fixed stdin in yarprun --cmd <cmd> --stdio.
  • Removed robot and iCubGui inertial ports from the example app as the GUI is unable to handle the MAS client.
  • Fix bug that forces images to be sent through RPC calls in frameGrabber_nwc_yarp.
  • The error message upon inconsistent encoder timestamps has been throttled in controlBoard_nws_yarp.
  • Fixed issue regarding windows/linux timestamps synchronization: yarp::os::SystemClock::nowSystem() now maps to std::chrono::system_clock instead of std::chrono::high_resolution_clock

New Features

Docker

Added new experimental docker image for Ubuntu22.04 http://github.com/robotology/yarp/docker

GUIs

yarpaudiocontrolgui

Added new gui yarpaudiocontrolgui to start/stop an audioRecorder_nwc_yarp or an audioPlayer_nwc_yarp device.

yarpllmgui

Added new gui yarpllmgui to control IChatbot devices.

Libraries

libYARP_sig

  • The class yarp::sig::sound has refactored to avoid the internal use (private implementation) of yarp::sig::Image data type.

libYARP_companion

  • Added companion command yarp split. The command splits an heterogeneous nested bottle received from a port into multiple ports.

libYARP_dev

  • Added new interface: IJointCoupling, an interface for handling coupled joints.
  • Added new interfaces: ISpeechSynthesizer, ISpeechTranscription.
  • Added new interface: IChatBot to interact with chatbots.
  • The interface ITorqueControl now supports four a new friction parameters: velocityThresh.
    These parameters are used to enable the new torque control law and fine tune the the friction compensation at FW level.

Devices

frameTransformStorage + frameTransformClient + frameTransformServer

  • Added a timeout related parameter (FrameTransform_container_timeout) to change the refresh interval for old timed frame transforms.
  • The parameter has also been added to the frameTransformClient and frameTransformServer configuration files. The extern-name for this parameter is:
    ftc_storage_timeout for frameTransformClient files; fts_storage_timeout for frameTransformServer files

chatBot

  • Added nwc device chatBot_nwc_yarp for the IChatBot interface and the corresponding test
  • Added nws device chatBot_nws_yarp
  • Added fake device fakeChatBotDevice

speechSynthesizer

  • Added nwc device speechSynthesizer_nwc_yarp for the ISpeechSynthesizer interface and the corresponding test
  • Added nws device speechSynthesizer_nws_yarp
  • Added fake device fakeSpeechSynthesizer

speechTranscription

  • Added nwc device speechTranscription_nwc_yarp for the ISpeechTranscription interface and the corresponding test
  • Added nws device speechTranscription_nws_yarp
  • Added fake device fakeSpeechTranscription

Contributors

This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.8.0..v3.9.0):

   127	Marco Randazzo <[email protected]>
    37	Ettore Landini <[email protected]>
    14	Nicolò Genesio <[email protected]>
    14	fbrand-new <[email protected]>
     7	Silvio Traversaro <[email protected]>
     6	Arren Glover <[email protected]>
     4	robotology-bot (Tag Repository Action) <[email protected]>
     3	Bartek Łukawski <[email protected]>
     2	Davide <[email protected]>
     2	Ugo Pattacini <[email protected]>
     1	Davide Gorbani <[email protected]>
     1	Marco Randazzo <[email protected]>
     1	Simone <[email protected]>
     1	Simone Girardi <[email protected]>
     1	Stefano Dafarra <[email protected]>

YARP 3.8.1

05 Jun 13:19
Compare
Choose a tag to compare

YARP 3.8.1 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found
here.

Bug Fixes

tools

yarpmotorgui

  • Fixed an issue regarding high CPU usage (#2955).

devices

multipleanalogsensorsserver

Fixed bug that resulted in a segmentation fault if one of the device to which
multipleanalogsensorsserver was attached did not resized the measure vector.

serialPort_nws_yarp serialPort_nwc_yarp

Fixed segfault in serialPort_nws_yarp if devices is used but not attached yet.
Fixed communication with serialPort_nwc_yarp.

opencv_grabber

Removed use of highgui.h include file.

Contributors

This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.8.0..v3.8.1):

     8	Marco Randazzo <[email protected]>
     5	Silvio Traversaro <[email protected]>
     2	Nicolò Genesio <[email protected]>
     2	robotology-bot (Tag Repository Action) <[email protected]>
     1	Bartek Łukawski <[email protected]>
     1	Ugo Pattacini <[email protected]>
     1	fbrand-new <[email protected]>

YARP 3.8.0

06 Mar 10:45
Compare
Choose a tag to compare

YARP 3.8.0 Release Notes

A (partial) list of bug fixed and issues resolved in this release can be found
here.

Deprecation and Behaviour Changes

lib_yarp_os

  • Removed old deprecated functions related to the usage of unsafe network data types
    (e.g. asVocab() -> asVocab32(), asInt() -> asInt32(), asDouble -> asFloat64() etc.)

Devices

  • device group has been removed because of faulty/incomplete implementation and unused. Please use yarprobotinterface instead.
  • Class DriverLinkCreator, used only by device group, has been removed.
  • device pipe has been removed because of faulty/incomplete implementation and unused.
  • device dualGrabber, previously deprecated, has been removed.
  • device remote_grabber, previously deprecated, has been removed.

New Features

Libraries

lib_yarp_companion

  • Added companion command yarp split. The command splits an heterogeneous nested bottle received from a port into multiple ports.

lib_yarp_os

  • yarp::os::LogStream now can chain instances of yarp::sig::VectorOf<T>.

lib_yarp_dev

  • Added method bool getAxes(int* ax) to yarp::dev::IAxisInfo interface.

bindings

  • yarp bindings: Added corresponding getAxes() method to IAxisInfo interface + python example.

libYARP_dev_tests

  • A new library yarp_dev_tests: is now exported.
    It contains common sources to test Yarp device through lib_yarpdev (also outside yarp repo)

libYARP_robotinterface

  • Added support to ${portprefix} variable in parameters (#2819).

Devices

fakeLaserWithMotor

  • added new device fakeLaserWithMotor

rangefinder2D_nwc_yarp

  • added new device rangefinder2D_nwc_yarp (including IRangefinder2D tests)

frameTransformServer + frameTransformClient

  • Now both frameTransformClient and frameTransformServer will search for "test" configurations not relying on an absolute path passed as a parameter but will take advantage of yarp::os::ResourceFinder using a file name and a context passed to them in this way:
> yarpdev --device frameTransformClient --testxml_from testconfig.xml --testxml_context test_folder

yarpidl_thrift

  • Improved thrift generator in order to handle default values of the variables declared inside a .thrift file.

Extern

Catch

  • Migration from Catch V2.13.8 to Catch V3.2.1.

sqlite3

  • Migration from sqlite to sqlite3. Fixed issue preventing extern/sqlite3 (i.e. YARP_priv_SQLite3) to be correctly found as a dependency by other projects.

GUIs

yarpview

  • Added the possibility to set a custom title for yarpview by passing --title + custom title to the executable
  • If the title argument is not passed yarpview window title will be assigned as it has been until now

yarpmotorgui

  • Added visualization of motor position when a joint is in hardware fault.
  • Improved sliders labels alignment.
  • Added a new option to set the number of decimal digits of the slider.

YCM

  • migration from YCM 0.13 to YCM 0.15.1

Other

  • added option YARP_COMPILE_ALL_FAKE_DEVICES to build all fake devices in one single shot

Portmonitors

image_rotation

  • added new portmonitor image_rotation

Bug Fixes

bindings

  • IGazeControl.storeContext(): now the method is correctly exposed to Python, returning the ID instead of trying to modify a pointer to it.

devices

ffmpeg_grabber

  • Fixed linking problems on Windows.

AudioRecorderWrapper

  • It now inherits from yarp::dev::WrapperSingle instead of yarp::dev::IMultipleWrapper

AudioPlayerWrapper

  • It now inherits from yarp::dev::WrapperSingle instead of yarp::dev::IMultipleWrapper

frameTransformClient

  • Now, if the selected configuration xml file does not include a certain interface, the device is still correctly initialized but that interface won't be available. If a method that involves the missing interface is called, an error will be returned.

controlBoard_nws_yarp

  • Fixed handling of IRemoteVariables messages via RPC.
  • RPCMessagesParser: several calls to various motor control interfaces have been protected so that
    if an interface is not available in the hardware device (i.e. the view() fails),
    the controlboardwrapper/yarprobotinterface does not segfaults.

multipleanalogsensorsremapper

  • Add more verbosity when sensor name is not found.

Tools

yarprobotinterface

  • yarprobotinterface: is now able to parse enabled_by and disabled_by xml attributes. See yarprobotinterface Doxygen documentation.

Yarp companion

  • Fixed yarp command write throwing segmentation fault when argc was less than 2.

Integration Tests

  • Tests: Added integration tests to check the correct execution of the following commands:
    yarp --version
    yarpdev --list
    yarp plugin --all
  • Tests: If no plugins are available, the command yarp plugin --all now returns 0 (OK) instead of 1 (ERROR).

Contributors

This is a list of people that contributed to this release (generated from the
git history using git shortlog -ens --no-merges v3.7.0..v3.8.0):

   185	Marco Randazzo <[email protected]>
    21	Ettore Landini <[email protected]>
    13	Silvio Traversaro <[email protected]>
     6	robotology-bot (Tag Repository Action) <[email protected]>
     5	tumme <[email protected]>
     4	Ugo Pattacini <[email protected]>
     3	Bartek Łukawski <[email protected]>
     3	Nicola Piga <[email protected]>
     3	hypothe <[email protected]>
     1	Marco Gabriele Fedozzi <[email protected]>
     1	Mattia Fussi <[email protected]>
     1	fbrand-new <[email protected]>