diff --git a/docs/source/device/manus.rst b/docs/source/device/manus.rst index 42a27eb87c..19d04b42ed 100644 --- a/docs/source/device/manus.rst +++ b/docs/source/device/manus.rst @@ -221,8 +221,7 @@ Manus flex transforms; hosts that mask against a re-framed skeleton must apply their own sensor-pose processing. This path requires CloudXR tensor **push** extensions -(``XR_NVX1_push_tensor`` and ``XR_NVX1_tensor_data``). When sensors first become -available the plugin logs ``sensors=on`` once per side. +(``XR_NVX1_push_tensor`` and ``XR_NVX1_tensor_data``). Host-side consumption example: @@ -300,6 +299,9 @@ Troubleshooting building, set ``LD_LIBRARY_PATH`` to its ``lib/`` directory. * - No data received - Ensure MANUS Core is running and the gloves are connected and calibrated. + The plugin logs ``Left glove connected (ID ); start streaming.`` (or + ``Right ...``) when MANUS Core reports a glove; without that line it has + no glove to stream. * - CloudXR runtime errors - Check that a runtime is serving with ``python -m isaaccapture.cloudxr.service status``, and that ``~/.cloudxr/run/cloudxr.env`` has been sourced in the same diff --git a/src/plugins/manus/core/inc/manus/manus_hand_tracking_plugin.hpp b/src/plugins/manus/core/inc/manus/manus_hand_tracking_plugin.hpp index fc51d6a87d..8370414af8 100644 --- a/src/plugins/manus/core/inc/manus/manus_hand_tracking_plugin.hpp +++ b/src/plugins/manus/core/inc/manus/manus_hand_tracking_plugin.hpp @@ -150,7 +150,6 @@ class __attribute__((visibility("default"))) ManusTracker mutable std::mutex m_sensor_mutex; std::array m_sensor_count{ { 0, 0 } }; std::array, 2> m_sensor_transforms{}; - std::array m_sensors_logged_on{ { false, false } }; // OpenXR State std::shared_ptr m_session; diff --git a/src/plugins/manus/core/manus_hand_tracking_plugin.cpp b/src/plugins/manus/core/manus_hand_tracking_plugin.cpp index 0fcfbe4774..eb266ffc79 100644 --- a/src/plugins/manus/core/manus_hand_tracking_plugin.cpp +++ b/src/plugins/manus/core/manus_hand_tracking_plugin.cpp @@ -665,7 +665,7 @@ bool ManusTracker::apply_glove_calibration(uint32_t glove_id, bool is_left) return false; } - m_logger->info("Applied {} glove calibration file to glove id={}", is_left ? "left" : "right", glove_id); + m_logger->debug("Applied {} glove calibration file to glove id={}", is_left ? "left" : "right", glove_id); return true; } @@ -765,6 +765,7 @@ void ManusTracker::OnLandscapeStream(const Landscape* landscape) { tracker.left_glove_id = glove.id; tracker.m_calibration_failed[0] = !tracker.apply_glove_calibration(glove.id, true); + tracker.m_logger->info("Left glove connected (ID {}); start streaming.", glove.id); } // Fetch bone topology once on connect uint32_t nc = 0; @@ -784,6 +785,7 @@ void ManusTracker::OnLandscapeStream(const Landscape* landscape) { tracker.right_glove_id = glove.id; tracker.m_calibration_failed[1] = !tracker.apply_glove_calibration(glove.id, false); + tracker.m_logger->info("Right glove connected (ID {}); start streaming.", glove.id); } uint32_t nc = 0; if (get_raw_skeleton_node_count(glove.id, nc) == SDKReturnCode::SDKReturnCode_Success && nc > 0) @@ -1018,12 +1020,6 @@ void ManusTracker::push_sensor_side(bool is_left, core::SchemaPusher& pusher) return; } - if (!m_sensors_logged_on[side]) - { - m_sensors_logged_on[side] = true; - m_logger->info("{} sensors=on", is_left ? "left" : "right"); - } - std::vector joints; joints.reserve(static_cast(kManusSensorCount)); for (int sensor = 0; sensor < kManusSensorCount; ++sensor)