CANopen FD Master Library
Making your systems precise, reliable and high-quality - 5.10.01
Signals | Static Public Member Functions
QCoEvent Class Reference

Detailed Description

The QCoEvent class provides a simple way to send a Qt signal when an event handler is called by the CANopen FD Master library. The QCoEvent class has only one single instance, the QCoEvent object is available from instance().

Example Code

The following code snippet defines a class MyCoMaster, defining slots for handling of EMCY and LSS events.

class MyCoMaster : public QObject {
Q_OBJECT
public:
MyCoMaster();
~MyCoMaster();
private slots:
void onEmcyConsEventReceive(uint8_t ubNetV, uint8_t ubNodeIdV);
void onLssEventReceive(uint8_t ubNetV, uint8_t ubLssProtocolV);
private:
void connectEvents(void);
};

The signals of the QCoEvent instance are connected to thier corresponding slots by the connectEvents() method.

void MyCoMaster::connectEvents(void)
{
QCoEvent * pclCoEventT = QCoEvent::instance();
connect(pclCoEventT, &QCoEvent::comEmcyConsEventReceive, this, &MyCoMaster::onEmcyConsEventReceive);
connect(pclCoEventT, &QCoEvent::comLssEventReceive, this, &MyCoMaster::onLssEventReceive);
}

Inherits QObject.

+ Collaboration diagram for QCoEvent:

Signals

void comEmcyConsEventReceive (uint8_t ubNetV, uint8_t ubNodeIdV)
 
void comLssEventReceive (uint8_t ubNetV, uint8_t ubLssProtocolV)
 
void comMgrEventBus (uint8_t ubNetV, CpState_ts *ptsBusStateV)
 
void comNmtEventActiveMaster (uint8_t ubNetV, uint8_t ubPriorityV, uint8_t ubNodeIdV)
 
void comNmtEventHeartbeat (uint8_t ubNetV, uint8_t ubNodeIdV)
 
void comNmtEventIdCollision (uint8_t ubNetV)
 
void comNmtEventMasterDetection (uint8_t ubNetV, uint8_t ubResultV)
 
void comNmtEventStateChange (uint8_t ubNetV, uint8_t ubNodeIdV, uint8_t ubNmtEventV)
 
void comPdoEventReceive (uint8_t ubNetV, uint16_t uwPdoNumV)
 
void comPdoEventTimeout (uint8_t ubNetV, uint16_t uwPdoNumV)
 
void comSdoEventObjectReady (uint8_t ubNetV, uint8_t ubNodeIdV, CoObject_ts *ptsCoObjV, uint32_t *pulAbortV)
 
void comSdoEventProgress (uint8_t ubNetV, uint8_t ubNodeIdV, uint16_t uwIndexV, uint8_t ubSubIndexV, uint32_t ulByteCntV)
 
void comSdoEventTimeout (uint8_t ubNetV, uint8_t ubNodeIdV, uint16_t uwIndexV, uint8_t ubSubIndexV)
 

Static Public Member Functions

static QCoEventinstance ()
 

Member Function Documentation

◆ comEmcyConsEventReceive

void QCoEvent::comEmcyConsEventReceive ( uint8_t  ubNetV,
uint8_t  ubNodeIdV 
)
signal
Parameters
[in]ubNetV- CANopen Network channel
[in]ubNodeIdV- Node-ID value of CANopen device
See also
ComEmcyConsEventReceive()

This signal is emitted upon reception of an EMCY message.

◆ comLssEventReceive

void QCoEvent::comLssEventReceive ( uint8_t  ubNetV,
uint8_t  ubLssProtocolV 
)
signal
Parameters
[in]ubNetV- CANopen Network channel
[in]ubLssProtocolV- LSS protocol
See also
ComLssEventReceive()

This signal is emitted upon an LSS response message issued by a LSS slave device.

◆ comMgrEventBus

void QCoEvent::comMgrEventBus ( uint8_t  ubNetV,
CpState_ts ptsBusStateV 
)
signal
Parameters
[in]ubNetV- CANopen Network channel
[in]ptsBusStateV- pointer to CpState_ts value of CAN bus
See also
ComMgrEventBus()

This signal is emitted upon a CAN-bus state change.

◆ comNmtEventActiveMaster

void QCoEvent::comNmtEventActiveMaster ( uint8_t  ubNetV,
uint8_t  ubPriorityV,
uint8_t  ubNodeIdV 
)
signal
Parameters
[in]ubNetV- CANopen Network channel
[in]ubPriorityV- LSS protocol
[in]ubNodeIdV- Node-ID value of CANopen device
See also
ComNmtEventActiveMaster()

This signal is emitted to indicate a NMT active master device.

◆ comNmtEventHeartbeat

void QCoEvent::comNmtEventHeartbeat ( uint8_t  ubNetV,
uint8_t  ubNodeIdV 
)
signal
Parameters
[in]ubNetV- CANopen Network channel
[in]ubNodeIdV- Node-ID value of CANopen device
See also
ComNmtEventHeartbeat()

This signal is emitted to indicate a NMT heartbeat event.

◆ comNmtEventIdCollision

void QCoEvent::comNmtEventIdCollision ( uint8_t  ubNetV)
signal
Parameters
[in]ubNetV- CANopen Network channel
See also
ComNmtEventIdCollision()

This signal is emitted to indicate an identifier collision.

◆ comNmtEventMasterDetection

void QCoEvent::comNmtEventMasterDetection ( uint8_t  ubNetV,
uint8_t  ubResultV 
)
signal
Parameters
[in]ubNetV- CANopen Network channel
[in]ubResultV- Result of NMT master detection
See also
ComNmtEventMasterDetection()

This signal is emitted to indicate the result on a NMT master detection procedure.

◆ comNmtEventStateChange

void QCoEvent::comNmtEventStateChange ( uint8_t  ubNetV,
uint8_t  ubNodeIdV,
uint8_t  ubNmtEventV 
)
signal
Parameters
[in]ubNetV- CANopen Network channel
[in]ubNodeIdV- Node-ID value of CANopen device
[in]ubNmtEventV- New NMT state
See also
ComNmtEventStateChange()

This signal is emitted to indicate a NMT state change of a CANopen slave device.

◆ comPdoEventReceive

void QCoEvent::comPdoEventReceive ( uint8_t  ubNetV,
uint16_t  uwPdoNumV 
)
signal
Parameters
[in]ubNetV- CANopen Network channel
[in]uwPdoNumV- PDO number
See also
ComPdoEventReceive()

This signal is emitted after reception of a PDO.

◆ comPdoEventTimeout

void QCoEvent::comPdoEventTimeout ( uint8_t  ubNetV,
uint16_t  uwPdoNumV 
)
signal
Parameters
[in]ubNetV- CANopen Network channel
[in]uwPdoNumV- PDO number
See also
ComPdoEventTimeout()

This signal is emitted in case of a time-out condition for a Receive PDO.

◆ comSdoEventObjectReady

void QCoEvent::comSdoEventObjectReady ( uint8_t  ubNetV,
uint8_t  ubNodeIdV,
CoObject_ts ptsCoObjV,
uint32_t *  pulAbortV 
)
signal
Parameters
[in]ubNetV- CANopen Network channel
[in]ubNodeIdV- Node-ID value of CANopen device
[in]ptsCoObjV- Pointer to object structure
[in]pulAbortV- Pointer to SDO abort code
See also
ComSdoEventObjectReady()

This signal is emitted to indicate the end of a SDO transfer.

◆ comSdoEventProgress

void QCoEvent::comSdoEventProgress ( uint8_t  ubNetV,
uint8_t  ubNodeIdV,
uint16_t  uwIndexV,
uint8_t  ubSubIndexV,
uint32_t  ulByteCntV 
)
signal
Parameters
[in]ubNetV- CANopen Network channel
[in]ubNodeIdV- Node-ID value of CANopen device
[in]uwIndexV- Object index value
[in]ubSubIndexV- Object sub-index value
[in]ulByteCntV- Byte counter value
See also
ComSdoEventProgress()

This signal is emitted to indicate the progress of a SDO block upload or download process.

◆ comSdoEventTimeout

void QCoEvent::comSdoEventTimeout ( uint8_t  ubNetV,
uint8_t  ubNodeIdV,
uint16_t  uwIndexV,
uint8_t  ubSubIndexV 
)
signal
Parameters
[in]ubNetV- CANopen Network channel
[in]ubNodeIdV- Node-ID value of CANopen device
[in]uwIndexV- Object index value
[in]ubSubIndexV- Object sub-index value
See also
ComSdoEventTimeout()

This signal is emitted to indicate a time-out condition for a SDO transfer.

◆ instance()

static QCoEvent* QCoEvent::instance ( )
static
Returns
Pointer to QCoEvent instance

Returns a pointer to the application's QCoEvent instance. If no instance has been allocated, null is returned.