CGM phone command (cgmPhoneCommand)

Function table: supportCgmPhoneCommand
Reply model: IDOCgmPhoneCommandModel.

Each call returns a business result; on failure use errCode / error or isSuccess.

Phone CGM reconnect: call disconnectCgm first; after success, connect CGM on the phone side.

Four operations (Cmds)

API Description
setCgmKeyAndDevice Persist AES key + CGM BLE device name
deleteCgmKeyAndDevice Delete stored key and device name
connectCgm Watch runs CGM connect flow
disconnectCgm Disconnect CGM

setCgmKeyAndDevice

iOS

Cmds.setCgmKeyAndDevice(key: "your-aes-key", deviceName: "MyCGM").send { result in
    switch result {
    case .success(let model):
        if model?.isSuccess == true { /* OK */ }
        else if let code = model?.errCodeEnum { print(code.symbolName) }
    case .failure: break
    }
}

Android

Cmds.setCgmKeyAndDevice("your-aes-key", "MyCGM").send { response ->
    val model = response.data
    if (model?.isSuccess != true) {
        IDOCgmPhoneCommandErrCode.symbolName(model?.errCode ?: -1)
    }
}

deleteCgmKeyAndDevice

iOS — Cmds.deleteCgmKeyAndDevice().send { ... }
Android — Cmds.deleteCgmKeyAndDevice().send { ... }

connectCgm

iOS

Cmds.connectCgm().send { result in
    switch result {
    case .success(let model):
        if model?.isSuccess == true { /* OK */ }
        else if let code = model?.errCodeEnum { print(code.symbolName) }
    case .failure: break
    }
}

Android

Cmds.connectCgm().send { response ->
    val model = response.data
    if (model?.isSuccess != true) {
        IDOCgmPhoneCommandErrCode.symbolName(model?.errCode ?: -1)
    }
}

disconnectCgm

iOS — Cmds.disconnectCgm().send { ... }
Android — Cmds.disconnectCgm().send { ... }

Reply fields (Model)

Property Type Description
key String? Input for setCgmKeyAndDevice
deviceName String? Input for setCgmKeyAndDevice
errCode Int Business error code, 0 = success
error String? Error symbol when failed, e.g. ERR_BUSY
isSuccess Boolean errCode == 0 (extension)

Error codes

iOS IDOCgmPhoneCommandErrCode Android Description Typical API
.success SUCCESS Success all
.invalidKey INVALID_KEY Invalid AES key setCgmKeyAndDevice
.invalidDeviceName INVALID_DEVICE_NAME Invalid device name setCgmKeyAndDevice
.storageFail STORAGE_FAIL Storage I/O failed setCgmKeyAndDevice / deleteCgmKeyAndDevice
.noKey NO_KEY Connect without key connectCgm
.busy BUSY Connect in progress connectCgm
.scanTimeout SCAN_TIMEOUT CGM scan timeout connectCgm
.pairFlag PAIR_FLAG Pairing error connectCgm
.connectFail CONNECT_FAIL BLE connect failed connectCgm
.keyReadFail KEY_READ_FAIL Read key failed connectCgm
.protocolFail PROTOCOL_FAIL CGM interaction failed connectCgm
.disconnectFail DISCONNECT_FAIL Disconnect failed disconnectCgm
Copyright © 2023-2024 IDO. All rights reserved. all right reserved,powered by Gitbook修改日期: 2026-07-27 09:20:46

results matching ""

    No results matching ""