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_end_effector_read { 0.0 } |
| double | _delta_time_status_read { 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_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 68 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::~TtlInterfaceCore.
Definition at line 78 of file ttl_interface_core.cpp.
|
delete |
|
delete |
|
private |
TtlInterfaceCore::callbackActivateLeds.
| req | |
| res |
Definition at line 1027 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::callbackReadCustomValue.
| req | |
| res |
Definition at line 1049 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::_callbackReadPIDValue.
| req | |
| res |
Definition at line 1107 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::_callbackReadVelocityProfile.
| req | |
| res |
Definition at line 1181 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::callbackWriteCustomValue.
| req | |
| res |
Definition at line 1079 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::_callbackWritePIDValue.
| req | |
| res |
Definition at line 1154 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::_callbackWriteVelocityProfile.
| req | |
| res |
Definition at line 1231 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::_executeCommand : execute all the cmd in the current queue.
Definition at line 646 of file ttl_interface_core.cpp.
|
private |
Definition at line 1268 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::activeDebugMode.
| mode |
Definition at line 530 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 886 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::addSingleCommandToQueue.
| cmd |
Definition at line 927 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::setSyncCommand.
| cmd |
Definition at line 868 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 834 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::clearSingleCommandQueue | ( | ) |
TtlInterfaceCore::clearSingleCommandQueue.
Definition at line 823 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::clearSyncCommandQueue | ( | ) |
TtlInterfaceCore::clearSyncCommandQueue.
Definition at line 845 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::controlLoop.
Definition at line 549 of file ttl_interface_core.cpp.
|
inlineoverride |
|
override |
|
override |
TtlInterfaceCore::getCalibrationResult.
| id |
Definition at line 501 of file ttl_interface_core.cpp.
|
inlineoverride |
TtlInterfaceCore::getCalibrationStatus.
Definition at line 510 of file ttl_interface_core.cpp.
|
inline |
TtlInterfaceCore::readCollisionStatus.
Definition at line 284 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 961 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::getState.
| motor_id |
Definition at line 951 of file ttl_interface_core.cpp.
|
override |
| double ttl_driver::TtlInterfaceCore::getPosition | ( | uint8_t | id | ) | const |
TtlInterfaceCore::getPosition.
| id |
Definition at line 971 of file ttl_interface_core.cpp.
|
inlineoverride |
TtlInterfaceCore::getRemovedMotorList.
Definition at line 274 of file ttl_interface_core.hpp.
|
override |
Definition at line 87 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 111 of file ttl_interface_core.cpp.
|
inlineoverride |
|
override |
TtlInterfaceCore::launchMotorsReport.
Definition at line 355 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::motorCmdReport.
| jState | |
| motor_type |
Definition at line 276 of file ttl_interface_core.cpp.
|
private |
TtlInterfaceCore::motorScanReport.
| motor_id |
Definition at line 250 of file ttl_interface_core.cpp.
|
delete |
|
delete |
| bool ttl_driver::TtlInterfaceCore::readHomingAbsPosition | ( | ) |
TtlInterfaceCore::readHomingAbsPosition.
Definition at line 436 of file ttl_interface_core.cpp.
| int ttl_driver::TtlInterfaceCore::readMoving | ( | uint8_t | id, |
| uint8_t & | status | ||
| ) |
Definition at line 445 of file ttl_interface_core.cpp.
|
override |
|
override |
TtlInterfaceCore::resetCalibration.
Definition at line 490 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::resetHardwareControlLoopRates.
Definition at line 518 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::scanMotorId.
Definition at line 472 of file ttl_interface_core.cpp.
| vector< uint8_t > ttl_driver::TtlInterfaceCore::scanTools | ( | ) |
|
inlineoverride |
TtlInterfaceCore::setCalibrationStatus.
Definition at line 292 of file ttl_interface_core.hpp.
|
override |
TtlInterfaceCore::setConveyor.
| state |
Definition at line 765 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 741 of file ttl_interface_core.cpp.
|
inline |
Definition at line 247 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 857 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::startCalibration.
Definition at line 481 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::startControlLoop.
Definition at line 458 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::startPublishers.
| nh |
Definition at line 165 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::startServices.
| nh |
Definition at line 136 of file ttl_interface_core.cpp.
|
overrideprivate |
TtlInterfaceCore::startSubscribers.
| nh |
Definition at line 177 of file ttl_interface_core.cpp.
|
override |
TtlInterfaceCore::unsetConveyor.
| motor_id | |
| default_conveyor_id |
Definition at line 788 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::unsetTool | ( | uint8_t | motor_id | ) |
| motor_id |
Definition at line 730 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::waitSingleQueueFree | ( | ) |
TtlInterfaceCore::waitSingleQueueFree.
Definition at line 1009 of file ttl_interface_core.cpp.
| void ttl_driver::TtlInterfaceCore::waitSyncQueueFree | ( | ) |
TtlInterfaceCore::waitSyncQueueFree.
Definition at line 998 of file ttl_interface_core.cpp.
|
private |
Definition at line 230 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 228 of file ttl_interface_core.hpp.
|
private |
Definition at line 233 of file ttl_interface_core.hpp.
|
private |
Definition at line 232 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 221 of file ttl_interface_core.hpp.
|
private |
Definition at line 242 of file ttl_interface_core.hpp.
|
private |
Definition at line 241 of file ttl_interface_core.hpp.
|
private |
Definition at line 194 of file ttl_interface_core.hpp.
|
private |
Definition at line 219 of file ttl_interface_core.hpp.
|
private |
Definition at line 236 of file ttl_interface_core.hpp.
|
private |
Definition at line 235 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 202 of file ttl_interface_core.hpp.
|
private |
Definition at line 227 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 204 of file ttl_interface_core.hpp.
|
private |
Definition at line 226 of file ttl_interface_core.hpp.
|
private |
Definition at line 214 of file ttl_interface_core.hpp.
|
private |
Definition at line 215 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 205 of file ttl_interface_core.hpp.
|
private |
Definition at line 217 of file ttl_interface_core.hpp.
|
private |
Definition at line 239 of file ttl_interface_core.hpp.
|
private |
Definition at line 238 of file ttl_interface_core.hpp.
|
staticconstexprprivate |
Definition at line 244 of file ttl_interface_core.hpp.