Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
pose_history.h File Reference
+ Include dependency graph for pose_history.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  pose_t
 

Functions

void pose_init (void)
 Initialises the pose history. More...
 
void pose_periodic (void)
 Records the pose history 512 times per second. More...
 
struct pose_t get_rotation_at_timestamp (uint32_t timestamp)
 Given a pprz timestamp in used (obtained with get_sys_time_usec) we return the pose in FloatEulers closest to that time. More...
 

Detailed Description

Author
Roland Meertens Ask this module for the pose the drone had closest to a given timestamp

Definition in file pose_history.h.


Data Structure Documentation

◆ pose_t

struct pose_t

Definition at line 31 of file pose_history.h.

+ Collaboration diagram for pose_t:
Data Fields
struct FloatEulers eulers
struct FloatRates rates
uint32_t timestamp

Function Documentation

◆ get_rotation_at_timestamp()

struct pose_t get_rotation_at_timestamp ( uint32_t  timestamp)

Given a pprz timestamp in used (obtained with get_sys_time_usec) we return the pose in FloatEulers closest to that time.

Definition at line 53 of file pose_history.c.

References pose_t::eulers, location_history, pose_t::rates, rotation_history_ring_buffer_t::ring_data, rotation_history_ring_buffer_t::ring_size, and pose_t::timestamp.

Referenced by opticflow_module_calc(), and save_shot_on_disk().

+ Here is the caller graph for this function:

◆ pose_init()

void pose_init ( void  )

◆ pose_periodic()

void pose_periodic ( )

Records the pose history 512 times per second.

Time gets saved in pprz usec, obtained with get_sys_time_usec();

Definition at line 95 of file pose_history.c.

References pose_t::eulers, get_sys_time_usec(), location_history, pose_t::rates, rotation_history_ring_buffer_t::ring_data, rotation_history_ring_buffer_t::ring_index, rotation_history_ring_buffer_t::ring_size, stateGetBodyRates_f(), stateGetNedToBodyEulers_f(), and pose_t::timestamp.

+ Here is the call graph for this function: