Refactor to use new protocol module and sipo.
[bertos.git] / bertos / drv / phase.c
index e30f46681e2694a562dc537ec21807df9ed9df72..275b133db80f27328782bb5be6405bd672d84566 100644 (file)
  * Copyright 2005 Develer S.r.l. (http://www.develer.com/)
  * -->
  *
- * \version $Id$
- *
  * \brief Phase control driver (implementation)
  *
- * \version $Id$
+ *
  * \author Francesco Sacchi <batt@develer.com>
  */
 
-#include <drv/timer.h>
 
+#include "hw/hw_phase.h"
 
 #include <cfg/macros.h>
-#include <cpu/irq.h>
-#include <cpu/types.h>
 #include <cfg/compiler.h>
 
+#include <cpu/irq.h>
+#include <cpu/types.h>
 
-#include <hw_phase.h>
+#include <drv/timer.h>
 #include <drv/phase.h>
 
 #include <math.h>
@@ -75,10 +73,10 @@ DEFINE_ZEROCROSS_ISR()
        for (dev = 0; dev < TRIAC_CNT; dev++)
        {
                /* Only turn off triac if duty is != 100% */
-               if (triacs[dev].duty != TRIAC_MAX_DUTY)
+               if (triacs[dev].duty != CONFIG_TRIAC_MAX_DUTY)
                        TRIAC_OFF(dev);
                /* Compute delay from duty */
-               timer_setDelay(&triacs[dev].timer, DIV_ROUND(period * (TRIAC_MAX_DUTY - triacs[dev].duty), TRIAC_MAX_DUTY));
+               timer_setDelay(&triacs[dev].timer, DIV_ROUND(period * (CONFIG_TRIAC_MAX_DUTY - triacs[dev].duty), CONFIG_TRIAC_MAX_DUTY));
 
                /* This check avoids inserting the same timer twice
                 * in case of an intempestive zerocross or spike */
@@ -101,7 +99,7 @@ DEFINE_ZEROCROSS_ISR()
  */
 void phase_setDuty(TriacDev dev, triac_duty_t duty)
 {
-       cpuflags_t flags;
+       cpu_flags_t flags;
        IRQ_SAVE_DISABLE(flags);
 
        phase_setDutyUnlock(dev,duty);
@@ -116,7 +114,7 @@ void phase_setDuty(TriacDev dev, triac_duty_t duty)
  */
 void phase_setDutyUnlock(TriacDev dev, triac_duty_t duty)
 {
-       triacs[dev].duty = MIN(duty, (triac_duty_t)TRIAC_MAX_DUTY);
+       triacs[dev].duty = MIN(duty, (triac_duty_t)CONFIG_TRIAC_MAX_DUTY);
 }
 
 
@@ -132,18 +130,18 @@ void phase_setPower(TriacDev dev, triac_power_t power)
        bool greater_fifty = false;
        triac_duty_t duty;
 
-       power = MIN(power, (triac_power_t)TRIAC_MAX_POWER);
+       power = MIN(power, (triac_power_t)CONFIG_TRIAC_MAX_POWER);
 
-       if (power > TRIAC_MAX_POWER / 2)
+       if (power > CONFIG_TRIAC_MAX_POWER / 2)
        {
                greater_fifty = true;
-               power = TRIAC_MAX_POWER - power;
+               power = CONFIG_TRIAC_MAX_POWER - power;
        }
 
        duty = TRIAC_POWER_K * sqrt(power);
 
        if (greater_fifty)
-               duty = TRIAC_MAX_DUTY - duty;
+               duty = CONFIG_TRIAC_MAX_DUTY - duty;
        phase_setDuty(dev, duty);
 }
 
@@ -171,7 +169,7 @@ static void phase_softint(void *_dev)
  */
 void phase_init(void)
 {
-       cpuflags_t flags;
+       cpu_flags_t flags;
        TriacDev dev;
 
        /* Init timers and ensure that all triac are off */
@@ -181,7 +179,7 @@ void phase_init(void)
                triacs[dev].running = false;
                SET_TRIAC_DDR(dev);
                TRIAC_OFF(dev);
-               timer_set_event_softint(&triacs[dev].timer, (Hook)phase_softint, (void *)dev);
+               timer_setSoftint(&triacs[dev].timer, (Hook)phase_softint, (void *)dev);
        }
        IRQ_SAVE_DISABLE(flags);
 
@@ -190,3 +188,4 @@ void phase_init(void)
        DB(phase_initialized = true;)
        IRQ_RESTORE(flags);
 }
+