aboutsummaryrefslogtreecommitdiff
path: root/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers')
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_acknowledge_message_tx.c84
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_active_search_sharing_cycles_get.c89
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_active_search_sharing_cycles_set.c78
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_adv_burst_config_set.c79
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_broadcast_message_tx.c84
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_capabilities_get.c71
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_assign.c89
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_close.c73
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_id_get.c97
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_id_set.c89
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_low_priority_rx_search_timout_set.c78
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_open_with_offset.c78
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_period_get.c89
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_period_set.c78
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_radio_freq_get.c89
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_radio_freq_set.c78
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_radio_tx_power_set.c83
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_rx_search_timeout_set.c78
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_status_get.c89
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_unassign.c73
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_coex_config_get.c107
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_coex_config_set.c101
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_conn.h1591
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_channel_enable.c88
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_info_get.c96
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_info_set.c84
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_key_set.c79
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_cw_test_mode.c88
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_cw_test_mode_init.c55
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_enable.c75
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event.c114
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event.h74
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event_rx.c70
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event_rx.h72
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_id_list_add.c84
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_id_list_config.c84
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_lib_config_clear.c73
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_lib_config_get.c71
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_lib_config_set.c73
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_network_address_set.c79
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_prox_search_set.c83
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_rx_scan_mode_start.c73
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_search_channel_priority_set.c78
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_search_waveform_set.c78
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_stack_reset.c55
-rw-r--r--thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_version_get.c71
46 files changed, 5242 insertions, 0 deletions
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_acknowledge_message_tx.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_acknowledge_message_tx.c
new file mode 100644
index 0000000..3e1fb20
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_acknowledge_message_tx.c
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_acknowledge_message_tx_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_size,
+ uint8_t * * const pp_mesg)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_size);
+ SER_ASSERT_NOT_NULL(*pp_mesg);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_size);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_vector_dec(p_buf, packet_len, &index, *pp_mesg, *p_size);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+
+uint32_t ant_acknowledge_message_tx_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_TX_ACKNOWLEDGED_MESSAGE, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_active_search_sharing_cycles_get.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_active_search_sharing_cycles_get.c
new file mode 100644
index 0000000..baea0f9
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_active_search_sharing_cycles_get.c
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_active_search_sharing_cycles_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_channel)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_active_search_sharing_cycles_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t const * const p_cycles)
+{
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_buf_len);
+
+ uint32_t total_len = *p_buf_len;
+
+ uint32_t err_code = ser_ble_cmd_rsp_status_code_enc(SVC_ANT_ACTIVE_SEARCH_SHARING_CYCLES_GET, return_code,
+ p_buf, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ if (return_code != NRF_SUCCESS)
+ {
+ return NRF_SUCCESS;
+ }
+
+ err_code = uint8_t_enc(p_cycles, p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ return NRF_SUCCESS;
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_active_search_sharing_cycles_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_active_search_sharing_cycles_set.c
new file mode 100644
index 0000000..230c93e
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_active_search_sharing_cycles_set.c
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_active_search_sharing_cycles_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_cycles)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_cycles);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_cycles);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_active_search_sharing_cycles_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_ACTIVE_SEARCH_SHARING_CYCLES_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_adv_burst_config_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_adv_burst_config_set.c
new file mode 100644
index 0000000..70d9362
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_adv_burst_config_set.c
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_adv_burst_config_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_config,
+ uint8_t * const p_size)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_size);
+ SER_ASSERT_NOT_NULL(p_config);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_size);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_vector_dec(p_buf, packet_len, &index, p_config, *p_size);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+
+uint32_t ant_adv_burst_config_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_ADV_BURST_CONFIG_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_broadcast_message_tx.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_broadcast_message_tx.c
new file mode 100644
index 0000000..63bf6da
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_broadcast_message_tx.c
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_broadcast_message_tx_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_size,
+ uint8_t * * const pp_mesg)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_size);
+ SER_ASSERT_NOT_NULL(*pp_mesg);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_size);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_vector_dec(p_buf, packet_len, &index, *pp_mesg, *p_size);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+
+uint32_t ant_broadcast_message_tx_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_TX_BROADCAST_MESSAGE, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_capabilities_get.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_capabilities_get.c
new file mode 100644
index 0000000..113a13e
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_capabilities_get.c
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_capabilities_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t const * const p_capabilities)
+{
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_buf_len);
+
+ uint32_t total_len = *p_buf_len;
+
+ uint32_t err_code = ser_ble_cmd_rsp_status_code_enc(SVC_ANT_CAPABILITIES, return_code,
+ p_buf, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ if (return_code != NRF_SUCCESS)
+ {
+ return NRF_SUCCESS;
+ }
+
+ err_code = uint8_vector_enc(p_capabilities, MESG_CAPABILITIES_SIZE, p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ return NRF_SUCCESS;
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_assign.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_assign.c
new file mode 100644
index 0000000..4121d2b
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_assign.c
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_assign_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_type,
+ uint8_t * const p_network,
+ uint8_t * const p_ext_assign)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_type);
+ SER_ASSERT_NOT_NULL(p_network);
+ SER_ASSERT_NOT_NULL(p_ext_assign);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_type);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_network);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_ext_assign);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+
+uint32_t ant_channel_assign_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CHANNEL_ASSIGN, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_close.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_close.c
new file mode 100644
index 0000000..3ef78d0
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_close.c
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_close_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_channel_close_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CHANNEL_CLOSE, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_id_get.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_id_get.c
new file mode 100644
index 0000000..5bc0fba
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_id_get.c
@@ -0,0 +1,97 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_id_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_channel)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_channel_id_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint16_t const * const p_device_number,
+ uint8_t const * const p_device_type,
+ uint8_t const * const p_transmit_type)
+{
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_buf_len);
+
+ uint32_t total_len = *p_buf_len;
+
+ uint32_t err_code = ser_ble_cmd_rsp_status_code_enc(SVC_ANT_CHANNEL_ID_GET, return_code,
+ p_buf, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ if (return_code != NRF_SUCCESS)
+ {
+ return NRF_SUCCESS;
+ }
+
+ err_code = uint16_t_enc(p_device_number, p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_enc(p_device_type, p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_enc(p_transmit_type, p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ return NRF_SUCCESS;
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_id_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_id_set.c
new file mode 100644
index 0000000..ec50390
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_id_set.c
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_id_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint16_t * const p_device_number,
+ uint8_t * const p_device_type,
+ uint8_t * const p_transmission_type)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_device_number);
+ SER_ASSERT_NOT_NULL(p_device_type);
+ SER_ASSERT_NOT_NULL(p_transmission_type);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint16_t_dec(p_buf, packet_len, &index, p_device_number);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_device_type);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_transmission_type);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+
+uint32_t ant_channel_id_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CHANNEL_ID_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_low_priority_rx_search_timout_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_low_priority_rx_search_timout_set.c
new file mode 100644
index 0000000..ff17048
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_low_priority_rx_search_timout_set.c
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_low_priority_rx_search_timeout_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_timeout)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_timeout);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_timeout);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_channel_low_priority_rx_search_timeout_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CHANNEL_LOW_PRIO_RX_SEARCH_TIMEOUT_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_open_with_offset.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_open_with_offset.c
new file mode 100644
index 0000000..784143f
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_open_with_offset.c
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_open_with_offset_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint16_t * const p_usOffset)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint16_t_dec(p_buf, packet_len, &index, p_usOffset);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+
+uint32_t ant_channel_open_with_offset_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CHANNEL_OPEN, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_period_get.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_period_get.c
new file mode 100644
index 0000000..f62da42
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_period_get.c
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_period_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_channel)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_channel_period_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint16_t const * const p_period)
+{
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_buf_len);
+
+ uint32_t total_len = *p_buf_len;
+
+ uint32_t err_code = ser_ble_cmd_rsp_status_code_enc(SVC_ANT_CHANNEL_PERIOD_GET, return_code,
+ p_buf, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ if (return_code != NRF_SUCCESS)
+ {
+ return NRF_SUCCESS;
+ }
+
+ err_code = uint16_t_enc(p_period, p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ return NRF_SUCCESS;
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_period_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_period_set.c
new file mode 100644
index 0000000..719cac5
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_period_set.c
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_period_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint16_t * const p_period)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_period);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint16_t_dec(p_buf, packet_len, &index, p_period);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_channel_period_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CHANNEL_PERIOD_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_radio_freq_get.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_radio_freq_get.c
new file mode 100644
index 0000000..fde80af
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_radio_freq_get.c
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_radio_freq_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_channel)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_channel_radio_freq_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t const * const p_r_freq)
+{
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_buf_len);
+
+ uint32_t total_len = *p_buf_len;
+
+ uint32_t err_code = ser_ble_cmd_rsp_status_code_enc(SVC_ANT_CHANNEL_RADIO_FREQ_GET, return_code,
+ p_buf, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ if (return_code != NRF_SUCCESS)
+ {
+ return NRF_SUCCESS;
+ }
+
+ err_code = uint8_t_enc(p_r_freq, p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ return NRF_SUCCESS;
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_radio_freq_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_radio_freq_set.c
new file mode 100644
index 0000000..35248e9
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_radio_freq_set.c
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_radio_freq_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_freq)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_freq);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_freq);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_channel_radio_freq_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CHANNEL_RADIO_FREQ_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_radio_tx_power_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_radio_tx_power_set.c
new file mode 100644
index 0000000..9bbcc32
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_radio_tx_power_set.c
@@ -0,0 +1,83 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_radio_tx_power_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_tx_power,
+ uint8_t * const p_custom_tx_power)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_tx_power);
+ SER_ASSERT_NOT_NULL(p_custom_tx_power);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_tx_power);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_custom_tx_power);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_channel_radio_tx_power_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CHANNEL_RADIO_TX_POWER_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_rx_search_timeout_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_rx_search_timeout_set.c
new file mode 100644
index 0000000..f7de11b
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_rx_search_timeout_set.c
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_rx_search_timeout_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_timeout)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_timeout);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_timeout);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_channel_rx_search_timeout_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CHANNEL_SEARCH_TIMEOUT_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_status_get.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_status_get.c
new file mode 100644
index 0000000..3f77fd4
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_status_get.c
@@ -0,0 +1,89 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_status_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_channel)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_channel_status_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t const * const p_status)
+{
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_buf_len);
+
+ uint32_t total_len = *p_buf_len;
+
+ uint32_t err_code = ser_ble_cmd_rsp_status_code_enc(SVC_ANT_CHANNEL_STATUS_GET, return_code,
+ p_buf, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ if (return_code != NRF_SUCCESS)
+ {
+ return NRF_SUCCESS;
+ }
+
+ err_code = uint8_t_enc(p_status, p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ return NRF_SUCCESS;
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_unassign.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_unassign.c
new file mode 100644
index 0000000..9c37cb9
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_channel_unassign.c
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_channel_unassign_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_channel_unassign_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CHANNEL_UNASSIGN, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_coex_config_get.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_coex_config_get.c
new file mode 100644
index 0000000..e15fbb2
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_coex_config_get.c
@@ -0,0 +1,107 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_coex_config_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_channel)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_coex_config_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ ANT_BUFFER_PTR * const p_coex_config,
+ ANT_BUFFER_PTR * const p_adv_coex_config)
+{
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_buf_len);
+
+ uint32_t total_len = *p_buf_len;
+
+ uint32_t err_code = ser_ble_cmd_rsp_status_code_enc(SVC_ANT_COEX_CONFIG_GET, return_code,
+ p_buf, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ if (return_code != NRF_SUCCESS)
+ {
+ return NRF_SUCCESS;
+ }
+
+ err_code = uint8_t_enc(&(p_coex_config->ucBufferSize), p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_vector_enc(p_coex_config->pucBuffer,
+ p_coex_config->ucBufferSize,
+ p_buf,
+ total_len,
+ p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_enc(&(p_adv_coex_config->ucBufferSize), p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_vector_enc(p_adv_coex_config->pucBuffer,
+ p_adv_coex_config->ucBufferSize,
+ p_buf,
+ total_len,
+ p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ return NRF_SUCCESS;
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_coex_config_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_coex_config_set.c
new file mode 100644
index 0000000..730cb1e
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_coex_config_set.c
@@ -0,0 +1,101 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_coex_config_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ ANT_BUFFER_PTR * const p_coex_config,
+ ANT_BUFFER_PTR * const p_adv_coex_config)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_coex_config);
+ SER_ASSERT_NOT_NULL(p_adv_coex_config);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ // Decode coex config buffer size
+ err_code = uint8_t_dec(p_buf, packet_len, &index, &(p_coex_config->ucBufferSize));
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ // Decode coex config buffer
+ err_code = uint8_vector_dec(p_buf,
+ packet_len,
+ &index,
+ p_coex_config->pucBuffer,
+ p_coex_config->ucBufferSize);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ // Decode advanced coex config buffer size
+ err_code = uint8_t_dec(p_buf, packet_len, &index, &(p_adv_coex_config->ucBufferSize));
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ // Decode advanced coex config buffer
+ err_code = uint8_vector_dec(p_buf,
+ packet_len,
+ &index,
+ p_adv_coex_config->pucBuffer,
+ p_adv_coex_config->ucBufferSize);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_coex_config_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_COEX_CONFIG_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_conn.h b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_conn.h
new file mode 100644
index 0000000..0f70413
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_conn.h
@@ -0,0 +1,1591 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+#ifndef ANT_CONN_H__
+#define ANT_CONN_H__
+
+
+/**
+ * @addtogroup ser_conn_s212_codecs Connectivity codecs for S212
+ * @ingroup ser_codecs_conn
+ */
+
+/**@file
+ *
+ * @defgroup ant_conn Connectivity command request decoders and command response encoders
+ * @{
+ * @ingroup ser_conn_s212_codecs
+ *
+ * @brief Connectivity command request decoders and command response encoders.
+ */
+#include "ant_interface.h"
+
+/**@brief Decodes @ref sd_ant_enable command request.
+ *
+ * @sa @ref ant_enable_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ * @param[out] pp_ant_enable_params Pointer to pointer to @ref ANT_ENABLE.
+ * \c It will be set to NULL if p_ant_enable_params is not
+ * present in the packet.
+ *
+ * @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 ant_enable_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ ANT_ENABLE * * const pp_ant_enable_params);
+
+/**@brief Encodes @ref sd_ant_enable command response.
+ *
+ * @sa @ref ant_enable_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_enable_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_channel_assign command request.
+ *
+ * @sa @ref ant_channel_assign_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel to be
+ * assigned will be set.
+ * @param[out] p_type Pointer to an unsigned char (1 octet) where the channel type
+ * to be assigned will be set.
+ * @param[out] p_network Pointer to an unsigned char (1 octet) where the network key to
+ * associate with the channel will be set.
+ * @param[out] p_ext_assign Pointer to a bit field (1 octet) where an extended assign will
+ * be set.
+ *
+ * @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 ant_channel_assign_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_type,
+ uint8_t * const p_network,
+ uint8_t * const p_ext_assign);
+
+/**@brief Encodes @ref sd_ant_channel_assign command response.
+ *
+ * @sa @ref ant_channel_assign_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_channel_assign_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_channel_open command request.
+ *
+ * @sa @ref ant_channel_open_with_offset_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel to be
+ * opened will be set.
+ * @param[out] p_usOffset Pointer to a channel start time offset value.
+ *
+ * @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 ant_channel_open_with_offset_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint16_t * const p_usOffset);
+
+/**@brief Encodes @ref sd_ant_channel_open command response.
+ *
+ * @sa @ref ant_channel_open_with_offset_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_channel_open_with_offset_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_channel_id_set command request.
+ *
+ * @sa @ref ant_channel_id_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel number
+ * will be set.
+ * @param[out] p_device_number Pointer to an unsigned short (2 octets) where the device
+ * number will be set.
+ * @param[out] p_device_type Pointer to an an unsigned char (1 octet) where the device type
+ * will be set.
+ * @param[out] p_transmission_type Pointer to an unsigned char (1 octet) where the transmission
+ * type will be set.
+ *
+ * @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 ant_channel_id_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint16_t * const p_device_number,
+ uint8_t * const p_device_type,
+ uint8_t * const p_transmission_type);
+
+/**@brief Encodes @ref sd_ant_channel_id_set command response.
+ *
+ * @sa @ref ant_channel_id_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_channel_id_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_channel_period_set command request.
+ *
+ * @sa @ref ant_channel_period_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel number
+ * associated with the period will be set.
+ * @param[out] p_period Pointer to an unsigned short (2 octets) where the period will
+ * be set. Value is in 32 kHz counts (usPeriod/32768 s).
+ *
+ * @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 ant_channel_period_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint16_t * const p_period);
+
+/**@brief Encodes @ref sd_ant_channel_period_set command response.
+ *
+ * @sa @ref ant_channel_period_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_channel_period_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_channel_radio_freq_set command request.
+ *
+ * @sa @ref ant_channel_radio_freq_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel number
+ * associated with the radio frequency will be set.
+ * @param[out] p_freq Pointer to an unsigned char (1 octet) where the radio
+ * frequency will be set. Value is offset from 2400 MHz
+ * (eg. 2466 MHz, ucFreq = 66).
+ *
+ * @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 ant_channel_radio_freq_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_freq);
+
+/**@brief Encodes @ref sd_ant_channel_radio_freq_set command response.
+ *
+ * @sa @ref ant_channel_radio_freq_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_channel_radio_freq_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_broadcast_message_tx command request.
+ *
+ * @sa @ref ant_broadcast_message_tx_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel to
+ * send the data on will be set.
+ * @param[out] p_size Pointer to an unsigned char (1 octet) where the size of the
+ * message will be set.
+ * @param[out] pp_mesg Pointer to pointer to the buffer where the broadcast message
+ * will be set (array must be 8 octets).
+ *
+ * @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 ant_broadcast_message_tx_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_size,
+ uint8_t * * const pp_mesg);
+
+/**@brief Encodes @ref sd_ant_broadcast_message_tx command response.
+ *
+ * @sa @ref ant_broadcast_message_tx_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_broadcast_message_tx_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_acknowledge_message_tx command request.
+ *
+ * @sa @ref ant_acknowledge_message_tx_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel to
+ * send the data on will be set.
+ * @param[out] p_size Pointer to an unsigned char (1 octet) where the size of the
+ * message will be set.
+ * @param[out] pp_mesg Pointer to pointer to the buffer where the acknowledge message
+ * will be set (array must be 8 octets).
+ *
+ * @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 ant_acknowledge_message_tx_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_size,
+ uint8_t * * const pp_mesg);
+
+/**@brief Encodes @ref sd_ant_acknowledge_message_tx command response.
+ *
+ * @sa @ref ant_acknowledge_message_tx_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_acknowledge_message_tx_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_channel_unassign command request.
+ *
+ * @sa @ref ant_channel_unassign_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel to be
+ * unassigned will be set.
+ *
+ * @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 ant_channel_unassign_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel);
+
+/**@brief Encodes @ref sd_ant_channel_unassign command response.
+ *
+ * @sa @ref ant_channel_unassign_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_channel_unassign_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_channel_close command request.
+ *
+ * @sa @ref ant_channel_close_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel to be
+ * closed will be set.
+ *
+ * @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 ant_channel_close_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel);
+
+/**@brief Encodes @ref sd_ant_channel_close command response.
+ *
+ * @sa @ref ant_channel_close_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_channel_close_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_network_address_set command request.
+ *
+ * @sa @ref ant_network_address_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_network Pointer to an unsigned char (1 octet) where the network number
+ * to assign the network address to will be set.
+ * @param[out] pp_network_key Pointer to a pointer to where the network key (8 octets in
+ * length) will be set.
+ *
+ * @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 ant_network_address_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_network,
+ uint8_t * * const pp_network_key);
+
+/**@brief Encodes @ref sd_ant_network_address_set command response.
+ *
+ * @sa @ref ant_network_address_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_network_address_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_channel_radio_tx_power_set command request.
+ *
+ * @sa @ref ant_channel_radio_tx_power_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel number
+ * to assign the radio TX power will be set.
+ * @param[out] p_tx_power Pointer to an unsigned char (1 octet) where the ANT transmit
+ * power index will be set. See Radio TX Power Definitions in
+ * ant_parameters.h.
+ * @param[out] p_custom_tx_power Pointer to an unsigned char (1 octet) where the custom nRF
+ * transmit power as defined in nrf51_bitfields.h will be set.
+ * Only applicable if tx_power is set to custom TX power
+ * selection.
+ *
+ * @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 ant_channel_radio_tx_power_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_tx_power,
+ uint8_t * const p_custom_tx_power);
+
+/**@brief Encodes @ref sd_ant_channel_radio_tx_power_set command response.
+ *
+ * @sa @ref ant_channel_radio_tx_power_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_channel_radio_tx_power_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_channel_rx_search_timeout_set command request.
+ *
+ * @sa @ref ant_channel_rx_search_timeout_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel number
+ * will be set.
+ * @param[out] p_timeout Pointer to an unsigned char (1 octet) where the time-out value
+ * will be set.
+ *
+ * @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 ant_channel_rx_search_timeout_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_timeout);
+
+/**@brief Encodes @ref sd_ant_channel_rx_search_timeout_set command response.
+ *
+ * @sa @ref ant_channel_rx_search_timeout_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_channel_rx_search_timeout_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_channel_low_priority_rx_search_timeout_set command request.
+ *
+ * @sa @ref ant_channel_low_priority_rx_search_timeout_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel number
+ * will be set.
+ * @param[out] p_timeout Pointer to an unsigned char (1 octet) where the time-out value
+ * will be set.
+ *
+ * @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 ant_channel_low_priority_rx_search_timeout_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_timeout);
+
+/**@brief Encodes @ref sd_ant_channel_low_priority_rx_search_timeout_set command response.
+ *
+ * @sa @ref ant_channel_low_priority_rx_search_timeout_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_channel_low_priority_rx_search_timeout_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_prox_search_set command request.
+ *
+ * @sa @ref ant_prox_search_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel
+ * number will be set.
+ * @param[out] p_prox_threshold Pointer to an unsigned char (1 octet) where the minimum
+ * RSSI threshold required for acquisition during a search
+ * will be set. See Radio Proximity Search Threshold in
+ * ant_parameters.h.
+ * @param[out] p_custom_prox_threshold Pointer to an unsigned char (1 octet) where the custom
+ * minimum RSSI threshold for acquisition during a search
+ * will be set. Only applicable if prox_threshold is set to
+ * custom proximity selection.
+ *
+ * @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 ant_prox_search_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_prox_threshold,
+ uint8_t * const p_custom_prox_threshold);
+
+/**@brief Encodes @ref sd_ant_prox_search_set command response.
+ *
+ * @sa @ref ant_prox_search_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_prox_search_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_search_waveform_set command request.
+ *
+ * @sa @ref ant_search_waveform_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel
+ * number will be set.
+ * @param[out] p_waveform Pointer to an unsigned short (2 octets) where the channel
+ * waveform period (usWaveform/32768 s) will be set.
+ * Default = 316.
+ *
+ * @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 ant_search_waveform_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint16_t * const p_waveform);
+
+/**@brief Encodes @ref sd_ant_search_waveform_set command response.
+ *
+ * @sa @ref ant_search_waveform_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_search_waveform_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_channel_id_get command request.
+ *
+ * @sa @ref ant_channel_id_get_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel
+ * number will be set.
+ *
+ * @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 ant_channel_id_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_channel);
+
+/**@brief Encodes @ref sd_ant_channel_id_get command response.
+ *
+ * @sa @ref ant_channel_id_get_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response packet.
+ * @param[in] p_device_number Pointer to device number
+ * @param[in] p_device_type Pointer to device type
+ * @param[in] p_transmit_type Pointer to transmit type
+ *
+ * @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 ant_channel_id_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint16_t const * const p_device_number,
+ uint8_t const * const p_device_type,
+ uint8_t const * const p_transmit_type);
+
+/**@brief Decodes @ref sd_ant_channel_radio_freq_get command request.
+ *
+ * @sa @ref ant_channel_radio_freq_get_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel number
+ * will be set.
+ *
+ * @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 ant_channel_radio_freq_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_channel);
+
+/**@brief Encodes @ref sd_ant_channel_radio_freq_get command response.
+ *
+ * @sa @ref ant_channel_radio_freq_get_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response packet.
+ * @param[in] p_r_freq Pointer to radio frequency
+ *
+ * @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 ant_channel_radio_freq_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t const * const p_r_freq);
+
+/**@brief Decodes @ref sd_ant_channel_period_get command request.
+ *
+ * @sa @ref ant_channel_period_get_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel number
+ * will be set.
+ *
+ * @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 ant_channel_period_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_channel);
+
+/**@brief Encodes @ref sd_ant_channel_period_get command response.
+ *
+ * @sa @ref ant_channel_period_get_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response packet.
+ * @param[in] p_period Pointer to period
+ *
+ * @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 ant_channel_period_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint16_t const * const p_period);
+
+/**@brief Decodes @ref sd_ant_search_channel_priority_set command request.
+ *
+ * @sa @ref ant_search_channel_priority_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel number
+ * will be set.
+ * @param[out] p_search_priority Pointer to an unsigned char (1 octet) where the search
+ * priority value will be set. 0 to 7 (Default = 0).
+ *
+ * @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 ant_search_channel_priority_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_search_priority);
+
+/**@brief Encodes @ref sd_ant_search_channel_priority_set command response.
+ *
+ * @sa @ref ant_search_channel_priority_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_search_channel_priority_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_active_search_sharing_cycles_set command request.
+ *
+ * @sa @ref ant_active_search_sharing_cycles_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel number
+ * will be set.
+ * @param[out] p_cycles Pointer to an unsigned char (1 octet) where the numbe of
+ * cycles will be set.
+ *
+ * @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 ant_active_search_sharing_cycles_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_cycles);
+
+/**@brief Encodes @ref sd_ant_active_search_sharing_cycles_set command response.
+ *
+ * @sa @ref ant_active_search_sharing_cycles_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_active_search_sharing_cycles_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_lib_config_set command request.
+ *
+ * @sa @ref ant_lib_config_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_ant_lib_config Pointer to an unsigned char (1 octet) where the ANT lib
+ * config bit flags will be set. See ANT Library Config in
+ * ant_parameters.h.
+ *
+ * @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 ant_lib_config_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_ant_lib_config);
+
+/**@brief Encodes @ref sd_ant_lib_config_set command response.
+ *
+ * @sa @ref ant_lib_config_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_lib_config_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_active_search_sharing_cycles_get command request.
+ *
+ * @sa @ref ant_active_search_sharing_cycles_get_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel number
+ * will be set.
+ *
+ * @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 ant_active_search_sharing_cycles_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_channel);
+
+/**@brief Encodes @ref sd_ant_active_search_sharing_cycles_get command response.
+ *
+ * @sa @ref ant_active_search_sharing_cycles_get_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response packet.
+ * @param[in] p_cycles Pointer to cycles.
+ *
+ * @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 ant_active_search_sharing_cycles_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t const * const p_cycles);
+
+/**@brief Encodes @ref sd_ant_lib_config_get command response.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response packet.
+ * @param[in] p_ant_lib_config Pointer to ANT library configuration.
+ *
+ * @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 ant_lib_config_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t const * const p_ant_lib_config);
+
+/**@brief Decodes @ref sd_ant_lib_config_clear command request.
+ *
+ * @sa @ref ant_lib_config_clear_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_ant_lib_config Pointer to an unsigned char (1 octet) where the ANT lib config
+ * bit(s) to clear will be set. See ANT Library Config in
+ * ant_parameters.h.
+ *
+ * @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 ant_lib_config_clear_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_ant_lib_config);
+
+/**@brief Encodes @ref sd_ant_lib_config_clear command response.
+ *
+ * @sa @ref ant_lib_config_clear_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_lib_config_clear_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Encodes @ref sd_ant_stack_reset command response.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_stack_reset_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_rx_scan_mode_start command request.
+ *
+ * @sa @ref ant_rx_scan_mode_start_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_sync_channel_packets_only Pointer to an unsigned char (1 octet) where the
+ * synchronous channel only scanning mode will be set.
+ * 0 = disable, 1 = enable.
+ *
+ * @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 ant_rx_scan_mode_start_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_sync_channel_packets_only);
+
+/**@brief Encodes @ref sd_ant_rx_scan_mode_start command response.
+ *
+ * @sa @ref ant_rx_scan_mode_start_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_rx_scan_mode_start_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_id_list_add command request.
+ *
+ * @sa @ref ant_id_list_add_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel
+ * number to add the list entry to will be set.
+ * @param[out] pp_dev_id Pointer to pointer to where the Dev ID will be stored.
+ * @param[out] p_list_index Pointer to an unsigned char (1 octet) where the list
+ * index (0-3), will be set.
+ *
+ * @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 ant_id_list_add_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * * const pp_dev_id,
+ uint8_t * const p_list_index);
+
+/**@brief Encodes @ref sd_ant_id_list_add command response.
+ *
+ * @sa @ref ant_id_list_add_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_id_list_add_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_id_list_config command request.
+ *
+ * @sa @ref ant_id_list_config_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) wher the channel number
+ * of the device ID list will be stored.
+ * @param[out] p_id_list_size Pointer to an unsigned char (1 octet) where the size of the
+ * inclusion or exclusion list (0-4) will be stored.
+ * @param[out] p_inc_exc_flag Pointer to an unsigned char (1 octet) where the type of list
+ * will be stored.
+ *
+ * @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 ant_id_list_config_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_id_list_size,
+ uint8_t * const p_inc_exc_flag);
+
+/**@brief Encodes @ref sd_ant_id_list_add command response.
+ *
+ * @sa @ref ant_id_list_config_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_id_list_config_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_channel_status_get command request.
+ *
+ * @sa @ref ant_channel_status_get_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel number
+ * will be set.
+ *
+ * @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 ant_channel_status_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_channel);
+
+/**@brief Encodes @ref sd_ant_channel_status_get command response.
+ *
+ * @sa @ref ant_channel_status_get_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response packet.
+ * @param[in] p_status Pointer to status
+ *
+ * @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 ant_channel_status_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t const * const p_status);
+
+/**@brief Encodes @ref sd_ant_cw_test_mode_init command response.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_cw_test_mode_init_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_cw_test_mode command request.
+ *
+ * @sa @ref ant_cw_test_mode_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_radio_freq Pointer to an unsigned char (1 octet) where the radio
+ * frequency offset from 2400 MHz for continuous wave mode will be
+ * set. (eg. 2466 MHz, ucRadioFreq = 66).
+ * @param[out] p_tx_power Pointer to an unsigned char (1 octet) where the ANT transmit
+ * power index for continuous wave mode will be set. See Radio
+ * TX Power Definitions in ant_parameters.h
+ * @param[out] p_custom_tx_power Pointer to an unsigned char (1 octet) where the custom nRF
+ * transmit power as defined in nrf51_bitfields.h will be set. Only
+ * applicable if ucTxPower is set to custom TX power selection.
+ * @param[out] p_mode Pointer to an unsigned char (1 octet) where the test mode type
+ * will be set.
+ * @param[in] p_buf Pointer to buffer where encoded data command will be returned.
+ *
+ * @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 ant_cw_test_mode_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_radio_freq,
+ uint8_t * const p_tx_power,
+ uint8_t * const p_custom_tx_power,
+ uint8_t * const p_mode);
+
+/**@brief Encodes @ref sd_ant_cw_test_mode command response.
+ *
+ * @sa @ref ant_cw_test_mode_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_cw_test_mode_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Encodes @ref sd_ant_version_get command response.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response packet.
+ * @param[in] p_version Pointer to version.
+ *
+ * @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 ant_version_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t const * const p_version);
+
+/**@brief Encodes @ref sd_ant_capabilities_get command response.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response packet.
+ * @param[in] p_capabilities Pointer to ant capabilities buffer.
+ *
+ * @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 ant_capabilities_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t const * const p_capabilities);
+
+/**@brief Decodes @ref sd_ant_crypto_channel_enable command request.
+ *
+ * @sa @ref ant_crypto_channel_enable_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel in which
+ * encryption mode is set will be copied to.
+ * @param[out] p_enable Pointer to an unsigned char (1 octet) where the encryption
+ * mode will be set.
+ * @param[out] p_key_num Pointer to an unsigned char (1 octet) where the key index of the
+ * 128-bit key to be used for encryption will be set.
+ * @param[out] p_decimation_rate Pointer to an unsigned char (1 octet) where the decimate rate to
+ * apply for encrypted slave channel will be set. Must be > 0.
+ *
+ * @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 ant_crypto_channel_enable_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_enable,
+ uint8_t * const p_key_num,
+ uint8_t * const p_decimation_rate);
+
+/**@brief Encodes @ref sd_ant_crypto_channel_enable command response.
+ *
+ * @sa @ref ant_crypto_channel_enable_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_crypto_channel_enable_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_adv_burst_config_set command request.
+ *
+ * @sa @ref ant_adv_burst_config_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_config Pointer to the buffer where advanced burst
+ * configuration will be set.
+ * @param[out] p_size Pointer to an unsigned char (1 octet) where the size of the
+ * configuration parameter buffer will be set.
+ * @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 ant_adv_burst_config_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_config,
+ uint8_t * const p_size);
+
+/**@brief Encodes @ref sd_ant_adv_burst_config_set command response.
+ *
+ * @sa @ref ant_adv_burst_config_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_adv_burst_config_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_crypto_key_set command request.
+ *
+ * @sa @ref ant_crypto_key_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_key_num Pointer to an unsigned char (1 octet) where the key index for
+ * assignment will be set.
+ * @param[out] pp_key Pointer to pointer to buffer (16 octets) where the 128-bit
+ * AES key to be assigned to the key index will be set.
+ *
+ * @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 ant_crypto_key_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_key_num,
+ uint8_t * * const pp_key);
+
+/**@brief Encodes @ref sd_ant_crypto_key_set command response.
+ *
+ * @sa @ref ant_crypto_key_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_crypto_key_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_crypto_info_set command request.
+ *
+ * @sa @ref ant_crypto_info_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_type Pointer to an unsigned char (1 octet) where the type of
+ * information being set will be copied.
+ * @param[out] pp_info Pointer to pointer to buffer where information being set will be
+ * copied.
+ *
+ * @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 ant_crypto_info_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_type,
+ uint8_t * * const pp_info);
+
+/**@brief Encodes @ref sd_ant_crypto_info_set command response.
+ *
+ * @sa @ref ant_crypto_info_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_crypto_info_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_crypto_info_get command request.
+ *
+ * @sa @ref ant_crypto_info_get_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_type Pointer to an unsigned char (1 octet) where the type of
+ * information being set will be copied.
+ *
+ * @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 ant_crypto_info_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_type);
+
+/**@brief Encodes @ref sd_ant_crypto_info_get command response.
+ *
+ * @sa @ref ant_crypto_info_get_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response packet.
+ * @param[in] type The type of information being set.
+ * @param[in] p_info Pointer to info buffer.
+ *
+ * @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 ant_crypto_info_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t type,
+ uint8_t const * const p_info);
+
+/**@brief Decodes @ref sd_ant_coex_config_set command request.
+ *
+ * @sa @ref ant_coex_config_set_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[in] p_channel Pointer to an unsigned char (1 octet) where the channel for
+ * which the coexistence configuration is to be set will be copied.
+ * @param[in] p_coex_config Pointer to a buffer where the coexistence configuration to be set will
+ * be copied.
+ * @param[in] p_adv_coex_config Pointer to a buffer where the advanced coexistence configuration to be set will
+ * be copied.
+ *
+ * @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 ant_coex_config_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ ANT_BUFFER_PTR * const p_coex_config,
+ ANT_BUFFER_PTR * const p_adv_coex_config);
+
+/**@brief Encodes @ref sd_ant_coex_config_set command response.
+ *
+ * @sa @ref ant_coex_config_set_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response 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 ant_coex_config_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/**@brief Decodes @ref sd_ant_coex_config_get command request.
+ *
+ * @sa @ref ant_channel_id_get_rsp_enc for response encoding.
+ *
+ * @param[in] p_buf Pointer to beginning of command request packet.
+ * @param[in] packet_len Length (in bytes) of response packet.
+ *
+ * @param[out] p_channel Pointer to an unsigned char (1 octet) where the channel
+ * number will be set.
+ *
+ * @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 ant_coex_config_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_channel);
+
+/**@brief Encodes @ref sd_ant_coex_config_get command response.
+ *
+ * @sa @ref ant_channel_id_get_req_dec for request decoding.
+ *
+ * @param[in] return_code Return code indicating if command was successful or not.
+ * @param[out] p_buf Pointer to buffer where encoded data command response will be
+ * returned.
+ * @param[in,out] p_buf_len \c in: Size of \p p_buf buffer.
+ * \c out: Length of encoded command response packet.
+ * @param[in] p_coex_config Pointer to the coexistence configuration.
+ * @param[in] p_adv_coex_config Pointer to the advanced coexistence configuration.
+ *
+ * @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 ant_coex_config_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ ANT_BUFFER_PTR * const p_coex_config,
+ ANT_BUFFER_PTR * const p_adv_coex_config);
+/** @} */
+
+#endif
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_channel_enable.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_channel_enable.c
new file mode 100644
index 0000000..66db3cb
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_channel_enable.c
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_crypto_channel_enable_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_enable,
+ uint8_t * const p_key_num,
+ uint8_t * const p_decimation_rate)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_enable);
+ SER_ASSERT_NOT_NULL(p_key_num);
+ SER_ASSERT_NOT_NULL(p_decimation_rate);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_enable);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_key_num);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_decimation_rate);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_crypto_channel_enable_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CRYPTO_CHANNEL_ENABLE, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_info_get.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_info_get.c
new file mode 100644
index 0000000..495aee0
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_info_get.c
@@ -0,0 +1,96 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_crypto_info_get_req_dec(uint8_t const * const p_buf,
+ uint16_t packet_len,
+ uint8_t * const p_type)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_type);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_type);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_crypto_info_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t type,
+ uint8_t const * const p_info)
+{
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_buf_len);
+
+ uint32_t total_len = *p_buf_len;
+
+ uint32_t err_code = ser_ble_cmd_rsp_status_code_enc(SVC_ANT_CRYPTO_INFO_GET, return_code,
+ p_buf, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ if (return_code != NRF_SUCCESS)
+ {
+ return NRF_SUCCESS;
+ }
+
+ err_code = uint8_t_enc(&type, p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ uint8_t crypto_info_size = (MESG_CONFIG_ENCRYPT_REQ_CONFIG_USER_DATA_SIZE -
+ MESG_CHANNEL_NUM_SIZE);
+
+ err_code = uint8_vector_enc(p_info, crypto_info_size, p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ return NRF_SUCCESS;
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_info_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_info_set.c
new file mode 100644
index 0000000..d429119
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_info_set.c
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_crypto_info_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_type,
+ uint8_t * * const pp_info)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_type);
+ SER_ASSERT_NOT_NULL(*pp_info);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_type);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ uint8_t crypto_info_size = (MESG_CONFIG_ENCRYPT_REQ_CONFIG_USER_DATA_SIZE -
+ MESG_CHANNEL_NUM_SIZE) +
+ (MESG_CONFIG_ENCRYPT_REQ_CONFIG_ID_SIZE -
+ MESG_CHANNEL_NUM_SIZE);
+
+ err_code = uint8_vector_dec(p_buf, packet_len, &index, *pp_info, crypto_info_size);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+
+uint32_t ant_crypto_info_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CRYPTO_INFO_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_key_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_key_set.c
new file mode 100644
index 0000000..e5d0980
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_crypto_key_set.c
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_crypto_key_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_key_num,
+ uint8_t * * const pp_key)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_key_num);
+ SER_ASSERT_NOT_NULL(*pp_key);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_key_num);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_vector_dec(p_buf, packet_len, &index, *pp_key, SIZE_OF_ENCRYPTED_KEY);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+
+uint32_t ant_crypto_key_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CRYPTO_KEY_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_cw_test_mode.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_cw_test_mode.c
new file mode 100644
index 0000000..0830ebe
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_cw_test_mode.c
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_cw_test_mode_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_radio_freq,
+ uint8_t * const p_tx_power,
+ uint8_t * const p_custom_tx_power,
+ uint8_t * const p_mode)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_radio_freq);
+ SER_ASSERT_NOT_NULL(p_tx_power);
+ SER_ASSERT_NOT_NULL(p_custom_tx_power);
+ SER_ASSERT_NOT_NULL(p_mode);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_radio_freq);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_tx_power);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_custom_tx_power);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_mode);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_cw_test_mode_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_CW_TEST_MODE, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_cw_test_mode_init.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_cw_test_mode_init.c
new file mode 100644
index 0000000..baf8699
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_cw_test_mode_init.c
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_cw_test_mode_init_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_INIT_CW_TEST_MODE, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_enable.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_enable.c
new file mode 100644
index 0000000..9f38a38
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_enable.c
@@ -0,0 +1,75 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_enable_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ ANT_ENABLE * * const pp_ant_enable_params)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(pp_ant_enable_params);
+ SER_ASSERT_NOT_NULL(*pp_ant_enable_params);
+
+ err_code = cond_field_dec(p_buf, packet_len, &index, (void * *)pp_ant_enable_params, ANT_ENABLE_dec);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+
+uint32_t ant_enable_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_ENABLE, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event.c
new file mode 100644
index 0000000..192784b
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event.c
@@ -0,0 +1,114 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include "ant_parameters.h"
+#include "nrf_sdh_ant.h"
+#include "ant_struct_serialization.h"
+#include "ble_serialization.h"
+#include "ant_event_rx.h"
+#include "app_util.h"
+#include "cond_field_serialization.h"
+
+
+uint32_t ant_event_enc(ant_evt_t const * const p_event,
+ uint32_t event_len,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t ret_val = NRF_SUCCESS;
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_buf_len);
+ SER_ASSERT_NOT_NULL(p_event);
+
+ switch (p_event->event)
+ {
+ case NO_EVENT:
+ case EVENT_RX_SEARCH_TIMEOUT:
+ case EVENT_RX_FAIL:
+ case EVENT_TRANSFER_RX_FAILED:
+ case EVENT_TRANSFER_TX_COMPLETED:
+ case EVENT_TRANSFER_TX_FAILED:
+ case EVENT_CHANNEL_CLOSED:
+ case EVENT_RX_FAIL_GO_TO_SEARCH:
+ case EVENT_CHANNEL_COLLISION:
+ case EVENT_TRANSFER_TX_START:
+ case EVENT_TRANSFER_NEXT_DATA_BLOCK:
+ case CHANNEL_IN_WRONG_STATE:
+ case CHANNEL_NOT_OPENED:
+ case CHANNEL_ID_NOT_SET:
+ case CLOSE_ALL_CHANNELS:
+ case TRANSFER_IN_PROGRESS:
+ case TRANSFER_SEQUENCE_NUMBER_ERROR:
+ case TRANSFER_IN_ERROR:
+ case TRANSFER_BUSY:
+ case MESSAGE_SIZE_EXCEEDS_LIMIT:
+ case INVALID_MESSAGE:
+ case INVALID_NETWORK_NUMBER:
+ case INVALID_LIST_ID:
+ case INVALID_SCAN_TX_CHANNEL:
+ case INVALID_PARAMETER_PROVIDED:
+ case EVENT_QUE_OVERFLOW:
+ case EVENT_ENCRYPT_NEGOTIATION_SUCCESS:
+ case EVENT_ENCRYPT_NEGOTIATION_FAIL:
+ case EVENT_RFACTIVE_NOTIFICATION:
+ case EVENT_CONNECTION_START:
+ case EVENT_CONNECTION_SUCCESS:
+ case EVENT_CONNECTION_FAIL:
+ case EVENT_CONNECTION_TIMEOUT:
+ case EVENT_CONNECTION_UPDATE:
+ case NO_RESPONSE_MESSAGE:
+ case EVENT_RX:
+ case EVENT_BLOCKED:
+ case EVENT_TX:
+ {
+ uint32_t index = 0;
+ // TO DO - SER_ASSERT_LENGTH_LEQ(index + SER_EVT_HEADER_SIZE + 2 + 1, *p_buf_len);
+ uint32_t err_code = ant_evt_t_enc(p_event, p_buf, *p_buf_len, &index);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+ *p_buf_len = index;
+ break;
+ }
+ default:
+ ret_val = NRF_ERROR_NOT_SUPPORTED;
+ break;
+ }
+
+ return ret_val;
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event.h b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event.h
new file mode 100644
index 0000000..5b6ce1c
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event.h
@@ -0,0 +1,74 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+#ifndef __ANT_EVENT_H__
+#define __ANT_EVENT_H__
+#include "ant_parameters.h"
+#include "app_util.h"
+#include "nrf_sdh_ant.h"
+
+/**
+ * @addtogroup ser_conn_s212_codecs
+ * @{
+ * @ingroup ser_codecs_conn
+ */
+
+/**@brief Event encoding dispatcher.
+ *
+ * The event encoding dispatcher will route the event packet to the correct encoder which in turn
+ * encodes the contents of the event and updates the \p p_buf buffer.
+ *
+ * @param[in] p_event Pointer to the \ref ant_evt_t buffer that shall be encoded.
+ * @param[in] event_len Size (in bytes) of \p p_event buffer.
+ * @param[out] p_buf Pointer to the beginning of a buffer for encoded event packet.
+ * @param[in,out] p_buf_len \c in: Size (in bytes) of \p p_buf buffer.
+ * \c out: Length of encoded contents in \p p_buf.
+ *
+ * @retval NRF_SUCCESS Encoding success.
+ * @retval NRF_ERROR_NULL Encoding failure. NULL pointer supplied.
+ * @retval NRF_ERROR_INVALID_LENGTH Encoding failure. Incorrect buffer length.
+ * @retval NRF_ERROR_NOT_SUPPORTED Event encoder is not implemented.
+ */
+uint32_t ant_event_enc(ant_evt_t const * const p_event,
+ uint32_t event_len,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/** @} */
+#endif
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event_rx.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event_rx.c
new file mode 100644
index 0000000..b8dfed0
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event_rx.c
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_event_rx.h"
+#include "ble_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_event_rx_enc(ant_evt_t const * const p_event,
+ uint32_t event_len,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ ANT_MESSAGE * p_message;
+ uint32_t index = 0;
+
+
+ SER_ASSERT_NOT_NULL(p_event);
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_buf_len);
+
+ SER_ASSERT_LENGTH_LEQ(index + SER_EVT_HEADER_SIZE + 2 + 1, *p_buf_len);
+ p_message = (ANT_MESSAGE *)&p_event->message;
+
+ index += uint16_encode(EVENT_RX, &(p_buf[index])); // Mesg ID
+ p_buf[index++] = p_message->ANT_MESSAGE_ucSize; // Mesg Size
+ memcpy(&(p_buf[index]), p_message->ANT_MESSAGE_aucPayload,p_message->ANT_MESSAGE_ucSize); // Payload
+ index += p_message->ANT_MESSAGE_ucSize;
+
+ *p_buf_len = index;
+
+ return NRF_SUCCESS;
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event_rx.h b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event_rx.h
new file mode 100644
index 0000000..72c346e
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_event_rx.h
@@ -0,0 +1,72 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+#ifndef __ANT_EVENT_RX_H__
+#define __ANT_EVENT_RX_H__
+
+#include <string.h>
+#include "ant_parameters.h"
+#include "nrf_sdh_ant.h"
+
+/**
+ * @addtogroup ser_conn_s212_codecs
+ * @{
+ * @ingroup ser_codecs_conn
+ */
+
+/**
+ * @brief Encodes ant_event_rx event.
+ *
+ * @param[in] p_event Pointer to the \ref ant_evt_t buffer that shall be encoded.
+ * @param[in] event_len Size (in bytes) of \p p_event buffer.
+ * @param[out] p_buf Pointer to the beginning of a buffer for encoded event packet.
+ * @param[in,out] p_buf_len \c in: Size (in bytes) of \p p_buf buffer.
+ * \c out: Length of encoded contents in \p p_buf.
+ *
+ * @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 ant_event_rx_enc(ant_evt_t const * const p_event,
+ uint32_t event_len,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len);
+
+/** @} */
+#endif
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_id_list_add.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_id_list_add.c
new file mode 100644
index 0000000..49314c6
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_id_list_add.c
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_id_list_add_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * * const pp_dev_id,
+ uint8_t * const p_list_index)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(*pp_dev_id);
+ SER_ASSERT_NOT_NULL(p_list_index);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_vector_dec(p_buf, packet_len, &index, *pp_dev_id, ANT_ID_SIZE);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_list_index);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+
+uint32_t ant_id_list_add_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_ID_LIST_ADD, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_id_list_config.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_id_list_config.c
new file mode 100644
index 0000000..d7f69ab
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_id_list_config.c
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_id_list_config_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_id_list_size,
+ uint8_t * const p_inc_exc_flag)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_id_list_size);
+ SER_ASSERT_NOT_NULL(p_inc_exc_flag);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_id_list_size);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_inc_exc_flag);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+
+uint32_t ant_id_list_config_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_ID_LIST_CONFIG, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_lib_config_clear.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_lib_config_clear.c
new file mode 100644
index 0000000..387828d
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_lib_config_clear.c
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_lib_config_clear_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_ant_lib_config)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_ant_lib_config);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_ant_lib_config);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_lib_config_clear_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_LIB_CONFIG_CLEAR, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_lib_config_get.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_lib_config_get.c
new file mode 100644
index 0000000..cdb0980
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_lib_config_get.c
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_lib_config_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t const * const p_ant_lib_config)
+{
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_buf_len);
+
+ uint32_t total_len = *p_buf_len;
+
+ uint32_t err_code = ser_ble_cmd_rsp_status_code_enc(SVC_ANT_LIB_CONFIG_GET, return_code,
+ p_buf, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ if (return_code != NRF_SUCCESS)
+ {
+ return NRF_SUCCESS;
+ }
+
+ err_code = uint8_t_enc(p_ant_lib_config, p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ return NRF_SUCCESS;
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_lib_config_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_lib_config_set.c
new file mode 100644
index 0000000..01748a0
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_lib_config_set.c
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_lib_config_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_ant_lib_config)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_ant_lib_config);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_ant_lib_config);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_lib_config_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_LIB_CONFIG_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_network_address_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_network_address_set.c
new file mode 100644
index 0000000..a81a556
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_network_address_set.c
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_network_address_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_network,
+ uint8_t * * const pp_network_key)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_network);
+ SER_ASSERT_NOT_NULL(*pp_network_key);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_network);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_vector_dec(p_buf, packet_len, &index, *pp_network_key, MESG_NETWORK_KEY_SIZE - MESG_CHANNEL_NUM_SIZE);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+
+uint32_t ant_network_address_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_NETWORK_KEY_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_prox_search_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_prox_search_set.c
new file mode 100644
index 0000000..5275843
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_prox_search_set.c
@@ -0,0 +1,83 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_prox_search_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_prox_threshold,
+ uint8_t * const p_custom_prox_threshold)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_prox_threshold);
+ SER_ASSERT_NOT_NULL(p_custom_prox_threshold);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_prox_threshold);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_custom_prox_threshold);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_prox_search_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_PROX_SEARCH_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_rx_scan_mode_start.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_rx_scan_mode_start.c
new file mode 100644
index 0000000..fde428c
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_rx_scan_mode_start.c
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_rx_scan_mode_start_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_sync_channel_packets_only)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_sync_channel_packets_only);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_sync_channel_packets_only);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_rx_scan_mode_start_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_RX_SCAN_MODE_START, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_search_channel_priority_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_search_channel_priority_set.c
new file mode 100644
index 0000000..9cf0ad7
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_search_channel_priority_set.c
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_search_channel_priority_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint8_t * const p_search_priority)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_search_priority);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_search_priority);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_search_channel_priority_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_SEARCH_CHANNEL_PRIORITY_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_search_waveform_set.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_search_waveform_set.c
new file mode 100644
index 0000000..b15df8a
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_search_waveform_set.c
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_search_waveform_set_req_dec(uint8_t const * const p_buf,
+ uint32_t packet_len,
+ uint8_t * const p_channel,
+ uint16_t * const p_waveform)
+{
+ uint32_t index = SER_CMD_DATA_POS;
+ uint32_t err_code;
+
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_channel);
+ SER_ASSERT_NOT_NULL(p_waveform);
+
+ err_code = uint8_t_dec(p_buf, packet_len, &index, p_channel);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ err_code = uint16_t_dec(p_buf, packet_len, &index, p_waveform);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ SER_ASSERT_LENGTH_EQ(index, packet_len);
+
+ return err_code;
+}
+
+uint32_t ant_search_waveform_set_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_SEARCH_WAVEFORM_SET, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_stack_reset.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_stack_reset.c
new file mode 100644
index 0000000..aaed2dd
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_stack_reset.c
@@ -0,0 +1,55 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_stack_reset_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len)
+{
+ uint32_t index = 0;
+
+ return op_status_enc(SVC_ANT_STACK_INIT, return_code, p_buf, p_buf_len, &index);
+}
diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_version_get.c b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_version_get.c
new file mode 100644
index 0000000..3caabcb
--- /dev/null
+++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/components/serialization/connectivity/codecs/ant/serializers/ant_version_get.c
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) 2017 - 2018, Nordic Semiconductor ASA
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form, except as embedded into a Nordic
+ * Semiconductor ASA integrated circuit in a product or a software update for
+ * such product, must reproduce the above copyright notice, this list of
+ * conditions and the following disclaimer in the documentation and/or other
+ * materials provided with the distribution.
+ *
+ * 3. Neither the name of Nordic Semiconductor ASA nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * 4. This software, with or without modification, must only be used with a
+ * Nordic Semiconductor ASA integrated circuit.
+ *
+ * 5. Any software provided in binary form under this license must not be reverse
+ * engineered, decompiled, modified and/or disassembled.
+ *
+ * THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include <string.h>
+#include "ant_conn.h"
+#include "ble_serialization.h"
+#include "cond_field_serialization.h"
+#include "ant_struct_serialization.h"
+#include "app_util.h"
+
+uint32_t ant_version_get_rsp_enc(uint32_t return_code,
+ uint8_t * const p_buf,
+ uint32_t * const p_buf_len,
+ uint8_t const * const p_version)
+{
+ SER_ASSERT_NOT_NULL(p_buf);
+ SER_ASSERT_NOT_NULL(p_buf_len);
+
+ uint32_t total_len = *p_buf_len;
+
+ uint32_t err_code = ser_ble_cmd_rsp_status_code_enc(SVC_ANT_VERSION, return_code,
+ p_buf, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ if (return_code != NRF_SUCCESS)
+ {
+ return NRF_SUCCESS;
+ }
+
+ err_code = uint8_vector_enc(p_version, MESG_BUFFER_SIZE, p_buf, total_len, p_buf_len);
+ SER_ASSERT(err_code == NRF_SUCCESS, err_code);
+
+ return NRF_SUCCESS;
+}