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 1045 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::callbackReadCustomValue.
| req | |
| res |
Definition at line 1067 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::_callbackReadPIDValue.
| req | |
| res |
Definition at line 1125 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::_callbackReadVelocityProfile.
| req | |
| res |
Definition at line 1199 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::callbackWriteCustomValue.
| req | |
| res |
Definition at line 1097 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::_callbackWritePIDValue.
| req | |
| res |
Definition at line 1172 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::_callbackWriteVelocityProfile.
| req | |
| res |
Definition at line 1249 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::_executeCommand : execute all the cmd in the current queue.
Definition at line 664 of file ttl_interface_core.cpp.
|
private |
Definition at line 1286 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::activeDebugMode.
| mode |
Definition at line 545 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 904 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::addSingleCommandToQueue.
| cmd |
Definition at line 945 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::setSyncCommand.
| cmd |
Definition at line 886 of file ttl_interface_core.cpp.
|
override |
| bool ttl_driver::TtlInterfaceCore::changeTool | ( | int | value, |
| std::string & | message, | ||
| int & | status | ||
| ) |
| void ttl_driver::TtlInterfaceCore::clearConveyorCommandQueue | ( | ) |
TtlInterfaceCore::clearConveyorCommandQueue.
Definition at line 852 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::clearSingleCommandQueue | ( | ) |
TtlInterfaceCore::clearSingleCommandQueue.
Definition at line 841 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::clearSyncCommandQueue | ( | ) |
TtlInterfaceCore::clearSyncCommandQueue.
Definition at line 863 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::controlLoop.
Definition at line 564 of file ttl_interface_core.cpp.
|
inlineoverride |
|
override |
|
override |
TtlInterfaceCore::getCalibrationResult.
| id |
Definition at line 513 of file ttl_interface_core.cpp.
|
inlineoverride |
TtlInterfaceCore::getCalibrationStatus.
Definition at line 522 of file ttl_interface_core.cpp.
|
inline |
TtlInterfaceCore::readCollisionStatus.
Definition at line 294 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 979 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::getState.
| motor_id |
Definition at line 969 of file ttl_interface_core.cpp.
|
override |
| double ttl_driver::TtlInterfaceCore::getPosition | ( | uint8_t | id | ) | const |
TtlInterfaceCore::getPosition.
| id |
Definition at line 989 of file ttl_interface_core.cpp.
|
inlineoverride |
TtlInterfaceCore::getRemovedMotorList.
Definition at line 284 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 367 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::motorCmdReport.
| jState | |
| motor_type |
Definition at line 288 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::motorScanReport.
| motor_id |
Definition at line 262 of file ttl_interface_core.cpp.
|
delete |
|
delete |
| bool ttl_driver::TtlInterfaceCore::readHomingAbsPosition | ( | ) |
TtlInterfaceCore::readHomingAbsPosition.
Definition at line 448 of file ttl_interface_core.cpp.
| int ttl_driver::TtlInterfaceCore::readMoving | ( | uint8_t | id, |
| uint8_t & | status | ||
| ) |
Definition at line 457 of file ttl_interface_core.cpp.
|
override |
|
override |
TtlInterfaceCore::resetCalibration.
Definition at line 502 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::resetHardwareControlLoopRates.
Definition at line 530 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::scanMotorId.
Definition at line 484 of file ttl_interface_core.cpp.
| vector< uint8_t > ttl_driver::TtlInterfaceCore::scanTools | ( | ) |
|
inlineoverride |
TtlInterfaceCore::setCalibrationStatus.
Definition at line 302 of file ttl_interface_core.hpp.
|
override |
TtlInterfaceCore::setConveyor.
| state |
Definition at line 783 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 759 of file ttl_interface_core.cpp.
|
inline |
Definition at line 257 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 875 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::startCalibration.
Definition at line 493 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::startControlLoop.
Definition at line 470 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::startPublishers.
| nh |
Definition at line 177 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::startServices.
| nh |
Definition at line 148 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::startSubscribers.
| nh |
Definition at line 189 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::unsetConveyor.
| motor_id | |
| default_conveyor_id |
Definition at line 806 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::unsetTool | ( | uint8_t | motor_id | ) |
| motor_id |
Definition at line 748 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::waitSingleQueueFree | ( | ) |
TtlInterfaceCore::waitSingleQueueFree.
Definition at line 1027 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::waitSyncQueueFree | ( | ) |
TtlInterfaceCore::waitSyncQueueFree.
Definition at line 1016 of file ttl_interface_core.cpp.
|
private |
Definition at line 240 of file ttl_interface_core.hpp.
|
private |
Definition at line 199 of file ttl_interface_core.hpp.
|
private |
Definition at line 190 of file ttl_interface_core.hpp.
|
private |
Definition at line 192 of file ttl_interface_core.hpp.
|
private |
Definition at line 191 of file ttl_interface_core.hpp.
|
private |
Definition at line 196 of file ttl_interface_core.hpp.
|
private |
Definition at line 209 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 201 of file ttl_interface_core.hpp.
|
private |
Definition at line 207 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 203 of file ttl_interface_core.hpp.
|
private |
Definition at line 238 of file ttl_interface_core.hpp.
|
private |
Definition at line 243 of file ttl_interface_core.hpp.
|
private |
Definition at line 242 of file ttl_interface_core.hpp.
|
private |
Definition at line 197 of file ttl_interface_core.hpp.
|
private |
Definition at line 211 of file ttl_interface_core.hpp.
|
private |
Definition at line 212 of file ttl_interface_core.hpp.
|
private |
Definition at line 222 of file ttl_interface_core.hpp.
|
private |
Definition at line 213 of file ttl_interface_core.hpp.
|
private |
Definition at line 231 of file ttl_interface_core.hpp.
|
private |
Definition at line 252 of file ttl_interface_core.hpp.
|
private |
Definition at line 251 of file ttl_interface_core.hpp.
|
private |
Definition at line 194 of file ttl_interface_core.hpp.
|
private |
Definition at line 229 of file ttl_interface_core.hpp.
|
private |
Definition at line 246 of file ttl_interface_core.hpp.
|
private |
Definition at line 245 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 202 of file ttl_interface_core.hpp.
|
private |
Definition at line 237 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 204 of file ttl_interface_core.hpp.
|
private |
Definition at line 236 of file ttl_interface_core.hpp.
|
private |
Definition at line 219 of file ttl_interface_core.hpp.
|
private |
Definition at line 225 of file ttl_interface_core.hpp.
|
private |
Definition at line 215 of file ttl_interface_core.hpp.
|
private |
Definition at line 217 of file ttl_interface_core.hpp.
|
private |
Definition at line 216 of file ttl_interface_core.hpp.
|
private |
Definition at line 223 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 205 of file ttl_interface_core.hpp.
|
private |
Definition at line 227 of file ttl_interface_core.hpp.
|
private |
Definition at line 249 of file ttl_interface_core.hpp.
|
private |
Definition at line 248 of file ttl_interface_core.hpp.
|
staticconstexprprivate |
Definition at line 254 of file ttl_interface_core.hpp.