Monado OpenXR Runtime
Loading...
Searching...
No Matches
vp2_feature_state Struct Reference

Read with a VP2_REPORT_ID_FEATURE feature report, the MCU fills in the header itself. More...

#include <vp2/vp2_protocol.h>

Collaboration diagram for vp2_feature_state:

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.
 

Detailed Description

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.

Field Documentation

◆ amp_gain

uint8_t vp2_feature_state::amp_gain

0xFF while the audio is powered off

◆ audio_version

uint8_t vp2_feature_state::audio_version

0 while an audio transfer is running

◆ bootloader_version

__le32 vp2_feature_state::bootloader_version

Same as "mfg-s-iapswver".

◆ bridge_revision

__le16 vp2_feature_state::bridge_revision

Video bridge register 0x300A.

◆ bridge_version

uint8_t vp2_feature_state::bridge_version

High nibble major, low nibble minor, 0 while a bridge transfer is running.

◆ brightness

uint8_t vp2_feature_state::brightness

0 while the display is powered off

◆ cpld_state

uint8_t vp2_feature_state::cpld_state

3 normally, derived from CPLD status bits

◆ cpld_version

uint8_t vp2_feature_state::cpld_version

0 while a CPLD transfer is running

◆ display_flags

uint8_t vp2_feature_state::display_flags

enum vp2_display_flags

◆ firmware_variant

uint8_t vp2_feature_state::firmware_variant

Selects the transfer size limits.

◆ hardware_id

uint8_t vp2_feature_state::hardware_id

From the factory data.

◆ id

uint8_t vp2_feature_state::id

◆ ipd_adc_max

__le16 vp2_feature_state::ipd_adc_max

Factory IPD ADC value at the widest position.

◆ ipd_adc_min

__le16 vp2_feature_state::ipd_adc_min

Factory IPD ADC value at the narrowest position.

◆ mcu_version

__le32 vp2_feature_state::mcu_version

◆ power_state

uint8_t vp2_feature_state::power_state

enum vp2_power_state, or 0/1 from CPLD state changes

◆ proximity_calibration

__le16 vp2_feature_state::proximity_calibration[8]

Factory proximity sensor data, "mfg-r-ps_user_data <N>" reads one.

◆ size

uint8_t vp2_feature_state::size

◆ sub_id

__le16 vp2_feature_state::sub_id

◆ unknown_version

__le64 vp2_feature_state::unknown_version

Always 0x303070.

◆ wireless_mode

uint8_t vp2_feature_state::wireless_mode

Always 0 in the firmware on my unit.


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