doc.txt 2.56 KiB
/**
 * @defgroup config Compile time configurations
 * @brief    List of compile-time configurations
 * This group contains all compile-time configurations macros that are
 * intended to be modified by the user.
 * These configuration macros are defined within modules like this:
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [.c]
 * #ifndef SOME_CONFIGURATION_PARAM
 * #define SOME_CONFIGURATION_PARAM DEFAULT_VALUE
 * #endif
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Because of that, configurations can be altered e.g via CFLAGS (e.g
 * `CFLAGS += -DSOME_CONFIGURATION_PARAM=SOME_VALUE`)
/**
 * @defgroup cpp C++
 * @brief    C++ Support in RIOT-OS
 * This group contains all C++ related modules for easier reference.
/**
 * @defgroup utils Utilities
 * @brief Utilities and helper functionality
 *        Additional scripts and configuration options to ease RIOT
 *        development.
 * @{
/**
 * @def DEVELHELP
 * @brief   This global macro activates functionality to help developers.
 * To activate it set environment variable `DEVELHELP=1`, or disable explicitly
 * with `DEVELHELP=0`.
 * The following list of what `DEVELHELP=1` enables is not comprehensive, but
 * should give a rough impression of what to expect:
 * * Many runtime checks are enabled (stack overflow protection by means of
 *   @ref pseudomodule_mpu_stack_guard or @ref SCHED_TEST_STACK, warnings when
 *   sending messages to invalid PIDs, …), some of which just log errors to
 *   stdout, some even halt the system.
 * * Some structures contain additional information, e.g. threads store their
 *   names and stack sizes.
 * * Some error paths that are active even at `DEVELHELP=0` perform more
 *   complex tasks to give useful output.
 * * The @ref assert() function is only evaluated with `DEVELHELP=1` (or when
 *   `FORCE_ASSERTS=1`). Otherwise, the build system sets `NDEBUG` and thus
 *   skips assertions entirely.
 * * On a panic, the system halts (or enters the bootloader) instead of
 *   restarting.
#if DOXYGEN
#   define DEVELHELP
#endif
/**
 * @def CONFIG_THREAD_NAMES
 * @brief   This global macro enable storage of thread names to help developers.
 *          To activate it set environment variable `THREAD_NAMES=1`, or use Kconfig.
 *          It is automatically enabled if `DEVELHELP` is.
#if DOXYGEN
#   define CONFIG_THREAD_NAMES
717273747576777879808182838485
#endif /** * @def TEST_SUITES * @brief This global macro activates functionality that is needed for * automated testing but not needed otherwise. */ #if DOXYGEN # define TEST_SUITES #endif /** * @} */