ChibiOS/HAL
6.1.0
|
PLATFORM PAL subsystem low level driver header. More...
Go to the source code of this file.
Data Structures | |
struct | PALConfig |
Generic I/O ports static initializer. More... | |
Macros | |
#define | IOPORT1 0 |
First I/O port identifier. More... | |
#define | pal_lld_init(config) _pal_lld_init(config) |
Low level PAL subsystem initialization. More... | |
#define | pal_lld_readport(port) 0U |
Reads the physical I/O port states. More... | |
#define | pal_lld_readlatch(port) 0U |
Reads the output latch. More... | |
#define | pal_lld_writeport(port, bits) |
Writes a bits mask on a I/O port. More... | |
#define | pal_lld_setport(port, bits) |
Sets a bits mask on a I/O port. More... | |
#define | pal_lld_clearport(port, bits) |
Clears a bits mask on a I/O port. More... | |
#define | pal_lld_toggleport(port, bits) |
Toggles a bits mask on a I/O port. More... | |
#define | pal_lld_readgroup(port, mask, offset) 0U |
Reads a group of bits. More... | |
#define | pal_lld_writegroup(port, mask, offset, bits) |
Writes a group of bits. More... | |
#define | pal_lld_setgroupmode(port, mask, offset, mode) _pal_lld_setgroupmode(port, mask << offset, mode) |
Pads group mode setup. More... | |
#define | pal_lld_readpad(port, pad) PAL_LOW |
Reads a logical state from an I/O pad. More... | |
#define | pal_lld_writepad(port, pad, bit) |
Writes a logical state on an output pad. More... | |
#define | pal_lld_setpad(port, pad) |
Sets a pad logical state to PAL_HIGH . More... | |
#define | pal_lld_clearpad(port, pad) |
Clears a pad logical state to PAL_LOW . More... | |
#define | pal_lld_togglepad(port, pad) |
Toggles a pad logical state. More... | |
#define | pal_lld_setpadmode(port, pad, mode) |
Pad mode setup. More... | |
#define | pal_lld_get_pad_event(port, pad) &_pal_events[0]; (void)(port); (void)pad |
Returns a PAL event structure associated to a pad. More... | |
#define | pal_lld_get_line_event(line) &_pal_events[0]; (void)line |
Returns a PAL event structure associated to a line. More... | |
Port related definitions | |
#define | PAL_IOPORTS_WIDTH 16U |
Width, in bits, of an I/O port. More... | |
#define | PAL_WHOLE_PORT ((ioportmask_t)0xFFFFU) |
Whole port mask. More... | |
Line handling macros | |
#define | PAL_LINE(port, pad) ((ioline_t)((uint32_t)(port)) | ((uint32_t)(pad))) |
Forms a line identifier. More... | |
#define | PAL_PORT(line) ((stm32_gpio_t *)(((uint32_t)(line)) & 0xFFFFFFF0U)) |
Decodes a port identifier from a line identifier. More... | |
#define | PAL_PAD(line) ((uint32_t)((uint32_t)(line) & 0x0000000FU)) |
Decodes a pad identifier from a line identifier. More... | |
#define | PAL_NOLINE 0U |
Value identifying an invalid line. More... | |
Typedefs | |
typedef uint32_t | ioportmask_t |
Digital I/O port sized unsigned type. More... | |
typedef uint32_t | iomode_t |
Digital I/O modes. More... | |
typedef uint32_t | ioline_t |
Type of an I/O line. More... | |
typedef uint32_t | ioportid_t |
Port Identifier. More... | |
typedef uint32_t | iopadid_t |
Type of an pad identifier. More... | |
Functions | |
void | _pal_lld_init (const PALConfig *config) |
STM32 I/O ports configuration. More... | |
void | _pal_lld_setgroupmode (ioportid_t port, ioportmask_t mask, iomode_t mode) |
Pads mode setup. More... | |
PLATFORM PAL subsystem low level driver header.
Definition in file hal_pal_lld.h.