1. Abstract

This guide is intended to help customers setup the hardware development environment, install required software, download and run an example application on the DA1459x development platform.

Note

DA1459x is referring to DA14592 and DA14594.

The below table presents the various members of the DA1459x product family and their supported features.

Table 1 DA1459x comparison

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

2. Introduction

2.1. Before You Start

Before you start you need to:

  • Install the latest e2studio Studio

  • Download the latest SDK for the DA1459x platforms

These can be downloaded from the DA14592 product page. or the DA14594 product page.

Additionally, for this tutorial a DA14592 Pro Development kit or DA14594 Pro Development kit.

The key goals of this tutorial are to:

  • Provide a basic understanding of adapters concept

  • Explain the different APIs and configurations of I2C peripheral adapter

  • Give a complete sample project demonstrating the usage of I2C peripheral adapter

2.2. I2C Adapters Introduction

This tutorial explains I2C adapter and how to configure the DA1459x family of devices as an I2C master and slave device, though code demonstration example will only cover the I2C master mode. The I2C adapter is an intermediate layer between the I2C Low Level Drivers (LLDs) and a user application. It allows the user to utilize the I2C interface in a simpler way than when using APIs from LLDs. The key features of I2C adapter 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, I2C, UART). Interconnected peripherals may use the same DMA channel if necessary. The adapter takes care of DMA channel resource management.

  • The I2C adapter ensures that only one external I2C device is accessed on the specific GPIOs selected and uses the specific I2C controller block once all those resources are acquired through the resources management integrated in the Adapters layer.

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.