Update the hw and cfg thermo files.
authorasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 28 Apr 2010 10:25:39 +0000 (10:25 +0000)
committerasterix <asterix@38d2e660-2303-0410-9eaa-f027e97ec537>
Wed, 28 Apr 2010 10:25:39 +0000 (10:25 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3557 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/hw/hw_thermo.h
bertos/hw/thermo_map.h

index bbfc9ddef227c7db88dc5d23d8c704a603939c54..6f478068a1946df7e48f40a3eaa41f66c50bcc76 100644 (file)
@@ -32,7 +32,6 @@
  *
  * \brief thermo hardware-specific control functions.
  *
- * \version $Id$
  * \author Francesco Sacchi <batt@develer.com>
  *
  */
 #ifndef HW_THERMO_H
 #define HW_THERMO_H
 
-#include "thermo_map.h"
-#include "ntc_map.h"
-
-#include <drv/phase.h>
-#include <drv/ntc.h>
+#include "hw/thermo_map.h"
 
 #include <cfg/debug.h>
-#include <cfg/compiler.h>
 
-#warning TODO:This is an example implentation, you must implement it!
-
-/*!
- * This function should return the temperature set tolerance.
- */
-INLINE deg_t thermo_hw_tolerance(ThermoDev dev)
-{
-       ASSERT(dev < THERMO_CNT);
-
-       switch (dev)
-       {
-       case THERMO_TEST: 
-               /* Put here convertion function to temperature size */
-               break;
-
-       /* Put here your thermo device */
+#include <drv/ntc.h>
 
-       default:
-               ASSERT(0);
-       }
 
+INLINE ticks_t thermo_hw_timeout(ThermoDev dev)
+{
+       (void)dev;
        return 0;
 }
 
-
-/*!
- * This function should return the timeout for reaching the
- * target temperature.
+/**
+ * This function should return the temperature set tolerance.
  */
-INLINE ticks_t thermo_hw_timeout(ThermoDev dev)
+INLINE deg_t thermo_hw_tolerance(ThermoDev dev)
 {
-       ASSERT(dev < THERMO_CNT);
-
-       switch (dev)
-       {
-       case THERMO_TEST:
-               /* return ms_to_ticks(60000); */
-               break;
-
-       /* Put here a time out for select thermo device */
-
-       default:
-               ASSERT(0);
-       }
-
+       (void)dev;
        return 0;
 }
 
-
-
-/*!
+/**
  * Read the temperature of the hw device \a dev.
  */
 INLINE deg_t thermo_hw_read(ThermoDev dev)
 {
-       return ntc_read(dev);
+       ASSERT(dev < THERMO_CNT);
+       /* Put here the code to read current temperature */
+       return 0;
 }
 
 
-/*!
+/**
  * Turns off a specific device.
  * This function is usefull to handle errors.
  */
 INLINE void thermo_hw_off(ThermoDev dev)
 {
        ASSERT(dev < THERMO_CNT);
-
-       switch (dev)
-       {
-       case THERMO_TEST:
-               phase_setPower(TRIAC_TEST, 0);
-               break;
-
-       /* Put here a thermo device to turn off */
-
-       default:
-               ASSERT(0);
-       }
-
+       /* Put here the code to turn off the thermo device */
 }
 
-
-/*!
- * Based on the current temperature \a cur_temp and the target temperature \a target, this function turns on and off specific
- * triac channel and handles the freezer alarm.
+/**
+ * Based on the current temperature \a cur_temp and the target temperature \a target,
+ * this function turns on and off specific thermo device.
  * It may use also PID control for thermo-regolations.
  */
 INLINE void thermo_hw_set(ThermoDev dev, deg_t target, deg_t cur_temp)
 {
        ASSERT(dev < THERMO_CNT);
 
-       deg_t dist = target - cur_temp;
-       //kprintf("dev[%d], dist[%d]\n", dev, dist);
-
-       switch(dev)
+       if (target - cur_temp > 0)
        {
-       case THERMO_TEST:
-               if (dist > 0)
-               {
-                       /*      phase_setPower(TRIAC_TEST, dist * PID_TEST_K); */
-               }
-               else
-               {
-                       /* phase_setPower(TRIAC_TEST, 0); */
-               }
-               break;
-
-       /* Put here an other thermo device */
-
-       default:
-               ASSERT(0);
+               /*
+                * We are leveaving the target temperature, so
+                * turn on the thermo device!
+                */
+       }
+       else
+       {
+               /*
+                * Ok, we are near the target temperature, so
+                * turn off the thermo device!
+                */
        }
-}
 
+}
 
 #define THERMO_HW_INIT _thermo_hw_init()
 
-/*!
+/**
  * Init hw associated with thermo-control.
  */
 INLINE void _thermo_hw_init(void)
 {
-       ASSERT(phase_initialized);
-       ASSERT(ntc_initialized);
-
-       phase_setPower(TRIAC_TEST, 0);
-
-       /* Add here the other thermo device */
+       /* Init your devices here! */
 }
 
 #endif /* HW_THERMO_H */
index 01132080c16321cfc5a3e149a1390916952f715b..248cc436fa3db9ba9374975d34ea842e859c32c5 100644 (file)
 #include <cfg/compiler.h>
 #include <cfg/macros.h>
 
-#warning TODO:This is an example implentation, you must implement it!
-
 typedef enum ThermoDev
 {
-
-       THERMO_TEST,
-       /* Put here your thermo device */
+       THERMO_MIXER1 = 0,
+       THERMO_MIXER2,
+       THERMO_MIXER3,
+       THERMO_MIXER4,
 
        THERMO_CNT
 } ThermoDev;