Repository navigation
[merge-to-it] sharpa_avatar: judge glove liveness by fetched data, not the online flag (#1181) - #1198
Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review. 📝 WalkthroughWalkthroughThe plugin now uses sample timestamps to determine whether fetched glove data is new. Repeated samples do not refresh the liveness timer. The timer resets the glove after three seconds without a newer sample. Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to No concrete runtime failure is established by the available evidence. The change presents no supported merge-blocking risk beyond normal checks. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
…t the online flag AvatarDevice::get_device_info().online stays false for a glove first discovered offline and powered on later, so such a glove was started and then stopped every 2 s. refresh_data() no longer checks that flag; a glove is disconnected only after the data timeout. Workaround for #1181. Signed-off-by: Lotus Li <lotusl@nvidia.com>
…stamps With --datasets=haptic nothing dropped a glove's handle once the online reset was removed: the data timeout was gated on a data dataset and set_task() failures only log. A power-cycled glove kept its dead handle, which blocked reconnection. A haptic-only glove now fetches RAW so the same stamp-based data timeout applies to every configuration. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lotus Li <lotusl@nvidia.com>
cf8860e to
0c87e8a
Compare
* [merge-to-it] sharpa_avatar: pin only the primary APT signing key fingerprint (#1196) install_avatar_sdk.sh failed its key check because it also required F9A50A81FE8797F953DB24E1938548788D899BCC, which is the encryption subkey of the Sharpa signing key, while the check reads primary fingerprints only. Pin the primary key alone. Signed-off-by: Lotus Li <lotusl@nvidia.com> * [merge-to-it] sharpa_avatar: detect a silent glove by new sample stamps (#1197) fetch_data() keeps returning a silent glove's last sample, so a glove that stopped sending data still counted as fetched and the data timeout never fired. Only a sample whose stamp advances now counts as data, and the timeout drops from 10 s to 3 s. Signed-off-by: Lotus Li <lotusl@nvidia.com> * [merge-to-it] sharpa_avatar: judge glove liveness by fetched data, not the online flag (#1181) (#1198) * [merge-to-it] sharpa_avatar: judge glove liveness by fetched data, not the online flag AvatarDevice::get_device_info().online stays false for a glove first discovered offline and powered on later, so such a glove was started and then stopped every 2 s. refresh_data() no longer checks that flag; a glove is disconnected only after the data timeout. Workaround for #1181. Signed-off-by: Lotus Li <lotusl@nvidia.com> * [merge-to-it] sharpa_avatar: time out a haptic-only glove by its RAW stamps With --datasets=haptic nothing dropped a glove's handle once the online reset was removed: the data timeout was gated on a data dataset and set_task() failures only log. A power-cycled glove kept its dead handle, which blocked reconnection. A haptic-only glove now fetches RAW so the same stamp-based data timeout applies to every configuration. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lotus Li <lotusl@nvidia.com> --------- Signed-off-by: Lotus Li <lotusl@nvidia.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> --------- Signed-off-by: Lotus Li <lotusl@nvidia.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
[merge-to-it]
Summary
Workaround for #1181:
AvatarDevice::get_device_info().onlinestays false for a glove first discovered offline and powered on later, sorefresh_data()stopped such a glove on every frame and it was reconnected every 2 s indefinitely. Liveness is now judged by fetched data only; a glove is disconnected after the data timeout.Stacked on #1197 (target branch
merge-to-it/sharpa-avatar-detect-silent-glove): without that change a powered-off glove would keep "fetching" its last sample and never time out.Testing
clang-format-14 --dry-run --Werror; pre-commit;-fsyntax-onlycompile against Avatar SDK 1.7.3-17 headers.🤖 Generated with Claude Code
Summary by CodeRabbit