Low-Level functions

Low-level module consists of callback-only functions, which are called by middleware and must be implemented by final application.

Tip

Check Porting guide for actual implementation

group LWGSM_LL

Low-level communication functions.

Typedefs

typedef size_t (*lwgsm_ll_send_fn)(const void *data, size_t len)

Function prototype for AT output data.

Return

Number of bytes sent

Parameters
  • [in] data: Pointer to data to send. This parameter can be set to NULL

  • [in] len: Number of bytes to send. This parameter can be set to 0 to indicate that internal buffer can be flushed to stream. This is implementation defined and feature might be ignored

typedef uint8_t (*lwgsm_ll_reset_fn)(uint8_t state)

Function prototype for hardware reset of GSM device.

Return

1 on successful action, 0 otherwise

Parameters
  • [in] state: State indicating reset. When set to 1, reset must be active (usually pin active low), or set to 0 when reset is cleared

Functions

lwgsmr_t lwgsm_ll_init(lwgsm_ll_t *ll)

Callback function called from initialization process.

Note

This function may be called multiple times if AT baudrate is changed from application. It is important that every configuration except AT baudrate is configured only once!

Note

This function may be called from different threads in GSM stack when using OS. When LWGSM_CFG_INPUT_USE_PROCESS is set to 1, this function may be called from user UART thread.

Return

lwgsmOK on success, member of lwgsmr_t enumeration otherwise

Parameters
  • [inout] ll: Pointer to lwgsm_ll_t structure to fill data for communication functions

lwgsmr_t lwgsm_ll_deinit(lwgsm_ll_t *ll)

Callback function to de-init low-level communication part.

Return

lwgsmOK on success, member of lwgsmr_t enumeration otherwise

Parameters
  • [inout] ll: Pointer to lwgsm_ll_t structure to fill data for communication functions

struct lwgsm_ll_t
#include <lwgsm_typedefs.h>

Low level user specific functions.

Public Members

lwgsm_ll_send_fn send_fn

Callback function to transmit data

lwgsm_ll_reset_fn reset_fn

Reset callback function

uint32_t baudrate

UART baudrate value

struct lwgsm_ll_t::[anonymous] uart

UART communication parameters