The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

d/wmr: Log larger Device Status messages

HP Reverb G2 sends larger device status messages with unknown
content. Log how large they are, and at least dump the first
11 bytes

authored by

Jan Schmidt and committed by
Jakob Bornecrantz
87d804c7 ed54b789

+9 -2
+8 -2
src/xrt/drivers/wmr/wmr_hmd.c
··· 547 547 case WMR_CONTROL_MSG_DEVICE_STATUS: // 548 548 WMR_DEBUG(wh, "Device status message type: %02x (size %i)", buffer[0], size); 549 549 if (size != 11) { 550 - WMR_DEBUG(wh, "---> Unexpected message size. Expected 11 bytes incl. message type."); 551 - break; 550 + WMR_DEBUG(wh, 551 + "---> Unexpected message size. Expected 11 bytes incl. message type. Got %d bytes", 552 + size); 553 + WMR_DEBUG_HEX(wh, buffer, size); 554 + if (size < 11) { 555 + break; 556 + } 552 557 } 553 558 554 559 // Todo: HMD state info to be decoded further. ··· 568 573 break; 569 574 default: // 570 575 WMR_DEBUG(wh, "Unknown message type: %02x (size %i)", buffer[0], size); 576 + WMR_DEBUG_HEX(wh, buffer, size); 571 577 break; 572 578 } 573 579
+1
src/xrt/drivers/wmr/wmr_hmd.h
··· 207 207 208 208 #define WMR_TRACE(d, ...) U_LOG_XDEV_IFL_T(&d->base, d->log_level, __VA_ARGS__) 209 209 #define WMR_DEBUG(d, ...) U_LOG_XDEV_IFL_D(&d->base, d->log_level, __VA_ARGS__) 210 + #define WMR_DEBUG_HEX(d, data, data_size) U_LOG_XDEV_IFL_D_HEX(&d->base, d->log_level, data, data_size) 210 211 #define WMR_INFO(d, ...) U_LOG_XDEV_IFL_I(&d->base, d->log_level, __VA_ARGS__) 211 212 #define WMR_WARN(d, ...) U_LOG_XDEV_IFL_W(&d->base, d->log_level, __VA_ARGS__) 212 213 #define WMR_ERROR(d, ...) U_LOG_XDEV_IFL_E(&d->base, d->log_level, __VA_ARGS__)