QP/C 8.1.3
Real-Time Event Framework
Loading...
Searching...
No Matches
qpc.h File Reference

QP/C Framework in C interface including the backwards-compatibility layer. More...

#include "qp_port.h"
#include "qsafe.h"
#include "qs_port.h"

Go to the source code of this file.

Macros

#define QP_API_VERSION   0
#define QS_AO_ID   QS_ID_AO
#define QS_EP_ID   QS_ID_EP
#define QS_EQ_ID   QS_ID_EQ
#define QS_AP_ID   QS_ID_AP
#define QM_SUPER_SUB(host_)
#define QM_TRAN_EP(tatbl_)
#define QM_TRAN_XP(xp_, tatbl_)
#define QACTIVE_START(me_, prioSpec_, qSto_, qLen_, stkSto_, stkSize_, par_)
#define QXTHREAD_START(me_, prioSpec_, qSto_, qLen_, stkSto_, stkSize_, par_)
#define Q_onAssert(module_, id_)
#define Q_ALLEGE_ID(id_, expr_)
#define Q_ALLEGE(expr_)
#define Q_ASSERT_COMPILE(expr_)
#define QHSM_INIT(me_, par_, qsId_)
#define QHSM_DISPATCH(me_, e_, qsId_)
#define QHsm_isIn(me_, state_)
#define QF_PUBLISH(e_, sender_)
#define QF_TICK_X(tickRate_, sender_)
 Invoke the system clock tick processing.
#define QF_TICK(sender_)
 Invoke the system clock tick processing.
#define QF_getQueueMin(prio_)

Typedefs

typedef char char_t

Enumerations

enum  QS_Groups_old {
  QS_ALL_RECORDS = QS_GRP_ALL , QS_SM_RECORDS = QS_GRP_SM , QS_AO_RECORDS = QS_GRP_AO , QS_EQ_RECORDS = QS_GRP_EQ ,
  QS_MP_RECORDS = QS_GRP_MP , QS_TE_RECORDS = QS_GRP_TE , QS_QF_RECORDS = QS_GRP_QF , QS_SC_RECORDS = QS_GRP_SC ,
  QS_SEM_RECORDS = QS_GRP_SEM , QS_MTX_RECORDS = QS_GRP_MTX , QS_U0_RECORDS = QS_GRP_U0 , QS_U1_RECORDS = QS_GRP_U1 ,
  QS_U2_RECORDS = QS_GRP_U2 , QS_U3_RECORDS = QS_GRP_U3 , QS_U4_RECORDS = QS_GRP_U4 , QS_UA_RECORDS = QS_GRP_UA
}
enum  QS_LocGroups_old {
  QS_ALL_IDS = QS_IDS_ALL , QS_AO_IDS = QS_IDS_AO , QS_EP_IDS = QS_IDS_EP , QS_EQ_IDS = QS_IDS_EQ ,
  QS_AP_IDS = QS_IDS_AP
}
enum  QS_ObjKind_old {
  SM_OBJ = QS_OBJ_SM , AO_OBJ = QS_OBJ_AO , MP_OBJ = QS_OBJ_MP , EQ_OBJ = QS_OBJ_EQ ,
  TE_OBJ = QS_OBJ_TE , AP_OBJ = QS_OBJ_AP , SM_AO_OBJ = QS_OBJ_SM_AO
}

Detailed Description

QP/C Framework in C interface including the backwards-compatibility layer.

Definition in file qpc.h.

Macro Definition Documentation

◆ QP_API_VERSION

#define QP_API_VERSION   0

Definition at line 41 of file qpc.h.

◆ QS_AO_ID

#define QS_AO_ID   QS_ID_AO

Definition at line 84 of file qpc.h.

◆ QS_EP_ID

#define QS_EP_ID   QS_ID_EP

Definition at line 85 of file qpc.h.

◆ QS_EQ_ID

#define QS_EQ_ID   QS_ID_EQ

Definition at line 86 of file qpc.h.

◆ QS_AP_ID

#define QS_AP_ID   QS_ID_AP

Definition at line 87 of file qpc.h.

◆ QM_SUPER_SUB

#define QM_SUPER_SUB ( host_)
Value:
error "submachines no longer supported"
Deprecated
submachines no longer supported

Definition at line 106 of file qpc.h.

◆ QM_TRAN_EP

#define QM_TRAN_EP ( tatbl_)
Value:
error "submachines no longer supported"
Deprecated
submachines no longer supported

Definition at line 109 of file qpc.h.

◆ QM_TRAN_XP

#define QM_TRAN_XP ( xp_,
tatbl_ )
Value:
error "submachines no longer supported"
Deprecated
submachines no longer supported

Definition at line 112 of file qpc.h.

◆ QACTIVE_START

#define QACTIVE_START ( me_,
prioSpec_,
qSto_,
qLen_,
stkSto_,
stkSize_,
par_ )
Value:
(QActive_start((QActive *)(me_), (prioSpec_), \
(qSto_), (qLen_), (stkSto_), (stkSize_), (par_)))
Active object class (based on the QHsm implementation strategy).
Definition qp.h:450
Deprecated
Macro for starting an Active Object. Use QActive::QActive_start() instead.

Definition at line 124 of file qpc.h.

◆ QXTHREAD_START

#define QXTHREAD_START ( me_,
prioSpec_,
qSto_,
qLen_,
stkSto_,
stkSize_,
par_ )
Value:
(QXThread_start((QXThread *)(me_), (prioSpec_), \
(qSto_), (qLen_), (stkSto_), (stkSize_), (par_)))
eXtended (blocking) thread of the QXK preemptive kernel
Definition qxk.h:88
Deprecated
Macro for starting an eXtended Thread. Use QXThread::QXThread_start() instead.

Definition at line 130 of file qpc.h.

◆ Q_onAssert

#define Q_onAssert ( module_,
id_ )
Value:
Q_onError(module_, id_)
Q_NORETURN Q_onError(char const *const module, int_t const id)
Custom error handler Callback function invoked after detecting an error (part of QP Functional Safety...
Deprecated
assertion failure handler, use custom error handler instead Use Q_onError() instead.

Definition at line 136 of file qpc.h.

◆ Q_ALLEGE_ID

#define Q_ALLEGE_ID ( id_,
expr_ )
Value:
if (!(expr_)) { \
QF_CRIT_STAT \
QF_CRIT_ENTRY(); \
Q_onError(&Q_this_module_[0], (id_)); \
QF_CRIT_EXIT(); \
} else ((void)0)
Deprecated
general purpose assertion with user-specified ID number that always evaluates the expr_ expression.
Note
The use of this macro is no longer recommended.

Definition at line 159 of file qpc.h.

◆ Q_ALLEGE

#define Q_ALLEGE ( expr_)
Value:
Q_ALLEGE_ID(__LINE__, (expr_))
#define Q_ALLEGE_ID(id_, expr_)
Definition qpc.h:159
Deprecated
general-purpose assertion that always evaluates the expr_ expression.
Note
The use of this macro is no longer recommended.

Definition at line 171 of file qpc.h.

◆ Q_ASSERT_COMPILE

#define Q_ASSERT_COMPILE ( expr_)
Value:
#define Q_ASSERT_STATIC(expr_)
Static (compile-time) assertion.
Definition qsafe.h:114

Static (compile-time) assertion.

Deprecated
Use Q_ASSERT_STATIC() or better yet _Static_assert() instead.

Definition at line 176 of file qpc.h.

◆ QHSM_INIT

#define QHSM_INIT ( me_,
par_,
qsId_ )
Value:
QASM_INIT((me_), (par_), (qsId_))
#define QASM_INIT(me_, par_, qsId_)
Virtual call to the top-most initial transition in a state machine.
Definition qp.h:221
Deprecated
instead use: QASM_INIT()

Definition at line 188 of file qpc.h.

◆ QHSM_DISPATCH

#define QHSM_DISPATCH ( me_,
e_,
qsId_ )
Value:
QASM_DISPATCH((me_), (e_), (qsId_))
#define QASM_DISPATCH(me_, e_, qsId_)
Virtual call to dispatch an event to a state machine.
Definition qp.h:223
Deprecated
instead use: QASM_DISPATCH()

Definition at line 191 of file qpc.h.

◆ QHsm_isIn

#define QHsm_isIn ( me_,
state_ )
Value:
QASM_IS_IN((QAsm *)(me_), (state_))
#define QASM_IS_IN(me_, stateHndl_)
Virtual call to check whether a state machine is in a given state.
Definition qp.h:225
Abstract State Machine class (state machine interface).
Definition qp.h:181
Deprecated
instead use: QASM_IS_IN()

Definition at line 194 of file qpc.h.

◆ QF_PUBLISH

#define QF_PUBLISH ( e_,
sender_ )
Value:
QACTIVE_PUBLISH((e_), (sender_))
#define QACTIVE_PUBLISH(e_, sender_)
Publish an event to all subscriber Active Objects.
Definition qp.h:767

Definition at line 196 of file qpc.h.

◆ QF_TICK_X

#define QF_TICK_X ( tickRate_,
sender_ )
Value:
QTIMEEVT_TICK_X((tickRate_), (sender_))
#define QTIMEEVT_TICK_X(tickRate_, sender_)
Invoke the system clock tick processing QTimeEvt_tick_().
Definition qp.h:769

Invoke the system clock tick processing.

Deprecated
superseded by QTIMEEVT_TICK_X()

Forward Traceability

Definition at line 197 of file qpc.h.

◆ QF_TICK

#define QF_TICK ( sender_)
Value:
QTIMEEVT_TICK(sender_)
#define QTIMEEVT_TICK(sender_)
Invoke the system clock tick processing for tick rate 0.
Definition qp.h:782

Invoke the system clock tick processing.

Deprecated
superseded by QTIMEEVT_TICK()

Forward Traceability

Definition at line 198 of file qpc.h.

◆ QF_getQueueMin

#define QF_getQueueMin ( prio_)
Value:
(QActive_getQueueMin((prio_)))
Deprecated
instead use: QActive::QActive_getQueueMin()

Definition at line 201 of file qpc.h.

Typedef Documentation

◆ char_t

typedef char char_t
Deprecated
plain 'char' is no longer forbidden in MISRA-C:2025

Definition at line 120 of file qpc.h.

Enumeration Type Documentation

◆ QS_Groups_old

Deprecated
instead use: QS_Groups
Enumerator
QS_ALL_RECORDS 
QS_SM_RECORDS 
QS_AO_RECORDS 
QS_EQ_RECORDS 
QS_MP_RECORDS 
QS_TE_RECORDS 
QS_QF_RECORDS 
QS_SC_RECORDS 
QS_SEM_RECORDS 
QS_MTX_RECORDS 
QS_U0_RECORDS 
QS_U1_RECORDS 
QS_U2_RECORDS 
QS_U3_RECORDS 
QS_U4_RECORDS 
QS_UA_RECORDS 

Definition at line 57 of file qpc.h.

◆ QS_LocGroups_old

Deprecated
instead use: QS_LocGroups
Enumerator
QS_ALL_IDS 
QS_AO_IDS 
QS_EP_IDS 
QS_EQ_IDS 
QS_AP_IDS 

Definition at line 77 of file qpc.h.

◆ QS_ObjKind_old

Deprecated
instead use: enum QS_ObjKind
Enumerator
SM_OBJ 
AO_OBJ 
MP_OBJ 
EQ_OBJ 
TE_OBJ 
AP_OBJ 
SM_AO_OBJ 

Definition at line 90 of file qpc.h.