QP/C++  7.3.3
Real-Time Embedded Framework
Loading...
Searching...
No Matches
qv.hpp File Reference

QV/C++ (non-preemptive kernel) platform-independent public interface. More...

Go to the source code of this file.

Classes

class  QP::QV::Attr
 Private attributes of the QV kernel. More...
 

Namespaces

namespace  QP
 QP/C++ framework.
 
namespace  QP::QV
 cooperative, non-preemptive kernel
 

Macros

#define QF_SCHED_STAT_
 
#define QF_SCHED_LOCK_(dummy)   (static_cast<void>(0))
 
#define QF_SCHED_UNLOCK_()   (static_cast<void>(0))
 
#define QACTIVE_EQUEUE_WAIT_(me_)    Q_ASSERT_INCRIT(310, (me_)->m_eQueue.m_frontEvt != nullptr)
 
#define QACTIVE_EQUEUE_SIGNAL_(me_)
 
#define QF_EPOOL_TYPE_   QMPool
 
#define QF_EPOOL_INIT_(p_, poolSto_, poolSize_, evtSize_)    (p_).init((poolSto_), (poolSize_), (evtSize_))
 
#define QF_EPOOL_EVENT_SIZE_(p_)   ((p_).getBlockSize())
 
#define QF_EPOOL_GET_(p_, e_, m_, qsId_)    ((e_) = static_cast<QEvt *>((p_).get((m_), (qsId_))))
 
#define QF_EPOOL_PUT_(p_, e_, qsId_)   ((p_).put((e_), (qsId_)))
 

Functions

void QP::QV::schedDisable (std::uint_fast8_t const ceiling)
 
void QP::QV::schedEnable ()
 
void QP::QV::onIdle ()
 

Variables

QV::Attr QP::QV::priv_
 

Detailed Description

QV/C++ (non-preemptive kernel) platform-independent public interface.

Traceability
  • DVP-QP-MC4-D04_08

Definition in file qv.hpp.

Macro Definition Documentation

◆ QF_SCHED_STAT_

#define QF_SCHED_STAT_

Definition at line 88 of file qv.hpp.

◆ QF_SCHED_LOCK_

#define QF_SCHED_LOCK_ (   dummy)    (static_cast<void>(0))

Definition at line 91 of file qv.hpp.

◆ QF_SCHED_UNLOCK_

#define QF_SCHED_UNLOCK_ ( )    (static_cast<void>(0))

Definition at line 94 of file qv.hpp.

◆ QACTIVE_EQUEUE_WAIT_

#define QACTIVE_EQUEUE_WAIT_ (   me_)     Q_ASSERT_INCRIT(310, (me_)->m_eQueue.m_frontEvt != nullptr)

Definition at line 97 of file qv.hpp.

◆ QACTIVE_EQUEUE_SIGNAL_

#define QACTIVE_EQUEUE_SIGNAL_ (   me_)
Value:
QV::priv_.readySet.insert((me_)->m_prio); \
QV::priv_.readySet.update_(&QV::priv_.readySet_dis)

Definition at line 102 of file qv.hpp.

◆ QF_EPOOL_TYPE_

#define QF_EPOOL_TYPE_   QMPool

Definition at line 117 of file qv.hpp.

◆ QF_EPOOL_INIT_

#define QF_EPOOL_INIT_ (   p_,
  poolSto_,
  poolSize_,
  evtSize_ 
)     (p_).init((poolSto_), (poolSize_), (evtSize_))

Definition at line 120 of file qv.hpp.

◆ QF_EPOOL_EVENT_SIZE_

#define QF_EPOOL_EVENT_SIZE_ (   p_)    ((p_).getBlockSize())

Definition at line 124 of file qv.hpp.

◆ QF_EPOOL_GET_

#define QF_EPOOL_GET_ (   p_,
  e_,
  m_,
  qsId_ 
)     ((e_) = static_cast<QEvt *>((p_).get((m_), (qsId_))))

Definition at line 127 of file qv.hpp.

◆ QF_EPOOL_PUT_

#define QF_EPOOL_PUT_ (   p_,
  e_,
  qsId_ 
)    ((p_).put((e_), (qsId_)))

Definition at line 131 of file qv.hpp.