-
Notifications
You must be signed in to change notification settings - Fork 307
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
use this_thread::sleep_for on Windows #375
use this_thread::sleep_for on Windows #375
Conversation
* add _WIN32 guard for sleep_for change * use usleep on Linux
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same response :D
Please use std::chrono
everywhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lovely!
Thumbs up for touching up those braces, looks much better
@ipa-mdl please make sure to squash-merge |
Changelog for package joint_limits_interface 0.17.0 (2020-02-24) ------------------- * Use default member initializers * Use braces for member initializers * Replace boost with std * Replace boost ptrs with std ptrs in documentation * Prefer default member initializers * Contributors: AbhinavSingh, Bence Magyar, Matt Reynolds 0.16.0 (2020-01-27) ------------------- * Use more meaningful pair iterator names * Use range-based for loops in joint_limits_interface * Update dependencies - Dependencies needed to compile are <build_depend> - Dependencies used in public headers are <build_export_depend> - Dependencies needed to link or run are <exec_depend> * Update package dependencies * Remove liburdfdom-dev * Add missing roscpp & rospy dependencies * Remove rosunit test_depend from package.xml * Prefer 0.0 for floating point literals * Replace header guard with #pragma once * joint_limits: use an open-loop policy for velocity staturation The feedback from the controller is way too slow to be used on an actual robot. A robot that had 15 rad.s^-2 on each wheel as an acceleration limit could not even reach 2 rad.s^-2 This is in line with ros_controllers`%23 <https://github.com/ros-controls/ros_control/issues/23>`_ * Apply consistent style to CMakeLists.txt files * Apply consistent style to package.xml files * Fix shadowed variables * -Werror=overloaded-virtual and initialization of fields in constructor * Contributors: Bence Magyar, Daniel Pinyol, Matt Reynolds, Paul Mathieu, Victor Lopez Changelog for package hardware_interface 0.17.0 (2020-02-24) ------------------- * Use default member initializers * Use braces for member initializers * Replace boost with std * Replace boost::ptr_vector<T> with std::vector<T*> * Contributors: AbhinavSingh, Bence Magyar, Matt Reynolds 0.16.0 (2020-01-27) ------------------- * Use more meaningful pair iterator names * Correct typo in interface_manager.h Co-Authored-By: Bence Magyar <[email protected]> * Use range-based for loops in hardware_interface * Resolve Boost dependency issues * Update dependencies - Dependencies needed to compile are <build_depend> - Dependencies used in public headers are <build_export_depend> - Dependencies needed to link or run are <exec_depend> * Update package dependencies * Remove rosunit test_depend from package.xml * Use nullptr in tests * Prefer nullptr for null pointers * Replace header guard with #pragma once * Extend joint mode interface * Add torque sensor and absolute encoder support to transmissions and adjust tests Add pointer accessors for torque sensor and absoute position encoders * Modified structures to have absolute encoder and torque sensor parameters * Fix argument types to use enum * hardware_interface: fix initialization order * Created new hardware interface for switching between controller modes * Remove unnecessary rosunit/rostest dependencies * Add missing Boost dependency * Remove redundant rosconsole dependency * Apply consistent style to CMakeLists.txt files * Apply consistent style to package.xml files * Fix compiler warnings - Comment out unused parameters - Make some integer literals unsigned to avoid comparison between signed and unsigned - Remove unnecessary semicolons - Make const void return type to void * Revert CMake include_directories as SYSTEM * Fix shadowed variables * Multi-update cycle mode switch (`%391 <https://github.com/ros-controls/ros_control/issues/391>`_) For more info: pal-robotics-forks/ros_control2#5 * Added tests for ControllerManager update * Mocks for controllers and controller loader in update test * Divided in tests with and without controllers * Controller state initialized in mock * Moved mocks to test class * All tests using mock class * Test for multiple updates in a single controller * Added new switchResult() function to RobotHW interface ControllerManager uses this function to wait for the result of the doSwitch() before starting the new set of controllers * Using ranged based loops * Switch is now managed in a separate function * Option to start controllers as soon as their joints are ready after a switch * Tests for controller_interface API * Added new STOPPED, WAITING and ABORTED states to ControllerBase * Split manageSwitch() into smaller functions * Abort pending controllers in case of switch error * Changed default behaviour of new switch param This way if it not set it will be the same behaviour as previous version * Added timeout parameter to switch controller * Removed unnecessary includes * Using target_include_directories for the test * std::all_of instead of std::count_if * Deleted autogenerated file * Adapted tests to changes in controller_manager * Adapted python implementation to new parameters in SwitchController * Added missing parameter description docstring * Moved all parameters used for switching to a separate object * Moved error messages to controller_base * State check functions are now const * Removed unnecessary comments * Added constants for start_asap and timeout default parameters values * Option to start controllers as soon as their joints are ready after a switch * Switch is now managed in a separate function * Added new switchResult() function to RobotHW interface ControllerManager uses this function to wait for the result of the doSwitch() before starting the new set of controllers * Contributors: Bence Magyar, Dave Coleman, Hilario Tome, Jordan Palacios, Markus Vieth, Matt Reynolds, Paul Mathieu, Victor Lopez Changelog for package controller_manager 0.17.0 (2020-02-24) ------------------- * Use auto keyword * Use default member initializers * Replace boost with std * Replace boost mutexes & locks with std * Replace boost::bind with std::bind * Contributors: AbhinavSingh, Bence Magyar, Matt Reynolds, suab321321 0.16.0 (2020-01-27) ------------------- * Use range-based for loops in controller_manager * Resolve Boost dependency issues * Update dependencies - Dependencies needed to compile are <build_depend> - Dependencies used in public headers are <build_export_depend> - Dependencies needed to link or run are <exec_depend> * Add ${catkin_EXPORTED_TARGETS} dependencies * Update package dependencies * Add missing roscpp & rospy dependencies * Prefer nullptr for null pointers * Replace header guard with #pragma once * Apply consistent style to CMakeLists.txt files * Apply consistent style to package.xml files * Fix build error in clang error: non-aggregate type 'std::vector' (aka 'vector >') cannot be initialized with an initializer list * Multi-update cycle mode switch (`%391 <https://github.com/ros-controls/ros_control/issues/391>`_) For more info: pal-robotics-forks/ros_control2#5 * Added tests for ControllerManager update * Mocks for controllers and controller loader in update test * Divided in tests with and without controllers * Controller state initialized in mock * Moved mocks to test class * All tests using mock class * Test for multiple updates in a single controller * Added new switchResult() function to RobotHW interface ControllerManager uses this function to wait for the result of the doSwitch() before starting the new set of controllers * Using ranged based loops * Switch is now managed in a separate function * Option to start controllers as soon as their joints are ready after a switch * Tests for controller_interface API * Added new STOPPED, WAITING and ABORTED states to ControllerBase * Split manageSwitch() into smaller functions * Abort pending controllers in case of switch error * Changed default behaviour of new switch param This way if it not set it will be the same behaviour as previous version * Added timeout parameter to switch controller * Removed unnecessary includes * Using target_include_directories for the test * std::all_of instead of std::count_if * Deleted autogenerated file * Adapted tests to changes in controller_manager * Adapted python implementation to new parameters in SwitchController * Added missing parameter description docstring * Moved all parameters used for switching to a separate object * Moved error messages to controller_base * State check functions are now const * Removed unnecessary comments * Added constants for start_asap and timeout default parameters values * Remove extra { * Adding Pal Robotics to copyright notice Co-Authored-By: Bence Magyar <[email protected]> * Added constants for start_asap and timeout default parameters values * Moved error messages to controller_base * Moved all parameters used for switching to a separate object * Added missing parameter description docstring * Adapted python implementation to new parameters in SwitchController * Deleted autogenerated file * std::all_of instead of std::count_if * Cosmetics * Fixed lincenses * Removed unnecessary includes * Added timeout parameter to switch controller * Changed default behaviour of new switch param This way if it not set it will be the same behaviour as previous version * Abort pending controllers in case of switch error * Split manageSwitch() into smaller functions * Added new STOPPED, WAITING and ABORTED states to ControllerBase * Option to start controllers as soon as their joints are ready after a switch * Switch is now managed in a separate function * Using ranged based loops * Added new switchResult() function to RobotHW interface ControllerManager uses this function to wait for the result of the doSwitch() before starting the new set of controllers * Test for multiple updates in a single controller * All tests using mock class * Moved mocks to test class * Controller state initialized in mock * Divided in tests with and without controllers * Mocks for controllers and controller loader in update test * Added tests for ControllerManager update * fix install destination (`%377 <https://github.com/ros-controls/ros_control/issues/377>`_) * catch ROSInterruptException * specify RUNTIME DESTINATION for libraries (`%373 <https://github.com/ros-controls/ros_control/issues/373>`_) needed for exporting DLLs on Windows * use this_thread::sleep_for instead of usleep (`%375 <https://github.com/ros-controls/ros_control/issues/375>`_) * remove unused pthread.h * Contributors: Bence Magyar, Gérald Lelong, James Xu, Jordan Palacios, Matt Reynolds, Victor Lopez, jordan-palacios 0.15.1 (2018-09-30) ------------------- * Updated for compatibility with Python2 or Python3 * Initialize controller_manager node using init_node. * back to Python3 prints, add '-s to remaining places * pep8 styling * added quotes in python code too, also changed python prints to rosconsole * added quotes for controller name and controller type in warnings and errors * Contributors: Daniel Ingram, Jasper Güldenstein, Stefan Profanter, Gennaro Raiola, Bence Magyar Changelog for package combined_robot_hw 0.17.0 (2020-02-24) ------------------- * Use auto keyword * Use default member initializers * Improve controller and resource filtering for CombinedRobotHW * Prefer default member initializers * Contributors: AbhinavSingh, Bence Magyar, Matt Reynolds, Toni Oliver 0.16.0 (2020-01-27) ------------------- * Use range-based for loop * Update dependencies - Dependencies needed to compile are <build_depend> - Dependencies used in public headers are <build_export_depend> - Dependencies needed to link or run are <exec_depend> * Use #pragma once * Replace header guard with #pragma once * Remove unused Boost dependencies * Apply consistent style to CMakeLists.txt files * Apply consistent style to package.xml files * Fix build error in clang error: non-aggregate type 'std::vector' (aka 'vector >') cannot be initialized with an initializer list * fix install destination * specify RUNTIME DESTINATION for libraries needed for exporting DLLs on Windows * Contributors: Bence Magyar, James Xu, Matt Reynolds, Victor Lopez Changelog for package transmission_interface 0.17.0 (2020-02-24) ------------------- * Use default member initializers * Use braces for member initializers * Replace boost with std * Replace boost ptrs with std ptrs in documentation * Replace boost::lexical_cast<double> with std::stod * Prefer default member initializers * Use auto * Contributors: AbhinavSingh, Bence Magyar, Matt Reynolds 0.16.0 (2020-01-27) ------------------- * Use more meaningful pair iterator names * Use range-based for loops in transmission_interface * Resolve Boost dependency issues * Update dependencies - Dependencies needed to compile are <build_depend> - Dependencies used in public headers are <build_export_depend> - Dependencies needed to link or run are <exec_depend> * Update package dependencies * Remove rosunit test_depend from package.xml * Prefer nullptr for null pointers Use #pragma once * Add missing header guard to loader_utils.h * Replace header guard with #pragma once * Add torque sensor and absolute encoder support to transmissions and adjust tests Add pointer accessors for torque sensor and absoute position encoders * Modified structures to have absolute encoder and torque sensor parameters * Fix transmission_interface dependencies * Apply consistent style to CMakeLists.txt files * Apply consistent style to package.xml files * Fix compiler warnings - Comment out unused parameters - Make some integer literals unsigned to avoid comparison between signed and unsigned - Remove unnecessary semicolons - Make const void return type to void * Fix build error in clang error: non-aggregate type 'std::vector' (aka 'vector >') cannot be initialized with an initializer list * Fix typo in docs * TransmissionParser private -> protected * fix install destination (`%377 <https://github.com/ros-controls/ros_control/issues/377>`_) * Contributors: Bence Magyar, Gennaro Raiola, Hilario Tome, James Xu, Markus Vieth, Matt Reynolds, Victor Lopez Changelog for package controller_manager_msgs 0.16.0 (2020-01-27) ------------------- * Update package dependencies * Apply consistent style to CMakeLists.txt files * Apply consistent style to package.xml files * Fix exception module * Contributors: Bence Magyar, Jordan Palacios, Matt Reynolds, Ryohei Ueda Changelog for package controller_interface 0.17.0 (2020-02-24) ------------------- * Use default member initializers * Prefer default member initializers * Contributors: Bence Magyar, Matt Reynolds 0.16.0 (2020-01-27) ------------------- * Update dependencies - Dependencies needed to compile are <build_depend> - Dependencies used in public headers are <build_export_depend> - Dependencies needed to link or run are <exec_depend> * Replace header guard with #pragma once * Remove unnecessary rosunit/rostest dependencies * Apply consistent style to CMakeLists.txt files * Apply consistent style to package.xml files * Multi-update cycle mode switch (`%391 <https://github.com/ros-controls/ros_control/issues/391>`_) For more info: pal-robotics-forks/ros_control2#5 * Added tests for ControllerManager update * Mocks for controllers and controller loader in update test * Divided in tests with and without controllers * Controller state initialized in mock * Moved mocks to test class * All tests using mock class * Test for multiple updates in a single controller * Added new switchResult() function to RobotHW interface ControllerManager uses this function to wait for the result of the doSwitch() before starting the new set of controllers * Using ranged based loops * Switch is now managed in a separate function * Option to start controllers as soon as their joints are ready after a switch * Tests for controller_interface API * Added new STOPPED, WAITING and ABORTED states to ControllerBase * Split manageSwitch() into smaller functions * Abort pending controllers in case of switch error * Changed default behaviour of new switch param This way if it not set it will be the same behaviour as previous version * Added timeout parameter to switch controller * Removed unnecessary includes * Using target_include_directories for the test * std::all_of instead of std::count_if * Deleted autogenerated file * Adapted tests to changes in controller_manager * Adapted python implementation to new parameters in SwitchController * Added missing parameter description docstring * Moved all parameters used for switching to a separate object * Moved error messages to controller_base * State check functions are now const * Removed unnecessary comments * Added constants for start_asap and timeout default parameters values * Removed unnecessary comments * State check functions are now const * Moved error messages to controller_base * Using target_include_directories for the test * Fixed lincenses * Removed unnecessary includes * Abort pending controllers in case of switch error * Added new STOPPED, WAITING and ABORTED states to ControllerBase * Tests for controller_interface API * Contributors: Bence Magyar, Jordan Palacios, Matt Reynolds, jordan-palacios ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Changelog for package rqt_controller_manager ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 0.17.0 (2020-02-24) ------------------- * added missing controller state: 'initialised' * Contributors: ThibaultRouillard 0.16.0 (2020-01-27) ------------------- * Update package dependencies * Add missing roscpp & rospy dependencies * Update package.xml descriptions * Apply consistent style to CMakeLists.txt files * Apply consistent style to package.xml files * Contributors: Bence Magyar, Matt Reynolds
very similar to ros-controls/realtime_tools#32,
usleep
is not available on Windows. usethis_thread::sleep_for
fromc++11
insteadadditionally, some refactoring changes are also introduced to improve readability