Unicode

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

Note

This is simple implementation and does not support string encoding.

group LWCELL_UNICODE

Unicode support manager.

Functions

lwcellr_t lwcelli_unicode_decode(lwcell_unicode_t *uni, uint8_t ch)

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

Parameters
  • s[inout] Pointer to unicode decode control structure

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

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

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

  • lwcellERR – Error in UTF-8 sequence

struct lwcell_unicode_t
#include <lwcell_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

lwcellr_t res

Current result of processing