/*
    ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
                 2011,2012 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 <http://www.gnu.org/licenses/>.
*/

/**
 * @defgroup various Various
 *
 * @brief   Utilities Library.
 * @details This is a collection of useful library code that is not part of
 *          the base kernel services.
 * <h2>Notes</h2>
 * 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.<br>
 * 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
 */

/**
 * @defgroup chrtclib RTC time conversion utilities
 *
 * @brief   RTC time conversion utilities.
 *
 * @ingroup various
 */

/**
 * @defgroup chprintf System formatted print
 *
 * @brief   System formatted print service.
 * @details This module implements printf()-like function able to send data
 *          to any module implementing a @p BaseSequentialStream interface.
 *
 * @ingroup various
 */
