fesa-core  5.0.1
fesa::TimingContext Class Reference

Specialized context for a RTEvent coming from the TimingEventSource. The implementation is lab specific. More...

#include <TimingContext.h>

Inheritance diagram for fesa::TimingContext:
fesa::MultiplexingContext

Public Member Functions

 TimingContext (const std::string &cycleName, timestamp_ns cycleStamp=UNKNOWN_TIMESTAMP)
 Constructor. More...
 
 TimingContext (const std::string &cycleName, ActionType actionType, uint8_t acquisitionAccess, uint8_t settingAccess, timestamp_ns timestamp=UNKNOWN_TIMESTAMP)
 Constructor with possibility to set the access-rights and the action-type. More...
 
 TimingContext (std::istream &stream)
 constructor from serialized data
 
virtual ~TimingContext ()
 Destructor.
 
- Public Member Functions inherited from fesa::MultiplexingContext
virtual ~MultiplexingContext ()
 Destructor.
 
timestamp_ns getCycleStamp () const
 Returns the time of the start-cycle event which occurs at the start of the first basic period of the given cycle. It is expressed as a 64-bit integer counting the number of nanoseconds elapsed since the UNIX epoch i.e. since January 1st 1970 at 00.00 A.M. The constant UNKNOWN_TIMESTAMP is return if the cycle stamp is unknown.
 
timestamp_ns getTimeStamp () const
 returns the timeStamp associated to the context More...
 
int32_t getCycleId () const
 returns the cycle ID More...
 
int32_t getTimingDomainId () const
 
const std::string & getTimingDomainName () const
 
const std::string & getCycleName () const
 returns the cycle name as string More...
 
virtual void serialize (std::ostream &stream)
 this method serializes the multiplexing context into the stream
 
const std::string & getExtraCondition () const
 returns the extra condition More...
 
void setExtraCondition (const std::string &extraCondition)
 Sets the extra condition. More...
 
bool match (const std::string &cycleSelector) const
 Matches the context with a cycle-string argument, in order to check if the context lies within this argument. The match function is implemented by the different childs of this class. More...
 
MuxContextType getType () const
 Retrieve the type of multiplexing context. More...
 
 MultiplexingContext (const MultiplexingContext &other, ActionType actionType, uint8_t acquisitionAccess, uint8_t settingAccess)
 Copy-Constructor with possibility to change the access-rights and the action-type. More...
 

Protected Member Functions

 TimingContext ()
 Constructor.
 
- Protected Member Functions inherited from fesa::MultiplexingContext
 MultiplexingContext ()
 Constructor.
 
 MultiplexingContext (ActionType actionType, uint8_t acquisitionAccess, uint8_t settingAccess)
 Constructor with possibility to set the access-rights and the action-type. More...
 
 MultiplexingContext (std::istream &stream)
 constructor More...
 
void setType (MuxContextType)
 Set the type of multiplexing context. More...
 
uint8_t getSettingAccessMask () const
 Retrieve the access mask of the context. More...
 
uint8_t getAcquisitionAccessMask () const
 Retrieve the access mask for acquistion fields of the context. More...
 

Additional Inherited Members

- Public Types inherited from fesa::MultiplexingContext
enum  MuxContextType
 Category of multiplexing context.
 
enum  ActionType
 Action where the context is going to be use.
 
enum  accessMaskBitPattern
 Definition of the different modes of field access.
 
- Static Public Attributes inherited from fesa::MultiplexingContext
static const timestamp_ns UNKNOWN_TIMESTAMP = -1
 
- Protected Attributes inherited from fesa::MultiplexingContext
std::string cycleName_
 contains the name of the cycle
 
std::string extraCondition_
 This condition can be used for advanced multiplexing.
 
timestamp_ns timeStamp_
 contains the time stamp of the event.
 
timestamp_ns cycleStamp_
 contains the time stamp of start of the cycle in which the event occurred or UNKNOWN_TIMESTAMP.
 
MuxContextType type_
 Indicates the type of multiplexing context This information is used for the Data Integrity Later.
 
ActionType actionType_
 Indicates which type of action is going to use the context.
 
bool forewarning_
 Indicates that the context belongs to the next cycle, not to the current one. For example to control a slow power converter where you need to send the settings one cycle in advance, to give time to the power converter to follow the new request.
 
int32_t timingDomainId_
 timing domain id
 
std::string timingDomainName_
 timing domain name
 
uint8_t settingAccessMask_
 setting access mask
 
uint8_t acquisitionAccessMask_
 acquisition access mask
 

Detailed Description

Specialized context for a RTEvent coming from the TimingEventSource. The implementation is lab specific.

Constructor & Destructor Documentation

fesa::TimingContext::TimingContext ( const std::string &  cycleName,
timestamp_ns  cycleStamp = UNKNOWN_TIMESTAMP 
)

Constructor.

Parameters
cycleNameCycle name for which the context is
cycleStampcycle stamp of this context
fesa::TimingContext::TimingContext ( const std::string &  cycleName,
ActionType  actionType,
uint8_t  acquisitionAccess,
uint8_t  settingAccess,
timestamp_ns  timestamp = UNKNOWN_TIMESTAMP 
)

Constructor with possibility to set the access-rights and the action-type.

Parameters
cycleNameCycle name for which the context is
actionTypeThe new actionType of the mux-context
acquisitionAccessThe new acquisition-access restrictions of this context
settingAccessThe new setting-access restrictions of this context
timestampThe timestamp of this context. If not provided, current time will be used.

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