110 lines
3.3 KiB
C
110 lines
3.3 KiB
C
/********************************** (C) COPYRIGHT *******************************
|
|
* File Name : devinfoservice.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 DEVINFOSERVICE_H
|
|
#define DEVINFOSERVICE_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*********************************************************************
|
|
* INCLUDES
|
|
*/
|
|
|
|
/*********************************************************************
|
|
* CONSTANTS
|
|
*/
|
|
|
|
// Device Information Service Parameters
|
|
#define DEVINFO_SYSTEM_ID 0
|
|
#define DEVINFO_MODEL_NUMBER 1
|
|
#define DEVINFO_SERIAL_NUMBER 2
|
|
#define DEVINFO_FIRMWARE_REV 3
|
|
#define DEVINFO_HARDWARE_REV 4
|
|
#define DEVINFO_SOFTWARE_REV 5
|
|
#define DEVINFO_MANUFACTURER_NAME 6
|
|
#define DEVINFO_11073_CERT_DATA 7
|
|
#define DEVINFO_PNP_ID 8
|
|
|
|
// IEEE 11073 authoritative body values
|
|
#define DEVINFO_11073_BODY_EMPTY 0
|
|
#define DEVINFO_11073_BODY_IEEE 1
|
|
#define DEVINFO_11073_BODY_CONTINUA 2
|
|
#define DEVINFO_11073_BODY_EXP 254
|
|
|
|
// System ID length
|
|
#define DEVINFO_SYSTEM_ID_LEN 8
|
|
|
|
// PnP ID length
|
|
#define DEVINFO_PNP_ID_LEN 7
|
|
|
|
/*********************************************************************
|
|
* TYPEDEFS
|
|
*/
|
|
|
|
/*********************************************************************
|
|
* MACROS
|
|
*/
|
|
|
|
/*********************************************************************
|
|
* Profile Callbacks
|
|
*/
|
|
|
|
/*********************************************************************
|
|
* API FUNCTIONS
|
|
*/
|
|
|
|
/*
|
|
* DevInfo_AddService- Initializes the Device Information service by registering
|
|
* GATT attributes with the GATT server.
|
|
*
|
|
*/
|
|
|
|
extern bStatus_t DevInfo_AddService(void);
|
|
|
|
/*********************************************************************
|
|
* @fn DevInfo_SetParameter
|
|
*
|
|
* @brief Set a Device Information 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
|
|
*/
|
|
bStatus_t DevInfo_SetParameter(uint8_t param, uint8_t len, void *value);
|
|
|
|
/*
|
|
* DevInfo_GetParameter - Get a Device Information parameter.
|
|
*
|
|
* param - Profile parameter ID
|
|
* 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).
|
|
*/
|
|
extern bStatus_t DevInfo_GetParameter(uint8_t param, void *value);
|
|
|
|
/*********************************************************************
|
|
*********************************************************************/
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* DEVINFOSERVICE_H */
|