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=FULLneeds to be added toDTS_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_*(excludingBT_CTLR_*) applies to the Atmosic implementation, and applications can make use of them as needed.