134 lines
4.0 KiB
C
134 lines
4.0 KiB
C
/********************************** (C) COPYRIGHT *******************************
|
|
* File Name : scanparamservice.h
|
|
* Author : WCH
|
|
* Version : V1.0
|
|
* Date : 2018/12/11
|
|
* Description :
|
|
*********************************************************************************
|
|
* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
|
|
* Attention: This software (modified or not) and binary are used for
|
|
* microcontroller manufactured by Nanjing Qinheng Microelectronics.
|
|
*******************************************************************************/
|
|
|
|
#ifndef SCANPARAMSERVICE_H
|
|
#define SCANPARAMSERVICE_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*********************************************************************
|
|
* INCLUDES
|
|
*/
|
|
|
|
/*********************************************************************
|
|
* CONSTANTS
|
|
*/
|
|
|
|
// Scan Characteristic Lengths
|
|
#define SCAN_INTERVAL_WINDOW_CHAR_LEN 4
|
|
#define SCAN_PARAM_REFRESH_LEN 1
|
|
|
|
// Scan Parameter Refresh Values
|
|
#define SCAN_PARAM_REFRESH_REQ 0x00
|
|
|
|
// Callback events
|
|
#define SCAN_INTERVAL_WINDOW_SET 1
|
|
|
|
// Get/Set parameters
|
|
#define SCAN_PARAM_PARAM_INTERVAL 0
|
|
#define SCAN_PARAM_PARAM_WINDOW 1
|
|
|
|
/*********************************************************************
|
|
* TYPEDEFS
|
|
*/
|
|
|
|
/*********************************************************************
|
|
* MACROS
|
|
*/
|
|
|
|
/*********************************************************************
|
|
* Profile Callbacks
|
|
*/
|
|
|
|
// Scan Parameters Service callback function
|
|
typedef void (*scanParamServiceCB_t)(uint8_t event);
|
|
|
|
/*********************************************************************
|
|
* API FUNCTIONS
|
|
*/
|
|
|
|
/*********************************************************************
|
|
* @fn ScanParam_AddService
|
|
*
|
|
* @brief Initializes the Service by registering
|
|
* GATT attributes with the GATT server.
|
|
*
|
|
* @return Success or Failure
|
|
*/
|
|
extern bStatus_t ScanParam_AddService(void);
|
|
|
|
/*********************************************************************
|
|
* @fn ScanParam_Register
|
|
*
|
|
* @brief Register a callback function with the Scan Parameters Service.
|
|
*
|
|
* @param pfnServiceCB - Callback function.
|
|
*
|
|
* @return None.
|
|
*/
|
|
extern void ScanParam_Register(scanParamServiceCB_t pfnServiceCB);
|
|
|
|
/*********************************************************************
|
|
* @fn ScanParam_SetParameter
|
|
*
|
|
* @brief Set a Scan Parameters Service parameter.
|
|
*
|
|
* @param param - Profile parameter ID
|
|
* @param len - length of data to right
|
|
* @param value - pointer to data to write. This is dependent on
|
|
* the parameter ID and WILL be cast to the appropriate
|
|
* data type (example: data type of uint16_t will be cast to
|
|
* uint16_t pointer).
|
|
*
|
|
* @return bStatus_t
|
|
*/
|
|
extern bStatus_t ScanParam_SetParameter(uint8_t param, uint8_t len, void *value);
|
|
|
|
/*********************************************************************
|
|
* @fn ScanParam_GetParameter
|
|
*
|
|
* @brief Get a Scan Parameters Service parameter.
|
|
*
|
|
* @param param - Profile parameter ID
|
|
* @param value - pointer to data to get. This is dependent on
|
|
* the parameter ID and WILL be cast to the appropriate
|
|
* data type (example: data type of uint16_t will be cast to
|
|
* uint16_t pointer).
|
|
*
|
|
* @return bStatus_t
|
|
*/
|
|
extern bStatus_t ScanParam_GetParameter(uint8_t param, void *value);
|
|
|
|
/*********************************************************************
|
|
* @fn ScanParam_RefreshNotify
|
|
*
|
|
* @brief Notify the peer to refresh the scan parameters.
|
|
*
|
|
* @param connHandle - connection handle
|
|
*
|
|
* @return None
|
|
*/
|
|
extern void ScanParam_RefreshNotify(uint16_t connHandle);
|
|
|
|
extern void ScanParam_HandleConnStatusCB(uint16_t connHandle, uint8_t changeType);
|
|
|
|
/*********************************************************************
|
|
*********************************************************************/
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* SCANPARAMSERVICE_H */
|