You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: bookoo_motto80/README.en.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,6 +46,8 @@ Public capabilities include:
46
46
47
47
The Python example implements only the minimal protocol stack needed to verify the data channel. It does not wrap every business operation. Implement business requests by following the JSON, fragmentation, and GATT write rules in this document.
48
48
49
+
<br>
50
+
49
51
## 2. Features Under Development
50
52
51
53
The capabilities in this section are not included in the current SDK. The following information describes the development direction; the official release determines the actual schedule, interface, and availability.
@@ -69,6 +71,8 @@ To support developers building automatic control for motorized grind-size adjust
69
71
70
72
The official release determines the final interface, data fields, and actual broadcast frequency.
71
73
74
+
<br>
75
+
72
76
## 3. Windows Python Quick Start
73
77
74
78
### 3.1 Requirements
@@ -107,6 +111,8 @@ The script will:
107
111
108
112
The terminal should support ANSI cursor control and be wide enough to prevent a single JSON line from wrapping automatically. When output is redirected or the terminal is non-interactive, the script automatically falls back to block-by-block output. Press `Ctrl+C` to exit and disconnect.
109
113
114
+
<br>
115
+
110
116
## 4. BLE Discovery and Custom GATT Service
111
117
112
118
### 4.1 Device Discovery
@@ -151,6 +157,8 @@ flowchart TD
151
157
152
158
Every BLE disconnection invalidates the current subscription and handshake state. **After reconnecting, subscribe to TX again and resend `appHello`.**
153
159
160
+
<br>
161
+
154
162
## 5. GATT Fragment Frame v1
155
163
156
164
Each RX Write or TX Notify carries one fragment. The frame header is fixed at 8 bytes, and all multibyte integers use little-endian byte order.
@@ -186,6 +194,8 @@ Encode business JSON as UTF-8 before fragmentation. Compact JSON without unneces
186
194
187
195
All field-length limits are measured in UTF-8 bytes, not Unicode characters.
188
196
197
+
<br>
198
+
189
199
## 6. JSON Message Model
190
200
191
201
### 6.1 Top-Level Message Types
@@ -238,6 +248,8 @@ A success response appears under the same business object as the request:
238
248
239
249
Only the first detected error is returned for a request, and the entire request is rejected. `error.field` appears only when the error can be associated with a specific field.
240
250
251
+
<br>
252
+
241
253
## 7. Handshake and Device Broadcasts
242
254
243
255
### 7.1 Explicit Application-Layer Handshake
@@ -348,6 +360,8 @@ The client must tolerate non-empty strings not listed in the table and treat the
348
360
|`CONNECTED`|Wi-Fi connected|
349
361
|`DISCONNECTED`|Wi-Fi disconnected|
350
362
363
+
<br>
364
+
351
365
## 8. General Settings: `geneSetting`
352
366
353
367
### 8.1 Field Definitions
@@ -505,6 +519,8 @@ Set `selector.type` to `keys`; `value` is an array of field names to read.
505
519
}
506
520
```
507
521
522
+
<br>
523
+
508
524
## 9. Grinding Sections: `grindSection`
509
525
510
526
Up to six grinding sections are supported. The complete configuration can be read or set, but an individual section's name or range cannot be modified separately.
@@ -576,6 +592,8 @@ Each section has the following format:
576
592
}
577
593
```
578
594
595
+
<br>
596
+
579
597
## 10. User Grinding Presets: `grindPreset`
580
598
581
599
The device can store up to 10 currently visible user presets. Preset deletion uses recycle-bin (tombstone) semantics. A deleted preset can be restored while the device still retains its tombstone.
@@ -1392,6 +1410,8 @@ Device-wide `data` does not contain `uid` or `index`.
1392
1410
}
1393
1411
```
1394
1412
1413
+
<br>
1414
+
1395
1415
## 11. Common Error Responses
1396
1416
1397
1417
All public operations use the following common failure structure:
0 commit comments