QP-nano  6.6.0
qpn.h File Reference

QP-nano public interface including backwards-compatibility layer. More...

#include "qpn_conf.h"
#include "qfn_port.h"
#include "qassert.h"
Include dependency graph for qpn.h:

Go to the source code of this file.

Macros

#define QP_API_VERSION   0
 Macro that specifies the backwards compatibility with the QP-nano API version. More...
 
#define QMActive_ctor   QActive_ctor
 
#define QMsm_ctor   QHsm_ctor
 
#define QMSM_INIT(me_)   QHSM_INIT((me_))
 
#define QMSM_DISPATCH(me_)   QHSM_DISPATCH((me_))
 
#define QF_onIdle   QV_onIdle
 
#define Q_ROM_VAR
 
#define Q_REENTRANT
 
#define QMsm_init(me_)   QHSM_INIT((me_))
 
#define QMsm_dispatch(me_)   QMSM_DISPATCH((me_))
 
#define QActive_post(me_, sig_, par_)   QACTIVE_POST((me_), (sig_), (par_))
 Deprecated API defined for backwards-compatibility. More...
 
#define QActive_postISR(me_, sig_, par_)   QACTIVE_POST_ISR((me_), (sig_), (par_))
 Deprecated API defined for backwards-compatibility. More...
 
#define QActive_arm(me_, ticks_)   (QActive_armX((me_), (uint_fast8_t)0, (ticks_), 0U))
 Arming a one-shot time event for the default tick rate (rate 0); instead use QActive_armX() More...
 
#define QActive_disarm(me_)   (QActive_disarmX((me_), (uint_fast8_t)0))
 Disarming a time event for the default tick rate (rate 0); instead use QActive_disarmX() More...
 
#define QF_tickISR()   (QF_tickXISR((uint_fast8_t)0))
 System clock tick processing for the default tick rate 0; instead use QF_tickXISR() More...
 
#define QF_tick()   (QF_tickXISR((uint_fast8_t)0))
 Legacy API defined for backwards compatibility. More...
 

Typedefs

typedef QActiveCB QMActiveCB
 
typedef QActive QMActive
 
typedef QHsm QMsm
 
typedef QEvt QEvent
 

Detailed Description

QP-nano public interface including backwards-compatibility layer.

Definition in file qpn.h.

Macro Definition Documentation

◆ QP_API_VERSION

#define QP_API_VERSION   0

Macro that specifies the backwards compatibility with the QP-nano API version.

Description
This header file must be included directly or indirectly in all application modules (*.c files) that use QP-nano.
Description
For example, QP_API_VERSION=450 will cause generating the compatibility layer with QP-nano version 4.5.0 and newer, but not older than 4.5.0. QP_API_VERSION=0 causes generation of the compatibility layer "from the begining of time", which is the maximum backwards compatibilty. This is the default.

Conversely, QP_API_VERSION=9999 means that no compatibility layer should be generated. This setting is useful for checking if an application complies with the latest QP-nano API.

Definition at line 76 of file qpn.h.

◆ QMActive_ctor

#define QMActive_ctor   QActive_ctor
Deprecated:
QMActive constructor; instead use: QActive_ctor()

Definition at line 93 of file qpn.h.

◆ QMsm_ctor

#define QMsm_ctor   QHsm_ctor
Deprecated:
QMsm state machine constructor; instead use: QHsm_ctor()

Definition at line 96 of file qpn.h.

◆ QMSM_INIT

#define QMSM_INIT (   me_)    QHSM_INIT((me_))
Deprecated:
execute the top-most initial transition in QMsm; instead use QHSM_INIT()

Definition at line 101 of file qpn.h.

◆ QMSM_DISPATCH

#define QMSM_DISPATCH (   me_)    QHSM_DISPATCH((me_))
Deprecated:
dispatch an event to QMsm; instead use QHSM_DISPATCH()

Definition at line 104 of file qpn.h.

◆ QF_onIdle

#define QF_onIdle   QV_onIdle
Deprecated:
macro for cooperativew "Vanilla" kernel; instead use: QV_onIdle()

Definition at line 108 of file qpn.h.

◆ Q_ROM_VAR

#define Q_ROM_VAR
Deprecated:
macro for odd 8-bit CPUs.

Definition at line 118 of file qpn.h.

◆ Q_REENTRANT

#define Q_REENTRANT
Deprecated:
macro for odd 8-bit CPUs.

Definition at line 121 of file qpn.h.

◆ QMsm_init

#define QMsm_init (   me_)    QHSM_INIT((me_))
Deprecated:
execute the top-most initial transition in QMsm; instead use QMSM_INIT()

Definition at line 126 of file qpn.h.

◆ QMsm_dispatch

#define QMsm_dispatch (   me_)    QMSM_DISPATCH((me_))
Deprecated:
dispatch an event to QMsm; instead use QMSM_DISPATCH()

Definition at line 129 of file qpn.h.

◆ QActive_post

#define QActive_post (   me_,
  sig_,
  par_ 
)    QACTIVE_POST((me_), (sig_), (par_))

Deprecated API defined for backwards-compatibility.

Definition at line 133 of file qpn.h.

◆ QActive_postISR

#define QActive_postISR (   me_,
  sig_,
  par_ 
)    QACTIVE_POST_ISR((me_), (sig_), (par_))

Deprecated API defined for backwards-compatibility.

Definition at line 137 of file qpn.h.

◆ QActive_arm

#define QActive_arm (   me_,
  ticks_ 
)    (QActive_armX((me_), (uint_fast8_t)0, (ticks_), 0U))

Arming a one-shot time event for the default tick rate (rate 0); instead use QActive_armX()

Definition at line 148 of file qpn.h.

◆ QActive_disarm

#define QActive_disarm (   me_)    (QActive_disarmX((me_), (uint_fast8_t)0))

Disarming a time event for the default tick rate (rate 0); instead use QActive_disarmX()

Definition at line 158 of file qpn.h.

◆ QF_tickISR

#define QF_tickISR ( )    (QF_tickXISR((uint_fast8_t)0))

System clock tick processing for the default tick rate 0; instead use QF_tickXISR()

Definition at line 191 of file qpn.h.

◆ QF_tick

#define QF_tick ( )    (QF_tickXISR((uint_fast8_t)0))

Legacy API defined for backwards compatibility.

Definition at line 194 of file qpn.h.

Typedef Documentation

◆ QMActiveCB

Deprecated:
QMActive Control Block; instead use: QActiveCB.

Definition at line 84 of file qpn.h.

◆ QMActive

typedef QActive QMActive
Deprecated:
QMActive; instead use: QActive.

Definition at line 87 of file qpn.h.

◆ QMsm

typedef QHsm QMsm
Deprecated:
QMsm state machine; instead use: QHsm.

Definition at line 90 of file qpn.h.

◆ QEvent

typedef QEvt QEvent
Deprecated:
QP-nano event type; instead use QEvt

Definition at line 165 of file qpn.h.