|
Monado OpenXR Runtime
|
Read with a VP2_REPORT_ID_FEATURE feature report, the MCU fills in the header itself. More...
#include <vp2/vp2_protocol.h>

Data Fields | |
| uint8_t | id |
| VP2_REPORT_ID_FEATURE | |
| __le16 | sub_id |
| VP2_COMMAND_FEATURE_STATE | |
| uint8_t | size |
| VP2_PAYLOAD_SIZE | |
| uint8_t | unused_0 [2] |
| __le16 | bridge_revision |
| Video bridge register 0x300A. | |
| __le32 | bootloader_version |
| Same as "mfg-s-iapswver". | |
| __le32 | mcu_version |
| Same as VP2_COMMAND_GET_SOFTWARE_VERSION. | |
| uint8_t | cpld_version |
| 0 while a CPLD transfer is running | |
| uint8_t | audio_version |
| 0 while an audio transfer is running | |
| uint8_t | bridge_version |
| High nibble major, low nibble minor, 0 while a bridge transfer is running. | |
| uint8_t | unused_15 [3] |
| uint8_t | wireless_mode |
| Always 0 in the firmware on my unit. | |
| uint8_t | firmware_variant |
| Selects the transfer size limits. | |
| __le16 | proximity_calibration [8] |
| Factory proximity sensor data, "mfg-r-ps_user_data <N>" reads one. | |
| __le16 | ipd_adc_min |
| Factory IPD ADC value at the narrowest position. | |
| __le16 | ipd_adc_max |
| Factory IPD ADC value at the widest position. | |
| uint8_t | unused_40 [4] |
| __le64 | unknown_version |
| Always 0x303070. | |
| uint8_t | amp_gain |
| 0xFF while the audio is powered off | |
| uint8_t | brightness |
| 0 while the display is powered off | |
| uint8_t | display_flags |
| enum vp2_display_flags | |
| uint8_t | cpld_state |
| 3 normally, derived from CPLD status bits | |
| uint8_t | status_report_enabled |
| uint8_t | amp_power_limit |
| uint8_t | power_state |
| enum vp2_power_state, or 0/1 from CPLD state changes | |
| uint8_t | hardware_id |
| From the factory data. | |
Read with a VP2_REPORT_ID_FEATURE feature report, the MCU fills in the header itself.
The versions are parsed from hex strings, so a string of "0000000000203056" becomes 0x203056.
| uint8_t vp2_feature_state::amp_gain |
0xFF while the audio is powered off
| uint8_t vp2_feature_state::audio_version |
0 while an audio transfer is running
| __le32 vp2_feature_state::bootloader_version |
Same as "mfg-s-iapswver".
| __le16 vp2_feature_state::bridge_revision |
Video bridge register 0x300A.
| uint8_t vp2_feature_state::bridge_version |
High nibble major, low nibble minor, 0 while a bridge transfer is running.
| uint8_t vp2_feature_state::brightness |
0 while the display is powered off
| uint8_t vp2_feature_state::cpld_state |
3 normally, derived from CPLD status bits
| uint8_t vp2_feature_state::cpld_version |
0 while a CPLD transfer is running
| uint8_t vp2_feature_state::display_flags |
enum vp2_display_flags
| uint8_t vp2_feature_state::firmware_variant |
Selects the transfer size limits.
| uint8_t vp2_feature_state::hardware_id |
From the factory data.
| uint8_t vp2_feature_state::id |
Referenced by ipcproto.common.Call::__init__(), and vp2_get_feature_state().
| __le16 vp2_feature_state::ipd_adc_max |
Factory IPD ADC value at the widest position.
| __le16 vp2_feature_state::ipd_adc_min |
Factory IPD ADC value at the narrowest position.
| __le32 vp2_feature_state::mcu_version |
Same as VP2_COMMAND_GET_SOFTWARE_VERSION.
| uint8_t vp2_feature_state::power_state |
enum vp2_power_state, or 0/1 from CPLD state changes
| __le16 vp2_feature_state::proximity_calibration[8] |
Factory proximity sensor data, "mfg-r-ps_user_data <N>" reads one.
| uint8_t vp2_feature_state::size |
| __le16 vp2_feature_state::sub_id |
Referenced by vp2_get_feature_state().
| __le64 vp2_feature_state::unknown_version |
Always 0x303070.
| uint8_t vp2_feature_state::wireless_mode |
Always 0 in the firmware on my unit.