.. _application_interface: Application Interface #################################################### .. contents:: :local: :depth: 2 Overview ******** When building for the application core, this application uses the ''CONFIG_ANT_NP'' and ''CONFIG_ANT_INCLUDE_NP_CHILD_IMAGE'' Kconfig options to automatically configure a child image for multicore platforms. When building for the network core, this application uses the ''CONFIG_NCS_SAMPLE_EMPTY_APP_CORE_CHILD_IMAGE'' Kconfig option to automatically configure a child image for multicore platforms. This application is used to test the ANT interface APIs. Requirements ************ +--------------------+----------+---------------+--------------------------------------------------------+ | Hardware platforms | PCA | Board name | Board target | +--------------------+----------+---------------+--------------------------------------------------------+ | nRF5340 DK | PCA10095 | nrf5340dk | nrf5340dk/nrf5340/cpuapp or nrf5340dk/nrf5340/cpunet | +--------------------+----------+---------------+--------------------------------------------------------+ | nRF52840 DK | PCA10056 | nrf52840dk | nrf52840dk/nrf52840 | +--------------------+----------+---------------+--------------------------------------------------------+ | nRF52 DK | PCA10040 | nrf52dk | nrf52dk/nrf52832 | +--------------------+----------+---------------+--------------------------------------------------------+ Configuration ************* nRF5340 configuration files =========================== Application Core ---------------- This application configuration is split into the following two files: * generic configuration (cpuapp) is available in the **prj.conf** file. * configuration for the ant_rpc child image (cpunet) is stored in the **child_image** subdirectory. Network Core ------------ This application configuration is in one file: * generic configuration (cpunet) is available in the **prj_cpunet.conf** file. Building and Running ******************** This application can be found in the **technology/wireless/ant-test-apps/nrf-connect-platform** repository on branch **master**. Application Core ================ Certain tests are disabled on the application core due to the fact that some specific APIs are not implemented in ANT RPC. To run **all** tests please see **Network Core** below. 1. To build for the application core, select the build target as **nrf5340dk/nrf5340/cpuapp** and select the **prj.conf** as the configuration file. 2. Program the application to your development kit. 3. Check the application core virtual COM port of the nRF DK for logging output. Network Core ============ 1. To build for the network core, select the build target as **nrf5340dk/nrf5340/cpunet** and select the **prj_cpunet.conf** as the configuration file. 2. Program the application to your development kit. 3. Check the network core virtual COM port of the nRF DK for logging output. Output ====== .. parsed-literal:: :class: highlight [00:00:00.436,981] application_interface: ANT Version BNQ0.01.01 [00:00:01.437,103] unitTestFramework: ********************************************************************* [00:00:01.437,164] unitTestFramework: Ch Start Offset [00:00:01.437,164] unitTestFramework: ********************************************************************* [00:00:01.437,194] unitTestFramework: [00:00:03.437,347] unitTestFramework: ************************************************** [00:00:03.437,377] unitTestFramework: Start test - Ch Start Offset : Capabilities [00:00:04.437,805] interfaceChStartOffset: SUCCESS - Line:0071 File:../src/tests/interfaceChStartOffset.c -- ASSERT: 0x0 = 0x0 [00:00:04.437,835] interfaceChStartOffset: SUCCESS - Line:0073 File:../src/tests/interfaceChStartOffset.c -- ASSERT: 0x1 = 0x1 [00:00:05.437,927] unitTestFramework: End test - Ch Start Offset : Capabilities [00:00:05.437,957] unitTestFramework: ************************************************** Available Tests =============== These are the currently available tests: All --- - ch start offset test Network Core Only ----------------- - scalable chennels test - dynamic scalable channels test Internal Library Headers ************************ To run some tests we require access to internal ANT library APIs which are obfuscated and not available to the general public in NCS. These internal functions are defined in the internal headers in **inc_lib_internal**. Internal APIs currently used: - get_ant_struct - ant_crypto_key_set These internal functions are defined in the internal version of ant_interface.h. The current strategy is to copy the public ant_interface.h in NCS into inc_lib_internal, then copy any needed internal functions from the internal version of ant_interface.h into the copied over public version. This is to reduce the overhead which comes with the internal ant_interface.h. The internal headers can be found in **technology/wireless/ant-protocol-stack/nrf-connect**. Public ant_interface.h: - From ANT release 0.2.0. Internal APIs and headers: - From **technology/wireless/ant-protocol-stack/nrf-connect** master, revision **88fa1a14d401ceea38f025a04864bb8f285c4473**.