23 #ifndef __PLUGINS_NAO_DCM_THREAD_H_
24 #define __PLUGINS_NAO_DCM_THREAD_H_
26 #include <core/threading/thread.h>
27 #include <aspect/clock.h>
28 #include <aspect/logging.h>
29 #include <aspect/configurable.h>
30 #include <aspect/blackboard.h>
31 #include <aspect/blocked_timing.h>
32 #include <plugins/nao/aspect/naoqi.h>
34 #include <core/utils/lock_vector.h>
36 #include <interfaces/NaoJointPositionInterface.h>
37 #include <interfaces/NaoSensorInterface.h>
39 #include <althread/alprocesssignals.h>
40 #include <alcommon/alproxy.h>
45 class ALMemoryFastAccess;
48 class NaoJointStiffnessInterface;
77 void process_messages();
78 std::vector<std::string> parse_servo_bitfield(
unsigned int servos);
81 void send_commands(
unsigned int servos, std::string what,
82 float value,
int time_offset);
83 void send_command(std::string
name,
float value,
84 std::string kind,
int time_offset);
89 HighFreqThread *__highfreq_thread;
92 AL::ALPtr<AL::DCMProxy> __dcm;
93 AL::ALPtr<AL::ALMotionProxy> __almotion;
94 AL::ALPtr<AL::ALMemoryFastAccess> __memfa;
95 bool __robocup_version;
97 AL::ALProcessSignals::ProcessSignalConnection __dcm_sigconn;
109 uint8_t __robot_version[4];
111 int __usboard_version;
113 AL::ALValue __alljoint_names;