Paparazzi UAS  v5.12_stable-4-g9b43e9b
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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

pthread_t sys_time_thread
 
static struct timespec startup_time
 

Macro Definition Documentation

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

Definition at line 48 of file sys_time_arch.c.

Referenced by sys_time_thread_main().

#define SYS_TIME_THREAD_PRIO   29

Definition at line 39 of file sys_time_arch.c.

Referenced by sys_time_thread_main().

Function Documentation

uint32_t get_sys_time_msec ( void  )

Get the time in milliseconds since startup.

Returns
milliseconds since startup as uint32_t

Definition at line 175 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:

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 153 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:

static void sys_tick_handler ( void  )
static
void sys_time_arch_init ( void  )

Definition at line 94 of file sys_time_arch.c.

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

+ Here is the call graph for this function:

void * sys_time_thread_main ( void *  data)

Definition at line 50 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

struct timespec startup_time
static
pthread_t sys_time_thread

Definition at line 42 of file sys_time_arch.c.

Referenced by sys_time_arch_init().