Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
sys_time_arch.c File Reference
#include "mcu_periph/sys_time.h"
#include <stdio.h>
#include <pthread.h>
#include <sys/timerfd.h>
#include <time.h>
#include "rt_priority.h"
+ Include dependency graph for sys_time_arch.c:

Go to the source code of this file.

Macros

#define SYS_TIME_THREAD_PRIO   29
 
#define NSEC_OF_SEC(sec)   ((sec) * 1e9)
 

Functions

static void sys_tick_handler (void)
 
void * sys_time_thread_main (void *data)
 
void sys_time_arch_init (void)
 
uint32_t get_sys_time_usec (void)
 Get the time in microseconds since startup. More...
 
uint32_t get_sys_time_msec (void)
 Get the time in milliseconds since startup. More...
 

Variables

static struct timespec startup_time
 

Macro Definition Documentation

◆ NSEC_OF_SEC

#define NSEC_OF_SEC (   sec)    ((sec) * 1e9)

Definition at line 47 of file sys_time_arch.c.

◆ SYS_TIME_THREAD_PRIO

#define SYS_TIME_THREAD_PRIO   29

Definition at line 39 of file sys_time_arch.c.

Function Documentation

◆ get_sys_time_msec()

uint32_t get_sys_time_msec ( void  )

Get the time in milliseconds since startup.

Returns
milliseconds since startup as uint32_t

Definition at line 178 of file sys_time_arch.c.

References msec_of_sys_time_ticks(), sys_time::nb_sec, sys_time::nb_sec_rem, sys_time::nb_tick, and startup_time.

+ Here is the call graph for this function:

◆ get_sys_time_usec()

uint32_t get_sys_time_usec ( void  )

Get the time in microseconds since startup.

WARNING: overflows after 71min34seconds!

Returns
current system time as uint32_t

Definition at line 156 of file sys_time_arch.c.

References sys_time::nb_sec, sys_time::nb_sec_rem, sys_time::nb_tick, startup_time, and usec_of_sys_time_ticks().

+ Here is the call graph for this function:

◆ sys_tick_handler()

static void sys_tick_handler ( void  )
static

◆ sys_time_arch_init()

void sys_time_arch_init ( void  )

Definition at line 93 of file sys_time_arch.c.

References sys_time::cpu_ticks_per_sec, sys_time::resolution, sys_time::resolution_cpu_ticks, startup_time, and sys_time_thread_main().

+ Here is the call graph for this function:

◆ sys_time_thread_main()

void * sys_time_thread_main ( void *  data)

Definition at line 49 of file sys_time_arch.c.

References fd, get_rt_prio(), NSEC_OF_SEC, sys_time::resolution, sys_tick_handler(), and SYS_TIME_THREAD_PRIO.

Referenced by sys_time_arch_init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ startup_time

struct timespec startup_time
static