FreeRTOS Emulator with SDL2 Based Graphics and Input Library  1.0
A POSIX wrapper to run FreeRTOS on an x86 machine with some basic input and output libraries aimed at making teaching FreeRTOS simpler.
File List
Here is a list of all files with brief descriptions:
[detail level 1234]
  include
 async_message_queues.hBasic example functions on how to use the message queues in the AIO library
 async_sockets.hBasic example functions on how to use the sockets in the AIO library
 buttons.hA simple implementation of managing a global lookup table containins button press status information
 demo_tasks.hDemo tasks created to illustrate the emulator's functionalities
 draw.hExample draw functions for drawing user objects
 EmulatorConfig.hConfig file for the FreeRTOS Emulator
 FreeRTOSConfig.h
 main.h
 state_machine.hUtil functions for creating and running a basic state machine based off of the state machine implementation found in states.h
  lib
  AsyncIO
  include
 AsyncIO.hA single file asyncronous UNIX communications library to perform UDP, TCP and POSIX message queue communications
 AsyncIO.cA single file asyncronous UNIX communications library to perform UDP, TCP and POSIX message queue communications
  Gfx
  include
 gfx_ball.hAPI to create balls and walls that interact with each other on a 2D plane
 gfx_draw.h
 gfx_event.hUtilities required by other gfx_XXX files
 gfx_font.hManages fonts used in GFX Draw
 gfx_FreeRTOS_utils.hSmall verbose utilities for showing FreeRTOS functionality
 gfx_print.hA couple of drop in replacements for printf and fprintf to be used for thread safe printing when using FreeRTOS
 gfx_sound.hA simple interface to play wav files using the SDL2 Mixer library
 gfx_utils.hUtilities required by other gfx_XXX files
 gfx_ball.cAPI to create balls and walls that interact with each other on a 2D plane
 gfx_draw.cA SDL2 based library to implement work queue based drawing of graphical elements. Allows for drawing using SDL2 from multiple threads
 gfx_event.cUtilities required by other gfx_XXX files
 gfx_font.cManages fonts used in GFX Draw
 gfx_FreeRTOS_utils.cSmall verbose utilities for showing FreeRTOS functionality
 gfx_print.cA couple of drop in replacements for printf and fprintf to be used for thread safe printing when using FreeRTOS
 gfx_sound.cA simple interface to play wav files using the SDL2 Mixer library
 gfx_utils.cUtilities required by other gfx_XXX files
  LL
 ll.h
  StateMachine
  include
 states.hA basic state machine implementation
 states.c
  src
 async_message_queues.cBasic example functions on how to use the message queues in the AIO library
 async_sockets.cBasic example functions on how to use the sockets in the AIO library
 buttons.cA simple implementation of managing a global lookup table containins button press status information
 demo_tasks.cDemo tasks created to illustrate the emulator's functionalities
 draw.cExample draw functions for drawing user objects
 main.c
 state_machine.c