Loading...
Searching...
No Matches
gpio_ll_irq.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2020 Gunar Schorcht
3 * SPDX-FileCopyrightText: 2021 Otto-von-Guericke-Universität Magdeburg
4 * SPDX-License-Identifier: LGPL-2.1-only
5 */
6
7#pragma once
8
43
44#include <inttypes.h>
45#include <stdbool.h>
46#include <stdint.h>
47
48#include "periph/gpio_ll.h"
49
50#ifdef __cplusplus
51extern "C" {
52#endif
53
54#if !defined(HAVE_GPIO_IRQ_TRIG_T) || defined(DOXYGEN)
77#endif
78
84typedef void (*gpio_ll_cb_t)(void *arg);
85
105int gpio_ll_irq(gpio_port_t port, uint8_t pin, gpio_irq_trig_t trig,
106 gpio_ll_cb_t cb, void *arg);
107
120void gpio_ll_irq_mask(gpio_port_t port, uint8_t pin);
121
122#if MODULE_PERIPH_GPIO_LL_IRQ_UNMASK || defined(DOXYGEN)
139void gpio_ll_irq_unmask(gpio_port_t port, uint8_t pin);
140#endif
141
154
170void gpio_ll_irq_off(gpio_port_t port, uint8_t pin);
171
172#ifdef __cplusplus
173}
174#endif
175
Peripheral GPIO Low-Level API.
gpio_irq_trig_t
Definition of possible IRQ triggers.
Definition gpio_ll_irq.h:68
void gpio_ll_irq_unmask_and_clear(gpio_port_t port, uint8_t pin)
Unmask IRQs on the given GPIO pin and clear pending IRQs.
void gpio_ll_irq_mask(gpio_port_t port, uint8_t pin)
Mask IRQs on the given GPIO pin.
int gpio_ll_irq(gpio_port_t port, uint8_t pin, gpio_irq_trig_t trig, gpio_ll_cb_t cb, void *arg)
Set up an IRQ for the given GPIO pin and activate it.
void(* gpio_ll_cb_t)(void *arg)
Signature of event callback function that is called on IRQs.
Definition gpio_ll_irq.h:84
void gpio_ll_irq_unmask(gpio_port_t port, uint8_t pin)
Unmask IRQs on the given GPIO pin.
void gpio_ll_irq_off(gpio_port_t port, uint8_t pin)
Disable IRQs on the given GPIO pin.
@ GPIO_TRIGGER_EDGE_FALLING
edge triggered IRQ on falling flanks only
Definition gpio_ll_irq.h:69
@ GPIO_TRIGGER_LEVEL_HIGH
level triggered IRQ on high input
Definition gpio_ll_irq.h:74
@ GPIO_TRIGGER_EDGE_RISING
edge triggered IRQ on rising flanks only
Definition gpio_ll_irq.h:71
@ GPIO_TRIGGER_EDGE_BOTH
edge triggered IRQ on falling AND rising flanks
Definition gpio_ll_irq.h:72
@ GPIO_TRIGGER_LEVEL_LOW
level triggered IRQ on low input
Definition gpio_ll_irq.h:75
uintptr_t gpio_port_t
GPIO port type.
Definition gpio_ll.h:92
Adds include for missing inttype definitions.