Embedded SDK
Embedded SDK
New BOLOS Graphic API for Stax/Flex

Introduction

This documentation describes the different interfaces of NBGL, the library that is targeted to be integrated in Stax or Flex product.

NBGL Engine is responsible for constructing screens and handling Touchscreen input.

Overall architecture

NBGL Engine is a library to be integrated in SDK. It is intended to replace existing BAGL/FLOW Graphical Engine (used on Nanos/Blue products)

Screen drawing APIs

Application Use-cases API

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

High-Level API

The Predefined pages API page contains all information necessary to understand and use NBGL High-Level API, using predefined pages

Mid-Level API

The Complex objects layout API page contains all information necessary to understand and use NBGL Mid-Level API, using complex objects

Low-Level API

The Advanced BOLOS GL API page contains all information necessary to understand and use NBGL Low-Level API

Screen and objects management

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

Touchscreen events management

The Touchscreen management page contains all information necessary to understand how NBGL manages the touchscreen events and how to receive and process these events.

Compilation options

In order to reduce the footprint (RAM+Flash), some features are only activated if some building options are defined.

Define Meaning Default state
NBGL_PAGE Activate High-Level API Active in SDK, not 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.