X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fphase.c;h=275b133db80f27328782bb5be6405bd672d84566;hb=39e200e1f43474a96888f97e2271728c9605ccbe;hp=d6c0c73e7345ef7b6a8ec585cff1e9b5efbf2824;hpb=e62ca0b357f09804d7d894949df44224c9d74bb7;p=bertos.git diff --git a/bertos/drv/phase.c b/bertos/drv/phase.c index d6c0c73e..275b133d 100644 --- a/bertos/drv/phase.c +++ b/bertos/drv/phase.c @@ -31,7 +31,6 @@ * * \brief Phase control driver (implementation) * - * \version $Id$ * * \author Francesco Sacchi */ @@ -50,9 +49,6 @@ #include -#warning TODO:Generalize this moduele for all target supported. - -#if 0 /** Array of triacs */ static Triac triacs[TRIAC_CNT]; @@ -77,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 */ @@ -118,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); } @@ -134,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); } @@ -183,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); @@ -192,5 +188,4 @@ void phase_init(void) DB(phase_initialized = true;) IRQ_RESTORE(flags); } -#endif