ChibiOS 21.11.5
hal_safety.c File Reference

Safety manager code. More...

#include "hal.h"

Go to the source code of this file.

Macros

#define HAL_US2RTC(freq, usec)

Typedefs

typedef unsigned halcnt_t

Functions

static uint32_t get_frequency (void)
static halcnt_t get_counter (void)
static bool is_counter_within (halcnt_t start, halcnt_t end)
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.

Detailed Description

Safety manager code.

Definition in file hal_safety.c.