22 #ifndef _PLUGINS_NAO_DCM_THREAD_H_
23 #define _PLUGINS_NAO_DCM_THREAD_H_
25 #include <alcommon/alproxy.h>
26 #include <althread/alprocesssignals.h>
27 #include <aspect/blackboard.h>
28 #include <aspect/blocked_timing.h>
29 #include <aspect/clock.h>
30 #include <aspect/configurable.h>
31 #include <aspect/logging.h>
32 #include <core/threading/thread.h>
33 #include <core/utils/lock_vector.h>
34 #include <interfaces/NaoJointPositionInterface.h>
35 #include <interfaces/NaoSensorInterface.h>
36 #include <plugins/nao/aspect/naoqi.h>
41 class ALMemoryFastAccess;
44 class NaoJointStiffnessInterface;
77 void process_messages();
78 std::vector<std::string> parse_servo_bitfield(
unsigned int servos);
80 void send_commands(
unsigned int servos,
const std::string &what,
float value,
int time_offset);
81 void send_command(
const std::string &
name,
float value,
const std::string &kind,
int time_offset);
86 HighFreqThread *highfreq_thread_;
89 AL::ALPtr<AL::DCMProxy> dcm_;
90 AL::ALPtr<AL::ALMotionProxy> almotion_;
91 AL::ALPtr<AL::ALMemoryFastAccess> memfa_;
92 bool robocup_version_;
94 AL::ALProcessSignals::ProcessSignalConnection dcm_sigconn_;
106 uint8_t robot_version_[4];
108 int usboard_version_;
110 AL::ALValue alljoint_names_;