FreeRTOS: FreeRTOS Cellular Common Library
FreeRTOS Cellular Common Library
Porting cellular module

Introduction to cellular module porting

Cellular common library provides APIS and URC handler implemented with 3GPP v27.007 AT commands.
These APIs and URC handler can be reused when porting cellular module.
Reference the following pages for detail information.

Porting cellular module with cellular common portable with the following steps.

  1. Create a folder in modules with the following files.
    • modules/(module_name)/cellular_(module_name).c
    • modules/(module_name)/cellular_(module_name)_api.c
    • modules/(module_name)/cellular_(module_name)_urc_handler.c
    • modules/(module_name)/cellular_(module_name)_wrapper.c
  2. Implement cellular module porting interface cellular_common_portable.h in cellular_(module_name).c
    Reference cellular_module for detail information.
  3. Implement FreeRTOS Cellular Library API with cellular module specific AT commands in cellular_(module_name)_api.c
    Reference cellular_module_api for detail information.
  4. Implement URC handler to handle URC event and call the corresponding callback function in cellular_(module_name)_urc_handler.c
    Reference cellular_module_urc_handler for detail information.
  5. Create FreeRTOS Cellular Library APIs implemented with 3GPP TS v27.007 AT commands ( cellular_common_api.h ) in cellular_(module_name)_wrapper.c

Cellular module porting examples
Three cellular module portings can be referenced.
It is recommended that you start by cloning the implementation of one of the existing modems,
then make modifications where your modem's vendor-specific (non-3GPP) AT commands are different.