git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1340 35acf78f-673a-0410-8e92-d51de3d6d3f4

master
gdisirio 2009-11-29 08:05:56 +00:00
parent 2f43c85736
commit bd50dd0650
9 changed files with 94 additions and 34 deletions

View File

@ -586,13 +586,15 @@ INPUT = ../docs/src \
../os/ports/GCC/ARMCM3/crt0.s \
../os/ports/GCC/MSP430 \
../os/ports/GCC/AVR \
../os/io \
../os/io/templates \
../os/io/platforms/AT91SAM7 \
../os/io/platforms/AVR \
../os/io/platforms/LPC214x \
../os/io/platforms/MSP430 \
../os/io/platforms/STM32 \
../os/hal \
../os/hal/include \
../os/hal/src \
../os/hal/templates \
../os/hal/platforms/AT91SAM7 \
../os/hal/platforms/AVR \
../os/hal/platforms/LPC214x \
../os/hal/platforms/MSP430 \
../os/hal/platforms/STM32 \
../os/various \
../test
@ -650,7 +652,7 @@ RECURSIVE = NO
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE = ../os/io/platforms/STM32/stm32f10x.h
EXCLUDE = ../os/hal/platforms/STM32/stm32f10x.h
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix filesystem feature) are excluded

View File

@ -18,13 +18,11 @@
*/
/**
* @defgroup IO I/O
* @brief I/O related services.
* @details This section contains the I/O related services.
*
* The I/O subsystem is a collection of device driver portable interfaces and
* platform dependent implementations.<br>
* Under ChibiOS/RT a device driver is split in two layers:
* @defgroup IO HAL
* @brief Hardware Abstraction Layer.
* @details Under ChibiOS/RT the set of the various device driver interfaces
* is called the HAL subsystem: Hardware Abstraction Layer.<br>
* A device driver is usually split in two layers:
* - High Level Device Driver (<b>HLD</b>). This layer contains the definitions
* of the driver's APIs and the platform independent part of the driver.<br>
* An HLD is composed by two files:
@ -41,21 +39,50 @@
* - @<driver@>_lld.h, the high level header file. This file is implicitly
* included by the HLD header file.
* .
* The LLD may be not present in those drivers that do not access the
* hardware directly but through other device drivers, as example the
* @ref MMC_SPI driver uses the @ref SPI and @ref PAL drivers in order
* to implement its functionalities.
* .
* <h2>Available Device Drivers</h2>
* The I/O subsystem currently includes support for:
* - @ref HAL.
* - @ref PAL.
* - @ref SERIAL.
* - @ref SPI.
* - @ref ADC.
* - @ref CAN.
* - @ref MAC.
* - @ref MII.
* - @ref MMC_SPI.
* - @ref SPI.
* .
*/
/**
* @defgroup PAL Ports Abstraction Layer (PAL)
* @defgroup HAL HAL Driver
* @brief Hardware Abstraction Layer.
* @details The HAL driver performs the system initialization and includes
* the platform support code shared by the other drivers.
*
* @ingroup IO
*/
/**
* @defgroup HAL_LLD HAL Low Level Driver
* @brief @ref HAL low level driver template.
*
* @ingroup HAL
*/
/**
* @defgroup HAL_CONF Configuration
* @brief @ref HAL Configuration.
*
* @ingroup HAL
*/
/**
* @defgroup PAL PAL Driver
* @brief I/O Ports Abstraction Layer
* @details This module defines an abstract interface for digital I/O ports.
* Note that most I/O ports functions are just macros. The macros
@ -191,20 +218,26 @@
* @dot
digraph example {
rankdir="LR";
node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.75", height="0.75"];
node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.8", height="0.8"];
edge [fontname=Helvetica, fontsize=8];
uninit [label="ADC_UNINIT", style="bold"];
stop [label="ADC_STOP\nLow Power"];
ready [label="ADC_READY\nClock Enabled"];
running [label="ADC_RUNNING\nConverting"];
running [label="ADC_RUNNING"];
complete [label="ADC_COMPLETE"];
uninit -> stop [label="adcObjectInit()"];
stop -> ready [label="adcStart()"];
ready -> ready [label="adcStart()"];
ready -> ready [label="adcWaitConversion()"];
ready -> stop [label="adcStop()"];
stop -> stop [label="adcStop()"];
ready -> running [label="adcStartConversion()"];
running -> ready [label="adcStopConversion()"];
running -> ready [label="End of Conversion"];
running -> complete [label="End of Conversion"];
complete -> running [label="adcStartConversion()"];
complete -> ready [label="adcStopConversion()"];
complete -> ready [label="adcWaitConversion()"];
complete -> stop [label="adcStop()"];
}
* @enddot
*
@ -223,6 +256,29 @@
* @ingroup ADC
*/
/**
* @defgroup CAN CAN Driver
* @brief Generic ADC Driver.
* @details This module implements a generic ADC driver. The driver implements
* a state machine internally:
* @dot
digraph example {
rankdir="LR";
node [shape=circle, fontname=Helvetica, fontsize=8, fixedsize="true", width="0.8", height="0.8"];
edge [fontname=Helvetica, fontsize=8];
}
* @enddot
*
* @ingroup IO
*/
/**
* @defgroup CAN_LLD CAN Low Level Driver
* @brief @ref HAL low level driver template.
*
* @ingroup CAN
*/
/**
* @defgroup MAC MAC Driver
* @brief Generic MAC driver.

View File

@ -18,9 +18,9 @@
*/
/**
* @file templates/can_lld.c
* @brief CAN Driver subsystem low level driver source template
* @addtogroup CAN_LLD
* @file STM32/can_lld.c
* @brief STM32 CAN subsystem low level driver source
* @addtogroup STM32_CAN
* @{
*/

View File

@ -18,9 +18,9 @@
*/
/**
* @file templates/can_lld.h
* @brief CAN Driver subsystem low level driver header template
* @addtogroup CAN_LLD
* @file STM32/can_lld.h
* @brief STM32 CAN subsystem low level driver header
* @addtogroup STM32_CAN
* @{
*/

View File

@ -18,9 +18,9 @@
*/
/**
* @file templates/hal_lld.c
* @brief HAL Driver subsystem low level driver source template
* @addtogroup HAL_LLD
* @file STM32/hal_lld.c
* @brief STM32 HAL subsystem low level driver source
* @addtogroup STM32_HAL
* @{
*/

View File

@ -18,9 +18,9 @@
*/
/**
* @file templates/hal_lld.h
* @brief HAL subsystem low level driver header template
* @addtogroup HAL_LLD
* @file STM32/hal_lld.h
* @brief STM32 HAL subsystem low level driver header
* @addtogroup STM32_HAL
* @{
*/

View File

@ -1 +1 @@
ChibiOS/RT portable HAL code
ChibiOS/RT HAL code

View File

@ -56,3 +56,5 @@ void halInit(void) {
mmcInit();
#endif
}
/** @} */

View File

@ -20,7 +20,7 @@
/**
* @file templates/halconf.h
* @brief HAL configuration header.
* @addtogroup HAL
* @addtogroup HAL_CONF
* @{
*/