/************************************************************************************************** * Copyright (c) Fenda Technologies Co., Ltd. 2020-2021. All rights reserved. * Description: 设备设置接口 * Author: ball.caojianguang * Create: 2020-5-21 **************************************************************************************************/ #ifndef _USER_DEVICE_SET_SERVER_H_ #define _USER_DEVICE_SET_SERVER_H_ #include "ble_protocol.h" #define BEGINFINDPHONE 0 #define ENDFINDPHONE 1 //恢复出厂设置 typedef enum { reset = 0x01, reset_max, } factory_reset_t; //闹钟宏定义 #define ALARM_MAX_SIZE 6 //定义闹钟数量最大值 #define ALARM_RELATIONSHIP_VALUE 0x0C /******************************** * 闹钟信息结构体 **********************************/ typedef enum { LTV_relationship_type = 254,//0xFE alarm_id_type = 1, //0x01 alarm_H_type, alarm_M_type, repeat_type, alarm_name_type, alarm_enable_type, set_smart_alarm_type_max, } alarmclock_type_t; #define ALARM_NAME_LENGTH_MAX 24 #define MAC_ADDRESS_LEN 6 //获取设备的MAC地址 enum { get_mac_type = 0x01, mac_type, mac_max_type, }; //日期时间枚举 typedef enum { time_type = 0x01, time_offset_type, timeday_max, } data_time_t; //日期显示格式 enum { year_month_day = 1, month_day_year, day_month_year, month_day_week, }; //时间显示格式 enum { twelve_hour_format = 1, twenty_four_hour_format, }; //设置时间显示格式的type enum { date_display_type = 1, time_display_type, display_type_max, }; //勿扰模式枚举 enum { all_no_disturb_type = 0x01, without_no_disturb_type, regularly_no_disturb_type = 0x04,//定时免打扰开关 regularly_start_time_H_type, regularly_start_time_M_type, regularly_end_time_H_type, regularly_end_time_M_type, no_disturb_max_type, }; /**************************************获取版本号****************************************************/ //获取软件版本号 #define VERSION_LENGTH_MAX 20 enum { get_version_type = 0x01, version_type, version_max_type }; //获取硬件版本号 enum { get_hardware_version_type = 0x01, hardware_version_type, hardware_version_max_type, }; /**************************************获取版本号****************************************************/ //找手机 enum { find_phone_type = 0x01, find_phone_type_max, }; //蓝牙断开提醒开关 enum { ble_disconnect_remind_type = 0x01, ble_disconnect_remind_max_type, }; //蓝牙断开提醒开关 enum { MEASURING_UNIT_TYPE = 0x01, MEASURING_UNIT_MAX_TYPE, }; //闹钟同步 enum { Alarm_Change_Type = 0x01, Alarm_Change_max_Type, }; /**************************************充电***************************************************/ enum { PROTOCOL_CHANGING = 1, // 充电中 PROTOCOL_NOT_USB, // 不充电了 PROTOCOL_CHARGE_DON, // 充满电了 }; //获取设备电量/电压 enum { GET_DEVICE_POWER_TYPE = 0x01, DEVICE_POWER_TYPE, DEVICE_CHARGE_STATUS_TYPE, DEVICE_POWER_MAX_TYPE, }; //get_power枚举 enum { GET_POWER_CHARGE_STATUS = 0x01,//获取电量和充电状态 }; //4.2.19 设备主动上报电量 enum { REPORT_BATTERY_POWER_TYPE = 0x01, REPORT_BATTERY_POWER_RATTLE_TYPE = 0x02, REPORT_BATTERY_POWER_MAX_TYPE, }; /* //4.2.20 设备主动上报充电状态 enum { REPORT_BATTERY_CHARGE_STATUS_TYPE = 0x01, }; */ //获取设备各模块版本号(GPS、NFC、TP)--4.2.21 4.2.28 enum { GET_VERSION_TYPE = 0x01, VERSION_TP_TYPE, VERSION_NFC_TYPE, VERSION_GPS_TYPE, VERSION_FONT_TYPE, VERSION_IMAGE_TYPE, FIRMWARE_VERSION_TYPE, HARDWARE_VERSION_TYPE, DEVICE_TYPE_TYPE, DEVICE_SN_TYPE, DEVICE_MAC_TYPE, DEVICE_MODEL_TYPE, DEVICE_PID_TYPE, DEVICE_VID_TYPE, }; // 4.2.23 双击亮屏开关 enum { DEVICE_DOUBLE_BRIGHT_SWITCH_TYPE = 0x01, }; // 4.2.24 手机型号下发 enum { DEVICE_GET_PHONE_TYPE_TYPE = 0x01, }; // 4.2.25 推送新版本提醒到设备 enum { DEVICE_NEW_VERSION_TYPE = 0x01, DEVICE_VERSION_TYPE_TYPE = 0x02, }; // 4.2.26 喝水提醒 enum { WATER_REMIND_SWITCH_TYPE = 0x01, WATER_REMIND_INTERVAL_TYPE = 0x02, WATER_REMIND_START_TYPE = 0x03, WATER_REMIND_END_TYPE = 0x04, }; // 4.2.27 手机电量下发到设备 enum { PHONE_BATTERY_SET_POWER_TYPE = 0x01, }; // 4.2.29 手机下发网络状态 enum { PHONE_INTERNET_STATUS_TYPE = 0x01, }; // 4.2.30 手机找手环命令 enum { FIND_DEVICE_TYPE = 0x01, }; // 4.2.31 设备上报找手环状态 enum { FIND_DEVICE_STATUS_TYPE = 0x01, }; //4.2.36 设备通知APP 同步勿扰信息 enum { REPORT_DISTURB_STATUS_TYPE = 0x01, }; extern bool_t gTestAlarmTimeoutFlag; //UI界面响应闹钟超时 void BLE_SetDeviceTime(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_Factory_Reset(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_GetDeviceTime(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_SetAlarmClock(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_GetAlarmClock(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_UserRecvAndSetAvoidDisturbInfo(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_UserGetDeviceMacAddr(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void Ble_UserGetSoftwareVersion(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void Ble_UserGetHardwareVersion(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_UserBeginFindPhoneACK(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_NotifyAPPSynchronizationAlarmACK(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_UserBeginFindSmartPhoneUpload(uint8_t begin); void BLE_UserEndFindSmartPhoneUpload(uint8_t end); void BLE_NotifyAPPSynchronizationAlarm(void); void BLE_NotifyAPPSynchronizationAlarm(void); void Ble_SetTimeFormat(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void Ble_DisConnectedNotifySwitch(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_SetMeasuringUnits(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_UserGetDeviceElectricQuantityOrVoltage(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_DeviceElectricQuantityUpload(void); void BLE_DeviceChargingStateUpload(void); void BLE_GetDeviceModeVersion(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_doublePointBrightScreenSwitch(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_getPhoneType(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_getNewVersionNotice(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_drinkWaterRemindSet(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_getPhoneBatteryInfo(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_GetDeviceVersionInfo(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_getPhoneInternetStatus(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_findDevice(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len); void BLE_ReportFindDeviceStatus(uint8_t status); void BLE_reportDisturbStatus(void); #define SET_TEMP_NUM_MAX 10 /******************************** * 设备设置--4.2 命令ID **********************************/ enum { SET_TIME_ID = 1,//4.2.1 GET_TIME_ID = 2, // 4.2.2 RAISE_WRIST_BRIGHT_SCREEN_SWITCH_ID = 3, //4.2.3 TRUN_WRIST_CUT_SCREEN_SWITCH_ID = 4, //4.2.4 ACTIVITY_REMINDER_SWITCH_ID = 5, //4.2.5 FACTORY_RESET_ID = 6, //4.2.6 SET_ALARM_ID,//4.2.7 GET_ALARM_ID, //4.2.8 NO_DISTURB_ID, //4.2.9 GET_DEVICE_MAC_ADDR = 0x10, //4.2.10 GET_SOFTWARE_NUM_ID = 0x11, //4.2.11 GET_HARDWARE_NUM_ID = 0x12, //4.2.12 FIND_PHONE_ID = 0x13, //4.2.13 NOTIFY_APP_SYNCH_ID = 0x14,//4.2.14 BLE_DISCON_REMIND_SWITCH_ID = 0x16,//4.2.16 GET_ELEC_VOLTAGE_ID = 0x18,//4.2.18 DEVICE_UPLOAD_ELEC_ID = 0x19, DEVICE_UPLOAD_CHARGE_STATUS = 0x20, GET_DEVICE_MODE_VERSION = 0x21, DEVICE_DOUBLE_BRIGHT_SWITCH_ID = 0x23, DEVICE_GET_PHONE_TYPE_ID = 0x24, GET_NEW_VERSION_NOTIC_ID = 0x25, DRINK_WATER_REMIND_SET_ID = 0x26, GET_PHONE_BATTERY_INFO_ID = 0x27, GET_DEVICE_VERSION_INFO_ID = 0x28, GET_PHONE_INTERNET_STATUS_ID = 0x29, FIND_DEVICE_ID = 0x30, REPORT_FIND_DEVICE_STATUS_ID = 0x31, BLE_GET_DISTURBINFO_ID = 0x35, REPORT_DISTURBINFO_ID = 0x36, SET_TEMPERATURE_UNIT_ID = 0X37, DEVICE_SETUP_SERVERE_MAX_ID, }; extern const p_func_t DeviceSetupServerFunc[DEVICE_SETUP_SERVERE_MAX_ID]; #endif