# Base Messages (BaseProto) ## WsPacket — WebSocket Envelope Every WebSocket message uses this envelope. | Field | # | Type | Description | |-------|---|------|-------------| | `majorVersion` | 1 | int32 | Protocol major version (constant = 2) | | `minorVersion` | 2 | int32 | Protocol minor version (constant = 3) | | `deviceId` | 3 | int32 | Target device ID (0=Unknown, 1=DWARF_2, 2=DWARF_3, 4=DWARF_mini, 5=DWARF_4, 6=DWARF_DRAGON) | | `moduleId` | 4 | int32 | Module ID (0-18, see architecture) | | `cmd` | 5 | int32 | Command ID (see WsCmd index) | | `type` | 6 | int32 | Message type: 0=request, 1=response, 2=notification, 3=reply | | `data` | 7 | bytes | Protobuf-encoded payload for the specific module/command | | `clientId` | 8 | string | App client identifier | ## CommonParam — Generic Motor Parameters Used by motor control and movement commands. | Field | # | Type | Description | |-------|---|------|-------------| | `hasAuto` | 1 | bool | Auto mode available | | `autoMode` | 2 | int32 | Auto mode (0=off, 1=on) | | `id` | 3 | int32 | Parameter ID | | `modeIndex` | 4 | int32 | Mode index | | `index` | 5 | int32 | Current index | | `continueValue` | 6 | double | Continuation value | ## ComResponse — Standard Response | Field | # | Type | Description | |-------|---|------|-------------| | `code` | 1 | int32 | Status code (0=success, >0=error) | ## ComResWithDouble — Response with Numeric Value | Field | # | Type | Description | |-------|---|------|-------------| | `value` | 1 | double | Response value | | `code` | 2 | int32 | Status code | ## ComResWithString — Response with String | Field | # | Type | Description | |-------|---|------|-------------| | `str` | 1 | string | Response string | | `code` | 2 | int32 | Status code | ## Version Enums ### WsMajorVersion | Value | Name | |-------|------| | 0 | WS_MAJOR_VERSION_UNKNOWN | | 2 | WS_MAJOR_VERSION_NUMBER | ### WsMinorVersion | Value | Name | |-------|------| | 0 | WS_MINOR_VERSION_UNKNOWN | | 3 | WS_MINOR_VERSION_NUMBER |