Release 3.2.0

Release Date: Unreleased

Key Features

Satellite Packet Sent Callback

With CONFIG_HUBBLE_SAT_NETWORK_PACKET_SENT_CB enabled, the SDK calls the application-defined hubble_sat_packet_sent_cb() after each successful satellite transmission, retransmissions included, with the packet, the transmitted frames, and the transmission’s position in the send call. The option is available on every port.

Platform and Board Support

  • Zephyr: bumped to Zephyr 4.5.0.

API Additions

  • hubble_sat_packet_sent_cb() — application-defined callback invoked after each successful satellite transmission

  • New challenge-response API in <hubble/challenge.h>, enabled with CONFIG_HUBBLE_CHALLENGE. hubble_challenge_get() builds a challenge from the device’s current EID in plain bytes and a nonce supplied by the application, so the peer can find the device key the same way it resolves an advertisement. hubble_challenge_response_check() checks the peer’s response, derived from the master key, the time counter and the challenge.

  • New hubble_deinit() reverts hubble_init(): the SDK forgets the key pointer, the Unix time and the initial counter value, releases the satellite radio port resources, and can be initialized again. It returns -EBUSY while those resources are in use. The sequence number and nonce reuse check keep their state across the cycle.

  • New port contract hubble_sat_port_deinit(), called by hubble_deinit(). Ports that implement the satellite radio contract must provide it.

API Changes

  • hubble_key_set() accepts NULL to clear the key instead of returning -EINVAL. APIs that need the key fail until a key is set again.