Paparazzi UAS  v5.14.0_stable-0-g3f680d1
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

Implementation of system time functions for ChibiOS arch. More...

#include "mcu_periph/sys_time_arch.h"
#include <BOARD_CONFIG>
#include <ch.h>
#include "led.h"
+ Include dependency graph for sys_time_arch.c:

Go to the source code of this file.


static MUTEX_DECL (sys_time_mtx)
static void thd_sys_tick (void *arg)
static THD_WORKING_AREA (wa_thd_sys_tick, 1024)
static void sys_tick_handler (void)
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...
void sys_time_usleep (uint32_t us)
 sys_time_usleep(uint32_t us) More...
void sys_time_msleep (uint16_t ms)
void sys_time_ssleep (uint8_t s)

Detailed Description

Implementation of system time functions for ChibiOS arch.

Mostly empty functions for Paparazzi compatibility, since ChibiOS uses different system time functions.

Definition in file sys_time_arch.c.

Function Documentation

uint32_t get_sys_time_usec ( void  )

Get the time in microseconds since startup.

WARNING: overflows after 70min!

microseconds since startup as uint32_t

Definition at line 68 of file sys_time_arch.c.

Referenced by ahrs_aligner_run(), ahrs_gx3_publish_imu(), ahrs_vectornav_event(), gps_cb(), gps_feed_value(), gps_mtk_msg(), gps_piksi_publish(), gps_sim_hitl_event(), gps_sim_publish(), gps_sirf_msg(), gps_skytraq_msg(), gps_ubx_msg(), gps_udp_parse(), handle_ins_msg(), hott_periodic_event(), imu_analog_periodic(), imu_apogee_event(), imu_aspirin2_event(), imu_aspirin_event(), imu_aspirin_i2c_event(), imu_b2_event(), imu_bebop_event(), imu_disco_event(), imu_drotek2_event(), imu_gl1_event(), imu_hbmini_event(), imu_krooz_event(), imu_krooz_periodic(), imu_mpu9250_event(), imu_mpu_hmc_event(), imu_mpu_i2c_event(), imu_mpu_spi_event(), imu_navgo_event(), imu_navstik_event(), imu_nps_event(), imu_ppzuav_event(), imu_px4_event(), imu_px4fmu_event(), imu_swing_event(), imu_um6_publish(), imu_umarim_event(), ins_alt_float_update_baro(), ins_alt_float_update_gps(), intermcu_parse_msg(), mag_hmc58xx_module_event(), mag_pitot_parse_msg(), main(), mavlink_send_gps_raw_int(), navdata_publish_imu(), nmea_gps_msg(), opticflow_module_run(), parse_gps_datalink(), parse_gps_datalink_local(), parse_gps_datalink_small(), pose_periodic(), pprzlog_tp_init(), range_msg_callback(), send_filter_status(), send_gps_dw1000_small(), stereocam_parse_msg(), superbitrf_event(), superbitrf_receive_packet_cb(), v4l2_capture_thread(), and video_thread_function().

static MUTEX_DECL ( sys_time_mtx  )
static void sys_tick_handler ( void  )
void sys_time_arch_init ( void  )

Definition at line 49 of file sys_time_arch.c.

Referenced by sys_time_init().

+ Here is the caller graph for this function:

void sys_time_msleep ( uint16_t  ms)

Definition at line 108 of file sys_time_arch.c.


void sys_time_ssleep ( uint8_t  s)

Definition at line 114 of file sys_time_arch.c.

void sys_time_usleep ( uint32_t  us)

sys_time_usleep(uint32_t us)

using intermediate 64 bits variable to avoid wrapping

max sleep time is around 10 days (2^32 / CH_CFG_ST_FREQUENCY) at 10kHz

Definition at line 95 of file sys_time_arch.c.


Referenced by cyrf6936_init(), main(), pcap01_init(), px4flash_event(), received_spektrum_soft_bind(), send_spektrum_bind(), spektrum_bind(), spektrum_try_bind(), VCOM_putchar(), video_thread_function(), w5100_init(), and xbee_dl_init().

+ Here is the caller graph for this function:

static void thd_sys_tick ( void *  arg)

Definition at line 122 of file sys_time_arch.c.

References sys_tick_handler(), and TRUE.

Referenced by sys_time_arch_init().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static THD_WORKING_AREA ( wa_thd_sys_tick  ,