fawkes::BlockedTimingAspect Class Reference
[Fawkes Thread Aspects]

Thread aspect to use blocked timing The Fawkes main application provides basic means to synchronize all running thread with respect to several given hooks (see WakeupHook). More...

#include <aspect/blocked_timing.h>

Inheritance diagram for fawkes::BlockedTimingAspect:

[legend]
List of all members.

Public Types

 WAKEUP_HOOK_PRE_LOOP
 before each loop
 WAKEUP_HOOK_SENSOR
 sensor thread, recording and processing
 WAKEUP_HOOK_SENSOR_PROCESS
 sensor data processing thread
 WAKEUP_HOOK_WORLDSTATE
 world state thread
 WAKEUP_HOOK_THINK
 think thread (agent)
 WAKEUP_HOOK_SKILL
 skill thread (skill module)
 WAKEUP_HOOK_ACT
 act thread (motor module etc.
 WAKEUP_HOOK_ACT_EXEC
 act execution thread
 WAKEUP_HOOK_POST_LOOP
 run after loop
enum  WakeupHook {
  WAKEUP_HOOK_PRE_LOOP, WAKEUP_HOOK_SENSOR, WAKEUP_HOOK_SENSOR_PROCESS, WAKEUP_HOOK_WORLDSTATE,
  WAKEUP_HOOK_THINK, WAKEUP_HOOK_SKILL, WAKEUP_HOOK_ACT, WAKEUP_HOOK_ACT_EXEC,
  WAKEUP_HOOK_POST_LOOP
}
 Type to define at which hook the thread is woken up. More...

Public Member Functions

 BlockedTimingAspect (WakeupHook wakeup_hook)
 Constructor.
virtual ~BlockedTimingAspect ()
 Virtual empty destructor.
WakeupHook blockedTimingAspectHook () const
 Get the wakeup hook.

Detailed Description

Thread aspect to use blocked timing The Fawkes main application provides basic means to synchronize all running thread with respect to several given hooks (see WakeupHook).

Threads of a woken up at a particular point in time. The hooks basically correspond to an extended sense - plan - act kind of loop. Your thread must run in Thread::OPMODE_WAITFORWAKEUP mode, otherwise it is not started. This is a requirement for having the BlockedTimingAspect.

See also:
Thread::OpMode
Author:
Tim Niemueller

Definition at line 31 of file blocked_timing.h.


Member Enumeration Documentation

enum fawkes::BlockedTimingAspect::WakeupHook

Type to define at which hook the thread is woken up.

See FawkesMainThread for information when and in which order the hooks are called.

See also:
FawkesMainThread::loop()
Enumerator:
WAKEUP_HOOK_PRE_LOOP  before each loop
WAKEUP_HOOK_SENSOR  sensor thread, recording and processing
WAKEUP_HOOK_SENSOR_PROCESS  sensor data processing thread
WAKEUP_HOOK_WORLDSTATE  world state thread
WAKEUP_HOOK_THINK  think thread (agent)
WAKEUP_HOOK_SKILL  skill thread (skill module)
WAKEUP_HOOK_ACT  act thread (motor module etc.

)

WAKEUP_HOOK_ACT_EXEC  act execution thread
WAKEUP_HOOK_POST_LOOP  run after loop

Definition at line 39 of file blocked_timing.h.


Constructor & Destructor Documentation

fawkes::BlockedTimingAspect::BlockedTimingAspect ( WakeupHook  wakeup_hook  ) 

Constructor.

This special constructor is needed to define the wakeup point.

Parameters:
wakeup_hook hook when this thread should be woken up

Definition at line 51 of file blocked_timing.cpp.

fawkes::BlockedTimingAspect::~BlockedTimingAspect (  )  [virtual]

Virtual empty destructor.

Definition at line 58 of file blocked_timing.cpp.


Member Function Documentation

BlockedTimingAspect::WakeupHook fawkes::BlockedTimingAspect::blockedTimingAspectHook (  )  const

Get the wakeup hook.

The wakeup hook defines when this thread should be woken up. This heavily depends on the used main thread.

Returns:
wakeup hook

Definition at line 69 of file blocked_timing.cpp.


The documentation for this class was generated from the following files:
Generated on Tue Feb 22 13:31:37 2011 for Fawkes API by  doxygen 1.4.7