The Sigfox Protocol Library is an abstraction layer. It connects your application software to the radio chipset through the manufacturer's APIs.
The Sigfox Protocol Library performs the usual features of a communication protocol:
- packet formatting,
- local functions (especially authentication, cryptography and error checking),
- communication procedures.
The Sigfox Protocol Library's core API is composed of base and optional features. Base features take care of the frame building and scheduling (in time and frequency), while optional features deal with Radio Configuration support, Downlink support, Secure Element support, etc.
To make the link between the Sigfox Protocol Library and the hardware components, a set of drivers exists. They perform the following functions:
- BPSK modulation / GFSK demodulation, which is optimized for each radio chipset characteristics,
- Non-volatile memory management, which stores parameters and values,
- Memory Allocation (dependant on each microcontroller),
- AES encryption feature, which performs authentication and/or encryption functions with or without support, from a hardware AES block,
- Timer management,
- Secured memory management (to store the ID, Key, and PAC credentials).
The drivers are dependent on the radio chipset. They make the communication link between the microcontroller running the Sigfox Protocol Library and the radio, MCU chipsets and other hardware elements, whatever the communication channel is. They are developed and provided by the chipset vendor.
The Sigfox State Machine implements several procedures of the Sigfox radio protocol. It is embedded in the Sigfox Protocol Library and consists of five states. The transitions between the five states give you a flavor of the radio protocol behavior. As you can see, it's simple, really simple!
If your device uses a Sigfox Verified Modular Design or a Reference Design, the Sigfox Protocol Library is already embedded in it. Usually, a wrapper is added by the module manufacturer to comply with its own company's software requirements. When you want to transmit a message over the Sigfox network, you just have to prepare the content of your message and call a function. That's it!
If you plan to build your own design, you can contact Sigfox to get the latest Sigfox Protocol Library.
The Sigfox Protocol Library contains:
- the header files describing the function prototypes,
- the binary file compiled for the specific microcontroller target.
In addition to the Sigfox Protocol Library, Sigfox may provide device makers with additional software codes called Addons. For example, the Sigfox RF & Protocol Addon is an application which contains test modes. It has to be flashed into your device along with the Sigfox Protocol Library for the execution of the Sigfox RF & Protocol Test.
There are three ways to get the Sigfox Protocol Library, as depicted below:
The Sigfox Protocol Library is embedded in Sigfox Verified modular designs.
This solution is ‘plug and play’, since the Sigfox Protocol Library is integrated and validated with the manufacturer's API.
For all available references, check out the Sigfox Partner Network.
Most of our semiconductor partners deliver the Sigfox Protocol Library either online (included in an SDK) or directly flashed in their SoC (System on Chip).
In both cases and as in the first way above, the Sigfox Protocol Library is delivered with the manufacturer's API. However, unlike the first way, the RF and Protocol testing is mandatory when designing a device with a chip-on-board approach.
If none of the above fits your project, Sigfox proposes a ‘Library Integration Package’ service. You can buy it on a per-product basis from your Build dashboard.
The service includes:
- The complete Library Package: binary and header files,
- Interactive support sessions to help you integrate the Sigfox Protocol Library on your hardware.
With this approach, the Sigfox Protocol Library comes alone. The manufacturer's API implementation remains under your responsibility.
The Sigfox Protocol Library is released and maintained by Sigfox. This section describes all the changes released in each version (improvements, new features, and bug fixes).
Since the V2.2.2 release, the library can be customized to include only the features required by the Device Makers, which makes it possible to save space in the device's flash memory. All the possible combinations are defined in the table below, as well as in the release notes:
|RC1, RC3A, RC3C,
RC5, RC6, RC101
Additional table information:
- FDL stands for FH, DC, and LBT. The 3 possible spectrum accesses, depending on the RC.
- PNS stands for Payload Encrypted NOT Supported. By default, this feature is present in the Sigfox Library.
- MON stands for MONARCH feature.
- REP stands for REPEATER feature.
- SE stands for SECURE ELEMENT feature.
- UP_ONLY stands for Uplink Only Library. Downlink feature is not supported.
Latest release: Version 2.6.0 (14-Sep-2018).
- 2.5.0: 31-Jul-2018
- 2.4.0: 04-May-2018
- 2.3.1: 02-Mar-2018
- 2.3.0: 09-Feb-2018
- 2.2.3: 23-Janv-2018
- 2.2.2: 21-Nov-2017
- 2.2.1: 8-Nov-2017
- 2.2.0: 23-Oct-2017
- 2.1.0: 19-Sep-2017
- 2.0.2: 8-Aug-2017
- 2.0.1: 2-Aug-2017
- 2.0.0: 7-Jul-2017
- 1.9.3: 3-Jul-2017
- 1.9.2: 13-Jun-2017
- 1.9.1: 02-May-2017
- 1.9.0: 20-Mar-2017
- 1.8.9: 25-Oct-2016
- 1.8.8: 11-Oct-2016
- 1.8.7: 17-Mar-2016
- 1.8.6: 29-Jan-2016
- 1.8.5: 15-Dec-2015
- 1.8.4: 7-Dec-2015
- 1.8.3: 1-Dec-2015
- 1.8.2: 30-Nov-2015
- 1.6: 06-May-2015