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 that are supported.

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)

  • 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. Only supported on ATM33xx

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 5.2 feature set

  • LE power control

  • CTE (Constant Tone Extension)

  • Periodic Advertisement/sync

  • PAwR (Periodic Advertising with Response)

  • AoA/AoD (Angle of Arrival/Angle of Departure)

  • No ISO LE audio support

CPD200 configured via CONFIG_ATMWSTK_CPD200=y config choice. Only supported on ATM34xx

In addition to peripheral, this supports central (initiate connection) and observer (scanner) functionality. This typically has these feature properties.

  • Up to 3 connectable advertisement sets

  • BLE 6.0 with channel sounding

  • LE power control

  • CTE (Constant Tone Extension)

  • Periodic Advertisement/sync

  • PAwR (Periodic Advertising with Response)

  • AoA (Angle of Arrival only; No Angle of Departure)

  • No ISO LE audio support

  • No BLE 6.0 Frame Space Update

  • No BLE 6.0 Monitoring Advertisers

Platform support for different BLE Stack variations

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 or CPD200 Stack.

ATM33xx

  • Fixed Wireless Stack only supports FULL. Also, additional flag -DFIXED_ATMWSTK=FULL needs to be added to DTS_EXTRA_CPPFLAGS. See West Build for further details.

  • Statically linkable library choice of PD50.

ATMx2xx

  • FULL Library with Bluetooth 5.0 is the only choice, and is on by default. No configurable choice here.

Note

  • Kconfig options that start with CONFIG_BT_CTLR_* apply to the Zephyr Link Controller which is not used in the Atmosic implementation. Therefore, these options do not apply to Atmosic platforms.

  • However, the host-side Bluetooth options, that are CONFIG_BT_* (excluding BT_CTLR_*) applies to the Atmosic implementation, and applications can make use of them as needed.