Prusa MINI Firmware overview
stm32f4xx_hal_def.h File Reference

This file contains HAL common defines, enumeration, macros and structures definitions. More...

#include "stm32f4xx.h"
#include "Legacy/stm32_hal_legacy.h"
#include <stdio.h>

Go to the source code of this file.

Macros

#define UNUSED(X)   (void)X /* To avoid gcc/g++ warnings */
 
#define HAL_MAX_DELAY   0xFFFFFFFFU
 
#define HAL_IS_BIT_SET(REG, BIT)   (((REG) & (BIT)) != RESET)
 
#define HAL_IS_BIT_CLR(REG, BIT)   (((REG) & (BIT)) == RESET)
 
#define __HAL_LINKDMA(__HANDLE__, __PPP_DMA_FIELD__, __DMA_HANDLE__)
 
#define __HAL_RESET_HANDLE_STATE(__HANDLE__)   ((__HANDLE__)->State = 0U)
 Reset the Handle's State field. More...
 
#define __HAL_LOCK(__HANDLE__)
 
#define __HAL_UNLOCK(__HANDLE__)
 
#define __ALIGN_END
 

Enumerations

enum  HAL_StatusTypeDef { HAL_OK = 0x00U, HAL_ERROR = 0x01U, HAL_BUSY = 0x02U, HAL_TIMEOUT = 0x03U }
 HAL Status structures definition. More...
 
enum  HAL_LockTypeDef { HAL_UNLOCKED = 0x00U, HAL_LOCKED = 0x01U }
 HAL Lock structures definition. More...
 

Detailed Description

This file contains HAL common defines, enumeration, macros and structures definitions.

Author
MCD Application Team
Attention

© COPYRIGHT(c) 2017 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. 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.
  3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

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.

Macro Definition Documentation

◆ UNUSED

#define UNUSED (   X)    (void)X /* To avoid gcc/g++ warnings */

◆ HAL_MAX_DELAY

#define HAL_MAX_DELAY   0xFFFFFFFFU

◆ HAL_IS_BIT_SET

#define HAL_IS_BIT_SET (   REG,
  BIT 
)    (((REG) & (BIT)) != RESET)

◆ HAL_IS_BIT_CLR

#define HAL_IS_BIT_CLR (   REG,
  BIT 
)    (((REG) & (BIT)) == RESET)

◆ __HAL_LINKDMA

#define __HAL_LINKDMA (   __HANDLE__,
  __PPP_DMA_FIELD__,
  __DMA_HANDLE__ 
)
Value:
do{ \
(__HANDLE__)->__PPP_DMA_FIELD__ = &(__DMA_HANDLE__); \
(__DMA_HANDLE__).Parent = (__HANDLE__); \
} while(0U)

◆ __HAL_RESET_HANDLE_STATE

#define __HAL_RESET_HANDLE_STATE (   __HANDLE__)    ((__HANDLE__)->State = 0U)

Reset the Handle's State field.

Parameters
<strong>HANDLE</strong>specifies the Peripheral Handle.
Note
This macro can be used for the following purpose:
  • When the Handle is declared as local variable; before passing it as parameter to HAL_PPP_Init() for the first time, it is mandatory to use this macro to set to 0 the Handle's "State" field. Otherwise, "State" field may have any random value and the first time the function HAL_PPP_Init() is called, the low level hardware initialization will be missed (i.e. HAL_PPP_MspInit() will not be executed).
  • When there is a need to reconfigure the low level hardware: instead of calling HAL_PPP_DeInit() then HAL_PPP_Init(), user can make a call to this macro then HAL_PPP_Init(). In this later function, when the Handle's "State" field is set to 0, it will execute the function HAL_PPP_MspInit() which will reconfigure the low level hardware.
Return values
None

◆ __HAL_LOCK

#define __HAL_LOCK (   __HANDLE__)
Value:
do{ \
if((__HANDLE__)->Lock == HAL_LOCKED) \
{ \
return HAL_BUSY; \
} \
else \
{ \
(__HANDLE__)->Lock = HAL_LOCKED; \
} \
}while (0U)

◆ __HAL_UNLOCK

#define __HAL_UNLOCK (   __HANDLE__)
Value:
do{ \
(__HANDLE__)->Lock = HAL_UNLOCKED; \
}while (0U)

◆ __ALIGN_END

#define __ALIGN_END

Enumeration Type Documentation

◆ HAL_StatusTypeDef

HAL Status structures definition.

Enumerator
HAL_OK 
HAL_ERROR 
HAL_BUSY 
HAL_TIMEOUT 
56 {
57  HAL_OK = 0x00U,
58  HAL_ERROR = 0x01U,
59  HAL_BUSY = 0x02U,
60  HAL_TIMEOUT = 0x03U

◆ HAL_LockTypeDef

HAL Lock structures definition.

Enumerator
HAL_UNLOCKED 
HAL_LOCKED 
67 {
68  HAL_UNLOCKED = 0x00U,
69  HAL_LOCKED = 0x01U
HAL_LOCKED
Definition: stm32f4xx_hal_def.h:69
HAL_BUSY
Definition: stm32f4xx_hal_def.h:59
HAL_OK
Definition: stm32f4xx_hal_def.h:57
HAL_TIMEOUT
Definition: stm32f4xx_hal_def.h:60
HAL_ERROR
Definition: stm32f4xx_hal_def.h:58
HAL_StatusTypeDef
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32f4xx_hal_def.h:55
HAL_LockTypeDef
HAL_LockTypeDef
HAL Lock structures definition.
Definition: stm32f4xx_hal_def.h:66
HAL_UNLOCKED
Definition: stm32f4xx_hal_def.h:68