doc: Clarify timer documentation.
[bertos.git] / bertos / drv / thermo.c
index fb8cbb7958ccda1bedc1a59444bcd58534118b18..37a1a02a2977bccea5fe5f9537d18819d590404e 100644 (file)
  * \author Francesco Sacchi <batt@develer.com>
  */
 
-/*#*
- *#* $Log$
- *#* Revision 1.3  2006/09/20 20:12:41  marco
- *#* Names convention, MOD_* macros.
- *#*
- *#* Revision 1.2  2006/07/19 12:56:26  bernie
- *#* Convert to new Doxygen style.
- *#*
- *#* Revision 1.1  2005/11/04 17:59:47  bernie
- *#* Import into DevLib.
- *#*
- *#*/
-#include <thermo_map.h>
-#include <hw_thermo.h>
+#include "hw/thermo_map.h"
+#include "hw/hw_thermo.h"
 
-#include <drv/thermo.h>
-#include <drv/timer.h>
-#include <drv/ntc.h>
+#include "cfg/cfg_thermo.h"
 
+#include <cfg/module.h>
 #include <cfg/macros.h>
 #include <cfg/debug.h>
 
+#include <drv/thermo.h>
+#include <drv/timer.h>
+#include <drv/ntc.h>
+
 
-/** Interval at which thermo control is performed. */
-#define THERMO_INTERVAL_MS      100
 
-/** Number of different samples we interpolate over to get the hifi temperature. */
-#define THERMO_HIFI_NUM_SAMPLES 10
 
 /** Timer for thermo-regulation. */
 static Timer thermo_timer;
 
 typedef struct ThermoControlDev
 {
-       deg_t          hifi_samples[THERMO_HIFI_NUM_SAMPLES];
+       deg_t          hifi_samples[CONFIG_THERMO_HIFI_NUM_SAMPLES];
        deg_t          cur_hifi_sample;
        deg_t          target;
        thermostatus_t status;
@@ -105,7 +92,7 @@ static void thermo_do(ThermoDev index)
 
        // Store the sample into the hifi FIFO buffer for later interpolation
        dev->hifi_samples[dev->cur_hifi_sample] = cur_temp;
-       if (++dev->cur_hifi_sample == THERMO_HIFI_NUM_SAMPLES)
+       if (++dev->cur_hifi_sample == CONFIG_THERMO_HIFI_NUM_SAMPLES)
                dev->cur_hifi_sample = 0;
 
        cur_temp = thermo_readTemperature(index);
@@ -207,7 +194,7 @@ void thermo_start(ThermoDev dev)
 
        /* Initialize the hifi FIFO with a constant value (the current temperature) */
        temp = thermo_hw_read(dev);
-       for (i = 0; i < THERMO_HIFI_NUM_SAMPLES; ++i)
+       for (i = 0; i < CONFIG_THERMO_HIFI_NUM_SAMPLES; ++i)
                devs[dev].hifi_samples[i] = temp;
        devs[dev].cur_hifi_sample = 0;
 
@@ -247,10 +234,10 @@ deg_t thermo_readTemperature(ThermoDev dev)
 
        MOD_CHECK(thermo);
 
-       for (i = 0; i < THERMO_HIFI_NUM_SAMPLES; i++)
+       for (i = 0; i < CONFIG_THERMO_HIFI_NUM_SAMPLES; i++)
                accum += devs[dev].hifi_samples[i];
 
-       return (deg_t)(accum / THERMO_HIFI_NUM_SAMPLES);
+       return (deg_t)(accum / CONFIG_THERMO_HIFI_NUM_SAMPLES);
 }
 
 MOD_DEFINE(thermo)
@@ -268,7 +255,7 @@ void thermo_init(void)
 
        MOD_INIT(thermo);
 
-       timer_setDelay(&thermo_timer, ms_to_ticks(THERMO_INTERVAL_MS));
-       timer_set_event_softint(&thermo_timer, (Hook)thermo_softint, 0);
+       timer_setDelay(&thermo_timer, ms_to_ticks(CONFIG_THERMO_INTERVAL_MS));
+       timer_setSoftint(&thermo_timer, (Hook)thermo_softint, 0);
        timer_add(&thermo_timer);
 }