00001 00029 #ifndef _MUSCLE_UPDATER_HPP_ 00030 #define _MUSCLE_UPDATER_HPP_ 00031 00032 #include <ros/ros.h> 00033 #include <vector> 00034 #include <list> 00035 #include <queue> 00036 #include "sr_robot_lib/generic_updater.hpp" 00037 00038 #include <sr_external_dependencies/types_for_external.h> 00039 00040 extern "C" 00041 { 00042 #include <sr_external_dependencies/external/0320_palm_edc_muscle/0320_palm_edc_ethercat_protocol.h> 00043 } 00044 00045 namespace generic_updater 00046 { 00057 template<class CommandType> 00058 class MuscleUpdater : 00059 public GenericUpdater<CommandType> 00060 { 00061 public: 00062 MuscleUpdater(std::vector<UpdateConfig> update_configs_vector, 00063 operation_mode::device_update_state::DeviceUpdateState update_state); 00064 00072 operation_mode::device_update_state::DeviceUpdateState build_init_command(CommandType *command); 00073 00082 operation_mode::device_update_state::DeviceUpdateState build_command(CommandType *command); 00083 }; 00084 } // namespace generic_updater 00085 00086 00087 /* For the emacs weenies in the crowd. 00088 Local Variables: 00089 c-basic-offset: 2 00090 End: 00091 */ 00092 00093 #endif