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

Data Structures

struct  MAIL_OBJ
 

Macros

#define SIGNAL_MAIL_RCVD   0x01
 
#define SIGNAL_WAIT_TERM   0x02
 
#define SIGNAL_TIMER_TOUT   0x04
 
#define MAIL_BUF_SZ   32
 
#define MAILQ_SZ   8
 
#define MAIL_THREAD_TO_ISR_PERIOD   2 /* Interrupt period in miliseconds */
 
#define MAIL_THREAD_TO_ISR_TIMEOUT   50 /* Timeout in ms -> 100ms @ 2ms */
 
#define MAIL_ISR_TO_THREAD_PERIOD   2 /* Interrupt period in miliseconds */
 
#define MAIL_ISR_TO_THREAD_TIMEOUT   50 /* Timeout in ms -> 100ms @ 2ms */
 

Functions

 osMailQDef (MailQ, MAILQ_SZ, MAIL_OBJ)
 
void MailQ_TimerCallback (void const *arg)
 
 osTimerDef (MailQ_PeriodicTimer, MailQ_TimerCallback)
 
void Th_MailTr (void const *arg)
 
 osThreadDef (Th_MailTr, osPriorityNormal, 1, 0)
 
void Th_MailWakeup (void const *arg)
 
 osThreadDef (Th_MailWakeup, osPriorityAboveNormal, 1, 0)
 
 osMailQDef (MailQ_Isr, 1, uint32_t)
 
static void Isr_MailReceive (void)
 
static void Isr_MailSend (void)
 
void MailQueue_IRQHandler (void)
 
void MailQ_TimerCallback (void const __attribute__((unused))*arg)
 
void CreateMailQueue (void)
 
void Th_MailWakeup (void const __attribute__((unused))*arg)
 
void TC_MailAlloc (void)
 Test case: TC_MailAlloc. More...
 
void TC_MailCAlloc (void)
 Test case: TC_MailCAlloc. More...
 
void TC_MailToThread (void)
 Test case: TC_MailToThread. More...
 
void TC_MailFromThread (void)
 Test case: TC_MailFromThread. More...
 
void TC_MailTimeout (void)
 Test case: TC_MailTimeout. More...
 
void TC_MailCheckTimeout (void)
 Test case: TC_MailCheckTimeout. More...
 
void TC_MailParam (void)
 Test case: TC_MailParam. More...
 
void TC_MailInterrupts (void)
 Test case: TC_MailInterrupts. More...
 
void TC_MailFromThreadToISR (void)
 Test case: TC_MailFromThreadToISR. More...
 
void TC_MailFromISRToThread (void)
 Test case: TC_MailFromISRToThread. More...
 

Variables

static osThreadId G_MailQ_ThreadId
 
static osTimerId G_MailQ_TimerId
 
static int32_t G_MailQ_TimerTimeout
 
static int32_t G_MailQ_TimerPeriod
 
static uint32_t G_MailQ_Counter
 
static osMailQId MailQ_Id
 
static volatile osMailQId MailQId_Isr
 
static MAIL_OBJ *volatile Mo_Isr
 
static volatile osEvent MailQ_Evt_Isr
 
static volatile osStatus MailQ_Stat_Isr
 

Macro Definition Documentation

#define MAIL_BUF_SZ   32
#define MAIL_ISR_TO_THREAD_PERIOD   2 /* Interrupt period in miliseconds */
#define MAIL_ISR_TO_THREAD_TIMEOUT   50 /* Timeout in ms -> 100ms @ 2ms */
#define MAIL_THREAD_TO_ISR_PERIOD   2 /* Interrupt period in miliseconds */
#define MAIL_THREAD_TO_ISR_TIMEOUT   50 /* Timeout in ms -> 100ms @ 2ms */
#define MAILQ_SZ   8
#define SIGNAL_MAIL_RCVD   0x01
#define SIGNAL_TIMER_TOUT   0x04
#define SIGNAL_WAIT_TERM   0x02

Function Documentation

void CreateMailQueue ( void  )
static void Isr_MailReceive ( void  )
static
static void Isr_MailSend ( void  )
static
void MailQ_TimerCallback ( void const *  arg)
void MailQ_TimerCallback ( void const __attribute__((unused))*  arg)
void MailQueue_IRQHandler ( void  )
osMailQDef ( MailQ  ,
MAILQ_SZ  ,
MAIL_OBJ   
)
osMailQDef ( MailQ_Isr  ,
,
uint32_t   
)
osThreadDef ( Th_MailTr  ,
osPriorityNormal  ,
,
 
)
osThreadDef ( Th_MailWakeup  ,
osPriorityAboveNormal  ,
,
 
)
osTimerDef ( MailQ_PeriodicTimer  ,
MailQ_TimerCallback   
)
void Th_MailTr ( void const *  arg)
void Th_MailWakeup ( void const *  arg)
void Th_MailWakeup ( void const __attribute__((unused))*  arg)

Variable Documentation

uint32_t G_MailQ_Counter
static
osThreadId G_MailQ_ThreadId
static
osTimerId G_MailQ_TimerId
static
int32_t G_MailQ_TimerPeriod
static
int32_t G_MailQ_TimerTimeout
static
volatile osEvent MailQ_Evt_Isr
static
osMailQId MailQ_Id
static
volatile osStatus MailQ_Stat_Isr
static
volatile osMailQId MailQId_Isr
static
MAIL_OBJ* volatile Mo_Isr
static