Add complete DWARFLAB protocol documentation
- Architecture overview, BLE and WebSocket protocols - All 19 modules with command IDs validated against smali source - BLE packet format with CRC-16/MODBUS pseudocode - Complete WsCmd index (~300 commands) - Connection flow with pseudocode examples - Methodology section explaining APK decompilation process
This commit is contained in:
65
04_base_messages.md
Normal file
65
04_base_messages.md
Normal file
@ -0,0 +1,65 @@
|
||||
# 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 |
|
||||
Reference in New Issue
Block a user