00001 00028 #ifndef _BIOTAC_HPP_ 00029 #define _BIOTAC_HPP_ 00030 00031 #include <vector> 00032 #include <sr_robot_msgs/BiotacAll.h> 00033 #include <sr_robot_msgs/Biotac.h> 00034 #include <realtime_tools/realtime_publisher.h> 00035 00036 #include "sr_robot_lib/generic_tactiles.hpp" 00037 #include "sr_robot_lib/generic_updater.hpp" 00038 00039 namespace tactiles 00040 { 00041 class Biotac : 00042 public GenericTactiles 00043 { 00044 public: 00045 Biotac(std::vector<generic_updater::UpdateConfig> update_configs_vector, operation_mode::device_update_state::DeviceUpdateState update_state); 00046 Biotac(std::vector<generic_updater::UpdateConfig> update_configs_vector, operation_mode::device_update_state::DeviceUpdateState update_state, boost::shared_ptr< std::vector<GenericTactileData> > init_tactiles_vector); 00047 ~Biotac() {}; 00048 00052 void init(std::vector<generic_updater::UpdateConfig> update_configs_vector, operation_mode::device_update_state::DeviceUpdateState update_state); 00053 00061 virtual void update(ETHERCAT_DATA_STRUCTURE_0200_PALM_EDC_STATUS* status_data); 00062 00067 virtual void publish(); 00068 00073 virtual void add_diagnostics(std::vector<diagnostic_msgs::DiagnosticStatus> &vec, 00074 diagnostic_updater::DiagnosticStatusWrapper &d); 00075 00076 00077 virtual std::vector<AllTactileData>* get_tactile_data(); 00078 00079 protected: 00081 boost::shared_ptr< std::vector<BiotacData> > tactiles_vector; 00082 00083 // Tactile sensor real time publisher 00084 boost::shared_ptr<realtime_tools::RealtimePublisher<sr_robot_msgs::BiotacAll> > tactile_publisher; 00085 };//end class 00086 }//end namespace 00087 00088 /* For the emacs weenies in the crowd. 00089 Local Variables: 00090 c-basic-offset: 2 00091 End: 00092 */ 00093 00094 #endif /* _SHADOW_PSTS_HPP_ */