MiraOS  1.7
mira_gpio.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (C) 2016 LumenRadio AB *
3  * *
4  * This file is part of MiraOS. *
5  * *
6  * MiraOS contains software components that are patented by LumenRadio. *
7  * Use of this software is under the terms of the LumenRadio MiraOS *
8  * license.
9  * *
10  * You should have received a copy of the MiraOS license from your *
11  * LumenRadio representative. If not, email to <licenses@lumenradio.com> *
12  ****************************************************************************/
13 
25 #ifndef LIBMIRA_GPIO_H_
26 #define LIBMIRA_GPIO_H_
27 
28 #include <stdint.h>
29 #include "hcl_typedefs.h"
30 
36 typedef enum {
41 
47 typedef enum {
53 
59 typedef enum {
63 
69 typedef enum {
74 
90 typedef void (* MiraGpioCallbackType)(uint8_t port, uint8_t pin);
91 
102 void mira_gpio_init(MiraGpioPorts port, uint8_t pin, MiraGpioPinMode mode, MiraGpioPullMode pull_mode);
103 
112 uint8_t mira_gpio_read(MiraGpioPorts port, uint8_t pin);
113 
122 void mira_gpio_set(MiraGpioPorts port, uint8_t pin);
123 
132 void mira_gpio_clear(MiraGpioPorts port, uint8_t pin);
133 
144 void mira_gpio_setup_interrupt(MiraGpioPorts port, uint8_t pin, MiraGpioInterruptType irq_type, MiraGpioCallbackType callback);
145 
154 void mira_gpio_enable_interrupt(MiraGpioPorts port, uint8_t pin);
155 
164 void mira_gpio_disable_interrupt(MiraGpioPorts port, uint8_t pin);
165 
166 #endif /* LIBMIRA_GPIO_H_ */
void mira_gpio_disable_interrupt(MiraGpioPorts port, uint8_t pin)
Disables an GPIO interrupt.
uint8_t mira_gpio_read(MiraGpioPorts port, uint8_t pin)
Read an input pin.
Definition: mira_gpio.h:72
void mira_gpio_enable_interrupt(MiraGpioPorts port, uint8_t pin)
Enables an GPIO interrupt.
MiraGpioPinMode
GPIO pin mode.
Definition: mira_gpio.h:59
Definition: mira_gpio.h:39
MiraGpioInterruptType
GPIO edge trigger.
Definition: mira_gpio.h:36
void mira_gpio_init(MiraGpioPorts port, uint8_t pin, MiraGpioPinMode mode, MiraGpioPullMode pull_mode)
Initialize a GPIO pin.
MiraGpioPullMode
GPIO pin pullup/pulldown mode.
Definition: mira_gpio.h:69
Definition: mira_gpio.h:60
MiraGpioPorts
GPIO ports.
Definition: mira_gpio.h:47
void mira_gpio_set(MiraGpioPorts port, uint8_t pin)
Set an output pin (logic high output).
Definition: mira_gpio.h:38
void(* MiraGpioCallbackType)(uint8_t port, uint8_t pin)
Type definition for callbacks invoked by the GPIO ISRs.
Definition: mira_gpio.h:90
Definition: mira_gpio.h:61
Definition: mira_gpio.h:51
Definition: mira_gpio.h:70
Definition: mira_gpio.h:71
Definition: mira_gpio.h:48
Definition: mira_gpio.h:49
void mira_gpio_setup_interrupt(MiraGpioPorts port, uint8_t pin, MiraGpioInterruptType irq_type, MiraGpioCallbackType callback)
Configure an GPIO interrupt.
Definition: mira_gpio.h:50
Definition: mira_gpio.h:37
void mira_gpio_clear(MiraGpioPorts port, uint8_t pin)
Clear an output pin (logic low output).