106 lines
2.3 KiB
C
106 lines
2.3 KiB
C
|
#ifndef DISC_TASK_H_
|
||
|
#define DISC_TASK_H_
|
||
|
|
||
|
/**
|
||
|
****************************************************************************************
|
||
|
* @addtogroup DISCTASK Device Information Service Client Task
|
||
|
* @ingroup DISC
|
||
|
* @brief Device Information Service Client Task
|
||
|
* @{
|
||
|
****************************************************************************************
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
* INCLUDE FILES
|
||
|
****************************************************************************************
|
||
|
*/
|
||
|
|
||
|
#include "rwip_task.h" // Task definitions
|
||
|
#include "prf_types.h"
|
||
|
|
||
|
/*
|
||
|
* DEFINES
|
||
|
****************************************************************************************
|
||
|
*/
|
||
|
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
/// Start the find me locator profile - at connection
|
||
|
DISC_ENABLE_REQ = TASK_FIRST_MSG(TASK_ID_DISC),
|
||
|
/// Confirm that cfg connection has finished with discovery results, or that normal cnx started
|
||
|
DISC_ENABLE_RSP,
|
||
|
|
||
|
/// Generic message to read a DIS characteristic value
|
||
|
DISC_RD_CHAR_REQ,
|
||
|
/// Generic message for read responses for APP
|
||
|
DISC_RD_CHAR_RSP,
|
||
|
};
|
||
|
|
||
|
enum
|
||
|
{
|
||
|
DISC_MANUFACTURER_NAME_CHAR,
|
||
|
DISC_MODEL_NB_STR_CHAR,
|
||
|
DISC_SERIAL_NB_STR_CHAR,
|
||
|
DISC_HARD_REV_STR_CHAR,
|
||
|
DISC_FIRM_REV_STR_CHAR,
|
||
|
DISC_SW_REV_STR_CHAR,
|
||
|
DISC_SYSTEM_ID_CHAR,
|
||
|
DISC_IEEE_CHAR,
|
||
|
DISC_PNP_ID_CHAR,
|
||
|
|
||
|
DISC_CHAR_MAX,
|
||
|
};
|
||
|
/**
|
||
|
* Structure containing the characteristics handles, value handles and descriptors for
|
||
|
* the Device Information Service
|
||
|
*/
|
||
|
struct disc_dis_content
|
||
|
{
|
||
|
/// service info
|
||
|
struct prf_svc svc;
|
||
|
|
||
|
/// Characteristic info:
|
||
|
struct prf_char_inf chars[DISC_CHAR_MAX];
|
||
|
};
|
||
|
|
||
|
/// Parameters of the @ref DISC_ENABLE_REQ message
|
||
|
struct disc_enable_req
|
||
|
{
|
||
|
///Connection type
|
||
|
uint8_t con_type;
|
||
|
|
||
|
/// Existing handle values dis
|
||
|
struct disc_dis_content dis;
|
||
|
};
|
||
|
|
||
|
/// Parameters of the @ref DISC_ENABLE_RSP message
|
||
|
struct disc_enable_rsp
|
||
|
{
|
||
|
///status
|
||
|
uint8_t status;
|
||
|
|
||
|
/// DIS handle values and characteristic properties
|
||
|
struct disc_dis_content dis;
|
||
|
};
|
||
|
|
||
|
///Parameters of the @ref DISC_RD_CHAR_REQ message
|
||
|
struct disc_rd_char_req
|
||
|
{
|
||
|
///Characteristic value code
|
||
|
uint8_t char_code;
|
||
|
};
|
||
|
|
||
|
///Parameters of the @ref DISC_RD_CHAR_RSP message
|
||
|
struct disc_rd_char_rsp
|
||
|
{
|
||
|
/// Attribute data information
|
||
|
struct prf_att_info info;
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
/// @} DISCTASK
|
||
|
|
||
|
#endif // DISC_TASK_H_
|