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 74 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 289 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 279 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 297 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 251 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 234 of file ttl_interface_core.hpp.
|
private |
Definition at line 193 of file ttl_interface_core.hpp.
|
private |
Definition at line 184 of file ttl_interface_core.hpp.
|
private |
Definition at line 186 of file ttl_interface_core.hpp.
|
private |
Definition at line 185 of file ttl_interface_core.hpp.
|
private |
Definition at line 190 of file ttl_interface_core.hpp.
|
private |
Definition at line 203 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 195 of file ttl_interface_core.hpp.
|
private |
Definition at line 201 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.
|
private |
Definition at line 237 of file ttl_interface_core.hpp.
|
private |
Definition at line 236 of file ttl_interface_core.hpp.
|
private |
Definition at line 191 of file ttl_interface_core.hpp.
|
private |
Definition at line 205 of file ttl_interface_core.hpp.
|
private |
Definition at line 206 of file ttl_interface_core.hpp.
|
private |
Definition at line 216 of file ttl_interface_core.hpp.
|
private |
Definition at line 207 of file ttl_interface_core.hpp.
|
private |
Definition at line 225 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.
|
private |
Definition at line 188 of file ttl_interface_core.hpp.
|
private |
Definition at line 223 of file ttl_interface_core.hpp.
|
private |
Definition at line 240 of file ttl_interface_core.hpp.
|
private |
Definition at line 239 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 196 of file ttl_interface_core.hpp.
|
private |
Definition at line 231 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 198 of file ttl_interface_core.hpp.
|
private |
Definition at line 230 of file ttl_interface_core.hpp.
|
private |
Definition at line 213 of file ttl_interface_core.hpp.
|
private |
Definition at line 219 of file ttl_interface_core.hpp.
|
private |
Definition at line 209 of file ttl_interface_core.hpp.
|
private |
Definition at line 211 of file ttl_interface_core.hpp.
|
private |
Definition at line 210 of file ttl_interface_core.hpp.
|
private |
Definition at line 217 of file ttl_interface_core.hpp.
|
mutableprivate |
Definition at line 199 of file ttl_interface_core.hpp.
|
private |
Definition at line 221 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.
|
staticconstexprprivate |
Definition at line 248 of file ttl_interface_core.hpp.