![Nordic nRF8001 User Manual Download Page 8](http://html1.mh-extra.com/html/nordic/nrf8001/nrf8001_user-manual_1701546008.webp)
Page 8
nRF8001 Development Kit User Guide v2.0
When you have the setup you want, you can generate source files containing the setup code as #defines.
The files generated by nRFgo Studio are used by the application project examples in the SDK to configure
nRF8001 before use. This allows you to focus on the application code rather than spending time ensuring
the
Bluetooth
setup details are correct.
The GAP and GATT settings captured on the nRFgo studio are translated to nRF8001 Setup messages. These
messages are generated as #defines in the services.h and services_lock.h. Include one of these header files
in your build environment (services.h places the nRF8001 Setup in the RAM of the nRF8001 and
services_lock.h places the Setup in the NVRAM of the nRF8001). Once the Setup messages are in your build
environment you can send them over the SPI to the nRF8001 for configuration.
You can also conduct
Bluetooth
low energy tests and program the hardware from the
Bluetooth
menu in the
nRFgo Studio:
• Testing the RF PHY using Direct Test Mode.
Please see the nRFgo Studio's online help for detailed instructions.
4.2
SDK
The SDK contains source code for developing applications on the application processor (Arduino).
It includes working examples, and contains libraries that are portable to other microcontroller platforms.
The examples are written in C and can be programmed on to the Arduino using the Arduino IDE.
4.2.1
ACI modules
ACI is the interface for nRF8001. The SDK has two modules that handle the ACI communication. One handles
the physical transport and the other implements the protocol.
4.2.1.1
ACI library (lib_aci)
This library implements the ACI protocol and lets you send commands, and receive events. Please refer to
the nRF8001 Preliminary Product Specification for protocol details. The ACI library gives you:
• An API for ACI commands
• Decoding of ACI events
The ACI library does not have hardware dependencies, and can be used by any microcontroller with a C
compiler. The ACI library requires the ACI Transport Layer, described in the following section.
4.2.1.2
ACI transport layer (hal_aci_tl)
The ACI Transport Layer module is a Hardware Abstraction Layer (HAL) for the ACI physical transport. It
handles the SPI communication, and the hand-shake signals. Because of the hardware dependencies this
module must be ported to your target microcontroller.
4.2.1.3
Hardware dependencies
The dependencies are related to power down mode. The code for entering power down mode is hardware
dependent and must be ported when using a third-party application processor.