YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
YARP 3.8.0 (2023-03-02)

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

<tt>lib_yarp_os</tt>

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

<tt>Devices</tt>

  • 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

<tt>lib_yarp_companion</tt>

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

<tt>lib_yarp_os</tt>

<tt>lib_yarp_dev</tt>

<tt>bindings</tt>

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

<tt>libYARP_dev_tests</tt>

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

<tt>libYARP_robotinterface</tt>

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

Devices

<tt>fakeLaserWithMotor</tt>

  • added new device fakeLaserWithMotor

<tt>rangefinder2D_nwc_yarp</tt>

  • added new device rangefinder2D_nwc_yarp (including IRangefinder2D tests)

<tt>frameTransformServer</tt> + <tt>frameTransformClient</tt>

  • 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

<tt>yarpidl_thrift</tt>

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

Extern

<tt>Catch</tt>

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

<tt>sqlite3</tt>

  • 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

<tt>yarpview</tt>

  • 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

<tt>yarpmotorgui</tt>

  • 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

<tt>image_rotation</tt>

  • 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

<tt>ffmpeg_grabber</tt>

  • Fixed linking problems on Windows.

<tt>AudioRecorderWrapper</tt>

<tt>AudioPlayerWrapper</tt>

<tt>frameTransformClient</tt>

  • 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.

<tt>controlBoard_nws_yarp</tt>

  • 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.

<tt>multipleanalogsensorsremapper</tt>

  • Add more verbosity when sensor name is not found.

Tools

<tt>yarprobotinterface</tt>

  • 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 <marco.randazzo@iit.it>
21 Ettore Landini <ettore.landini@iit.it>
13 Silvio Traversaro <silvio.traversaro@iit.it>
6 robotology-bot (Tag Repository Action) <robotology@iit.it>
5 tumme <davide.tome@iit.it>
4 Ugo Pattacini <ugo.pattacini@iit.it>
3 Bartek Ɓukawski <bwmn.peter@gmail.com>
3 Nicola Piga <nicola.piga@iit.it>
3 hypothe <markeagle98@gmail.com>
1 Marco Gabriele Fedozzi <73471964+hypothe@users.noreply.github.com>
1 Mattia Fussi <mattia.fussi@iit.it>
1 fbrand-new <francesco.brand@iit.it>