|
Monado OpenXR Runtime
|
A routine to automatically refine latency offsets of LED blink times using constellation samples. More...
#include "util/u_time.h"#include "util/u_logging.h"#include "os/os_threading.h"#include "tracking/t_time_sync.h"#include "tracking/t_constellation.h"
Go to the source code of this file.
Data Structures | |
| struct | t_led_sync_refinement_options |
| Options for the LED sync refinement. More... | |
| struct | t_led_sync_sample |
| A sample read out from the driver, to pass to the device in question. More... | |
| struct | t_led_sync_refinement |
Macros | |
| #define | T_LED_SYNC_DEFAULT_RESYNC_TIME (time_duration_ns)(U_TIME_1S_IN_NS * 5LL) |
| 10 seconds after last visually seen sample to resync | |
Enumerations | |
| enum | t_led_sync_refinement_flags { T_LED_SYNC_REFINEMENT_FLAGS_NONE = 0 , T_LED_SYNC_REFINEMENT_FLAGS_BLINK_DURATION = 1 << 0 } |
| Flags to control the behavior of the LED sync refinement routine. More... | |
| enum | t_led_sync_phase { T_LED_SYNC_SEARCH_PHASE_INIT = 0 , T_LED_SYNC_SEARCH_PHASE_FIND_INITIAL_OFFSET = 1 , T_LED_SYNC_SEARCH_PHASE_FIND_RIGHT_EDGE = 2 , T_LED_SYNC_SEARCH_PHASE_FIND_LEFT_EDGE = 3 , T_LED_SYNC_SEARCH_PHASE_REFINE_BLINK_DURATION = 4 , T_LED_SYNC_SEARCH_PHASE_MAINTAIN_OFFSET = 5 } |
Functions | |
| int | t_led_sync_refinement_init (struct t_led_sync_refinement *refinement, const struct t_led_sync_refinement_options *options) |
| void | t_led_sync_refinement_destroy (struct t_led_sync_refinement *refinement) |
| void | t_led_sync_push_timing_event (struct t_led_sync_refinement *refinement, const struct t_timing_event_camera_exposure_start *event) |
| void | t_led_sync_push_constellation_sample (struct t_led_sync_refinement *refinement, const struct t_constellation_tracker_sample *sample) |
| bool | t_led_sync_get_sample (struct t_led_sync_refinement *refinement, struct t_led_sync_sample *out_sample) |
| void | t_led_sync_mark_latest_sample_applied (struct t_led_sync_refinement *refinement, timepoint_ns apply_time_ns) |
| void | t_led_sync_update_minimum_blink_time (struct t_led_sync_refinement *refinement, time_duration_ns new_minimum_ns) |
A routine to automatically refine latency offsets of LED blink times using constellation samples.
| #define T_LED_SYNC_DEFAULT_RESYNC_TIME (time_duration_ns)(U_TIME_1S_IN_NS * 5LL) |
10 seconds after last visually seen sample to resync
| enum t_led_sync_phase |