Monado OpenXR Runtime
Loading...
Searching...
No Matches
t_led_sync_refinement Struct Reference
Collaboration diagram for t_led_sync_refinement:

Data Fields

bool initialized
 Whether the structure has been fully initialized.
 
enum u_logging_level log_level
 
struct t_led_sync_refinement_options options
 The options to use for refinement.
 
struct os_mutex lock
 
bool has_exposure_time
 Whether we know the actual exposure time of the frames.
 
time_duration_ns exposure_time_ns
 The known time the frame was exposed for.
 
time_duration_ns exposure_interval_ns
 The known interval between frames.
 
bool has_sample_for_driver
 Whether we have a sample ready to be sent to the driver/device.
 
struct t_led_sync_sample sample_for_driver
 The sample to be sent to the driver/device on it's next convenience.
 
bool sample_applied
 Whether the sample has been applied.
 
enum t_led_sync_phase phase
 The current search phase.
 
time_duration_ns current_latency_offset_ns
 The current estimated latency offset between the device and the host, in nanoseconds.
 
time_duration_ns current_blink_fudge_ns
 The amount of fudge between the latency offset and the actual blink start time, in nanoseconds, so we can place the blink at the optimal time for the exposure.
 
time_duration_ns current_blink_duration_ns
 How long the LEDs blink for, each frame.
 
uint32_t frames_since_last_visually_seen
 The amount of frames since the controller was last visually seen.
 
uint32_t current_sequence_id
 The sequence ID of the latest timing event we processed.
 
timepoint_ns last_sample_apply_time_ns
 The time the latest sample was applied to the driver/device.
 
time_duration_ns found_left_edge_ns
 The found left edge of the exposure, -1 if not found yet.
 
time_duration_ns found_right_edge_ns
 The found right edge of the exposure, -1 if not found yet.
 
struct { 
 
   time_duration_ns   left_bound_ns 
 The current left bound of the binary search, if we're in a find edge phase. More...
 
   time_duration_ns   right_bound_ns 
 The current right bound of the binary search, if we're in a find edge phase. More...
 
binary_search_state 
 
struct { 
 
   time_duration_ns   last_good_blink_duration_ns 
 The last blink duration that didn't cause the device to become unstable. More...
 
   bool   backing_off 
 Whether we're currently trying to back off a lower blink duration. More...
 
blink_time_refinement_state 
 

Field Documentation

◆ backing_off

bool t_led_sync_refinement::backing_off

Whether we're currently trying to back off a lower blink duration.

◆ current_blink_duration_ns

time_duration_ns t_led_sync_refinement::current_blink_duration_ns

How long the LEDs blink for, each frame.

Referenced by change_good_cutoff(), and get_search_period_locked().

◆ current_blink_fudge_ns

time_duration_ns t_led_sync_refinement::current_blink_fudge_ns

The amount of fudge between the latency offset and the actual blink start time, in nanoseconds, so we can place the blink at the optimal time for the exposure.

◆ current_latency_offset_ns

time_duration_ns t_led_sync_refinement::current_latency_offset_ns

The current estimated latency offset between the device and the host, in nanoseconds.

This is what we are trying to refine.

◆ current_sequence_id

uint32_t t_led_sync_refinement::current_sequence_id

The sequence ID of the latest timing event we processed.

◆ exposure_interval_ns

time_duration_ns t_led_sync_refinement::exposure_interval_ns

The known interval between frames.

Referenced by frames_since_sample_apply().

◆ exposure_time_ns

time_duration_ns t_led_sync_refinement::exposure_time_ns

The known time the frame was exposed for.

Referenced by change_good_cutoff(), and get_search_period_locked().

◆ found_left_edge_ns

time_duration_ns t_led_sync_refinement::found_left_edge_ns

The found left edge of the exposure, -1 if not found yet.

◆ found_right_edge_ns

time_duration_ns t_led_sync_refinement::found_right_edge_ns

The found right edge of the exposure, -1 if not found yet.

◆ frames_since_last_visually_seen

uint32_t t_led_sync_refinement::frames_since_last_visually_seen

The amount of frames since the controller was last visually seen.

◆ has_exposure_time

bool t_led_sync_refinement::has_exposure_time

Whether we know the actual exposure time of the frames.

We may not, so we have to work without it in some cases.

Referenced by get_search_period_locked().

◆ has_sample_for_driver

bool t_led_sync_refinement::has_sample_for_driver

Whether we have a sample ready to be sent to the driver/device.

◆ initialized

bool t_led_sync_refinement::initialized

Whether the structure has been fully initialized.

◆ last_good_blink_duration_ns

time_duration_ns t_led_sync_refinement::last_good_blink_duration_ns

The last blink duration that didn't cause the device to become unstable.

◆ last_sample_apply_time_ns

timepoint_ns t_led_sync_refinement::last_sample_apply_time_ns

The time the latest sample was applied to the driver/device.

Referenced by frames_since_sample_apply().

◆ left_bound_ns

time_duration_ns t_led_sync_refinement::left_bound_ns

The current left bound of the binary search, if we're in a find edge phase.

◆ options

struct t_led_sync_refinement_options t_led_sync_refinement::options

The options to use for refinement.

◆ phase

enum t_led_sync_phase t_led_sync_refinement::phase

The current search phase.

Referenced by get_search_period_locked().

◆ right_bound_ns

time_duration_ns t_led_sync_refinement::right_bound_ns

The current right bound of the binary search, if we're in a find edge phase.

◆ sample_applied

bool t_led_sync_refinement::sample_applied

Whether the sample has been applied.

◆ sample_for_driver

struct t_led_sync_sample t_led_sync_refinement::sample_for_driver

The sample to be sent to the driver/device on it's next convenience.


The documentation for this struct was generated from the following file: