/connectivity-utilities

This repository hosts general purpose connectivity middleware utilities such as linked_list, json_parser and other network helper libraries

Primary LanguageCOtherNOASSERTION

Introduction

The connectivity utilities library is a collection of general purpose middleware utilities. Several connectivity middleware libraries shall depend on this utilities library. Currently, the following utilities are included:

Features

JSON parser

The JSON format is often used for serializing and transmitting structured data over a network connection. It is used primarily to transmit data between a server and web application, serving as an alternative to XML. JSON is JavaScript Object Notation. The JSON parser utility library provides helper functions to parse JSON objects and calls the function registered by the caller.

Refer to the cy_json_parser.h for API documentation

Linked list

This is a generic linked list library with helper functions to add, insert, delete and find nodes in a list.

Refer to the cy_linked_list.h for API documentation

String utilities

The string utilities module is a collection of string conversion helpers to convert between integer and strings.

Refer to the cy_string_utils.h for API documentation

Network helpers

This is a collection of network helper functions to fetch IPv4 address of the local device, notify IPv4 address change via callback and conversion utilities.

Refer to the cy_nw_helper.h for API documentation

Logging functions

This module is a logging subsystem that allows run time control for the logging level. Log messages are passed back to the application for output. A time callback can be provided by the application for the timestamp for each output line. Log messages are mutex protected across threads so that log messages do not interrupt each other.

Refer to the cy_log.h for API documenmtation

Middleware Error codes

The utilities library includes a collection of middleware error codes for various middleware libraries such as AWS IoT, HTTP server, Enterprise security etc.

Refer to cy_result_mw.h for details

Supported platforms

This middleware library and its features are supported on following Infineon platforms:

Integration Notes

  • The connectivity utilities library has been designed to work with both the ARM mbed ecosystem and ModusToolbox™ environment.
  • It is adequate to include this library in the desired ecosystem to use these utilities. Depending on the ecosystem, the respective source files will get picked up and linked. This is accomplished using the COMPONENT_ model.
  • In order to ease integration of Wi-Fi connectivity components to code examples, this connectivity utilities library has been bundled into the Wi-Fi core Freertos lwIP mbedtls library. Similarly for Ethernet, this connectivity utilities library has been bundled into the Ethernet core Freertos lwIP mbedtls library
  • For mbed ecosystem, this library has to be included by the respective code examples.
  • NOTE: Refer to the COMPOMENT_ folders for implementation details pertinent to the ecosystem. For instance, certain network helper functions are not implemented on AnyCloud, and are leveraged from Wi-Fi Connection Manager

Additional Information