81 lines
2.1 KiB
C
81 lines
2.1 KiB
C
|
|
/**
|
||
|
|
*****************************************************************************************
|
||
|
|
* Copyright(c) 2015, Realtek Semiconductor Corporation. All rights reserved.
|
||
|
|
*****************************************************************************************
|
||
|
|
* @file vendor_service.h
|
||
|
|
* @brief Head file for using Vendor Service Remote Controller.
|
||
|
|
* @details Vendor service data structs and external functions declaration.
|
||
|
|
* @author Chenjie Jin
|
||
|
|
* @date 2018-5-7
|
||
|
|
* @version v1.1
|
||
|
|
* *************************************************************************************
|
||
|
|
*/
|
||
|
|
|
||
|
|
#ifndef _VENDOR_SERVICE_H_
|
||
|
|
#define _VENDOR_SERVICE_H_
|
||
|
|
|
||
|
|
#include "profile_server.h"
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C" {
|
||
|
|
#endif /* __cplusplus */
|
||
|
|
|
||
|
|
|
||
|
|
/** @brief Demo Profile service related UUIDs. */
|
||
|
|
|
||
|
|
#define GATT_UUID_CHAR_VENDOR_HANDSHAKE 0xA001
|
||
|
|
#define GATT_UUID_CHAR_VENDOR_TEST_MODE 0xA002
|
||
|
|
|
||
|
|
/** @brief Index of each characteristic in Demo Profile service database. */
|
||
|
|
#define BLE_SERVICE_CHAR_VENDOR_HANDSHAKE_INDEX 0x02
|
||
|
|
#define GATT_SVC_VENDOR_HANDSHAKE_CHAR_CCCD_INDEX 0x03
|
||
|
|
#define BLE_SERVICE_CHAR_VENDOR_TEST_MODE_INDEX 0x05
|
||
|
|
|
||
|
|
#define VENDOR_WRITE_HANDSHAKE 1
|
||
|
|
#define VENDOR_WRITE_TEST_MODE 2
|
||
|
|
|
||
|
|
#define VENDOR_NOTIFY_ENABLE 1
|
||
|
|
#define VENDOR_NOTIFY_DISABLE 2
|
||
|
|
|
||
|
|
/** Message content */
|
||
|
|
typedef union
|
||
|
|
{
|
||
|
|
struct
|
||
|
|
{
|
||
|
|
uint8_t len;
|
||
|
|
uint8_t *report;
|
||
|
|
} report_data;
|
||
|
|
} T_VENDOR_WRITE_PARAMETER;
|
||
|
|
|
||
|
|
/** @struct _TATVV_WRITE_MSG
|
||
|
|
* @brief write message
|
||
|
|
*/
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
uint8_t write_type; /**< ref: @ref Vendor_Write_Info */
|
||
|
|
T_VENDOR_WRITE_PARAMETER write_parameter;
|
||
|
|
} T_VENDOR_WRITE_MSG;
|
||
|
|
|
||
|
|
typedef union _TVENDOR_UPSTREAM_MSG_DATA
|
||
|
|
{
|
||
|
|
uint8_t notification_indification_index;
|
||
|
|
T_VENDOR_WRITE_MSG write_msg;
|
||
|
|
} TVENDOR_UPSTREAM_MSG_DATA;
|
||
|
|
|
||
|
|
/** Vendor service data to inform application */
|
||
|
|
typedef struct _T_VENDOR_CALLBACK_DATA
|
||
|
|
{
|
||
|
|
T_SERVICE_CALLBACK_TYPE msg_type;
|
||
|
|
TVENDOR_UPSTREAM_MSG_DATA msg_data;
|
||
|
|
} T_VENDOR_CALLBACK_DATA;
|
||
|
|
|
||
|
|
extern uint8_t vendor_svc_handshake_values[16];
|
||
|
|
|
||
|
|
uint8_t vendor_svc_add_service(void *pFunc);
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
}
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#endif
|