The latest development version of this page may be more current than this released version.

Architecture

The SDK architecture is built on modularity and extensibility, accommodating a broad range of implementation requirements. The diagram below illustrates the role of the Hubble Device SDK within an embedded application:

Hubble Device SDK

Hubble Device SDK Architecture

The following sections summarize its primary components.

Service Modules

The Services Layer contains the core functionality of the SDK, including the satellite and BLE network modules. Applications interface with the SDK through these components, leveraging a high-level API that streamlines satellite and BLE communication.

Satellite Module

Provides APIs to transmit data to the Hubble Network. Because satellite communication relies on Hubble Network, this module assumes ownership of the target radio and possibly other devices when in use.

BLE Network Module

Offers APIs to generate Bluetooth® advertisement packets, enabling connections to the Hubble Bluetooth Low Energy (BLE) Network. This module uses the standard Bluetooth protocol and does not assume ownership of any hardware. The application is responsible for managing the Bluetooth stack.

Note

Hubble Network Inc. is a Bluetooth Member Company.

Port Layer

The Port Layer acts as an abstraction between the Service Modules and RTOS-specific implementations. It defines an API that simplifies porting the SDK to various RTOS environments beyond those natively supported.

The Project Organization page describes how these layers map onto the source tree, the naming conventions used throughout, and where new code should go.