commit 5e2f673be90e43762543090ede7a0a0253dc6680
Author: Marc Rothmann <mrothmann@techfak.uni-bielefeld.de>
Date:   Thu Sep 13 15:03:25 2018 +0200

    Doxygen file documentation.

diff --git a/docs/periphery-lld.dox b/docs/periphery-lld.dox
new file mode 100644
index 0000000..70ebd43
--- /dev/null
+++ b/docs/periphery-lld.dox
@@ -0,0 +1,125 @@
+/*
+AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
+Copyright (C) 2016..2018  Thomas Schöpping et al.
+
+This program 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.
+
+This program 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 periphery AMiRo-LLD
+ * @details AMiRo Low Level Driver Documentation
+ * @ingroup amiroos
+ */
+
+/**
+ * @defgroup lld_motor A3906 (Motor Driver)
+ * @details Motor Driver Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_eeprom At24c01bn-sh-b (EEPROM)
+ * @details EEPROM Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_charger Bq24103a (Battery Charger)
+ * @details Battery Charger Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_gauge Bq27500 (Fuel Gauge)
+ * @details Fuel Gauge Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_compass Hmc5883l (Compass)
+ * @details Compass Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_power Ina219 (Power Monitor)
+ * @details Power Monitor Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_gyroscope L3g4200d (Gyroscope)
+ * @details Gyroscope Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_led Led
+ * @details Led Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_accel Lis331dlh (Accelerometer)
+ * @details Accelerometer Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_powerpath Ltc4412 (PowerPath Controller)
+ * @details PowerPath Controller Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_touch Mpr121 (Touch Sensor)
+ * @details Touch Sensor Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_multi Pca9544a (I2C Multiplexer)
+ * @details I2C Multiplexer Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_buzzer Pklcs1212e4001 (Buzzer)
+ * @details Buzzer Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_leddriver Tlc5947 (LED Driver)
+ * @details LED Driver Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_switch Tps2051bdbv (Power-Distribution Switch)
+ * @details Power-Distribution Switch Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_stepdown Tps62113 (Step-Down Converter)
+ * @details Step-Down Converter Documentation
+ * @ingroup periphery
+ */
+
+/**
+ * @defgroup lld_proximity Vcnl4020 (Proximity Sensor)
+ * @details Proximity Sensor Documentation
+ * @ingroup periphery
+ */
diff --git a/include/alld_a3906.h b/include/alld_a3906.h
index d5075fc..0ab161e 100644
--- a/include/alld_a3906.h
+++ b/include/alld_a3906.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_a3906.h
+ * @brief   Motor driver macros and structures.
+ *
+ * @addtogroup lld_motor
+ * @{
+ */
+
 #ifndef _AMIROLLD_A3906_H_
 #define _AMIROLLD_A3906_H_
 
@@ -57,3 +65,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_A3906) */
 
 #endif /* _AMIROLLD_A3906_H_ */
+
+/** @} */
diff --git a/include/alld_at24c01bn-sh-b.h b/include/alld_at24c01bn-sh-b.h
index 1010765..ef51f6f 100644
--- a/include/alld_at24c01bn-sh-b.h
+++ b/include/alld_at24c01bn-sh-b.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_at24c01bn-sh-b.h
+ * @brief   EEPROM macros and structures.
+ *
+ * @addtogroup lld_eeprom
+ * @{
+ */
+
 #ifndef _AMIROLLD_AT24C01BN_H_
 #define _AMIROLLD_AT24C01BN_H_
 
@@ -89,3 +97,4 @@ extern "C" {
 
 #endif /* _AMIROLLD_AT24C01BN_H_ */
 
+/** @} */
diff --git a/include/alld_bq24103a.h b/include/alld_bq24103a.h
index 35f81c8..4607358 100644
--- a/include/alld_bq24103a.h
+++ b/include/alld_bq24103a.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_bq24103a.h
+ * @brief   Battery charger constants and driver structure.
+ *
+ * @addtogroup lld_charger
+ * @{
+ */
+
 #ifndef _AMIROLLD_BQ24103A_H_
 #define _AMIROLLD_BQ24103A_H_
 
@@ -70,4 +78,5 @@ extern "C" {
 
 #endif /* defined(AMIROLLD_CFG_USE_BQ24103A) */
 
+/** @} */
 #endif /* _AMIROLLD_BQ24103A_H_ */
diff --git a/include/alld_bq27500.h b/include/alld_bq27500.h
index 6b9a84b..e1436df 100644
--- a/include/alld_bq27500.h
+++ b/include/alld_bq27500.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_bq27500.h
+ * @brief   Fuel Gauge constants and structures.
+ *
+ * @addtogroup lld_gauge
+ * @{
+ */
+
 #ifndef _AMIROLLD_BQ27500_H_
 #define _AMIROLLD_BQ27500_H_
 
@@ -239,3 +247,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_BQ27500) */
 
 #endif /* _AMIROLLD_BQ27500_H_ */
+
+/** @} */
diff --git a/include/alld_hmc5883l.h b/include/alld_hmc5883l.h
index ba9d52b..ac73a12 100644
--- a/include/alld_hmc5883l.h
+++ b/include/alld_hmc5883l.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_hmc5883l.h
+ * @brief   Compass macros and structures.
+ *
+ * @addtogroup lld_compass
+ * @{
+ */
+
 #ifndef _AMIROLLD_HMC5883L_H_
 #define _AMIROLLD_HMC5883L_H_
 
@@ -184,3 +192,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_HMC5883L) */
 
 #endif /* _AMIROLLD_HMC5883L_H_ */
+
+/** @} */
diff --git a/include/alld_ina219.h b/include/alld_ina219.h
index b3f4724..79a629a 100644
--- a/include/alld_ina219.h
+++ b/include/alld_ina219.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_ina219.h
+ * @brief   Power Monitor macros and structures.
+ *
+ * @addtogroup lld_power
+ * @{
+ */
+
 #ifndef _AMIROLLD_INA219_H_
 #define _AMIROLLD_INA219_H_
 
@@ -167,3 +175,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_INA219) */
 
 #endif /* _AMIROLLD_INA219_H_ */
+
+/** @} */
diff --git a/include/alld_l3g4200d.h b/include/alld_l3g4200d.h
index 4c26764..da27156 100644
--- a/include/alld_l3g4200d.h
+++ b/include/alld_l3g4200d.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_l3g4200d.h
+ * @brief   Gyroscope macros and structures.
+ *
+ * @addtogroup lld_gyroscope
+ * @{
+ */
+
 #ifndef _AMIROLLD_L3G4200D_H_
 #define _AMIROLLD_L3G4200D_H_
 
@@ -314,3 +322,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_L3G4200D) */
 
 #endif /* _AMIROLLD_L3G4200D_H_ */
+
+/** @} */
diff --git a/include/alld_led.h b/include/alld_led.h
index c55a895..9e3869a 100644
--- a/include/alld_led.h
+++ b/include/alld_led.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_led.h
+ * @brief   Led macros and structures.
+ *
+ * @addtogroup lld_led
+ * @{
+ */
+
 #ifndef _AMIROLLD_LED_H_
 #define _AMIROLLD_LED_H_
 
@@ -56,3 +64,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_LED) */
 
 #endif /* _AMIROLLD_LED_H_ */
+
+/** @} */
diff --git a/include/alld_lis331dlh.h b/include/alld_lis331dlh.h
index eb4882d..8be2185 100644
--- a/include/alld_lis331dlh.h
+++ b/include/alld_lis331dlh.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_lis331dlh.h
+ * @brief   Accelerometer macros and structures.
+ *
+ * @addtogroup lld_accel
+ * @{
+ */
+
 #ifndef _AMIROLLD_LIS331DLH_H_
 #define _AMIROLLD_LIS331DLH_H_
 
@@ -254,3 +262,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_LIS331DLH) */
 
 #endif /* _AMIROLLD_LIS331DLH_H_ */
+
+/** @} */
diff --git a/include/alld_ltc4412.h b/include/alld_ltc4412.h
index 5db3fc4..1d4e5eb 100644
--- a/include/alld_ltc4412.h
+++ b/include/alld_ltc4412.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_ltc4412.h
+ * @brief   PowerPath Controller macros and structures.
+ *
+ * @addtogroup lld_powerpath
+ * @{
+ */
+
 #ifndef _AMIROLLD_LTC4412_H_
 #define _AMIROLLD_LTC4412_H_
 
@@ -64,3 +72,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_LTC4412) */
 
 #endif /* _AMIROLLD_LTC4412_H_ */
+
+/** @} */
diff --git a/include/alld_mpr121.h b/include/alld_mpr121.h
index 5a3aaa9..4370101 100644
--- a/include/alld_mpr121.h
+++ b/include/alld_mpr121.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_mpr121.h
+ * @brief   Touch Sensor macros and structures.
+ *
+ * @addtogroup lld_touch
+ * @{
+ */
+
 #ifndef _AMIROLLD_MPR121_H_
 #define _AMIROLLD_MPR121_H_
 
@@ -219,3 +227,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_MPR121) */
 
 #endif /* _AMIROLLD_MPR121_H_ */
+
+/** @} */
diff --git a/include/alld_pca9544a.h b/include/alld_pca9544a.h
index 570d7ba..15a90bc 100644
--- a/include/alld_pca9544a.h
+++ b/include/alld_pca9544a.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_pca9544a.h
+ * @brief   I2C Multiplexer macros and structures.
+ *
+ * @addtogroup lld_multi
+ * @{
+ */
+
 #ifndef _AMIROLLD_PCA9544A_H_
 #define _AMIROLLD_PCA9544A_H_
 
@@ -101,3 +109,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_PCA9544A) */
 
 #endif /* _AMIROLLD_PCA9544A_H_ */
+
+/** @} */
diff --git a/include/alld_pklcs1212e4001.h b/include/alld_pklcs1212e4001.h
index 10948be..2fbdce2 100644
--- a/include/alld_pklcs1212e4001.h
+++ b/include/alld_pklcs1212e4001.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_pklcs1212e4001.h
+ * @brief   Buzzer macros.
+ *
+ * @addtogroup lld_buzzer
+ * @{
+ */
+
 #ifndef _AMIROLLD_PKLCS1212E4001_H_
 #define _AMIROLLD_PKLCS1212E4001_H_
 
@@ -50,3 +58,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_PKLCS1212E4001) */
 
 #endif /* _AMIROLLD_PKLCS1212E4001_H_ */
+
+/** @} */
diff --git a/include/alld_tlc5947.h b/include/alld_tlc5947.h
index 2f68323..db15e52 100644
--- a/include/alld_tlc5947.h
+++ b/include/alld_tlc5947.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_tlc5947.h
+ * @brief   LED Driver macros and structures.
+ *
+ * @addtogroup lld_leddriver
+ * @{
+ */
+
 #ifndef _AMIROLLD_TLC5947_H_
 #define _AMIROLLD_TLC5947_H_
 
@@ -89,3 +97,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_TLC5947) */
 
 #endif /* _AMIROLLD_TLC5947_H_ */
+
+/** @} */
diff --git a/include/alld_tps2051bdbv.h b/include/alld_tps2051bdbv.h
index 7d47dc9..d8e38e9 100644
--- a/include/alld_tps2051bdbv.h
+++ b/include/alld_tps2051bdbv.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_tps2051bdbv.h
+ * @brief   Power-Distribution Switch macros and structures.
+ *
+ * @addtogroup lld_switch
+ * @{
+ */
+
 #ifndef _AMIROLLD_TPS2051B_H_
 #define _AMIROLLD_TPS2051B_H_
 
@@ -70,3 +78,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_TPS2051BDBV) */
 
 #endif /* _AMIROLLD_TPS2051B_H_ */
+
+/** @} */
diff --git a/include/alld_tps62113.h b/include/alld_tps62113.h
index e640973..fec8e36 100644
--- a/include/alld_tps62113.h
+++ b/include/alld_tps62113.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_tps62113.h
+ * @brief   Step-Down Converter macros and structures.
+ *
+ * @addtogroup lld_stepdown
+ * @{
+ */
+
 #ifndef _AMIROLLD_TPS62113_H_
 #define _AMIROLLD_TPS62113_H_
 
@@ -55,3 +63,5 @@ extern "C" {
 #endif /* defined(AMIROLLD_CFG_USE_TPS62113) */
 
 #endif /* _AMIROLLD_TPS62113_H_ */
+
+/** @} */
diff --git a/include/alld_vcnl4020.h b/include/alld_vcnl4020.h
index f3e98df..5974a3f 100644
--- a/include/alld_vcnl4020.h
+++ b/include/alld_vcnl4020.h
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_vcnl4020.h
+ * @brief   Proximity Sensor macros and structures.
+ *
+ * @addtogroup lld_proximity
+ * @{
+ */
+
 #ifndef _AMIROLLD_VCNL4020_H_
 #define _AMIROLLD_VCNL4020_H_
 
@@ -239,3 +247,4 @@ extern "C" {
 
 #endif /* _AMIROLLD_VCNL4020_H_ */
 
+/** @} */
diff --git a/source/alld_a3906.c b/source/alld_a3906.c
index a30a1cb..e04fec6 100644
--- a/source/alld_a3906.c
+++ b/source/alld_a3906.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_a3906.c
+ * @brief   Motor driver functions.
+ *
+ * @addtogroup lld_motor
+ * @{
+ */
+
 #include <alld_a3906.h>
 
 #if defined(AMIROLLD_CFG_USE_A3906) || defined(__DOXYGEN__)
@@ -75,3 +83,5 @@ a3906_lld_set_pwm(apalPWMDriver_t* pwm, const apalPWMchannel_t channel, const ap
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_A3906) */
+
+/** @} */
diff --git a/source/alld_at24c01bn-sh-b.c b/source/alld_at24c01bn-sh-b.c
index d92c1ec..3fc6dc4 100644
--- a/source/alld_at24c01bn-sh-b.c
+++ b/source/alld_at24c01bn-sh-b.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_at24c01bn-sh-b.c
+ * @brief   EEPROM function implementations.
+ *
+ * @addtogroup lld_eeprom
+ * @{
+ */
+
 #include <alld_at24c01bn-sh-b.h>
 
 #if defined(AMIROLLD_CFG_USE_AT24C01BN) || defined(__DOXYGEN__)
@@ -122,3 +130,5 @@ at24c01bn_lld_write_page(const AT24C01BNDriver* const at24c01bn, const uint8_t a
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_AT24C01BN) */
+
+/** @} */
diff --git a/source/alld_bq24103a.c b/source/alld_bq24103a.c
index eb65e5b..9ec8261 100644
--- a/source/alld_bq24103a.c
+++ b/source/alld_bq24103a.c
@@ -16,6 +16,13 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_bq24103a.c
+ * @brief   Battery charger function implementations.
+ *
+ * @addtogroup lld_charger
+ * @{
+ */
 #include <alld_bq24103a.h>
 
 #if defined(AMIROLLD_CFG_USE_BQ24103A) || defined(__DOXYGEN__)
@@ -71,3 +78,5 @@ bq24103a_lld_get_charge_status(const BQ24103ADriver* const bq24103a, bq24103a_ll
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_BQ24103A) */
+
+/** @} */
diff --git a/source/alld_bq27500.c b/source/alld_bq27500.c
index 562322c..9c54b3e 100644
--- a/source/alld_bq27500.c
+++ b/source/alld_bq27500.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_bq27500.c
+ * @brief   Fuel Gauge function implementations.
+ *
+ * @addtogroup lld_gauge
+ * @{
+ */
+
 #include <alld_bq27500.h>
 
 #if defined(AMIROLLD_CFG_USE_BQ27500) || defined(__DOXYGEN__)
@@ -185,3 +193,5 @@ bq27500_lld_compute_blockdata_checksum(const uint8_t* const blockdata, uint8_t*
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_BQ27500) */
+
+/** @} */
diff --git a/source/alld_hmc5883l.c b/source/alld_hmc5883l.c
index 9412bb4..d5af7e9 100644
--- a/source/alld_hmc5883l.c
+++ b/source/alld_hmc5883l.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    
+ * @brief   Compass function implementations.
+ *
+ * @addtogroup lld_compass
+ * @{
+ */
+
 #include <alld_hmc5883l.h>
 
 #if defined(AMIROLLD_CFG_USE_HMC5883L) || defined(__DOXYGEN__)
@@ -223,3 +231,5 @@ hmc5883l_lld_read_rdy(const HMC5883LDriver* const hmcd, uint8_t* const rdy, cons
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_HMC5883L) */
+
+/** @} */
diff --git a/source/alld_ina219.c b/source/alld_ina219.c
index 23e93dc..a2b2ca7 100644
--- a/source/alld_ina219.c
+++ b/source/alld_ina219.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_ina219.c
+ * @brief   Power Monitor function implementations
+ *
+ * @addtogroup lld_power
+ * @{
+ */
+
 #include <alld_ina219.h>
 
 #if defined(AMIROLLD_CFG_USE_INA219) || defined(__DOXYGEN__)
@@ -329,3 +337,5 @@ ina219_lld_bus_conversion_ready(const INA219Driver* const ina219, uint16_t* cons
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_INA219) */
+
+/** @} */
diff --git a/source/alld_l3g4200d.c b/source/alld_l3g4200d.c
index a585c7c..2401f6f 100644
--- a/source/alld_l3g4200d.c
+++ b/source/alld_l3g4200d.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_l3g4200d.c
+ * @brief   Gyroscope function implementations.
+ *
+ * @addtogroup lld_gyroscope
+ * @{
+ */
+
 #include<alld_l3g4200d.h>
 
 #if defined(AMIROLLD_CFG_USE_L3G4200D) || defined(__DOXYGEN__)
@@ -266,3 +274,5 @@ l3g4200d_lld_read_int_src(const L3G4200DDriver* const l3gd, uint8_t* const cfg)
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_L3G4200D) */
+
+/** @} */
diff --git a/source/alld_led.c b/source/alld_led.c
index ec4c578..4e602c7 100644
--- a/source/alld_led.c
+++ b/source/alld_led.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_led.c
+ * @brief   Led function implementations.
+ *
+ * @addtogroup lld_led
+ * @{
+ */
+
 #include <alld_led.h>
 
 #if defined(AMIROLLD_CFG_USE_LED) || defined(__DOXYGEN__)
@@ -66,3 +74,5 @@ led_lld_toggle(const LEDDriver* const led)
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_LED) */
+
+/** @} */
diff --git a/source/alld_lis331dlh.c b/source/alld_lis331dlh.c
index 277b5d0..cf2a585 100644
--- a/source/alld_lis331dlh.c
+++ b/source/alld_lis331dlh.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_lis331dlh.c
+ * @brief   Accelerometer function implementations.
+ *
+ * @addtogroup lld_accel
+ * @{
+ */
+
 #include <alld_lis331dlh.h>
 
 #if defined(AMIROLLD_CFG_USE_LIS331DLH) || defined(__DOXYGEN__)
@@ -247,3 +255,5 @@ lis331dlh_lld_read_status_register(const LIS331DLHDriver* const lisd, uint8_t *s
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_LIS331DLH) */
+
+/** @} */
diff --git a/source/alld_ltc4412.c b/source/alld_ltc4412.c
index ebec615..64c55c4 100644
--- a/source/alld_ltc4412.c
+++ b/source/alld_ltc4412.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_ltc4412.c
+ * @brief   PowerPath Controller function implementations
+ *
+ * @addtogroup lld_powerpath
+ * @{
+ */
+
 #include <alld_ltc4412.h>
 
 #if defined(AMIROLLD_CFG_USE_LTC4412) || defined(__DOXYGEN__)
@@ -71,3 +79,5 @@ ltc4412_lld_get_stat(const LTC4412Driver* const ltc4412, ltc4412_lld_stat_t* con
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_LTC4412) */
+
+/** @} */
diff --git a/source/alld_mpr121.c b/source/alld_mpr121.c
index e9dc489..df14090 100644
--- a/source/alld_mpr121.c
+++ b/source/alld_mpr121.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_mpr121.c
+ * @brief   Touch Sensor function implementations.
+ *
+ * @addtogroup lld_touch
+ * @{
+ */
+
 #include <alld_mpr121.h>
 
 #if defined(AMIROLLD_CFG_USE_MPR121) || defined(__DOXYGEN__)
@@ -176,3 +184,5 @@ mpr121_lld_read_config(const MPR121Driver* const mprd, mpr121_lld_config_t* cons
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_MPR121) */
+
+/** @} */
diff --git a/source/alld_pca9544a.c b/source/alld_pca9544a.c
index 094d564..954a7ce 100644
--- a/source/alld_pca9544a.c
+++ b/source/alld_pca9544a.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_pca9544a.c
+ * @brief   I2C Multiplexer function implementations.
+ *
+ * @addtogroup lld_multi
+ * @{
+ */
+
 #include <alld_pca9544a.h>
 
 #if defined(AMIROLLD_CFG_USE_PCA9544A) || defined(__DOXYGEN__)
@@ -120,3 +128,5 @@ pca9544a_lld_setchannel(const PCA9544ADriver* const pca9544a, const pca9544a_lld
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_PCA9544A) */
+
+/** @} */
diff --git a/source/alld_pklcs1212e4001.c b/source/alld_pklcs1212e4001.c
index 2617832..0890b95 100644
--- a/source/alld_pklcs1212e4001.c
+++ b/source/alld_pklcs1212e4001.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_pklcs1212e4001.c
+ * @brief   Buzzer function implementations.
+ *
+ * @addtogroup lld_buzzer
+ * @{
+ */
+
 #include <alld_pklcs1212e4001.h>
 
 #if defined(AMIROLLD_CFG_USE_PKLCS1212E4001) || defined(__DOXYGEN__)
@@ -69,3 +77,5 @@ pklcs1212e4001_lld_enable(apalPWMDriver_t* pwm, const apalPWMchannel_t channel,
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_PKLCS1212E4001) */
+
+/** @} */
diff --git a/source/alld_tlc5947.c b/source/alld_tlc5947.c
index 6676147..af06180 100644
--- a/source/alld_tlc5947.c
+++ b/source/alld_tlc5947.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_tlc5947.c
+ * @brief   LED Driver function implementations.
+ *
+ * @addtogroup lld_leddriver
+ * @{
+ */
+
 #include <alld_tlc5947.h>
 
 #if defined(AMIROLLD_CFG_USE_TLC5947) || defined(__DOXYGEN__)
@@ -142,3 +150,5 @@ tlc5947_lld_getBuffer(const tlc5947_lld_buffer_t* const buffer, const uint8_t ch
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_TLC5947) */
+
+/** @} */
diff --git a/source/alld_tps2051bdbv.c b/source/alld_tps2051bdbv.c
index c71c730..097ffc9 100644
--- a/source/alld_tps2051bdbv.c
+++ b/source/alld_tps2051bdbv.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_tps2051bdbv.c
+ * @brief   Power-Distribution function implementations.
+ *
+ * @addtogroup lld_switch
+ * @{
+ */
+
 #include <alld_tps2051bdbv.h>
 
 #if defined(AMIROLLD_CFG_USE_TPS2051BDBV) || defined(__DOXYGEN__)
@@ -71,3 +79,5 @@ tps2051b_lld_read_overcurrent(const TPS2051BDriver* const tps2051b, tps2051b_lld
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_TPS2051BDBV) */
+
+/** @} */
diff --git a/source/alld_tps62113.c b/source/alld_tps62113.c
index e194312..510ca6e 100644
--- a/source/alld_tps62113.c
+++ b/source/alld_tps62113.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_tps62113.c
+ * @brief   Step-Down Converter function implementations.
+ *
+ * @addtogroup lld_stepdown
+ * @{
+ */
+
 #include <alld_tps62113.h>
 
 #if defined(AMIROLLD_CFG_USE_TPS62113) || defined(__DOXYGEN__)
@@ -53,3 +61,5 @@ tps62113_lld_set_power_en(const TPS62113Driver* const tps62113, const tps62113_l
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_TPS62113) */
+
+/** @} */
diff --git a/source/alld_vcnl4020.c b/source/alld_vcnl4020.c
index 41a9c5f..32303cb 100644
--- a/source/alld_vcnl4020.c
+++ b/source/alld_vcnl4020.c
@@ -16,6 +16,14 @@ You should have received a copy of the GNU Lesser General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+/**
+ * @file    alld_vcnl4020.c
+ * @brief   Proximity Sensor function implementations.
+ *
+ * @addtogroup lld_proximity
+ * @{
+ */
+
 #include <alld_vcnl4020.h>
 
 #if defined(AMIROLLD_CFG_USE_VCNL4020) || defined(__DOXYGEN__)
@@ -262,3 +270,5 @@ vcnl4020_lld_writeth(const VCNL4020Driver* const vcnld, const uint16_t lth, cons
 }
 
 #endif /* defined(AMIROLLD_CFG_USE_VCNL4020) */
+
+/** @} */
