Application command request encoders and command response decoders

nRF5 SDK v12.1.0

Application command request encoders and command response decoders. More...

Functions

uint32_t ble_tx_packet_count_get_req_enc (uint16_t conn_handle, uint8_t const *const p_count, uint8_t *const p_buf, uint32_t *const p_buf_len)
Encodes sd_ble_tx_packet_count_get command request. More...
uint32_t ble_tx_packet_count_get_rsp_dec (uint8_t const *const p_buf, uint32_t packet_len, uint8_t **const pp_count, uint32_t *const p_result_code)
Decodes a response to sd_ble_tx_packet_count_get command. More...
uint32_t ble_uuid_encode_req_enc ( ble_uuid_t const *const p_uuid, uint8_t const *const p_uuid_le_len, uint8_t const *const p_uuid_le, uint8_t *const p_buf, uint32_t *const p_buf_len)
Encodes the sd_ble_uuid_encode command request. More...
uint32_t ble_uuid_encode_rsp_dec (uint8_t const *const p_buf, uint32_t packet_len, uint8_t *const p_uuid_le_len, uint8_t *const p_uuid_le, uint32_t *const p_result_code)
Decodes a response to the sd_ble_uuid_encode command. More...
uint32_t ble_uuid_decode_req_enc (uint8_t uuid_le_len, uint8_t const *const p_uuid_le, ble_uuid_t *const p_uuid, uint8_t *const p_buf, uint32_t *const p_buf_len)
Encodes sd_ble_uuid_decode command request. More...
uint32_t ble_uuid_decode_rsp_dec (uint8_t const *const p_buf, uint32_t packet_len, ble_uuid_t **const p_uuid, uint32_t *const p_result_code)
Decodes a response to the sd_ble_uuid_decode command. More...
uint32_t ble_uuid_vs_add_req_enc ( ble_uuid128_t const *const p_vs_uuid, uint8_t *const p_uuid_type, uint8_t *const p_buf, uint32_t *const p_buf_len)
Encodes the sd_ble_uuid_vs_add command request. More...
uint32_t ble_uuid_vs_add_rsp_dec (uint8_t const *const p_buf, uint32_t packet_len, uint8_t **const pp_uuid_type, uint32_t *const p_result_code)
Decodes response to the sd_ble_uuid_vs_add command. More...
uint32_t ble_version_get_req_enc ( ble_version_t const *const p_version, uint8_t *const p_buf, uint32_t *const p_buf_len)
Encodes the sd_ble_version_get command request. More...
uint32_t ble_version_get_rsp_dec (uint8_t const *const p_buf, uint32_t packet_len, ble_version_t *p_version, uint32_t *const p_result_code)
Decodes response to the sd_ble_version_get command. More...
uint32_t ble_opt_set_req_enc (uint32_t const opt_id, ble_opt_t const *const p_opt, uint8_t *const p_buf, uint32_t *const p_buf_len)
Encodes the sd_ble_opt_set command request. More...
uint32_t ble_opt_set_rsp_dec (uint8_t const *const p_buf, uint32_t packet_len, uint32_t *const p_result_code)
Decodes response to the sd_ble_opt_set command. More...
uint32_t ble_enable_req_enc ( ble_enable_params_t *p_ble_enable_params, uint8_t *const p_buf, uint32_t *const p_buf_len)
Encodes the sd_ble_enable command request. More...
uint32_t ble_enable_rsp_dec (uint8_t const *const p_buf, uint32_t packet_len, uint32_t *const p_result_code)
Decodes response to the sd_ble_enable command. More...
uint32_t ble_opt_get_req_enc (uint32_t opt_id, ble_opt_t const *const p_opt, uint8_t *const p_buf, uint32_t *const p_buf_len)
Encodes the sd_ble_opt_get command request. More...
uint32_t ble_opt_get_rsp_dec (uint8_t const *const p_buf, uint32_t packet_len, uint32_t *const p_opt_id, ble_opt_t *const p_opt, uint32_t *const p_result_code)
Decodes response to the sd_ble_opt_get command. More...
uint32_t ble_user_mem_reply_req_enc (uint16_t conn_handle, ble_user_mem_block_t const *p_block, uint8_t *const p_buf, uint32_t *const p_buf_len)
Encodes the sd_ble_user_mem_reply command request. More...
uint32_t ble_user_mem_reply_rsp_dec (uint8_t const *const p_buf, uint32_t packet_len, uint32_t *const p_result_code)
Decodes response to the sd_ble_user_mem_reply command. More...
uint32_t ble_event_dec (uint8_t const *const p_buf, uint32_t packet_len, ble_evt_t *const p_event, uint32_t *const p_event_len)
Event decoding dispatcher. More...

Detailed Description

Application command request encoders and command response decoders.

Function Documentation

uint32_t ble_enable_req_enc ( ble_enable_params_t * p_ble_enable_params ,
uint8_t *const p_buf ,
uint32_t *const p_buf_len
)

Encodes the sd_ble_enable command request.

See Also
ble_enable_rsp_dec for command response decoder.
Parameters
[in] p_ble_enable_params Pointer to the ble_enable_params_t structure.
[in] p_buf Pointer to the buffer where encoded data command will be returned.
[in,out] p_buf_len in: Size of p_buf buffer. out: Length of the encoded command packet.
Return values
NRF_SUCCESS Encoding success.
NRF_ERROR_NULL Encoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Encoding failure. Incorrect buffer length.
uint32_t ble_enable_rsp_dec ( uint8_t const *const p_buf ,
uint32_t packet_len ,
uint32_t *const p_result_code
)

Decodes response to the sd_ble_enable command.

See Also
ble_enable_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to the beginning of a command response packet.
[in] packet_len Length (in bytes) of the response packet.
[out] p_result_code Command result code.
Returns
NRF_SUCCESS Success.
Return values
NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
NRF_ERROR_DATA_SIZE Decoding failure. Length of p_event is too small to hold the decoded event.
uint32_t ble_event_dec ( uint8_t const *const p_buf ,
uint32_t packet_len ,
ble_evt_t *const p_event ,
uint32_t *const p_event_len
)

Event decoding dispatcher.

The event decoding dispatcher will route the event packet to the correct decoder, which in turn decodes the contents of the event and updates the p_event struct.

If p_event is null, the required length of p_event is returned in p_event_len .

Parameters
[in] p_buf Pointer to the beginning of the event packet.
[in] packet_len Length (in bytes) of the event packet.
[in,out] p_event Pointer to the ble_evt_t buffer where the decoded event will be stored. If NULL, the required length will be returned in p_event_len .
[in,out] p_event_len in: Size (in bytes) of p_event buffer. out: Length of the decoded contents of p_event .
Return values
NRF_SUCCESS Decoding success.
NRF_ERROR_NULL Decoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
NRF_ERROR_DATA_SIZE Decoding failure. Length of p_event is too small to hold the decoded event.
NRF_ERROR_NOT_FOUND Decoding failure. No event decoder is available.
uint32_t ble_opt_get_req_enc ( uint32_t opt_id ,
ble_opt_t const *const p_opt ,
uint8_t *const p_buf ,
uint32_t *const p_buf_len
)

Encodes the sd_ble_opt_get command request.

See Also
ble_opt_get_rsp_dec for command response decoder.
Parameters
[in] opt_id Identifies the type of parameter in the ble_opt_t union.
[in] p_opt Pointer to the ble_opt_t union to be filled by the response.
[in] p_buf Pointer to the buffer where the encoded data command will be returned.
[in,out] p_buf_len in: Size of p_buf buffer. out: Length of the encoded command packet.
Return values
NRF_SUCCESS Encoding success.
NRF_ERROR_NULL Encoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Encoding failure. Incorrect buffer length.
NRF_ERROR_INVALID_PARAM Invalid opt id.
uint32_t ble_opt_get_rsp_dec ( uint8_t const *const p_buf ,
uint32_t packet_len ,
uint32_t *const p_opt_id ,
ble_opt_t *const p_opt ,
uint32_t *const p_result_code
)

Decodes response to the sd_ble_opt_get command.

See Also
ble_opt_get_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to the beginning of a command response packet.
[in] packet_len Length (in bytes) of the response packet.
[out] p_opt_id Pointer to the decoded opt_id.
[out] p_opt Pointer to the decoded ble_opt_t union.
[out] p_result_code Command result code.
Returns
NRF_SUCCESS Opt stored successfully.
Return values
NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
NRF_ERROR_DATA_SIZE Decoding failure. Length of p_event is too small to hold the decoded event.
NRF_ERROR_INVALID_PARAM Invalid opt id.
uint32_t ble_opt_set_req_enc ( uint32_t const opt_id ,
ble_opt_t const *const p_opt ,
uint8_t *const p_buf ,
uint32_t *const p_buf_len
)

Encodes the sd_ble_opt_set command request.

See Also
ble_opt_set_rsp_dec for command response decoder.
Parameters
[in] opt_id Identifies type of parameter in ble_opt_t union.
[in] p_opt Pointer to the ble_opt_t union.
[in] p_buf Pointer to a buffer where the encoded data command will be returned.
[in,out] p_buf_len in: Size of p_buf buffer. out: Length of the encoded command packet.
Return values
NRF_SUCCESS Encoding success.
NRF_ERROR_NULL Encoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Encoding failure. Incorrect buffer length.
NRF_ERROR_INVALID_PARAM Invalid opt id.
uint32_t ble_opt_set_rsp_dec ( uint8_t const *const p_buf ,
uint32_t packet_len ,
uint32_t *const p_result_code
)

Decodes response to the sd_ble_opt_set command.

See Also
ble_opt_set_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to the beginning of a command response packet.
[in] packet_len Length (in bytes) of the response packet.
[out] p_result_code Command result code.
Returns
NRF_SUCCESS Version information stored successfully.
Return values
NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
uint32_t ble_tx_packet_count_get_req_enc ( uint16_t conn_handle ,
uint8_t const *const p_count ,
uint8_t *const p_buf ,
uint32_t *const p_buf_len
)

Encodes sd_ble_tx_packet_count_get command request.

See Also
ble_tx_packet_count_get_rsp_dec for command response decoder.
Parameters
[in] conn_handle Connection handle.
[in] p_count Pointer to count value to be filled.
[in] p_buf Pointer to buffer where encoded data command will be returned.
[in,out] p_buf_len in: Size of p_buf buffer. out: Length of the encoded command packet.
Note
p_count will not be updated by the command request encoder. Updated values are set by ble_tx_packet_count_get_rsp_dec .
Return values
NRF_SUCCESS Encoding success.
NRF_ERROR_NULL Encoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Encoding failure. Incorrect buffer length.
uint32_t ble_tx_packet_count_get_rsp_dec ( uint8_t const *const p_buf ,
uint32_t packet_len ,
uint8_t **const pp_count ,
uint32_t *const p_result_code
)

Decodes a response to sd_ble_tx_packet_count_get command.

See Also
ble_tx_packet_count_get_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to the beginning of a command response packet.
[in] packet_len Length (in bytes) of the response packet.
[out] pp_count Pointer to the pointer to count value.
[out] p_result_code Command result code.
Return values
NRF_SUCCESS Decoding success.
NRF_ERROR_NULL Decoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
NRF_ERROR_INVALID_DATA Decoding failure. Decoded operation code does not match expected operation code.
uint32_t ble_user_mem_reply_req_enc ( uint16_t conn_handle ,
ble_user_mem_block_t const * p_block ,
uint8_t *const p_buf ,
uint32_t *const p_buf_len
)

Encodes the sd_ble_user_mem_reply command request.

See Also
ble_user_mem_reply_rsp_dec for command response decoder.
Parameters
[in] conn_handle Connection handle.
[in] p_block Pointer to the ble_user_mem_block_t structure.
[in] p_buf Pointer to the buffer where the encoded data command will be returned.
[in,out] p_buf_len in: Size of p_buf buffer. out: Length of the encoded command packet.
Return values
NRF_SUCCESS Encoding success.
NRF_ERROR_NULL Encoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Encoding failure. Incorrect buffer length.
NRF_ERROR_INVALID_PARAM Invalid opt id.
uint32_t ble_user_mem_reply_rsp_dec ( uint8_t const *const p_buf ,
uint32_t packet_len ,
uint32_t *const p_result_code
)

Decodes response to the sd_ble_user_mem_reply command.

See Also
ble_user_mem_reply_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to the beginning of a command response packet.
[in] packet_len Length (in bytes) of the response packet.
[out] p_result_code Command result code.
Returns
NRF_SUCCESS Opt stored successfully.
Return values
NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
NRF_ERROR_DATA_SIZE Decoding failure. Length of p_event is too small to hold the decoded event.
NRF_ERROR_INVALID_PARAM Invalid opt id.
uint32_t ble_uuid_decode_req_enc ( uint8_t uuid_le_len ,
uint8_t const *const p_uuid_le ,
ble_uuid_t *const p_uuid ,
uint8_t *const p_buf ,
uint32_t *const p_buf_len
)

Encodes sd_ble_uuid_decode command request.

See Also
ble_uuid_decode_rsp_dec for command response decoder.
Parameters
[in] uuid_le_len Size of p_uuid_le if p_uuid_le is not NULL.
[in] p_uuid_le Pointer to a buffer where the little endian raw UUID bytes(2 or 16) are stored.
[out] p_uuid Pointer to a ble_uuid_t structure were the raw UUID will be decoded.
[in] p_buf Pointer to the buffer where encoded data command will be returned.
[in,out] p_buf_len in: Size of p_buf buffer. out: Length of the encoded command packet.
Note
p_uuid will not be updated by the command request encoder. Updated values are set by ble_uuid_decode_rsp_dec .
Return values
NRF_SUCCESS Encoding success.
NRF_ERROR_NULL Encoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Encoding failure. Incorrect buffer length.
uint32_t ble_uuid_decode_rsp_dec ( uint8_t const *const p_buf ,
uint32_t packet_len ,
ble_uuid_t **const p_uuid ,
uint32_t *const p_result_code
)

Decodes a response to the sd_ble_uuid_decode command.

See Also
ble_uuid_decode_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to the beginning of command response packet.
[in] packet_len Length (in bytes) of the response packet.
[out] p_uuid Pointer to a buffer where the decoded UUID will be stored.
[out] p_result_code Command result code.
Return values
NRF_SUCCESS Decoding success.
NRF_ERROR_NULL Decoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
NRF_ERROR_INVALID_DATA Decoding failure. Decoded operation code does not match the expected operation code.
uint32_t ble_uuid_encode_req_enc ( ble_uuid_t const *const p_uuid ,
uint8_t const *const p_uuid_le_len ,
uint8_t const *const p_uuid_le ,
uint8_t *const p_buf ,
uint32_t *const p_buf_len
)

Encodes the sd_ble_uuid_encode command request.

See Also
ble_uuid_encode_rsp_dec for command response decoder.
Parameters
[in] p_uuid Pointer to a ble_uuid_t structure that will be encoded into bytes.
[in] p_uuid_le_len Size of p_uuid_le , if p_uuid_le is not NULL
[in] p_uuid_le Pointer to a buffer where the little endian raw UUID bytes(2 or 16) will be stored. Can be NULL to calculate the required size.
[in] p_buf Pointer to a buffer where the encoded data command will be returned.
[in,out] p_buf_len in: Size of p_buf buffer. out: Length of the encoded command packet.
Note
p_uuid_le_len and p_uuid_le will not be updated by the command request encoder. Updated values are set by ble_uuid_encode_rsp_dec .
Return values
NRF_SUCCESS Encoding success.
NRF_ERROR_NULL Encoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Encoding failure. Incorrect buffer length.
uint32_t ble_uuid_encode_rsp_dec ( uint8_t const *const p_buf ,
uint32_t packet_len ,
uint8_t *const p_uuid_le_len ,
uint8_t *const p_uuid_le ,
uint32_t *const p_result_code
)

Decodes a response to the sd_ble_uuid_encode command.

See Also
ble_uuid_encode_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to the beginning of a command response packet.
[in] packet_len Length (in bytes) of a response packet.
[in,out] p_uuid_le_len in: Size (in bytes) of p_uuid_le buffer. out: Length of decoded contents of p_uuid_le .
[out] p_uuid_le Pointer to a buffer where the encoded UUID will be stored.
[out] p_result_code Command result code.
Return values
NRF_SUCCESS Decoding success.
NRF_ERROR_NULL Decoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
NRF_ERROR_DATA_SIZE Length of p_uuid_le is too small to hold the decoded value from response.
NRF_ERROR_INVALID_DATA Decoding failure. Decoded operation code does not match the expected operation code.
uint32_t ble_uuid_vs_add_req_enc ( ble_uuid128_t const *const p_vs_uuid ,
uint8_t *const p_uuid_type ,
uint8_t *const p_buf ,
uint32_t *const p_buf_len
)

Encodes the sd_ble_uuid_vs_add command request.

See Also
ble_uuid_vs_add_rsp_dec for command response decoder.
Parameters
[in] p_vs_uuid Pointer to a ble_uuid128_t structure.
[in] p_uuid_type Pointer to uint8_t where UUID type will be returned.
[in] p_buf Pointer to buffer where the encoded data command will be returned.
[in,out] p_buf_len in: Size of p_buf buffer. out: Length of encoded command packet.
Note
p_uuid_type will not be updated by the command request encoder. Updated values are set by ble_uuid_vs_add_rsp_dec .
Return values
NRF_SUCCESS Encoding success.
NRF_ERROR_NULL Encoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Encoding failure. Incorrect buffer length.
uint32_t ble_uuid_vs_add_rsp_dec ( uint8_t const *const p_buf ,
uint32_t packet_len ,
uint8_t **const pp_uuid_type ,
uint32_t *const p_result_code
)

Decodes response to the sd_ble_uuid_vs_add command.

See Also
ble_uuid_vs_add_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to the beginning of command response packet.
[in] packet_len Length (in bytes) of a response packet.
[out] pp_uuid_type Pointer to a pointer to uint8_t where the decoded UUID type will be stored.
[out] p_result_code Command result code.
Return values
NRF_SUCCESS Decoding success.
NRF_ERROR_NULL Decoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
NRF_ERROR_INVALID_DATA Decoding failure. Decoded operation code does not match expected operation code.
uint32_t ble_version_get_req_enc ( ble_version_t const *const p_version ,
uint8_t *const p_buf ,
uint32_t *const p_buf_len
)

Encodes the sd_ble_version_get command request.

See Also
ble_version_get_rsp_dec for command response decoder.
Parameters
[in] p_version Pointer to a ble_version_t structure to be filled by the response.
[in] p_buf Pointer to a buffer where the encoded data command will be returned.
[in,out] p_buf_len in: Size of p_buf buffer. out: Length of encoded command packet.
Return values
NRF_SUCCESS Encoding success.
NRF_ERROR_NULL Encoding failure. NULL pointer supplied.
NRF_ERROR_INVALID_LENGTH Encoding failure. Incorrect buffer length.
uint32_t ble_version_get_rsp_dec ( uint8_t const *const p_buf ,
uint32_t packet_len ,
ble_version_t * p_version ,
uint32_t *const p_result_code
)

Decodes response to the sd_ble_version_get command.

See Also
ble_version_get_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to the beginning of a command response packet.
[in] packet_len Length (in bytes) of the response packet.
[out] p_version Pointer to a ble_version_t where the decoded version will be stored.
[out] p_result_code Command result code.
Returns
NRF_SUCCESS Version information stored successfully.
Return values
NRF_ERROR_INVALID_LENGTH Decoding failure. Incorrect buffer length.
NRF_ERROR_DATA_SIZE Decoding failure. Length of p_event is too small to hold the decoded event.