{IDO Device Information API Documentation}
1. Overview
Provides the ability to query device-related information such as device mode, battery status, battery level, reboot flag, binding status, binding type, and platform.
2. API Capabilities
1. Query Device Mode:
1.1 Summary:
None
1.2 API ID:
int get deviceMode => _device?.mode ?? 0;
1.3 API Parameter Description:
@return: deviceMode - Device mode (0: sport mode, 1: sleep mode)
2. Query Battery Status:
2.1 Summary:
None
2.2 API ID:
int get battStatus => _device?.battStatus ?? 0;
2.3 API Parameter Description:
@return: battStatus - Battery status (0: normal, 1: charging, 2: full, 3: low battery)
3. Query Battery Level:
3.1 Summary:
None
3.2 API ID:
int get battLevel => _device?.energe ?? 0;
3.3 API Parameter Description:
@return: battLevel - Battery level (0 to 100)
4. Query Reboot Flag:
4.1 Summary:
None
4.2 API ID:
int get rebootFlag => _device?.reboot ?? 0;
4.3 API Parameter Description:
@return: rebootFlag - Reboot flag (0: not rebooted, 1: rebooted)
5. Query Binding Status:
5.1 Summary:
None
5.2 API ID:
int get bindState => _device?.pairFlag ?? 0;
5.3 API Parameter Description:
@return: bindState - Binding status (0: not bound, 1: bound)
6. Query Binding Type:
6.1 Summary:
None
6.2 API ID:
int get bindType => _device?.bindConfirmMethod ?? 0;
6.3 API Parameter Description:
@return: bindType - Binding type, including:
Binding type
0: Default
1: Click
2: Long press
3: Screen click - horizontal confirmation and cancel, confirmation on the left
4: Screen click - horizontal confirmation and cancel, confirmation on the right
5: Screen click - vertical confirmation and cancel, confirmation on the top
6: Screen click - vertical confirmation and cancel, confirmation on the bottom
7: Click (one button on the right)
7. Query Binding Timeout:
7.1 Summary:
None
7.2 API ID:
int get bindTimeout => _device?.bindConfirmTimeout ?? 0;
7.3 API Parameter Description:
@return: bindTimeout - Binding timeout (maximum 15 seconds, 0 means no timeout)
8. Query Device Platform:
8.1 Summary:
None
8.2 API ID:
int get platform => _device?.platform ?? 0;
8.3 API Parameter Description:
@return: platform - Device platform, including:
0: Nordic
10: Realtek 8762x
20: Cypress PSoC6
30: Apollo3
40: Goodix
50: Nordic + Dialog
60: Dialog + 5340 + no NAND flash
70: Goodix + Foryoukang
80: 5340
90: Juxin
99: Siche
////TODO 平台英文是否规范
9. Query Device Shape:
9.1 Summary:
None
9.2 API ID:
int get deviceShapeType => _device?.shape ?? 0;
9.3 API Parameter Description:
@return: deviceShapeType - Device shape type (0: invalid, 1: circular, 2: square, 3: elliptical)
10. Query Device Type:
10.1 Summary:
None
10.2 API ID:
int get deviceType => _device?.devType ?? 0;
10.3 API Parameter Description:
@return: deviceType - Device type (0: invalid, 1: wristband, 2: watch)
11. Query Device Custom Dial Main Version:
11.1 Summary:
None
11.2 API ID:
int get dialMainVersion => _device?.userDefinedDialMainVersion ?? 0;
11.3 API Parameter Description:
@return: dialMainVersion - Custom dial main version (starts from 1, 0 means the corresponding custom dial function is not supported)
12. Query Whether to Display '✓' UI During Device Binding:
12.1 Summary:
None
12.2 API ID:
int get showBindChoiceUi => _device?.showBindChoiceUi ?? 0;
12.3 API Parameter Description:
@return: showBindChoiceUi - Whether to display the checkmark UI during firmware binding (0: not required, 1: required)
13. Query Device ID:
13.1 Summary:
None
13.2 API ID:
int get deviceId => _device?.deivceId ?? 0;
13.3 API Parameter Description:
@return: deviceId - Device ID
14. Query Device Firmware Version (Major Version):
14.1 Summary:
None
14.2 API ID:
int get firmwareVersion => _device?.firmwareVersion ?? 0;
14.3 API Parameter Description:
@return: firmwareVersion - Device firmware major version
15. Query Device SN (Serial Number):
15.1 Summary:
None
15.2 API ID:
String? get sn => _device?.snString();
15.3 API Parameter Description:
@return: sn - Device firmware SN (serial number)
16. Query Device BT Name:
16.1 Summary:
None
16.2 API ID:
String? get btName => _device?.btNameString();
16.3 API Parameter Description:
@return: btName - Device BT name
17. Query Device Firmware Version (Third Level):
17.1 Summary:
None
17.2 API ID:
int get fwVersion1 => _fw?.firmwareVersion1 ?? 0;
int get fwVersion2 => _fw?.firmwareVersion2 ?? 0;
int get fwVersion3 => _fw?.firmwareVersion3 ?? 0;
17.3 API Parameter Description:
@return: fwVersion1, fwVersion2, fwVersion3 - Third-level version number of the device firmware (in the format of fwVersion1.fwVersion2.fwVersion3)
18. Query Whether the Device BT Version has an Effect:
18.1 Summary:
None
18.2 API ID:
int get fwBtFlag => _fw?.btFlag ?? 0;
18.3 API Parameter Description:
@return: fwBtFlag - BT version effectiveness flag (0: ineffective, 1: indicates that the firmware has a corresponding BT firmware)
19. Query Device BT Firmware Version (Third Level):
19.1 Summary:
None
19.2 API ID:
int get fwBtVersion1 => _fw?.btVersion1 ?? 0;
int get fwBtVersion2 => _fw?.btVersion2 ?? 0;
int get fwBtVersion3 => _fw?.btVersion3 ?? 0;
19.3 API Parameter Description:
@return: fwBtVersion1, fwBtVersion2, fwBtVersion3 - Third-level version number of the device BT firmware (in the format of fwBtVersion1.fwBtVersion2.fwBtVersion3)
20. Query Matched Version Number for Device BT:
20.1 Summary:
None
20.2 API ID:
int get fwBtMatchVersion1 => _fw?.btMatchVersion1 ?? 0;
int get fwBtMatchVersion2 => _fw?.btMatchVersion2 ?? 0;
int get fwBtMatchVersion3 => _fw?.btMatchVersion3 ?? 0;
20.3 API Parameter Description:
@return: fwBtMatchVersion1, fwBtMatchVersion2, fwBtMatchVersion3 - Matched version number for device BT (in the format of fwBtMatchVersion1.fwBtMatchVersion2.fwBtMatchVersion3)