Skip to content

Releases: robotology/yarp

YARP 3.5.0

15 Jul 08:34
Compare
Choose a tag to compare

YARP is a library and toolkit for communication and device interfaces, used on
everything from humanoids to embedded devices.

YARP 3.5.0 Release Notes

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

Important Changes

Dependencies

  • YCM 0.13 is now required.
  • OpenCV 2 is no longer supported.
  • Added optional Zlib dependency.
  • Qt 5.4 or later is now requred to build YARP GUIs.

Libraries

sig

Image
  • Bottom to top images are no longer flipped when sent through the network. This
    means that the image needs to be manually flipped after it is received.
  • Bottom to top images might cause issues when received by YARP 3.4.5 or
    earlier.

Devices

Deprecation and Behaviour Changes

  • A few default values for the environment variables used by yarp are now
    different:
    • Linux:
    • Windows:
      • YARP_DATA_DIRS defaults to %%ALLUSERSPROFILE%%\yarp
      • YARP_CONFIG_DIRS defaults to %%ALLUSERSPROFILE%%\yarp\config

Libraries

conf

  • filesystem::path_separator is deprecated in favour of
    environment::path_separator
  • yarp::conf::environment::getEnvironment is deprecated in favour of
    yarp::conf::environment::get_string
  • yarp::conf::environment::setEnvironment is deprecated in favour of
    yarp::conf::environment::set_string
  • yarp::conf::environment::unsetEnvironment is deprecated in favour of
    yarp::conf::environment::unset
  • The YARP_DEPRECATED_API and YARP_DEPRECATED_API_MSG defines are now
    deprecated in favour of YARP_DEPRECATED_EXPORT, YARP_DEPRECATED_IMPORT,
    YARP_DEPRECATED_MSG_EXPORT, and YARP_DEPRECATED_MSG_IMPORT.

os

Bottle
  • BOTTLE_TAG_INT is deprecated in favour of BOTTLE_TAG_INT32
  • BOTTLE_TAG_DOUBLE is deprecated in favour of BOTTLE_TAG_FLOAT64
  • BOTTLE_TAG_VOCAB is deprecated in favour of BOTTLE_TAG_VOCAB32
  • addInt is deprecated in favour of addInt32
  • addDouble is deprecated in favour of addFloat64
  • yarp::os::Bottle::addVocab() is deprecated in favour of
    yarp::os::Bottle::addVocab32()
ConnectionReader
  • expectInt is deprecated in favour of expectInt32
  • expectDouble is deprecated in favour of expectFloat64
ConnectionWriter
  • appendInt is deprecated in favour of appendInt32
  • appendDouble is deprecated in favour of appendFloat64
LogStream
  • The operator<< for std::ostream and std::vector which caused conflicts
    with Casadi was removed (#2067).
NetType
  • toHexString is deprecated in favour of yarp::conf::numeric::to_hex_string
  • toString is deprecated in favour of yarp::conf::numeric::to_string
  • toInt, toFloat32 and toFloat64 are deprecated in favour of
    yarp::conf::numeric::from_string
ResourceFinder
  • Deprecated methods with alternatives in yarp::conf::dirs.
    The following methods are now deprecated:
    • yarp::os::ResourceFinder::getDataHome()
    • yarp::os::ResourceFinder::getDataHomeNoCreate()
    • yarp::os::ResourceFinder::getConfigHome()
    • yarp::os::ResourceFinder::getConfigHomeNoCreate()
    • yarp::os::ResourceFinder::getDataDirs()
    • yarp::os::ResourceFinder::getConfigDirs()
      in favour of:
    • yarp::conf::dirs::yarpdatahome()
    • yarp::conf::dirs::yarpconfighome()
    • yarp::conf::dirs::yarpdatadirs()
      Warnings:
    • The return value of yarpdatadirs() is different
      (std::vector<std::string> instead of std::string).
    • The yarpdatahome() and yarpconfighome() do not create the directory,
      it must be created manually (for example with yarp::os::mkdir_p()) if
      required.
Stamp
  • Using Header instead of Stamp is now recommended.
Value
  • isInt() is deprecated in favour of isInt32()
  • isDouble() is deprecated in favour of isFloat64()
  • asInt() is deprecated in favour of asInt32()
  • asDouble() is deprecated in favour of asFloat64()
  • makeInt() is deprecated in favour of makeInt32()
  • makeDouble() is deprecated in favour of makeFloat64()
  • isVocab() is deprecated in favour of isVocab32()
  • asVocab() is deprecated in favour of asVocab32()
  • makeVocab() is deprecated in favour of makeVocab32()
Vocab
  • yarp::os::createVocab() is deprecated in favour of
    yarp::os::createVocab32()
  • yarp::os::Vocab::encode() is deprecated in favour of
    yarp::os::Vocab32::encode()
  • yarp::os::Vocab::decode() is deprecated in favour of
    yarp::os::Vocab32::decode()
WireReader
  • getIsVocab() is deprecated in favour of getIsVocab32()
  • readVocab() is now deprecated in favour of readVocab32()
WireWriter
  • writeVocab() is now deprecated in favour of writeVocab32()

sig

IntrinsicParams
  • YARP_PLUM_BOB is deprecated in favour of YARP_PLUMB_BOB.

dev

  • The yarp/dev/FrameGrabberControl2.h header file was properly marked as
    deprecated (it should have been deprecated in YARP 3.0)
  • The yarp/dev/FrameGrabberInterfaces.h header file was deprecated.
    All interfaces were moved in the corresponding header.
  • All classes and vocabs moved in framegrabber_protocol library were removed.
    This is an API break, but nobody should be using these outside of YARP.
  • The flag VOCAB_NAV_CLEAR_X, defined in file ILocalization2D.h has been
    renamed to VOCAB_NAV_CLEARALL_X to avoid confusion with flag
    VOCAB_NAV_DELETE_X.
    VOCAB_NAV_CLEARALL_X clears all data belonging to the same category (all
    maps, all locations, all areas, etc), while VOCAB_NAV_DELETE_X, deletes a
    single entity (a map with name x, a location with name x etc).
  • The IVisualParams.h file was deprecated in favour of IRgbVisualParams.h
    and IDepthVisualParams.
  • All headers for the deprecated interfaces are now properly deprecated.
  • The interfaces IFrameGrabber and IFrameGrabberRgb are now deprecated.
IDepthVisualParams
  • The retificationMatrix parameter was renamed rectificationMatrix
IRgbVisualParams
  • The retificationMatrix parameter was renamed rectificationMatrix

robotinterface

  • The robotinterface library is no longer considered experimental, all
    files in the experimental folder and classes in the experimental namespace
    are now deprecated and will be removed in the next release.

Port Monitors

  • Port monitors were reorganized and renamed without keeping the back
    compatibility with the old name.
    The new names are:
    • depthimage_compression_zfp (zfp)
    • depthimage_to_mono (depthimage)
    • depthimage_to_rgb (depthimage2)
    • segmentationimage_to_rgb (segmentationimage)

Devices

  • The following devices are now deprecated:

    • test_grabber in favour of fakeFrameGrabber
    • fakeMotor in favour of fakeMotionControl
    • test_motor in favour of fakeMotionControl
    • fakebot
  • The following devices will be replaced by NWS/NWC in the next release, and
    print a warning when opened:

    • controlboardwrapper2 (replaced by controlboardremapper + controlBoard_nws_yarp)
    • RGBDSensorWrapper (replaced by rgbdSensor_nws_yarp)
    • Rangefinder2DWrapper (replaced by rangefinder2D_nws_yarp)
    • grabberDual (replaced by frameGrabber_nws_yarp, and eventually frameGrabberCropper)
    • inertial (replaced by multipleanalogsensorsremapper + multipleanalogsensorsserver + IMURosPublisher)
    • localization2DServer (replaced by localization2D_nws_yarp)
    • map2DServer (replaced by map2D_nws_yarp)
    • transformClient (replaced by frameTransformClient)
    • transformServer (replaced by frameTransformServer)

New Features

Libraries

conf

  • Added the following functions in <yarp/conf/numeric.h>:
    • yarp::conf::numeric::from_string
    • yarp::conf::numeric::to_string
    • yarp::conf::numeric::to_hex_string
  • Added the header <yarp/conf/string.h> containing the following functions:
    • yarp::conf::string::split
    • yarp::conf::string::join
  • Added environment::path_separator
  • Added the following functions in <yarp/conf/environment.h>:
    • yarp::conf::environment::get_string
    • yarp::conf::environment::set_string
    • yarp::conf::environment::get_bool
    • yarp::conf::environment::set_bool
    • yarp::conf::environment::get_numeric
    • yarp::conf::environment::set_numeric
    • yarp::conf::environment::split_path
    • yarp::conf::environment::join_path
    • yarp::conf::environment::get_path
    • yarp::conf::environment::set_path
    • yarp::conf::environment::unset
    • yarp::conf::environment::is_set
  • Added the new dirs.h file with methods to retrieve the important folders
  • Added the following methods:
    • std::string yarp::conf::dirs::home()
    • std::string yarp::conf::dirs::tempdir()
      ...
Read more

YARP 3.4.6

02 Jul 15:35
Compare
Choose a tag to compare

YARP 3.4.6 Release Notes

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

Bug Fixes

Build System

  • The yarpros tool is no longer compiled when YARP_COMPILE_EXECUTABLES is disabled. (#2598)

Libraries

sig

Image

  • Fixed compatibility with images with topIsLow==false sent by YARP 3.5 (#2612).

dev

DeviceResponder

  • Removed the debug messages flooding (#2630, #2631).

GUIs

yarpview

  • Fixed upside down image when topIsLow is false (Qt >= 5.3.2 only) (#2612).

Devices

localization2DClient

  • Implemented missing method getEstimatedOdometry().

navigation2DClient

  • Implemented missing method getEstimatedOdometry(),

localization2DServer

  • Implemented RPC.

Contributors

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

    15	Daniele E. Domenichelli <[email protected]>
     2	Marco Randazzo <[email protected]>
     1	Silvio Traversaro <[email protected]>

YARP 3.4.5

24 May 12:43
Compare
Choose a tag to compare

YARP 3.4.5 Release Notes

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

Bug Fixes

Libraries

sig

Image
  • Allocate the right amount of bytes for YUV422 images
  • Decode vocabs when printing

Devices

BatteryWrapper

  • Data is now published on the yarp port even if some of the methods belonging
    to IBattery interface are not implemented (returning false).
    The only mandatory method is getBatteryStatus().

Contributors

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

     6	Daniele E. Domenichelli <[email protected]>
     1	Marco Randazzo <[email protected]>

YARP 3.4.4

19 May 12:26
Compare
Choose a tag to compare

YARP 3.4.4 Release Notes

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

Bug Fixes

Build System

  • Fixed use of CMAKE_INSTALL_PYTHON3DIR CMake variable to specify the
    installation path of Python bindings, as in previous versions the variable
    was defined but ignored (#2523).
  • Fixed the build of Python bindings on Windows (#2525, #2527).

Libraries

conf

  • Fixed float128_t where long double is 64 bit (#2510).

os

  • If in a yarp::os::NetworkClock a clock reset is detected, fill the gap
    between the waiter and the time published by the network clock port.
    A network clock reset is defined as a jump in the past of the time published
    by the network clock port.
    This fix avoids that all the threads that are waiting a
    yarp::os::NetworkClock::delay call on that network clock remain blocked when
    a time reset occurs (#800, #2494).
  • Fixed error in race condition during the scan of plugins in
    YarpPluginSelector, avoided concurrent access to variables (#2538).

Tools

yarplogger

  • Fixed crash when attempting to clear a selected log with its log tab opened
    (#2554).

Bindings

Python

  • Added example_callback.py, which showcases a BufferedPort with an attached
    callback handler for logging incoming bottles (#2555).

Contributors

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

    25	Daniele E. Domenichelli <[email protected]>
     4	Bartek Łukawski <[email protected]>
     4	Silvio Traversaro <[email protected]>
     3	Stefano Bernagozzi <[email protected]>
     1	Ettore Landini <[email protected]>
     1	Giuseppe L'Erario <[email protected]>
     1	Nicolò Genesio <[email protected]>
     1	Silvio Traversaro <[email protected]>

YARP 3.4.3

23 Feb 09:16
Compare
Choose a tag to compare

YARP 3.4.3 Release Notes

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

Libraries

robotinterface

  • Fixed handling of attach action for IWrapper devices.

Devices

controlboardwrapper2

  • getTorque is no longer called twice.

fakeFrameGrabber

  • The rand mode was fixed.
  • The timestamp is now correct.
  • The image is no longer initialized when all the pixels are overwritten.

virtualAnalogWrapper

  • Fixed favor the use of parentheses with the keyword networks in the XML
    files. The old style is deprecated but still accepted.
    This is a fix in the sense that virtualAnalogWrapper was behaving
    differently from ControlBoardWrapper.

GUI

yarpmotorgui

  • Fixed colors on dark mode desktop (#2466).

Contributors

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

    30	Daniele E. Domenichelli <[email protected]>
     1	Ugo Pattacini <[email protected]>

YARP 3.4.2

19 Jan 12:46
Compare
Choose a tag to compare

YARP 3.4.2 Release Notes

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

Build System

  • YCM is now searched when compiling bindings externally.
  • Fixed dependency on YARP_math for several devices (laserFromExternalPort,
    laserFromPointCloud, laserFromRosTopic).
  • rpLidar2 device is now disabled when building with Clang.
  • Fixed upowerBattery device in static builds.
  • Fixed include directories for PortAudio on Windows (#2387).
  • Fixed toggling the value of SKIP_ACE from ON to OFF
  • Dependencies for the INTERFACE libraries (YARP_cv, YARP_pcl)
    are now properly set (#2438).
  • PCL is now required to build the YARP_pcl library.
  • OpenCV is now required to build the YARP_cv library.

Libraries

os

LogComponent
  • Log components are now printed in colors when YARP_COLORED_OUTPUT is
    enabled.

NameSpace

  • Fix checkNetwork timeout variant not working as checkNetwork
    when NetworkBase::setLocalMode(true) is called.---

sig

PointCloudTypes
  • Fixed logging of RGBA values via toString() for types DataRGBA,
    DataXYZRGBA and DataXYZNormalRGBA.
utils
  • Fixed ROI bug in depthToPC(), values are now correctly clipped.

Devices

controlboardwrapper2

  • Fixed access to the timestamp not protected by mutex (#2396).
  • Deprecated old format of networks keyword in the XML files to favor the use
    of parentheses.

ffmpeg

  • Corrected a minor error in FfmpegGrabber.cpp that caused a segmentation
    fault when using a video with audio track as a source for the device.

realsense2

  • Avoid dereferencing nullptr on optional argument.

Tools

yarpmotorgui

  • Fixed UI file (slider options). Some text was truncated.

yarpmobilebasegui

  • Fixed gui buttons when the value of max linear/angular velocity is < 0

GUIs

yarpviz

  • Added a new menu voice View-> Render options.
    This checkable option labbelled Background grid allows to enable/disable the
    background grid.
  • Labels are now fully readable regardless of their length.

yarpbatterygui

  • The window can no longer be resized.
  • The window background can no longer be moved around.
  • The window no longer stays on top automatically. A new --keep-above switch
    is provided to restore this behavior.

Contributors

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

    66	Daniele E. Domenichelli <[email protected]>
     5	Bartek Łukawski <[email protected]>
     3	Ettore Landini <[email protected]>
     3	Silvio Traversaro <[email protected]>
     3	Ugo Pattacini <[email protected]>
     2	Marco Randazzo <[email protected]>

YARP 3.4.1

28 Sep 09:44
Compare
Choose a tag to compare

YARP 3.4.1 Release Notes

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

  • Fixed Ruby bindings with CMake 3.18

Bug Fixes

Build System

  • The license check is now disabled for non-git checkouts.
  • The check on the bindings folder in YARPConfig.cmake was removed.
  • User defined build flags are no longer overridden in subfolders.
  • The -f(debug|macro|file)-prefix-map compile options are no longer exported
    in the YARPConfig.cmake file.
  • Fixed build when the -fsanitize compile options is passed by the user.

Libraries

os

Stamp
  • Fixed the max count using std::numeric_limits.

sig

PointCloudUtils
  • Fixed yarp::sig::utils::depthRgbToPC for types without alpha channel
    (#1959).
  • Fixed bug in method utils::depthToPC() which was not properly decimating the
    pointcloud given in input.

Devices

FakeFrameGrabber

  • The ball test is now displayed in the center of the image instead of the
    right-bottom corner. The bug was affecting windows only.

multipleanalogsensorsserver

  • Fixed missing timestamp and and sequence number in messages streamed by
    measures:o port.

realsense2Tracking

  • Fixed missing timestamp for device realsense2Tracking
  • added option --timestamp yarp : yarp timestamp will be used
  • added option --timestamp realsense : realsense timestamp will be used
  • default value is yarp timestamp.

ovrheadset

  • Fixed a typo in TextureBuffer.cpp

Tools

yarpdatadumper

  • Fixed a regression that broke support for OpenCV 2.x.

yarpmanager

  • Fixed issue that disables side menubar buttons when changing tab (#2355).

yarprobotinterface

  • Fixed build on i386.

Contributors

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

    43	Daniele E. Domenichelli <[email protected]>
     7	Nicolò Genesio <[email protected]>
     5	Marco Randazzo <[email protected]>
     2	Bartek Łukawski <[email protected]>
     2	Stefano Dafarra <[email protected]>
     1	Silvio Traversaro <[email protected]>

YARP 3.4.0

26 Aug 09:15
Compare
Choose a tag to compare

YARP 3.4.0 Release Notes

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

Important Changes

  • YCM 0.11 or later is now a hard
    dependency and must be installed on the system before installing YARP.
  • Python 2 is no longer supported.

Deprecation and Behaviour Changes

  • The scripts/WindowsPowerShell files are now in data/WindowsPowerShell.
  • The scripts/yarp_completion file is now in data/bash-completion/yarp.

Build System

yarp_prepare_plugin
  • INCLUDE must now be an existing file, either using a path relative to
    current directory, or an absolute path. Using a path relative to one of the
    include directories is deprecated.

os

  • The method yarp::os::getenv() is deprecated in favour of std::getenv()
yarp::os::ConnectionState
  • The yarp::os::ConnectionState::getLog() method was removed without
    deprecation, due to the changes to the logging system, that made it impossible
    to preserve this method.
yarp::os::NetworkBase
  • The yarp::os::NetworkBase::setVerbosity method is deprecated in favor of Log
    Components.
  • The yarp::os::NetworkBase::getEnvironment() method is deprecated in favour
    of yarp::conf::environment::getEnvironment()
  • The yarp::os::NetworkBase::setEnvironment() method is deprecated in favour
    of yarp::conf::environment::setEnvironment()
  • The yarp::os::NetworkBase::unsetEnvironment() method is deprecated in favour
    of yarp::conf::environment::unsetEnvironment()
yarp::os::Port
  • The yarp::os::Port::setVerbosity method is deprecated in favour of Log
    Components.
  • The yarp::os::Port::getVerbosity method is deprecated in favour of Log
    Components.
yarp::os::ResourceFinder
  • The yarp::os::ResourceFinder::setVerbose() method is deprecated in favour of
    Log Components.
  • The yarp::os::ResourceFinder::setQuiet() method is deprecated in favour of
    Log Components.
yarp::os::YarpPluginSettings
  • The yarp::os::YarpPluginSettings::setVerboseMode() method is deprecated in
    favour of Log Components.
yarp::os::Log
  • The yarp::os::Log::setLogCallback() method is deprecated in favour of
    setPrintCallback()

dev

  • The following classes were moved from the yarp::dev namespace to the
    yarp::dev::Nav2D namespace
    • yarp::dev::Nav2D::Map2DArea
    • yarp::dev::Nav2D::Map2DPath
    • yarp::dev::Nav2D::Map2DLocation
    • yarp::dev::Nav2D::MapGrid2D
    • yarp::dev::Nav2D::MapGrid2DInfo
  • yarp::dev::Nav2D::Map2DPath is now replacing std::vector<yarp::dev::Nav2D::Map2DLocation> in all
    APIs.
  • The following functions have been moved from yarp::dev::Nav2D::MapGrid2D
    into yarp::dev::Nav2D::MapGrid2DInfo:
    • yarp::dev::Nav2D::XYWorld yarp::dev::Nav2D::MapGrid2DInfo::cell2World(yarp::dev::Nav2D::XYCell cell) const;
    • yarp::dev::Nav2D::Map2DLocation yarp::dev::Nav2D::MapGrid2DInfo::toLocation(yarp::dev::Nav2D::XYCell cell) const;
    • yarp::dev::Nav2D::XYCell yarp::dev::Nav2D::MapGrid2DInfo::toXYCell(yarp::dev::Nav2D::Nav2D::Map2DLocation loc) const;
    • yarp::dev::Nav2D::XYCell yarp::dev::Nav2D::MapGrid2DInfo::world2Cell(yarp::dev::Nav2D::XYWorld world) const;
    • yarp::dev::Nav2D::Nav2D::Map2DLocation yarp::dev::Nav2D::MapGrid2DInfo::toLocation(yarp::dev::Nav2D::XYWorld cell) const;
    • yarp::dev::Nav2D::XYWorld yarp::dev::Nav2D::MapGrid2DInfo::toXYWorld(yarp::dev::Nav2D::Map2DLocation loc) const;
  • modified signature of the yarp::dev::Nav2D::INavigation2D::getAllNavigationWaypoints method.
  • The format of .map file loaded by yarp::dev::Nav2D::MapGrid2D has been
    changed. It can now include the parameters resolution <double> and
    orientation <bottle> to adjust the map reference frame.

Devices

  • The test_grabber device was renamed fakeFrameGrabber.
    The old name is kept for compatibility, but it will be deprecated and removed
    in a future release.
  • The test_motor was renamed fakeMotor.
    The old name is kept for compatibility, but it will be deprecated and removed
    in a future release.

Tools

yarp
  • The regression subcommand was removed.

New Features

Build System

  • The bash-completion file is now installed automatically (#1101).
  • It is now possible to build some of the examples in the main build using the
    YARP_COMPILE_EXAMPLES CMake Option
  • It is now possible to build some of the YARP examples as test using the
    YARP_ENABLE_EXAMPLES_AS_TESTS CMake Option
yarp_add_idl
  • It's now possible to pass options to the commands using CMake variables (for
    example YARP_ADD_IDL_THRIFT_INCLUDE_PREFIX and
    YARP_ADD_IDL_THRIFT_NO_NAMESPACE_PREFIX.
yarp_prepare_plugin
  • Including current directory (either explicitly, or using
    CMAKE_INCLUDE_CURRENT_DIR) is no longer required by the generated files.

Libraries

conf

  • Added yarp::conf::clamp. Will be replaced by std::clamp as soon as c++17
    is required in YARP.
  • Added the yarp/conf/environment.h header.
  • Added the following functions:
    • yarp::conf::environment::getEnvironment()
    • yarp::conf::environment::setEnvironment()
    • yarp::conf::environment::unsetEnvironment()

os

  • Add yarp::os::gethostname() overload to return a std::string
yarp::os::NetworkBase
  • Added bool yarp::os::NetworkBase::isNetworkInitialized() method.
yarp::os::NetType
  • The following methods were added:
    • static std::string yarp::os::NetType::toString(yarp::conf::float32_t)
    • static std::string yarp::os::NetType::toString(yarp::conf::float64_t)
    • static yarp::conf::float32_t yarp::os::NetType::toFloat32(const std::string&)
    • static yarp::conf::float64_t yarp::os::NetType::toFloat64(const std::string&)
    • static yarp::conf::float32_t yarp::os::NetType::toFloat32(std::string&&)
    • static yarp::conf::float64_t yarp::os::NetType::toFloat64(std::string&&)
    • static std::string yarp::os::NetType::toHexString(long)
    • static std::string yarp::os::NetType::toHexString(unsigned int)
yarp::os::Time
  • Added bool yarp::os::Time::isClockInitialized() method.
yarp::os::Log
  • The yarp logging system was heavily refactored, please check out the
    [documentation](\ref yarp_logging).
  • The name of the port used to forward the output no longer contains the full
    path, but only the executable name.
  • Added yarp::os::LogComponent to define log components:
    • A log component can be declared using the YARP_LOG_COMPONENT() macro (in
      a .cpp file) and eventually forward declared using
      YARP_DECLARE_LOG_COMPONENT().
    • It is possible to set custom printing and forwarding macros for each
      component, and it is possible to enable and disable specific levels for each
      component.
    • At the moment it is not yet possible to change the defaults set in the code,
      but this will be enabled in the future.
  • The output forwarded is now a property and contains several useful
    information including component and system/network time, file, line,
    function.
  • The logger is now able to detect if it is running in yarprun and
    eventually change the output format.
  • Logging is now protected by a mutex to avoid garbled output.
  • The YARP_DEBUG_LOG_ENABLE environment variable can be set to debug
    the log of the application.
  • When color is enabled, the loglevel can be represented by a single colored
    character by setting the YARP_COMPACT_OUTPUT environment variable to 1.
  • The limit of 1024 characters for the c-style yDebug() macro family was
    removed. A dynamic allocation is now used, but only when the size of the
    output exceeds this size.
  • Trace should no longer generate code when building in release mode.
    When building with -DYARP_NO_DEBUG_OUTPUT debug should not generate any code
    as well. See https://godbolt.org/z/hSAC56
  • Added the yCDebug macro family to pass a component to the logger (This
    macro is also available for all log levels, and assert).
  • Added the following new debug macro families limiting the log output (all
    these macros are available for all log levels, except for [FATAL], and in
    the component version):
    • yDebugOnce(): Printed only once in the execution of the program.
    • yDebugThreadOnce(): Printed at most once by every thread during the
      execution of the program.
    • yDebugThrottle(): Printed at most once every period seconds.
    • yDebugThreadThrottle(): Printed at most once by every thread every period
      seconds.
  • Added the yDebugExternalTime() macro family to pass a timestamp generated by
    an external source (This macros is also available for all log levels, in the
    component version, and in the limited version):
yarp::os::ManagedBytes
  • Added move semantics.
yarp::os::Portable
  • The first argument of yarp::os::Portable::copyPortable() is now const.
    The new signature is:
      bool yarp::os::Portable::copyPortable(const PortWriter& writer, PortReader& reader)
    
yarp::os::Port
  • It's now possible to try to fix any issues by entrusting a Superior Entity.

sig

yarp::sig::ImageOf
  • Added support to load a PNG file into a yarp::sig::ImageOf<yarp::sig::PixelRgb>
yarp::sig::VectorOf
  • Added const_iterator yarp::sig::VectorOf::begin() const and
    const_iterator yarp::sig::VectorOf::end() const in yarp::sig::VectorOf
    class.
  • Added move semantics.

math

  • Added `yarp::math::Vec2D<size_t...
Read more

YARP 3.3.3

20 Jul 07:05
Compare
Choose a tag to compare

YARP 3.3.3 Release Notes

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

Bug Fixes

Build System

  • Bison and flex are no longer run when crosscompiling.

Libraries

os

Bottle
  • Fixed precision for floating point numbers, to ensure that they are read as
    the original floating point written.
  • Fixed toString and fromString when writing or reading infinity, negative
    infinity or nan.
  • Fixed fromString when reading a 64 bit integer.
WireReader
  • Fixed reading a Float32 from a Float64 (#2227).
    This is not a common use case, but it can happen when a Float32 is written
    on a file, and then read again into YARP (as a Float64), and then restored
    in the original type using copyPortable().
Timer
  • Fixed Timer in monothread mode taking 100% of the CPU.
  • Fixed Timers in separate threads not updating their settings.

dev

  • Fixed dependency from YARP_math that should be PUBLIC. A few headers
    include YARP_math headers.

Devices

batteryClient

  • Fixed methods returning int instead of double:
    • getVoltage()
    • getCurrent()
    • getCharge()
    • getTemperature()

batteryWraper

  • Fixed parameters accepted by subdevice not printed with --verbose.

Navigation2DClient

  • The method checkNearToLocation now correctly checks if two orientations are
    similar (below a certain threshold), also considering the critical points
    0, 180, 360, -180, -180, etc.

controlboardwrapper2

  • Exposed missing yarp::dev::IMotor::setGearboxRatio method via RPC.

remote_controlboard

  • Implemented missing yarp::dev::IMotor::setGearboxRatio method.
  • Fixed group command yarp::dev::IInteractionMode::getInteractionModes.

fakeBattery

  • Fixed PeriodicThread using 100% CPU.

GUIs

yarpview

  • Now the "checked" state of the two checkable elements in the File menu of
    yarpview (i.e. "Save single image..." and "Save a set of images...") turns
    to false when the corresponding dialogs are closed.

Contributors

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

    28	Daniele E. Domenichelli <[email protected]>
     2	Andrea Ruzzenenti <[email protected]>
     2	Bartek Łukawski <[email protected]>
     1	Ettore Landini <[email protected]>
     1	Marco Randazzo <[email protected]>
     1	Silvio Traversaro <[email protected]>

YARP 3.3.2

19 Feb 10:25
Compare
Choose a tag to compare

YARP 3.3.2 Release Notes

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

Tools

yarpdatadumper

  • Fixed generation of video when invoked with the command line option --type video

Devices

usbCamera

  • Fixed build with OpenCV 4

ovrheadset

  • Fixed race condition causing randomly frame drops.
  • Fixed behaviour of the CTRL button. Both CTRL buttons can now be pressed,
    only SHIFT will decide which eye offsets should be modified.
  • Fixed --no-logo option.
  • Fixed --userpose option.

Contributors

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

    16	Daniele E. Domenichelli <[email protected]>
     1	Ugo Pattacini <[email protected]>