QP/C  7.0.0
Real-Time Embedded Framework
qf_actq.c File Reference

QActive native queue operations (based on QEQueue) More...

#include "qf_port.h"
#include "qf_pkg.h"
#include "qassert.h"
#include "qs_port.h"
#include "qs_pkg.h"

Go to the source code of this file.

Macros

#define QTICKER_CAST_(me_)   ((QActive *)(me_))
 

Functions

static void QTicker_init_ (QHsm *const me, void const *par, uint_fast8_t const qs_id)
 
static void QTicker_dispatch_ (QHsm *const me, QEvt const *const e, uint_fast8_t const qs_id)
 
static bool QTicker_post_ (QActive *const me, QEvt const *const e, uint_fast16_t const margin, void const *const sender)
 
static void QTicker_postLIFO_ (QActive *const me, QEvt const *const e)
 
void QTicker_ctor (QTicker *const me, uint_fast8_t tickRate)
 

Detailed Description

Date
Last updated on: 2021-12-23
Version
Last updated for: Version 7.0.0, 2022-04-30
Note
this source file is only included in the application build when the native QF active object queue is used (instead of a message queue of an RTOS).

Definition in file qf_actq.c.

Macro Definition Documentation

◆ QTICKER_CAST_

#define QTICKER_CAST_ (   me_)    ((QActive *)(me_))

Perform downcast to QTicker pointer.

This macro encapsulates the downcast to (QTicker *), which is used in QTicker_init_() and QTicker_dispatch_(). Such casts violate MISRA-C 2012 Rule 11.3(req) "cast from pointer to object type to pointer to different object type".

Definition at line 415 of file qf_actq.c.

Function Documentation

◆ QTicker_init_()

static void QTicker_init_ ( QHsm *const  me,
void const *  par,
uint_fast8_t const  qs_id 
)
static

◆ QTicker_dispatch_()

static void QTicker_dispatch_ ( QHsm *const  me,
QEvt const *const  e,
uint_fast8_t const  qs_id 
)
static

◆ QTicker_post_()

static bool QTicker_post_ ( QActive *const  me,
QEvt const *const  e,
uint_fast16_t const  margin,
void const *const  sender 
)
static

virtual function to asynchronously post (FIFO) an event to an AO

Definition at line 485 of file qf_actq.c.

◆ QTicker_postLIFO_()

static void QTicker_postLIFO_ ( QActive *const  me,
QEvt const *const  e 
)
static

◆ QTicker_ctor()

void QTicker_ctor ( QTicker *const  me,
uint_fast8_t  tickRate 
)

"constructor" of QTicker

Definition at line 419 of file qf_actq.c.