*** INTRODUCTION ***

This distribution currently contains demos from the FreeRTOS task pool library,
MQTT library, HTTPS Client library, Shadow library, and Jobs library.

The pre-configured projects use the FreeRTOS kernel Windows port (often
called the Windows simulator) to enable their evaluation using the free Visual
Studio tools and without needing specific microcontroller hardware.

NOTE: At this time the projects ARE A WORK IN PROGRESS and will be released in
the main FreeRTOS kernel download following full review and completion of the
documentation.


*** INSTRUCTIONS ***

Instructions for configuring and using the FreeRTOS IoT libraries are in the
following links:

  + https://www.FreeRTOS.org/task-pool/
  + https://www.FreeRTOS.org/mqtt/
  + https://www.freertos.org/https/
  + https://www.FreeRTOS.org/shadow/
  + https://www.FreeRTOS.org/jobs/


*** LOCATING THE EXAMPLE PROJECTS ***

The Visual Studio projects for each of the FreeRTOS IoT library examples are
located in sub-directories of the following top-level directories:

  + /FreeRTOS-Labs/Demo/FreeRTOS_IoT_Libraries/utilities
  + /FreeRTOS-Labs/Demo/FreeRTOS_IoT_Libraries/mqtt
  + /FreeRTOS-Labs/Demo/FreeRTOS_IoT_Libraries/https
  + /FreeRTOS-Labs/Demo/FreeRTOS_IoT_Libraries/shadow
  + /FreeRTOS-Labs/Demo/FreeRTOS_IoT_Libraries/jobs


*** ADDITIONAL INFORMATION ***

See http://www.freertos.org/a00017.html for full details of the FreeRTOS
directory structure

See also -
http://www.freertos.org/FreeRTOS-quick-start-guide.html
http://www.freertos.org/FAQHelp.html
