log: Retouch documentation; Rearrenge level logic; Rename LOG_VERBOSITY to LOG_FORMAT...
authorbernie <bernie@38d2e660-2303-0410-9eaa-f027e97ec537>
Sun, 10 Aug 2008 17:18:44 +0000 (17:18 +0000)
committerbernie <bernie@38d2e660-2303-0410-9eaa-f027e97ec537>
Sun, 10 Aug 2008 17:18:44 +0000 (17:18 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1603 38d2e660-2303-0410-9eaa-f027e97ec537

17 files changed:
app/triface/boot/cfg/cfg_kfile.h
app/triface/cfg/cfg_kfile.h
bertos/cfg/cfg_adc.h
bertos/cfg/cfg_dataflash.h
bertos/cfg/cfg_flash_avr.h
bertos/cfg/cfg_kern.h
bertos/cfg/cfg_kfile.h
bertos/cfg/cfg_pwm.h
bertos/cfg/cfg_stepper.h
bertos/cfg/log.h
bertos/cpu/arm/drv/pwm_at91.c
bertos/cpu/avr/drv/flash_avr.c
bertos/drv/dataflash.c
bertos/drv/dataflash_test.c
bertos/drv/pwm_test.c
bertos/drv/stepper.c
bertos/drv/timer.c

index cec293c85f7f959cf10fd38ca5be178f518623ea..e4f13b25ee61bc602d64e309e6631c32881e4093 100644 (file)
  * \brief Configuration file for KFile interface module.
  *
  * \version $Id$
- *
  * \author Daniele Basile <asterix@develer.com>
  */
 
 #ifndef CFG_KFILE_H
 #define CFG_KFILE_H
 
-/**
- * Logging level definition.
- *
- * Use 0 to log only the error messages
- * Use 1 to log the error and warning messages
- * Use 2 to log all messages
- */
-#define KFILE_LOG_LEVEL        2
+/// Module logging level definition.
+#define KFILE_LOG_LEVEL        LOG_LVL_INFO
 
-/**
- * Set logging verbosity.
- *
- * If verbosity is zero print short log messages.
- */
-#define KFILE_LOG_VERBOSITY    0
+/// Module logging verbosity.
+#define KFILE_LOG_FORMAT       LOG_FMT_TERSE
 
 /// Enable the gets function with echo.
 #define CONFIG_KFILE_GETS      1
 
 #endif /* CFG_KFILE_H */
-
-
index cec293c85f7f959cf10fd38ca5be178f518623ea..10bb72db42e15fcb20f07680b259a95f614c604a 100644 (file)
  * the GNU General Public License.
  *
  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
- * All Rights Reserved.
+ *
  * -->
  *
  * \brief Configuration file for KFile interface module.
  *
  * \version $Id$
- *
  * \author Daniele Basile <asterix@develer.com>
  */
 
 #ifndef CFG_KFILE_H
 #define CFG_KFILE_H
 
-/**
- * Logging level definition.
- *
- * Use 0 to log only the error messages
- * Use 1 to log the error and warning messages
- * Use 2 to log all messages
- */
-#define KFILE_LOG_LEVEL        2
+/// Module logging level definition.
+#define KFILE_LOG_LEVEL        LOG_LVL_INFO
 
-/**
- * Set logging verbosity.
- *
- * If verbosity is zero print short log messages.
- */
-#define KFILE_LOG_VERBOSITY    0
+/// Module logging format.
+#define KFILE_LOG_FORMAT       LOG_FMT_TERSE
 
 /// Enable the gets function with echo.
 #define CONFIG_KFILE_GETS      1
 
 #endif /* CFG_KFILE_H */
-
-
index 26254a41573899b5b6834a8829e81b8566172514..84a6da3a8881e2928db1d6d9048c25a495b57c65 100644 (file)
  * the GNU General Public License.
  *
  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
- * All Rights Reserved.
+ *
  * -->
  *
  * \brief Configuration file for ADC module.
  *
  * \version $Id$
- *
  * \author Daniele Basile <asterix@develer.com>
  */
 
 #ifndef CFG_ADC_H
 #define CFG_ADC_H
 
-/**
- * Logging level definition.
- *
- * Use 0 to log only the error messages
- * Use 1 to log the error and warning messages
- * Use 2 to log all messages
- */
-#define ADC_LOG_LEVEL      2
-
-/**
- * Set logging verbosity.
- *
- * If verbosity is zero print short log messages.
- */
-#define ADC_LOG_VERBOSITY    1
+/// Module logging level.
+#define ADC_LOG_LEVEL      LOG_LVL_INFO
 
+/// Module logging format.
+#define ADC_LOG_FORMAT     LOG_FMT_VERBOSE
 
 /**
  * ADC timing setting parameter
@@ -78,4 +66,3 @@
 #define CONFIG_ADC_STROBE  0
 
 #endif /* CFG_ADC_H */
-
index d0ff90e47d0225aaddbc03102ea00a3c4f0f76ab..92171e22636281dd67d649c3b53dbaed803ecb43 100644 (file)
  * \brief Configuration file for data flash memory module.
  *
  * \version $Id$
- *
  * \author Daniele Basile <asterix@develer.com>
  */
 
 #ifndef CFG_DATAFLASH_H
 #define CFG_DATAFLASH_H
 
-/**
- * Logging level definition.
- *
- * Use 0 to log only the error messages
- * Use 1 to log the error and warning messages
- * Use 2 to log all messages
- */
-#define DATAFLASH_LOG_LEVEL      2
-
-/**
- * Set logging verbosity.
- *
- * If verbosity is zero print short log messages.
- */
-#define DATAFLASH_LOG_VERBOSITY    0
+/// Module logging level definition.
+#define DATAFLASH_LOG_LEVEL      LOG_LVL_INFO
 
+/// Module logging format.
+#define DATAFLASH_LOG_FORMAT     LOG_FMT_TERSE
 
 #endif /* CFG_DATAFLASH_H */
-
-
index 49c5eaf8ce7bcd9e85dd8751dff69247e515fd5b..0196c0926a2b8db1933e8fc04d66ebee1d8ee87b 100644 (file)
  * the GNU General Public License.
  *
  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
- * All Rights Reserved.
  * -->
  *
- * \brief Configuration file for flash_avr module.
- *
  * \version $Id$
- *
  * \author Manuele Fanelli <qwert@develer.com>
+ *
+ * \brief Configuration file for flash_avr module.
  */
 
 #ifndef CFG_FLASH_AVR_H
@@ -46,6 +44,6 @@
  */
 #define CONFIG_FLASH_AVR_BOOTSIZE         8192
 #define CONFIG_FLASH_AVR_LOG_LEVEL        LOG_LVL_ERR
-#define CONFIG_FLASH_AVR_LOG_VERBOSITY    LOG_SILENT
+#define CONFIG_FLASH_AVR_LOG_FORMAT       LOG_FMT_SILENT
 
 #endif /* CFG_BOOT_H */
index 368e59d0387fed43e07a9602542dca0f24e41c55..a135843d2204767e3fc5d69d61006bc6dddf6d58 100644 (file)
@@ -67,5 +67,6 @@
 
 #define CONFIG_KERN_QUANTUM     50    /**< Time sharing quantum in timer ticks. */
 
+#define CONFIG_KERN_LOGLEVEL    LOG_LVL_ERR
 
 #endif /*  CFG_KERN_H */
index bc6ff25f6c65717372fb45f33e3b43688e29b5bd..b1489f8eb2b9ac355ae4a66c84536d74b5bf3d17 100644 (file)
  * the GNU General Public License.
  *
  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
- * All Rights Reserved.
+ *
  * -->
  *
  * \brief Configuration file for KFile interface module.
  *
  * \version $Id$
- *
  * \author Daniele Basile <asterix@develer.com>
  */
 
 #ifndef CFG_KFILE_H
 #define CFG_KFILE_H
 
-/**
- * Logging level definition.
- *
- * Use 0 to log only the error messages
- * Use 1 to log the error and warning messages
- * Use 2 to log all messages
- */
-#define KFILE_LOG_LEVEL        2
+/// Module logging level.
+#define KFILE_LOG_LEVEL        LOG_LVL_INFO
 
-/**
- * Set logging verbosity.
- *
- * If verbosity is zero print short log messages.
- */
-#define KFILE_LOG_VERBOSITY    0
+/// Module logging format.
+#define KFILE_LOG_FORMAT       LOG_FMT_TERSE
 
 /// Enable the gets function with echo.
 #define CONFIG_KFILE_GETS      0
 
 #endif /* CFG_KFILE_H */
-
-
index e7ce27c4714ca08c447ce322e25b56dc17b7a4f7..072f9b6d36889daca8c007745f34795cdb27b461 100644 (file)
  * the GNU General Public License.
  *
  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
- * All Rights Reserved.
  * -->
  *
  * \brief Configuration file for PWM module.
  *
  * \version $Id$
- *
  * \author Daniele Basile <asterix@develer.com>
  */
 
 #ifndef CFG_PWM_H
 #define CFG_PWM_H
 
-/**
- * Logging level definition.
- *
- * Use 0 to log only the error messages
- * Use 1 to log the error and warning messages
- * Use 2 to log all messages
- */
-#define PWM_LOG_LEVEL      2
-
-/**
- * Set logging verbosity.
- *
- * If verbosity is zero print short log messages.
- */
-#define PWM_LOG_VERBOSITY    1
+/// Module logging level.
+#define PWM_LOG_LEVEL      LOG_LVL_INFO
 
+/// Module logging format.
+#define PWM_LOG_FORMAT     LOG_FMT_VERBOSE
 
 #endif /* CFG_PWM_H */
-
-
index 1efeef26d83b929669e4a0baf64a2ccb928d65cf..590e3c574dd93e4529d067eaf0af163c06bcb9ad 100644 (file)
  * the GNU General Public License.
  *
  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
- * All Rights Reserved.
+ *
  * -->
  *
  * \brief Configuration file for stepper motor module.
  *
  * \version $Id$
- *
  * \author Daniele Basile <asterix@develer.com>
  */
 
 #ifndef CFG_STEPPER_H
 #define CFG_STEPPER_H
 
-/**
- * Logging level definition.
- *
- * Use 0 to log only the error messages
- * Use 1 to log the error and warning messages
- * Use 2 to log all messages
- */
-#define STEPPER_LOG_LEVEL           2
-
-/**
- * Set logging verbosity.
- *
- * If verbosity is zero print short log messages.
- */
-#define STEPPER_LOG_VERBOSITY        0
+/// Module logging level.
+#define STEPPER_LOG_LEVEL           LOG_LVL_INFO
 
+/// Module logging format.
+#define STEPPER_LOG_FORMAT          LOG_FMT_TERSE
 
 /// Max number of the stepper motor.
 #define CONFIG_NUM_STEPPER_MOTORS    6
@@ -64,4 +52,3 @@
 #define CONFIG_TC_STEPPER_MAX_NUM    6
 
 #endif /* CFG_STEPPER_H */
-
index 91ff066d834895ce8aa5671fee1671ad3369c690..2cfa4ef24b31e266655a5eb00ba6f11c6a89cbcb 100644 (file)
@@ -27,7 +27,7 @@
  * the GNU General Public License.
  *
  * Copyright 2008 Develer S.r.l. (http://www.develer.com/)
- * All Rights Reserved.
+ *
  * -->
  *
  * \brief Logging system module.
@@ -35,9 +35,9 @@
  * This module implement a simple interface to use the multi level logging system.
  * The log message have the priority order, like this:
  *
- *  - error message (most hight)
+ *  - error message (highest)
  *  - warning message
- *  - info message (most low)
+ *  - info message (lowest)
  *
  * With this priority system we can log only the message that have egual or major
  * priority than log level that you has been configurate. Further you can have a
  *   level and verbosity mode for your specific module:
  *
  * \code
+ *     /// Module logging level.
+ *     #define <cfg_module_name>_LOG_LEVEL    LOG_LVL_INFO
  *
- *      **
- *      * Logging level definition.
- *      *
- *      * Use 0 to log only the error messages
- *      * Use 1 to log the error and warning messages
- *      * Use 2 to log all messages
- *      *
- *     #define <cfg_module_name>_LOG_LEVEL      2
- *
- *      **
- *      * Set logging verbosity.
- *      *
- *      * If verbose is zero print short log messages.
- *      *
- *     #define <cfg_module_name>_LOG_VERBOSE    1
- *
+ *     /// Module logging format.
+ *     #define <cfg_module_name>_LOG_FORMAT   LOG_FMT_VERBOSE
  * \endcode
  *
  * - then, in the module that you use a logging macros you should define
- *   a LOG_LEVEL and LOG_VERBOSE using the previous value that you have define
+ *   a LOG_LEVEL and LOG_FORMAT using the previous value that you have define
  *   in cfg_<cfg_module_name>.h header. After this you should include the cfg/log.h
  *   module:
  *
  * \code
- *
- *     // Define logging setting (for cfg/log.h module).
- *     #define LOG_LEVEL       <cfg_module_name>_LOG_LEVEL
- *     #define LOG_VERBOSE     <cfg_module_name>_LOG_VERBOSE
+ *     // Define log settings for cfg/log.h.
+ *     #define LOG_LEVEL   <cfg_module_name>_LOG_LEVEL
+ *     #define LOG_FORMAT  <cfg_module_name>_LOG_FORMAT
  *     #include <cfg/log.h>
- *
  * \endcode
  *
  * if you include a log.h module without define the LOG_LEVEL and LOG_VERBOSE
@@ -98,8 +84,8 @@
  * otherwise the log module use a default settings.
  *
  * \version $Id$
- *
  * \author Daniele Basile <asterix@develer.com>
+ *
  */
 
 #ifndef CFG_LOG_H
 #include <cfg/debug.h>
 
 
-// Use a default setting if nobody have define a log level
+// Use a default setting if nobody defined a log level
 #ifndef LOG_LEVEL
 #define LOG_LEVEL       LOG_LVL_ERR
 #endif
 
-// Use a default setting if nobody have define a log verbosity
-#ifndef LOG_VERBOSITY
-#define LOG_VERBOSITY   LOG_SILENT
+// Use a default setting if nobody defined a log format
+#ifndef LOG_FORMAT
+#define LOG_FORMAT      LOG_FMT_TERSE
 #endif
 
 /**
-* Multi level logging system.
-*
-* You can use these macro directy or using the cfg/log.h module
-* that provide a simple interface for using the logging multilevel system.
-* The priority level is order form error messages (hight priority) to info messages
-* (low priority), so if you choose a low level log message you can see also all message
-* that have a hight priority.
-*
-* \{
-*/
-/// Logging level definition
-#define LOG_LVL_ERR       0
-#define LOG_LVL_WARN      1
-#define LOG_LVL_INFO      2
-
-/// Logging verbose mode
-#define LOG_VERBOSE   1
-#define LOG_SILENT    0
-
-
-#if LOG_VERBOSITY == LOG_VERBOSE
-       #define LOG_PRINT(str_level, str,...)    kprintf("%s(%s():%d): "str, str_level, __func__, __LINE__, ## __VA_ARGS__)
-
-#elif LOG_VERBOSITY == LOG_SILENT
-       #define LOG_PRINT(str_level, str,...)    kprintf("%s: "str, str_level, ## __VA_ARGS__)
-
-#else
-       #error No log verbosity defined
-
-#endif
-
-/**
- * Log message level select.
+ * \name Logging level definition
+ *
  * When you choose a log level messages you choose
  * also which print function are linked.
  * If you choose a low level of log you link all log function (error, warning and info),
  * but if choose a hight level you link only that have the priority egual or hight.
  * The priority level go from error (most hight) to info (most low) (see cfg/debug.h
  * for more detail).
+ * \{
+ */
+#define LOG_LVL_NONE      0
+#define LOG_LVL_ERR       1
+#define LOG_LVL_WARN      2
+#define LOG_LVL_INFO      3
+/* \} */
+
+/**
+ * \name Logging format
  *
+ * There are two logging format: terse and verbose.  The latter prepends
+ * function names and line number information to each log entry.
+ * \{
  */
-#define LOG_ERR(str,...)            LOG_PRINT("ERR", str, ## __VA_ARGS__)
+#define LOG_FMT_VERBOSE   1
+#define LOG_FMT_TERSE     0
+/* \} */
 
-#if (LOG_LEVEL == LOG_LVL_INFO)
-       #define LOG_WARN(str,...)       LOG_PRINT("WARN", str, ## __VA_ARGS__)
-       #define LOG_INFO(str,...)       LOG_PRINT("INFO", str, ## __VA_ARGS__)
+#define LOG_SILENT    LOG_FMT_TERSE   /* OBSOLETE */
+#define LOG_VERBOSE   LOG_FMT_VERBOSE /* OBSOLETE */
 
-#elif (LOG_LEVEL == LOG_LVL_WARN)
-       #define LOG_WARN(str,...)       LOG_PRINT("WARN", str, ## __VA_ARGS__)
-       #define LOG_INFO(str,...)       /* Nothing */
+#if LOG_FORMAT == LOG_FMT_VERBOSE
+       #define LOG_PRINT(str_level, str,...)    kprintf("%s():%d:%s: " str, str_level, __func__, __LINE__, ## __VA_ARGS__)
+#elif LOG_FORMAT == LOG_FMT_TERSE
+       #define LOG_PRINT(str_level, str,...)    kprintf("%s: " str, str_level, ## __VA_ARGS__)
+#else
+       #error No LOG_FORMAT defined
+#endif
+
+#if LOG_LEVEL >= LOG_LVL_ERR
+       #define LOG_ERR(str,...)       LOG_PRINT("ERR", str, ## __VA_ARGS__)
+#else
+       #define LOG_ERR(str,...)       /* Nothing */
+#endif
 
-#else /* LOG_LEVEL == LOG_LVL_ERR */
+#if LOG_LEVEL >= LOG_LVL_WARN
+       #define LOG_WARN(str,...)       LOG_PRINT("WARN", str, ## __VA_ARGS__)
+#else
        #define LOG_WARN(str,...)       /* Nothing */
-       #define LOG_INFO(str,...)       /* Nothing */
+#endif
 
+#if LOG_LEVEL >= LOG_LVL_INFO
+       #define LOG_INFO(str,...)       LOG_PRINT("INFO", str, ## __VA_ARGS__)
+#else
+       #define LOG_INFO(str,...)       /* Nothing */
 #endif
 
 #endif /* CFG_LOG_H */
-
index 7030dd2a9d375c37ed934d486dfc264205125ae4..e0706812d83718142d56f82b54f52bf23b8f259e 100644 (file)
@@ -34,7 +34,6 @@
  * \brief PWM hardware-specific implementation
  *
  * \version $Id$
- *
  * \author Daniele Basile <asterix@develer.com>
  */
 
@@ -45,7 +44,7 @@
 
 // Define logging setting (for cfg/log.h module).
 #define LOG_LEVEL         PWM_LOG_LEVEL
-#define LOG_VERBOSITY     PWM_LOG_VERBOSITY
+#define LOG_FORMAT        PWM_LOG_FORMAT
 #include <cfg/log.h>
 
 #include <cfg/macros.h>
index 413cac80b5f5063da9998ede9445f55a70ee4096..daaf4d9b6f72a071eeec902a2283f6609a2d5699 100644 (file)
@@ -50,9 +50,9 @@
 #include <cfg/debug.h>
 #include <cpu/irq.h>
 
-       // Define logging setting (for cfg/log.h module).
-#define LOG_LEVEL         CONFIG_FLASH_AVR_LOG_LEVEL
-#define LOG_VERBOSITY     CONFIG_FLASH_AVR_LOG_VERBOSITY
+// Define log settings for cfg/log.h
+#define LOG_LEVEL    CONFIG_FLASH_AVR_LOG_LEVEL
+#define LOG_FORMAT   CONFIG_FLASH_AVR_LOG_FORMAT
 #include <cfg/log.h>
 
 #include <drv/wdt.h>
@@ -66,7 +66,6 @@
 #include <string.h>
 
 
-
 /**
  * Definition of type for avr flash module.
  */
index 554d15b88baec39cc6039993b5e0a055ad85d935..a349895c1d9044127478d3a33835179ab0132274 100644 (file)
@@ -30,7 +30,7 @@
  *
  * -->
  *
- *  \brief Function library for dataflash AT45DB family (implementation).
+ * \brief Function library for dataflash AT45DB family (implementation).
  *
  *
  * \version $Id: dataflash.c 21658 2008-06-05 16:42:54Z asterix $
@@ -46,8 +46,8 @@
 #include <cfg/module.h>
 
 // Define logging setting (for cfg/log.h module).
-#define LOG_LEVEL         DATAFLASH_LOG_LEVEL
-#define LOG_VERBOSITY     DATAFLASH_LOG_VERBOSITY
+#define LOG_LEVEL   DATAFLASH_LOG_LEVEL
+#define LOG_FORMAT  DATAFLASH_LOG_FORMAT
 #include <cfg/log.h>
 
 #include <drv/timer.h>
index 90f24ecbaab817fcc0343be174556284d4ae869d..276f9f432079e2f5ce29b861bf6c05d759c05ae4 100644 (file)
@@ -45,7 +45,6 @@
  *
  *
  * \version $Id$
- *
  * \author Daniele Basile <asterix@develer.com>
  */
 
@@ -58,8 +57,8 @@
 #include <cfg/module.h>
 
 // Define logging setting (for cfg/log.h module).
-#define LOG_LEVEL         DATAFLASH_LOG_LEVEL
-#define LOG_VERBOSITY     DATAFLASH_LOG_VERBOSITY
+#define LOG_LEVEL      DATAFLASH_LOG_LEVEL
+#define LOG_FORMAT     DATAFLASH_LOG_FORMAT
 #include <cfg/log.h>   // for logging system
 
 #include <drv/timer.h>
index 39b18b365a4dc77a1ba92e1cdbcde6b6919ec135..f66fe660e558cb4f9958d91553709e31870bb655 100644 (file)
@@ -55,7 +55,6 @@
  * and so the delay is do with a for cycle.
  *
  * \version $Id$
- *
  * \author Daniele Basile <asterix@develer.com>
  */
 
@@ -66,7 +65,7 @@
 
 // Define logging setting (for cfg/log.h module).
 #define LOG_LEVEL         PWM_LOG_LEVEL
-#define LOG_VERBOSITY     PWM_LOG_VERBOSITY
+#define LOG_FORMAT        PWM_LOG_FORMAT
 #include <cfg/log.h>   // for logging system
 
 #include <cpu/types.h>
index 6614623d409b676b6ea3d8731bf90c11bbd4e4de..7586cf87b07bcc5a825fc575546f9252b98ebf10 100644 (file)
@@ -1,14 +1,37 @@
 /**
  * \file
  * <!--
+ * This file is part of BeRTOS.
+ *
+ * Bertos is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ * As a special exception, you may use this file as part of a free software
+ * library without restriction.  Specifically, if other files instantiate
+ * templates or use macros or inline functions from this file, or you compile
+ * this file and link it with other files to produce an executable, this
+ * file does not by itself cause the resulting executable to be covered by
+ * the GNU General Public License.  This exception does not however
+ * invalidate any other reasons why the executable file might be covered by
+ * the GNU General Public License.
+ *
  * Copyright 2004, 2008 Develer S.r.l. (http://www.develer.com/)
- * All Rights Reserved.
  * -->
  *
  * \brief Driver to control stepper motor
  *
  * \version $Id$
- *
  * \author Francesco Michelini <francesco.michelini@seacfi.com>
  * \author Giovanni Bajo <rasky@develer.com>
  * \author Bernie Innocenti <bernie@codewiz.org>
@@ -25,8 +48,8 @@
 #include <cfg/debug.h>
 
 // Define logging setting (for cfg/log.h module).
-#define LOG_LEVEL         STEPPER_LOG_LEVEL
-#define LOG_VERBOSITY     STEPPER_LOG_VERBOSITY
+#define LOG_LEVEL   STEPPER_LOG_LEVEL
+#define LOG_FORMAT  STEPPER_LOG_FORMAT
 #include <cfg/log.h>
 
 #include <kern/proc.h>
index aa671dc4d9423e8f50c0008ffc237212ec58a9e5..942726399b1e47b0ebb102acd06b308592494ec7 100644 (file)
@@ -341,3 +341,19 @@ void timer_init(void)
 
        MOD_INIT(timer);
 }
+
+
+#if (ARCH & ARCH_EMUL)
+/**
+ * Stop timer (only used by emulator)
+ */
+void timer_cleanup(void)
+{
+       MOD_CLEANUP(timer);
+
+       timer_hw_cleanup();
+
+       // Hmmm... apparently, the demo app does not cleanup properly
+       //ASSERT(LIST_EMPTY(&timers_queue));
+}
+#endif /* ARCH_EMUL */