Application command request encoders and command response decoders

nRF5 SDK v11.0.0

nRF5 SDK v11.0.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 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 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 response to 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 response to 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 sd_ble_uuid_vs_add command request. More...
uint32_t ble_uuid_vs_add_rsp_dec (uint8_t const *const p_buf, uint32_t buf_len, uint8_t **const pp_uuid_type, uint32_t *const p_result_code)
Decodes response to 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 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 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 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 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 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 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 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 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 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 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 sd_ble_enable command request.

See Also
0x60 - sd_ble_enable for packet format, ble_enable_rsp_dec for command response decoder.
Parameters
[in] p_ble_enable_params Pointer to a ble_enable_params_t structure.
[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 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 sd_ble_enable command.

See Also
0x60 - sd_ble_enable for packet format, ble_enable_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to beginning of command response packet.
[in] packet_len Length (in bytes) of 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 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 beginning of event packet.
[in] packet_len Length (in bytes) of event packet.
[in,out] p_event Pointer to a ble_evt_t buffer where the decoded event will be stored. If NULL, 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 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 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 sd_ble_opt_get command request.

See Also
0x69 - sd_ble_opt_get for packet format, ble_opt_get_rsp_dec for command response decoder.
Parameters
[in] opt_id Identifies type of parameter in ble_opt_t union.
[in] p_opt Pointer to a ble_opt_t union to be filled by the response.
[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 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 sd_ble_opt_get command.

See Also
0x69 - sd_ble_opt_get for packet format, ble_opt_get_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to beginning of command response packet.
[in] packet_len Length (in bytes) of response packet.
[out] p_opt_id Pointer to a decoded opt_id
[out] p_opt Pointer to a 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 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 sd_ble_opt_set command request.

See Also
0x68 - sd_ble_opt_set for packet format, 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 ble_opt_t union.
[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 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 sd_ble_opt_set command.

See Also
0x68 - sd_ble_opt_set for packet format, ble_opt_set_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to beginning of command response packet.
[in] packet_len Length (in bytes) of 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
0x62 - sd_ble_tx_packet_count_get for packet format, 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 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 response to sd_ble_tx_packet_count_get command.

See Also
0x62 - sd_ble_tx_packet_count_get for packet format, ble_tx_packet_count_get_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to beginning of command response packet.
[in] packet_len Length (in bytes) of response packet.
[out] pp_count Pointer to 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 sd_ble_user_mem_reply command request.

See Also
0x67 - sd_ble_user_mem_reply for packet format, ble_user_mem_reply_rsp_dec for command response decoder.
Parameters
[in] conn_handle Connection Handle.
[in] p_block Pointer to a ble_user_mem_block_t structure.
[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 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 sd_ble_user_mem_reply command.

See Also
0x67 - sd_ble_user_mem_reply for packet format, ble_user_mem_reply_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to beginning of command response packet.
[in] packet_len Length (in bytes) of 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 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
0x64 - sd_ble_uuid_decode for packet format, 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) is stored.
[out] p_uuid Pointer to a ble_uuid_t structure were raw UUID will be decoded.
[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 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 response to sd_ble_uuid_decode command.

See Also
0x64 - sd_ble_uuid_decode for packet format, ble_uuid_decode_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to beginning of command response packet.
[in] packet_len Length (in bytes) of 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 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 sd_ble_uuid_encode command request.

See Also
0x65 - sd_ble_uuid_encode for packet format, 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 required size.
[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 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 response to sd_ble_uuid_encode command.

See Also
0x65 - sd_ble_uuid_encode for packet format, ble_uuid_encode_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to beginning of command response packet.
[in] packet_len Length (in bytes) of 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 decoded value from response.
NRF_ERROR_INVALID_DATA Decoding failure. Decoded operation code does not match 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 sd_ble_uuid_vs_add command request.

See Also
0x63 - sd_ble_uuid_vs_add for packet format, 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 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 buf_len ,
uint8_t **const pp_uuid_type ,
uint32_t *const p_result_code
)

Decodes response to sd_ble_uuid_vs_add command.

See Also
0x63 - sd_ble_uuid_vs_add for packet format, ble_uuid_vs_add_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to beginning of command response packet.
[in] buf_len Length (in bytes) of 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 sd_ble_version_get command request.

See Also
0x66 - sd_ble_version_get for packet format, 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 buffer where 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 sd_ble_version_get command.

See Also
0x66 - sd_ble_version_get for packet format, ble_version_get_req_enc for command request encoder.
Parameters
[in] p_buf Pointer to beginning of command response packet.
[in] packet_len Length (in bytes) of response packet.
[out] p_version Pointer to a ble_version_t where 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 decoded event.