1. Introduction
1.1. Before You Start
Before you start you need to:
Install the latest e² studio v2025-01 or later
Download the latest SDK for the DA1459x platforms
These can be downloaded from the DA14592 product page or DA14594 product page.
Additionally, for this tutorial a DA14592 Pro Development kit or DA14594 Pro Development kit is required.
The key goals of this tutorial are to:
Provide a basic understanding of Adapters concept
Explain the different APIs and configurations of GPADC Adapters
Give a complete sample project demonstrating the usage of GPADC Adapters
Note
The example repository on Github contains multiple examples involving the GPADC adapter.
Note
DA1459x is referring to DA14592 and DA14594.
The below table presents the various members of the DA1459x product family and their supported features.
Features |
DA14592 |
DA14594 |
---|---|---|
RAM capacity |
96 kB |
96 kB |
eFlash capacity |
256 kB |
256 kB |
Bluetooth® LE 5.2 core features |
YES |
YES |
Bluetooth® LE 5.3 core features |
NO |
YES |
Advertising Extensions support |
NO |
YES |
Periodic Advertising support |
NO |
YES |
AoA/ AoD support |
NO |
YES |
Wireless Ranging (WiRa) support |
NO |
YES |
Up to 32 GPIOs |
YES |
YES |
Packages |
WLCSP39 and FCQFN52 |
WLCSP39 and FCQFN52 |
1.2. GPADC Adapters Introduction
This tutorial explains GPADC adapters and how to configure the DA1459x family of devices to perform analog-to-digital conversions. The GPADC adapter is an intermediate layer between the GPADC Low Level Drivers (LLDs) and a user application. It allows the user to utilize the GPADC interface in a simpler way than when using pure LLDs functions. The key features of GPADC adapters are:
Synchronous read/write operations block the calling freeRTOS task while the operation is performed using semaphores rather than relying on a polling loop approach. This means that while the hardware is busy transferring data, the operating system (OS) scheduler may select another task for execution, utilizing processor time more efficiently. When the transfer has finished, the calling task is released and resumes its execution.
A DMA channel can be used among various peripherals (for example, I²C, UART). Interconnected peripherals may use the same DMA channel if necessary. The adapter takes care of DMA channel resource management.
It ensures that only one device can occupy the GPADC controller after acquiring it.
Note
Adapters are not implemented as separate tasks and should be considered as an additional layer between the application and the LLDs. It is recommended to use adapters for accessing a hardware block.