![]() |
YANE-Framework 1.1.0
|
Class for simulating the plant and sensor in a distributed plant - sensor - controller - actuator setting.
Public Member Functions | |
ControllerThreadInput (IOInterface *iface, yane::Model::Model *model, 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 set the MPC computing thread. | |
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 | ~ControllerThreadInput () |
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 sensor thread. | |
virtual bool | waitForTrigger (unsigned int wait_msec=0, int debuglevel=0) |
Block until triggered. | |
Protected Attributes | |
bool | _abort |
ControlClipboard * | _cb |
Pointer of the control clipboard of class yane::NetworkedControl::ControlClipboard. | |
DebugClient * | _debugclient |
yane::Model::StateEstimator * | _estimator |
Pointer of the state estimator of class yane::Model::StateEstimator. | |
IOInterface * | _interface |
Pointer of the network interface of class yane::NetworkedInterface::IOInterface. | |
int | _lastaddedcontrolcycle |
Sampling instant of the latest added control. | |
yane::Model::Model * | _model |
Pointer of the model of class yane::Model::Model. | |
ControllerThreadMPC * | _mpcthread |
Pointer of the MPC computation thread of class yane::NetworkedControl::ControllerThreadMPC. | |
yane::Model::Simulator * | _simulator |
Pointer of the simulator of class yane::Model::Simulator. | |
yane::Utils::StatisticsClientIntCounter * | _stat_read |
Statistics collector for received sensor values. |
yane::NetworkedControl::ControllerThreadInput::ControllerThreadInput | ( | IOInterface * | iface, |
yane::Model::Model * | model, | ||
yane::Utils::DebugMaster * | dm = 0 , |
||
yane::Utils::StatisticsMaster * | sm = 0 |
||
) |
Constructor
iface | Pointer of the input/output interface of class yane::MPC::IOInterface |
model | Pointer of the class yane::Model::Model object used for optimization |
dm | Pointer of the debugmanager of class yane::Utils::DebugMaster |
sm | Pointer of the statistics manager of class yane::Utils::StatisticsMaster |
LIB_EXPORT void yane::Utils::Thread::debugMessage | ( | const std::string & | message, |
int | debuglevel | ||
) | [protected, virtual, inherited] |
Added for convenient handling
message | Message which is debugged |
debuglevel | Level 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
message | Message which is debugged |
varname | Data name |
length | Length of data array |
data | Data which is added. |
debuglevel | Level 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
message | Message which is debugged |
varname | Data name |
length | Length of data array |
data | Data which is added. |
debuglevel | Level 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
message | Message which is debugged |
varname | Data name |
data | Pointer to an additional nullterminated character array, that has to be stored as data |
debuglevel | Level 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.
LIB_EXPORT bool yane::Utils::Thread::isRunning | ( | ) | [virtual, inherited] |
Returns wether the thread is running (_abort = false) or not.
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::ControllerThreadInput::setMPCThread | ( | ControllerThreadMPC * | thread | ) |
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()
LIB_EXPORT bool yane::Utils::Thread::trylock | ( | ) | [virtual, inherited] |
Locks the thread. If already locked returns immediately.
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.
wait_msec | Time until waiting is aborted. |
debuglevel | Debuglevel with which the abort message is stored. |
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.