|
dragoon
4383
|
APIs for the accessing NVIC when using a SoftDevice. More...
Modules | |
| Defines | |
| Variables | |
| SoftDevice NVIC internal functions | |
| SoftDevice NVIC public functions | |
Functions | |
| __STATIC_INLINE int | __sd_nvic_irq_disable (void) |
| Disables IRQ interrupts globally, including the SoftDevice's interrupts. More... | |
| __STATIC_INLINE void | __sd_nvic_irq_enable (void) |
| Enables IRQ interrupts globally, including the SoftDevice's interrupts. | |
| __STATIC_INLINE uint32_t | __sd_nvic_app_accessible_irq (IRQn_Type IRQn) |
| Checks if IRQn is available to application. More... | |
| __STATIC_INLINE uint32_t | __sd_nvic_is_app_accessible_priority (uint32_t priority) |
| Checks if priority is available to application. More... | |
| __STATIC_INLINE uint32_t | sd_nvic_EnableIRQ (IRQn_Type IRQn) |
| Enable External Interrupt. More... | |
| __STATIC_INLINE uint32_t | sd_nvic_DisableIRQ (IRQn_Type IRQn) |
| Disable External Interrupt. More... | |
| __STATIC_INLINE uint32_t | sd_nvic_GetPendingIRQ (IRQn_Type IRQn, uint32_t *p_pending_irq) |
| Get Pending Interrupt. More... | |
| __STATIC_INLINE uint32_t | sd_nvic_SetPendingIRQ (IRQn_Type IRQn) |
| Set Pending Interrupt. More... | |
| __STATIC_INLINE uint32_t | sd_nvic_ClearPendingIRQ (IRQn_Type IRQn) |
| Clear Pending Interrupt. More... | |
| __STATIC_INLINE uint32_t | sd_nvic_SetPriority (IRQn_Type IRQn, uint32_t priority) |
| Set Interrupt Priority. More... | |
| __STATIC_INLINE uint32_t | sd_nvic_GetPriority (IRQn_Type IRQn, uint32_t *p_priority) |
| Get Interrupt Priority. More... | |
| __STATIC_INLINE uint32_t | sd_nvic_SystemReset (void) |
| System Reset. More... | |
| __STATIC_INLINE uint32_t | sd_nvic_critical_region_enter (uint8_t *p_is_nested_critical_region) |
| Enter critical region. More... | |
| __STATIC_INLINE uint32_t | sd_nvic_critical_region_exit (uint8_t is_nested_critical_region) |
| Exit critical region. More... | |
APIs for the accessing NVIC when using a SoftDevice.
| __STATIC_INLINE uint32_t __sd_nvic_app_accessible_irq | ( | IRQn_Type | IRQn | ) |
Checks if IRQn is available to application.
| [in] | IRQn | IRQ to check |
| 1 | (true) if the IRQ to check is available to the application |
< The peripheral ID of the NVMC. IRQ numbers are used to identify peripherals, but the NVMC doesn't have an IRQ number in the MDK.
Definition at line 289 of file nrf_nvic.h.
References __NRF_NVIC_APP_IRQS_0, and __NRF_NVIC_APP_IRQS_1.
Referenced by sd_nvic_ClearPendingIRQ(), sd_nvic_DisableIRQ(), sd_nvic_EnableIRQ(), sd_nvic_GetPendingIRQ(), sd_nvic_GetPriority(), sd_nvic_SetPendingIRQ(), and sd_nvic_SetPriority().
| __STATIC_INLINE int __sd_nvic_irq_disable | ( | void | ) |
Disables IRQ interrupts globally, including the SoftDevice's interrupts.
| The | value of PRIMASK prior to disabling the interrupts. |
Definition at line 277 of file nrf_nvic.h.
Referenced by sd_nvic_critical_region_enter(), and sd_nvic_critical_region_exit().
| __STATIC_INLINE uint32_t __sd_nvic_is_app_accessible_priority | ( | uint32_t | priority | ) |
Checks if priority is available to application.
| [in] | priority | priority to check |
| 1 | (true) if the priority to check is available to the application |
Definition at line 305 of file nrf_nvic.h.
Referenced by sd_nvic_EnableIRQ(), and sd_nvic_SetPriority().
| __STATIC_INLINE uint32_t sd_nvic_ClearPendingIRQ | ( | IRQn_Type | IRQn | ) |
Clear Pending Interrupt.
| [in] | IRQn | See the NVIC_ClearPendingIRQ documentation in CMSIS. |
| NRF_SUCCESS | The interrupt pending flag is cleared. |
| NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | IRQn is not available for the application. |
Definition at line 389 of file nrf_nvic.h.
References __sd_nvic_app_accessible_irq(), NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE, and NRF_SUCCESS.
| __STATIC_INLINE uint32_t sd_nvic_critical_region_enter | ( | uint8_t * | p_is_nested_critical_region | ) |
Enter critical region.
| [out] | p_is_nested_critical_region | If 1, the application is now in a nested critical region. |
| NRF_SUCCESS |
< The peripheral ID of the NVMC. IRQ numbers are used to identify peripherals, but the NVMC doesn't have an IRQ number in the MDK.
< The peripheral ID of the NVMC. IRQ numbers are used to identify peripherals, but the NVMC doesn't have an IRQ number in the MDK.
Definition at line 437 of file nrf_nvic.h.
References nrf_nvic_state_t::__cr_flag, nrf_nvic_state_t::__irq_masks, __NRF_NVIC_APP_IRQS_0, __NRF_NVIC_APP_IRQS_1, __sd_nvic_irq_disable(), __sd_nvic_irq_enable(), and NRF_SUCCESS.
| __STATIC_INLINE uint32_t sd_nvic_critical_region_exit | ( | uint8_t | is_nested_critical_region | ) |
Exit critical region.
| [in] | is_nested_critical_region | If this is set to 1, the critical region won't be exited. |
| NRF_SUCCESS |
Definition at line 460 of file nrf_nvic.h.
References nrf_nvic_state_t::__cr_flag, nrf_nvic_state_t::__irq_masks, __sd_nvic_irq_disable(), __sd_nvic_irq_enable(), and NRF_SUCCESS.
| __STATIC_INLINE uint32_t sd_nvic_DisableIRQ | ( | IRQn_Type | IRQn | ) |
Disable External Interrupt.
| [in] | IRQn | See the NVIC_DisableIRQ documentation in CMSIS. |
| NRF_SUCCESS | The interrupt was disabled. |
| NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | The interrupt is not available for the application. |
Definition at line 344 of file nrf_nvic.h.
References nrf_nvic_state_t::__cr_flag, nrf_nvic_state_t::__irq_masks, __sd_nvic_app_accessible_irq(), NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE, and NRF_SUCCESS.
| __STATIC_INLINE uint32_t sd_nvic_EnableIRQ | ( | IRQn_Type | IRQn | ) |
Enable External Interrupt.
| [in] | IRQn | See the NVIC_EnableIRQ documentation in CMSIS. |
| NRF_SUCCESS | The interrupt was enabled. |
| NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | The interrupt is not available for the application. |
| NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED | The interrupt has a priority not available for the application. |
Definition at line 322 of file nrf_nvic.h.
References nrf_nvic_state_t::__cr_flag, nrf_nvic_state_t::__irq_masks, __sd_nvic_app_accessible_irq(), __sd_nvic_is_app_accessible_priority(), NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE, NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED, and NRF_SUCCESS.
| __STATIC_INLINE uint32_t sd_nvic_GetPendingIRQ | ( | IRQn_Type | IRQn, |
| uint32_t * | p_pending_irq | ||
| ) |
Get Pending Interrupt.
| [in] | IRQn | See the NVIC_GetPendingIRQ documentation in CMSIS. |
| [out] | p_pending_irq | Return value from NVIC_GetPendingIRQ. |
| NRF_SUCCESS | The interrupt is available for the application. |
| NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | IRQn is not available for the application. |
Definition at line 363 of file nrf_nvic.h.
References __sd_nvic_app_accessible_irq(), NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE, and NRF_SUCCESS.
| __STATIC_INLINE uint32_t sd_nvic_GetPriority | ( | IRQn_Type | IRQn, |
| uint32_t * | p_priority | ||
| ) |
Get Interrupt Priority.
| [in] | IRQn | See the NVIC_GetPriority documentation in CMSIS. |
| [out] | p_priority | Return value from NVIC_GetPriority. |
| NRF_SUCCESS | The interrupt priority is returned in p_priority. |
| NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | - IRQn is not available for the application. |
Definition at line 418 of file nrf_nvic.h.
References __sd_nvic_app_accessible_irq(), NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE, and NRF_SUCCESS.
| __STATIC_INLINE uint32_t sd_nvic_SetPendingIRQ | ( | IRQn_Type | IRQn | ) |
Set Pending Interrupt.
| [in] | IRQn | See the NVIC_SetPendingIRQ documentation in CMSIS. |
| NRF_SUCCESS | The interrupt is set pending. |
| NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | IRQn is not available for the application. |
Definition at line 376 of file nrf_nvic.h.
References __sd_nvic_app_accessible_irq(), NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE, and NRF_SUCCESS.
| __STATIC_INLINE uint32_t sd_nvic_SetPriority | ( | IRQn_Type | IRQn, |
| uint32_t | priority | ||
| ) |
Set Interrupt Priority.
| [in] | IRQn | See the NVIC_SetPriority documentation in CMSIS. |
| [in] | priority | A valid IRQ priority for use by the application. |
| NRF_SUCCESS | The interrupt and priority level is available for the application. |
| NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE | IRQn is not available for the application. |
| NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED | The interrupt priority is not available for the application. |
Definition at line 402 of file nrf_nvic.h.
References __sd_nvic_app_accessible_irq(), __sd_nvic_is_app_accessible_priority(), NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE, NRF_ERROR_SOC_NVIC_INTERRUPT_PRIORITY_NOT_ALLOWED, and NRF_SUCCESS.
| __STATIC_INLINE uint32_t sd_nvic_SystemReset | ( | void | ) |
System Reset.
| NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN |
Definition at line 431 of file nrf_nvic.h.
References NRF_ERROR_SOC_NVIC_SHOULD_NOT_RETURN.