ChibiOS 21.11.5
hal_safety.h File Reference

Safety manager macros and structures. More...

Go to the source code of this file.

Macros

#define HAL_USE_SAFETY   FALSE
 Enables the safety-related features in HAL.
Function variants
#define halRegSet8X(p, s, v)
 Sets bits into an 8 bits register.
#define halRegSet16X(p, s, v)
 Sets bits into a 16 bits register.
#define halRegSet32X(p, s, v)
 Sets bits into a 32 bits register.
#define halRegClear8X(p, c, v)
 Clears bits into an 8 bits register.
#define halRegClear16X(p, c, v)
 Clears bits into a 16 bits register.
#define halRegClear32X(p, c, v)
 Clears bits into a 32 bits register.

Functions

CC_NO_RETURN void halSftFail (const char *message)
 Common safety fault handler.
bool halRegWaitMatch8X (volatile uint8_t *p, uint8_t mask, uint8_t match, uint32_t tmo, uint8_t *valp)
 Waits for masked bits to match or a timeout.
bool halRegWaitMatch16X (volatile uint16_t *p, uint16_t mask, uint16_t match, uint32_t tmo, uint16_t *valp)
 Waits for masked bits to match or a timeout.
bool halRegWaitMatch32X (volatile uint32_t *p, uint32_t mask, uint32_t match, uint32_t tmo, uint32_t *valp)
 Waits for masked bits to match or a timeout.
bool halRegWaitAllSet8X (volatile uint8_t *p, uint8_t mask, uint32_t tmo, uint8_t *valp)
 Waits for all specified bits to be set or a timeout.
bool halRegWaitAllSet16X (volatile uint16_t *p, uint16_t mask, uint32_t tmo, uint16_t *valp)
 Waits for all specified bits to be set or a timeout.
bool halRegWaitAllSet32X (volatile uint32_t *p, uint32_t mask, uint32_t tmo, uint32_t *valp)
 Waits for all specified bits to be set or a timeout.
bool halRegWaitAnySet8X (volatile uint8_t *p, uint8_t mask, uint32_t tmo, uint8_t *valp)
 Waits for any of specified bits to be set or a timeout.
bool halRegWaitAnySet16X (volatile uint16_t *p, uint16_t mask, uint32_t tmo, uint16_t *valp)
 Waits for any of specified bits to be set or a timeout.
bool halRegWaitAnySet32X (volatile uint32_t *p, uint32_t mask, uint32_t tmo, uint32_t *valp)
 Waits for any of specified bits to be set or a timeout.
bool halRegWaitAllClear8X (volatile uint8_t *p, uint8_t mask, uint32_t tmo, uint8_t *valp)
 Waits for all specified bits to be cleared or a timeout.
bool halRegWaitAllClear16X (volatile uint16_t *p, uint16_t mask, uint32_t tmo, uint16_t *valp)
 Waits for all specified bits to be cleared or a timeout.
bool halRegWaitAllClear32X (volatile uint32_t *p, uint32_t mask, uint32_t tmo, uint32_t *valp)
 Waits for all specified bits to be cleared or a timeout.
bool halRegWaitAnyClear8X (volatile uint8_t *p, uint8_t mask, uint32_t tmo, uint8_t *valp)
 Waits for any of specified bits to be cleared or a timeout.
bool halRegWaitAnyClear16X (volatile uint16_t *p, uint16_t mask, uint32_t tmo, uint16_t *valp)
 Waits for any of specified bits to be cleared or a timeout.
bool halRegWaitAnyClear32X (volatile uint32_t *p, uint32_t mask, uint32_t tmo, uint32_t *valp)
 Waits for any of specified bits to be cleared or a timeout.
static void halSftFailOnError (bool result, const char *message)
 Enters a common safety fault handler on error.
static void halRegWrite8X (volatile uint8_t *p, uint8_t value, bool verify)
 Writes an 8 bits register.
static void halRegWrite16X (volatile uint16_t *p, uint16_t value, bool verify)
 Writes a 16 bits register.
static void halRegWrite32X (volatile uint32_t *p, uint32_t value, bool verify)
 Writes a 32 bits register.
static void halRegModify8X (volatile uint8_t *p, uint8_t setmask, uint8_t clrmask, bool verify)
 Modifies a 8 bits register.
static void halRegModify16X (volatile uint16_t *p, uint16_t setmask, uint16_t clrmask, bool verify)
 Modifies a 16 bits register.
static void halRegModify32X (volatile uint32_t *p, uint32_t setmask, uint32_t clrmask, bool verify)
 Modifies a 32 bits register.
static void halRegMaskedWrite8X (volatile uint8_t *p, uint8_t mask, uint8_t value, bool verify)
 Writes a field into an 8 bits register.
static void halRegMaskedWrite16X (volatile uint16_t *p, uint16_t mask, uint16_t value, bool verify)
 Writes a field into a 16 bits register.
static void halRegMaskedWrite32X (volatile uint32_t *p, uint32_t mask, uint32_t value, bool verify)
 Writes a field into a 32 bits register.

Detailed Description

Safety manager macros and structures.

Definition in file hal_safety.h.