aboutsummaryrefslogtreecommitdiffstats
path: root/os/ex
diff options
context:
space:
mode:
authorroccomarco <roccomarco@35acf78f-673a-0410-8e92-d51de3d6d3f4>2017-07-01 18:45:25 +0000
committerroccomarco <roccomarco@35acf78f-673a-0410-8e92-d51de3d6d3f4>2017-07-01 18:45:25 +0000
commit3588ac33a33bb10d22cd6a30ab22ea28514943a0 (patch)
treed760dba90f35da35288a953df44476de0d92a467 /os/ex
parent3edd2f7ccb1ecca032efb47d3192c4f4065e20ed (diff)
downloadChibiOS-3588ac33a33bb10d22cd6a30ab22ea28514943a0.tar.gz
ChibiOS-3588ac33a33bb10d22cd6a30ab22ea28514943a0.tar.bz2
ChibiOS-3588ac33a33bb10d22cd6a30ab22ea28514943a0.zip
Improved ChibiOS\EX documentation (Still uncomplete)
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@10274 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/ex')
-rw-r--r--os/ex/Micron/m25q.c3
-rw-r--r--os/ex/Micron/m25q.h3
-rw-r--r--os/ex/ST/hts221.c3
-rw-r--r--os/ex/ST/hts221.h3
-rw-r--r--os/ex/ST/l3gd20.c3
-rw-r--r--os/ex/ST/l3gd20.h2
-rw-r--r--os/ex/ST/lis302dl.c3
-rw-r--r--os/ex/ST/lis302dl.h2
-rw-r--r--os/ex/ST/lis3dsh.c3
-rw-r--r--os/ex/ST/lis3dsh.h2
-rw-r--r--os/ex/ST/lis3mdl.c3
-rw-r--r--os/ex/ST/lis3mdl.h2
-rw-r--r--os/ex/ST/lps25h.c3
-rw-r--r--os/ex/ST/lps25h.h2
-rw-r--r--os/ex/ST/lsm303dlhc.c3
-rw-r--r--os/ex/ST/lsm303dlhc.h2
-rw-r--r--os/ex/ST/lsm6ds0.c3
-rw-r--r--os/ex/ST/lsm6ds0.h2
-rw-r--r--os/ex/dox/gyro.dox38
-rw-r--r--os/ex/dox/hal.dox34
-rw-r--r--os/ex/dox/main.dox65
21 files changed, 174 insertions, 10 deletions
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
+ */