/*
    ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
                 2011 Giovanni Di Sirio.
    This file is part of ChibiOS/RT.
    ChibiOS/RT is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
    ChibiOS/RT is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see .
*/
/**
 * @defgroup various Various
 * @brief Utilities Library.
 * @details This is a collection of useful library code that is not part of
 * the base kernel services.
 * 
Notes
 * The library code does not follow the same naming convention of the
 * system APIs in order to make very clear that it is not "core" code.
 * The main difference is that library code is not formally  tested in the
 * test suite but through usage in the various demo applications.
 */
/**
 * @defgroup cpp_library C++ Wrapper
 * @brief C++ wrapper module.
 * @details This module allows to use the ChibiOS/RT functionalities
 * from C++ as classes and objects rather the traditional "C" APIs.
 *
 * @ingroup various
 */
/**
 * @defgroup memory_streams Memory Streams
 * @brief Memory Streams.
 * @details This module allows to use a memory area (RAM or ROM) using a
 * @ref data_streams interface.
 *
 * @ingroup various
 */
/**
 * @defgroup event_timer Periodic Events Timer
 * @brief Periodic Event Timer.
 * @details This timer generates an event at regular intervals. The
 * listening threads can use the event to perform time related activities.
 * Multiple threads can listen to the same timer.
 *
 * @ingroup various
 */
/**
 * @defgroup SHELL Command Shell
 * @brief Small extendible command line shell.
 * @details This module implements a generic extendible command line interface.
 * The CLI just requires an I/O channel (@p BaseChannel), more commands can be
 * added to the shell using the configuration structure.
 *
 * @ingroup various
 */