Fawkes API  Fawkes Development Version
fawkes::BlockedTimingAspect Class Reference

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 <>>

Inheritance diagram for fawkes::BlockedTimingAspect:

List of all members.

Public Types

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

Member Enumeration Documentation

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_hookhook 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: