The Sigfox Library is an abstraction layer. It connects your application software to the radio chipset, whether it is embedded in a Sigfox Ready module or it is in your own modem design.
The Sigfox Library performs the usual features of a communication protocol:
- packet formatting,
- local functions (esp. authentication, crypto and error check)
- and communication procedures
The Sigfox Library's core API is composed of base and optional features. The base features take care of the frame building and scheduling (in time and frequency). The optional features deal with Radio Configuration support, Downlink support, Secure Element support, etc.
To make the link between the Sigfox Library and the hardware components, there is a set of drivers, that performs 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 of each microcontroller)
- AES encryption feature, which performs authentication and/or encryption functions with or without support from an 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 Library and the radio, MCU chipsets and other hardware elements, whatever the communication channel is. They are developed and provided by the chipset vendor.