.. _atmosic_ble_stack: Atmosic BLE Stack ################# Bluetooth has a Host Layer and Link Layer, and these layers interface via BLE standard HCI interface. Host layer support is provided by using Zephyr Open Source software. The Link Layer is also called as BLE Controller, is provided by Atmosic software. The Link Layer software comes in a few flavors, with varying capabilities and sizes, thus offering applications choice of utilizing according to their needs and memory savings. Additionally, Link Layer software can be utilised as a Fixed Wireless Stack or as a Statically Linked Library. Fixed Wireless Stack is programmed into a fixed address in memory during manufacturing production time, and is not field upgradable. Statically linkable library is linked along with application, and offers DFU upgrade capability. By utilizing Fixed Wireless Stack, the memory footprint required for staging the secondary upgrade application image sizing needs are less, thus offering a mechanism to save some space in space constrained environments. Here are a few variants of the BLE Link Controller Software we support. ------------------------------------------------------- PD50 configured via CONFIG_ATMWSTK_PD50=y config choice ------------------------------------------------------- Peripheral Device only configuration, that does not have a Central, Observer (scanner), Advertiser capability. This typically has these feature properties. * Up to 3 connectable advertisement sets * BLE 6.0 with channel sounding on ATM34xx; (ATM33xx BLE 5.2; ATMx2xx BLE 5.0) * No LE Power Control * No ISO LE audio support * No Periodic Advertisement/sync * No support for CTE * No AoA/AoD ------------------------------------------------------------- Full stack configured via CONFIG_ATMWSTK_FULL=y config choice ------------------------------------------------------------- In addition to peripheral, this supports central (initiate connection) and observer (scanner) functionality. This typically has these feature properties. * Up to 6 connectable advertisement sets * BLE 6.0 with channel sounding on ATM34xx; (ATM33xx BLE 5.2; ATMx2xx BLE 5.0) * Full BLE feature set including LE power control, CTE, ISO (LE Audio), Periodic Advertisement/sync, AoA/AoD ------------------------------------------------------------ CPD200 configured via CONFIG_ATMWSTK_CPD200=y config choice ------------------------------------------------------------ Same as Full stack, but without ISO/CIS/BIS and PAwR (Periodic Advertising with Response) support. Only supported on ATM34xx. Each platform supports only a selected set of variations: ATM34xx - No Fixed Wireless Stack option. Only statically linkable library, with options to choose from among PD50, CPD200 or FULL Stack ATM33xx - Fixed Wireless Stack choices of PD50 or FULL, enabled via ``CONFIG_USE_ATMWSTK=y``. Also, additional flags like ``-DATMWSTK=`` needs to be added to ``DTS_EXTRA_CPPFLAGS``. See :ref:`West Build ` for further details. Static linkable library choice of PD50 ATMx2xx - FULL Library is the only choice, and is on by default. No configurable choice here. .. note:: * Kconfig options that start with ``CONFIG_BT_CTLR_*`` applies to Zephyr Link Controller that we do not use in Atmosic implementation, therefore, these options do not apply to Atmosic platforms. * However, the host side BT options, that are ``CONFIG_BT_*`` (without the BT_CTLR_*) applies to us, and applications can make use of them as needed.