Contiki-NG
Toggle main menu visibility
Loading...
Searching...
No Matches
gpio-hal-arch.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2020, George Oikonomou - https://spd.gr
3
* Copyright (C) 2020 Yago Fontoura do Rosario <yago.rosario@hotmail.com.br>
4
* All rights reserved.
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions
8
* are met:
9
* 1. Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
11
* 2. Redistributions in binary form must reproduce the above copyright
12
* notice, this list of conditions and the following disclaimer in the
13
* documentation and/or other materials provided with the distribution.
14
* 3. Neither the name of the copyright holder nor the names of its
15
* contributors may be used to endorse or promote products derived
16
* from this software without specific prior written permission.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
29
* OF THE POSSIBILITY OF SUCH DAMAGE.
30
*/
31
32
/**
33
* \addtogroup nrf
34
* @{
35
*
36
* \addtogroup nrf-dev Device drivers
37
* @{
38
*
39
* \addtogroup nrf-gpio GPIO HAL driver
40
* @{
41
*
42
* \file
43
* GPIO HAL header file for the nRF
44
* \author
45
* Yago Fontoura do Rosario <yago.rosario@hotmail.com.br>
46
*
47
*/
48
/*---------------------------------------------------------------------------*/
49
#ifndef GPIO_HAL_ARCH_H_
50
#define GPIO_HAL_ARCH_H_
51
/*---------------------------------------------------------------------------*/
52
#include "contiki.h"
53
54
#include "nrfx_gpiote.h"
55
/*---------------------------------------------------------------------------*/
56
/* nrfx 3.2+ uses the new GPIOTE instance-based API. */
57
#if NRFX_API_VER_AT_LEAST(3, 2, 0)
58
void
gpio_hal_arch_interrupt_enable_nrfx_v3(
gpio_hal_port_t
port,
gpio_hal_pin_t
pin);
59
void
gpio_hal_arch_interrupt_disable_nrfx_v3(
gpio_hal_port_t
port,
gpio_hal_pin_t
pin);
60
61
#define gpio_hal_arch_interrupt_enable(port, pin) gpio_hal_arch_interrupt_enable_nrfx_v3(port, pin)
62
#define gpio_hal_arch_interrupt_disable(port, pin) gpio_hal_arch_interrupt_disable_nrfx_v3(port, pin)
63
#else
64
#define gpio_hal_arch_interrupt_enable(port, pin) nrfx_gpiote_in_event_enable(NRF_GPIO_PIN_MAP(port, pin), true)
65
#define gpio_hal_arch_interrupt_disable(port, pin) nrfx_gpiote_in_event_disable(NRF_GPIO_PIN_MAP(port, pin))
66
#endif
67
/*---------------------------------------------------------------------------*/
68
#define gpio_hal_arch_pin_set_input(port, pin) nrf_gpio_cfg_input(NRF_GPIO_PIN_MAP(port, pin), NRF_GPIO_PIN_NOPULL)
69
#define gpio_hal_arch_pin_set_output(port, pin) nrf_gpio_cfg_output(NRF_GPIO_PIN_MAP(port, pin))
70
/*---------------------------------------------------------------------------*/
71
#define gpio_hal_arch_set_pin(port, pin) nrf_gpio_pin_set(NRF_GPIO_PIN_MAP(port, pin))
72
#define gpio_hal_arch_clear_pin(port, pin) nrf_gpio_pin_clear(NRF_GPIO_PIN_MAP(port, pin))
73
#define gpio_hal_arch_toggle_pin(port, pin) nrf_gpio_pin_toggle(NRF_GPIO_PIN_MAP(port, pin))
74
#define gpio_hal_arch_write_pin(port, pin, v) nrf_gpio_pin_write(NRF_GPIO_PIN_MAP(port, pin), v)
75
/*---------------------------------------------------------------------------*/
76
#endif
/* GPIO_HAL_ARCH_H_ */
77
/*---------------------------------------------------------------------------*/
78
/**
79
* @}
80
* @}
81
* @}
82
*/
gpio_hal_port_t
uint8_t gpio_hal_port_t
A data structure that represents ports.
Definition
gpio-hal.h:110
gpio_hal_pin_t
uint8_t gpio_hal_pin_t
GPIO pin number representation.
Definition
gpio-hal.h:103
arch
cpu
nrf
dev
gpio-hal-arch.h
Generated on
for Contiki-NG by
1.17.0