fastcat 0.13.15
C++ EtherCAT Device Command & Control Library
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Attributes | List of all members
fastcat::DeviceBase Class Referenceabstract

#include "device_base.h"

Inheritance diagram for fastcat::DeviceBase:
Inheritance graph
[legend]

Public Member Functions

virtual ~DeviceBase ()
 
virtual bool ConfigFromYaml (const YAML::Node &node)=0
 
virtual bool Read ()=0
 
virtual FaultType Process ()
 
virtual bool Write (DeviceCmd &cmd)
 
virtual void Fault ()
 
virtual void Reset ()
 
virtual void SetInitializationTime (double time_sec, double monotonic_time_sec)
 
void RegisterCmdQueue (std::shared_ptr< ThreadSafeQueue< DeviceCmd > > cmd_queue)
 
std::string GetName ()
 
std::shared_ptr< DeviceState > GetState ()
 
void SetTime (double time, double monotonic_time)
 
void SetLoopPeriod (double loop_period)
 

Public Attributes

std::vector< Signal > signals_
 

Protected Attributes

std::string name_
 unique device name
 
double last_monotonic_time_ = 0.0
 
double loop_period_ = 0.0
 only some devices need
 
double initialization_time_sec_ = -1
 only some devices need
 
double monotonic_initialization_time_sec_ = -1
 only some devices need
 
bool device_fault_active_ = false
 device-level fault, manager also has fault status flag
 
std::shared_ptr< DeviceState > state_
 Fastcat state data.
 
std::shared_ptr< ThreadSafeQueue< DeviceCmd > > cmd_queue_
 for intra-device commands
 

Constructor & Destructor Documentation

◆ ~DeviceBase()

fastcat::DeviceBase::~DeviceBase ( )
virtual

Member Function Documentation

◆ ConfigFromYaml()

virtual bool fastcat::DeviceBase::ConfigFromYaml ( const YAML::Node &  node)
pure virtual

◆ Fault()

void fastcat::DeviceBase::Fault ( )
virtual

Reimplemented in fastcat::Commander, fastcat::Faulter, fastcat::Pid, fastcat::Actuator, fastcat::Egd, and fastcat::EgdOffline.

Here is the caller graph for this function:

◆ GetName()

std::string fastcat::DeviceBase::GetName ( )

◆ GetState()

std::shared_ptr< fastcat::DeviceState > fastcat::DeviceBase::GetState ( )

◆ Process()

fastcat::FaultType fastcat::DeviceBase::Process ( )
virtual

◆ Read()

virtual bool fastcat::DeviceBase::Read ( )
pure virtual

◆ RegisterCmdQueue()

void fastcat::DeviceBase::RegisterCmdQueue ( std::shared_ptr< ThreadSafeQueue< DeviceCmd > >  cmd_queue)

◆ Reset()

void fastcat::DeviceBase::Reset ( )
virtual

Reimplemented in fastcat::Commander, fastcat::Faulter, fastcat::Actuator, fastcat::Egd, and fastcat::EgdOffline.

Here is the caller graph for this function:

◆ SetInitializationTime()

virtual void fastcat::DeviceBase::SetInitializationTime ( double  time_sec,
double  monotonic_time_sec 
)
inlinevirtual

◆ SetLoopPeriod()

void fastcat::DeviceBase::SetLoopPeriod ( double  loop_period)

◆ SetTime()

void fastcat::DeviceBase::SetTime ( double  time,
double  monotonic_time 
)

◆ Write()

bool fastcat::DeviceBase::Write ( DeviceCmd &  cmd)
virtual

Member Data Documentation

◆ cmd_queue_

std::shared_ptr<ThreadSafeQueue<DeviceCmd> > fastcat::DeviceBase::cmd_queue_
protected

for intra-device commands

◆ device_fault_active_

bool fastcat::DeviceBase::device_fault_active_ = false
protected

device-level fault, manager also has fault status flag

◆ initialization_time_sec_

double fastcat::DeviceBase::initialization_time_sec_ = -1
protected

only some devices need

◆ last_monotonic_time_

double fastcat::DeviceBase::last_monotonic_time_ = 0.0
protected

◆ loop_period_

double fastcat::DeviceBase::loop_period_ = 0.0
protected

only some devices need

◆ monotonic_initialization_time_sec_

double fastcat::DeviceBase::monotonic_initialization_time_sec_ = -1
protected

only some devices need

◆ name_

std::string fastcat::DeviceBase::name_
protected

unique device name

◆ signals_

std::vector<Signal> fastcat::DeviceBase::signals_

◆ state_

std::shared_ptr<DeviceState> fastcat::DeviceBase::state_
protected

Fastcat state data.


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