00001 00027 #ifndef SENSOR_UPDATER_HPP_ 00028 #define SENSOR_UPDATER_HPP_ 00029 00030 00031 #include <ros/ros.h> 00032 #include <vector> 00033 #include <list> 00034 #include <queue> 00035 #include "sr_robot_lib/generic_updater.hpp" 00036 00037 #include <sr_external_dependencies/types_for_external.h> 00038 00039 extern "C" 00040 { 00041 #include <sr_external_dependencies/external/0220_palm_edc/0220_palm_edc_ethercat_protocol.h> 00042 } 00043 00044 namespace generic_updater 00045 { 00056 template<class CommandType> 00057 class SensorUpdater : 00058 public GenericUpdater<CommandType> 00059 { 00060 public: 00061 SensorUpdater(std::vector<UpdateConfig> update_configs_vector, 00062 operation_mode::device_update_state::DeviceUpdateState update_state); 00063 00071 operation_mode::device_update_state::DeviceUpdateState build_init_command(CommandType *command); 00072 00082 operation_mode::device_update_state::DeviceUpdateState build_command(CommandType *command); 00083 00093 bool reset(); 00094 }; 00095 } // namespace generic_updater 00096 00097 00098 /* For the emacs weenies in the crowd. 00099 Local Variables: 00100 c-basic-offset: 2 00101 End: 00102 */ 00103 00104 #endif /* SENSOR_UPDATER_HPP_ */