Tekkotsu Homepage | Demos | Overview | Downloads | Dev. Resources | Reference | Credits |
Motion.hGo to the documentation of this file.00001 //-*-c++-*- 00002 #ifndef INCLUDED_Motion_h_ 00003 #define INCLUDED_Motion_h_ 00004 00005 #include "Process.h" 00006 #include "sim.h" 00007 #include "IPC/ProcessID.h" 00008 #include "IPC/SharedObject.h" 00009 #include "SharedGlobals.h" 00010 #include "Motion/MotionManager.h" 00011 #include "Sound/SoundManager.h" 00012 #include "Shared/WorldStatePool.h" 00013 #include "Shared/Profiler.h" 00014 #include "local/EntryPoint.h" 00015 #include <list> 00016 00017 class Motion : public Process { 00018 public: 00019 //! constructor 00020 Motion(); 00021 //! destructor 00022 ~Motion(); 00023 00024 virtual void DoStart(); 00025 virtual void run(); 00026 virtual void DoStop(); 00027 00028 static const char * getClassName() { return "Motion"; } 00029 static ProcessID::ProcessID_t getID() { return ProcessID::MotionProcess; } 00030 00031 static const char * getMotionCommandID() { return "MotionCommands"; } 00032 static const char * getMotionOutputID() { return "MotionOutput"; } 00033 static const char * getMotionManagerID() { return "MotionManager"; } 00034 static const char * getMotionProfilerID() { return "MotionProfiler"; } 00035 00036 protected: 00037 SharedObject<sim::SoundPlayQueue_t> sounds; 00038 SharedObject<sim::MotionCommandQueue_t> motions; 00039 SharedObject<sim::MotionOutput_t> motionout; 00040 SharedObject<sim::EventQueue_t> events; 00041 SharedObject<sim::SensorQueue_t> sensorFrames; 00042 SharedObject<sim::StatusRequest_t> statusRequest; 00043 SharedObject<MotionManager> motionmanager; 00044 SharedObject<SoundManager> soundmanager; 00045 SharedObject<WorldStatePool> worldstatepool; 00046 SharedObject<sim::MotionWakeup_t> motionWakeup; 00047 SharedObject<motionProfiler_t> motionProf; 00048 00049 IPCEventTranslator * etrans; 00050 class MessageReceiver * sensrecv; 00051 class MessageReceiver * statusrecv; 00052 class MessageReceiver * wakeuprecv; 00053 class MotionExecThread * motionExec; 00054 class IPCMotionHook * motionfwd; 00055 WirelessThread wireless_thread; 00056 00057 EntryPoint motionLock; 00058 00059 static bool gotSensors(RCRegion* msg); 00060 static bool gotWakeup(RCRegion* msg); 00061 unsigned int lastSensorSN; 00062 00063 private: 00064 Motion(const Motion&); //!< don't call (copy constructor) 00065 Motion& operator=(const Motion&); //!< don't call (assignment operator) 00066 }; 00067 00068 /*! @file 00069 * @brief Defines Motion, which DESCRIPTION 00070 * @author ejt (Creator) 00071 * 00072 * $Author: ejt $ 00073 * $Name: tekkotsu-4_0 $ 00074 * $Revision: 1.1 $ 00075 * $State: Exp $ 00076 * $Date: 2007/06/14 15:37:41 $ 00077 */ 00078 00079 #endif |
Tekkotsu Hardware Abstraction Layer 4.0 |
Generated Thu Nov 22 01:00:53 2007 by Doxygen 1.5.4 |