Orocos Real-Time Toolkit  2.9.0
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
RTT::extras::SimulationThread Class Reference

This thread is the simulated real-time periodic thread in the Orocos system. More...

#include <rtt/extras/SimulationThread.hpp>

Inheritance diagram for RTT::extras::SimulationThread:
RTT::extras::TimerThread RTT::os::Thread RTT::os::ThreadInterface

Public Member Functions

virtual ~SimulationThread ()
 Destructor. More...
 
virtual bool start ()
 Start the Thread. More...
 
virtual bool isRunning () const
 Returns true if thread is running or run( unsigned int ) is being invoked. More...
 
virtual bool start (unsigned int maxsteps)
 Only run the simulation maxsteps time steps, then stop the SimulationThread. More...
 
virtual bool run (unsigned int maxsteps)
 Execute maxsteps steps immediately. More...
 
virtual os::ThreadInterfacesimthread ()
 Always returns the MainThread. More...
 
bool addActivity (PeriodicActivity *t)
 Add an Timer that will be ticked every execution period Once added, a timer can not be removed. More...
 
bool removeActivity (PeriodicActivity *t)
 
virtual bool stop ()
 Stop the Thread. More...
 
void setStopTimeout (Seconds s)
 Sets the timeout for stop(), in seconds. More...
 
Seconds getStopTimeout () const
 Returns the desired timeout for stop(), in seconds. More...
 
bool setPeriod (Seconds s)
 Set the periodicity in Seconds. More...
 
bool setPeriod (secs s, nsecs ns)
 Set the periodicity of this thread (seconds, nanoseconds) More...
 
bool setPeriod (TIME_SPEC p)
 Set the periodicity of this thread. More...
 
void getPeriod (secs &s, nsecs &ns) const
 Get the periodicity of this thread (seconds, nanoseconds) More...
 
virtual Seconds getPeriod () const
 Get the periodicity in Seconds. More...
 
virtual nsecs getPeriodNS () const
 Get the periodicity in nanoseconds. More...
 
virtual bool isPeriodic () const
 
virtual bool isActive () const
 Returns whether the thread is active. More...
 
virtual const char * getName () const
 Read the name of this task. More...
 
virtual RTOS_TASKgetTask ()
 Get the RTOS_TASK pointer. More...
 
virtual const RTOS_TASKgetTask () const
 const version of the above. More...
 
virtual bool setScheduler (int sched_type)
 Change the scheduler policy in which this thread runs. More...
 
virtual int getScheduler () const
 Get the scheduler policy in which this thread runs. More...
 
virtual bool setPriority (int priority)
 Set the priority of this Thread. More...
 
virtual int getPriority () const
 The priority of this Thread. More...
 
virtual unsigned int getPid () const
 Returns the Process or Thread ID of this thread, as assigned by the Operating System. More...
 
virtual bool setCpuAffinity (unsigned cpu_affinity)
 Set cpu affinity for this thread. More...
 
virtual unsigned getCpuAffinity () const
 
virtual void yield ()
 Yields (put to the back of the scheduler queue) the calling thread. More...
 
virtual void setMaxOverrun (int m)
 
virtual int getMaxOverrun () const
 
virtual void setWaitPeriodPolicy (int p)
 Set the wait policy of a periodic thread. More...
 
unsigned int threadNumber () const
 The unique thread number (within the same process). More...
 
bool isSelf () const
 

Static Public Member Functions

static SimulationThreadPtr Instance (double period=0.001)
 Create the SimulationThread with a given period. More...
 
static bool Release ()
 Releases the SimulationThread Reference counting might aid in making this call safe. More...
 
static TimerThreadPtr Instance (int priority, double periodicity)
 Create a TimerThread with a given priority and periodicity, using the default scheduler, ORO_SCHED_RT. More...
 
static TimerThreadPtr Instance (int scheduler, int priority, double periodicity)
 Create a TimerThread with a given scheduler, priority and periodicity. More...
 
static TimerThreadPtr Instance (int scheduler, int priority, double periodicity, unsigned cpu_affinity)
 Create a TimerThread with a given scheduler, priority and periodicity. More...
 
static void setStackSize (unsigned int ssize)
 Sets the stack size of the threads to be created. More...
 
static void setLockTimeoutNoPeriod (double timeout_in_s)
 Sets the lock timeout for a thread which does not have a period The default is 1 second. More...
 
static void setLockTimeoutPeriodFactor (double factor)
 Set the lock timeout for a thread which has a period by a factor of the period The default is factor 10. More...
 

Static Public Attributes

static const unsigned int MAX_ACTIVITIES = 64
 

Protected Types

typedef std::vector< boost::weak_ptr< TimerThread > > TimerThreadList
 A Boost weak pointer is used to store non-owning pointers to shared objects. More...
 

Protected Member Functions

bool initialize ()
 
void step ()
 
void finalize ()
 
 SimulationThread (double period)
 Constructor. More...
 
void reorderList ()
 
void terminate ()
 Exit and destroy the thread. More...
 
void emergencyStop ()
 
virtual void loop ()
 
virtual bool breakLoop ()
 

Protected Attributes

os::MutexRecursive mutex
 A Activity can not create a activity of same priority from step(). More...
 
int msched_type
 Desired scheduler type. More...
 
bool active
 When set to 1, the thread will run, when set to 0 the thread will stop ( isActive() ) More...
 
bool prepareForExit
 Signal the thread that it should exit. More...
 
bool inloop
 Is true when in the loop (isRunning() ) More...
 
bool running
 Indicates if step() or loop() should be executed. More...
 
RTOS_TASK rtos_task
 The realtime task structure created by this object. More...
 
rt_sem_t sem
 The semaphore used for starting the thread. More...
 
MutexRecursive breaker
 Used to implement synchronising breakLoop(). More...
 
int maxOverRun
 The maximum times a periodic overrun may happen, or -1 if unlimited. More...
 
NANO_TIME period
 The period as it is passed to the operating system. More...
 
double stopTimeout
 The timeout, in seconds, for stop() More...
 
int threadnb
 Threads are given an unique number, which follows thread creation order. More...
 

Static Protected Attributes

static TimerThreadList TimerThreads
 All timer threads. More...
 
static unsigned int default_stack_size = 0
 
static double lock_timeout_no_period_in_s = 1.0
 configuration of the lock timeout in seconds More...
 
static double lock_timeout_period_factor = 10.0
 configuration of the lock timeout for periodic tasks in seconds More...
 

Detailed Description

This thread is the simulated real-time periodic thread in the Orocos system.

All your activities in the same program must be a SimulationActivity for this to work, since the os::TimeService global time is updated when this thread runs.

By default, the update period is 0.001 seconds. If you want to run with a finer or coarser grained time step, use the Instance() method and supply another period before SimulationActivities are created.

Note
This implementation has lost the capability to run SimulationActivity objects of different periods.

Definition at line 64 of file SimulationThread.hpp.

Member Typedef Documentation

typedef std::vector< boost::weak_ptr<TimerThread> > RTT::extras::TimerThread::TimerThreadList
protectedinherited

A Boost weak pointer is used to store non-owning pointers to shared objects.

Definition at line 140 of file TimerThread.hpp.

Constructor & Destructor Documentation

RTT::SimulationThread::~SimulationThread ( )
virtual

Destructor.

Definition at line 98 of file SimulationThread.cpp.

References RTT::os::Thread::stop().

RTT::SimulationThread::SimulationThread ( double  period)
protected

Member Function Documentation

bool RTT::TimerThread::addActivity ( PeriodicActivity t)
inherited

Add an Timer that will be ticked every execution period Once added, a timer can not be removed.

Definition at line 113 of file TimerThread.cpp.

References RTT::extras::TimerThread::MAX_ACTIVITIES, and RTT::extras::TimerThread::mutex.

bool RTT::os::Thread::breakLoop ( )
protectedvirtualinherited
void RTT::os::Thread::emergencyStop ( )
protectedinherited
void RTT::SimulationThread::finalize ( )
protectedvirtual
unsigned RTT::os::Thread::getCpuAffinity ( ) const
virtualinherited
Returns
the cpu affinity (
See also
rtos_task_set_cpu_affinity)

Implements RTT::os::ThreadInterface.

Reimplemented in RTT::Activity.

Definition at line 606 of file Thread.cpp.

References RTT::os::Thread::rtos_task, and RTT::os::rtos_task_get_cpu_affinity().

Referenced by RTT::Activity::getCpuAffinity(), and RTT::os::Thread::Thread().

int RTT::os::Thread::getMaxOverrun ( ) const
virtualinherited

Implements RTT::os::ThreadInterface.

Definition at line 643 of file Thread.cpp.

References RTT::os::Thread::maxOverRun.

const char * RTT::os::Thread::getName ( ) const
virtualinherited
void RTT::os::Thread::getPeriod ( secs s,
nsecs ns 
) const
inherited

Get the periodicity of this thread (seconds, nanoseconds)

Definition at line 570 of file Thread.cpp.

References RTT::os::Thread::period.

double RTT::os::Thread::getPeriod ( ) const
virtualinherited

Get the periodicity in Seconds.

Return zero if non periodic.

Implements RTT::os::ThreadInterface.

Reimplemented in RTT::extras::FileDescriptorActivity, and RTT::Activity.

Definition at line 591 of file Thread.cpp.

References RTT::nsecs_to_Seconds(), and RTT::os::Thread::period.

Referenced by RTT::os::Thread::getStopTimeout(), run(), SimulationThread(), step(), and RTT::os::Thread::Thread().

nsecs RTT::os::Thread::getPeriodNS ( ) const
virtualinherited

Get the periodicity in nanoseconds.

Return zero if non periodic.

Implements RTT::os::ThreadInterface.

Definition at line 596 of file Thread.cpp.

References RTT::os::Thread::period.

unsigned int RTT::os::Thread::getPid ( ) const
virtualinherited

Returns the Process or Thread ID of this thread, as assigned by the Operating System.

This function tries to return the Thread ID, if the OS supports it, otherwise it returns the process ID. If that is not available either, zero is returned. On Linux systems for example, the Thread ID of the main thread is equal to the Process ID. The Thread ID of every newly created thread is different from the Process ID (and unique).

Implements RTT::os::ThreadInterface.

Definition at line 611 of file Thread.cpp.

References RTT::os::Thread::rtos_task, and RTT::os::rtos_task_get_pid().

Referenced by RTT::os::Thread::Thread().

int RTT::os::Thread::getPriority ( ) const
virtualinherited

The priority of this Thread.

Returns
The priority given upon construction of this thread or set with setPriority. The returned number has to be interpreted in the current OS scheduler.
See also
setScheduler

Implements RTT::os::ThreadInterface.

Definition at line 586 of file Thread.cpp.

References RTT::os::Thread::rtos_task, and RTT::os::rtos_task_get_priority().

Referenced by SimulationThread(), and RTT::os::Thread::Thread().

int RTT::os::Thread::getScheduler ( ) const
virtualinherited

Get the scheduler policy in which this thread runs.

Returns
An OS-specific value which represents the used scheduler.
See also
setScheduler

Implements RTT::os::ThreadInterface.

Definition at line 488 of file Thread.cpp.

References RTT::os::Thread::msched_type, RTT::os::Thread::period, RTT::os::Thread::rtos_task, RTT::os::rtos_task_get_scheduler(), RTT::os::rtos_task_set_period(), and RTT::os::rtos_task_set_scheduler().

Referenced by RTT::os::Thread::setScheduler(), and RTT::os::Thread::Thread().

Seconds RTT::os::Thread::getStopTimeout ( ) const
inherited

Returns the desired timeout for stop(), in seconds.

If not set with setStopTimeout, the timeout is deduced from the global values lock_timeout_period_factor and lock_timeout_no_period_in_s

Definition at line 408 of file Thread.cpp.

References RTT::os::Thread::getPeriod(), RTT::os::Thread::lock_timeout_no_period_in_s, RTT::os::Thread::lock_timeout_period_factor, RTT::os::Thread::period, and RTT::os::Thread::stopTimeout.

Referenced by RTT::os::Thread::stop(), and RTT::Activity::stop().

virtual RTOS_TASK* RTT::os::Thread::getTask ( )
inlinevirtualinherited

Get the RTOS_TASK pointer.

Note
Using this function leads to non-portable code. It is here for users which wish to tweak OS specific thread settings.

Implements RTT::os::ThreadInterface.

Definition at line 205 of file Thread.hpp.

Referenced by RTT::Activity::loop(), and RTT::os::thread_function().

virtual const RTOS_TASK* RTT::os::Thread::getTask ( ) const
inlinevirtualinherited

const version of the above.

Implements RTT::os::ThreadInterface.

Definition at line 210 of file Thread.hpp.

bool RTT::SimulationThread::initialize ( )
protectedvirtual
SimulationThreadPtr RTT::SimulationThread::Instance ( double  period = 0.001)
static

Create the SimulationThread with a given period.

Only one SimulationThread can be created.

Parameters
periodThe period in seconds at which the simulation takes steps and updates the TimeService. Only the first invocation of Instance will consider this parameter. The others will ignore it.

Definition at line 69 of file SimulationThread.cpp.

Referenced by RTT::extras::SimulationActivity::thread().

TimerThreadPtr RTT::TimerThread::Instance ( int  priority,
double  periodicity 
)
staticinherited

Create a TimerThread with a given priority and periodicity, using the default scheduler, ORO_SCHED_RT.

Definition at line 57 of file TimerThread.cpp.

References ORO_SCHED_RT.

TimerThreadPtr RTT::TimerThread::Instance ( int  scheduler,
int  priority,
double  periodicity 
)
staticinherited

Create a TimerThread with a given scheduler, priority and periodicity.

Definition at line 62 of file TimerThread.cpp.

TimerThreadPtr RTT::TimerThread::Instance ( int  scheduler,
int  priority,
double  periodicity,
unsigned  cpu_affinity 
)
staticinherited

Create a TimerThread with a given scheduler, priority and periodicity.

Definition at line 67 of file TimerThread.cpp.

References RTT::os::CheckPriority(), RTT::os::ThreadInterface::getCpuAffinity(), RTT::os::MainThread::Instance(), and RTT::Seconds_to_nsecs().

bool RTT::os::Thread::isActive ( ) const
virtualinherited

Returns whether the thread is active.

A thread is active between the invocation of start() and the invocation of stop().

Implements RTT::os::ThreadInterface.

Reimplemented in RTT::Activity.

Definition at line 464 of file Thread.cpp.

References RTT::os::Thread::active.

Referenced by RTT::Activity::isActive(), RTT::os::Thread::start(), and RTT::Activity::trigger().

bool RTT::os::Thread::isPeriodic ( ) const
virtualinherited

Reimplemented in RTT::Activity.

Definition at line 581 of file Thread.cpp.

References RTT::os::Thread::period.

Referenced by RTT::Activity::isPeriodic().

bool RTT::SimulationThread::isRunning ( ) const
virtual

Returns true if thread is running or run( unsigned int ) is being invoked.

Reimplemented from RTT::os::Thread.

Definition at line 103 of file SimulationThread.cpp.

References RTT::os::Thread::isRunning().

Referenced by run().

bool ThreadInterface::isSelf ( ) const
inherited
void RTT::os::Thread::loop ( )
protectedvirtualinherited
bool RTT::SimulationThread::Release ( )
static

Releases the SimulationThread Reference counting might aid in making this call safe.

Returns
true on success, false on failure

Definition at line 79 of file SimulationThread.cpp.

bool RTT::TimerThread::removeActivity ( PeriodicActivity t)
inherited

Definition at line 124 of file TimerThread.cpp.

References RTT::extras::TimerThread::mutex.

void RTT::TimerThread::reorderList ( )
protectedinherited
bool RTT::SimulationThread::run ( unsigned int  maxsteps)
virtual

Execute maxsteps steps immediately.

This function will call the step() functions maxsteps times, without requiring start() or stop() to be called before or after. The thread is thus not used.

Returns
false if maxsteps == 0
Postcondition
When run() returns, step() has been called maxsteps times.

Definition at line 122 of file SimulationThread.cpp.

References finalize(), RTT::os::Thread::getPeriod(), initialize(), isRunning(), RTT::os::TimeService::secondsChange(), and RTT::extras::TimerThread::step().

bool RTT::os::Thread::setCpuAffinity ( unsigned  cpu_affinity)
virtualinherited

Set cpu affinity for this thread.

Parameters
cpu_affinityThe cpu affinity of the thread (
See also
rtos_task_set_cpu_affinity).
Returns
true if the mask has been applied

Reimplemented in RTT::Activity.

Definition at line 601 of file Thread.cpp.

References RTT::os::Thread::rtos_task, and RTT::os::rtos_task_set_cpu_affinity().

Referenced by RTT::Activity::setCpuAffinity().

void RTT::os::Thread::setLockTimeoutNoPeriod ( double  timeout_in_s)
staticinherited

Sets the lock timeout for a thread which does not have a period The default is 1 second.

Parameters
timeout_in_sthe timeout is seconds

Definition at line 71 of file Thread.cpp.

References RTT::os::Thread::lock_timeout_no_period_in_s.

void RTT::os::Thread::setLockTimeoutPeriodFactor ( double  factor)
staticinherited

Set the lock timeout for a thread which has a period by a factor of the period The default is factor 10.

Parameters
factorFactor of the period

Definition at line 73 of file Thread.cpp.

References RTT::os::Thread::lock_timeout_period_factor.

void RTT::os::Thread::setMaxOverrun ( int  m)
virtualinherited

Implements RTT::os::ThreadInterface.

Definition at line 638 of file Thread.cpp.

References RTT::os::Thread::maxOverRun.

bool RTT::os::Thread::setPeriod ( Seconds  new_period)
virtualinherited

Set the periodicity in Seconds.

Parameters
new_periodA positive number expressing the period
Returns
true if it was accepted, false otherwise.

Implements RTT::os::ThreadInterface.

Definition at line 536 of file Thread.cpp.

References RTT::Seconds_to_nsecs().

Referenced by RTT::Activity::Activity(), and RTT::os::Thread::setPeriod().

bool RTT::os::Thread::setPeriod ( secs  s,
nsecs  ns 
)
inherited

Set the periodicity of this thread (seconds, nanoseconds)

Definition at line 542 of file Thread.cpp.

References RTT::os::Thread::period, rtos_sem_signal(), RTT::os::Thread::rtos_task, RTT::os::rtos_task_make_periodic(), and RTT::os::Thread::sem.

bool RTT::os::Thread::setPeriod ( TIME_SPEC  p)
inherited

Set the periodicity of this thread.

Definition at line 565 of file Thread.cpp.

References RTT::os::Thread::setPeriod().

bool RTT::os::Thread::setPriority ( int  priority)
virtualinherited

Set the priority of this Thread.

Parameters
priorityThe priority given upon construction of this thread. It has to be interpreted in the current OS scheduler.
See also
setScheduler

Implements RTT::os::ThreadInterface.

Definition at line 576 of file Thread.cpp.

References RTT::os::Thread::rtos_task, and RTT::os::rtos_task_set_priority().

bool RTT::os::Thread::setScheduler ( int  sched_type)
virtualinherited

Change the scheduler policy in which this thread runs.

Parameters
sched_typeAn OS-specific value which selects a scheduler. Orocos requires that these two values are available:
  • ORO_SCHED_RT: Hint the OS that this thread should be scheduled as a priority or real-time process.
  • ORO_SCHED_OTHER: Hint the OS that this thread should not be scheduled as a priority or real-time process.

Your OS can in addition provide other sched_type's which map more naturally to the schedulers present. If your OS does not make a distinction between real-time and other, both values may map to the same scheduler type.

Returns
true if the change could be made.

Implements RTT::os::ThreadInterface.

Definition at line 469 of file Thread.cpp.

References RTT::os::CheckScheduler(), RTT::os::Thread::getScheduler(), RTT::Info, RTT::os::Thread::msched_type, rtos_sem_signal(), RTT::os::Thread::rtos_task, RTT::os::rtos_task_get_name(), RTT::os::rtos_task_set_scheduler(), and RTT::os::Thread::sem.

Referenced by SimulationThread().

void RTT::os::Thread::setStackSize ( unsigned int  ssize)
staticinherited

Sets the stack size of the threads to be created.

This value is suggestive and may be altered or ignored by your operating system. Use zero to use the system's default.

Parameters
ssizethe size of the stack in bytes

Definition at line 69 of file Thread.cpp.

References RTT::os::Thread::default_stack_size.

void RTT::os::Thread::setStopTimeout ( Seconds  s)
inherited

Sets the timeout for stop(), in seconds.

See also
getStopTimeout

Definition at line 403 of file Thread.cpp.

References RTT::os::Thread::stopTimeout.

void RTT::os::Thread::setWaitPeriodPolicy ( int  p)
virtualinherited

Set the wait policy of a periodic thread.

Parameters
Thewait policy can be ORO_WAIT_ABS (absolute wait) and ORO_WAIT_REL (relative wait, with respect to current time)

Implements RTT::os::ThreadInterface.

Reimplemented in RTT::Activity.

Definition at line 648 of file Thread.cpp.

References RTT::os::Thread::rtos_task, and RTT::os::rtos_task_set_wait_period_policy().

os::ThreadInterface * RTT::SimulationThread::simthread ( )
virtual

Always returns the MainThread.

Definition at line 137 of file SimulationThread.cpp.

References RTT::os::MainThread::Instance().

bool RTT::SimulationThread::start ( )
virtual

Start the Thread.

Postcondition
initialize() is called first
The Thread is running
Returns
true if the function did succeed. false otherwise.

Reimplemented from RTT::os::Thread.

Definition at line 108 of file SimulationThread.cpp.

References RTT::os::Thread::start().

bool RTT::SimulationThread::start ( unsigned int  maxsteps)
virtual

Only run the simulation maxsteps time steps, then stop the SimulationThread.

Returns
false if maxsteps == 0 or if thread could not be started.

Definition at line 114 of file SimulationThread.cpp.

References RTT::os::Thread::start().

void RTT::SimulationThread::step ( )
protectedvirtual
bool RTT::os::Thread::stop ( )
virtualinherited
void RTT::os::Thread::terminate ( )
protectedinherited

Exit and destroy the thread.

Precondition
this is only called from within the destructor.
Postcondition
the thread does no longer exist.

Definition at line 621 of file Thread.cpp.

References RTT::os::Thread::active, RTT::os::Thread::prepareForExit, rtos_sem_signal(), RTT::os::Thread::rtos_task, RTT::os::rtos_task_delete(), and RTT::os::Thread::sem.

Referenced by RTT::Activity::~Activity(), and RTT::os::Thread::~Thread().

unsigned int RTT::os::ThreadInterface::threadNumber ( ) const
inlineinherited

The unique thread number (within the same process).

Definition at line 217 of file ThreadInterface.hpp.

Referenced by RTT::os::Thread::Thread(), and RTT::os::thread_function().

void RTT::os::Thread::yield ( )
virtualinherited

Yields (put to the back of the scheduler queue) the calling thread.

Implements RTT::os::ThreadInterface.

Definition at line 616 of file Thread.cpp.

References RTT::os::Thread::rtos_task, and RTT::os::rtos_task_yield().

Member Data Documentation

bool RTT::os::Thread::active
protectedinherited

When set to 1, the thread will run, when set to 0 the thread will stop ( isActive() )

Definition at line 311 of file Thread.hpp.

Referenced by RTT::os::Thread::emergencyStop(), RTT::os::Thread::isActive(), RTT::os::Thread::start(), RTT::os::Thread::stop(), RTT::Activity::stop(), RTT::os::Thread::terminate(), and RTT::os::thread_function().

MutexRecursive RTT::os::Thread::breaker
protectedinherited

Used to implement synchronising breakLoop().

Definition at line 341 of file Thread.hpp.

Referenced by RTT::os::Thread::stop(), RTT::Activity::stop(), RTT::os::Thread::Thread(), and RTT::os::thread_function().

unsigned int RTT::os::Thread::default_stack_size = 0
staticprotectedinherited

Definition at line 290 of file Thread.hpp.

Referenced by RTT::os::Thread::setStackSize(), and RTT::os::Thread::Thread().

bool RTT::os::Thread::inloop
protectedinherited

Is true when in the loop (isRunning() )

Definition at line 321 of file Thread.hpp.

Referenced by RTT::os::Thread::emergencyStop(), RTT::os::Thread::stop(), RTT::Activity::stop(), and RTT::os::thread_function().

double RTT::os::Thread::lock_timeout_no_period_in_s = 1.0
staticprotectedinherited

configuration of the lock timeout in seconds

Definition at line 295 of file Thread.hpp.

Referenced by RTT::os::Thread::getStopTimeout(), and RTT::os::Thread::setLockTimeoutNoPeriod().

double RTT::os::Thread::lock_timeout_period_factor = 10.0
staticprotectedinherited

configuration of the lock timeout for periodic tasks in seconds

Definition at line 300 of file Thread.hpp.

Referenced by RTT::os::Thread::getStopTimeout(), and RTT::os::Thread::setLockTimeoutPeriodFactor().

const unsigned int RTT::extras::TimerThread::MAX_ACTIVITIES = 64
staticinherited
int RTT::os::Thread::maxOverRun
protectedinherited

The maximum times a periodic overrun may happen, or -1 if unlimited.

Definition at line 347 of file Thread.hpp.

Referenced by RTT::os::Thread::getMaxOverrun(), RTT::Activity::loop(), RTT::os::Thread::setMaxOverrun(), and RTT::os::thread_function().

int RTT::os::Thread::msched_type
protectedinherited
os::MutexRecursive RTT::extras::TimerThread::mutex
mutableprotectedinherited

A Activity can not create a activity of same priority from step().

If so a deadlock will occur.

Definition at line 134 of file TimerThread.hpp.

Referenced by RTT::extras::TimerThread::addActivity(), RTT::extras::TimerThread::finalize(), RTT::extras::TimerThread::removeActivity(), and RTT::extras::TimerThread::step().

NANO_TIME RTT::os::Thread::period
protectedinherited
bool RTT::os::Thread::prepareForExit
protectedinherited

Signal the thread that it should exit.

Definition at line 316 of file Thread.hpp.

Referenced by RTT::os::Thread::terminate(), and RTT::os::thread_function().

RTOS_TASK RTT::os::Thread::rtos_task
protectedinherited
bool RTT::os::Thread::running
protectedinherited
rt_sem_t RTT::os::Thread::sem
protectedinherited
double RTT::os::Thread::stopTimeout
protectedinherited

The timeout, in seconds, for stop()

Definition at line 357 of file Thread.hpp.

Referenced by RTT::os::Thread::getStopTimeout(), and RTT::os::Thread::setStopTimeout().

int RTT::os::ThreadInterface::threadnb
protectedinherited

Threads are given an unique number, which follows thread creation order.

See also
os::threads

Definition at line 229 of file ThreadInterface.hpp.

Referenced by RTT::os::ThreadInterface::ThreadInterface().

TimerThread::TimerThreadList RTT::TimerThread::TimerThreads
staticprotectedinherited

All timer threads.

Definition at line 145 of file TimerThread.hpp.


The documentation for this class was generated from the following files: