Embedded Wireless Framework
Modules | Data Structures | Macros | Variables
The ThreadX platform

The ThreadX platform. More...

Modules

 Platform configuration (ThreadX)
 The definitions used to configure the Azure SD-NET platform.
 

Data Structures

struct  _ewf_platform_thread
 The platform thread structure. More...
 
struct  _ewf_platform_mutex
 The platform mutex structure. More...
 
struct  _ewf_platform_queue
 The platform queue structure. More...
 

Macros

#define EWF_PLATFORM_THREAD_STATIC_DECLARE(thread_ptr, thread_name_symb, thread_function_ptr_param, thread_function_data_param, stack_size_param, thread_priority_param)
 Declare statically a thread for the platform and initialize its data. More...
 
#define EWF_PLATFORM_MUTEX_STATIC_DECLARE(mutex_ptr, mutex_name_symb)
 Declare statically a mutex for the platform and initialize its data. More...
 
#define EWF_PLATFORM_QUEUE_STATIC_DECLARE(queue_ptr, queue_name_symb, item_type, item_count)
 Declare statically a queue for the platform and initialize its data. More...
 

Variables

TX_THREAD _ewf_platform_thread::thread
 
CHAR * _ewf_platform_thread::name_cstr
 
ewf_platform_thread_function _ewf_platform_thread::thread_function_ptr
 
void * _ewf_platform_thread::thread_function_data
 
VOID * _ewf_platform_thread::stack_ptr
 
unsigned _ewf_platform_thread::stack_size
 
UINT _ewf_platform_thread::priority
 
UINT _ewf_platform_thread::preempt_threshold
 
ULONG _ewf_platform_thread::time_slice
 
TX_SEMAPHORE _ewf_platform_mutex::sem
 
CHAR * _ewf_platform_mutex::name_cstr
 
TX_QUEUE _ewf_platform_queue::queue
 
CHAR * _ewf_platform_queue::name_cstr
 
UINT _ewf_platform_queue::message_size
 
VOID * _ewf_platform_queue::queue_start
 
ULONG _ewf_platform_queue::queue_size
 

Detailed Description

The ThreadX platform.

Macro Definition Documentation

◆ EWF_PLATFORM_MUTEX_STATIC_DECLARE

#define EWF_PLATFORM_MUTEX_STATIC_DECLARE (   mutex_ptr,
  mutex_name_symb 
)
Value:
do { \
static struct _ewf_platform_mutex _ewf_platform_mutex__##mutex_name_symb = {0}; \
_ewf_platform_mutex__##mutex_name_symb.name_cstr = #mutex_name_symb; \
mutex_ptr = &(_ewf_platform_mutex__##mutex_name_symb); \
} while(0)
The platform mutex structure.
Definition: ewf_platform_freertos.h:69

Declare statically a mutex for the platform and initialize its data.

Parameters
[in,out]mutex_ptra pointer to a _ewf_platform_mutex structure that will point to the statically declared mutex
[in]mutex_name_symba symbol that will be used to uniquely declare and name the mutex

◆ EWF_PLATFORM_QUEUE_STATIC_DECLARE

#define EWF_PLATFORM_QUEUE_STATIC_DECLARE (   queue_ptr,
  queue_name_symb,
  item_type,
  item_count 
)
Value:
do { \
static ULONG _ewf_platform_queue__buffer__##queue_name_symb[sizeof(item_type) * item_count]; \
static ewf_platform_queue _ewf_platform_queue__##queue_name_symb = {0}; \
_ewf_platform_queue__##queue_name_symb.name_cstr = #queue_name_symb; \
_ewf_platform_queue__##queue_name_symb.message_size = sizeof(item_type); \
_ewf_platform_queue__##queue_name_symb.queue_start = _ewf_platform_queue__buffer__##queue_name_symb; \
_ewf_platform_queue__##queue_name_symb.queue_size = sizeof(_ewf_platform_queue__buffer__##queue_name_symb); \
queue_ptr = &(_ewf_platform_queue__##queue_name_symb); \
} while(0)
The platform queue structure.
Definition: ewf_platform_bare_metal.h:74

Declare statically a queue for the platform and initialize its data.

Parameters
[in,out]queue_ptra pointer to a _ewf_platform_thread structure that will be made to point to the statically declared thread
[in]queue_name_symba symbol that will be used to uniquely declare and name the thread
[in]item_typetype queue item type
[in]item_countthe maximum number item the queue can contain

◆ EWF_PLATFORM_THREAD_STATIC_DECLARE

#define EWF_PLATFORM_THREAD_STATIC_DECLARE (   thread_ptr,
  thread_name_symb,
  thread_function_ptr_param,
  thread_function_data_param,
  stack_size_param,
  thread_priority_param 
)
Value:
do { \
static ULONG _ewf_platform_thread__stack__##thread_name_symb[stack_size_param / sizeof(ULONG)]; \
static struct _ewf_platform_thread _ewf_platform_thread__##thread_name_symb = {0}; \
_ewf_platform_thread__##thread_name_symb.name_cstr = #thread_name_symb; \
_ewf_platform_thread__##thread_name_symb.thread_function_ptr = thread_function_ptr_param; \
_ewf_platform_thread__##thread_name_symb.thread_function_data = thread_function_data_param; \
_ewf_platform_thread__##thread_name_symb.stack_ptr = _ewf_platform_thread__stack__##thread_name_symb; \
_ewf_platform_thread__##thread_name_symb.stack_size = stack_size_param; \
_ewf_platform_thread__##thread_name_symb.priority = thread_priority_param; \
_ewf_platform_thread__##thread_name_symb.preempt_threshold = thread_priority_param; \
_ewf_platform_thread__##thread_name_symb.time_slice = 1; \
thread_ptr = &(_ewf_platform_thread__##thread_name_symb); \
} while(0)
The platform thread structure.
Definition: ewf_platform_freertos.h:43

Declare statically a thread for the platform and initialize its data.

Parameters
[in,out]thread_ptra pointer to a _ewf_platform_thread structure that will point to the statically declared thread
[in]thread_name_symba symbol that will be used to uniquely declare and name the thread
[in]thread_functionthe thread function of the type ewf_platform_thread_function
[in]stack_size_paramthe thread stack size
[in]thread_priority_paramthe thread priority