Unicode decoder block. It can decode sequence of UTF-8 characters, between 1 and 4 bytes long.


This is simple implementation and does not support string encoding.


Unicode support manager.


lwgsmr_t lwgsmi_unicode_decode(lwgsm_unicode_t *uni, uint8_t ch)

Decode single character for unicode (UTF-8 only) format.

  • s[inout] Pointer to unicode decode control structure

  • c[in] UTF-8 character sequence to test for device

Return values
  • lwgsmOK – Function succedded, there is a valid UTF-8 sequence

  • lwgsmINPROG – Function continues well but expects some more data to finish sequence

  • lwgsmERR – Error in UTF-8 sequence

struct lwgsm_unicode_t
#include <lwgsm_types.h>

Unicode support structure.

Public Members

uint8_t ch[4]

UTF-8 max characters

uint8_t t

Total expected length in UTF-8 sequence

uint8_t r

Remaining bytes in UTF-8 sequence

lwgsmr_t res

Current result of processing