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"
#include "cmsis_os.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   2500 /* Timeout in ms -> 5sec @ 2ms */
 
#define MAIL_ISR_TO_THREAD_PERIOD   2 /* Interrupt period in miliseconds */
 
#define MAIL_ISR_TO_THREAD_TIMEOUT   2500 /* Timeout in ms -> 5sec @ 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)
 
 osMailQDef (MailQ_Isr, 1, uint32_t)
 
static void Isr_MailReceive (void)
 
static void Isr_MailSend (void)
 
void MailQueue_IRQHandler (void)
 
void CreateMailQueue (void)
 
void TC_MailAlloc (void)
 Test case: TC_MailAlloc.
 
void TC_MailCAlloc (void)
 Test case: TC_MailCAlloc.
 
void TC_MailToThread (void)
 Test case: TC_MailToThread.
 
void TC_MailFromThread (void)
 Test case: TC_MailFromThread.
 
void TC_MailTimeout (void)
 Test case: TC_MailTimeout.
 
void TC_MailParam (void)
 Test case: TC_MailParam.
 
void TC_MailInterrupts (void)
 Test case: TC_MailInterrupts.
 
void TC_MailFromThreadToISR (void)
 Test case: TC_MailFromThreadToISR.
 
void TC_MailFromISRToThread (void)
 Test case: TC_MailFromISRToThread.
 

Variables

osThreadId G_MailQ_ThreadId
 
osTimerId G_MailQ_TimerId
 
int32_t G_MailQ_TimerTimeout
 
int32_t G_MailQ_TimerPeriod
 
uint32_t G_MailQ_Counter
 
osMailQId MailQ_Id
 
osThreadId ThId_Mail
 
osMailQId MailQId_Isr
 
MAIL_OBJMo_Isr
 
osEvent MailQ_Evt_Isr
 
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   2500 /* Timeout in ms -> 5sec @ 2ms */
#define MAIL_THREAD_TO_ISR_PERIOD   2 /* Interrupt period in miliseconds */
#define MAIL_THREAD_TO_ISR_TIMEOUT   2500 /* Timeout in ms -> 5sec @ 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 MailQueue_IRQHandler ( void  )
osMailQDef ( MailQ  ,
MAILQ_SZ  ,
MAIL_OBJ   
)
osMailQDef ( MailQ_Isr  ,
,
uint32_t   
)
osThreadDef ( Th_MailTr  ,
osPriorityNormal  ,
,
 
)
osTimerDef ( MailQ_PeriodicTimer  ,
MailQ_TimerCallback   
)
void Th_MailTr ( void const *  arg)

Variable Documentation

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