Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
iv::channels::VirtualDigital Class Referencefinal

#include <VirtualDigital.hpp>

Inheritance diagram for iv::channels::VirtualDigital:
[legend]
Collaboration diagram for iv::channels::VirtualDigital:
[legend]

Public Member Functions

 VirtualDigital ()
 
 VirtualDigital (const VirtualDigital &other)
 
 ~VirtualDigital () override=default
 
void update (AbstractChannel &other) override
 
bool load (const iv::file::xml::node &nodeChannel) override
 
bool save (iv::file::xml::node &nodeChannel) const override
 
std::shared_ptr< AbstractChannelclone () override
 
std::string formatValue () const override
 
iv::channels::FormattedValue formattedValue () const override
 
void deinitialize ()
 
void setValue (std::optional< iv::types::channelValue > value, const std::optional< iv::alarms::Alarm > &alarm, const std::optional< iv::types::networkId > &networkOrigin)
 
template<typename T >
requires std::is_same_v<T, bool> || std::is_same_v<T, int32_t> || std::is_same_v<T, uint32_t> || std::is_same_v<T, float> || std::is_same_v<T, uint64_t> || std::is_same_v<T, double> || std::is_same_v<T, std::string> || std::is_same_v<T, const char *>
getValue () const
 
iv::types::channelValue getRawData () const
 
virtual std::string getRawDataUnit () const
 
const iv::types::channelIdgetChannelId () const
 
iv::types::channelOrder getChannelOrder () const
 
const iv::channels::ChannelAlarmParametersgetAlarmParameters () const
 
const std::map< iv::types::networkId, std::shared_ptr< iv::channels::INetworkInfo > > & channelsNetwork () const
 
bool isWired () const
 
bool isVirtual () const
 
bool isAnalog () const
 
bool isDigital () const
 
bool isString () const
 
bool isSerialLine () const
 
bool isAlarmCalculated () const
 
bool hasValue () const
 
std::string getAlarmIconName () const
 
iv::types::color getColorStateRgb () const
 
iv::alarms::eAlarmPriority getAlarmPriority () const
 
iv::alarms::eAlarmState getAlarmState () const
 
iv::alarms::eAlarmType getAlarmType () const
 TODO: Por defecto tal vez debería haber un undefined o algo así, pq en detalles del canal se dibuja — cd no es valido.
 
iv::channels::eInhibitionCondition getInhibitionConditionState () const
 
std::weak_ptr< iv::units::UnitgetUnit () const
 
virtual std::string getEngineeringUnitsStr () const
 

Public Attributes

bool m_inverted
 
iv::channels::eDigitalValue m_alarmLimit
 
iv::types::delay m_onDelay
 
iv::types::delay m_offDelay
 
iv::types::channelId m_tag
 
std::string m_shipyardTag
 
iv::types::channelOrder m_channelOrder
 
bool m_isEnabled
 
std::weak_ptr< AbstractChannelm_inhibitionChannel
 
iv::channels::eChannelBaseType m_baseType
 
iv::channels::eChannelSpecificType m_specificType
 
iv::channels::eChannelArea m_area
 
iv::channels::ChannelInfo m_info
 
iv::channels::ChannelAlarmParameters m_alarmParameters
 
iv::model::diamar::eVerificationStatus m_verificationStatus
 
std::map< iv::types::networkId, std::shared_ptr< iv::channels::INetworkInfo > > m_channelsNetwork
 
std::mutex m_mutexUpdate
 
std::atomic< iv::channels::Valuem_value
 
std::atomic< iv::alarms::Alarmm_alarm
 
std::optional< iv::types::networkIdm_networkOrigin {}
 
std::optional< iv::types::stationIdm_stationOrigin {}
 
std::atomic< iv::channels::Valuem_lastReceivedValue
 
std::atomic< iv::alarms::Alarmm_lastReceivedAlarm
 
std::optional< iv::types::networkIdm_lastNetworkOrigin {}
 
std::optional< iv::types::stationIdm_lastStationOrigin {}
 
std::atomic< bool > m_shouldCalculateAlarm
 
std::unique_ptr< iv::channels::controller::AbstractChannelm_controller
 
iv::types::unitId m_idUnit
 
iv::types::indexChannel m_indexChannel
 
iv::types::milliseconds m_deinitTimeout {DefaultValues::deinitTimeout}
 

Protected Member Functions

bool shouldStoreAlarm (iv::alarms::Alarm &alarm) const
 
virtual iv::types::channelValue setRawData (iv::types::channelValue value)
 

Private Member Functions

void processValue () override
 
void processAlarm (std::shared_ptr< iv::alarms::AlarmsManager > alarmManager) override
 
void calculateAlarm () override
 

Friends

class iv::channels::controller::VirtualDigital
 

Constructor & Destructor Documentation

◆ VirtualDigital() [1/2]

◆ VirtualDigital() [2/2]

◆ ~VirtualDigital()

iv::channels::VirtualDigital::~VirtualDigital ( )
overridedefault

Member Function Documentation

◆ calculateAlarm()

void iv::channels::VirtualDigital::calculateAlarm ( )
overrideprivatevirtual

Reimplemented from iv::channels::AbstractChannel.

◆ channelsNetwork()

const std::map< iv::types::networkId, std::shared_ptr< iv::channels::INetworkInfo > > & iv::channels::AbstractChannel::channelsNetwork ( ) const
nodiscardinherited

◆ clone()

std::shared_ptr< AbstractChannel > iv::channels::VirtualDigital::clone ( )
overridevirtual

◆ deinitialize()

void iv::channels::AbstractChannel::deinitialize ( )
inherited

◆ formattedValue()

iv::channels::FormattedValue iv::channels::DigitalChannel::formattedValue ( ) const
overridevirtualinherited

◆ formatValue()

std::string iv::channels::DigitalChannel::formatValue ( ) const
nodiscardoverridevirtualinherited

◆ getAlarmIconName()

std::string iv::channels::AbstractChannel::getAlarmIconName ( ) const
nodiscardinherited

◆ getAlarmParameters()

const iv::channels::ChannelAlarmParameters & iv::channels::AbstractChannel::getAlarmParameters ( ) const
nodiscardinherited

◆ getAlarmPriority()

iv::alarms::eAlarmPriority iv::channels::AbstractChannel::getAlarmPriority ( ) const
nodiscardinherited

◆ getAlarmState()

iv::alarms::eAlarmState iv::channels::AbstractChannel::getAlarmState ( ) const
nodiscardinherited

◆ getAlarmType()

iv::alarms::eAlarmType iv::channels::AbstractChannel::getAlarmType ( ) const
nodiscardinherited

TODO: Por defecto tal vez debería haber un undefined o algo así, pq en detalles del canal se dibuja — cd no es valido.

◆ getChannelId()

const iv::types::channelId & iv::channels::AbstractChannel::getChannelId ( ) const
nodiscardinherited

◆ getChannelOrder()

iv::types::channelOrder iv::channels::AbstractChannel::getChannelOrder ( ) const
nodiscardinherited

◆ getColorStateRgb()

iv::types::color iv::channels::AbstractChannel::getColorStateRgb ( ) const
nodiscardinherited

◆ getEngineeringUnitsStr()

std::string iv::channels::AbstractChannel::getEngineeringUnitsStr ( ) const
nodiscardvirtualinherited

Reimplemented in iv::channels::AnalogChannel.

◆ getInhibitionConditionState()

iv::channels::eInhibitionCondition iv::channels::AbstractChannel::getInhibitionConditionState ( ) const
nodiscardinherited

◆ getRawData()

iv::types::channelValue iv::channels::AbstractChannel::getRawData ( ) const
inherited

◆ getRawDataUnit()

std::string iv::channels::AbstractChannel::getRawDataUnit ( ) const
virtualinherited

Reimplemented in iv::channels::WiredAnalog.

◆ getUnit()

std::weak_ptr< iv::units::Unit > iv::channels::AbstractChannel::getUnit ( ) const
nodiscardinherited

◆ getValue()

template<typename T >
requires std::is_same_v<T, bool> || std::is_same_v<T, int32_t> || std::is_same_v<T, uint32_t> || std::is_same_v<T, float> || std::is_same_v<T, uint64_t> || std::is_same_v<T, double> || std::is_same_v<T, std::string> || std::is_same_v<T, const char *>
T iv::channels::AbstractChannel::getValue ( ) const
inherited

◆ hasValue()

bool iv::channels::AbstractChannel::hasValue ( ) const
nodiscardinherited

◆ isAlarmCalculated()

bool iv::channels::AbstractChannel::isAlarmCalculated ( ) const
inherited

◆ isAnalog()

bool iv::channels::AbstractChannel::isAnalog ( ) const
nodiscardinherited

◆ isDigital()

bool iv::channels::AbstractChannel::isDigital ( ) const
nodiscardinherited

◆ isSerialLine()

bool iv::channels::AbstractChannel::isSerialLine ( ) const
inherited

◆ isString()

bool iv::channels::AbstractChannel::isString ( ) const
nodiscardinherited

◆ isVirtual()

bool iv::channels::AbstractChannel::isVirtual ( ) const
nodiscardinherited

◆ isWired()

bool iv::channels::AbstractChannel::isWired ( ) const
nodiscardinherited

◆ load()

bool iv::channels::VirtualDigital::load ( const iv::file::xml::node & nodeChannel)
overridevirtual

Reimplemented from iv::channels::DigitalChannel.

◆ processAlarm()

void iv::channels::VirtualDigital::processAlarm ( std::shared_ptr< iv::alarms::AlarmsManager > alarmManager)
overrideprivatevirtual

◆ processValue()

void iv::channels::VirtualDigital::processValue ( )
overrideprivatevirtual

◆ save()

bool iv::channels::VirtualDigital::save ( iv::file::xml::node & nodeChannel) const
overridevirtual

Reimplemented from iv::channels::DigitalChannel.

◆ setRawData()

iv::types::channelValue iv::channels::AbstractChannel::setRawData ( iv::types::channelValue value)
protectedvirtualinherited

◆ setValue()

void iv::channels::AbstractChannel::setValue ( std::optional< iv::types::channelValue > value,
const std::optional< iv::alarms::Alarm > & alarm,
const std::optional< iv::types::networkId > & networkOrigin )
inherited

◆ shouldStoreAlarm()

bool iv::channels::AbstractChannel::shouldStoreAlarm ( iv::alarms::Alarm & alarm) const
protectedinherited

◆ update()

void iv::channels::VirtualDigital::update ( AbstractChannel & other)
overridevirtual

Reimplemented from iv::channels::DigitalChannel.

Friends And Related Symbol Documentation

◆ iv::channels::controller::VirtualDigital

Member Data Documentation

◆ m_alarm

std::atomic<iv::alarms::Alarm> iv::channels::AbstractChannel::m_alarm
inherited

◆ m_alarmLimit

iv::channels::eDigitalValue iv::channels::DigitalChannel::m_alarmLimit
inherited

◆ m_alarmParameters

iv::channels::ChannelAlarmParameters iv::channels::AbstractChannel::m_alarmParameters
inherited

◆ m_area

iv::channels::eChannelArea iv::channels::AbstractChannel::m_area
inherited

◆ m_baseType

iv::channels::eChannelBaseType iv::channels::AbstractChannel::m_baseType
inherited

◆ m_channelOrder

iv::types::channelOrder iv::channels::AbstractChannel::m_channelOrder
inherited

◆ m_channelsNetwork

std::map<iv::types::networkId, std::shared_ptr<iv::channels::INetworkInfo> > iv::channels::AbstractChannel::m_channelsNetwork
inherited

◆ m_controller

std::unique_ptr<iv::channels::controller::AbstractChannel> iv::channels::AbstractChannel::m_controller
inherited

◆ m_deinitTimeout

iv::types::milliseconds iv::channels::AbstractChannel::m_deinitTimeout {DefaultValues::deinitTimeout}
inherited

◆ m_idUnit

iv::types::unitId iv::channels::AbstractChannel::m_idUnit
inherited

Info redundant for performance

◆ m_indexChannel

iv::types::indexChannel iv::channels::AbstractChannel::m_indexChannel
inherited

◆ m_info

iv::channels::ChannelInfo iv::channels::AbstractChannel::m_info
inherited

◆ m_inhibitionChannel

std::weak_ptr<AbstractChannel> iv::channels::AbstractChannel::m_inhibitionChannel
inherited

◆ m_inverted

bool iv::channels::DigitalChannel::m_inverted
inherited

◆ m_isEnabled

bool iv::channels::AbstractChannel::m_isEnabled
inherited

◆ m_lastNetworkOrigin

std::optional<iv::types::networkId> iv::channels::AbstractChannel::m_lastNetworkOrigin {}
inherited

◆ m_lastReceivedAlarm

std::atomic<iv::alarms::Alarm> iv::channels::AbstractChannel::m_lastReceivedAlarm
inherited

◆ m_lastReceivedValue

std::atomic<iv::channels::Value> iv::channels::AbstractChannel::m_lastReceivedValue
inherited

◆ m_lastStationOrigin

std::optional<iv::types::stationId> iv::channels::AbstractChannel::m_lastStationOrigin {}
inherited

◆ m_mutexUpdate

std::mutex iv::channels::AbstractChannel::m_mutexUpdate
inherited

Controller

◆ m_networkOrigin

std::optional<iv::types::networkId> iv::channels::AbstractChannel::m_networkOrigin {}
inherited

◆ m_offDelay

iv::types::delay iv::channels::DigitalChannel::m_offDelay
inherited

◆ m_onDelay

iv::types::delay iv::channels::DigitalChannel::m_onDelay
inherited

◆ m_shipyardTag

std::string iv::channels::AbstractChannel::m_shipyardTag
inherited

◆ m_shouldCalculateAlarm

std::atomic<bool> iv::channels::AbstractChannel::m_shouldCalculateAlarm
inherited

◆ m_specificType

iv::channels::eChannelSpecificType iv::channels::AbstractChannel::m_specificType
inherited

◆ m_stationOrigin

std::optional<iv::types::stationId> iv::channels::AbstractChannel::m_stationOrigin {}
inherited

◆ m_tag

iv::types::channelId iv::channels::AbstractChannel::m_tag
inherited

◆ m_value

std::atomic<iv::channels::Value> iv::channels::AbstractChannel::m_value
inherited

◆ m_verificationStatus

iv::model::diamar::eVerificationStatus iv::channels::AbstractChannel::m_verificationStatus
inherited

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