ecdev::IIoProfile
Facade-facing contract for a digital/analog I/O device (CiA 401 family). More...
#include <io_profile.hpp>
Inherited by ecdev::GenericIoProfile
Public Functions
| Name | |
|---|---|
| virtual | ~IIoProfile() =default |
| virtual void | setDigitalOutput(std::size_t channel, bool value) =0 Command a digital output channel; out-of-range is a no-op. |
| virtual void | setAnalogOutput(std::size_t channel, std::int32_t value) =0 Command an analog output channel (raw counts); out-of-range is a no-op. |
| virtual std::size_t | digitalOutputCount() const =0 |
| virtual bool | digitalOutput(std::size_t channel) const =0 |
| virtual std::size_t | digitalInputCount() const =0 |
| virtual bool | digitalInput(std::size_t channel) const =0 Read a digital input/output channel; out-of-range returns false. |
| virtual std::size_t | analogOutputCount() const =0 |
| virtual std::int32_t | analogOutput(std::size_t channel) const =0 |
| virtual std::size_t | analogInputCount() const =0 |
| virtual std::int32_t | analogInput(std::size_t channel) const =0 Read an analog input/output channel (raw counts); out-of-range returns 0. |
Detailed Description
class ecdev::IIoProfile;
Facade-facing contract for a digital/analog I/O device (CiA 401 family).
The IoModule facade depends only on this – never on PDO offsets, CoE objects, or the backend. Channels are numbered from 0 in process-image order. All methods are safe to call from an application thread while the RT cycle runs (backed by lock-free state).
Public Functions Documentation
function ~IIoProfile
virtual ~IIoProfile() =default
function setDigitalOutput
virtual void setDigitalOutput(
std::size_t channel,
bool value
) =0
Command a digital output channel; out-of-range is a no-op.
Reimplemented by: ecdev::GenericIoProfile::setDigitalOutput
function setAnalogOutput
virtual void setAnalogOutput(
std::size_t channel,
std::int32_t value
) =0
Command an analog output channel (raw counts); out-of-range is a no-op.
Reimplemented by: ecdev::GenericIoProfile::setAnalogOutput
function digitalOutputCount
virtual std::size_t digitalOutputCount() const =0
Reimplemented by: ecdev::GenericIoProfile::digitalOutputCount
function digitalOutput
virtual bool digitalOutput(
std::size_t channel
) const =0
Reimplemented by: ecdev::GenericIoProfile::digitalOutput
function digitalInputCount
virtual std::size_t digitalInputCount() const =0
Reimplemented by: ecdev::GenericIoProfile::digitalInputCount
function digitalInput
virtual bool digitalInput(
std::size_t channel
) const =0
Read a digital input/output channel; out-of-range returns false.
Reimplemented by: ecdev::GenericIoProfile::digitalInput
function analogOutputCount
virtual std::size_t analogOutputCount() const =0
Reimplemented by: ecdev::GenericIoProfile::analogOutputCount
function analogOutput
virtual std::int32_t analogOutput(
std::size_t channel
) const =0
Reimplemented by: ecdev::GenericIoProfile::analogOutput
function analogInputCount
virtual std::size_t analogInputCount() const =0
Reimplemented by: ecdev::GenericIoProfile::analogInputCount
function analogInput
virtual std::int32_t analogInput(
std::size_t channel
) const =0
Read an analog input/output channel (raw counts); out-of-range returns 0.
Reimplemented by: ecdev::GenericIoProfile::analogInput
Updated on 2026-07-13 at 20:44:41 +0000