From 3588ac33a33bb10d22cd6a30ab22ea28514943a0 Mon Sep 17 00:00:00 2001 From: roccomarco Date: Sat, 1 Jul 2017 18:45:25 +0000 Subject: Improved ChibiOS\EX documentation (Still uncomplete) git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10274 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/ex/Micron/m25q.c | 3 ++- os/ex/Micron/m25q.h | 3 ++- os/ex/ST/hts221.c | 3 ++- os/ex/ST/hts221.h | 3 +++ os/ex/ST/l3gd20.c | 3 ++- os/ex/ST/l3gd20.h | 2 ++ os/ex/ST/lis302dl.c | 3 ++- os/ex/ST/lis302dl.h | 2 ++ os/ex/ST/lis3dsh.c | 3 ++- os/ex/ST/lis3dsh.h | 2 ++ os/ex/ST/lis3mdl.c | 3 ++- os/ex/ST/lis3mdl.h | 2 ++ os/ex/ST/lps25h.c | 3 ++- os/ex/ST/lps25h.h | 2 ++ os/ex/ST/lsm303dlhc.c | 3 ++- os/ex/ST/lsm303dlhc.h | 2 ++ os/ex/ST/lsm6ds0.c | 3 ++- os/ex/ST/lsm6ds0.h | 2 ++ os/ex/dox/gyro.dox | 38 ++++++++++++++++++++++++++++++ os/ex/dox/hal.dox | 34 +++++++++++++++++++++++++++ os/ex/dox/main.dox | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++ 21 files changed, 174 insertions(+), 10 deletions(-) create mode 100644 os/ex/dox/gyro.dox create mode 100644 os/ex/dox/hal.dox create mode 100644 os/ex/dox/main.dox (limited to 'os/ex') diff --git a/os/ex/Micron/m25q.c b/os/ex/Micron/m25q.c index 3d6de626d..61d102c93 100644 --- a/os/ex/Micron/m25q.c +++ b/os/ex/Micron/m25q.c @@ -21,7 +21,8 @@ * @file m25q.c * @brief Micron serial flash driver code. * - * @addtogroup m25q + * @addtogroup M25Q + * @ingroup EX_MICRON * @{ */ diff --git a/os/ex/Micron/m25q.h b/os/ex/Micron/m25q.h index 87f6981a4..574c1e3d8 100644 --- a/os/ex/Micron/m25q.h +++ b/os/ex/Micron/m25q.h @@ -21,7 +21,8 @@ * @file m25q.h * @brief Micron serial flash driver header. * - * @addtogroup m25q + * @addtogroup M25Q + * @ingroup EX_MICRON * @{ */ diff --git a/os/ex/ST/hts221.c b/os/ex/ST/hts221.c index e06be6576..69ca9da56 100644 --- a/os/ex/ST/hts221.c +++ b/os/ex/ST/hts221.c @@ -22,7 +22,8 @@ * @file hts221.c * @brief HTS221 MEMS interface module code. * - * @addtogroup hts221 + * @addtogroup HTS221 + * @ingroup EX_ST * @{ */ diff --git a/os/ex/ST/hts221.h b/os/ex/ST/hts221.h index 8662b1751..8b9318506 100644 --- a/os/ex/ST/hts221.h +++ b/os/ex/ST/hts221.h @@ -22,6 +22,9 @@ * @file hts221.h * @brief HTS221 MEMS interface module header. * + * + * @addtogroup HTS221 + * @ingroup EX_ST * @{ */ #ifndef _HTS221_H_ diff --git a/os/ex/ST/l3gd20.c b/os/ex/ST/l3gd20.c index 58e3c5f54..f9c645c4e 100644 --- a/os/ex/ST/l3gd20.c +++ b/os/ex/ST/l3gd20.c @@ -22,7 +22,8 @@ * @file l3gd20.c * @brief L3GD20 MEMS interface module code. * - * @addtogroup l3gd20 + * @addtogroup L3GD20 + * @ingroup EX_ST * @{ */ diff --git a/os/ex/ST/l3gd20.h b/os/ex/ST/l3gd20.h index d658aef0c..968921e73 100644 --- a/os/ex/ST/l3gd20.h +++ b/os/ex/ST/l3gd20.h @@ -22,6 +22,8 @@ * @file l3gd20.h * @brief L3GD20 MEMS interface module header. * + * @addtogroup L3GD20 + * @ingroup EX_ST * @{ */ #ifndef _L3GD20_H_ diff --git a/os/ex/ST/lis302dl.c b/os/ex/ST/lis302dl.c index 59d31d006..87b19ee62 100644 --- a/os/ex/ST/lis302dl.c +++ b/os/ex/ST/lis302dl.c @@ -22,7 +22,8 @@ * @file lis302dl.c * @brief LIS302DL MEMS interface module code. * - * @addtogroup lis302dl + * @addtogroup LIS302DL + * @ingroup EX_ST * @{ */ diff --git a/os/ex/ST/lis302dl.h b/os/ex/ST/lis302dl.h index 4b11dbef5..bad466fd7 100644 --- a/os/ex/ST/lis302dl.h +++ b/os/ex/ST/lis302dl.h @@ -22,6 +22,8 @@ * @file lis302dl.h * @brief LIS302DL MEMS interface module header. * + * @addtogroup LIS302DL + * @ingroup EX_ST * @{ */ diff --git a/os/ex/ST/lis3dsh.c b/os/ex/ST/lis3dsh.c index b8d98bbf8..61039987e 100644 --- a/os/ex/ST/lis3dsh.c +++ b/os/ex/ST/lis3dsh.c @@ -22,7 +22,8 @@ * @file lis3dsh.c * @brief LIS3DSH MEMS interface module code. * - * @addtogroup lis3dsh + * @addtogroup LIS3DSH + * @ingroup EX_ST * @{ */ diff --git a/os/ex/ST/lis3dsh.h b/os/ex/ST/lis3dsh.h index 22a18f4a7..ee7a3043c 100644 --- a/os/ex/ST/lis3dsh.h +++ b/os/ex/ST/lis3dsh.h @@ -22,6 +22,8 @@ * @file lis3dsh.h * @brief LIS3DSH MEMS interface module header. * + * @addtogroup LIS3DSH + * @ingroup EX_ST * @{ */ diff --git a/os/ex/ST/lis3mdl.c b/os/ex/ST/lis3mdl.c index 1e6db51ad..07583827d 100644 --- a/os/ex/ST/lis3mdl.c +++ b/os/ex/ST/lis3mdl.c @@ -22,7 +22,8 @@ * @file lis3mdl.c * @brief LIS3MDL MEMS interface module code. * - * @addtogroup lis3mdl + * @addtogroup LIS3MDL + * @ingroup EX_ST * @{ */ diff --git a/os/ex/ST/lis3mdl.h b/os/ex/ST/lis3mdl.h index f4cfd9beb..b82e7adf5 100644 --- a/os/ex/ST/lis3mdl.h +++ b/os/ex/ST/lis3mdl.h @@ -22,6 +22,8 @@ * @file lis3mdl.h * @brief LIS3MDL MEMS interface module header. * + * @addtogroup LIS3MDL + * @ingroup EX_ST * @{ */ #ifndef _LIS3MDL_H_ diff --git a/os/ex/ST/lps25h.c b/os/ex/ST/lps25h.c index b038d1c26..8af5f6e01 100644 --- a/os/ex/ST/lps25h.c +++ b/os/ex/ST/lps25h.c @@ -22,7 +22,8 @@ * @file lps25h.c * @brief LPS25H MEMS interface module code. * - * @addtogroup lps25h + * @addtogroup LPS25H + * @ingroup EX_ST * @{ */ diff --git a/os/ex/ST/lps25h.h b/os/ex/ST/lps25h.h index 085b9228d..657a05427 100644 --- a/os/ex/ST/lps25h.h +++ b/os/ex/ST/lps25h.h @@ -22,6 +22,8 @@ * @file lps25h.h * @brief LPS25H MEMS interface module header. * + * @addtogroup LPS25H + * @ingroup EX_ST * @{ */ #ifndef _LPS25H_H_ diff --git a/os/ex/ST/lsm303dlhc.c b/os/ex/ST/lsm303dlhc.c index 3401569e9..207977321 100644 --- a/os/ex/ST/lsm303dlhc.c +++ b/os/ex/ST/lsm303dlhc.c @@ -22,7 +22,8 @@ * @file lsm303dlhc.c * @brief LSM303DLHC MEMS interface module code. * - * @addtogroup lsm303dlhc + * @addtogroup LSM303DLHC + * @ingroup EX_ST * @{ */ diff --git a/os/ex/ST/lsm303dlhc.h b/os/ex/ST/lsm303dlhc.h index 27c67a851..284e5b7ac 100644 --- a/os/ex/ST/lsm303dlhc.h +++ b/os/ex/ST/lsm303dlhc.h @@ -22,6 +22,8 @@ * @file lsm303dlhc.h * @brief LSM303DLHC MEMS interface module header. * + * @addtogroup LSM303DLHC + * @ingroup EX_ST * @{ */ #ifndef _LSM303DLHC_H_ diff --git a/os/ex/ST/lsm6ds0.c b/os/ex/ST/lsm6ds0.c index e2061b805..392926ce4 100644 --- a/os/ex/ST/lsm6ds0.c +++ b/os/ex/ST/lsm6ds0.c @@ -22,7 +22,8 @@ * @file lsm6ds0.c * @brief LSM6DS0 MEMS interface module code. * - * @addtogroup lsm6ds0 + * @addtogroup LSM6DS0 + * @ingroup EX_ST * @{ */ diff --git a/os/ex/ST/lsm6ds0.h b/os/ex/ST/lsm6ds0.h index dfb0a7c3d..fa180d768 100644 --- a/os/ex/ST/lsm6ds0.h +++ b/os/ex/ST/lsm6ds0.h @@ -22,6 +22,8 @@ * @file lsm6ds0.h * @brief LSM6DS0 MEMS interface module header. * + * @addtogroup LSM6DS0 + * @ingroup EX_ST * @{ */ #ifndef _LSM6DS0_H_ diff --git a/os/ex/dox/gyro.dox b/os/ex/dox/gyro.dox new file mode 100644 index 000000000..da0fce44e --- /dev/null +++ b/os/ex/dox/gyro.dox @@ -0,0 +1,38 @@ +/* + ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +/** + * @defgroup HAL HAL + * @brief Hardware Abstraction Layer. + * @details Under ChibiOS the set of the various device driver interfaces + * is called the HAL subsystem: Hardware Abstraction Layer. The HAL is the + * abstract interface between ChibiOS applications and hardware. + * + * @section hal_interfaces HAL Interfaces + * An interface is a binary structure allowing the access to a service + * using virtual functions. This allows to create drivers that can be + * accessed using a common interface. + * The concept of interface is commonly found in object-oriented languages + * like Java or C++, their meaning in ChibiOS/HAL is exactly the same. + * + */ + +/** + * @defgroup HAL_GYROSCOPE Generic Gyroscope Interfaces + * @brief HAL Generic Gyroscope Interfaces. + * + * @ingroup HAL_PERIPHERAL_INTERFACES + */ diff --git a/os/ex/dox/hal.dox b/os/ex/dox/hal.dox new file mode 100644 index 000000000..81e328efa --- /dev/null +++ b/os/ex/dox/hal.dox @@ -0,0 +1,34 @@ +/* + ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +/** + * @defgroup HAL HAL + * @brief Hardware Abstraction Layer. + * @details Under ChibiOS the set of the various device driver interfaces + * is called the HAL subsystem: Hardware Abstraction Layer. The HAL is the + * abstract interface between ChibiOS applications and hardware. + * + * @section hal_peripheral interfaces HAL Peripheral Interfaces + * These are a particular case of HAL Interfaces since they are an abstraction + * of a hardware. + */ + +/** + * @defgroup HAL_PERIPHERAL_INTERFACES Peripheral Interfaces + * @brief HAL Peripheral Interfaces. + * + * @ingroup HAL + */ diff --git a/os/ex/dox/main.dox b/os/ex/dox/main.dox new file mode 100644 index 000000000..dbb73d7b4 --- /dev/null +++ b/os/ex/dox/main.dox @@ -0,0 +1,65 @@ +/* + ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +/** + * @defgroup EX EX + * @brief EXternal periferals. + * @details Under ChibiOS the set of the complex device driver interfaces + * dedicated to external peripherals is called the EX subsystem. The EX resides + * on top of HAL and is actually a set of libraries for external devices like + * MEMS, Displays, Flash memories and so on. These libraries are the + * implementation of one or more Abstract Interfaces brought by HAL subsystem. + * EX also relies on HAL normal drivers to interface the peripherals. + * + * @section ex_complex_drivers_architecture EX Complex Drivers Architecture + * Each EX driver can be considered as a standalone Complex Device Driver. For + * ease of use these drivers are grouped by vendor: + * - Micron Technology Peripherals + * - STMicroelectronics Peripherals + * . + * @section micron_devices Micron Technology Devices + * This section contains all the drivers of devices produced by + * Micron Technology. Devices currently supported are FLASH and are: + * - @b M25Q: Serial NOR flash; + * . + * + * @section stmicroelectronics_devices STMicroelectronics Devices + * This section contains all the drivers of devices produced by + * STMicroelectronics. Devices currently supported are MEMS and are: + * - @b HTS221: Capacitive digital humidity sensor; + * - @b L3GD20: 3-axis digital gyroscope; + * - @b LIS3DSH: 3-axis digital motion sensor; + * - @b LIS3MDL: Ultra low power, high performances 3-axis magnetometer; + * - @b LIS302DL: 3-axis motion sensor; + * - @b LPS25H: Piezoresistive 260-1260 hPa pressure sensor; + * - @b LSM6DS0: 6-axis iNEMO inertial module; + * - @b LSM303DLHC: Ultra compact high performance e-compass; + * . + */ + +/** + * @defgroup EX_MICRON Micron Technology Devices + * @brief Micron Technology Devices. + * + * @ingroup EX + */ + +/** + * @defgroup EX_ST STMicroelectronics Devices + * @brief STMicroelectronics Devices. + * + * @ingroup EX + */ -- cgit v1.2.3