Detailed Description

An sDevice implements signal based semantics for faudes events.

The class is configured by AttributeSignalEvents, which in turn consist of either a AttributeSignalInput or a AttributeSignalOutput. Thus, we set and clear output signals for output events, while edges on input signals trigger input events.

Sensing edges is done by separate thread that is started by Start().

This class is still virtual in that it does not provide the code for actually reading or writing signals. See cDevice and pDevice for derived device classes that implement digital io via comedi or the parallel printer port, respectively.

Definition at line 287 of file iop_sdevice.h.

#include <iop_sdevice.h>

Classes

struct  Edges
 Background: type def for edge detection
More...
 
struct  Levels
 Background: type def output values
More...
 

Public Types

typedef AttributeSignalInput::Trigger Trigger
 
typedef AttributeSignalOutput::Action Action
 
typedef AttributeSignalOutput::Value Value
 
- Public Types inherited from faudes::vDevice
enum  DeviceState { Down , StartUp , Up , ShutDown }
 Enum for device stages. More...
 

Public Member Functions

 sDevice (void)
 Default constructor. More...
 
 sDevice (const sDevice &rOtherDevice)
 copy-constructor More...
 
virtual ~sDevice (void)
 Explicit destructor. More...
 
virtual void Clear (void)
 Clear all configuration. More...
 
virtual void Compile (void)
 Build up internal data-structure (e.g. More...
 
void InsInputEvent (const std::string &event)
 Insert event as input event. More...
 
void AppendTrigger (const std::string &event, const Trigger &trigger)
 Add a trigger condition. More...
 
void InsOutputEvent (const std::string &event)
 Insert event as output event. More...
 
void AppendAction (const std::string &event, const Action &action)
 Add an action. More...
 
int MaxBitAddress (void) const
 Report max bit address. More...
 
virtual void Start (void)
 Activate the device. More...
 
virtual void Stop (void)
 Deactivate the device. More...
 
virtual void Reset (void)
 Clear dynamic data and restart device. More...
 
virtual void WriteOutput (Idx output)
 Run output command. More...
 
void WriteSignal (int bitaddr, bool value)
 Set output signal. More...
 
bool ReadSignal (int bitaddr)
 Get input signal. More...
 
virtual int CycleTime () const
 Report cycle time. More...
 
virtual void CycleTime (int cycleTime)
 Set cycle time. More...
 
- Public Member Functions inherited from faudes::vDevice
 vDevice (void)
 Default constructor. More...
 
virtual ~vDevice (void)
 Explicit destructor. More...
 
void Name (const std::string &rName)
 Set the device name. More...
 
const std::string & Name (void) const
 Get device name. More...
 
void Tolerance (Time::Type maxgap)
 Set tolerance for time synchonisation. More...
 
Time::Type Tolerance (void)
 Get tolerance. More...
 
virtual void TimeScale (unsigned int scale)
 Set timescale. More...
 
virtual int TimeScale (void)
 Get timescale. More...
 
virtual void Configure (Idx event, const AttributeDeviceEvent &attr)
 Insert/edit input or output configuration. More...
 
virtual void Configure (const EventSet &rPhysicalEvents)
 Configure by alphabet. More...
 
virtual const EventSetOutputs (void) const
 Get outputs as plain set. More...
 
virtual const EventSetInputs (void) const
 Get inputs as plain set. More...
 
virtual bool ResetRequest (void)
 A device may ask for a reset by returning true for ResetRequest(). More...
 
virtual DeviceState Status (void)
 Get status. More...
 
virtual std::string StatusString (void)
 Get status as infromal string. More...
 
virtual void FlushOutputs (void)
 Flush pending IO Operations. More...
 
virtual Idx ReadInput (void)
 Read sensed input events. More...
 
virtual Idx PeekInput (void)
 Peek for sensed events. More...
 
virtual bool InputReady (void)
 Report whether a input-event is ready. More...
 
virtual bool WaitInputs (Time::Type duration)
 Wait for input trigger. More...
 
virtual bool WaitInputsMs (long int duration)
 Wait for input trigger. More...
 
virtual Time::Type CurrentTime (void)
 Report physical time in ftu. More...
 
virtual long int CurrentTimeMs (void)
 Report physical time in ms. More...
 
virtual void CurrentTime (Time::Type now)
 Set physical time in ftu. More...
 
virtual void CurrentTimeMs (long int nowms)
 Set physical time in ms. More...
 
virtual faudes_systime_t FtuToSystemTime (Time::Type duration)
 Convert faudes time unit duration to system time. More...
 
void UseCondition (faudes_mutex_t *wmutex, faudes_cond_t *wcond)
 Tell the device which condition to use for waiting. More...
 
void UseBuffer (faudes_mutex_t *bmutex, std::deque< Idx > *bbuffer)
 Tell the device which buffer to use for inputs. More...
 
virtual std::string EStr (Idx ev)
 Convenience method. More...
 
SampledDensityFunction Performance (void)
 Get performance (need compiletime option) More...
 
void ResetPerformance (void)
 Clear performance (need compiletime option) More...
 
void WritePerformance (void)
 Convenience method. More...
 
- Public Member Functions inherited from faudes::Type
 Type (void)
 Constructor. More...
 
 Type (const Type &rType)
 Copy constructor. More...
 
virtual ~Type (void)
 Destructor. More...
 
virtual TypeNew (void) const
 Construct on heap. More...
 
virtual TypeCopy (void) const
 Construct on heap. More...
 
virtual const TypeCast (const Type *pOther) const
 Cast other object to this type. More...
 
virtual TypeAssign (const Type &rSrc)
 Assign configuration data from other object. More...
 
Typeoperator= (const Type &rSrc)
 Assign configurationdata from other object. More...
 
virtual bool Equal (const Type &rOther) const
 Test equality of configuration data. More...
 
bool operator== (const Type &rOther) const
 Test equality of configuration data. More...
 
bool operator!= (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual const std::string & TypeName (void) const
 Get objects's type name. More...
 
void Write (const Type *pContext=0) const
 Write configuration data to console. More...
 
void Write (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const
 Write configuration data to a file. More...
 
void Write (const std::string &pFileName, std::ios::openmode openmode) const
 Write configuration data to a file. More...
 
void Write (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to TokenWriter. More...
 
virtual void XWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to an XML file. More...
 
void XWrite (const Type *pContext=0) const
 Write configuration data in XML format to concole Note: this write function uses the virtual function DoXWrite(), to be reimplemented by derived classes. More...
 
void XWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in XML format to TokenWriter. More...
 
std::string ToString (const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to a string. More...
 
std::string ToText (const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to a formated string. More...
 
void DWrite (const Type *pContext=0) const
 Write configuration data to console, debugging format. More...
 
void DWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const
 Write configuration data to a file, debugging format. More...
 
void DWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in debug format to TokenWriter. More...
 
void SWrite (TokenWriter &rTw) const
 Write statistics comment to TokenWriter. More...
 
void SWrite (void) const
 Write statistics comment to console. More...
 
std::string ToSText (void) const
 Write statistics to a string. More...
 
void Read (const std::string &rFileName, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from file with label specified. More...
 
void FromString (const std::string &rString, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from a string. More...
 
void Read (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from TokenReader with label sepcified. More...
 

Protected Member Functions

void DoWritePreface (TokenWriter &rTw, const std::string &rLabel, const Type *pContext=0) const
 Writes non-event-related configuration to TokenWriter. More...
 
virtual void DoReadPreface (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Reads non-event-related configuration from TokenReader. More...
 
virtual bool DoReadSignalsPre (void)
 IO Hook, inputs. More...
 
virtual void DoReadSignalsPost (void)
 IO Hook, inputs. More...
 
virtual bool DoReadSignal (int bitaddr)=0
 Sample input signal. More...
 
virtual bool DoWriteSignalsPre (void)
 IO Hook, outputs. More...
 
virtual void DoWriteSignalsPost (void)
 IO Hook, output. More...
 
virtual void DoWriteSignal (int bitaddr, bool value)=0
 Reimplement this function in a derived class for actual harware access to set or clear an output signal. More...
 
virtual void DoLoopCallback (void)
 Loop hook. More...
 
- Protected Member Functions inherited from faudes::vDevice
virtual void DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Token output, see Type::Write for public wrappers. More...
 
virtual void DoWriteConfiguration (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Writes event-configuration to TokenWriter. More...
 
virtual void DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Token input, see Type::DRead for public wrappers. More...
 
virtual void DoReadConfiguration (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Reads event-configuration data from TokenReader. More...
 
virtual long int FtuToMs (Time::Type faudes_time)
 convert duration from fauDES-time units to ms More...
 
virtual Time::Type MsToFtu (long int real_time)
 convert duration in ms to faudes-time units More...
 
- Protected Member Functions inherited from faudes::Type
void DoAssign (const Type &rSrc)
 Assign configuration data from other object. More...
 
bool DoEqual (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual void DoXWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data of this object to TokenWriter in XML format. More...
 
virtual void DoDWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in debugging format to TokenWriter. More...
 
virtual void DoSWrite (TokenWriter &rTw) const
 Write statistical data as a comment to TokenWriter. More...
 
virtual const TypeDefinitionTypeDefinitionp (void) const
 Get objects's type definition. More...
 
virtual Token XBeginTag (const std::string &rLabel="", const std::string &rFallbackLabel="") const
 

Protected Attributes

TaNameSet< AttributeSignalEvent > * pConfiguration
 Overall configuration (with actual type) More...
 
std::map< int, EventSetmInputPosEdgeIndexMap
 Reverse input map: map signal edges to logical event sets. More...
 
std::map< int, EventSetmInputNegEdgeIndexMap
 Reverse input map: map signal edges to logical event sets. More...
 
std::map< int, EventSetmOutputLevelIndexMap
 Reverse output map: map signal addres to events that affect the resp. More...
 
int mMaxBitAddress
 Address range. More...
 
faudes_mutex_t mMutex
 Background: mutex for below shared variables. More...
 
bool mSyncWrite
 True for synchronous output writes. More...
 
- Protected Attributes inherited from faudes::vDevice
std::string mDefaultLabel
 Default label for token io. More...
 
std::string mName
 Name. More...
 
EventSetmpConfiguration
 Overall event configuration (uses cast for type) More...
 
EventSet mInputs
 All inputs. More...
 
EventSet mOutputs
 All outputs. More...
 
DeviceState mState
 Status: running, starting etc. More...
 
faudes_mutex_t mWaitMutex
 Default Wait Condition Mutex. More...
 
faudes_cond_t mWaitCondition
 Default Wait Condition. More...
 
faudes_mutex_t * pWaitMutex
 Actual Wait Condition Mutex. More...
 
faudes_cond_t * pWaitCondition
 Actual Wait Condition. More...
 
faudes_systime_t mTimeZero
 physical timepoint zero
More...
 
int mTimeScale
 FauDES-time: scaling factor in ms/ftu. More...
 
Time::Type mMaxSyncGap
 Toleance for time sync. More...
 
std::deque< IdxmInputBuffer
 Default Fifo buffer for input readings. More...
 
std::deque< Idx > * pInputBuffer
 Actual Fifo buffer for input readings. More...
 
faudes_mutex_t mBufferMutex
 Default mutex for input buffer (mutexted) More...
 
faudes_mutex_t * pBufferMutex
 Actual mutex for input buffer (mutexted) More...
 
bool mResetRequest
 Reset request marker (mutexed) More...
 
faudes_systime_t * mpPerformanceWaitEnter
 Structures to store time-samples in. More...
 
faudes_systime_t * mpPerformanceWaitExit
 
int mPerformanceEndIterator
 Global iterator. More...
 
int mPerformanceBeginIterator
 

Private Member Functions

void ClrInputSignals (void)
 clear all input states More...
 
void ClrOutputSignals (void)
 clear all output values More...
 

Private Attributes

faudes_thread_t mThreadSynchro
 Background: thread handle (global) More...
 
int mCycleTime
 Cycle time of background thread in nsecs (shared) More...
 
int mCycleCount
 Background: cycle counter (shared) More...
 
int mRecentCycleCount
 Background: cycle count (global only) More...
 
EdgesmpInputEdges
 Background: accumulated edges (shared)
More...
 
EdgesmpRecentInputEdges
 Background: recently accumulated edges (global only)
More...
 
bool mInputReady
 Background: some input event did occur (shared) More...
 
LevelsmpOutputLevels
 Background: accumulated output values (shared) More...
 
bool mCancelRequest
 Background: terminate-flag for background task. More...
 

Friends

void * SDeviceSynchro (void *)
 

Additional Inherited Members

- Static Public Member Functions inherited from faudes::vDevice
static vDeviceFromTokenReader (TokenReader &rTr)
 Construct on heap from token reader. More...
 
static vDeviceFromFile (const std::string &rFileName)
 Construct on heap from file. More...
 
static void StopAll (void)
 Stop all devices. More...
 

Member Typedef Documentation

◆ Action

◆ Trigger

◆ Value

Constructor & Destructor Documentation

◆ sDevice() [1/2]

faudes::sDevice::sDevice ( void  )

Default constructor.

Definition at line 382 of file iop_sdevice.cpp.

◆ sDevice() [2/2]

faudes::sDevice::sDevice ( const sDevice rOtherDevice)

copy-constructor

◆ ~sDevice()

faudes::sDevice::~sDevice ( void  )
virtual

Explicit destructor.

Definition at line 408 of file iop_sdevice.cpp.

Member Function Documentation

◆ AppendAction()

void faudes::sDevice::AppendAction ( const std::string &  event,
const Action action 
)

Add an action.

Note: you can only add a actions to an output event; you can only (re)-configure events while the device is down.

Parameters
eventEvent
actionAction to append

Definition at line 673 of file iop_sdevice.cpp.

◆ AppendTrigger()

void faudes::sDevice::AppendTrigger ( const std::string &  event,
const Trigger trigger 
)

Add a trigger condition.

Note: you can only add a trigger condition to an input event; you can only (re)-configure events while the device is down.

Parameters
eventEvent
triggerTrigger to append

Definition at line 652 of file iop_sdevice.cpp.

◆ Clear()

void faudes::sDevice::Clear ( void  )
virtual

Clear all configuration.

This implies Stop().

Reimplemented from faudes::vDevice.

Reimplemented in faudes::mbDevice.

Definition at line 573 of file iop_sdevice.cpp.

◆ ClrInputSignals()

void faudes::sDevice::ClrInputSignals ( void  )
private

clear all input states

Definition at line 1114 of file iop_sdevice.cpp.

◆ ClrOutputSignals()

void faudes::sDevice::ClrOutputSignals ( void  )
private

clear all output values

Definition at line 1169 of file iop_sdevice.cpp.

◆ Compile()

void faudes::sDevice::Compile ( void  )
virtual

Build up internal data-structure (e.g.

signal-event - mapping)

Reimplemented from faudes::vDevice.

Reimplemented in faudes::mbDevice.

Definition at line 587 of file iop_sdevice.cpp.

◆ CycleTime() [1/2]

int faudes::sDevice::CycleTime ( void  ) const
virtual

Report cycle time.

Returns
Actual cycle time in ussecs

Definition at line 686 of file iop_sdevice.cpp.

◆ CycleTime() [2/2]

void faudes::sDevice::CycleTime ( int  cycleTime)
virtual

Set cycle time.

Parameters
cycleTimeDesired cycle time in usecs

Definition at line 693 of file iop_sdevice.cpp.

◆ DoLoopCallback()

virtual void faudes::sDevice::DoLoopCallback ( void  )
inlineprotectedvirtual

Loop hook.

This function is called once during each cycle of the backgroud thread

Reimplemented in faudes::mbDevice.

Definition at line 605 of file iop_sdevice.h.

◆ DoReadPreface()

void faudes::sDevice::DoReadPreface ( TokenReader rTr,
const std::string &  rLabel = "",
const Type pContext = 0 
)
protectedvirtual

Reads non-event-related configuration from TokenReader.

Device date is read bottom-to-top along the class-hierarchy; see also vDevice::DoReadPreface.

Note: in order to keep the inputfile-layout as simple as possible no label will be used to separate this data-section.

Parameters
rTrTokenReader to read from
rLabelSection to read
pContextRead context to provide contextual information

Reimplemented from faudes::vDevice.

Reimplemented in faudes::mbDevice.

Definition at line 443 of file iop_sdevice.cpp.

◆ DoReadSignal()

virtual bool faudes::sDevice::DoReadSignal ( int  bitaddr)
protectedpure virtual

Sample input signal.

Reimplement this function to implements actual harware access to sample an input signal. This function gets called from the periodic background thread to sense edges. It is guaranteed that the pre-hook was called befor and returned "true". The post-hook will be invoked after relevant signals have been sampled.

Parameters
bitaddrAbstract bit address
Returns
True for logic level high;

Implemented in faudes::mbDevice.

◆ DoReadSignalsPost()

virtual void faudes::sDevice::DoReadSignalsPost ( void  )
inlineprotectedvirtual

IO Hook, inputs.

The background thread calls this hook after reading input signals. You may reimplement this method to e.g. release a process image.

Reimplemented in faudes::mbDevice.

Definition at line 543 of file iop_sdevice.h.

◆ DoReadSignalsPre()

virtual bool faudes::sDevice::DoReadSignalsPre ( void  )
inlineprotectedvirtual

IO Hook, inputs.

The background thread calls this hook before reading input signals. You may reimplement this method to e.g. prepare a process image.

Returns
True on success, false on error

Reimplemented in faudes::mbDevice.

Definition at line 533 of file iop_sdevice.h.

◆ DoWritePreface()

void faudes::sDevice::DoWritePreface ( TokenWriter rTw,
const std::string &  rLabel,
const Type pContext = 0 
) const
protectedvirtual

Writes non-event-related configuration to TokenWriter.

Device data will be written bottom-to-top along the class-hierarchy, see also vDevice::DoWritePreface.

Note: in order to keep the outputfile-layout as simple as possible no label will be used to separate this data-section.

Parameters
rTwTokenWriter to write
rLabelSection to write
pContextContext to provide contextual information

Reimplemented from faudes::vDevice.

Definition at line 423 of file iop_sdevice.cpp.

◆ DoWriteSignal()

virtual void faudes::sDevice::DoWriteSignal ( int  bitaddr,
bool  value 
)
protectedpure virtual

Reimplement this function in a derived class for actual harware access to set or clear an output signal.

Hooks are executed appropriately. If the device is configured for synchronous write, the background task is used to write signals. Otherwise, signal values are written instantly.

Parameters
bitaddrAbstract bit address
valueTrue for active/high/1/set; false for passive/low/0/clr;

Implemented in faudes::mbDevice.

◆ DoWriteSignalsPost()

virtual void faudes::sDevice::DoWriteSignalsPost ( void  )
inlineprotectedvirtual

IO Hook, output.

This hook is invoked after writing a signal value. You may reimplement this method to e.g. assemble a process image.

Reimplemented in faudes::mbDevice.

Definition at line 581 of file iop_sdevice.h.

◆ DoWriteSignalsPre()

virtual bool faudes::sDevice::DoWriteSignalsPre ( void  )
inlineprotectedvirtual

IO Hook, outputs.

This hook is invoked before writing a signal value. You may reimplement this method to e.g. assemble a process image.

Returns
True on success, false on error

Reimplemented in faudes::mbDevice.

Definition at line 571 of file iop_sdevice.h.

◆ InsInputEvent()

void faudes::sDevice::InsInputEvent ( const std::string &  event)

Insert event as input event.

Note: you can only configure events while the device is down.

Parameters
eventEvent by name.

Definition at line 642 of file iop_sdevice.cpp.

◆ InsOutputEvent()

void faudes::sDevice::InsOutputEvent ( const std::string &  event)

Insert event as output event.

Note: you can only configure event while the device is down.

Parameters
eventEvent by name.

Definition at line 663 of file iop_sdevice.cpp.

◆ MaxBitAddress()

int faudes::sDevice::MaxBitAddress ( void  ) const
inline

Report max bit address.

Returns
Set of all configured inputs

Definition at line 381 of file iop_sdevice.h.

◆ ReadSignal()

bool faudes::sDevice::ReadSignal ( int  bitaddr)

Get input signal.

This function provides user level access to input signals. It executes the virtual pre and post hook methods and the virtual actual harware access to sample an input signal via DoReadSignal(int).

Parameters
bitaddrAbstract bit address
Returns
True for logic level high;

Definition at line 706 of file iop_sdevice.cpp.

◆ Reset()

void faudes::sDevice::Reset ( void  )
virtual

Clear dynamic data and restart device.

Reimplemented from faudes::vDevice.

Definition at line 559 of file iop_sdevice.cpp.

◆ Start()

void faudes::sDevice::Start ( void  )
virtual

Activate the device.

This function enables output execution and input reading. It starts the background thread for edge detection and input event buffer.

Exceptions
Exception
  • Not yet configured (id 551)

Reimplemented from faudes::vDevice.

Reimplemented in faudes::mbDevice.

Definition at line 514 of file iop_sdevice.cpp.

◆ Stop()

void faudes::sDevice::Stop ( void  )
virtual

Deactivate the device.

This function disables output execution and input reading. It stops the backhround thread and resets all output signals to 0.

Reimplemented from faudes::vDevice.

Reimplemented in faudes::mbDevice.

Definition at line 534 of file iop_sdevice.cpp.

◆ WriteOutput()

void faudes::sDevice::WriteOutput ( Idx  output)
virtual

Run output command.

Exceptions
Exception
  • unknown output event (id 65)

Implements faudes::vDevice.

Definition at line 1053 of file iop_sdevice.cpp.

◆ WriteSignal()

void faudes::sDevice::WriteSignal ( int  bitaddr,
bool  value 
)

Set output signal.

This function provides user level access to output signals. It executes the virtual pre and post hook methods and the virtual actual harware access to set the signal level via DoWriteSignal(int,bool).

Parameters
bitaddrAbstract bit address
valueTrue for active/high/1/set; false for passive/low/0/clr;

Definition at line 734 of file iop_sdevice.cpp.

Friends And Related Function Documentation

◆ SDeviceSynchro

void* SDeviceSynchro ( void *  )
friend

Definition at line 772 of file iop_sdevice.cpp.

Member Data Documentation

◆ mCancelRequest

bool faudes::sDevice::mCancelRequest
private

Background: terminate-flag for background task.

Definition at line 661 of file iop_sdevice.h.

◆ mCycleCount

int faudes::sDevice::mCycleCount
private

Background: cycle counter (shared)

Definition at line 623 of file iop_sdevice.h.

◆ mCycleTime

int faudes::sDevice::mCycleTime
private

Cycle time of background thread in nsecs (shared)

Definition at line 620 of file iop_sdevice.h.

◆ mInputNegEdgeIndexMap

std::map<int, EventSet> faudes::sDevice::mInputNegEdgeIndexMap
protected

Reverse input map: map signal edges to logical event sets.

Definition at line 476 of file iop_sdevice.h.

◆ mInputPosEdgeIndexMap

std::map<int, EventSet> faudes::sDevice::mInputPosEdgeIndexMap
protected

Reverse input map: map signal edges to logical event sets.

Definition at line 473 of file iop_sdevice.h.

◆ mInputReady

bool faudes::sDevice::mInputReady
private

Background: some input event did occur (shared)

Definition at line 646 of file iop_sdevice.h.

◆ mMaxBitAddress

int faudes::sDevice::mMaxBitAddress
protected

Address range.

Definition at line 482 of file iop_sdevice.h.

◆ mMutex

faudes_mutex_t faudes::sDevice::mMutex
protected

Background: mutex for below shared variables.

Definition at line 609 of file iop_sdevice.h.

◆ mOutputLevelIndexMap

std::map<int, EventSet> faudes::sDevice::mOutputLevelIndexMap
protected

Reverse output map: map signal addres to events that affect the resp.

line

Definition at line 479 of file iop_sdevice.h.

◆ mpInputEdges

Edges* faudes::sDevice::mpInputEdges
private

Background: accumulated edges (shared)

Definition at line 640 of file iop_sdevice.h.

◆ mpOutputLevels

Levels* faudes::sDevice::mpOutputLevels
private

Background: accumulated output values (shared)

Definition at line 658 of file iop_sdevice.h.

◆ mpRecentInputEdges

Edges* faudes::sDevice::mpRecentInputEdges
private

Background: recently accumulated edges (global only)

Definition at line 643 of file iop_sdevice.h.

◆ mRecentCycleCount

int faudes::sDevice::mRecentCycleCount
private

Background: cycle count (global only)

Definition at line 626 of file iop_sdevice.h.

◆ mSyncWrite

bool faudes::sDevice::mSyncWrite
protected

True for synchronous output writes.

Definition at line 612 of file iop_sdevice.h.

◆ mThreadSynchro

faudes_thread_t faudes::sDevice::mThreadSynchro
private

Background: thread handle (global)

Definition at line 617 of file iop_sdevice.h.

◆ pConfiguration

TaNameSet<AttributeSignalEvent>* faudes::sDevice::pConfiguration
protected

Overall configuration (with actual type)

Definition at line 470 of file iop_sdevice.h.


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

libFAUDES 2.32f --- 2024.12.22 --- c++ api documentaion by doxygen