> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wuji.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Appendix

This page collects term definitions, error code carriers, and version requirements. The full explanations stay in the capability chapters.

## Glossary

| Term | Description |
| - | - |
| Resource | The uniform representation of a device capability in the SDK, reached through semantic methods. A resource is either a readable or writable parameter or a subscribable topic. To list them, see [SDK Users and Calibration Data — Listing All Resources](/en/docs/wuji-sdk/device-params/#listing-all-resources) |
| Topic | The identifier of a subscribable data stream. One topic carries one sensor output or computed result |
| Subscription | The handle that receives data from a topic, with async, sync non-blocking, and callback delivery. See [Data Subscription Mechanism — Subscription Modes](/en/docs/wuji-sdk/data-subscription/#subscription-modes) |
| Global resource | A resource that merges data from every connected device, subscribed through the `SdkManager`-level API. See [Data Subscription Mechanism — Cross-device Merged Subscription](/en/docs/wuji-sdk/data-subscription/#cross-device-merged-subscription) |
| Derived stream | A stream computed from a device source stream, such as `hand_joint_angles`, `hand_skeleton`, `tip_poses`, and `imu_data_<finger>`. A derived stream follows the rate of its source stream and can't be adjusted on its own |
| Output rate | The frequency at which the firmware pushes a stream. To change it, see [Data Subscription Mechanism — Adjusting the Stream Output Rate](/en/docs/wuji-sdk/data-subscription/#adjusting-the-stream-output-rate) |
| MCAP | The recording file format. Multiple sensor streams are written to one file in sync. See [Data Recording and Offline Processing](/en/docs/wuji-sdk/data-recording/) |
| Episode | A self-contained segment of a recording session. Switching writes a new file and reuses the registered channels. See [Data Recording and Offline Processing — Episode Switching](/en/docs/wuji-sdk/data-recording/#episode-switching) |
| SDK user | The isolation unit for local parameters and calibration files, keyed by operator. See [SDK Users and Calibration Data — SDK User Management](/en/docs/wuji-sdk/device-params/#sdk-user-management) |
| Hand model calibration | The process that builds a hand model for the current SDK user and hand side. Artifacts are stored per user. See [SDK Users and Calibration Data — Calibration](/en/docs/wuji-sdk/device-params/#calibration) |
| Hand retargeting | The computation that maps 21 MediaPipe-format hand keypoints to a 20-dimensional joint angle command. See [Hand Retargeting](/en/docs/wuji-sdk/retargeting/) |
| Handedness | The left or right hand marker on a frame or device. For the field definition, see [Common Data Types — Handedness](/en/docs/wuji-sdk/data-reference/#handedness) |
| FrameHeader | The header shared by data frames, carrying `frame_id` and the 64-bit microsecond timestamp `timestamp_us`. See [Common Data Types — FrameHeader](/en/docs/wuji-sdk/data-reference/#frameheader) |
| Sync offset (`offset_us`) | The difference between the device clock and the host UTC clock computed by one synchronization, in microseconds |
| Round trip (`round_trip_us`) | The round-trip time of one synchronization. A smaller value means better sync quality. See [Time Synchronization and Coordinate Transforms — Sync accuracy](/en/docs/wuji-sdk/time-sync/#sync-accuracy) |
| Typed callback | The strongly typed subscription callback the C API provides per device type. The frame pointer is valid only during the callback. See [C API Reference — Usage constraints](/en/docs/wuji-sdk/data-reference/#usage-constraints) |

## Error Code Index

SDK errors arrive through five carriers. The three device-side code families are unrelated, so a value from one means nothing in another.

| Carrier | Shape | Where it comes from | How to decode |
| - | - | - | - |
| Python exception | `WujiException` and more specific subclasses | Most Python API calls | Catch it and branch on the error name. For common types, see [Python Exception Types](#python-exception-types) on this page |
| C return code | The `WujiStatus` enum | Most C API calls | `WUJI_STATUS_OK` means success. On failure, read the current thread's description with `wuji_last_error()`. See [C API Reference — Initialization and conventions](/en/docs/wuji-sdk/data-reference/#initialization-and-conventions) |
| Device fault code | `u16` | Wuji Hand 2 joint diagnostics, error status, error history, and encoder calibration results | Decode with `WujiHand2.describe_error()` or `wuji_hand_2_describe_error()`. See [Common Data Types — Error Code Categories](/en/docs/wuji-sdk/data-reference/#error-code-categories) |
| Encoder calibration code | `u8` | `enc1_error_code` and `enc2_error_code` in encoder calibration results | A calibration-only enum. Read `enc1_error_name` and `enc2_error_name` from the result object, and don't pass the value to the decode function. See [Common Data Types — Error Code Categories](/en/docs/wuji-sdk/data-reference/#error-code-categories) |
| Wuji Hand error bitfield | `u32` | `error_code` in Wuji Hand joint diagnostics | One bit per fault condition. Check it bit by bit, and don't pass the value to the decode function. See [Common Data Types — Error Code Categories](/en/docs/wuji-sdk/data-reference/#error-code-categories) |

Code `0` means no active fault and isn't in the catalog. When a nonzero code won't decode, keep the raw value for logs and bug reports.

### Python Exception Types

Most Python API calls raise `WujiException` on failure, and the message carries an error type prefix. Some APIs raise more specific exceptions for file system or validation errors. Check the API reference for details.

| Error | Description |
| - | - |
| `DeviceNotFound` | Specified device not found |
| `DeviceMismatch` | Device type mismatch |
| `Disconnected` | Device has been disconnected |
| `ConnectionTimeout` | Connection timed out |
| `OperationTimeout` | Operation timed out |
| `PathNotFound` | Resource path does not exist |
| `SchemaMismatch` | Data type mismatch |
| `NoData` | No data available |
| `StreamClosed` | Subscription stream has been closed |

For catch-and-branch examples, see [Best Practices — Error Handling](/en/docs/wuji-sdk/advanced/#error-handling). For reconnecting after a drop, see [Best Practices — Reconnection Strategy](/en/docs/wuji-sdk/advanced/#reconnection-strategy).

## Version Compatibility

For runtime requirements, see [Installation and Environment — System Requirements](/en/docs/wuji-sdk/quick-start/#system-requirements). Hand retargeting ships prebuilt packages for Linux x86\_64 and Linux aarch64 only. See [Hand Retargeting — Platform and limits](/en/docs/wuji-sdk/retargeting/#platform-and-limits).

The capabilities below set a minimum firmware or SDK version. Everything not listed here works with the installed SDK version.

| Capability | Minimum firmware | Minimum SDK | Details |
| - | - | - | - |
| Fingertip tactile data | Wuji Hand 2 v2.1.0 | v2026.7.21 | [Fingertip Tactile — Requirements](/en/docs/wuji-sdk/wuji-hand-2-tactile/#requirements) |
| Fingertip tactile stream rate control | Wuji Hand 2 v2.3.0 | v2026.8.17 | [Fingertip Tactile — Requirements](/en/docs/wuji-sdk/wuji-hand-2-tactile/#requirements) |
| Normalized per-point force format | Wuji Hand 2 v2.4.0 | v2026.8.17 | [Fingertip Tactile — Self-Describing Data Format](/en/docs/wuji-sdk/wuji-hand-2-tactile/#self-describing-data-format) |
| Contact point placement on the hand model | Wuji Hand 2 v2.5.0 | Follows firmware | [Fingertip Tactile — Place Points on the Hand Model](/en/docs/wuji-sdk/wuji-hand-2-tactile/#place-points-on-the-hand-model) |
| Application point of the resultant force | Wuji Hand 2 v2.6.0 | Follows firmware | [Fingertip Tactile — Place Points on the Hand Model](/en/docs/wuji-sdk/wuji-hand-2-tactile/#place-points-on-the-hand-model) |
| `NodeOfflineError` when calibration hits an offline finger | Wuji Hand 2 v2.6.0 | v2026.8.31 | [Fingertip Tactile — Zero-Baseline Calibration and Status](/en/docs/wuji-sdk/wuji-hand-2-tactile/#zero-baseline-calibration-and-status) |
| Flash log export | No extra requirement | v2026.8.31 | [Troubleshooting — Device Log Export](/en/docs/wuji-sdk/troubleshooting/#device-log-export) |
| Concurrent Flash log export on one device | Wuji Hand 2 v2.6.0 | v2026.8.31 | [Wuji Hand 2 Diagnostics and Logs — Flash Log Export](/en/docs/wuji-hand/latest/sdk-reference/diagnostics/#flash-log-export) |

For the full change history, see the [Changelog](/en/release-notes/).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.