diff --git a/core/bitarithm.c b/core/bitarithm.c index cda4b6e280..398c85f815 100644 --- a/core/bitarithm.c +++ b/core/bitarithm.c @@ -1,17 +1,22 @@ -/** - * bit arithmetic helper functions - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. + */ + +/** + * @ingroup core_util + * @{ * - * \ingroup bitarithm - * \{ - * \file - * \author Kaspar Schleiser - * \} + * @file bitarithm.c + * @brief Bit arithmetic helper functions implementation + * + * @author Kaspar Schleiser + * @author Martin Lenders + * + * @} */ #include diff --git a/core/cib.c b/core/cib.c index 054dd028c4..e58bfda06a 100644 --- a/core/cib.c +++ b/core/cib.c @@ -1,3 +1,21 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + + /** + * @ingroup core_util + * @{ + * + * @file cib.c + * @brief Circular integer buffer implementation + * + * @} + */ + #include void cib_init(cib_t *cib, unsigned int size) diff --git a/core/clist.c b/core/clist.c index 58b40336f7..c65b1e5a43 100644 --- a/core/clist.c +++ b/core/clist.c @@ -1,16 +1,20 @@ -/** - * simple circular linked list - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel + */ + +/** + * @ingroup core_util * @{ - * @file - * @author Kaspar Schleiser + * + * @file clist.c + * @brief Circular linked list implementation + * + * @author Kaspar Schleiser + * * @} */ diff --git a/core/doc.txt b/core/doc.txt new file mode 100644 index 0000000000..7a8118c38f --- /dev/null +++ b/core/doc.txt @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + +/** + * @defgroup core Kernel + * @brief The RIOT micro-kernel containing the core functionality + * + * The kernel module contains only the basic OS functionality such as the sheduler, threading, synchronization + * and IRQ-handling. The only exception is the integration of the hardware timer into this module. + */ + +/** + * @defgroup core_util Kernel utilities + * @ingroup core + * @brief Utilies and data structures used by the kernel + */ + +/** + * @defgroup core_internal Startup and Configuration + * @ingroup core + * @brief Configuration data and startup code for the kernel + */ diff --git a/core/hwtimer.c b/core/hwtimer.c index 5d2729fa34..a18c114369 100644 --- a/core/hwtimer.c +++ b/core/hwtimer.c @@ -1,19 +1,23 @@ -/** - * hardware timer abstraction - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel + */ + +/** + * @ingroup core_hwtimer * @{ - * @file + * + * @file hwtimer.c + * @brief Hardware timer abstraction implementation + * * @author Heiko Will * @author Thomas Hillebrandt * @author Kaspar Schleiser * @author Oliver Hahm + * * @} */ diff --git a/core/include/atomic.h b/core/include/atomic.h index 3ae48d714e..cc4a41eb82 100644 --- a/core/include/atomic.h +++ b/core/include/atomic.h @@ -1,17 +1,20 @@ -/** - * atomic function declarations - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel + */ + +/** + * @addtogroup core_util * @{ - * @file - * @author Freie Universität Berlin, Computer Systems & Telematics - * @author Kaspar Schleiser + * + * @file atomic.h + * @brief Atomic function declarations + * + * @author Freie Universität Berlin, Computer Systems & Telematics + * @author Kaspar Schleiser */ #ifndef _ATOMIC_H @@ -23,7 +26,5 @@ extern unsigned int atomic_set_return(unsigned int *val, unsigned int set); -/** - * @} - */ +/** @} */ #endif /* _ATOMIC_H */ diff --git a/core/include/bitarithm.h b/core/include/bitarithm.h index 6f38b28397..cf7126ce42 100644 --- a/core/include/bitarithm.h +++ b/core/include/bitarithm.h @@ -1,30 +1,33 @@ -/** - * Helper functions for bit arithmetic - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @defgroup bitarithm Bit Arithmetic - * @ingroup lib + */ + +/** + * @addtogroup core_util * @{ - * @file - * @author Freie Universität Berlin, Computer Systems & Telematics - * @author Kaspar Schleiser + * + * @file bitarithm.h + * @brief Helper functions for bit arithmetic + * + * @author Freie Universität Berlin, Computer Systems & Telematics + * @author Kaspar Schleiser + * @author Martin Lenders */ #ifndef BITARITHM_H_ #define BITARITHM_H_ -#define BS(val, bit) ((val) & (bit)) -#define BS_COND(condition, target, mask) (target) ^= ( (-(condition) ^ (target)) & (mask) ) -#define SETBIT(val, bit) val |= (bit) -#define CLRBIT(val, bit) val &= (~(bit)) +#define BS(val, bit) ((val) & (bit)) +#define BS_COND(condition, target, mask) (target) ^= ( (-(condition) ^ (target)) & (mask) ) +#define SETBIT(val, bit) val |= (bit) +#define CLRBIT(val, bit) val &= (~(bit)) /** - * @name Single Bit Defines + * @name Single Bit Defines * @{ */ #ifndef BIT0 @@ -68,35 +71,32 @@ #define ARCH_32_BIT (__INT_MAX__ == 2147483647) /** - * @brief Returns the number of the highest '1' bit in a value - * @param[in] v Input value - * @return Bit Number + * @brief Returns the number of the highest '1' bit in a value + * @param[in] v Input value + * @return Bit Number * * Source: http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious */ unsigned number_of_highest_bit(unsigned v); /** - * @brief Returns the number of the lowest '1' bit in a value - * @param[in] v Input value - must be unequal to '0', otherwise the + * @brief Returns the number of the lowest '1' bit in a value + * @param[in] v Input value - must be unequal to '0', otherwise the * function will produce an infinite loop - * @return Bit Number + * @return Bit Number * * Source: http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious */ unsigned number_of_lowest_bit(register unsigned v); /** - * @brief Returns the number of bits set in a value - * @param[in] v Input value - * @return Number of set bits + * @brief Returns the number of bits set in a value + * @param[in] v Input value + * @return Number of set bits * * Source: http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious */ unsigned number_of_bits_set(unsigned v); -/** - * @} - */ - +/** @} */ #endif /* BITARITHM_H_ */ diff --git a/core/include/cib.h b/core/include/cib.h index ed7b0e4d4f..3de2d253e0 100644 --- a/core/include/cib.h +++ b/core/include/cib.h @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + + /** + * @addtogroup core_util + * @{ + * + * @file cib.h + * @brief Circular integer buffer interface + * + */ + #ifndef __CIB_H #define __CIB_H @@ -12,4 +29,5 @@ int cib_get(cib_t *cib); int cib_put(cib_t *cib); int cib_avail(cib_t *cib); +/** @} */ #endif /* __CIB_H */ diff --git a/core/include/clist.h b/core/include/clist.h index 6d1914948e..72be66870c 100644 --- a/core/include/clist.h +++ b/core/include/clist.h @@ -1,19 +1,20 @@ -/** - * Circular linked list implementation - * - * Used by the scheduler - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup lib + */ + +/** + * @addtogroup core_util * @{ - * @file - * @author Freie Universität Berlin, Computer Systems & Telematics - * @author Kaspar Schleiser + * + * @file clist.h + * @brief Circular linkes list + * + * @author Freie Universität Berlin, Computer Systems & Telematics + * @author Kaspar Schleiser */ #ifndef __CLIST_H @@ -43,8 +44,6 @@ static inline void clist_advance(clist_node_t **list) void clist_print(clist_node_t *clist); #endif -/** - * @} - */ +/** @} */ #endif // __CLIST_H diff --git a/core/include/config.h b/core/include/config.h index 37a68f64c7..332d43ff94 100644 --- a/core/include/config.h +++ b/core/include/config.h @@ -1,3 +1,21 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + +/** + * @addtogroup core_internal + * @{ + * + * @file config.h + * @brief Kernel configuration interface + * + */ + + #ifndef CONFIG_H #define CONFIG_H @@ -36,4 +54,5 @@ uint8_t config_save(void); */ void config_load(void); +/** @} */ #endif /* CONFIG_H */ diff --git a/core/include/debug.h b/core/include/debug.h index 5c928883dc..7df33ce409 100644 --- a/core/include/debug.h +++ b/core/include/debug.h @@ -1,23 +1,27 @@ -/** - * Debug-Header. - * - * #define ENABLE_DEBUG, include this and then use DEBUG as printf you can toggle. - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel - * @{ - * @file - * @author Freie Universität Berlin, Computer Systems & Telematics - * @author Kaspar Schleiser - * @} */ - - + +/** + * @addtogroup core_util + * @{ + * + * @file debug.h + * @brief Debug-header + * + * #define ENABLE_DEBUG, include this and then use DEBUG as printf you can toggle. + * + * @author Freie Universität Berlin, Computer Systems & Telematics + * @author Kaspar Schleiser + */ + +#ifndef __DEBUG_H +#define __DEBUG_H + #include #if ENABLE_DEBUG @@ -27,3 +31,5 @@ #define DEBUG(...) #endif +/** @} */ +#endif /* __DEBUG_H */ diff --git a/core/include/flags.h b/core/include/flags.h index ddf61d06ba..26873d1116 100644 --- a/core/include/flags.h +++ b/core/include/flags.h @@ -1,28 +1,28 @@ -/** - * (misc flag definitions) - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel + */ + +/** + * @addtogroup core_internal * @{ - * @file - * @author Kaspar Schleiser + * + * @file flags.h + * @brief Misc flag definitions + * + * @author Kaspar Schleiser */ #ifndef _FLAGS_H #define _FLAGS_H -#define CREATE_SLEEPING (1) -#define AUTO_FREE (2) -#define CREATE_WOUT_YIELD (4) -#define CREATE_STACKTEST (8) +#define CREATE_SLEEPING (1) +#define AUTO_FREE (2) +#define CREATE_WOUT_YIELD (4) +#define CREATE_STACKTEST (8) -/** - * @} - */ +/** @} */ #endif // _FLAGS_H - diff --git a/core/include/hwtimer.h b/core/include/hwtimer.h index 309afbb1da..cfc25804c4 100644 --- a/core/include/hwtimer.h +++ b/core/include/hwtimer.h @@ -1,5 +1,15 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + /** - * Hardware timer interface + * @defgroup core_hwtimer Hardware timer + * @ingroup core + * @brief Hardware timer interface * * The Hardware timers are directly mapped to hardware timers with minimum * latency. They are intended for short intervals and to be used in time @@ -7,24 +17,18 @@ * interrupt context and must use the shortest possible execution time (e.g. * set a flag and trigger a worker thread). * - * hwtimer must not be used within applications, use \ref vtimer + * The hardware timer must not be used within applications, use \ref vtimer * instead. * - * @defgroup hwtimer Hardware timer - * @ingroup kernel * @{ - * @file * - * @author Freie Universität Berlin, Computer Systems & Telematics - * @author Heiko Will - * @author Kaspar Schleiser - * @author Michael Baar + * @file hwtimer.h + * @brief HW-timer abstraction * - * Copyright (C) 2013 Freie Universität Berlin - * - * This file is subject to the terms and conditions of the GNU Lesser General - * Public License. See the file LICENSE in the top level directory for more - * details. + * @author Freie Universität Berlin, Computer Systems & Telematics + * @author Heiko Will + * @author Kaspar Schleiser + * @author Michael Baar */ #ifndef __HWTIMER_H @@ -118,6 +122,10 @@ void hwtimer_spin(unsigned long ticks); int hwtimer_active(void); +/** + * @} + */ + /* internal */ /** diff --git a/core/include/hwtimer_arch.h b/core/include/hwtimer_arch.h index e3cd785f05..a935fd3c8d 100644 --- a/core/include/hwtimer_arch.h +++ b/core/include/hwtimer_arch.h @@ -1,20 +1,24 @@ -/** - * Hardware timer abstraction - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel - * @{ - * @file - * @author Freie Universität Berlin, Computer Systems & Telematics - * @author Thomas Hillebrandt - * @author Heiko Will - * @author Kaspar Schleiser */ + +/** + * @addtogroup core_hwtimer + * @{ + * + * @file hwtimer_arch.h + * @brief Architecture specific hwtimer API + * + * @author Freie Universität Berlin, Computer Systems & Telematics + * @author Thomas Hillebrandt + * @author Heiko Will + * @author Kaspar Schleiser + */ + #ifndef HWTIMER_ARCH_H_ #define HWTIMER_ARCH_H_ @@ -56,7 +60,5 @@ void hwtimer_arch_unset(short timer); */ unsigned long hwtimer_arch_now(void); -/** - * @} - */ +/** @} */ #endif /* HWTIMER_ARCH_H_ */ diff --git a/core/include/io.h b/core/include/io.h index 6569cd452a..a51eeee17c 100644 --- a/core/include/io.h +++ b/core/include/io.h @@ -1,10 +1,22 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + /** - * @ingroup kernel + * @defgroup core_io IO Interface + * @brief Interface to system io functions + * @ingroup core * @{ + * * @file io.h - * @brief prototypes for system io functions + * @brief Prototypes for system io functions + * * @author INRIA - * @author Oliver Hahm + * @author Oliver Hahm */ #ifndef IO_H @@ -12,5 +24,5 @@ int fw_puts(char *data, int count); -/** @} */ +/** @} */ #endif /* IO_H */ diff --git a/core/include/irq.h b/core/include/irq.h index dd7efa2d2c..d072aabb65 100644 --- a/core/include/irq.h +++ b/core/include/irq.h @@ -1,23 +1,26 @@ -#ifndef IRQ_H_ -#define IRQ_H_ - -/** - * @defgroup irq IRQ Handling - * @ingroup kernel +/* + * Copyright (C) 2013 Freie Universität Berlin * - * Provides an API to control interrupt processing. - * - * @{ + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. */ /** - * @file + * @defgroup core_irq IRQ Handling + * @ingroup core + * @brief Provides an API to control interrupt processing + * @{ + * + * @file irq.h * @brief IRQ driver interface * * @author Freie Universität Berlin, Computer Systems & Telematics - * */ +#ifndef IRQ_H_ +#define IRQ_H_ + #include /** @@ -54,5 +57,5 @@ void restoreIRQ(unsigned state); */ int inISR(void); -/** @} */ // end of group dev_irq +/** @} */ #endif /* IRQ_H_ */ diff --git a/core/include/kernel.h b/core/include/kernel.h index 4a30e97b1a..47d578558e 100644 --- a/core/include/kernel.h +++ b/core/include/kernel.h @@ -1,27 +1,25 @@ -/** - * Kernel compile time configuration - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel + */ + +/** + * @addtogroup core_internal * @{ - * @file - * @author Freie Universität Berlin, Computer Systems & Telematics - * @author Kaspar Schleiser + * + * @file kernel.h + * @brief Kernel compile time configuration + * + * @author Freie Universität Berlin, Computer Systems & Telematics + * @author Kaspar Schleiser */ #ifndef KERNEL_H_ #define KERNEL_H_ -/** - * @defgroup kernel Kernel - * @{ - */ - #include #include "config.h" #include "tcb.h" @@ -30,15 +28,8 @@ #include "sched.h" #include "cpu-conf.h" -/* ------------------------------------------------------------------------- */ -/** - * @name Kernel Compile-Time Configuration - * @{ - */ - /** * @def KERNEL_CONF_STACKSIZE_DEFAULT - * @ingroup conf * @brief A reasonable default stack size that will suffice most smaller tasks */ #ifndef KERNEL_CONF_STACKSIZE_DEFAULT @@ -47,7 +38,6 @@ /** * @def KERNEL_CONF_STACKSIZE_IDLE - * @ingroup conf * @brief Size of the idle task's stack in bytes */ #ifndef KERNEL_CONF_STACKSIZE_IDLE @@ -65,14 +55,12 @@ /** * @def KERNEL_CONF_STACKSIZE_MAIN - * @ingroup conf * @brief Size of the main task's stack in bytes */ #ifndef KERNEL_CONF_STACKSIZE_MAIN #define KERNEL_CONF_STACKSIZE_MAIN (KERNEL_CONF_STACKSIZE_DEFAULT + KERNEL_CONF_STACKSIZE_PRINTF) #endif -/** @} */ /* ------------------------------------------------------------------------- */ diff --git a/core/include/kernel_internal.h b/core/include/kernel_internal.h index 05723cf6ac..9bf8965e43 100644 --- a/core/include/kernel_internal.h +++ b/core/include/kernel_internal.h @@ -1,10 +1,20 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + /** - * @ingroup kernel + * @addtogroup core_internal * @{ + * * @file kernel_internal.h * @brief prototypes for kernel internal functions + * * @author INRIA - * @author Oliver Hahm + * @author Oliver Hahm */ #ifndef KERNEL_INTERNAL_H_ @@ -41,5 +51,14 @@ void sched_task_exit(void); */ void thread_print_stack(void); +/** + * @brief Calculates stack usage if thread was created using CREATE_STACKTEST + * + * @param[in] stack The thread's stack + * + * @return The current usage (overwritten addresses) of the thread's stack + */ +int thread_measure_stack_usage(char *stack); + /** @} */ #endif /* KERNEL_INTERNAL_H_ */ diff --git a/core/include/lifo.h b/core/include/lifo.h index 83663d5ccf..2db4c7c7de 100644 --- a/core/include/lifo.h +++ b/core/include/lifo.h @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + +/** + * @addtogroup core_util + * @{ + * + * @file lifo.h + * @brief LIFO buffer API + * + */ + #ifndef __LIFO_H #define __LIFO_H @@ -6,4 +23,5 @@ void lifo_init(int *array, int n); void lifo_insert(int *array, int i); int lifo_get(int *array); +/** @} */ #endif /* __LIFO_H */ diff --git a/core/include/lpm.h b/core/include/lpm.h index a10ded3546..7cb8a6325d 100644 --- a/core/include/lpm.h +++ b/core/include/lpm.h @@ -1,24 +1,27 @@ -#ifndef LPM_H_ -#define LPM_H_ - -/** - * @defgroup lpm Power Management - * @ingroup kernel - * @{ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. */ /** - * @file - * @brief Power Management Interface + * @defgroup core_lpm Power Management + * @ingroup core + * @brief The kernels power management interface + * @{ * - * @author Freie Universität Berlin, Computer Systems & Telematics - * @version $Revision$ + * @file lpm.h + * @brief Power management interface * * This interface needs to be implemented for each platform. * - * @note $Id$ + * @author Freie Universität Berlin, Computer Systems & Telematics */ +#ifndef LPM_H_ +#define LPM_H_ /** * @brief Available power modes diff --git a/core/include/msg.h b/core/include/msg.h index 0d96e30036..206e745a2d 100644 --- a/core/include/msg.h +++ b/core/include/msg.h @@ -1,19 +1,29 @@ -/** - * There are two ways to use the IPC Messaging system of RIOT. The default is synchronous - * messaging. In this manner, messages are either dropped when the receiver is not waiting and the - * message was sent non-blocking, or will be delivered immediately when the receiver calls - * msg_receive(msg_t* m). To use asynchronous messaging any thread can create its own queue by - * calling msg_init_queue(msg_t* array, int num). Messages sent to a thread with a non full message - * queue are never dropped and the sending never blocks. Threads with a full message queue behaves - * like in synchronous mode. +/* + * Copyright (C) 2013 Freie Universität Berlin * - * @defgroup kernel_msg Messaging / IPC - * @ingroup kernel - * @{ + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. */ /** - * @file + * @defgroup core_msg Messaging / IPC + * @ingroup core + * @brief Messaging API for inter process communication + * + * There are two ways to use the IPC Messaging system of RIOT. The default is synchronous + * messaging. In this manner, messages are either dropped when the receiver is not waiting and the + * message was sent non-blocking, or will be delivered immediately when the receiver calls + * msg_receive(msg_t* m). To use asynchronous messaging any thread can create its own queue by + * calling msg_init_queue(msg_t* array, int num). Messages sent to a thread with a non full message + * queue are never dropped and the sending never blocks. Threads with a full message queue behaves + * like in synchronous mode. + * + * @{ + * + * @file msg.h + * @brief Messaging API for inter process communication + * * @author Freie Universität Berlin, Computer Systems & Telematics * @author Kaspar Schleiser */ diff --git a/core/include/mutex.h b/core/include/mutex.h index bcf72395b4..d59d049539 100644 --- a/core/include/mutex.h +++ b/core/include/mutex.h @@ -1,11 +1,20 @@ -/** - * @defgroup mutex Mutexes / Synchronization - * @ingroup kernel - * @{ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. */ /** - * @file + * @defgroup core_sync Synchronization + * @brief Mutex for thread synchronization + * @ingroup core + * @{ + * + * @file mutex.h + * @brief RIOT synchronization API + * * @author Freie Universität Berlin, Computer Systems & Telematics * @author Kaspar Schleiser */ @@ -74,4 +83,3 @@ void mutex_wait(struct mutex_t *mutex); /** @} */ #endif /* _MUTEX_H */ - diff --git a/core/include/oneway_malloc.h b/core/include/oneway_malloc.h index 76946dfd04..715c915c71 100644 --- a/core/include/oneway_malloc.h +++ b/core/include/oneway_malloc.h @@ -1,7 +1,18 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + /** - * @ingroup kernel + * @addtogroup core_util * @{ - * @file + * + * @file oneway_malloc.h + * @brief Malloc interface + * * @author Freie Universität Berlin, Computer Systems & Telematics * @author Kaspar Schleiser */ diff --git a/core/include/queue.h b/core/include/queue.h index c2eef138f2..13ff782846 100644 --- a/core/include/queue.h +++ b/core/include/queue.h @@ -1,7 +1,20 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + /** - * @ingroup kernel + * @addtogroup core_util * @{ - * @file + * + * @file queue.h + * @brief A simple queue implementation + * + * TODO document functions and datastructures + * * @author Freie Universität Berlin, Computer Systems & Telematics * @author Kaspar Schleiser */ @@ -37,4 +50,4 @@ void queue_print_node(queue_node_t *node); #endif /** @} */ -#endif // __QUEUE_H +#endif /* __QUEUE_H */ diff --git a/core/include/sched.h b/core/include/sched.h index 1249bc81b2..8d97bf16cb 100644 --- a/core/include/sched.h +++ b/core/include/sched.h @@ -1,7 +1,20 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + /** - * @ingroup kernel + * @defgroup core_sched Scheduler + * @ingroup core + * @brief The RIOT scheduler * @{ + * * @file sched.h + * @brief Scheduler API definion + * * @author Freie Universität Berlin, Computer Systems & Telematics * @author Kaspar Schleiser */ diff --git a/core/include/tcb.h b/core/include/tcb.h index 018150db2c..7655b56d7b 100644 --- a/core/include/tcb.h +++ b/core/include/tcb.h @@ -1,16 +1,21 @@ -/** - * @ingroup kernel - * @{ - * @file - * @author Freie Universität Berlin, Computer Systems & Telematics - * @author Kaspar Schleiser - */ - /* - * tcb.h + * Copyright (C) 2013 Freie Universität Berlin * - * Created on: 19.08.2008 - * Author: heiko, kaspar + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + +/** + * @addtogroup core_thread + * @{ + * + * @file tcb.h + * @brief Thread context block definition + * + * @author Freie Universität Berlin, Computer Systems & Telematics + * @author Heiko Will + * @author Kaspar Schleiser */ #ifndef TCB_H_ @@ -23,17 +28,17 @@ #include /* uneven means has to be on runqueue */ -#define STATUS_NOT_FOUND (0x0000) -#define STATUS_ON_RUNQUEUE (0x0001) -#define STATUS_RUNNING (0x0002 + STATUS_ON_RUNQUEUE) -#define STATUS_PENDING (0x0004 + STATUS_ON_RUNQUEUE) -#define STATUS_STOPPED (0x0008) -#define STATUS_SLEEPING (0x0010) -#define STATUS_MUTEX_BLOCKED (0x0020) -#define STATUS_RECEIVE_BLOCKED (0x0040) -#define STATUS_SEND_BLOCKED (0x0080) -#define STATUS_REPLY_BLOCKED (0x0100) -#define STATUS_TIMER_WAITING (0x0200) +#define STATUS_NOT_FOUND (0x0000) +#define STATUS_ON_RUNQUEUE (0x0001) +#define STATUS_RUNNING (0x0002 + STATUS_ON_RUNQUEUE) +#define STATUS_PENDING (0x0004 + STATUS_ON_RUNQUEUE) +#define STATUS_STOPPED (0x0008) +#define STATUS_SLEEPING (0x0010) +#define STATUS_MUTEX_BLOCKED (0x0020) +#define STATUS_RECEIVE_BLOCKED (0x0040) +#define STATUS_SEND_BLOCKED (0x0080) +#define STATUS_REPLY_BLOCKED (0x0100) +#define STATUS_TIMER_WAITING (0x0200) typedef struct tcb_t { char *sp; diff --git a/core/include/thread.h b/core/include/thread.h index 8fc747dbfa..a6e56d684e 100644 --- a/core/include/thread.h +++ b/core/include/thread.h @@ -1,24 +1,34 @@ -#ifndef __THREAD_H -#define __THREAD_H - -/** - * @defgroup thread Threading - * @ingroup kernel - * @{ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. */ /** - * @file + * @defgroup core_thread Threading + * @ingroup core + * @brief Support for multi-threading + * @{ + * + * @file thread.h + * @brief Threading API + * * @author Freie Universität Berlin, Computer Systems & Telematics * @author Kaspar Schleiser */ +#ifndef __THREAD_H +#define __THREAD_H + + #include #include /** Minimum stack size */ #ifndef MINIMUM_STACK_SIZE -#define MINIMUM_STACK_SIZE (sizeof(tcb_t)) +#define MINIMUM_STACK_SIZE (sizeof(tcb_t)) #endif /** diff --git a/core/kernel_init.c b/core/kernel_init.c index 70174e0a92..3ee1381ebc 100644 --- a/core/kernel_init.c +++ b/core/kernel_init.c @@ -1,16 +1,20 @@ -/** - * platform-independent kernel initialization - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel + */ + +/** + * @ingroup core_internal * @{ - * @file - * @author Kaspar Schleiser + * + * @file kernel_init.c + * @brief Platform-independent kernel initilization + * + * @author Kaspar Schleiser + * * @} */ diff --git a/core/lifo.c b/core/lifo.c index b916546af7..e66d89b0d5 100644 --- a/core/lifo.c +++ b/core/lifo.c @@ -1,3 +1,21 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + +/** + * @ingroup core_util + * @{ + * + * @file lifo.c + * @brief LIFO buffer implementation + * + * @} + */ + #include int lifo_empty(int *array) diff --git a/core/msg.c b/core/msg.c index 046e1c9831..f73bdec5f6 100644 --- a/core/msg.c +++ b/core/msg.c @@ -1,18 +1,22 @@ -/** - * kernel messaging implementation - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel_msg + */ + +/** + * @ingroup core_msg * @{ + * * @file - * @author Freie Universität Berlin, Computer Systems & Telematics, FeuerWhere project - * @author Kaspar Schleiser - * @author Oliver Hahm + * @brief Kernel messaging implementation + * + * @author Freie Universität Berlin, Computer Systems & Telematics, FeuerWhere project + * @author Kaspar Schleiser + * @author Oliver Hahm + * * @} */ diff --git a/core/mutex.c b/core/mutex.c index fed10252de..1de5841963 100644 --- a/core/mutex.c +++ b/core/mutex.c @@ -1,16 +1,20 @@ -/** - * kernel mutex implementation - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel + */ + +/** + * @ingroup core_sync * @{ - * @file - * @author Kaspar Schleiser + * + * @file mutex.c + * @brief Kernel mutex implementation + * + * @author Kaspar Schleiser + * * @} */ @@ -113,4 +117,3 @@ void mutex_unlock(struct mutex_t *mutex) restoreIRQ(irqstate); } - diff --git a/core/oneway_malloc.c b/core/oneway_malloc.c index 2a3d7b3c9e..fb4e952a96 100644 --- a/core/oneway_malloc.c +++ b/core/oneway_malloc.c @@ -1,4 +1,4 @@ -/** +/* * simple malloc wrapper for sbrk * * Needed on platforms without malloc in libc, e.g. msb430 @@ -8,11 +8,18 @@ * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel + +/** + * @ingroup core_util * @{ - * @file - * @author Kaspar Schleiser + * + * @file oneway_malloc.c + * @brief Simple malloc wrapper for SBRK + * + * Simple malloc implementation for plattforms without malloc in libc. + * + * @author Kaspar Schleiser + * * @} */ @@ -63,4 +70,3 @@ void _free(void *ptr) DEBUG("_free(): block at 0x%X lost.\n", (unsigned int)ptr); } - diff --git a/core/queue.c b/core/queue.c index 0da47c1c9f..44e857d66f 100644 --- a/core/queue.c +++ b/core/queue.c @@ -1,16 +1,20 @@ -/** - * simple queue implementation - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel + */ + +/** + * @ingroup core_util * @{ - * @file - * @author Kaspar Schleiser + * + * @file queue.c + * @brief A simple queue implementation + * + * @author Freie Universität Berlin, Computer Systems & Telematics + * @author Kaspar Schleiser * @} */ diff --git a/core/sched.c b/core/sched.c index c391e72f30..da27f02f5d 100644 --- a/core/sched.c +++ b/core/sched.c @@ -1,21 +1,26 @@ -/** - * The RIOT scheduler implementation - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * TODO: setup dependency from SCHEDSTATISTICS to MODULE_HWTIMER - * - * @ingroup kernel + */ + +/** + * @ingroup core_shed * @{ - * @file - * @author Kaspar Schleiser + * + * @file shed.c + * @brief Scheduler implementation + * + * @author Freie Universität Berlin, Computer Systems & Telematics + * @author Kaspar Schleiser + * * @} */ +/* TODO: setup dependency from SCHEDSTATISTICS to MODULE_HWTIMER */ + #include #include #include @@ -215,4 +220,3 @@ void sched_task_exit(void) active_thread = NULL; cpu_switch_context_exit(); } - diff --git a/core/thread.c b/core/thread.c index c2c85edd79..339d250306 100644 --- a/core/thread.c +++ b/core/thread.c @@ -1,16 +1,20 @@ -/** - * thread functions - * +/* * Copyright (C) 2013 Freie Universität Berlin * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup kernel + */ + +/** + * @ingroup core_thread * @{ - * @file - * @author Kaspar Schleiser + * + * @file thread.c + * @brief Threading implementation + * + * @author Kaspar Schleiser + * * @} */ @@ -233,4 +237,3 @@ int thread_create(char *stack, int stacksize, char priority, int flags, void (*f return pid; } - diff --git a/cpu/arm_common/arm_cpu.c b/cpu/arm_common/arm_cpu.c index c70273e6e8..429088f836 100644 --- a/cpu/arm_common/arm_cpu.c +++ b/cpu/arm_common/arm_cpu.c @@ -8,7 +8,7 @@ * Public License. See the file LICENSE in the top level directory for more * details. * - * @ingroup arch + * @ingroup arm_common * @{ * @file * @author Kaspar Schleiser diff --git a/cpu/cc430/doc.txt b/cpu/cc430/doc.txt new file mode 100644 index 0000000000..5e21f3547b --- /dev/null +++ b/cpu/cc430/doc.txt @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + +/** + * @defgroup cc430 TI CC430 + * @brief Texas Instruments CC430 specific code + * @ingroup cpu + */ diff --git a/cpu/doc.txt b/cpu/doc.txt new file mode 100644 index 0000000000..8f884e59b1 --- /dev/null +++ b/cpu/doc.txt @@ -0,0 +1,16 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + +/** + * @defgroup cpu CPU + * @brief CPU specific implementations + * + * This module contains all CPU specific source files. In case of multiple CPUs + * sharing the same architecture, the implementation is split in a cpu specific + * and a architecture specific part (eg. arm-common and lpc2387). + */ diff --git a/cpu/lpc2387/gpioint/lpc2387-gpioint.c b/cpu/lpc2387/gpioint/lpc2387-gpioint.c index 2d34c673c7..9654092308 100644 --- a/cpu/lpc2387/gpioint/lpc2387-gpioint.c +++ b/cpu/lpc2387/gpioint/lpc2387-gpioint.c @@ -12,7 +12,6 @@ See the file LICENSE in the top level directory for more details. /** * @ingroup lpc2387 - * @addtogroup dev_gpioint * @{ */ diff --git a/cpu/lpc2387/include/cpu.h b/cpu/lpc2387/include/cpu.h index 54806fd257..55d8f6ffef 100644 --- a/cpu/lpc2387/include/cpu.h +++ b/cpu/lpc2387/include/cpu.h @@ -16,6 +16,7 @@ See the file LICENSE in the top level directory for more details. /** * @defgroup lpc2387 NXP LPC2387 * @ingroup cpu + * @brief NXP LPC2387 specific code * @{ */ diff --git a/cpu/lpc_common/doc.txt b/cpu/lpc_common/doc.txt new file mode 100644 index 0000000000..f0cae38184 --- /dev/null +++ b/cpu/lpc_common/doc.txt @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + +/** + * @defgroup lpc_common LPC common + * @brief Common code for all arm-based LPC controllers + * @ingroup cpu + */ diff --git a/cpu/mc1322x/include/cpu.h b/cpu/mc1322x/include/cpu.h index eb57ca9f79..7ba2c7980b 100644 --- a/cpu/mc1322x/include/cpu.h +++ b/cpu/mc1322x/include/cpu.h @@ -5,6 +5,12 @@ * This source code is licensed under the GNU Lesser General Public License, * Version 2. See the file LICENSE for more details. */ + +/** + * @defgroup mc1322x Freescale MC1322x + * @ingroup cpu + * @brief Freescale MC1322x specific code + */ #ifndef CPU_H #define CPU_H diff --git a/cpu/msp430-common/include/cpu.h b/cpu/msp430-common/include/cpu.h index 9e5c7fe282..562de619e4 100644 --- a/cpu/msp430-common/include/cpu.h +++ b/cpu/msp430-common/include/cpu.h @@ -16,6 +16,7 @@ See the file LICENSE in the top level directory for more details. /** * @defgroup msp430 TI MSP430 * @ingroup cpu + * @brief Texas Instruments MSP430 specific code

First steps

\li See the manual for toolchain and ide setup diff --git a/cpu/native/include/cpu.h b/cpu/native/include/cpu.h index 2b4e59654a..60e2f3c0fe 100644 --- a/cpu/native/include/cpu.h +++ b/cpu/native/include/cpu.h @@ -13,6 +13,8 @@ /** * @ingroup arch * @defgroup native_cpu Native CPU + * @ingroup cpu + * @brief CPU abstraction for the native port * @{ * @author Ludwig Ortmann */ diff --git a/cpu/native/include/nativenet.h b/cpu/native/include/nativenet.h index 184604002f..9e5a75b3b1 100644 --- a/cpu/native/include/nativenet.h +++ b/cpu/native/include/nativenet.h @@ -16,7 +16,8 @@ */ /** - * @defgroup native_net + * @defgroup native_net + * @ingroup native_cpu * @{ * @author Ludwig Ortmann */ diff --git a/drivers/cc110x/cc1100.h b/drivers/cc110x/cc1100.h index 4fac1cbf00..3b7975233b 100644 --- a/drivers/cc110x/cc1100.h +++ b/drivers/cc110x/cc1100.h @@ -13,8 +13,9 @@ and Telematics group (http://cst.mi.fu-berlin.de). *******************************************************************************/ /** - * @defgroup dev_cc110x TI Chipcon CC110x radio driver - * @ingroup dev + * @defgroup drivers_cc110x CC110x + * @ingroup drivers + * @brief Texas Instruments CC110x driver * *

Quick links

* \li \ref cc1100_packet_layer0_t MAC packet format diff --git a/drivers/cc110x_ng/cc110x-defaultSettings.c b/drivers/cc110x_ng/cc110x-defaultSettings.c index 3de2bf35b2..a5dc73a846 100644 --- a/drivers/cc110x_ng/cc110x-defaultSettings.c +++ b/drivers/cc110x_ng/cc110x-defaultSettings.c @@ -9,11 +9,9 @@ */ /** - * @ingroup dev_cc110x + * @ingroup drivers_cc110x_ng * @{ - */ - -/** + * * @file * @brief TI Chipcon CC110x default settings * @@ -24,6 +22,7 @@ * @author Oliver Hahm * * @note $Id: cc110x-defaultSettings.c 2058 2010-03-31 08:59:31Z hillebra $ + * @} */ #include "cc110x-defaultSettings.h" @@ -121,6 +120,3 @@ uint8_t pa_table[] = { ///< PATABLE with available output powers 0xC6, ///< + 9 dBm 0xC3 ///< +10 dBm }; // If PATABLE is changed in size, adjust MAX_OUTPUT_POWER definition in CC1100 interface! - - -/** @} */ diff --git a/drivers/cc110x_ng/cc110x-rx.c b/drivers/cc110x_ng/cc110x-rx.c index c9127571bd..0492ca9bc4 100644 --- a/drivers/cc110x_ng/cc110x-rx.c +++ b/drivers/cc110x_ng/cc110x-rx.c @@ -1,20 +1,20 @@ -/** - * Functions for packet reception on cc110x - * +/* * Copyright (C) 2009 Freie Universität Berlin * Copyright (C) 2013 INRIA * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup dev_cc110x_ng - * @{ - * @file - * @author Oliver Hahm - * @} */ +/** + * @ingroup drivers_cc110x_ng + * @{ + * @file cc110x-rx.c + * @brief Functions for packet reception on cc110x + * @author Oliver Hahm + * @} + */ #include #include #include diff --git a/drivers/cc110x_ng/cc110x-tx.c b/drivers/cc110x_ng/cc110x-tx.c index a4ba933f99..62c1e68cce 100644 --- a/drivers/cc110x_ng/cc110x-tx.c +++ b/drivers/cc110x_ng/cc110x-tx.c @@ -1,20 +1,20 @@ -/** - * Functions for packet transmission on cc110x - * +/* * Copyright (C) 2009 Freie Universität Berlin * Copyright (C) 2013 INRIA * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup dev_cc110x_ng - * @{ - * @file - * @author Oliver Hahm - * @} */ +/** + * @ingroup drivers_cc110x_ng + * @{ + * @file cc110x-tx.c + * @brief Functions for packet transmission on cc110x + * @author Oliver Hahm + * @} + */ #include #include diff --git a/drivers/cc110x_ng/cc110x.c b/drivers/cc110x_ng/cc110x.c index 53f75b99d8..bf7e149641 100644 --- a/drivers/cc110x_ng/cc110x.c +++ b/drivers/cc110x_ng/cc110x.c @@ -1,17 +1,19 @@ -/** - * Basic functionality of cc110x driver - * +/* * Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 INRIA * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup dev_cc110x_ng + */ + +/** + * @ingroup drivers_cc110x_ng * @{ - * @file - * @author Oliver Hahm + * + * @file cc110x.c + * @brief Basic functionality of cc110x driver + * @author Oliver Hahm * @} */ #include diff --git a/drivers/cc110x_ng/include/cc110x-arch.h b/drivers/cc110x_ng/include/cc110x-arch.h index 78a22acad6..62865999a3 100644 --- a/drivers/cc110x_ng/include/cc110x-arch.h +++ b/drivers/cc110x_ng/include/cc110x-arch.h @@ -13,9 +13,11 @@ and Telematics group (http://cst.mi.fu-berlin.de). *******************************************************************************/ /** - * @file - * @ingroup LPC2387 - * @brief CC1100 LPC2387 dependend functions + * @ingroup drivers_cc110x_ng + * @{ + * + * @file cc110x-arch.h + * @brief CC1100 architecture dependent functions * * @author Freie Universität Berlin, Computer Systems & Telematics * @author Heiko Will @@ -23,6 +25,8 @@ and Telematics group (http://cst.mi.fu-berlin.de). * * @note $Id: arch_cc110x.h 1775 2010-01-26 09:37:03Z hillebra $ */ +#ifndef __CC1100_ARCH_H +#define __CC1100_ARCH_H #include @@ -36,3 +40,6 @@ void cc110x_init_interrupts(void); void cc110x_before_send(void); void cc110x_after_send(void); + +/** @} */ +#endif /* __CC1100_ARCH_H */ diff --git a/drivers/cc110x_ng/include/cc110x-config.h b/drivers/cc110x_ng/include/cc110x-config.h index adad57b9b4..ddd53f839c 100644 --- a/drivers/cc110x_ng/include/cc110x-config.h +++ b/drivers/cc110x_ng/include/cc110x-config.h @@ -8,11 +8,11 @@ * Public License. See the file LICENSE in the top level directory for more * details. * - * @ingroup dev_cc110x_ng + * @ingroup drivers_cc110x_ng * @{ - * @file + * + * @file cc110x-config.h * @author Oliver Hahm - * @} */ #ifndef CC1100_CONFIG_H #define CC1100_CONFIG_H @@ -108,4 +108,5 @@ typedef struct cc110x_statistic { uint32_t watch_dog_resets; } cc110x_statistic_t; -#endif +/** @} */ +#endif /* __CC110X_CONFIG_H */ diff --git a/drivers/cc110x_ng/include/cc110x-defaultSettings.h b/drivers/cc110x_ng/include/cc110x-defaultSettings.h index 80d0213096..37057830d4 100644 --- a/drivers/cc110x_ng/include/cc110x-defaultSettings.h +++ b/drivers/cc110x_ng/include/cc110x-defaultSettings.h @@ -12,11 +12,11 @@ and Telematics group (http://cst.mi.fu-berlin.de). * *******************************************************************************/ -#ifndef CC1100_DEFAULTSETTINGS_H -#define CC1100_DEFAULTSETTINGS_H +#ifndef __CC1100_DEFAULTSETTINGS_H +#define __CC1100_DEFAULTSETTINGS_H /** - * @ingroup dev_cc110x + * @ingroup drivers_cc110x_ng * @{ */ @@ -95,4 +95,4 @@ and Telematics group (http://cst.mi.fu-berlin.de). /** @} */ -#endif +#endif /* __CC110X_DEFAULTSETTINGS_H */ diff --git a/drivers/cc110x_ng/include/cc110x-internal.h b/drivers/cc110x_ng/include/cc110x-internal.h index 98bfeb4f84..20a7279270 100644 --- a/drivers/cc110x_ng/include/cc110x-internal.h +++ b/drivers/cc110x_ng/include/cc110x-internal.h @@ -1,40 +1,27 @@ -/** - * Driver internal constants for 110x chip configuration - * +/* * Copyright (C) 2008 Freie Universität Berlin * Copyright (C) 2013 INRIA * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. + */ + +/** + * @ingroup drivers_cc110x_ng + * @{ * - * @ingroup dev_cc110x_ng - * @{ * @file - * @author Oliver Hahm - * @} - */ - -#ifndef CC1100_INTERNAL_H -#define CC1100_INTERNAL_H - -/** - * @ingroup dev_cc110x - * @{ - */ - -/** - * @file - * @internal - * @brief TI Chipcon CC110x internal hardware constants + * @brief Driver internal constants for 110x chip configuration * * @author Freie Universität Berlin, Computer Systems & Telematics * @author Thomas Hillebrandt * @author Heiko Will - * @version $Revision: 1231 $ - * - * @note $Id: cc110x-internal.h 1231 2009-08-20 08:31:32Z baar $ + * @author Oliver Hahm */ +#ifndef CC1100_INTERNAL_H +#define CC1100_INTERNAL_H + #define FIXED_PKTLEN (0x00) ///< Fixed length packets, length configured in PKTLEN register. #define VARIABLE_PKTLEN (0x01) ///< Variable length packets, packet length configured by the first @@ -203,7 +190,7 @@ #define CC1100_PATABLE (0x3E) #define CC1100_TXFIFO (0x3F) ///< TX FIFO: Write operations write to the TX FIFO (SB: +0x00; BURST: +0x40) #define CC1100_RXFIFO (0x3F) ///< RX FIFO: Read operations read from the RX FIFO (SB: +0x80; BURST: +0xC0) - /** @} */ +/** @} */ #endif diff --git a/drivers/cc110x_ng/include/cc110x-reg.h b/drivers/cc110x_ng/include/cc110x-reg.h index f34d1f1cc1..df5318774b 100644 --- a/drivers/cc110x_ng/include/cc110x-reg.h +++ b/drivers/cc110x_ng/include/cc110x-reg.h @@ -1,15 +1,24 @@ -/** - * @file cc110x-reg.h - * @ingroup dev_cc110x_ng - * @brief Access to CC110X registers - * - * @author INRIA - * @author Oliver Hahm +/* + * Copyright (C) 2008 Freie Universität Berlin + * Copyright (C) 2013 INRIA * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. */ -#ifndef CC110X_REG_H -#define CC110X_REG_H +/** + * @ingroup drivers_cc110x_ng + * @{ + * + * @file cc110x-reg.h + * @brief Access to CC110X registers + * + * @author INRIA + * @author Oliver Hahm + */ +#ifndef __CC110X_REG_H +#define __CC110X_REG_H #include @@ -79,4 +88,5 @@ uint8_t cc110x_read_status(uint8_t addr); */ uint8_t cc110x_strobe(uint8_t c); -#endif +/** @} */ +#endif /* __CC110X_REG_H */ diff --git a/drivers/cc110x_ng/include/cc110x_ng.h b/drivers/cc110x_ng/include/cc110x_ng.h index e49c911590..be0558ee89 100644 --- a/drivers/cc110x_ng/include/cc110x_ng.h +++ b/drivers/cc110x_ng/include/cc110x_ng.h @@ -1,18 +1,20 @@ -/** - * Data structures and variables for the cc110x driver interface - * +/* * Copyright (C) 2009 Freie Universität Berlin * Copyright (C) 2013 INRIA * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file LICENSE in the top level directory for more * details. - * - * @ingroup dev_cc110x_ng + */ + +/** + * @defgroup drivers_cc110x_ng CC110x_ng + * @brief Next generation version of the TI CC110x driver + * @ingroup drivers * @{ - * @file + * @file cc110x_ng.h + * @brief Data structures and variables for the cc110x driver interface * @author Oliver Hahm - * @} */ #ifndef CC1100_H #define CC1100_H @@ -166,6 +168,8 @@ void cc110x_init_ignore(void); uint8_t cc110x_add_ignored(radio_address_t addr); #endif - +/** + * @} + */ #endif diff --git a/drivers/cc110x_ng/include/cc110x_spi.h b/drivers/cc110x_ng/include/cc110x_spi.h index 78bfa47a1c..08554f8531 100644 --- a/drivers/cc110x_ng/include/cc110x_spi.h +++ b/drivers/cc110x_ng/include/cc110x_spi.h @@ -13,13 +13,12 @@ and Telematics group (http://cst.mi.fu-berlin.de). *******************************************************************************/ /** - * @ingroup dev_cc110x + * @ingroup drivers_cc110x_ng * @{ */ /** * @file - * @internal * @brief TI Chipcon CC1100 SPI driver * * @author Freie Universität Berlin, Computer Systems & Telematics diff --git a/drivers/cc110x_ng/spi/cc110x_spi.c b/drivers/cc110x_ng/spi/cc110x_spi.c index bf4bb949d9..fb5f8bd3b6 100644 --- a/drivers/cc110x_ng/spi/cc110x_spi.c +++ b/drivers/cc110x_ng/spi/cc110x_spi.c @@ -13,13 +13,12 @@ and Telematics group (http://cst.mi.fu-berlin.de). *******************************************************************************/ /** - * @ingroup dev_cc110x + * @ingroup drivers_cc110x_ng * @{ */ /** * @file - * @internal * @brief TI Chipcon CC1100 SPI driver * * @author Freie Universität Berlin, Computer Systems & Telematics diff --git a/drivers/doc.txt b/drivers/doc.txt new file mode 100644 index 0000000000..f93b8894d5 --- /dev/null +++ b/drivers/doc.txt @@ -0,0 +1,14 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + +/** + * @defgroup drivers Drivers + * @brief Drivers for external devices as radios, sensors, memory etc. + * + * The module contains all kind of drivers for specific devices. + */ diff --git a/drivers/include/adc.h b/drivers/include/adc.h index 51ed971ef5..4136b12258 100644 --- a/drivers/include/adc.h +++ b/drivers/include/adc.h @@ -3,6 +3,13 @@ #include + +/** + * @defgroup drivers_adc ADC + * @ingroup drivers + * @brief Generic ADC driver + */ + /** * @brief Initialize ADC. */ diff --git a/drivers/include/diskio.h b/drivers/include/diskio.h index 0ed8b2b914..e83c80d956 100644 --- a/drivers/include/diskio.h +++ b/drivers/include/diskio.h @@ -2,6 +2,14 @@ / Low level disk interface modlue include file (C)ChaN, 2010 /-----------------------------------------------------------------------*/ +/** + * @defgroup diskio Disk IO Driver + * @ingroup drivers + * @brief Low level disk interface + * + * The connection between the MCU and the SRF08 is based on the i2c-interface. + */ + #ifndef DEF_DISKIO #define DEF_DISKIO diff --git a/drivers/include/flashrom.h b/drivers/include/flashrom.h index dd798423de..c7f78ce2cc 100644 --- a/drivers/include/flashrom.h +++ b/drivers/include/flashrom.h @@ -1,3 +1,12 @@ + + + +/** + * @defgroup flashrom Flash memory driver + * @ingroup drivers + * @brief Generic flash memory driver + */ + #ifndef FLASHROM_H #define FLASHROM_H diff --git a/drivers/include/gpioint.h b/drivers/include/gpioint.h index 17aa629eca..b4fc89903e 100644 --- a/drivers/include/gpioint.h +++ b/drivers/include/gpioint.h @@ -16,10 +16,9 @@ and Telematics group (http://cst.mi.fu-berlin.de). #define GPIOINT_H_ /** - * @defgroup dev_gpioint GPIO IRQ Multiplexer - * @ingroup dev - * - * Provides an API to implement interrupt handlers on IO pins. + * @defgroup drivers_gpioint GPIO IRQ Multiplexer + * @ingroup drivers + * @brief Provides an API to implement interrupt handlers on IO pins. * * Multiplexer and interrupt handling must be implemented platform specific. * diff --git a/drivers/include/lm75a-temp-sensor.h b/drivers/include/lm75a-temp-sensor.h index 6ce77ca611..5fccab68b7 100644 --- a/drivers/include/lm75a-temp-sensor.h +++ b/drivers/include/lm75a-temp-sensor.h @@ -7,6 +7,14 @@ * This source code is licensed under the LGPLv2 license, * See the file LICENSE for more details. */ + +/** + * @defgroup lm75a LM75A + * @ingroup drivers + * @brief Driver for the LM75A digital temperature sensor and thermal watchdog + * + * The connection between the MCU and the LM75A is based on the i2c-interface. + */ /** * @file diff --git a/drivers/include/ltc4150_arch.h b/drivers/include/ltc4150_arch.h index 3aded51129..db6c799dfe 100644 --- a/drivers/include/ltc4150_arch.h +++ b/drivers/include/ltc4150_arch.h @@ -16,8 +16,9 @@ and Telematics group (http://cst.mi.fu-berlin.de). #define __LTC4150_ARCH_H /** - * @defgroup ltc4150 LTC4150 Coulomb Counter + * @defgroup ltc4150 LTC4150 * @ingroup drivers + * @brief Driver for the Linear Technology LTC4150 Coulomb Counter * @{ */ diff --git a/drivers/include/rtc.h b/drivers/include/rtc.h index 6b9f6a5302..6799f0789c 100644 --- a/drivers/include/rtc.h +++ b/drivers/include/rtc.h @@ -13,8 +13,9 @@ and Telematics group (http://cst.mi.fu-berlin.de). *******************************************************************************/ /** - * @defgroup rtc Realtime Clock - * @ingroup drivers + * @defgroup rtc Realtime Clock + * @ingroup drivers + * @brief Generic real time clock driver * @{ */ diff --git a/drivers/include/sht11.h b/drivers/include/sht11.h index 9d05bc71bb..aa1f9e3aa3 100644 --- a/drivers/include/sht11.h +++ b/drivers/include/sht11.h @@ -16,7 +16,7 @@ and Telematics group (http://cst.mi.fu-berlin.de). #define SHT11_H_ /** - * @defgroup sht11 Sensirion SHT11 Driver + * @defgroup sht11 SHT11 * @ingroup drivers * @{ */ diff --git a/drivers/include/srf02-ultrasonic-sensor.h b/drivers/include/srf02-ultrasonic-sensor.h index f27895a726..c7c144e61d 100644 --- a/drivers/include/srf02-ultrasonic-sensor.h +++ b/drivers/include/srf02-ultrasonic-sensor.h @@ -6,6 +6,14 @@ * * This source code is licensed under the LGPLv2 license, * See the file LICENSE for more details. + */ + +/** + * @defgroup srf02 SRF02 + * @ingroup drivers + * @brief Driver for the SRF02 ultrasonic range sensor + * + * The connection between the MCU and the SRF08 is based on the i2c-interface. */ /** diff --git a/drivers/include/srf08-ultrasonic-sensor.h b/drivers/include/srf08-ultrasonic-sensor.h index 8d78f46d9e..7749fafaca 100644 --- a/drivers/include/srf08-ultrasonic-sensor.h +++ b/drivers/include/srf08-ultrasonic-sensor.h @@ -6,6 +6,14 @@ * This source code is licensed under the LGPLv2 license, * See the file LICENSE for more details. */ + +/** + * @defgroup srf08 SRF08 + * @ingroup drivers + * @brief Driver for the SRF08 ultrasonic range sensor + * + * The connection between the MCU and the SRF08 is based on the i2c-interface. + */ /** * @file diff --git a/drivers/sht11/sht11.c b/drivers/sht11/sht11.c index 08e9f40325..bd3699da39 100644 --- a/drivers/sht11/sht11.c +++ b/drivers/sht11/sht11.c @@ -13,7 +13,9 @@ and Telematics group (http://cst.mi.fu-berlin.de). *******************************************************************************/ /** - * @ingroup sht11 + * @defgroup sht11 SHT11 + * @ingroup drivers + * @brief Driver for the Sensirion SHT11 humidity and temperature sensor * @{ */ diff --git a/sys/doc.txt b/sys/doc.txt new file mode 100644 index 0000000000..0dcd8b3a55 --- /dev/null +++ b/sys/doc.txt @@ -0,0 +1,12 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + +/** + * @defgroup sys System + * @brief System library contains tools and utilities that make RIOT an actual operating system + */ diff --git a/sys/include/auto_init.h b/sys/include/auto_init.h index a8d1b61d8d..86876fcc32 100644 --- a/sys/include/auto_init.h +++ b/sys/include/auto_init.h @@ -1,3 +1,10 @@ + +/** + * @defgroup sys_autoinit Auto-init + * @ingroup sys + * @brief Autoconfigure libraries + */ + #ifndef AUTO_INIT_H #define AUTO_INIT_H diff --git a/sys/include/bloom.h b/sys/include/bloom.h index e149a625ec..02628d85dd 100644 --- a/sys/include/bloom.h +++ b/sys/include/bloom.h @@ -1,3 +1,10 @@ + +/** + * @defgroup sys_bloom Bloom filter + * @ingroup sys + * @brief Bloom filter library + */ + /** * bloom.c * diff --git a/sys/include/board_uart0.h b/sys/include/board_uart0.h index 1fa131d2f9..7b6de7af7e 100644 --- a/sys/include/board_uart0.h +++ b/sys/include/board_uart0.h @@ -1,3 +1,10 @@ + +/** + * @defgroup sys_uart0 UART0 + * @ingroup sys + * @brief UART0 interface abstraction + */ + #ifndef __BOARD_UART0_H #define __BOARD_UART0_H diff --git a/sys/include/chardev_thread.h b/sys/include/chardev_thread.h index 7615abfe9e..1d2b8a5cd3 100644 --- a/sys/include/chardev_thread.h +++ b/sys/include/chardev_thread.h @@ -1,3 +1,10 @@ + +/** + * @defgroup sys_chardevthread Chardev Thread + * @ingroup sys + * @brief Chardev thread + */ + #ifndef __CHARDEV_THREAD_H #define __CHARDEV_THREAD_H diff --git a/sys/include/hashes.h b/sys/include/hashes.h index 881d1fbe94..636c726a01 100644 --- a/sys/include/hashes.h +++ b/sys/include/hashes.h @@ -8,6 +8,12 @@ * details. */ +/** + * @defgroup sys_hashes Hashes + * @ingroup sys + * @brief Hash function library + */ + /** * @file * @autor Jason Linehan diff --git a/sys/include/ping.h b/sys/include/ping.h index 7f51fd6666..d671d8aee6 100644 --- a/sys/include/ping.h +++ b/sys/include/ping.h @@ -1,3 +1,10 @@ + +/** + * @defgroup sys_ping Ping + * @ingroup sys + * @brief Ping + */ + #include "radio/radio.h" void init_payload(void); diff --git a/sys/include/posix_io.h b/sys/include/posix_io.h index 9f880b82da..df11cff337 100644 --- a/sys/include/posix_io.h +++ b/sys/include/posix_io.h @@ -1,4 +1,4 @@ -/** +/* * Copyright (C) 2013 INRIA. * * This file is subject to the terms and conditions of the GNU Lesser General @@ -6,8 +6,10 @@ * details. */ -/** - * @addtogroup posix +/** + * @defgroup sys_posixio Posix IO + * @ingroup sys + * @brief Posix compatible IO * @{ * @file * @brief POSIX-like IO diff --git a/sys/include/ps.h b/sys/include/ps.h index 12093cbf55..010272a300 100644 --- a/sys/include/ps.h +++ b/sys/include/ps.h @@ -1,3 +1,10 @@ + +/** + * @defgroup sys_ps PS + * @ingroup sys + * @brief Show list with all threads + */ + #ifndef __PS_H #define __PS_H diff --git a/sys/include/random.h b/sys/include/random.h index 3ae032cc42..e4295b3f5a 100644 --- a/sys/include/random.h +++ b/sys/include/random.h @@ -1,3 +1,10 @@ + +/** + * @defgroup sys_random Random + * @ingroup sys + * @brief Random number generator + */ + #include #ifndef PRNG_FLOAT diff --git a/sys/include/sha256.h b/sys/include/sha256.h index 288bb2d7e6..aa9f30e59b 100644 --- a/sys/include/sha256.h +++ b/sys/include/sha256.h @@ -26,6 +26,13 @@ * * $FreeBSD: src/lib/libmd/sha256.h,v 1.1.2.1 2005/06/24 13:32:25 cperciva Exp $ */ + + +/** + * @defgroup sys_sha256 SHA264 + * @ingroup sys + * @brief SHA264 hash generator + */ #ifndef _SHA256_H_ #define _SHA256_H_ diff --git a/sys/include/shell.h b/sys/include/shell.h index 64a9b45751..ad17509180 100644 --- a/sys/include/shell.h +++ b/sys/include/shell.h @@ -12,14 +12,15 @@ * *******************************************************************************/ +/** + * @defgroup sys_shell Shell + * @ingroup sys + * @brief Simple shell interpreter + */ + #ifndef __SHELL_H #define __SHELL_H -/** - * @defgroup shell Simple Shell Interpreter - * @ingroup feuerware - */ - typedef struct shell_command_t { char *name; char *desc; diff --git a/sys/include/timex.h b/sys/include/timex.h index 817b22bf8c..e0b9a99b69 100644 --- a/sys/include/timex.h +++ b/sys/include/timex.h @@ -1,3 +1,10 @@ + +/** + * @defgroup sys_timex Timex + * @ingroup sys + * @brief Utility library for comparing and computing timestamps + */ + #ifndef __TIMEX_H #define __TIMEX_H diff --git a/sys/include/transceiver.h b/sys/include/transceiver.h index 80d6e62118..b9c818faf5 100644 --- a/sys/include/transceiver.h +++ b/sys/include/transceiver.h @@ -1,3 +1,10 @@ + +/** + * @defgroup sys_transceiver Transceiver + * @ingroup sys + * @brief Transceiver library + */ + #ifndef TRANSCEIVER_H #define TRANSCEIVER_H diff --git a/sys/include/vtimer.h b/sys/include/vtimer.h index 2793ade535..e1d5e09e39 100644 --- a/sys/include/vtimer.h +++ b/sys/include/vtimer.h @@ -1,4 +1,4 @@ -/** \addtogroup system +/** \addtogroup sys * @{ */ /** diff --git a/sys/net/doc.txt b/sys/net/doc.txt new file mode 100644 index 0000000000..810b73ffef --- /dev/null +++ b/sys/net/doc.txt @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2013 Freie Universität Berlin + * + * This file subject to the terms and conditions of the GNU Lesser General + * Public License. See the file LICENSE in the top level directory for more + * details. + */ + +/** + * @defgroup net Net + * @ingroup sys + * @brief Networking libraries + */ diff --git a/sys/net/include/ieee802154_frame.h b/sys/net/include/ieee802154_frame.h index 224684a5b1..d75056e8bc 100644 --- a/sys/net/include/ieee802154_frame.h +++ b/sys/net/include/ieee802154_frame.h @@ -7,7 +7,9 @@ * Public License. See the file LICENSE in the top level directory for more * details. * + * @defgroup net_ieee802154 IEEE802.15.4 * @ingroup net + * @brief IEEE802.15.4 adapaption layer * @{ * @file ieee802154/ieee802154_frame.h * @brief IEEE 802.14.4 framing data structs and prototypes diff --git a/sys/net/include/net_help.h b/sys/net/include/net_help.h index 8db17e7d54..8ef9c5994f 100644 --- a/sys/net/include/net_help.h +++ b/sys/net/include/net_help.h @@ -5,6 +5,12 @@ * Author: Oliver */ +/** + * @defgroup net_help Net help + * @ingroup net + * @brief Helper functions for networking as byte order conversions and checksum calculations + */ + #ifndef COMMON_H_ #define COMMON_H_ #include diff --git a/sys/net/include/protocol-multiplex.h b/sys/net/include/protocol-multiplex.h index f9929916db..d8ff545364 100644 --- a/sys/net/include/protocol-multiplex.h +++ b/sys/net/include/protocol-multiplex.h @@ -16,7 +16,9 @@ and Telematics group (http://cst.mi.fu-berlin.de). #define PROTOCOLMULTIPLEX_H_ /** - * @addtogroup net + * @defgroup net_mmstack Protocol multiplex + * @ingroup net + * @brief Protocol handler multiplexing * @{ */ diff --git a/sys/net/rpl/rpl.h b/sys/net/rpl/rpl.h index 6c2e8a8ecf..cc10affc67 100644 --- a/sys/net/rpl/rpl.h +++ b/sys/net/rpl/rpl.h @@ -7,7 +7,9 @@ * Public License. See the file LICENSE in the top level directory for more * details. * - * @ingroup rpl + * @defgroup net_rpl RPL + * @ingroup net + * @brief Routing Protocol for Low power and Lossy Networks * @{ * @file rpl.h * @brief RPL header diff --git a/sys/net/sixlowpan/lowpan.h b/sys/net/sixlowpan/lowpan.h index ebf4ea44cc..1299559e8c 100644 --- a/sys/net/sixlowpan/lowpan.h +++ b/sys/net/sixlowpan/lowpan.h @@ -7,7 +7,9 @@ * Public License. See the file LICENSE in the top level directory for more * details. * - * @ingroup sixlowpan + * @defgroup net_sixlowpan 6LoWPAN + * @ingroup net + * @brief Riots 6LowPAN implementation * @{ * @file sixlowpan.h * @brief 6lowpan header