R1 code for micro:bit based train controller code, requires second micro:bit running rx code to operate - see https://meanderingpi.wordpress.com/ for more information

Fork of nrf51-sdk by Lancaster University

Embed: (wiki syntax)

« Back to documentation index

GPIOTE abstraction

GPIOTE abstraction

GPIOTE abstraction for configuration of channels. More...

Enumerations

enum  nrf_gpiote_polarity_t { NRF_GPIOTE_POLARITY_LOTOHI = GPIOTE_CONFIG_POLARITY_LoToHi, NRF_GPIOTE_POLARITY_HITOLO = GPIOTE_CONFIG_POLARITY_HiToLo, NRF_GPIOTE_POLARITY_TOGGLE = GPIOTE_CONFIG_POLARITY_Toggle }
 

Polarity for the GPIOTE channel.

More...
enum  nrf_gpiote_outinit_t { NRF_GPIOTE_INITIAL_VALUE_LOW = GPIOTE_CONFIG_OUTINIT_Low, NRF_GPIOTE_INITIAL_VALUE_HIGH = GPIOTE_CONFIG_OUTINIT_High }
 

Initial output value for the GPIOTE channel.

More...
enum  nrf_gpiote_tasks_t { NRF_GPIOTE_TASKS_OUT_0 = offsetof(NRF_GPIOTE_Type, TASKS_OUT[0]), NRF_GPIOTE_TASKS_OUT_1 = offsetof(NRF_GPIOTE_Type, TASKS_OUT[1]), NRF_GPIOTE_TASKS_OUT_2 = offsetof(NRF_GPIOTE_Type, TASKS_OUT[2]), NRF_GPIOTE_TASKS_OUT_3 = offsetof(NRF_GPIOTE_Type, TASKS_OUT[3]) }
 

Tasks.

More...
enum  nrf_gpiote_events_t {
  NRF_GPIOTE_EVENTS_IN_0 = offsetof(NRF_GPIOTE_Type, EVENTS_IN[0]), NRF_GPIOTE_EVENTS_IN_1 = offsetof(NRF_GPIOTE_Type, EVENTS_IN[1]), NRF_GPIOTE_EVENTS_IN_2 = offsetof(NRF_GPIOTE_Type, EVENTS_IN[2]), NRF_GPIOTE_EVENTS_IN_3 = offsetof(NRF_GPIOTE_Type, EVENTS_IN[3]),
  NRF_GPIOTE_EVENTS_PORT = offsetof(NRF_GPIOTE_Type, EVENTS_PORT)
}
 

Events.

More...
enum  nrf_gpiote_int_t {
  NRF_GPIOTE_INT_IN0_MASK = GPIOTE_INTENSET_IN0_Msk, NRF_GPIOTE_INT_IN1_MASK = GPIOTE_INTENSET_IN1_Msk, NRF_GPIOTE_INT_IN2_MASK = GPIOTE_INTENSET_IN2_Msk, NRF_GPIOTE_INT_IN3_MASK = GPIOTE_INTENSET_IN3_Msk,
  NRF_GPIOTE_INT_PORT_MASK = (int)GPIOTE_INTENSET_PORT_Msk
}
 

GPIOTE interrupts.

More...

Functions

__STATIC_INLINE void nrf_gpiote_task_set (nrf_gpiote_tasks_t task)
 Function for activating a specific GPIOTE task.
__STATIC_INLINE uint32_t nrf_gpiote_task_addr_get (nrf_gpiote_tasks_t task)
 Function for getting the address of a specific GPIOTE task.
__STATIC_INLINE bool nrf_gpiote_event_is_set (nrf_gpiote_events_t event)
 Function for getting the state of a specific GPIOTE event.
__STATIC_INLINE void nrf_gpiote_event_clear (nrf_gpiote_events_t event)
 Function for clearing a specific GPIOTE event.
__STATIC_INLINE uint32_t nrf_gpiote_event_addr_get (nrf_gpiote_events_t event)
 Function for getting the address of a specific GPIOTE event.
__STATIC_INLINE void nrf_gpiote_int_enable (uint32_t mask)
 Function for enabling interrupts.
__STATIC_INLINE void nrf_gpiote_int_disable (uint32_t mask)
 Function for disabling interrupts.
__STATIC_INLINE uint32_t nrf_gpiote_int_is_enabled (uint32_t mask)
 Function for checking if interrupts are enabled.
__STATIC_INLINE void nrf_gpiote_event_enable (uint32_t idx)
 Function for enabling a GPIOTE event.
__STATIC_INLINE void nrf_gpiote_event_disable (uint32_t idx)
 Function for disabling a GPIOTE event.
__STATIC_INLINE void nrf_gpiote_event_configure (uint32_t idx, uint32_t pin, nrf_gpiote_polarity_t polarity)
 Function for configuring a GPIOTE event.
__STATIC_INLINE uint32_t nrf_gpiote_event_pin_get (uint32_t idx)
 Function for getting the pin associated with a GPIOTE event.
__STATIC_INLINE
nrf_gpiote_polarity_t 
nrf_gpiote_event_polarity_get (uint32_t idx)
 Function for getting the polarity associated with a GPIOTE event.
__STATIC_INLINE void nrf_gpiote_task_enable (uint32_t idx)
 Function for enabling a GPIOTE task.
__STATIC_INLINE void nrf_gpiote_task_disable (uint32_t idx)
 Function for disabling a GPIOTE task.
__STATIC_INLINE void nrf_gpiote_task_configure (uint32_t idx, uint32_t pin, nrf_gpiote_polarity_t polarity, nrf_gpiote_outinit_t init_val)
 Function for configuring a GPIOTE task.
__STATIC_INLINE void nrf_gpiote_task_force (uint32_t idx, nrf_gpiote_outinit_t init_val)
 Function for forcing a specific state on the pin connected to GPIOTE.
__STATIC_INLINE void nrf_gpiote_te_default (uint32_t idx)
 Function for resetting a GPIOTE task event configuration to the default state.

Detailed Description

GPIOTE abstraction for configuration of channels.


Enumeration Type Documentation

Events.

Enumerator:
NRF_GPIOTE_EVENTS_IN_0 

In event 0.

NRF_GPIOTE_EVENTS_IN_1 

In event 1.

NRF_GPIOTE_EVENTS_IN_2 

In event 2.

NRF_GPIOTE_EVENTS_IN_3 

In event 3.

NRF_GPIOTE_EVENTS_PORT 

Port event.

Definition at line 91 of file nrf_gpiote.h.

GPIOTE interrupts.

Enumerator:
NRF_GPIOTE_INT_IN0_MASK 

GPIOTE interrupt from IN0.

NRF_GPIOTE_INT_IN1_MASK 

GPIOTE interrupt from IN1.

NRF_GPIOTE_INT_IN2_MASK 

GPIOTE interrupt from IN2.

NRF_GPIOTE_INT_IN3_MASK 

GPIOTE interrupt from IN3.

NRF_GPIOTE_INT_PORT_MASK 

GPIOTE interrupt from PORT event.

Definition at line 105 of file nrf_gpiote.h.

Initial output value for the GPIOTE channel.

Enumerator:
NRF_GPIOTE_INITIAL_VALUE_LOW 

Low to high.

NRF_GPIOTE_INITIAL_VALUE_HIGH 

High to low.

Definition at line 70 of file nrf_gpiote.h.

Polarity for the GPIOTE channel.

Enumerator:
NRF_GPIOTE_POLARITY_LOTOHI 

Low to high.

NRF_GPIOTE_POLARITY_HITOLO 

High to low.

NRF_GPIOTE_POLARITY_TOGGLE 

Toggle.

Definition at line 58 of file nrf_gpiote.h.

Tasks.

Enumerator:
NRF_GPIOTE_TASKS_OUT_0 

Out task 0.

NRF_GPIOTE_TASKS_OUT_1 

Out task 1.

NRF_GPIOTE_TASKS_OUT_2 

Out task 2.

NRF_GPIOTE_TASKS_OUT_3 

Out task 3.

Definition at line 79 of file nrf_gpiote.h.


Function Documentation

__STATIC_INLINE uint32_t nrf_gpiote_event_addr_get ( nrf_gpiote_events_t  event )

Function for getting the address of a specific GPIOTE event.

Parameters:
[in]eventEvent.
Returns:
Address

Definition at line 274 of file nrf_gpiote.h.

__STATIC_INLINE void nrf_gpiote_event_clear ( nrf_gpiote_events_t  event )

Function for clearing a specific GPIOTE event.

Parameters:
[in]eventEvent.

Definition at line 265 of file nrf_gpiote.h.

__STATIC_INLINE void nrf_gpiote_event_configure ( uint32_t  idx,
uint32_t  pin,
nrf_gpiote_polarity_t  polarity 
)

Function for configuring a GPIOTE event.

Parameters:
[in]idxTask-Event index.
[in]pinPin associated with event.
[in]polarityTransition that should generate an event.

Definition at line 304 of file nrf_gpiote.h.

__STATIC_INLINE void nrf_gpiote_event_disable ( uint32_t  idx )

Function for disabling a GPIOTE event.

Parameters:
[in]idxTask-Event index.

Definition at line 299 of file nrf_gpiote.h.

__STATIC_INLINE void nrf_gpiote_event_enable ( uint32_t  idx )

Function for enabling a GPIOTE event.

Parameters:
[in]idxTask-Event index.

Definition at line 294 of file nrf_gpiote.h.

__STATIC_INLINE bool nrf_gpiote_event_is_set ( nrf_gpiote_events_t  event )

Function for getting the state of a specific GPIOTE event.

Parameters:
[in]eventEvent.

Definition at line 260 of file nrf_gpiote.h.

__STATIC_INLINE uint32_t nrf_gpiote_event_pin_get ( uint32_t  idx )

Function for getting the pin associated with a GPIOTE event.

Parameters:
[in]idxTask-Event index.
Returns:
Pin number.

Definition at line 311 of file nrf_gpiote.h.

__STATIC_INLINE nrf_gpiote_polarity_t nrf_gpiote_event_polarity_get ( uint32_t  idx )

Function for getting the polarity associated with a GPIOTE event.

Parameters:
[in]idxTask-Event index.
Returns:
Polarity.

Definition at line 316 of file nrf_gpiote.h.

__STATIC_INLINE void nrf_gpiote_int_disable ( uint32_t  mask )

Function for disabling interrupts.

Parameters:
[in]maskInterrupt mask to be disabled.

Definition at line 284 of file nrf_gpiote.h.

__STATIC_INLINE void nrf_gpiote_int_enable ( uint32_t  mask )

Function for enabling interrupts.

Parameters:
[in]maskInterrupt mask to be enabled.

Definition at line 279 of file nrf_gpiote.h.

__STATIC_INLINE uint32_t nrf_gpiote_int_is_enabled ( uint32_t  mask )

Function for checking if interrupts are enabled.

Parameters:
[in]maskMask of interrupt flags to check.
Returns:
Mask with enabled interrupts.

Definition at line 289 of file nrf_gpiote.h.

__STATIC_INLINE uint32_t nrf_gpiote_task_addr_get ( nrf_gpiote_tasks_t  task )

Function for getting the address of a specific GPIOTE task.

Parameters:
[in]taskTask.
Returns:
Address.

Definition at line 255 of file nrf_gpiote.h.

__STATIC_INLINE void nrf_gpiote_task_configure ( uint32_t  idx,
uint32_t  pin,
nrf_gpiote_polarity_t  polarity,
nrf_gpiote_outinit_t  init_val 
)

Function for configuring a GPIOTE task.

Note:
Function is not configuring mode field so task is disabled after this function is called.
Parameters:
[in]idxTask-Event index.
[in]pinPin associated with event.
[in]polarityTransition that should generate an event.
[in]init_valInitial value of pin.

Definition at line 340 of file nrf_gpiote.h.

__STATIC_INLINE void nrf_gpiote_task_disable ( uint32_t  idx )

Function for disabling a GPIOTE task.

Parameters:
[in]idxTask-Event index.

Definition at line 335 of file nrf_gpiote.h.

__STATIC_INLINE void nrf_gpiote_task_enable ( uint32_t  idx )

Function for enabling a GPIOTE task.

Parameters:
[in]idxTask-Event index.

Definition at line 321 of file nrf_gpiote.h.

__STATIC_INLINE void nrf_gpiote_task_force ( uint32_t  idx,
nrf_gpiote_outinit_t  init_val 
)

Function for forcing a specific state on the pin connected to GPIOTE.

Parameters:
[in]idxTask-Event index.
[in]init_valPin state.

Definition at line 353 of file nrf_gpiote.h.

__STATIC_INLINE void nrf_gpiote_task_set ( nrf_gpiote_tasks_t  task )

Function for activating a specific GPIOTE task.

Parameters:
[in]taskTask.

Definition at line 250 of file nrf_gpiote.h.

__STATIC_INLINE void nrf_gpiote_te_default ( uint32_t  idx )

Function for resetting a GPIOTE task event configuration to the default state.

Parameters:
[in]idxTask-Event index.

Definition at line 359 of file nrf_gpiote.h.