The TtlInterfaceCore class schedules and manager the communication in the TTL bus its main purpose it to manage queues of commands for the TTL Motors This class is used for now by : More...
#include <ttl_interface_core.hpp>

Private Member Functions | |
| bool | _callbackActivateLeds (niryo_robot_msgs::SetInt::Request &req, niryo_robot_msgs::SetInt::Response &res) |
| TtlInterfaceCore::callbackActivateLeds. More... | |
| bool | _callbackReadCustomValue (ttl_driver::ReadCustomValue::Request &req, ttl_driver::ReadCustomValue::Response &res) |
| TtlInterfaceCore::callbackReadCustomValue. More... | |
| bool | _callbackReadPIDValue (ttl_driver::ReadPIDValue::Request &req, ttl_driver::ReadPIDValue::Response &res) |
| TtlInterfaceCore::_callbackReadPIDValue. More... | |
| bool | _callbackReadVelocityProfile (ttl_driver::ReadVelocityProfile::Request &req, ttl_driver::ReadVelocityProfile::Response &res) |
| TtlInterfaceCore::_callbackReadVelocityProfile. More... | |
| bool | _callbackWriteCustomValue (ttl_driver::WriteCustomValue::Request &req, ttl_driver::WriteCustomValue::Response &res) |
| TtlInterfaceCore::callbackWriteCustomValue. More... | |
| bool | _callbackWritePIDValue (ttl_driver::WritePIDValue::Request &req, ttl_driver::WritePIDValue::Response &res) |
| TtlInterfaceCore::_callbackWritePIDValue. More... | |
| bool | _callbackWriteVelocityProfile (ttl_driver::WriteVelocityProfile::Request &req, ttl_driver::WriteVelocityProfile::Response &res) |
| TtlInterfaceCore::_callbackWriteVelocityProfile. More... | |
| void | _executeCommand () override |
| TtlInterfaceCore::_executeCommand : execute all the cmd in the current queue. More... | |
| void | _publishCollisionStatus (const ros::TimerEvent &) |
| void | controlLoop () override |
| TtlInterfaceCore::controlLoop. More... | |
| void | initParameters (ros::NodeHandle &nh) override |
| TtlInterfaceCore::initParameters. More... | |
| int | motorCmdReport (const common::model::JointState &jState, common::model::EHardwareType motor_type) |
| TtlInterfaceCore::motorCmdReport. More... | |
| int | motorScanReport (uint8_t motor_id) |
| TtlInterfaceCore::motorScanReport. More... | |
| void | resetHardwareControlLoopRates () override |
| TtlInterfaceCore::resetHardwareControlLoopRates. More... | |
| void | startPublishers (ros::NodeHandle &nh) override |
| TtlInterfaceCore::startPublishers. More... | |
| void | startServices (ros::NodeHandle &nh) override |
| TtlInterfaceCore::startServices. More... | |
| void | startSubscribers (ros::NodeHandle &nh) override |
| TtlInterfaceCore::startSubscribers. More... | |
Private Attributes | |
| ros::ServiceServer | _activate_leds_server |
| bool | _collision_detected {false} |
| ros::Publisher | _collision_status_publisher |
| ros::Duration | _collision_status_publisher_duration {0.01} |
| ros::Timer | _collision_status_publisher_timer |
| bool | _control_loop_flag {false} |
| double | _control_loop_frequency {0.0} |
| std::mutex | _control_loop_mutex |
| std::thread | _control_loop_thread |
| std::mutex | _conveyor_cmd_queue_mutex |
| std::queue< std::unique_ptr< common::model::AbstractTtlSingleMotorCmd > > | _conveyor_cmds_queue |
| ros::ServiceServer | _custom_cmd_getter |
| ros::ServiceServer | _custom_cmd_server |
| bool | _debug_flag {false} |
| double | _delta_time_data_read {0.0} |
| double | _delta_time_end_effector_read {0.0} |
| double | _delta_time_status_read {0.0} |
| double | _delta_time_write {0.0} |
| bool | _estop_flag {false} |
| ros::ServiceServer | _frequencies_getter |
| ros::ServiceServer | _frequencies_setter |
| std::string | _hardware_version |
| std::vector< std::pair< uint8_t, uint32_t > > | _joint_trajectory_cmd |
| ros::ServiceServer | _pid_getter |
| ros::ServiceServer | _pid_server |
| std::mutex | _single_cmd_queue_mutex |
| std::queue< std::unique_ptr< common::model::AbstractTtlSingleMotorCmd > > | _single_cmds_queue |
| std::mutex | _sync_cmd_queue_mutex |
| std::queue< std::unique_ptr< common::model::AbstractTtlSynchronizeMotorCmd > > | _sync_cmds_queue |
| double | _time_check_connection_last_read {0.0} |
| double | _time_check_end_effector_last_read {0.0} |
| double | _time_hw_data_last_read {0.0} |
| double | _time_hw_data_last_write {0.0} |
| double | _time_hw_end_effector_last_read {0.0} |
| double | _time_hw_status_last_read {0.0} |
| std::mutex | _traj_cmd_mutex |
| std::unique_ptr< TtlManager > | _ttl_manager |
| ros::ServiceServer | _velocity_profile_getter |
| ros::ServiceServer | _velocity_profile_server |
Static Private Attributes | |
| static constexpr int | QUEUE_OVERFLOW = 20 |
The TtlInterfaceCore class schedules and manager the communication in the TTL bus its main purpose it to manage queues of commands for the TTL Motors This class is used for now by :
Definition at line 75 of file ttl_interface_core.hpp.
| ttl_driver::TtlInterfaceCore::TtlInterfaceCore | ( | ros::NodeHandle & | nh | ) |
TtlInterfaceCore::TtlInterfaceCore.
Definition at line 67 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::~TtlInterfaceCore.
Definition at line 77 of file ttl_interface_core.cpp.
|
delete |
|
delete |
|
private |
TtlInterfaceCore::callbackActivateLeds.
| req | |
| res |
Definition at line 997 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::callbackReadCustomValue.
| req | |
| res |
Definition at line 1018 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::_callbackReadPIDValue.
| req | |
| res |
Definition at line 1074 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::_callbackReadVelocityProfile.
| req | |
| res |
Definition at line 1144 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::callbackWriteCustomValue.
| req | |
| res |
Definition at line 1047 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::_callbackWritePIDValue.
| req | |
| res |
Definition at line 1119 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::_callbackWriteVelocityProfile.
| req | |
| res |
Definition at line 1193 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::_executeCommand : execute all the cmd in the current queue.
Definition at line 627 of file ttl_interface_core.cpp.
|
private |
Definition at line 1228 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::activeDebugMode.
| mode |
Definition at line 510 of file ttl_interface_core.cpp.
| int ttl_driver::TtlInterfaceCore::addJoint | ( | const std::shared_ptr< common::model::JointState > & | jointState | ) |
|
override |
TtlInterfaceCore::addSingleCommandToQueue.
| cmd |
Definition at line 866 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::addSingleCommandToQueue.
| cmd |
Definition at line 903 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::setSyncCommand.
| cmd |
Definition at line 849 of file ttl_interface_core.cpp.
|
override |
| void ttl_driver::TtlInterfaceCore::clearConveyorCommandQueue | ( | ) |
TtlInterfaceCore::clearConveyorCommandQueue.
Definition at line 815 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::clearSingleCommandQueue | ( | ) |
TtlInterfaceCore::clearSingleCommandQueue.
Definition at line 804 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::clearSyncCommandQueue | ( | ) |
TtlInterfaceCore::clearSyncCommandQueue.
Definition at line 826 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::controlLoop.
Definition at line 529 of file ttl_interface_core.cpp.
|
inlineoverride |
|
override |
|
override |
TtlInterfaceCore::getCalibrationResult.
| id |
Definition at line 484 of file ttl_interface_core.cpp.
|
inlineoverride |
TtlInterfaceCore::getCalibrationStatus.
Definition at line 490 of file ttl_interface_core.cpp.
|
inline |
TtlInterfaceCore::readCollisionStatus.
Definition at line 290 of file ttl_interface_core.hpp.
| std::shared_ptr< common::model::EndEffectorState > ttl_driver::TtlInterfaceCore::getEndEffectorState | ( | uint8_t | id | ) |
TtlInterfaceCore::getEndEffectorState.
| id |
Definition at line 934 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::getState.
| motor_id |
Definition at line 924 of file ttl_interface_core.cpp.
|
override |
| double ttl_driver::TtlInterfaceCore::getPosition | ( | uint8_t | id | ) | const |
TtlInterfaceCore::getPosition.
| id |
Definition at line 944 of file ttl_interface_core.cpp.
|
inlineoverride |
TtlInterfaceCore::getRemovedMotorList.
Definition at line 280 of file ttl_interface_core.hpp.
|
override |
Definition at line 86 of file ttl_interface_core.cpp.
| int ttl_driver::TtlInterfaceCore::initMotor | ( | const std::shared_ptr< common::model::AbstractMotorState > & | motor_state | ) |
|
overrideprivate |
TtlInterfaceCore::initParameters.
Definition at line 110 of file ttl_interface_core.cpp.
|
inlineoverride |
|
override |
TtlInterfaceCore::launchMotorsReport.
Definition at line 341 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::motorCmdReport.
| jState | |
| motor_type |
Definition at line 266 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::motorScanReport.
| motor_id |
Definition at line 240 of file ttl_interface_core.cpp.
|
delete |
|
delete |
| bool ttl_driver::TtlInterfaceCore::readHomingAbsPosition | ( | ) |
TtlInterfaceCore::readHomingAbsPosition.
Definition at line 419 of file ttl_interface_core.cpp.
| int ttl_driver::TtlInterfaceCore::readMoving | ( | uint8_t | id, |
| uint8_t & | status | ||
| ) |
Definition at line 428 of file ttl_interface_core.cpp.
|
override |
|
override |
TtlInterfaceCore::resetCalibration.
Definition at line 473 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::resetHardwareControlLoopRates.
Definition at line 495 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::scanMotorId.
Definition at line 455 of file ttl_interface_core.cpp.
| vector< uint8_t > ttl_driver::TtlInterfaceCore::scanTools | ( | ) |
|
inlineoverride |
TtlInterfaceCore::setCalibrationStatus.
Definition at line 298 of file ttl_interface_core.hpp.
|
override |
TtlInterfaceCore::setConveyor.
| state |
Definition at line 746 of file ttl_interface_core.cpp.
| int ttl_driver::TtlInterfaceCore::setEndEffector | ( | const std::shared_ptr< common::model::EndEffectorState > & | end_effector_state | ) |
TtlInterfaceCore::setEndEffector.
| end_effector_state |
Definition at line 722 of file ttl_interface_core.cpp.
|
inline |
Definition at line 252 of file ttl_interface_core.hpp.
| int ttl_driver::TtlInterfaceCore::setTool | ( | const std::shared_ptr< common::model::ToolState > & | toolState | ) |
| void ttl_driver::TtlInterfaceCore::setTrajectoryControllerCommands | ( | std::vector< std::pair< uint8_t, uint32_t >> && | cmd | ) |
TtlInterfaceCore::setTrajectoryControllerCommands.
| cmd |
Definition at line 838 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::startCalibration.
Definition at line 464 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::startControlLoop.
Definition at line 441 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::startPublishers.
| nh |
Definition at line 169 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::startServices.
| nh |
Definition at line 147 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::startSubscribers.
| nh |
Definition at line 179 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::unsetConveyor.
| motor_id | |
| default_conveyor_id |
Definition at line 769 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::unsetTool | ( | uint8_t | motor_id | ) |
| motor_id |
Definition at line 711 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::waitSingleQueueFree | ( | ) |
TtlInterfaceCore::waitSingleQueueFree.
Definition at line 979 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::waitSyncQueueFree | ( | ) |
TtlInterfaceCore::waitSyncQueueFree.
Definition at line 968 of file ttl_interface_core.cpp.
|
private |
Definition at line 235 of file ttl_interface_core.hpp.
|
private |
Definition at line 194 of file ttl_interface_core.hpp.
|
private |
Definition at line 185 of file ttl_interface_core.hpp.
|
private |
Definition at line 187 of file ttl_interface_core.hpp.
|
private |
Definition at line 186 of file ttl_interface_core.hpp.
|
private |
Definition at line 191 of file ttl_interface_core.hpp.
|
private |
Definition at line 204 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 196 of file ttl_interface_core.hpp.
|
private |
Definition at line 202 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 198 of file ttl_interface_core.hpp.
|
private |
Definition at line 233 of file ttl_interface_core.hpp.
|
private |
Definition at line 238 of file ttl_interface_core.hpp.
|
private |
Definition at line 237 of file ttl_interface_core.hpp.
|
private |
Definition at line 192 of file ttl_interface_core.hpp.
|
private |
Definition at line 206 of file ttl_interface_core.hpp.
|
private |
Definition at line 207 of file ttl_interface_core.hpp.
|
private |
Definition at line 217 of file ttl_interface_core.hpp.
|
private |
Definition at line 208 of file ttl_interface_core.hpp.
|
private |
Definition at line 226 of file ttl_interface_core.hpp.
|
private |
Definition at line 247 of file ttl_interface_core.hpp.
|
private |
Definition at line 246 of file ttl_interface_core.hpp.
|
private |
Definition at line 189 of file ttl_interface_core.hpp.
|
private |
Definition at line 224 of file ttl_interface_core.hpp.
|
private |
Definition at line 241 of file ttl_interface_core.hpp.
|
private |
Definition at line 240 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 197 of file ttl_interface_core.hpp.
|
private |
Definition at line 232 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 199 of file ttl_interface_core.hpp.
|
private |
Definition at line 231 of file ttl_interface_core.hpp.
|
private |
Definition at line 214 of file ttl_interface_core.hpp.
|
private |
Definition at line 220 of file ttl_interface_core.hpp.
|
private |
Definition at line 210 of file ttl_interface_core.hpp.
|
private |
Definition at line 212 of file ttl_interface_core.hpp.
|
private |
Definition at line 211 of file ttl_interface_core.hpp.
|
private |
Definition at line 218 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 200 of file ttl_interface_core.hpp.
|
private |
Definition at line 222 of file ttl_interface_core.hpp.
|
private |
Definition at line 244 of file ttl_interface_core.hpp.
|
private |
Definition at line 243 of file ttl_interface_core.hpp.
|
staticconstexprprivate |
Definition at line 249 of file ttl_interface_core.hpp.