Configuration Reference
The configuration options below are derived from the Zephyr Kconfig definitions but represent the full set of tunable parameters for the Hubble Network SDK. The same options apply to all supported ports — Zephyr, FreeRTOS, ESP-IDF, bare-metal, and other RTOSes — though the mechanism for setting them varies by platform.
On Zephyr, set these in your application’s prj.conf file. On other
platforms, define the equivalent CONFIG_ macros in your build system or
project header.
Counter source
Choice — select one of:
Selects how the SDK computes the time counter used for EID rotation and key derivation.
CONFIG_HUBBLE_EID_ROTATION_PERIOD_SEC
EID rotation period in seconds
- Type:
int
- Default:
86400
- Range:
86400 to 86400
Period in seconds between EID (Ephemeral Identifier) rotations. Each rotation derives new encryption keys and a new BLE address for privacy. Currently locked to 86400 (24 hours) for backend compatibility. Future versions may support shorter periods.
CONFIG_HUBBLE_SAT_NETWORK
Hubble Satellite Network Library [PRE-PRODUCTION]
- Type:
bool
Enable the satellite communication module. This feature is in pre-production. APIs and behavior may change in future releases. Not recommended for production deployments.
CONFIG_HUBBLE_SAT_NETWORK_SMALL
Use smaller code size for fly-by calculation
- Type:
bool
- Depends on:
HUBBLE_SAT_NETWORK
Use polynomial approximations for trigonometric functions in satellite pass prediction code. Reduces code size at the cost of reduced numerical accuracy in pass window calculations. Suitable for constrained devices where code size is critical.
CONFIG_HUBBLE_SAT_NETWORK_DEVICE_TDR
Device time drift retry rate in PPM
- Type:
int
- Default:
500
- Depends on:
HUBBLE_SAT_NETWORK
Compensates for clock drift by adding retransmission retries proportional to time elapsed since the last time sync. Value is in parts per million (PPM). Higher values add more retries for the same drift, increasing reliability but also power consumption. Default of 500 PPM is suitable for typical crystal oscillators.
Hubble Sat Network protocol
Choice — select one of:
Select the satellite communication protocol version. The protocol determines packet framing and channel hopping behavior during transmissions.
CONFIG_HUBBLE_BLE_NETWORK
Hubble BLE Network Library
- Type:
bool
Enable the BLE advertisement module.
Hubble Network key size
Choice — select one of:
Select the master key size for AES encryption and CMAC authentication. Sets the derived symbol CONFIG_HUBBLE_KEY_SIZE used throughout the crypto layer for buffer sizing and key operations.
CONFIG_HUBBLE_NETWORK_SECURITY_ENFORCE_NONCE_CHECK
Enforce check in nonce used in cryptography
- Type:
bool
- Default:
y
- Depends on:
HUBBLE_BLE_NETWORK || HUBBLE_SAT_NETWORK
Validates that the encryption nonce is unique before encrypting. Prevents nonce reuse, which would compromise AES-CTR confidentiality. Enabled by default. Disabling removes the runtime check but risks catastrophic security failure if nonces are ever repeated. Only disable for testing or when the application guarantees uniqueness by other means.
CONFIG_HUBBLE_NETWORK_SEQUENCE_NONCE_CUSTOM
Application-defined sequence counter
- Type:
bool
- Depends on:
HUBBLE_BLE_NETWORK || HUBBLE_SAT_NETWORK
Override the default auto-incrementing sequence counter with an application-provided implementation. Useful for deterministic testing or persisting counters across reboots.
CONFIG_HUBBLE_UPTIME_CUSTOM
Application-defined uptime implementation
- Type:
bool
- Depends on:
HUBBLE_BLE_NETWORK || HUBBLE_SAT_NETWORK
Override the default platform uptime function with an application-provided implementation. Primarily useful for unit testing where controlled time values are needed to verify time-dependent behavior.
Hubble Network crypto provider
Choice — select one of:
Select the cryptographic backend for AES-CTR encryption and CMAC authentication.