GPIOTE HALY

group nrfy_gpiote

Hardware access layer with cache and barrier support for managing the GPIOTE peripheral.

Defines

NRFY_GPIOTE_HAS_LATENCY

@refhal{NRF_GPIOTE_HAS_LATENCY}

Functions

NRFY_STATIC_INLINE void nrfy_gpiote_int_init(NRF_GPIOTE_Type *p_reg, uint32_t mask, uint8_t irq_priority, bool enable)

Function for initializing the specified GPIOTE interrupts.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • mask[in] Mask of interrupts to be initialized.

  • irq_priority[in] Interrupt priority.

  • enable[in] True if the interrupts are to be enabled, false otherwise.

NRFY_STATIC_INLINE uint32_t nrfy_gpiote_events_process(NRF_GPIOTE_Type *p_reg, uint32_t mask)

Function for processing the specified GPIOTE events.

Parameters:
  • p_reg[in] Pointer to the structure of registers of the peripheral.

  • mask[in] Mask of events to be processed, created by NRFY_EVENT_TO_INT_BITMASK().

Returns:

Mask of events that were generated and processed. To be checked against the result of NRFY_EVENT_TO_INT_BITMASK().

NRFY_STATIC_INLINE void nrfy_gpiote_task_trigger(NRF_GPIOTE_Type *p_reg, nrf_gpiote_task_t task)

@refhal{nrf_gpiote_task_trigger}

NRFY_STATIC_INLINE uint32_t nrfy_gpiote_task_address_get(NRF_GPIOTE_Type const *p_reg, nrf_gpiote_task_t task)

@refhal{nrf_gpiote_task_address_get}

NRFY_STATIC_INLINE bool nrfy_gpiote_event_check(NRF_GPIOTE_Type const *p_reg, nrf_gpiote_event_t event)

@refhal{nrf_gpiote_event_check}

NRFY_STATIC_INLINE void nrfy_gpiote_event_clear(NRF_GPIOTE_Type *p_reg, nrf_gpiote_event_t event)

@refhal{nrf_gpiote_event_clear}

NRFY_STATIC_INLINE uint32_t nrfy_gpiote_event_address_get(NRF_GPIOTE_Type const *p_reg, nrf_gpiote_event_t event)

@refhal{nrf_gpiote_event_address_get}

NRFY_STATIC_INLINE void nrfy_gpiote_int_enable(NRF_GPIOTE_Type *p_reg, uint32_t mask)

@refhal{nrf_gpiote_int_enable}

NRFY_STATIC_INLINE void nrfy_gpiote_int_disable(NRF_GPIOTE_Type *p_reg, uint32_t mask)

@refhal{nrf_gpiote_int_disable}

NRFY_STATIC_INLINE uint32_t nrfy_gpiote_int_enable_check(NRF_GPIOTE_Type const *p_reg, uint32_t mask)

@refhal{nrf_gpiote_int_enable_check}

NRFY_STATIC_INLINE void nrfy_gpiote_subscribe_set(NRF_GPIOTE_Type *p_reg, nrf_gpiote_task_t task, uint8_t channel)

@refhal{nrf_gpiote_subscribe_set}

NRFY_STATIC_INLINE void nrfy_gpiote_subscribe_clear(NRF_GPIOTE_Type *p_reg, nrf_gpiote_task_t task)

@refhal{nrf_gpiote_subscribe_clear}

NRFY_STATIC_INLINE void nrfy_gpiote_publish_set(NRF_GPIOTE_Type *p_reg, nrf_gpiote_event_t event, uint8_t channel)

@refhal{nrf_gpiote_publish_set}

NRFY_STATIC_INLINE void nrfy_gpiote_publish_clear(NRF_GPIOTE_Type *p_reg, nrf_gpiote_event_t event)

@refhal{nrf_gpiote_publish_clear}

NRFY_STATIC_INLINE void nrfy_gpiote_event_enable(NRF_GPIOTE_Type *p_reg, uint32_t idx)

@refhal{nrf_gpiote_event_enable}

NRFY_STATIC_INLINE void nrfy_gpiote_event_disable(NRF_GPIOTE_Type *p_reg, uint32_t idx)

@refhal{nrf_gpiote_event_disable}

NRFY_STATIC_INLINE void nrfy_gpiote_event_configure(NRF_GPIOTE_Type *p_reg, uint32_t idx, uint32_t pin, nrf_gpiote_polarity_t polarity)

@refhal{nrf_gpiote_event_configure}

NRFY_STATIC_INLINE uint32_t nrfy_gpiote_event_pin_get(NRF_GPIOTE_Type const *p_reg, uint32_t idx)

@refhal{nrf_gpiote_event_pin_get}

NRFY_STATIC_INLINE nrf_gpiote_polarity_t nrfy_gpiote_event_polarity_get(NRF_GPIOTE_Type const *p_reg, uint32_t idx)

@refhal{nrf_gpiote_event_polarity_get}

NRFY_STATIC_INLINE void nrfy_gpiote_task_enable(NRF_GPIOTE_Type *p_reg, uint32_t idx)

@refhal{nrf_gpiote_task_enable}

NRFY_STATIC_INLINE void nrfy_gpiote_task_disable(NRF_GPIOTE_Type *p_reg, uint32_t idx)

@refhal{nrf_gpiote_task_disable}

NRFY_STATIC_INLINE void nrfy_gpiote_task_configure(NRF_GPIOTE_Type *p_reg, uint32_t idx, uint32_t pin, nrf_gpiote_polarity_t polarity, nrf_gpiote_outinit_t init_val)

@refhal{nrf_gpiote_task_configure}

NRFY_STATIC_INLINE void nrfy_gpiote_task_force(NRF_GPIOTE_Type *p_reg, uint32_t idx, nrf_gpiote_outinit_t init_val)

@refhal{nrf_gpiote_task_force}

NRFY_STATIC_INLINE void nrfy_gpiote_te_default(NRF_GPIOTE_Type *p_reg, uint32_t idx)

@refhal{nrf_gpiote_te_default}

NRFY_STATIC_INLINE bool nrfy_gpiote_te_is_enabled(NRF_GPIOTE_Type const *p_reg, uint32_t idx)

@refhal{nrf_gpiote_te_is_enabled}

NRFY_STATIC_INLINE nrf_gpiote_task_t nrfy_gpiote_out_task_get(uint8_t index)

@refhal{nrf_gpiote_out_task_get}

NRFY_STATIC_INLINE nrf_gpiote_task_t nrfy_gpiote_set_task_get(uint8_t index)

@refhal{nrf_gpiote_set_task_get}

NRFY_STATIC_INLINE nrf_gpiote_task_t nrfy_gpiote_clr_task_get(uint8_t index)

@refhal{nrf_gpiote_clr_task_get}

NRFY_STATIC_INLINE nrf_gpiote_event_t nrfy_gpiote_in_event_get(uint8_t index)

@refhal{nrf_gpiote_in_event_get}

NRFY_STATIC_INLINE void nrfy_gpiote_latency_set(NRF_GPIOTE_Type *p_reg, nrf_gpiote_latency_t latency)

@refhal{nrf_gpiote_latency_set}

NRFY_STATIC_INLINE nrf_gpiote_latency_t nrfy_gpiote_latency_get(NRF_GPIOTE_Type const *p_reg)

@refhal{nrf_gpiote_latency_get}