Contiki-NG
Files | Functions | Variables

Files

file  clock.c
 Software clock implementation for the nRF52.
 

Functions

static void rtc_handler (nrf_drv_rtc_int_type_t int_type)
 Function for handling the RTC0 interrupts. More...
 
static void lfclk_config (void)
 Function starting the internal LFCLK XTAL oscillator.
 
static void rtc_config (void)
 Function initialization and configuration of RTC driver instance.
 
void clock_init (void)
 Initialize the clock library. More...
 
clock_time_t clock_time (void)
 Get the current clock time. More...
 
unsigned long clock_seconds (void)
 Get the current value of the platform seconds. More...
 
void clock_wait (clock_time_t i)
 Wait for a given number of ticks. More...
 
void clock_delay_usec (uint16_t dt)
 Delay a given number of microseconds. More...
 
void clock_delay (unsigned int i)
 Obsolete delay function but we implement it here since some code still uses it. More...
 

Variables

const nrf_drv_rtc_t rtc = NRF_DRV_RTC_INSTANCE(PLATFORM_RTC_INSTANCE_ID)
 RTC instance used for platform clock.
 

Detailed Description

Function Documentation

◆ clock_delay()

void clock_delay ( unsigned int  i)

Obsolete delay function but we implement it here since some code still uses it.

Obsolete delay function but we implement it here since some code still uses it.

Definition at line 161 of file clock.c.

◆ clock_delay_usec()

void clock_delay_usec ( uint16_t  dt)

Delay a given number of microseconds.

Parameters
dtHow many microseconds to delay.
Note
Interrupts could increase the delay by a variable amount.

Definition at line 151 of file clock.c.

◆ clock_init()

void clock_init ( void  )

Initialize the clock library.

This function initializes the clock library and should be called from the main() function of the system.

Initialize the clock library.

We initialise the SysTick to fire 128 interrupts per second, giving us a value of 128 for CLOCK_SECOND

We also initialise GPT0:Timer A, which is used by clock_delay_usec(). We use 16-bit range (individual), count-down, one-shot, no interrupts. The prescaler is computed according to the system clock in order to get 1 tick per usec.

Definition at line 110 of file clock.c.

◆ clock_seconds()

unsigned long clock_seconds ( void  )

Get the current value of the platform seconds.

This could be the number of seconds since startup, or since a standard epoch.

Returns
The value.

Definition at line 135 of file clock.c.

◆ clock_time()

clock_time_t clock_time ( void  )

Get the current clock time.

This function returns the current system clock time.

Returns
The current clock time, measured in system ticks.

Definition at line 120 of file clock.c.

◆ clock_wait()

void clock_wait ( clock_time_t  t)

Wait for a given number of ticks.

Parameters
tHow many ticks.

Definition at line 141 of file clock.c.

◆ rtc_handler()

static void rtc_handler ( nrf_drv_rtc_int_type_t  int_type)
static

Function for handling the RTC0 interrupts.

Parameters
int_typeType of interrupt to be handled

Definition at line 70 of file clock.c.