diff --git a/doc/changes/drivers/mr.2222.md b/doc/changes/drivers/mr.2222.md new file mode 100644 index 000000000..bcc4cfead --- /dev/null +++ b/doc/changes/drivers/mr.2222.md @@ -0,0 +1 @@ +- wmr: Add support for Acer AH101 HMD diff --git a/src/xrt/drivers/wmr/wmr_common.h b/src/xrt/drivers/wmr/wmr_common.h index 4586cb844..7a9efcf52 100644 --- a/src/xrt/drivers/wmr/wmr_common.h +++ b/src/xrt/drivers/wmr/wmr_common.h @@ -36,6 +36,7 @@ enum wmr_headset_type WMR_HEADSET_LENOVO_EXPLORER, WMR_HEADSET_MEDION_ERAZER_X1000, WMR_HEADSET_DELL_VISOR, + WMR_HEADSET_ACER_AH101, }; /*! @@ -74,6 +75,9 @@ enum wmr_headset_type #define QUANTA_VID 0x0408 /* Medion? */ #define MEDION_ERAZER_X1000_PID 0xb5d5 +#define ACER_VID 0x0502 +#define AH101_PID 0xb0d6 + /*! * @} */ diff --git a/src/xrt/drivers/wmr/wmr_hmd.c b/src/xrt/drivers/wmr/wmr_hmd.c index cbd9ab71c..c8fc5264f 100644 --- a/src/xrt/drivers/wmr/wmr_hmd.c +++ b/src/xrt/drivers/wmr/wmr_hmd.c @@ -121,6 +121,7 @@ const struct wmr_headset_descriptor headset_map[] = { {WMR_HEADSET_LENOVO_EXPLORER, "Lenovo VR-2511N", "Lenovo Explorer", NULL, NULL, NULL}, {WMR_HEADSET_MEDION_ERAZER_X1000, "Medion Erazer X1000", "Medion Erazer", NULL, NULL, NULL}, {WMR_HEADSET_DELL_VISOR, "DELL VR118", "Dell Visor", NULL, NULL, NULL}, + {WMR_HEADSET_ACER_AH101, "Acer", "AH101", NULL, NULL, NULL}, }; const int headset_map_n = sizeof(headset_map) / sizeof(headset_map[0]); diff --git a/src/xrt/drivers/wmr/wmr_prober.c b/src/xrt/drivers/wmr/wmr_prober.c index 6adc89d2f..c7a06122f 100644 --- a/src/xrt/drivers/wmr/wmr_prober.c +++ b/src/xrt/drivers/wmr/wmr_prober.c @@ -125,6 +125,14 @@ check_and_get_interface(struct xrt_prober_device *device, default: U_LOG_IFL_T(log_level, "No matching PID!"); return false; } + case ACER_VID: + U_LOG_IFL_T(log_level, "ACER_VID"); + + switch (device->product_id) { + case AH101_PID: *out_hmd_type = WMR_HEADSET_ACER_AH101; return true; + default: U_LOG_IFL_T(log_level, "No matching PID!"); return false; + } + default: return false; } }