export const PROTOCOL_VERSION = "1.0.0"; export const BLE_UUIDS = { SERVICE: '000002c4-0000-1000-8000-00805f9b34fb', BROADCAST_CHARACTERISTIC: "000002c1-0000-1000-8000-00805f9b34fb", WRITE_CHARACTERISTIC: '000002c5-0000-1000-8000-00805f9b34fb', READ_CHARACTERISTIC: '000002c6-0000-1000-8000-00805f9b34fb', REQUEST_MTU: 512, SCREEN_SIZE: 360 } as const; export const FRAME_CONSTANTS = { HEAD_DEVICE_TO_APP: 0xb0, HEAD_APP_TO_DEVICE: 0xb1, MAX_DATA_SIZE: 496, HEADER_SIZE: 8, FOOTER_SIZE: 1, FRAME_INTERVAL: 35, // package transfer idle interval in ms, set 35 ms for ble device have enough time to process data } as const; export type FRAME_HEAD = typeof FRAME_CONSTANTS.HEAD_DEVICE_TO_APP | typeof FRAME_CONSTANTS.HEAD_APP_TO_DEVICE; export const COMMAND_TYPES = { OTA_PACKAGE: 0x02, TRANSFER_BOOT_ANIMATION: 0x03, TRANSFER_ANI_VIDEO: 0x05, TRANSFER_JPEG_IMAGE: 0x06, GET_DEVICE_VERSION: 0x07, GET_DEVICE_INFO: 0x0d, BIND_DEVICE: 0x0f, UNBIND_DEVICE: 0x12 } as const; export type APP_COMMAND_TYPES = typeof COMMAND_TYPES[keyof typeof COMMAND_TYPES]; export const EVENT_TYPES = { TRANSFER_OTA_PACKAGE : { name: "onTransferOtaPackage", code : 0x02 // 2 }, TRANSFER_BOOT_ANIMATION : { name: "onTransferBootAnimation", code : 0x03 // 3 }, TRANSFER_ANI_VIDEO : { name: "onTransferAniVideo", code : 0x05 // 5 }, VERSION_INFO: { name: "onVersionInfo", code : 0x07 // 7 }, DEVICE_INFO: { name: "onDeviceInfo", code : 0x0d // 13 }, BIND_DEVICE: { name: "onBindDevice", code : 0x0f // 15 }, UNBIND_DEVICE: { name: "onUnbindDevice", code : 0x12 // 18 } }