CuteHMI - Modbus (CuteHMI.Modbus.4)
cutehmi::modbus::AbstractRegisterController Class Referenceabstract

Abstract register controller. More...

#include <cutehmi/modbus/AbstractRegisterController.hpp>

Inheritance diagram for cutehmi::modbus::AbstractRegisterController:
QObject QQmlParserStatus CuteHMI::Modbus::AbstractRegisterController cutehmi::modbus::Register16Controller cutehmi::modbus::Register1Controller CuteHMI::Modbus::Register16Controller cutehmi::modbus::HoldingRegisterController cutehmi::modbus::InputRegisterController cutehmi::modbus::CoilController cutehmi::modbus::DiscreteInputController CuteHMI::Modbus::HoldingRegisterController CuteHMI::Modbus::InputRegisterController CuteHMI::Modbus::CoilController CuteHMI::Modbus::DiscreteInputController

Public Types

enum  WriteMode { WRITE_DELAYED , WRITE_POSTPONED , WRITE_IMMEDIATE , WRITE_EXPLICIT }
 Write mode enum. More...
 

Signals

void deviceChanged ()
 
void addressChanged ()
 
void busyChanged ()
 
void readOnWriteChanged ()
 
void writeModeChanged ()
 
void writeDelayChanged ()
 
void enabledChanged ()
 

Public Member Functions

 AbstractRegisterController (QObject *parent=nullptr)
 
AbstractDevicedevice () const
 
void setDevice (AbstractDevice *device)
 
unsigned int address () const
 
void setAddress (unsigned int address)
 
bool busy () const
 
bool readOnWrite () const
 
void setReadOnWrite (bool readOnWrite)
 
WriteMode writeMode () const
 
void setWriteMode (WriteMode writeMode)
 
int writeDelay () const
 
void setWriteDelay (int writeDelay)
 
bool enabled () const
 
void setEnabled (bool enabled)
 
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () const const
 
 QObject (QObject *parent)
 
virtual ~QObject ()
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThreadthread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
void killTimer (int id)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectListchildren () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArraydynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 Q_CLASSINFO (Name, Value)
 
 Q_INTERFACES (...)
 
 Q_PROPERTY (...)
 
 Q_ENUMS (...)
 
 Q_FLAGS (...)
 
 Q_ENUM (...)
 
 Q_FLAG (...)
 
 Q_ENUM_NS (...)
 
 Q_FLAG_NS (...)
 
 Q_OBJECT Q_OBJECT
 
 Q_GADGET Q_GADGET
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SLOTS Q_SLOTS
 
 Q_SLOT Q_SLOT
 
 Q_EMIT Q_EMIT
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
virtual void classBegin ()=0
 
virtual void componentComplete ()=0
 

Static Public Attributes

static constexpr unsigned int INITIAL_ADDRESS = 0
 
static constexpr WriteMode INITIAL_WRITE_MODE = WRITE_DELAYED
 
static constexpr int INITIAL_WRITE_DELAY = 500
 
static constexpr bool INITIAL_BUSY = true
 
static constexpr bool INITIAL_READ_ON_WRITE = true
 
static constexpr bool INITIAL_ENABLED = true
 

Protected Slots

virtual void onRequestCompleted (QJsonObject request, QJsonObject reply)=0
 

Protected Member Functions

virtual void requestReadRegisters (quint16 address, quint16 amount, QUuid *requestId) const =0
 
virtual quint16 bytes () const =0
 
virtual void onDeviceDestroyed ()=0
 
void classBegin () override
 
void componentComplete () override
 
void setBusy (bool busy)
 
- Protected Member Functions inherited from QObject
QObjectsender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void timerEvent (QTimerEvent *event)
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 

Properties

cutehmi::modbus::AbstractDevicedevice
 Device associated with controller. More...
 
unsigned int address
 Register address. More...
 
bool busy
 Busy status. More...
 
bool readOnWrite
 Read-on-write. More...
 
WriteMode writeMode
 Write mode. More...
 
int writeDelay
 Write delay [ms]. More...
 
bool enabled
 Determines whether controller is enabled. More...
 
- Properties inherited from QObject
 objectName
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
- Public Attributes inherited from QObject
typedef QObjectList
 

Detailed Description

Abstract register controller.

Member Enumeration Documentation

◆ WriteMode

Write mode enum.

Enumerator
WRITE_DELAYED 

Writes are delayed. Write will be requested after amount of time specified by writeDelay property has passed.

WRITE_POSTPONED 

Writes are postponed, which means that write will not be requested until previous write has finished.

WRITE_IMMEDIATE 

Writes are requested immediately, which may creates a queue of pending writes if they are not proceeded fast enough.

WRITE_EXPLICIT 

Writes are explicit, i.e. write requires an explicit call to write value function.

Constructor & Destructor Documentation

◆ AbstractRegisterController()

cutehmi::modbus::AbstractRegisterController::AbstractRegisterController ( QObject parent = nullptr)

Member Function Documentation

◆ address()

unsigned int cutehmi::modbus::AbstractRegisterController::address ( ) const

◆ addressChanged

void cutehmi::modbus::AbstractRegisterController::addressChanged ( )
signal

◆ busy()

bool cutehmi::modbus::AbstractRegisterController::busy ( ) const

◆ busyChanged

void cutehmi::modbus::AbstractRegisterController::busyChanged ( )
signal

◆ bytes()

virtual quint16 cutehmi::modbus::AbstractRegisterController::bytes ( ) const
protectedpure virtual

◆ classBegin()

void cutehmi::modbus::AbstractRegisterController::classBegin ( )
overrideprotectedvirtual

Implements QQmlParserStatus.

◆ componentComplete()

void cutehmi::modbus::AbstractRegisterController::componentComplete ( )
overrideprotectedvirtual

Implements QQmlParserStatus.

◆ device()

AbstractDevice * cutehmi::modbus::AbstractRegisterController::device ( ) const

◆ deviceChanged

void cutehmi::modbus::AbstractRegisterController::deviceChanged ( )
signal

◆ enabled()

bool cutehmi::modbus::AbstractRegisterController::enabled ( ) const

◆ enabledChanged

void cutehmi::modbus::AbstractRegisterController::enabledChanged ( )
signal

◆ onDeviceDestroyed()

virtual void cutehmi::modbus::AbstractRegisterController::onDeviceDestroyed ( )
protectedpure virtual

◆ onRequestCompleted

virtual void cutehmi::modbus::AbstractRegisterController::onRequestCompleted ( QJsonObject  request,
QJsonObject  reply 
)
protectedpure virtualslot

◆ readOnWrite()

bool cutehmi::modbus::AbstractRegisterController::readOnWrite ( ) const

◆ readOnWriteChanged

void cutehmi::modbus::AbstractRegisterController::readOnWriteChanged ( )
signal

◆ requestReadRegisters()

virtual void cutehmi::modbus::AbstractRegisterController::requestReadRegisters ( quint16  address,
quint16  amount,
QUuid requestId 
) const
protectedpure virtual

◆ setAddress()

void cutehmi::modbus::AbstractRegisterController::setAddress ( unsigned int  address)

◆ setBusy()

void cutehmi::modbus::AbstractRegisterController::setBusy ( bool  busy)
protected

◆ setDevice()

void cutehmi::modbus::AbstractRegisterController::setDevice ( AbstractDevice device)

◆ setEnabled()

void cutehmi::modbus::AbstractRegisterController::setEnabled ( bool  enabled)

◆ setReadOnWrite()

void cutehmi::modbus::AbstractRegisterController::setReadOnWrite ( bool  readOnWrite)

◆ setWriteDelay()

void cutehmi::modbus::AbstractRegisterController::setWriteDelay ( int  writeDelay)

◆ setWriteMode()

void cutehmi::modbus::AbstractRegisterController::setWriteMode ( AbstractRegisterController::WriteMode  writeMode)

◆ writeDelay()

int cutehmi::modbus::AbstractRegisterController::writeDelay ( ) const

◆ writeDelayChanged

void cutehmi::modbus::AbstractRegisterController::writeDelayChanged ( )
signal

◆ writeMode()

AbstractRegisterController::WriteMode cutehmi::modbus::AbstractRegisterController::writeMode ( ) const

◆ writeModeChanged

void cutehmi::modbus::AbstractRegisterController::writeModeChanged ( )
signal

Member Data Documentation

◆ INITIAL_ADDRESS

constexpr unsigned int cutehmi::modbus::AbstractRegisterController::INITIAL_ADDRESS = 0
staticconstexpr

◆ INITIAL_BUSY

constexpr bool cutehmi::modbus::AbstractRegisterController::INITIAL_BUSY = true
staticconstexpr

◆ INITIAL_ENABLED

constexpr bool cutehmi::modbus::AbstractRegisterController::INITIAL_ENABLED = true
staticconstexpr

◆ INITIAL_READ_ON_WRITE

constexpr bool cutehmi::modbus::AbstractRegisterController::INITIAL_READ_ON_WRITE = true
staticconstexpr

◆ INITIAL_WRITE_DELAY

constexpr int cutehmi::modbus::AbstractRegisterController::INITIAL_WRITE_DELAY = 500
staticconstexpr

◆ INITIAL_WRITE_MODE

constexpr AbstractRegisterController::WriteMode cutehmi::modbus::AbstractRegisterController::INITIAL_WRITE_MODE = WRITE_DELAYED
staticconstexpr

Property Documentation

◆ address

unsigned int cutehmi::modbus::AbstractRegisterController::address
readwrite

Register address.

◆ busy

bool cutehmi::modbus::AbstractRegisterController::busy
read

Busy status.

Controller indicated that it's busy when there's pending read or write.

◆ device

cutehmi::modbus::AbstractDevice * cutehmi::modbus::AbstractRegisterController::device
readwrite

Device associated with controller.

◆ enabled

bool cutehmi::modbus::AbstractRegisterController::enabled
readwrite

Determines whether controller is enabled.

◆ readOnWrite

bool cutehmi::modbus::AbstractRegisterController::readOnWrite
readwrite

Read-on-write.

If true, then controller requests subsequent read upon write.

◆ writeDelay

int cutehmi::modbus::AbstractRegisterController::writeDelay
readwrite

Write delay [ms].

Relevant only when write mode is set to WRITE_DELAYED.

◆ writeMode

WriteMode cutehmi::modbus::AbstractRegisterController::writeMode
readwrite

Write mode.