00001 #ifndef S_MODEL_ETHERCAT_CLIENT_H 00002 #define S_MODEL_ETHERCAT_CLIENT_H 00003 00004 #include <robotiq_s_model_control/SModel_robot_output.h> 00005 #include <robotiq_s_model_control/SModel_robot_input.h> 00006 00007 // Forward declaration of EtherCatManager 00008 namespace robotiq_ethercat 00009 { 00010 class EtherCatManager; 00011 } 00012 00013 namespace robotiq_s_model_control 00014 { 00015 00022 class SModelEtherCatClient 00023 { 00024 public: 00025 typedef robotiq_s_model_control::SModel_robot_output GripperOutput; 00026 typedef robotiq_s_model_control::SModel_robot_input GripperInput; 00027 00038 SModelEtherCatClient(robotiq_ethercat::EtherCatManager& manager, int slave_no); 00039 00045 void writeOutputs(const GripperOutput& output); 00046 00051 GripperInput readInputs() const; 00052 00057 GripperOutput readOutputs() const; 00058 00059 private: 00060 robotiq_ethercat::EtherCatManager& manager_; 00061 const int slave_no_; 00062 }; 00063 00064 } 00065 00066 #endif