328 lines
9.4 KiB
C
328 lines
9.4 KiB
C
/**************************************************************************************************
|
||
* 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
|
||
|