|
Monado OpenXR Runtime
|

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 | |
| bool t_led_sync_refinement::backing_off |
Whether we're currently trying to back off a lower blink duration.
| 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().
| 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.
| 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.
| uint32_t t_led_sync_refinement::current_sequence_id |
The sequence ID of the latest timing event we processed.
| time_duration_ns t_led_sync_refinement::exposure_interval_ns |
The known interval between frames.
Referenced by frames_since_sample_apply().
| 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().
| time_duration_ns t_led_sync_refinement::found_left_edge_ns |
The found left edge of the exposure, -1 if not found yet.
| time_duration_ns t_led_sync_refinement::found_right_edge_ns |
The found right edge of the exposure, -1 if not found yet.
| uint32_t t_led_sync_refinement::frames_since_last_visually_seen |
The amount of frames since the controller was last visually seen.
| 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().
| bool t_led_sync_refinement::has_sample_for_driver |
Whether we have a sample ready to be sent to the driver/device.
| bool t_led_sync_refinement::initialized |
Whether the structure has been fully initialized.
| 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.
| 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().
| 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.
| struct t_led_sync_refinement_options t_led_sync_refinement::options |
The options to use for refinement.
| enum t_led_sync_phase t_led_sync_refinement::phase |
The current search phase.
Referenced by get_search_period_locked().
| 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.
| bool t_led_sync_refinement::sample_applied |
Whether the sample has been applied.
| 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.