CMSIS-RTOS Validation  Version 1.0
RTOS Validation
 All Data Structures Files Functions Variables Macros Groups Pages
RV_MsgQueue.c File Reference
#include <string.h>
#include "RV_Framework.h"
#include "cmsis_rv.h"

Macros

#define SIGNAL_TIMER_TOUT   0x04
 
#define MSGQ_SZ   16
 
#define MSG_THREAD_TO_ISR_PERIOD   2 /* Interrupt period in miliseconds */
 
#define MSG_THREAD_TO_ISR_TIMEOUT   50 /* Timeout in ms -> 100ms @ 2ms */
 
#define MSG_ISR_TO_THREAD_PERIOD   2 /* Interrupt period in miliseconds */
 
#define MSG_ISR_TO_THREAD_TIMEOUT   50 /* Timeout in ms -> 100ms @ 2ms */
 

Functions

 osMessageQDef (MsgQ, MSGQ_SZ, uint32_t)
 
void MsgQ_TimerCallback (void const *arg)
 
 osTimerDef (MsgQ_PeriodicTimer, MsgQ_TimerCallback)
 
void Th_MsgQWait (void const *arg)
 
 osThreadDef (Th_MsgQWait, osPriorityAboveNormal, 1, 0)
 
void Th_MsgQWakeup (void const *arg)
 
 osThreadDef (Th_MsgQWakeup, osPriorityAboveNormal, 1, 0)
 
 osMessageQDef (MsgQ_Isr, MSGQ_SZ, uint32_t)
 
static void Isr_MsgReceive (void)
 
static void Isr_MsgSend (void)
 
void MsgQueue_IRQHandler (void)
 
void MsgQ_TimerCallback (void const __attribute__((unused))*arg)
 
void CreateMessageQueue (void)
 
void Th_MsgQWakeup (void const __attribute__((unused))*arg)
 
void TC_MsgQBasic (void)
 Test case: TC_MsgQBasic. More...
 
void TC_MsgQWait (void)
 Test case: TC_MsgQWait. More...
 
void TC_MsgQCheckTimeout (void)
 Test case: TC_MsgQCheckTimeout. More...
 
void TC_MsgQParam (void)
 Test case: TC_MsgQParam. More...
 
void TC_MsgQInterrupts (void)
 Test case: TC_MsgQInterrupts. More...
 
void TC_MsgFromThreadToISR (void)
 Test case: TC_MsgFromThreadToISR. More...
 
void TC_MsgFromISRToThread (void)
 Test case: TC_MsgFromISRToThread. More...
 

Variables

static osThreadId G_MsgQ_ThreadId
 
static osTimerId G_MsgQ_TimerId
 
static int32_t G_MsgQ_TimerTimeout
 
static int32_t G_MsgQ_TimerPeriod
 
static uint32_t G_MsgQ_Counter
 
static osMessageQId MsgQ_Id
 
static uint32_t MsgWaitCnt
 
static volatile osMessageQId MsgQId_Isr
 
static volatile osStatus MsgQSt_Isr
 
static volatile osEvent MsgQEv_Isr
 

Macro Definition Documentation

#define MSG_ISR_TO_THREAD_PERIOD   2 /* Interrupt period in miliseconds */
#define MSG_ISR_TO_THREAD_TIMEOUT   50 /* Timeout in ms -> 100ms @ 2ms */
#define MSG_THREAD_TO_ISR_PERIOD   2 /* Interrupt period in miliseconds */
#define MSG_THREAD_TO_ISR_TIMEOUT   50 /* Timeout in ms -> 100ms @ 2ms */
#define MSGQ_SZ   16
#define SIGNAL_TIMER_TOUT   0x04

Function Documentation

void CreateMessageQueue ( void  )
static void Isr_MsgReceive ( void  )
static
static void Isr_MsgSend ( void  )
static
void MsgQ_TimerCallback ( void const *  arg)
void MsgQ_TimerCallback ( void const __attribute__((unused))*  arg)
void MsgQueue_IRQHandler ( void  )
osMessageQDef ( MsgQ  ,
MSGQ_SZ  ,
uint32_t   
)
osMessageQDef ( MsgQ_Isr  ,
MSGQ_SZ  ,
uint32_t   
)
osThreadDef ( Th_MsgQWait  ,
osPriorityAboveNormal  ,
,
 
)
osThreadDef ( Th_MsgQWakeup  ,
osPriorityAboveNormal  ,
,
 
)
osTimerDef ( MsgQ_PeriodicTimer  ,
MsgQ_TimerCallback   
)
void Th_MsgQWait ( void const *  arg)
void Th_MsgQWakeup ( void const *  arg)
void Th_MsgQWakeup ( void const __attribute__((unused))*  arg)

Variable Documentation

uint32_t G_MsgQ_Counter
static
osThreadId G_MsgQ_ThreadId
static
osTimerId G_MsgQ_TimerId
static
int32_t G_MsgQ_TimerPeriod
static
int32_t G_MsgQ_TimerTimeout
static
osMessageQId MsgQ_Id
static
volatile osEvent MsgQEv_Isr
static
volatile osMessageQId MsgQId_Isr
static
volatile osStatus MsgQSt_Isr
static
uint32_t MsgWaitCnt
static