YANE-Framework 1.1.0
Public Member Functions | Protected Member Functions | Protected Attributes

yane::NetworkedControl::ControllerThreadActuator Class Reference

Class for implementing the actuator within a distributed plant - sensor - controller - actuator setting.

Inheritance diagram for yane::NetworkedControl::ControllerThreadActuator:
[legend]
Collaboration diagram for yane::NetworkedControl::ControllerThreadActuator:
[legend]

List of all members.

Public Member Functions

 ControllerThreadActuator (IOInterface *iface, yane::Utils::DebugMaster *dm=0, yane::Utils::StatisticsMaster *sm=0)
 Constructor.
virtual void detach ()
 Blocks until thread is finished, no return information.
virtual bool isLocked ()
 Returns if thread is locked.
virtual bool isRunning ()
 Returns if thread is running.
virtual void lock ()
 Locks the thread, if already locked blocks.
void setMPCThread (ControllerThreadMPC *thread)
 Function to define the thread to be used for the actuator.
virtual void start ()
 Creates the thread.
virtual void stop ()
 Stops the thread.
virtual void trigger ()
 Signal / Trigger the thread.
virtual bool trylock ()
 Locks the thread but returns immediately.
virtual void unlock ()
 Unlock the thread.
virtual void wait ()
 Blocks until thread is finished, possible return information.
virtual ~ControllerThreadActuator ()
 Destructor.

Protected Member Functions

virtual void debugMessage (const std::string &message, int debuglevel)
 Submit a debugmessage.
virtual void debugMessageDouble (const std::string &message, const std::string &varname, int length, double *data, int debuglevel)
 Submit a debugmessage with doublevalued data.
virtual void debugMessageInt (const std::string &message, const std::string &varname, int length, int *data, int debuglevel)
 Submit a debugmessage with integervalued data.
virtual void debugMessageString (const std::string &message, const std::string &varname, const char *data, int debuglevel)
 Submit a debugmessage with textstring data.
virtual void run ()
 Function to start the actuator thread.
virtual bool waitForTrigger (unsigned int wait_msec=0, int debuglevel=0)
 Block until triggered.

Protected Attributes

bool _abort
DebugClient * _debugclient
IOInterface_interface
 Pointer of the interface object of class yane::MPC::IOInterface.
ControllerThreadMPC_mpcthread
 Pointer of the corresponding class yane::MPC::ControllerThreadMPC object.
yane::Utils::StatisticsClientIntCounter_stat_received
 Pointer of the statistics client counter of class yane::Utils::StatisticsClientIntCounter.

Constructor & Destructor Documentation

yane::NetworkedControl::ControllerThreadActuator::ControllerThreadActuator ( IOInterface iface,
yane::Utils::DebugMaster dm = 0,
yane::Utils::StatisticsMaster sm = 0 
)

Constructor

Parameters:
interfacePointer of the interface object of class yane::MPC::IOInterface
cyclePointer of the cycling object of class yane::MPC::Cycle
dmPointer of the debug manager of class yane::Utils::DebugMaster
smPointer of the statistics manager of class yane::Utils::StatisticsMaster

Member Function Documentation

LIB_EXPORT void yane::Utils::Thread::debugMessage ( const std::string &  message,
int  debuglevel 
) [protected, virtual, inherited]

Added for convenient handling

Parameters:
messageMessage which is debugged
debuglevelLevel with which the message is debugged.
LIB_EXPORT void yane::Utils::Thread::debugMessageDouble ( const std::string &  message,
const std::string &  varname,
int  length,
double *  data,
int  debuglevel 
) [protected, virtual, inherited]

Added for convenient handling

Parameters:
messageMessage which is debugged
varnameData name
lengthLength of data array
dataData which is added.
debuglevelLevel with which the message is debugged.
LIB_EXPORT void yane::Utils::Thread::debugMessageInt ( const std::string &  message,
const std::string &  varname,
int  length,
int *  data,
int  debuglevel 
) [protected, virtual, inherited]

Added for convenient handling

Parameters:
messageMessage which is debugged
varnameData name
lengthLength of data array
dataData which is added.
debuglevelLevel with which the message is debugged.
LIB_EXPORT void yane::Utils::Thread::debugMessageString ( const std::string &  message,
const std::string &  varname,
const char *  data,
int  debuglevel 
) [protected, virtual, inherited]

Added for convenient handling

Parameters:
messageMessage which is debugged
varnameData name
dataPointer to an additional nullterminated character array, that has to be stored as data
debuglevelLevel with which the message is debugged.
LIB_EXPORT void yane::Utils::Thread::detach ( ) [virtual, inherited]

The calling thread is blocked until the thread is finished, no return information

LIB_EXPORT bool yane::Utils::Thread::isLocked ( ) [virtual, inherited]

Returns wether the thread is locked or not.

Returns:
true if thread is locked.
LIB_EXPORT bool yane::Utils::Thread::isRunning ( ) [virtual, inherited]

Returns wether the thread is running (_abort = false) or not.

Returns:
true if thread is running.
LIB_EXPORT void yane::Utils::Thread::lock ( ) [virtual, inherited]

Locks the thread. If already locked the calling thread is blocked until the thread is unlocked.

void yane::NetworkedControl::ControllerThreadActuator::setMPCThread ( ControllerThreadMPC thread)

Function to define the thread to be used for the actuator

Parameters:
threadPointer of the thread to be used
LIB_EXPORT void yane::Utils::Thread::start ( ) [virtual, inherited]

This function creates the thread and should be called after creating the object.

LIB_EXPORT void yane::Utils::Thread::stop ( ) [virtual, inherited]

This function sets _abort to false, your thread should stop now.

LIB_EXPORT void yane::Utils::Thread::trigger ( ) [virtual, inherited]

Signal a thread to resume, if it's blocked due to a call to waitForTrigger()

See also:
waitForTrigger()
LIB_EXPORT bool yane::Utils::Thread::trylock ( ) [virtual, inherited]

Locks the thread. If already locked returns immediately.

Returns:
true if successful
LIB_EXPORT void yane::Utils::Thread::unlock ( ) [virtual, inherited]

Unlocks the thread.

LIB_EXPORT void yane::Utils::Thread::wait ( ) [virtual, inherited]

The calling thread is blocked until the thread is finished, possible return information

LIB_EXPORT bool yane::Utils::Thread::waitForTrigger ( unsigned int  wait_msec = 0,
int  debuglevel = 0 
) [protected, virtual, inherited]

The calling function (usually the thread) is blocked until the function is triggered.

Parameters:
wait_msecTime until waiting is aborted.
debuglevelDebuglevel with which the abort message is stored.
Returns:
true if successful

Member Data Documentation

bool yane::Utils::Thread::_abort [protected, inherited]

If true thread should be stopped. Value is changed by stop().

DebugClient* yane::Utils::Thread::_debugclient [protected, inherited]

Debugclient the debug messages are stored into.