SDK installation fails
- Confirm that Python is 3.8 or later
- Update pip with
pip install --upgrade pip - If you encounter compilation errors, try installing the pre-built wheel package
Script throws an exception during execution
Data subscription has latency or frame drops
- Check network bandwidth and latency (wired connection preferred over WiFi)
- Reduce the number of simultaneously subscribed data streams
- Ensure callback functions don’t contain blocking operations
- On Wuji Hand 2, subscribe to
hand.joint_diagnostics()and read the frame-levelcommsummary to locate where frames go missing:e2e_lostis network loss, whilesdk_droppedmeans your consumer is falling behind. For field definitions, see Wuji Hand 2 SDK reference — Hand2CommSummary
SDK version is incompatible with the firmware
- Check the SDK release notes for version compatibility
- Keep SDK and firmware on the same minor version (e.g., both 0.6.x)
After upgrading the SDK, tactile_binary or tactile_residual stops producing data
The Wuji Glove tactile data layout now uses 24×31 (was 24×32). The SDK validates incoming frame size and the loaded contact calibration model against the new layout — if either still targets 24×32, the affected streams stop publishing to prevent misaligned output. To recover, upgrade the Wuji Glove firmware to a version that supports 24×31 and re-run tactile contact calibration under the new layout. See the Wuji Glove tactile data reference for details.
Device Log Export
Flash Log Export
Disable the device and stop sending control commands before export. Wait for the export function to return and confirm that all concurrent exports for the device have finished before resuming control. See Flash Log Export Precautions. Wuji SDK provides the Wuji Hand 2 Flash log export API. After callingexport_flash_logs(), the current thread waits until the SDK reads the device logs and writes the output file before the function returns a dictionary with path and frames. The output file uses JSONL format, with one JSON record per line. Wuji Hand 2 supports concurrent log exports from the same device while it is not being controlled. If the device doesn’t support Flash log export, the call reports that the operation isn’t supported:
path is the output file path, and frames is the number of successfully decoded log frames. Pass a directory to out_dir to choose the destination. Without out_dir, the SDK writes to ~/.wuji/logs/flash_<serial>_<date>_<time>.jsonl. Exports created within the same second receive a numbered suffix instead of replacing an existing file.
When the device log ring is empty, frames is 0. The empty output file still indicates a successful export.
Handle Python export errors as follows:
WujiExceptionindicates that another export is using the device, the device or firmware doesn’t support the current protocol, a connection or flash-log protocol error occurred, repeated retries couldn’t complete, or the SDK couldn’t create or write the output file.NodeOfflineErrorindicates that the target node went offline.