pinebuds/services/ble_app/app_dis/app_dis.h

136 lines
4.2 KiB
C
Raw Permalink Normal View History

2022-08-15 04:20:27 -05:00
/***************************************************************************
*
* Copyright 2015-2019 BES.
* All rights reserved. All unpublished rights reserved.
*
* No part of this work may be used or reproduced in any form or by any
* means, or stored in a database or retrieval system, without prior written
* permission of BES.
*
* Use of this work is governed by a license granted by BES.
* This work contains confidential and proprietary information of
* BES. which is protected by copyright, trade secret,
* trademark and other intellectual property rights.
*
****************************************************************************/
#ifndef APP_DIS_H_
#define APP_DIS_H_
/**
****************************************************************************************
* @addtogroup APP
*
* @brief Device Information Application Module Entry point.
*
* @{
****************************************************************************************
*/
/*
* INCLUDE FILES
****************************************************************************************
*/
#include "rwip_config.h" // SW Configuration
#if (BLE_APP_DIS)
#include <stdint.h>
/*
* DEFINES
****************************************************************************************
*/
/// Manufacturer Name Value
#define APP_DIS_MANUFACTURER_NAME ("RivieraWaves SAS")
#define APP_DIS_MANUFACTURER_NAME_LEN (16)
/// Model Number String Value
#define APP_DIS_MODEL_NB_STR ("RW-BLE-1.0")
#define APP_DIS_MODEL_NB_STR_LEN (10)
/// Serial Number
#define APP_DIS_SERIAL_NB_STR ("1.0.0.0-LE")
#define APP_DIS_SERIAL_NB_STR_LEN (10)
/// Firmware Revision
#define APP_DIS_FIRM_REV_STR ("6.1.2")
#define APP_DIS_FIRM_REV_STR_LEN (5)
/// System ID Value - LSB -> MSB
#define APP_DIS_SYSTEM_ID ("\x12\x34\x56\xFF\xFE\x9A\xBC\xDE")
#define APP_DIS_SYSTEM_ID_LEN (8)
/// Hardware Revision String
#define APP_DIS_HARD_REV_STR ("1.0.0")
#define APP_DIS_HARD_REV_STR_LEN (5)
/// Software Revision String
#define APP_DIS_SW_REV_STR ("6.3.0")
#define APP_DIS_SW_REV_STR_LEN (5)
/// IEEE
#define APP_DIS_IEEE ("\xFF\xEE\xDD\xCC\xBB\xAA")
#define APP_DIS_IEEE_LEN (6)
/**
* PNP ID Value - LSB -> MSB
* Vendor ID Source : 0x02 (USB Implementers Forum assigned Vendor ID value)
* Vendor ID : 0x045E (Microsoft Corp)
* Product ID : 0x0040
* Product Version : 0x0300
*/
#define APP_DIS_PNP_ID ("\x02\x5E\x04\x40\x00\x00\x03")
#define APP_DIS_PNP_ID_LEN (7)
#if (BLE_APP_HID)
#define APP_DIS_FEATURES (DIS_MANUFACTURER_NAME_CHAR_SUP |\
DIS_MODEL_NB_STR_CHAR_SUP |\
DIS_SYSTEM_ID_CHAR_SUP |\
DIS_PNP_ID_CHAR_SUP)
#else
#define APP_DIS_FEATURES (DIS_ALL_FEAT_SUP)
#endif //(BLE_APP_HID)
/*
* GLOBAL VARIABLES DECLARATION
****************************************************************************************
*/
/// Table of message handlers
extern const struct ke_state_handler app_dis_table_handler;
/*
* GLOBAL FUNCTIONS DECLARATION
****************************************************************************************
*/
/**
****************************************************************************************
* @brief Initialize Device Information Service Application
****************************************************************************************
*/
void app_dis_init(void);
/**
****************************************************************************************
* @brief Add a Device Information Service instance in the DB
****************************************************************************************
*/
void app_dis_add_dis(void);
/**
****************************************************************************************
* @brief Enable the Device Information Service
****************************************************************************************
*/
void app_dis_enable_prf(uint16_t conhdl);
#endif //BLE_APP_DIS
/// @} APP
#endif //APP_DIS_H_