nrfcxx  0.1.0
C++-17 Framework for Nordic nRF5 Devices
Data Structures | Namespaces | Macros | Typedefs | Functions | Variables
core.hpp File Reference

API specific to the nRF51 series supporting <nrfcxx/core.hpp>. More...

#include <nrf51.h>

Go to the source code of this file.

Data Structures

struct  nrfcxx::nrf5::PPI_Type
 
struct  nrfcxx::nrf5::GPIO_Instance< 0 >
 

Namespaces

 nrfcxx
 Primary namespace for nrfcxx functionality.
 
 nrfcxx::nrf5
 Namespace holding support for bare nRF5 peripheral instances.
 
 nrfcxx::nrf5::series
 Namespace holding series-specific implementations that support the genericized API of nrfcxx.
 

Macros

#define ADCSeriesVariant_IRQHandler   ADC_IRQHandler
 
#define UPTIME_RTC_IRQHandler   RTC1_IRQHandler
 

Typedefs

using nrfcxx::nrf5::POWER_Type = nrf5::peripheral< NRF_POWER_Type >
 
using nrfcxx::nrf5::CLOCK_Type = peripheral< NRF_CLOCK_Type >
 
using nrfcxx::nrf5::MPU_Type = peripheral< NRF_MPU_Type >
 
using nrfcxx::nrf5::RADIO_Type = peripheral< NRF_RADIO_Type >
 
using nrfcxx::nrf5::UART_Type = peripheral< NRF_UART_Type >
 
using nrfcxx::nrf5::SPI_Type = peripheral< NRF_SPI_Type >
 
using nrfcxx::nrf5::TWI_Type = peripheral< NRF_TWI_Type >
 
using nrfcxx::nrf5::SPIS_Type = peripheral< NRF_SPIS_Type >
 
using nrfcxx::nrf5::GPIOTE_Type = peripheral< NRF_GPIOTE_Type >
 
using nrfcxx::nrf5::ADC_Type = peripheral< NRF_ADC_Type >
 
using nrfcxx::nrf5::TIMER_Type = peripheral< NRF_TIMER_Type >
 
using nrfcxx::nrf5::RTC_Type = peripheral< NRF_RTC_Type >
 
using nrfcxx::nrf5::TEMP_Type = peripheral< NRF_TEMP_Type >
 
using nrfcxx::nrf5::RNG_Type = peripheral< NRF_RNG_Type >
 
using nrfcxx::nrf5::ECB_Type = peripheral< NRF_ECB_Type >
 
using nrfcxx::nrf5::AAR_Type = peripheral< NRF_AAR_Type >
 
using nrfcxx::nrf5::CCM_Type = peripheral< NRF_CCM_Type >
 
using nrfcxx::nrf5::WDT_Type = peripheral< NRF_WDT_Type >
 
using nrfcxx::nrf5::QDEC_Type = peripheral< NRF_QDEC_Type >
 
using nrfcxx::nrf5::LPCOMP_Type = peripheral< NRF_LPCOMP_Type >
 
using nrfcxx::nrf5::SWI_Type = peripheral< NRF_SWI_Type >
 
using nrfcxx::nrf5::NVMC_Type = peripheral< NRF_NVMC_Type >
 
using nrfcxx::nrf5::FICR_Type = peripheral< NRF_FICR_Type >
 
using nrfcxx::nrf5::UICR_Type = peripheral< NRF_UICR_Type >
 
using nrfcxx::nrf5::GPIO_Type = peripheral< NRF_GPIO_Type >
 

Functions

void nrfcxx::nrf5::series::delay_cycles (unsigned int cycles)
 Loop to delay for a requested number of cycles.
 

Variables

static constexpr unsigned int nrfcxx::nrf5::series::CLOCK_MHz = 16
 CPU clock speed in MHz.
 
static constexpr unsigned int nrfcxx::nrf5::series::DELAY_US_OVERHEAD_cyc = 11
 Overhead setting up the call to delay_cycles() in the standard delay_us() implementation. More...
 
static constexpr POWER_Type nrfcxx::nrf5::POWER {NRF_POWER_BASE, POWER_CLOCK_IRQn}
 
static constexpr CLOCK_Type nrfcxx::nrf5::CLOCK {NRF_CLOCK_BASE, POWER_CLOCK_IRQn}
 
static constexpr MPU_Type nrfcxx::nrf5::MPU {NRF_MPU_BASE}
 
static constexpr RADIO_Type nrfcxx::nrf5::RADIO {NRF_RADIO_BASE, RADIO_IRQn}
 
static constexpr UART_Type nrfcxx::nrf5::UART0 {NRF_UART0_BASE, UART0_IRQn, 0}
 
static constexpr SPI_Type nrfcxx::nrf5::SPI0 {NRF_SPI0_BASE, SPI0_TWI0_IRQn, 0}
 
static constexpr SPI_Type nrfcxx::nrf5::SPI1 {NRF_SPI1_BASE, SPI1_TWI1_IRQn, 1}
 
static constexpr TWI_Type nrfcxx::nrf5::TWI0 {NRF_TWI0_BASE, SPI0_TWI0_IRQn, 0}
 
static constexpr TWI_Type nrfcxx::nrf5::TWI1 {NRF_TWI1_BASE, SPI1_TWI1_IRQn, 1}
 
static constexpr SPI_Type nrfcxx::nrf5::SPIS1 {NRF_SPIS1_BASE, SPI1_TWI1_IRQn, 1}
 
static constexpr GPIOTE_Type nrfcxx::nrf5::GPIOTE {NRF_GPIOTE_BASE, GPIOTE_IRQn, GPIOTE_Type::NO_INSTANCE, 4}
 
static constexpr ADC_Type nrfcxx::nrf5::ADC {NRF_ADC_BASE, ADC_IRQn}
 
static constexpr auto & nrfcxx::nrf5::ADCVariant = ADC
 
static constexpr TIMER_Type nrfcxx::nrf5::TIMER0 {NRF_TIMER0_BASE, TIMER0_IRQn, 0, 4}
 
static constexpr TIMER_Type nrfcxx::nrf5::TIMER1 {NRF_TIMER1_BASE, TIMER1_IRQn, 1, 4}
 
static constexpr TIMER_Type nrfcxx::nrf5::TIMER2 {NRF_TIMER2_BASE, TIMER2_IRQn, 2, 4}
 
static constexpr RTC_Type nrfcxx::nrf5::RTC0 {NRF_RTC0_BASE, RTC0_IRQn, 0, 3}
 
static constexpr RTC_Type nrfcxx::nrf5::RTC1 {NRF_RTC1_BASE, RTC1_IRQn, 0, 4}
 
static constexpr const RTC_Type & nrfcxx::nrf5::UPTIME_RTC {RTC1}
 
static constexpr TEMP_Type nrfcxx::nrf5::TEMP {NRF_TEMP_BASE, TEMP_IRQn}
 
static constexpr RNG_Type nrfcxx::nrf5::RNG {NRF_RNG_BASE, RNG_IRQn}
 
static constexpr ECB_Type nrfcxx::nrf5::ECB {NRF_ECB_BASE, ECB_IRQn}
 
static constexpr AAR_Type nrfcxx::nrf5::AAR {NRF_AAR_BASE, CCM_AAR_IRQn}
 
static constexpr CCM_Type nrfcxx::nrf5::CCM {NRF_CCM_BASE, CCM_AAR_IRQn}
 
static constexpr WDT_Type nrfcxx::nrf5::WDT {NRF_WDT_BASE, WDT_IRQn}
 
static constexpr QDEC_Type nrfcxx::nrf5::QDEC {NRF_QDEC_BASE, QDEC_IRQn}
 
static constexpr LPCOMP_Type nrfcxx::nrf5::LPCOMP {NRF_LPCOMP_BASE, LPCOMP_IRQn}
 
static constexpr SWI_Type nrfcxx::nrf5::SWI {NRF_SWI_BASE}
 
static constexpr NVMC_Type nrfcxx::nrf5::NVMC {NRF_NVMC_BASE}
 
static constexpr PPI_Type nrfcxx::nrf5::PPI {}
 
static constexpr FICR_Type nrfcxx::nrf5::FICR {NRF_FICR_BASE}
 
static constexpr UICR_Type nrfcxx::nrf5::UICR {NRF_UICR_BASE}
 
static constexpr int nrfcxx::nrf5::GPIO_PSEL_COUNT = 32
 The number of GPIO PSEL ordinals supported by the platform. More...
 
static constexpr GPIO_Type nrfcxx::nrf5::GPIO {NRF_GPIO_BASE, GPIO_Type::NO_IRQ, 0, 32}
 

Detailed Description

API specific to the nRF51 series supporting <nrfcxx/core.hpp>.