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;
69 protected:
virtual void run() { Thread::run(); }
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;
NaoJointPositionInterface Fawkes BlackBoard Interface.
virtual void finalize()
Finalize the thread.
Thread aspect to access to BlackBoard.
virtual void init()
Initialize the thread.
Thread aspect that allows to obtain the current time from the clock.
Fawkes library namespace.
Thread class encapsulation of pthreads.
NaoSensorInterface Fawkes BlackBoard Interface.
NaoJointStiffnessInterface Fawkes BlackBoard Interface.
Thread aspect to use blocked timing.
UltrasonicDirection
This determines the chosen sender/receiver.
Thread to provide DCM to Fawkes.
Thread aspect to log output.
Thread aspect to get access to NaoQi broker.
const char * name() const
Get name of thread.
virtual ~NaoQiDCMThread()
Destructor.
Thread aspect to access configuration data.
virtual void loop()
Code to execute in the thread.
virtual void run()
Stub to see name in backtrace for easier debugging.
RobotType
Enumeration describing the actual version of the robot that's being used.
NaoQiDCMThread()
Constructor.