Files
epd42/components/serialization/application/codecs/common/ble_dtm_app.h
Shuanglei Tao f353d23368 Initial commit
2024-11-11 15:35:36 +08:00

85 lines
3.0 KiB
C

/* Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
*
* The information contained herein is property of Nordic Semiconductor ASA.
* Terms and conditions of usage are described in detail in NORDIC
* SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
*
* Licensees are granted free, non-transferable use of the information. NO
* WARRANTY of ANY KIND is provided. This heading must NOT be removed from
* the file.
*
*/
#ifndef BLE_DTM_APP_H__
#define BLE_DTM_APP_H__
/**
* @addtogroup ser_codecs Serialization codecs
* @ingroup ble_sdk_lib_serialization
*/
/**
* @addtogroup ser_app_common_codecs Application common codecs
* @ingroup ser_codecs
*/
/**@file
*
* @defgroup ble_dtm_app DTM Application command request encoders and command response decoders
* @{
* @ingroup ser_app_common_codecs
*
* @brief DTM Application command request encoders and command response decoders.
*/
#include "dtm_uart_params.h"
/**@brief Encodes @ref ble_dtm_init command request.
*
* @sa @ref nrf51_dtm_init_encoding_sec for packet format,
* @ref ble_dtm_init_rsp_dec for command response decoder.
*
* @param[in] p_uart_comm_params Pointer to UART configuration parameters.
* @param[in] p_buf Pointer to buffer where encoded data command will be returned.
* @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
* \c out: Length of encoded command packet.
*
* @retval NRF_SUCCESS Encoding success.
* @retval NRF_ERROR_NULL Encoding failure. NULL pointer supplied.
* @retval NRF_ERROR_INVALID_LENGTH Encoding failure. Incorrect buffer length.
*/
uint32_t ble_dtm_init_req_enc(app_uart_stream_comm_params_t const * const p_uart_comm_params,
uint8_t * const p_buf,
uint32_t * const p_buf_len);
/**@brief Decodes response @ref ble_dtm_init command.
*
* @sa @ref nrf51_dtm_init_encoding_sec for packet format,
* @ref ble_dtm_init_req_enc for command request encoder.
*
* @param[in] p_buf Pointer to beginning of command response packet.
* @param[in] packet_len Length (in bytes) of response packet.
* @param[out] p_result_code Command result code.
*
* @retval NRF_SUCCESS Decoding success.
* @retval NRF_ERROR_NULL Decoding failure. NULL pointer supplied.
* @retval NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
*/
uint32_t ble_dtm_init_rsp_dec(uint8_t const * const p_buf,
uint32_t packet_len,
uint32_t * const p_result_code);
/**@brief Function to initializing DTM mode.
*
* @param[in] p_uart_comm_params Pointer to the DTM UART configuration parameters.
*
* @retval NRF_SUCCESS Encoding success.
* @retval NRF_ERROR_NULL Encoding failure. NULL pointer supplied.
*/
uint32_t ble_dtm_init(app_uart_stream_comm_params_t * p_uart_comm_params);
/** @} */
#endif // BLE_DTM_APP_H__