mcu_hi3321_watch/tjd/ble/protocol/ble_incoming_server.h
2025-05-26 20:15:20 +08:00

92 lines
2.5 KiB
C

/**************************************************************************************************
* Copyright (c) Fenda Technologies Co., Ltd. 2020-2021. All rights reserved.
* Description: 来电接口
* Author: ball.caojianguang
* Create: 2020-5-21
**************************************************************************************************/
#ifndef _BLE_INCOMING_SERVER_H_
#define _BLE_INCOMING_SERVER_H_
#include "stdint.h"
#include "ble_protocol.h"
/*******************************来电******************************************************************/
#define call_number_size_max 20
#define call_name_size_max 30
#define INCOMING_TEMP_NUM_MAX 5
typedef enum {
CALL_OPERATE_REJECT = 1, //来电拒接
CALL_OPERATE_MUTE //来电静音
} IncomingCallOperateType;
typedef enum {
CALL_STATE_MUTE = 1, //来电静音
CALL_STATE_REJECT, //来电拒接
CALL_STATE_HANG, //来电挂断
CALL_STATE_ANSWER, //来电接听
CALL_STATE_MISSED, //来电未接
CALL_STATE_RINGING //正在响铃
} IncomingCallStateType;
typedef struct {
IncomingCallStateType state;
char name[32];
char tel[32];
} IncomingCallInfo_t;
//来电通知
enum {
CALL_IN_TYPE = 0x01,
CALLER_NUMBER_TYPE,
CALLER_NAME_TYPE,
CALLER_MAX_TYPE,
};
//设备操作来电
enum {
INCOMMING_REJECT = 0x01,
INCOMMING_MUTE,
INCOMING_OPERAT_MAX_TYPE,
};
//APP同步静音/拒接/挂断/接听
enum {
CALL_MODE_TYPE = 0x01,
CALL_MODE_MAX_TYPE,
};
extern bool_t gTestIncomingcallTimeoutFlag; //UI界面响应来电超时
/*******************************来电******************************************************************/
void Ble_IncomingNotify(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len);
void BLE_IncomingControlACK(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len);
void Ble_SynchronizationIncoming(uint8_t *in_data, uint16_t in_len, uint8_t *out_data, uint16_t *out_len);
void Ble_HandleIncomingUpload(uint8_t incomingOperat);
/********************************
* 来电--4.15 命令ID
**********************************/
enum {
INCOMING_NOTIFY_ID = 1, //4.15.1
DEVICE_HANDLE_INCOMING_ID = 2, //4.15.2
APP_SYN_INCOMING = 3, //4.15.3
INCOMING_SERVERE_MAX_ID = 4,
};
extern const p_func_t IncomingServerFunc[INCOMING_SERVERE_MAX_ID];
#endif