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_;
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.
const char * name() const
Get name of thread.
Thread aspect to log output.
Thread aspect to get access to NaoQi broker.
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.