doc: renamed project
This commit is contained in:
committed by
Sylvan Arnold
parent
244e516bd8
commit
32618389d1
221
pico-sensor/McuLib/src/McuCriticalSection.h
Normal file
221
pico-sensor/McuLib/src/McuCriticalSection.h
Normal file
@@ -0,0 +1,221 @@
|
||||
/* ###################################################################
|
||||
** This component module is generated by Processor Expert. Do not modify it.
|
||||
** Filename : McuCriticalSection.h
|
||||
** Project : FRDM-K64F_Generator
|
||||
** Processor : MK64FN1M0VLL12
|
||||
** Component : CriticalSection
|
||||
** Version : Component 01.015, Driver 01.00, CPU db: 3.00.000
|
||||
** Compiler : GNU C Compiler
|
||||
** Date/Time : 2021-11-25, 06:25, # CodeGen: 749
|
||||
** Abstract :
|
||||
**
|
||||
** Settings :
|
||||
** Component name : McuCriticalSection
|
||||
** SDK : McuLib
|
||||
** Use Processor Expert Default : no
|
||||
** Use FreeRTOS : no
|
||||
** Contents :
|
||||
** CriticalVariable - void McuCriticalSection_CriticalVariable(void);
|
||||
** EnterCritical - void McuCriticalSection_EnterCritical(void);
|
||||
** ExitCritical - void McuCriticalSection_ExitCritical(void);
|
||||
** Deinit - void McuCriticalSection_Deinit(void);
|
||||
** Init - void McuCriticalSection_Init(void);
|
||||
**
|
||||
** * Copyright (c) 2014-2021, Erich Styger
|
||||
** * Web: https://mcuoneclipse.com
|
||||
** * SourceForge: https://sourceforge.net/projects/mcuoneclipse
|
||||
** * Git: https://github.com/ErichStyger/McuOnEclipse_PEx
|
||||
** * All rights reserved.
|
||||
** *
|
||||
** * Redistribution and use in source and binary forms, with or without modification,
|
||||
** * are permitted provided that the following conditions are met:
|
||||
** *
|
||||
** * - Redistributions of source code must retain the above copyright notice, this list
|
||||
** * of conditions and the following disclaimer.
|
||||
** *
|
||||
** * - Redistributions in binary form must reproduce the above copyright notice, this
|
||||
** * list of conditions and the following disclaimer in the documentation and/or
|
||||
** * other materials provided with the distribution.
|
||||
** *
|
||||
** * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
** * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
** * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
** * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
** * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
** * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
** * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
** * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
** * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
** ###################################################################*/
|
||||
/*!
|
||||
** @file McuCriticalSection.h
|
||||
** @version 01.00
|
||||
** @brief
|
||||
**
|
||||
*/
|
||||
/*!
|
||||
** @addtogroup McuCriticalSection_module McuCriticalSection module documentation
|
||||
** @{
|
||||
*/
|
||||
|
||||
#ifndef __McuCriticalSection_H
|
||||
#define __McuCriticalSection_H
|
||||
|
||||
/* MODULE McuCriticalSection. */
|
||||
#include "McuLib.h" /* SDK and API used */
|
||||
#include "McuCriticalSectionconfig.h" /* configuration */
|
||||
|
||||
|
||||
/* other includes needed */
|
||||
#if McuCriticalSection_CONFIG_USE_RTOS_CRITICAL_SECTION
|
||||
#if McuLib_CONFIG_CPU_IS_ESP32
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h" /* FreeRTOS header file for taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros */
|
||||
#else
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h" /* FreeRTOS header file for taskENTER_CRITICAL() and taskEXIT_CRITICAL() macros */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/* workaround macros for wrong EnterCritical()/ExitCritical() in the low level drivers. */
|
||||
#define McuCriticalSection_CriticalVariableDrv() \
|
||||
McuCriticalSection_CriticalVariable()
|
||||
#define McuCriticalSection_EnterCriticalDrv() \
|
||||
McuCriticalSection_EnterCritical()
|
||||
#define McuCriticalSection_ExitCriticalDrv() \
|
||||
McuCriticalSection_ExitCritical()
|
||||
|
||||
#ifdef __HIWARE__
|
||||
#pragma MESSAGE DISABLE C3303 /* C3303 Implicit concatenation of strings */
|
||||
#endif
|
||||
|
||||
#if McuCriticalSection_CONFIG_USE_PEX_DEFAULT
|
||||
#define McuCriticalSection_CriticalVariable() /* nothing needed */
|
||||
#elif McuCriticalSection_CONFIG_USE_RTOS_CRITICAL_SECTION
|
||||
#define McuCriticalSection_CriticalVariable() /* nothing needed */
|
||||
#elif McuCriticalSection_CONFIG_USE_CUSTOM_CRITICAL_SECTION
|
||||
#if McuLib_CONFIG_CPU_IS_RISC_V
|
||||
#define McuCriticalSection_CriticalVariable() /* nothing needed */
|
||||
#else
|
||||
#define McuCriticalSection_CriticalVariable() uint8_t cpuSR; /* variable to store current status */
|
||||
#endif
|
||||
#endif
|
||||
/*
|
||||
** ===================================================================
|
||||
** Method : CriticalVariable (component CriticalSection)
|
||||
**
|
||||
** Description :
|
||||
** Defines a variable if necessary. This is a macro.
|
||||
** Parameters : None
|
||||
** Returns : Nothing
|
||||
** ===================================================================
|
||||
*/
|
||||
|
||||
#if McuCriticalSection_CONFIG_USE_PEX_DEFAULT
|
||||
#define McuCriticalSection_EnterCritical() EnterCritical()
|
||||
#elif McuCriticalSection_CONFIG_USE_RTOS_CRITICAL_SECTION
|
||||
#define McuCriticalSection_EnterCritical() taskENTER_CRITICAL_FROM_ISR() /* FreeRTOS critical section inside interrupt */
|
||||
#elif McuCriticalSection_CONFIG_USE_CUSTOM_CRITICAL_SECTION
|
||||
#if McuLib_CONFIG_CPU_IS_RISC_V
|
||||
#define McuCriticalSection_EnterCritical() \
|
||||
do { \
|
||||
__asm volatile( "csrc mstatus, 8" ); /* Disable interrupts */ \
|
||||
} while(0)
|
||||
#elif McuLib_CONFIG_CPU_IS_ARM_CORTEX_M
|
||||
#define McuCriticalSection_EnterCritical() \
|
||||
do { \
|
||||
/*lint -save -esym(529,cpuSR) Symbol 'cpuSR' not subsequently referenced. */\
|
||||
__asm ( \
|
||||
"mrs r0, PRIMASK \n\t" \
|
||||
"cpsid i \n\t" \
|
||||
"strb r0, %[output] \n\t" \
|
||||
: [output] "=m" (cpuSR) :: "r0"); \
|
||||
__asm ("" ::: "memory"); \
|
||||
/*lint -restore Symbol 'cpuSR' not subsequently referenced. */\
|
||||
} while(0)
|
||||
#endif
|
||||
#endif
|
||||
/*
|
||||
** ===================================================================
|
||||
** Method : EnterCritical (component CriticalSection)
|
||||
**
|
||||
** Description :
|
||||
** Enters a critical section
|
||||
** Parameters : None
|
||||
** Returns : Nothing
|
||||
** ===================================================================
|
||||
*/
|
||||
|
||||
#if McuCriticalSection_CONFIG_USE_PEX_DEFAULT
|
||||
#define McuCriticalSection_ExitCritical() ExitCritical()
|
||||
#elif McuCriticalSection_CONFIG_USE_RTOS_CRITICAL_SECTION
|
||||
#define McuCriticalSection_ExitCritical() taskEXIT_CRITICAL_FROM_ISR(0) /* FreeRTOS critical section inside interrupt */
|
||||
#elif McuCriticalSection_CONFIG_USE_CUSTOM_CRITICAL_SECTION
|
||||
|
||||
#if McuLib_CONFIG_CPU_IS_RISC_V
|
||||
#define McuCriticalSection_ExitCritical() \
|
||||
do { \
|
||||
__asm volatile( "csrs mstatus, 8" ); /* Enable interrupts */ \
|
||||
} while(0)
|
||||
#elif McuLib_CONFIG_CPU_IS_ARM_CORTEX_M
|
||||
#define McuCriticalSection_ExitCritical() \
|
||||
do{ \
|
||||
__asm ( \
|
||||
"ldrb r0, %[input] \n\t" \
|
||||
"msr PRIMASK,r0 \n\t" \
|
||||
::[input] "m" (cpuSR) : "r0"); \
|
||||
} while(0)
|
||||
#endif
|
||||
#endif
|
||||
/*
|
||||
** ===================================================================
|
||||
** Method : ExitCritical (component CriticalSection)
|
||||
**
|
||||
** Description :
|
||||
** Exits a critical section
|
||||
** Parameters : None
|
||||
** Returns : Nothing
|
||||
** ===================================================================
|
||||
*/
|
||||
|
||||
void McuCriticalSection_Deinit(void);
|
||||
/*
|
||||
** ===================================================================
|
||||
** Method : Deinit (component CriticalSection)
|
||||
**
|
||||
** Description :
|
||||
** Driver de-initialization routine
|
||||
** Parameters : None
|
||||
** Returns : Nothing
|
||||
** ===================================================================
|
||||
*/
|
||||
|
||||
void McuCriticalSection_Init(void);
|
||||
/*
|
||||
** ===================================================================
|
||||
** Method : Init (component CriticalSection)
|
||||
**
|
||||
** Description :
|
||||
** driver initialization routine
|
||||
** Parameters : None
|
||||
** Returns : Nothing
|
||||
** ===================================================================
|
||||
*/
|
||||
|
||||
/* END McuCriticalSection. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
/* ifndef __McuCriticalSection_H */
|
||||
/*!
|
||||
** @}
|
||||
*/
|
||||
Reference in New Issue
Block a user