Embedded Artistry Framework
Embedded Systems C++ Framework
Classes | Macros | Typedefs | Functions
portmacro_cmsis.h File Reference
#include "app_util.h"
#include "nordic_common.h"
Include dependency graph for portmacro_cmsis.h:
This graph shows which files directly or indirectly include this file:

Classes

union  portISRState_t
 

Macros

#define portCHAR   char
 
#define portFLOAT   float
 
#define portDOUBLE   double
 
#define portLONG   long
 
#define portSHORT   short
 
#define portSTACK_TYPE   uint32_t
 
#define portBASE_TYPE   long
 
#define portMAX_DELAY   (TickType_t)0xffffffffUL
 
#define portTICK_TYPE_IS_ATOMIC   1
 
#define portSTACK_GROWTH   (-1)
 
#define portTICK_PERIOD_MS   ((TickType_t)1000 / configTICK_RATE_HZ)
 
#define portBYTE_ALIGNMENT   8
 
#define portNRF_RTC_REG   NRF_RTC1
 
#define portNRF_RTC_IRQn   RTC1_IRQn
 
#define portNRF_RTC_PRESCALER   ((uint32_t)(ROUNDED_DIV(configSYSTICK_CLOCK_HZ, configTICK_RATE_HZ) - 1))
 
#define portNRF_RTC_MAXTICKS   ((1U << 24) - 1U)
 
#define portPendSVSchedule()
 
#define portYIELD()   vPortTaskYield()
 
#define portEND_SWITCHING_ISR(xSwitchRequired)
 
#define portYIELD_FROM_ISR(x)   portEND_SWITCHING_ISR(x)
 
#define portSET_INTERRUPT_MASK_FROM_ISR()   ulPortDisableISR()
 
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)   vPortRestoreISR(x)
 
#define portDISABLE_INTERRUPTS()   vPortDisableISR()
 
#define portENABLE_INTERRUPTS()   vPortEnableISR()
 
#define portENTER_CRITICAL()   vPortEnterCritical()
 
#define portEXIT_CRITICAL()   vPortExitCritical()
 
#define portTASK_FUNCTION_PROTO(vFunction, pvParameters)   void vFunction(void* pvParameters)
 
#define portTASK_FUNCTION(vFunction, pvParameters)   void vFunction(void* pvParameters)
 
#define portSUPPRESS_TICKS_AND_SLEEP(xExpectedIdleTime)   vPortSuppressTicksAndSleep(xExpectedIdleTime)
 

Typedefs

typedef portSTACK_TYPE StackType_t
 
typedef long BaseType_t
 
typedef unsigned long UBaseType_t
 
typedef uint32_t TickType_t
 

Functions

void vPortEnterCritical (void)
 
void vPortExitCritical (void)
 
void vPortTaskYield (void)
 
void vPortSuppressTicksAndSleep (TickType_t xExpectedIdleTime)
 
__STATIC_INLINE void vPortDisableISR (void)
 
__STATIC_INLINE void vPortEnableISR (void)
 
__STATIC_INLINE uint32_t ulPortDisableISR (void)
 
__STATIC_INLINE void vPortRestoreISR (uint32_t state)
 

Class Documentation

◆ portISRState_t

union portISRState_t
Class Members
bool irq_nested
uint8_t sd_nested
uint32_t u32

Macro Definition Documentation

◆ portBASE_TYPE

#define portBASE_TYPE   long

◆ portBYTE_ALIGNMENT

#define portBYTE_ALIGNMENT   8

◆ portCHAR

#define portCHAR   char

◆ portCLEAR_INTERRUPT_MASK_FROM_ISR

#define portCLEAR_INTERRUPT_MASK_FROM_ISR (   x)    vPortRestoreISR(x)

◆ portDISABLE_INTERRUPTS

#define portDISABLE_INTERRUPTS ( )    vPortDisableISR()

◆ portDOUBLE

#define portDOUBLE   double

◆ portENABLE_INTERRUPTS

#define portENABLE_INTERRUPTS ( )    vPortEnableISR()

◆ portEND_SWITCHING_ISR

#define portEND_SWITCHING_ISR (   xSwitchRequired)
Value:
if((xSwitchRequired) != pdFALSE) \
{ \
portPendSVSchedule(); \
}

◆ portENTER_CRITICAL

#define portENTER_CRITICAL ( )    vPortEnterCritical()

◆ portEXIT_CRITICAL

#define portEXIT_CRITICAL ( )    vPortExitCritical()

◆ portFLOAT

#define portFLOAT   float

◆ portLONG

#define portLONG   long

◆ portMAX_DELAY

#define portMAX_DELAY   (TickType_t)0xffffffffUL

◆ portNRF_RTC_IRQn

#define portNRF_RTC_IRQn   RTC1_IRQn

◆ portNRF_RTC_MAXTICKS

#define portNRF_RTC_MAXTICKS   ((1U << 24) - 1U)

◆ portNRF_RTC_PRESCALER

#define portNRF_RTC_PRESCALER   ((uint32_t)(ROUNDED_DIV(configSYSTICK_CLOCK_HZ, configTICK_RATE_HZ) - 1))

◆ portNRF_RTC_REG

#define portNRF_RTC_REG   NRF_RTC1

◆ portPendSVSchedule

#define portPendSVSchedule ( )
Value:
do \
{ \
/* Set a PendSV to request a context switch. */ \
SCB->ICSR = SCB_ICSR_PENDSVSET_Msk; \
__SEV(); \
__DSB(); \
__ISB(); \
} while(0)

◆ portSET_INTERRUPT_MASK_FROM_ISR

#define portSET_INTERRUPT_MASK_FROM_ISR ( )    ulPortDisableISR()

◆ portSHORT

#define portSHORT   short

◆ portSTACK_GROWTH

#define portSTACK_GROWTH   (-1)

◆ portSTACK_TYPE

#define portSTACK_TYPE   uint32_t

◆ portSUPPRESS_TICKS_AND_SLEEP

#define portSUPPRESS_TICKS_AND_SLEEP (   xExpectedIdleTime)    vPortSuppressTicksAndSleep(xExpectedIdleTime)

◆ portTASK_FUNCTION

#define portTASK_FUNCTION (   vFunction,
  pvParameters 
)    void vFunction(void* pvParameters)

◆ portTASK_FUNCTION_PROTO

#define portTASK_FUNCTION_PROTO (   vFunction,
  pvParameters 
)    void vFunction(void* pvParameters)

◆ portTICK_PERIOD_MS

#define portTICK_PERIOD_MS   ((TickType_t)1000 / configTICK_RATE_HZ)

◆ portTICK_TYPE_IS_ATOMIC

#define portTICK_TYPE_IS_ATOMIC   1

◆ portYIELD

#define portYIELD ( )    vPortTaskYield()

◆ portYIELD_FROM_ISR

#define portYIELD_FROM_ISR (   x)    portEND_SWITCHING_ISR(x)

Typedef Documentation

◆ BaseType_t

typedef long BaseType_t

◆ StackType_t

◆ TickType_t

◆ UBaseType_t

typedef unsigned long UBaseType_t

Function Documentation

◆ ulPortDisableISR()

__STATIC_INLINE uint32_t ulPortDisableISR ( void  )

◆ vPortDisableISR()

__STATIC_INLINE void vPortDisableISR ( void  )

◆ vPortEnableISR()

__STATIC_INLINE void vPortEnableISR ( void  )

◆ vPortEnterCritical()

void vPortEnterCritical ( void  )

◆ vPortExitCritical()

void vPortExitCritical ( void  )

◆ vPortRestoreISR()

__STATIC_INLINE void vPortRestoreISR ( uint32_t  state)

◆ vPortSuppressTicksAndSleep()

void vPortSuppressTicksAndSleep ( TickType_t  xExpectedIdleTime)

◆ vPortTaskYield()

void vPortTaskYield ( void  )