|
Embedded SDK
Embedded SDK
|
This documentation describes the different interfaces of NBGL, the library that is targeted to be integrated in Nano products (Nano X and Nano S+).
NBGL Engine is responsible for constructing screens and handling Buttons input.
NBGL Engine is a library to be integrated in SDK. It is intended to replace existing BAGL/FLOW Graphical Engine (used on Nano S product)

This is the most preferred API level to write an embedded Application.
The Predefined Application Use-cases API page contains all information necessary to understand and use NBGL Application Use cases API
The Predefined Step API page contains all information necessary to understand and use NBGL High-Level API, using predefined steps
The Complex objects layout API page contains all information necessary to understand and use NBGL Mid-Level API, using complex objects
The Advanced BOLOS GL API page contains all information necessary to understand and use NBGL Low-Level API
The Screens Stack and dynamic objects management page contains all information necessary to understand how NBGL manages the screens stack and the dynamically allocated objects
In order to reduce the footprint (RAM+Flash), some features are only activated if some building options are defined.
| Define | Meaning | Default state |
|---|---|---|
| NBGL_STEP | Activate High-Level API | Active in SDK, and in OS |
| NBGL_USE_CASE | Activate Use Case API | Active in SDK, not in OS |
| NBGL_KEYBOARD | Activate Keyboard object | Active in OS, not in SDK |
| NBGL_KEYPAD | Activate Keypad object | Active in OS, not in SDK |
| NBGL_QRCODE | Activate QRCode object | Active in OS, not in SDK |
Applications are free to define NBGL_KEYBOARD, NBGL_KEYPAD or NBGL_QRCODE in their own Makefile if they need to use these "rare" objects.