1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-16 10:03:50 +01:00

Fixed doxygen comments, focused on file headers and group definitions

This commit is contained in:
Hauke Petersen 2013-11-27 16:28:31 +01:00
parent 0aa240a1c0
commit 3785fe956b
91 changed files with 918 additions and 407 deletions

View File

@ -1,17 +1,22 @@
/** /*
* bit arithmetic helper functions
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
*/
/**
* @ingroup core_util
* @{
* *
* \ingroup bitarithm * @file bitarithm.c
* \{ * @brief Bit arithmetic helper functions implementation
* \file *
* \author Kaspar Schleiser <kaspar@schleiser.de> * @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
* \} * @author Martin Lenders <mlenders@inf.fu-berlin.de>
*
* @}
*/ */
#include <stdio.h> #include <stdio.h>

View File

@ -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 <cib.h> #include <cib.h>
void cib_init(cib_t *cib, unsigned int size) void cib_init(cib_t *cib, unsigned int size)

View File

@ -1,16 +1,20 @@
/** /*
* simple circular linked list
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @ingroup kernel
/**
* @ingroup core_util
* @{ * @{
* @file *
* @author Kaspar Schleiser <kaspar@schleiser.de> * @file clist.c
* @brief Circular linked list implementation
*
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
*
* @} * @}
*/ */

27
core/doc.txt Normal file
View File

@ -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
*/

View File

@ -1,19 +1,23 @@
/** /*
* hardware timer abstraction
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @ingroup kernel
/**
* @ingroup core_hwtimer
* @{ * @{
* @file *
* @file hwtimer.c
* @brief Hardware timer abstraction implementation
*
* @author Heiko Will <hwill@inf.fu-berlin.de> * @author Heiko Will <hwill@inf.fu-berlin.de>
* @author Thomas Hillebrandt <hillebra@inf.fu-berlin.de> * @author Thomas Hillebrandt <hillebra@inf.fu-berlin.de>
* @author Kaspar Schleiser <kaspar@schleiser.de> * @author Kaspar Schleiser <kaspar@schleiser.de>
* @author Oliver Hahm <oliver.hahm@fu-berlin.de> * @author Oliver Hahm <oliver.hahm@fu-berlin.de>
*
* @} * @}
*/ */

View File

@ -1,17 +1,20 @@
/** /*
* atomic function declarations
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @ingroup kernel
/**
* @addtogroup core_util
* @{ * @{
* @file *
* @author Freie Universität Berlin, Computer Systems & Telematics * @file atomic.h
* @author Kaspar Schleiser <kaspar@schleiser.de> * @brief Atomic function declarations
*
* @author Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
*/ */
#ifndef _ATOMIC_H #ifndef _ATOMIC_H
@ -23,7 +26,5 @@
extern unsigned int atomic_set_return(unsigned int *val, unsigned int set); extern unsigned int atomic_set_return(unsigned int *val, unsigned int set);
/** /** @} */
* @}
*/
#endif /* _ATOMIC_H */ #endif /* _ATOMIC_H */

View File

@ -1,30 +1,33 @@
/** /*
* Helper functions for bit arithmetic
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @defgroup bitarithm Bit Arithmetic
* @ingroup lib /**
* @addtogroup core_util
* @{ * @{
* @file *
* @author Freie Universität Berlin, Computer Systems & Telematics * @file bitarithm.h
* @author Kaspar Schleiser <kaspar@schleiser.de> * @brief Helper functions for bit arithmetic
*
* @author Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
* @author Martin Lenders <mlenders@inf.fu-berlin.de>
*/ */
#ifndef BITARITHM_H_ #ifndef BITARITHM_H_
#define BITARITHM_H_ #define BITARITHM_H_
#define BS(val, bit) ((val) & (bit)) #define BS(val, bit) ((val) & (bit))
#define BS_COND(condition, target, mask) (target) ^= ( (-(condition) ^ (target)) & (mask) ) #define BS_COND(condition, target, mask) (target) ^= ( (-(condition) ^ (target)) & (mask) )
#define SETBIT(val, bit) val |= (bit) #define SETBIT(val, bit) val |= (bit)
#define CLRBIT(val, bit) val &= (~(bit)) #define CLRBIT(val, bit) val &= (~(bit))
/** /**
* @name Single Bit Defines * @name Single Bit Defines
* @{ * @{
*/ */
#ifndef BIT0 #ifndef BIT0
@ -68,35 +71,32 @@
#define ARCH_32_BIT (__INT_MAX__ == 2147483647) #define ARCH_32_BIT (__INT_MAX__ == 2147483647)
/** /**
* @brief Returns the number of the highest '1' bit in a value * @brief Returns the number of the highest '1' bit in a value
* @param[in] v Input value * @param[in] v Input value
* @return Bit Number * @return Bit Number
* *
* Source: http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious * Source: http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious
*/ */
unsigned number_of_highest_bit(unsigned v); unsigned number_of_highest_bit(unsigned v);
/** /**
* @brief Returns the number of the lowest '1' bit in a value * @brief Returns the number of the lowest '1' bit in a value
* @param[in] v Input value - must be unequal to '0', otherwise the * @param[in] v Input value - must be unequal to '0', otherwise the
* function will produce an infinite loop * function will produce an infinite loop
* @return Bit Number * @return Bit Number
* *
* Source: http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious * Source: http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious
*/ */
unsigned number_of_lowest_bit(register unsigned v); unsigned number_of_lowest_bit(register unsigned v);
/** /**
* @brief Returns the number of bits set in a value * @brief Returns the number of bits set in a value
* @param[in] v Input value * @param[in] v Input value
* @return Number of set bits * @return Number of set bits
* *
* Source: http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious * Source: http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious
*/ */
unsigned number_of_bits_set(unsigned v); unsigned number_of_bits_set(unsigned v);
/** /** @} */
* @}
*/
#endif /* BITARITHM_H_ */ #endif /* BITARITHM_H_ */

View File

@ -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 #ifndef __CIB_H
#define __CIB_H #define __CIB_H
@ -12,4 +29,5 @@ int cib_get(cib_t *cib);
int cib_put(cib_t *cib); int cib_put(cib_t *cib);
int cib_avail(cib_t *cib); int cib_avail(cib_t *cib);
/** @} */
#endif /* __CIB_H */ #endif /* __CIB_H */

View File

@ -1,19 +1,20 @@
/** /*
* Circular linked list implementation
*
* Used by the scheduler
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @ingroup lib
/**
* @addtogroup core_util
* @{ * @{
* @file *
* @author Freie Universität Berlin, Computer Systems & Telematics * @file clist.h
* @author Kaspar Schleiser <kaspar@schleiser.de> * @brief Circular linkes list
*
* @author Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
*/ */
#ifndef __CLIST_H #ifndef __CLIST_H
@ -43,8 +44,6 @@ static inline void clist_advance(clist_node_t **list)
void clist_print(clist_node_t *clist); void clist_print(clist_node_t *clist);
#endif #endif
/** /** @} */
* @}
*/
#endif // __CLIST_H #endif // __CLIST_H

View File

@ -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 #ifndef CONFIG_H
#define CONFIG_H #define CONFIG_H
@ -36,4 +54,5 @@ uint8_t config_save(void);
*/ */
void config_load(void); void config_load(void);
/** @} */
#endif /* CONFIG_H */ #endif /* CONFIG_H */

View File

@ -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 * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
*
* @ingroup kernel
* @{
* @file
* @author Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar@schleiser.de>
* @}
*/ */
/**
* @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 <kaspar.schleiser@fu-berlin.de>
*/
#ifndef __DEBUG_H
#define __DEBUG_H
#include <stdio.h> #include <stdio.h>
#if ENABLE_DEBUG #if ENABLE_DEBUG
@ -27,3 +31,5 @@
#define DEBUG(...) #define DEBUG(...)
#endif #endif
/** @} */
#endif /* __DEBUG_H */

View File

@ -1,28 +1,28 @@
/** /*
* (misc flag definitions)
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @ingroup kernel
/**
* @addtogroup core_internal
* @{ * @{
* @file *
* @author Kaspar Schleiser <kaspar@schleiser.de> * @file flags.h
* @brief Misc flag definitions
*
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
*/ */
#ifndef _FLAGS_H #ifndef _FLAGS_H
#define _FLAGS_H #define _FLAGS_H
#define CREATE_SLEEPING (1) #define CREATE_SLEEPING (1)
#define AUTO_FREE (2) #define AUTO_FREE (2)
#define CREATE_WOUT_YIELD (4) #define CREATE_WOUT_YIELD (4)
#define CREATE_STACKTEST (8) #define CREATE_STACKTEST (8)
/** /** @} */
* @}
*/
#endif // _FLAGS_H #endif // _FLAGS_H

View File

@ -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 * The Hardware timers are directly mapped to hardware timers with minimum
* latency. They are intended for short intervals and to be used in time * 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. * interrupt context and must use the shortest possible execution time (e.g.
* set a flag and trigger a worker thread). * set a flag and trigger a worker thread).
* *
* <b>hwtimer must not be used within applications</b>, use \ref vtimer * <b>The hardware timer must not be used within applications</b>, use \ref vtimer
* instead. * instead.
* *
* @defgroup hwtimer Hardware timer
* @ingroup kernel
* @{ * @{
* @file
* *
* @author Freie Universität Berlin, Computer Systems & Telematics * @file hwtimer.h
* @author Heiko Will * @brief HW-timer abstraction
* @author Kaspar Schleiser <kaspar@schleiser.de>
* @author Michael Baar
* *
* Copyright (C) 2013 Freie Universität Berlin * @author Freie Universität Berlin, Computer Systems & Telematics
* * @author Heiko Will
* This file is subject to the terms and conditions of the GNU Lesser General * @author Kaspar Schleiser <kaspar@schleiser.de>
* Public License. See the file LICENSE in the top level directory for more * @author Michael Baar
* details.
*/ */
#ifndef __HWTIMER_H #ifndef __HWTIMER_H
@ -118,6 +122,10 @@ void hwtimer_spin(unsigned long ticks);
int hwtimer_active(void); int hwtimer_active(void);
/**
* @}
*/
/* internal */ /* internal */
/** /**

View File

@ -1,20 +1,24 @@
/** /*
* Hardware timer abstraction
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
*
* @ingroup kernel
* @{
* @file
* @author Freie Universität Berlin, Computer Systems & Telematics
* @author Thomas Hillebrandt <hillebra@inf.fu-berlin.de>
* @author Heiko Will <hwill@inf.fu-berlin.de>
* @author Kaspar Schleiser <kaspar@schleiser.de>
*/ */
/**
* @addtogroup core_hwtimer
* @{
*
* @file hwtimer_arch.h
* @brief Architecture specific hwtimer API
*
* @author Freie Universität Berlin, Computer Systems & Telematics
* @author Thomas Hillebrandt <hillebra@inf.fu-berlin.de>
* @author Heiko Will <hwill@inf.fu-berlin.de>
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
*/
#ifndef HWTIMER_ARCH_H_ #ifndef HWTIMER_ARCH_H_
#define HWTIMER_ARCH_H_ #define HWTIMER_ARCH_H_
@ -56,7 +60,5 @@ void hwtimer_arch_unset(short timer);
*/ */
unsigned long hwtimer_arch_now(void); unsigned long hwtimer_arch_now(void);
/** /** @} */
* @}
*/
#endif /* HWTIMER_ARCH_H_ */ #endif /* HWTIMER_ARCH_H_ */

View File

@ -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 * @file io.h
* @brief prototypes for system io functions * @brief Prototypes for system io functions
*
* @author INRIA * @author INRIA
* @author Oliver Hahm <oliver.hahm@inria.fr> * @author Oliver Hahm <oliver.hahm@inria.fr>
*/ */
#ifndef IO_H #ifndef IO_H
@ -12,5 +24,5 @@
int fw_puts(char *data, int count); int fw_puts(char *data, int count);
/** @} */ /** @} */
#endif /* IO_H */ #endif /* IO_H */

View File

@ -1,23 +1,26 @@
#ifndef IRQ_H_ /*
#define IRQ_H_ * Copyright (C) 2013 Freie Universität Berlin
/**
* @defgroup irq IRQ Handling
* @ingroup kernel
* *
* 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 * @brief IRQ driver interface
* *
* @author Freie Universität Berlin, Computer Systems & Telematics * @author Freie Universität Berlin, Computer Systems & Telematics
*
*/ */
#ifndef IRQ_H_
#define IRQ_H_
#include <stdbool.h> #include <stdbool.h>
/** /**
@ -54,5 +57,5 @@ void restoreIRQ(unsigned state);
*/ */
int inISR(void); int inISR(void);
/** @} */ // end of group dev_irq /** @} */
#endif /* IRQ_H_ */ #endif /* IRQ_H_ */

View File

@ -1,27 +1,25 @@
/** /*
* Kernel compile time configuration
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @ingroup kernel
/**
* @addtogroup core_internal
* @{ * @{
* @file *
* @author Freie Universität Berlin, Computer Systems & Telematics * @file kernel.h
* @author Kaspar Schleiser <kaspar@schleiser.de> * @brief Kernel compile time configuration
*
* @author Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
*/ */
#ifndef KERNEL_H_ #ifndef KERNEL_H_
#define KERNEL_H_ #define KERNEL_H_
/**
* @defgroup kernel Kernel
* @{
*/
#include <stdbool.h> #include <stdbool.h>
#include "config.h" #include "config.h"
#include "tcb.h" #include "tcb.h"
@ -30,15 +28,8 @@
#include "sched.h" #include "sched.h"
#include "cpu-conf.h" #include "cpu-conf.h"
/* ------------------------------------------------------------------------- */
/**
* @name Kernel Compile-Time Configuration
* @{
*/
/** /**
* @def KERNEL_CONF_STACKSIZE_DEFAULT * @def KERNEL_CONF_STACKSIZE_DEFAULT
* @ingroup conf
* @brief A reasonable default stack size that will suffice most smaller tasks * @brief A reasonable default stack size that will suffice most smaller tasks
*/ */
#ifndef KERNEL_CONF_STACKSIZE_DEFAULT #ifndef KERNEL_CONF_STACKSIZE_DEFAULT
@ -47,7 +38,6 @@
/** /**
* @def KERNEL_CONF_STACKSIZE_IDLE * @def KERNEL_CONF_STACKSIZE_IDLE
* @ingroup conf
* @brief Size of the idle task's stack in bytes * @brief Size of the idle task's stack in bytes
*/ */
#ifndef KERNEL_CONF_STACKSIZE_IDLE #ifndef KERNEL_CONF_STACKSIZE_IDLE
@ -65,14 +55,12 @@
/** /**
* @def KERNEL_CONF_STACKSIZE_MAIN * @def KERNEL_CONF_STACKSIZE_MAIN
* @ingroup conf
* @brief Size of the main task's stack in bytes * @brief Size of the main task's stack in bytes
*/ */
#ifndef KERNEL_CONF_STACKSIZE_MAIN #ifndef KERNEL_CONF_STACKSIZE_MAIN
#define KERNEL_CONF_STACKSIZE_MAIN (KERNEL_CONF_STACKSIZE_DEFAULT + KERNEL_CONF_STACKSIZE_PRINTF) #define KERNEL_CONF_STACKSIZE_MAIN (KERNEL_CONF_STACKSIZE_DEFAULT + KERNEL_CONF_STACKSIZE_PRINTF)
#endif #endif
/** @} */
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */

View File

@ -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 * @file kernel_internal.h
* @brief prototypes for kernel internal functions * @brief prototypes for kernel internal functions
*
* @author INRIA * @author INRIA
* @author Oliver Hahm <oliver.hahm@inria.fr> * @author Oliver Hahm <oliver.hahm@inria.fr>
*/ */
#ifndef KERNEL_INTERNAL_H_ #ifndef KERNEL_INTERNAL_H_
@ -41,5 +51,14 @@ void sched_task_exit(void);
*/ */
void thread_print_stack(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_ */ #endif /* KERNEL_INTERNAL_H_ */

View File

@ -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 #ifndef __LIFO_H
#define __LIFO_H #define __LIFO_H
@ -6,4 +23,5 @@ void lifo_init(int *array, int n);
void lifo_insert(int *array, int i); void lifo_insert(int *array, int i);
int lifo_get(int *array); int lifo_get(int *array);
/** @} */
#endif /* __LIFO_H */ #endif /* __LIFO_H */

View File

@ -1,24 +1,27 @@
#ifndef LPM_H_ /*
#define LPM_H_ * Copyright (C) 2013 Freie Universität Berlin
*
/** * This file subject to the terms and conditions of the GNU Lesser General
* @defgroup lpm Power Management * Public License. See the file LICENSE in the top level directory for more
* @ingroup kernel * details.
* @{
*/ */
/** /**
* @file * @defgroup core_lpm Power Management
* @brief Power Management Interface * @ingroup core
* @brief The kernels power management interface
* @{
* *
* @author Freie Universität Berlin, Computer Systems & Telematics * @file lpm.h
* @version $Revision$ * @brief Power management interface
* *
* This interface needs to be implemented for each platform. * 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 * @brief Available power modes

View File

@ -1,19 +1,29 @@
/** /*
* There are two ways to use the IPC Messaging system of RIOT. The default is synchronous * Copyright (C) 2013 Freie Universität Berlin
* 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.
* *
* @defgroup kernel_msg Messaging / IPC * This file subject to the terms and conditions of the GNU Lesser General
* @ingroup kernel * 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 Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar@schleiser.de> * @author Kaspar Schleiser <kaspar@schleiser.de>
*/ */

View File

@ -1,11 +1,20 @@
/** /*
* @defgroup mutex Mutexes / Synchronization * Copyright (C) 2013 Freie Universität Berlin
* @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_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 Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar@schleiser.de> * @author Kaspar Schleiser <kaspar@schleiser.de>
*/ */
@ -74,4 +83,3 @@ void mutex_wait(struct mutex_t *mutex);
/** @} */ /** @} */
#endif /* _MUTEX_H */ #endif /* _MUTEX_H */

View File

@ -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 Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar@schleiser.de> * @author Kaspar Schleiser <kaspar@schleiser.de>
*/ */

View File

@ -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 Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar@schleiser.de> * @author Kaspar Schleiser <kaspar@schleiser.de>
*/ */
@ -37,4 +50,4 @@ void queue_print_node(queue_node_t *node);
#endif #endif
/** @} */ /** @} */
#endif // __QUEUE_H #endif /* __QUEUE_H */

View File

@ -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 * @file sched.h
* @brief Scheduler API definion
*
* @author Freie Universität Berlin, Computer Systems & Telematics * @author Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar@schleiser.de> * @author Kaspar Schleiser <kaspar@schleiser.de>
*/ */

View File

@ -1,16 +1,21 @@
/**
* @ingroup kernel
* @{
* @file
* @author Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar@schleiser.de>
*/
/* /*
* tcb.h * Copyright (C) 2013 Freie Universität Berlin
* *
* Created on: 19.08.2008 * This file subject to the terms and conditions of the GNU Lesser General
* Author: heiko, kaspar * 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 <kaspar@schleiser.de>
*/ */
#ifndef TCB_H_ #ifndef TCB_H_
@ -23,17 +28,17 @@
#include <msg.h> #include <msg.h>
/* uneven means has to be on runqueue */ /* uneven means has to be on runqueue */
#define STATUS_NOT_FOUND (0x0000) #define STATUS_NOT_FOUND (0x0000)
#define STATUS_ON_RUNQUEUE (0x0001) #define STATUS_ON_RUNQUEUE (0x0001)
#define STATUS_RUNNING (0x0002 + STATUS_ON_RUNQUEUE) #define STATUS_RUNNING (0x0002 + STATUS_ON_RUNQUEUE)
#define STATUS_PENDING (0x0004 + STATUS_ON_RUNQUEUE) #define STATUS_PENDING (0x0004 + STATUS_ON_RUNQUEUE)
#define STATUS_STOPPED (0x0008) #define STATUS_STOPPED (0x0008)
#define STATUS_SLEEPING (0x0010) #define STATUS_SLEEPING (0x0010)
#define STATUS_MUTEX_BLOCKED (0x0020) #define STATUS_MUTEX_BLOCKED (0x0020)
#define STATUS_RECEIVE_BLOCKED (0x0040) #define STATUS_RECEIVE_BLOCKED (0x0040)
#define STATUS_SEND_BLOCKED (0x0080) #define STATUS_SEND_BLOCKED (0x0080)
#define STATUS_REPLY_BLOCKED (0x0100) #define STATUS_REPLY_BLOCKED (0x0100)
#define STATUS_TIMER_WAITING (0x0200) #define STATUS_TIMER_WAITING (0x0200)
typedef struct tcb_t { typedef struct tcb_t {
char *sp; char *sp;

View File

@ -1,24 +1,34 @@
#ifndef __THREAD_H /*
#define __THREAD_H * Copyright (C) 2013 Freie Universität Berlin
*
/** * This file subject to the terms and conditions of the GNU Lesser General
* @defgroup thread Threading * Public License. See the file LICENSE in the top level directory for more
* @ingroup kernel * 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 Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar@schleiser.de> * @author Kaspar Schleiser <kaspar@schleiser.de>
*/ */
#ifndef __THREAD_H
#define __THREAD_H
#include <kernel.h> #include <kernel.h>
#include <tcb.h> #include <tcb.h>
/** Minimum stack size */ /** Minimum stack size */
#ifndef MINIMUM_STACK_SIZE #ifndef MINIMUM_STACK_SIZE
#define MINIMUM_STACK_SIZE (sizeof(tcb_t)) #define MINIMUM_STACK_SIZE (sizeof(tcb_t))
#endif #endif
/** /**

View File

@ -1,16 +1,20 @@
/** /*
* platform-independent kernel initialization
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @ingroup kernel
/**
* @ingroup core_internal
* @{ * @{
* @file *
* @author Kaspar Schleiser <kaspar@schleiser.de> * @file kernel_init.c
* @brief Platform-independent kernel initilization
*
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
*
* @} * @}
*/ */

View File

@ -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 <lifo.h> #include <lifo.h>
int lifo_empty(int *array) int lifo_empty(int *array)

View File

@ -1,18 +1,22 @@
/** /*
* kernel messaging implementation
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @ingroup kernel_msg
/**
* @ingroup core_msg
* @{ * @{
*
* @file * @file
* @author Freie Universität Berlin, Computer Systems & Telematics, FeuerWhere project * @brief Kernel messaging implementation
* @author Kaspar Schleiser <kaspar@schleiser.de> *
* @author Oliver Hahm <oliver.hahm@inria.fr> * @author Freie Universität Berlin, Computer Systems & Telematics, FeuerWhere project
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
* @author Oliver Hahm <oliver.hahm@inria.fr>
*
* @} * @}
*/ */

View File

@ -1,16 +1,20 @@
/** /*
* kernel mutex implementation
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @ingroup kernel
/**
* @ingroup core_sync
* @{ * @{
* @file *
* @author Kaspar Schleiser <kaspar@schleiser.de> * @file mutex.c
* @brief Kernel mutex implementation
*
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
*
* @} * @}
*/ */
@ -113,4 +117,3 @@ void mutex_unlock(struct mutex_t *mutex)
restoreIRQ(irqstate); restoreIRQ(irqstate);
} }

View File

@ -1,4 +1,4 @@
/** /*
* simple malloc wrapper for sbrk * simple malloc wrapper for sbrk
* *
* Needed on platforms without malloc in libc, e.g. msb430 * 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 * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
*
* @ingroup kernel /**
* @ingroup core_util
* @{ * @{
* @file *
* @author Kaspar Schleiser <kaspar@schleiser.de> * @file oneway_malloc.c
* @brief Simple malloc wrapper for SBRK
*
* Simple malloc implementation for plattforms without malloc in libc.
*
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
*
* @} * @}
*/ */
@ -63,4 +70,3 @@ void _free(void *ptr)
DEBUG("_free(): block at 0x%X lost.\n", (unsigned int)ptr); DEBUG("_free(): block at 0x%X lost.\n", (unsigned int)ptr);
} }

View File

@ -1,16 +1,20 @@
/** /*
* simple queue implementation
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @ingroup kernel
/**
* @ingroup core_util
* @{ * @{
* @file *
* @author Kaspar Schleiser <kaspar@schleiser.de> * @file queue.c
* @brief A simple queue implementation
*
* @author Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
* @} * @}
*/ */

View File

@ -1,21 +1,26 @@
/** /*
* The RIOT scheduler implementation
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* TODO: setup dependency from SCHEDSTATISTICS to MODULE_HWTIMER
* /**
* @ingroup kernel * @ingroup core_shed
* @{ * @{
* @file *
* @author Kaspar Schleiser <kaspar@schleiser.de> * @file shed.c
* @brief Scheduler implementation
*
* @author Freie Universität Berlin, Computer Systems & Telematics
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
*
* @} * @}
*/ */
/* TODO: setup dependency from SCHEDSTATISTICS to MODULE_HWTIMER */
#include <stdint.h> #include <stdint.h>
#include <sched.h> #include <sched.h>
#include <kernel.h> #include <kernel.h>
@ -215,4 +220,3 @@ void sched_task_exit(void)
active_thread = NULL; active_thread = NULL;
cpu_switch_context_exit(); cpu_switch_context_exit();
} }

View File

@ -1,16 +1,20 @@
/** /*
* thread functions
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @ingroup kernel
/**
* @ingroup core_thread
* @{ * @{
* @file *
* @author Kaspar Schleiser <kaspar@schleiser.de> * @file thread.c
* @brief Threading implementation
*
* @author Kaspar Schleiser <kaspar.schleiser@fu-berlin.de>
*
* @} * @}
*/ */
@ -233,4 +237,3 @@ int thread_create(char *stack, int stacksize, char priority, int flags, void (*f
return pid; return pid;
} }

View File

@ -8,7 +8,7 @@
* Public License. See the file LICENSE in the top level directory for more * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* *
* @ingroup arch * @ingroup arm_common
* @{ * @{
* @file * @file
* @author Kaspar Schleiser <kaspar@schleiser.de> * @author Kaspar Schleiser <kaspar@schleiser.de>

13
cpu/cc430/doc.txt Normal file
View File

@ -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
*/

16
cpu/doc.txt Normal file
View File

@ -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).
*/

View File

@ -12,7 +12,6 @@ See the file LICENSE in the top level directory for more details.
/** /**
* @ingroup lpc2387 * @ingroup lpc2387
* @addtogroup dev_gpioint
* @{ * @{
*/ */

View File

@ -16,6 +16,7 @@ See the file LICENSE in the top level directory for more details.
/** /**
* @defgroup lpc2387 NXP LPC2387 * @defgroup lpc2387 NXP LPC2387
* @ingroup cpu * @ingroup cpu
* @brief NXP LPC2387 specific code
* @{ * @{
*/ */

13
cpu/lpc_common/doc.txt Normal file
View File

@ -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
*/

View File

@ -5,6 +5,12 @@
* This source code is licensed under the GNU Lesser General Public License, * This source code is licensed under the GNU Lesser General Public License,
* Version 2. See the file LICENSE for more details. * Version 2. See the file LICENSE for more details.
*/ */
/**
* @defgroup mc1322x Freescale MC1322x
* @ingroup cpu
* @brief Freescale MC1322x specific code
*/
#ifndef CPU_H #ifndef CPU_H
#define CPU_H #define CPU_H

View File

@ -16,6 +16,7 @@ See the file LICENSE in the top level directory for more details.
/** /**
* @defgroup msp430 TI MSP430 * @defgroup msp430 TI MSP430
* @ingroup cpu * @ingroup cpu
* @brief Texas Instruments MSP430 specific code
<h2>First steps</h2> <h2>First steps</h2>
\li See the <a href="../manual/index.html">manual</a> for toolchain and ide setup \li See the <a href="../manual/index.html">manual</a> for toolchain and ide setup

View File

@ -13,6 +13,8 @@
/** /**
* @ingroup arch * @ingroup arch
* @defgroup native_cpu Native CPU * @defgroup native_cpu Native CPU
* @ingroup cpu
* @brief CPU abstraction for the native port
* @{ * @{
* @author Ludwig Ortmann <ludwig.ortmann@fu-berlin.de> * @author Ludwig Ortmann <ludwig.ortmann@fu-berlin.de>
*/ */

View File

@ -16,7 +16,8 @@
*/ */
/** /**
* @defgroup native_net * @defgroup native_net
* @ingroup native_cpu
* @{ * @{
* @author Ludwig Ortmann <ludwig.ortmann@fu-berlin.de> * @author Ludwig Ortmann <ludwig.ortmann@fu-berlin.de>
*/ */

View File

@ -13,8 +13,9 @@ and Telematics group (http://cst.mi.fu-berlin.de).
*******************************************************************************/ *******************************************************************************/
/** /**
* @defgroup dev_cc110x TI Chipcon CC110x radio driver * @defgroup drivers_cc110x CC110x
* @ingroup dev * @ingroup drivers
* @brief Texas Instruments CC110x driver
* *
* <h3>Quick links</h3> * <h3>Quick links</h3>
* \li \ref cc1100_packet_layer0_t MAC packet format * \li \ref cc1100_packet_layer0_t MAC packet format

View File

@ -9,11 +9,9 @@
*/ */
/** /**
* @ingroup dev_cc110x * @ingroup drivers_cc110x_ng
* @{ * @{
*/ *
/**
* @file * @file
* @brief TI Chipcon CC110x default settings * @brief TI Chipcon CC110x default settings
* *
@ -24,6 +22,7 @@
* @author Oliver Hahm <oliver.hahm@inria.fr> * @author Oliver Hahm <oliver.hahm@inria.fr>
* *
* @note $Id: cc110x-defaultSettings.c 2058 2010-03-31 08:59:31Z hillebra $ * @note $Id: cc110x-defaultSettings.c 2058 2010-03-31 08:59:31Z hillebra $
* @}
*/ */
#include "cc110x-defaultSettings.h" #include "cc110x-defaultSettings.h"
@ -121,6 +120,3 @@ uint8_t pa_table[] = { ///< PATABLE with available output powers
0xC6, ///< + 9 dBm 0xC6, ///< + 9 dBm
0xC3 ///< +10 dBm 0xC3 ///< +10 dBm
}; // If PATABLE is changed in size, adjust MAX_OUTPUT_POWER definition in CC1100 interface! }; // If PATABLE is changed in size, adjust MAX_OUTPUT_POWER definition in CC1100 interface!
/** @} */

View File

@ -1,20 +1,20 @@
/** /*
* Functions for packet reception on cc110x
*
* Copyright (C) 2009 Freie Universität Berlin * Copyright (C) 2009 Freie Universität Berlin
* Copyright (C) 2013 INRIA * Copyright (C) 2013 INRIA
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
*
* @ingroup dev_cc110x_ng
* @{
* @file
* @author Oliver Hahm <oliver.hahm@inria.fr>
* @}
*/ */
/**
* @ingroup drivers_cc110x_ng
* @{
* @file cc110x-rx.c
* @brief Functions for packet reception on cc110x
* @author Oliver Hahm <oliver.hahm@inria.fr>
* @}
*/
#include <cc110x_ng.h> #include <cc110x_ng.h>
#include <cc110x-internal.h> #include <cc110x-internal.h>
#include <cc110x-config.h> #include <cc110x-config.h>

View File

@ -1,20 +1,20 @@
/** /*
* Functions for packet transmission on cc110x
*
* Copyright (C) 2009 Freie Universität Berlin * Copyright (C) 2009 Freie Universität Berlin
* Copyright (C) 2013 INRIA * Copyright (C) 2013 INRIA
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
*
* @ingroup dev_cc110x_ng
* @{
* @file
* @author Oliver Hahm <oliver.hahm@inria.fr>
* @}
*/ */
/**
* @ingroup drivers_cc110x_ng
* @{
* @file cc110x-tx.c
* @brief Functions for packet transmission on cc110x
* @author Oliver Hahm <oliver.hahm@inria.fr>
* @}
*/
#include <stdio.h> #include <stdio.h>
#include <cc110x_ng.h> #include <cc110x_ng.h>

View File

@ -1,17 +1,19 @@
/** /*
* Basic functionality of cc110x driver
*
* Copyright (C) 2013 Freie Universität Berlin * Copyright (C) 2013 Freie Universität Berlin
* Copyright (C) 2013 INRIA * Copyright (C) 2013 INRIA
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* */
* @ingroup dev_cc110x_ng
/**
* @ingroup drivers_cc110x_ng
* @{ * @{
* @file *
* @author Oliver Hahm <oliver.hahm@inria.fr> * @file cc110x.c
* @brief Basic functionality of cc110x driver
* @author Oliver Hahm <oliver.hahm@inria.fr>
* @} * @}
*/ */
#include <cc110x_ng.h> #include <cc110x_ng.h>

View File

@ -13,9 +13,11 @@ and Telematics group (http://cst.mi.fu-berlin.de).
*******************************************************************************/ *******************************************************************************/
/** /**
* @file * @ingroup drivers_cc110x_ng
* @ingroup LPC2387 * @{
* @brief CC1100 LPC2387 dependend functions *
* @file cc110x-arch.h
* @brief CC1100 architecture dependent functions
* *
* @author Freie Universität Berlin, Computer Systems & Telematics * @author Freie Universität Berlin, Computer Systems & Telematics
* @author Heiko Will <hwill@inf.fu-berlin.de> * @author Heiko Will <hwill@inf.fu-berlin.de>
@ -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 $ * @note $Id: arch_cc110x.h 1775 2010-01-26 09:37:03Z hillebra $
*/ */
#ifndef __CC1100_ARCH_H
#define __CC1100_ARCH_H
#include <stdint.h> #include <stdint.h>
@ -36,3 +40,6 @@ void cc110x_init_interrupts(void);
void cc110x_before_send(void); void cc110x_before_send(void);
void cc110x_after_send(void); void cc110x_after_send(void);
/** @} */
#endif /* __CC1100_ARCH_H */

View File

@ -8,11 +8,11 @@
* Public License. See the file LICENSE in the top level directory for more * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* *
* @ingroup dev_cc110x_ng * @ingroup drivers_cc110x_ng
* @{ * @{
* @file *
* @file cc110x-config.h
* @author Oliver Hahm <oliver.hahm@inria.fr> * @author Oliver Hahm <oliver.hahm@inria.fr>
* @}
*/ */
#ifndef CC1100_CONFIG_H #ifndef CC1100_CONFIG_H
#define CC1100_CONFIG_H #define CC1100_CONFIG_H
@ -108,4 +108,5 @@ typedef struct cc110x_statistic {
uint32_t watch_dog_resets; uint32_t watch_dog_resets;
} cc110x_statistic_t; } cc110x_statistic_t;
#endif /** @} */
#endif /* __CC110X_CONFIG_H */

View File

@ -12,11 +12,11 @@ and Telematics group (http://cst.mi.fu-berlin.de).
* *
*******************************************************************************/ *******************************************************************************/
#ifndef CC1100_DEFAULTSETTINGS_H #ifndef __CC1100_DEFAULTSETTINGS_H
#define 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 */

View File

@ -1,40 +1,27 @@
/** /*
* Driver internal constants for 110x chip configuration
*
* Copyright (C) 2008 Freie Universität Berlin * Copyright (C) 2008 Freie Universität Berlin
* Copyright (C) 2013 INRIA * Copyright (C) 2013 INRIA
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * details.
*/
/**
* @ingroup drivers_cc110x_ng
* @{
* *
* @ingroup dev_cc110x_ng
* @{
* @file * @file
* @author Oliver Hahm <oliver.hahm@inria.fr> * @brief Driver internal constants for 110x chip configuration
* @}
*/
#ifndef CC1100_INTERNAL_H
#define CC1100_INTERNAL_H
/**
* @ingroup dev_cc110x
* @{
*/
/**
* @file
* @internal
* @brief TI Chipcon CC110x internal hardware constants
* *
* @author Freie Universität Berlin, Computer Systems & Telematics * @author Freie Universität Berlin, Computer Systems & Telematics
* @author Thomas Hillebrandt <hillebra@inf.fu-berlin.de> * @author Thomas Hillebrandt <hillebra@inf.fu-berlin.de>
* @author Heiko Will <hwill@inf.fu-berlin.de> * @author Heiko Will <hwill@inf.fu-berlin.de>
* @version $Revision: 1231 $ * @author Oliver Hahm <oliver.hahm@inria.fr>
*
* @note $Id: cc110x-internal.h 1231 2009-08-20 08:31:32Z baar $
*/ */
#ifndef CC1100_INTERNAL_H
#define CC1100_INTERNAL_H
#define FIXED_PKTLEN (0x00) ///< Fixed length packets, length configured in PKTLEN register. #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 #define VARIABLE_PKTLEN (0x01) ///< Variable length packets, packet length configured by the first
@ -203,7 +190,7 @@
#define CC1100_PATABLE (0x3E) #define CC1100_PATABLE (0x3E)
#define CC1100_TXFIFO (0x3F) ///< TX FIFO: Write operations write to the TX FIFO (SB: +0x00; BURST: +0x40) #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) #define CC1100_RXFIFO (0x3F) ///< RX FIFO: Read operations read from the RX FIFO (SB: +0x80; BURST: +0xC0)
/** @} */ /** @} */
/** @} */
#endif #endif

View File

@ -1,15 +1,24 @@
/** /*
* @file cc110x-reg.h * Copyright (C) 2008 Freie Universität Berlin
* @ingroup dev_cc110x_ng * Copyright (C) 2013 INRIA
* @brief Access to CC110X registers
*
* @author INRIA
* @author Oliver Hahm <oliver.hahm@inria.fr>
* *
* 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 <oliver.hahm@inria.fr>
*/
#ifndef __CC110X_REG_H
#define __CC110X_REG_H
#include <stdint.h> #include <stdint.h>
@ -79,4 +88,5 @@ uint8_t cc110x_read_status(uint8_t addr);
*/ */
uint8_t cc110x_strobe(uint8_t c); uint8_t cc110x_strobe(uint8_t c);
#endif /** @} */
#endif /* __CC110X_REG_H */

View File

@ -1,18 +1,20 @@
/** /*
* Data structures and variables for the cc110x driver interface
*
* Copyright (C) 2009 Freie Universität Berlin * Copyright (C) 2009 Freie Universität Berlin
* Copyright (C) 2013 INRIA * Copyright (C) 2013 INRIA
* *
* This file is subject to the terms and conditions of the GNU Lesser General * 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 * Public License. See the file LICENSE in the top level directory for more
* details. * 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 <oliver.hahm@inria.fr> * @author Oliver Hahm <oliver.hahm@inria.fr>
* @}
*/ */
#ifndef CC1100_H #ifndef CC1100_H
#define CC1100_H #define CC1100_H
@ -166,6 +168,8 @@ void cc110x_init_ignore(void);
uint8_t cc110x_add_ignored(radio_address_t addr); uint8_t cc110x_add_ignored(radio_address_t addr);
#endif #endif
/**
* @}
*/
#endif #endif

View File

@ -13,13 +13,12 @@ and Telematics group (http://cst.mi.fu-berlin.de).
*******************************************************************************/ *******************************************************************************/
/** /**
* @ingroup dev_cc110x * @ingroup drivers_cc110x_ng
* @{ * @{
*/ */
/** /**
* @file * @file
* @internal
* @brief TI Chipcon CC1100 SPI driver * @brief TI Chipcon CC1100 SPI driver
* *
* @author Freie Universität Berlin, Computer Systems & Telematics * @author Freie Universität Berlin, Computer Systems & Telematics

View File

@ -13,13 +13,12 @@ and Telematics group (http://cst.mi.fu-berlin.de).
*******************************************************************************/ *******************************************************************************/
/** /**
* @ingroup dev_cc110x * @ingroup drivers_cc110x_ng
* @{ * @{
*/ */
/** /**
* @file * @file
* @internal
* @brief TI Chipcon CC1100 SPI driver * @brief TI Chipcon CC1100 SPI driver
* *
* @author Freie Universität Berlin, Computer Systems & Telematics * @author Freie Universität Berlin, Computer Systems & Telematics

14
drivers/doc.txt Normal file
View File

@ -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.
*/

View File

@ -3,6 +3,13 @@
#include <stdint.h> #include <stdint.h>
/**
* @defgroup drivers_adc ADC
* @ingroup drivers
* @brief Generic ADC driver
*/
/** /**
* @brief Initialize ADC. * @brief Initialize ADC.
*/ */

View File

@ -2,6 +2,14 @@
/ Low level disk interface modlue include file (C)ChaN, 2010 / 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 #ifndef DEF_DISKIO
#define DEF_DISKIO #define DEF_DISKIO

View File

@ -1,3 +1,12 @@
/**
* @defgroup flashrom Flash memory driver
* @ingroup drivers
* @brief Generic flash memory driver
*/
#ifndef FLASHROM_H #ifndef FLASHROM_H
#define FLASHROM_H #define FLASHROM_H

View File

@ -16,10 +16,9 @@ and Telematics group (http://cst.mi.fu-berlin.de).
#define GPIOINT_H_ #define GPIOINT_H_
/** /**
* @defgroup dev_gpioint GPIO IRQ Multiplexer * @defgroup drivers_gpioint GPIO IRQ Multiplexer
* @ingroup dev * @ingroup drivers
* * @brief Provides an API to implement interrupt handlers on IO pins.
* Provides an API to implement interrupt handlers on IO pins.
* *
* Multiplexer and interrupt handling must be implemented platform specific. * Multiplexer and interrupt handling must be implemented platform specific.
* *

View File

@ -7,6 +7,14 @@
* This source code is licensed under the LGPLv2 license, * This source code is licensed under the LGPLv2 license,
* See the file LICENSE for more details. * 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 * @file

View File

@ -16,8 +16,9 @@ and Telematics group (http://cst.mi.fu-berlin.de).
#define __LTC4150_ARCH_H #define __LTC4150_ARCH_H
/** /**
* @defgroup ltc4150 LTC4150 Coulomb Counter * @defgroup ltc4150 LTC4150
* @ingroup drivers * @ingroup drivers
* @brief Driver for the Linear Technology LTC4150 Coulomb Counter
* @{ * @{
*/ */

View File

@ -13,8 +13,9 @@ and Telematics group (http://cst.mi.fu-berlin.de).
*******************************************************************************/ *******************************************************************************/
/** /**
* @defgroup rtc Realtime Clock * @defgroup rtc Realtime Clock
* @ingroup drivers * @ingroup drivers
* @brief Generic real time clock driver
* @{ * @{
*/ */

View File

@ -16,7 +16,7 @@ and Telematics group (http://cst.mi.fu-berlin.de).
#define SHT11_H_ #define SHT11_H_
/** /**
* @defgroup sht11 Sensirion SHT11 Driver * @defgroup sht11 SHT11
* @ingroup drivers * @ingroup drivers
* @{ * @{
*/ */

View File

@ -6,6 +6,14 @@
* *
* This source code is licensed under the LGPLv2 license, * This source code is licensed under the LGPLv2 license,
* See the file LICENSE for more details. * 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.
*/ */
/** /**

View File

@ -6,6 +6,14 @@
* This source code is licensed under the LGPLv2 license, * This source code is licensed under the LGPLv2 license,
* See the file LICENSE for more details. * 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 * @file

View File

@ -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
* @{ * @{
*/ */

12
sys/doc.txt Normal file
View File

@ -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
*/

View File

@ -1,3 +1,10 @@
/**
* @defgroup sys_autoinit Auto-init
* @ingroup sys
* @brief Autoconfigure libraries
*/
#ifndef AUTO_INIT_H #ifndef AUTO_INIT_H
#define AUTO_INIT_H #define AUTO_INIT_H

View File

@ -1,3 +1,10 @@
/**
* @defgroup sys_bloom Bloom filter
* @ingroup sys
* @brief Bloom filter library
*/
/** /**
* bloom.c * bloom.c
* *

View File

@ -1,3 +1,10 @@
/**
* @defgroup sys_uart0 UART0
* @ingroup sys
* @brief UART0 interface abstraction
*/
#ifndef __BOARD_UART0_H #ifndef __BOARD_UART0_H
#define __BOARD_UART0_H #define __BOARD_UART0_H

View File

@ -1,3 +1,10 @@
/**
* @defgroup sys_chardevthread Chardev Thread
* @ingroup sys
* @brief Chardev thread
*/
#ifndef __CHARDEV_THREAD_H #ifndef __CHARDEV_THREAD_H
#define __CHARDEV_THREAD_H #define __CHARDEV_THREAD_H

View File

@ -8,6 +8,12 @@
* details. * details.
*/ */
/**
* @defgroup sys_hashes Hashes
* @ingroup sys
* @brief Hash function library
*/
/** /**
* @file * @file
* @autor Jason Linehan <patientulysses@gmail.com> * @autor Jason Linehan <patientulysses@gmail.com>

View File

@ -1,3 +1,10 @@
/**
* @defgroup sys_ping Ping
* @ingroup sys
* @brief Ping
*/
#include "radio/radio.h" #include "radio/radio.h"
void init_payload(void); void init_payload(void);

View File

@ -1,4 +1,4 @@
/** /*
* Copyright (C) 2013 INRIA. * Copyright (C) 2013 INRIA.
* *
* This file is subject to the terms and conditions of the GNU Lesser General * This file is subject to the terms and conditions of the GNU Lesser General
@ -6,8 +6,10 @@
* details. * details.
*/ */
/** /**
* @addtogroup posix * @defgroup sys_posixio Posix IO
* @ingroup sys
* @brief Posix compatible IO
* @{ * @{
* @file * @file
* @brief POSIX-like IO * @brief POSIX-like IO

View File

@ -1,3 +1,10 @@
/**
* @defgroup sys_ps PS
* @ingroup sys
* @brief Show list with all threads
*/
#ifndef __PS_H #ifndef __PS_H
#define __PS_H #define __PS_H

View File

@ -1,3 +1,10 @@
/**
* @defgroup sys_random Random
* @ingroup sys
* @brief Random number generator
*/
#include <inttypes.h> #include <inttypes.h>
#ifndef PRNG_FLOAT #ifndef PRNG_FLOAT

View File

@ -26,6 +26,13 @@
* *
* $FreeBSD: src/lib/libmd/sha256.h,v 1.1.2.1 2005/06/24 13:32:25 cperciva Exp $ * $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_ #ifndef _SHA256_H_
#define _SHA256_H_ #define _SHA256_H_

View File

@ -12,14 +12,15 @@
* *
*******************************************************************************/ *******************************************************************************/
/**
* @defgroup sys_shell Shell
* @ingroup sys
* @brief Simple shell interpreter
*/
#ifndef __SHELL_H #ifndef __SHELL_H
#define __SHELL_H #define __SHELL_H
/**
* @defgroup shell Simple Shell Interpreter
* @ingroup feuerware
*/
typedef struct shell_command_t { typedef struct shell_command_t {
char *name; char *name;
char *desc; char *desc;

View File

@ -1,3 +1,10 @@
/**
* @defgroup sys_timex Timex
* @ingroup sys
* @brief Utility library for comparing and computing timestamps
*/
#ifndef __TIMEX_H #ifndef __TIMEX_H
#define __TIMEX_H #define __TIMEX_H

View File

@ -1,3 +1,10 @@
/**
* @defgroup sys_transceiver Transceiver
* @ingroup sys
* @brief Transceiver library
*/
#ifndef TRANSCEIVER_H #ifndef TRANSCEIVER_H
#define TRANSCEIVER_H #define TRANSCEIVER_H

View File

@ -1,4 +1,4 @@
/** \addtogroup system /** \addtogroup sys
* @{ */ * @{ */
/** /**

13
sys/net/doc.txt Normal file
View File

@ -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
*/

View File

@ -7,7 +7,9 @@
* Public License. See the file LICENSE in the top level directory for more * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* *
* @defgroup net_ieee802154 IEEE802.15.4
* @ingroup net * @ingroup net
* @brief IEEE802.15.4 adapaption layer
* @{ * @{
* @file ieee802154/ieee802154_frame.h * @file ieee802154/ieee802154_frame.h
* @brief IEEE 802.14.4 framing data structs and prototypes * @brief IEEE 802.14.4 framing data structs and prototypes

View File

@ -5,6 +5,12 @@
* Author: Oliver * Author: Oliver
*/ */
/**
* @defgroup net_help Net help
* @ingroup net
* @brief Helper functions for networking as byte order conversions and checksum calculations
*/
#ifndef COMMON_H_ #ifndef COMMON_H_
#define COMMON_H_ #define COMMON_H_
#include <string.h> #include <string.h>

View File

@ -16,7 +16,9 @@ and Telematics group (http://cst.mi.fu-berlin.de).
#define PROTOCOLMULTIPLEX_H_ #define PROTOCOLMULTIPLEX_H_
/** /**
* @addtogroup net * @defgroup net_mmstack Protocol multiplex
* @ingroup net
* @brief Protocol handler multiplexing
* @{ * @{
*/ */

View File

@ -7,7 +7,9 @@
* Public License. See the file LICENSE in the top level directory for more * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* *
* @ingroup rpl * @defgroup net_rpl RPL
* @ingroup net
* @brief Routing Protocol for Low power and Lossy Networks
* @{ * @{
* @file rpl.h * @file rpl.h
* @brief RPL header * @brief RPL header

View File

@ -7,7 +7,9 @@
* Public License. See the file LICENSE in the top level directory for more * Public License. See the file LICENSE in the top level directory for more
* details. * details.
* *
* @ingroup sixlowpan * @defgroup net_sixlowpan 6LoWPAN
* @ingroup net
* @brief Riots 6LowPAN implementation
* @{ * @{
* @file sixlowpan.h * @file sixlowpan.h
* @brief 6lowpan header * @brief 6lowpan header