nRF51 SDK - S120 SoftDevice
|
Application command request encoders and command response decoders. More...
Functions | |
uint32_t | ble_tx_buffer_count_get_req_enc (uint8_t const *const p_count, uint8_t *const p_buf, uint32_t *const p_buf_len) |
Encodes sd_ble_tx_buffer_count_get command request. More... | |
uint32_t | ble_tx_buffer_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_buffer_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_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_encode 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_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... | |
Application command request encoders and command response decoders.
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
.
[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 . |
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_encode command request.
[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. |
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.
[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. |
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.
[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. |
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.
[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. |
NRF_ERROR_INVALID_LENGTH | Decoding failure. Incorrect buffer length. |
uint32_t ble_tx_buffer_count_get_req_enc | ( | uint8_t const *const | p_count, |
uint8_t *const | p_buf, | ||
uint32_t *const | p_buf_len | ||
) |
Encodes sd_ble_tx_buffer_count_get command request.
[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. |
p_count
will not be updated by the command request encoder. Updated values are set by ble_tx_buffer_count_get_rsp_dec.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_buffer_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_buffer_count_get command.
[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. |
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_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.
[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. |
p_uuid
will not be updated by the command request encoder. Updated values are set by ble_uuid_decode_rsp_dec.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.
[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. |
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.
[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. |
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.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.
[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. |
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.
[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. |
p_uuid_type
will not be updated by the command request encoder. Updated values are set by ble_uuid_vs_add_rsp_dec.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.
[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. |
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.
[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. |
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.
[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. |
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. |