X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fdrv%2Fphase.c;h=275b133db80f27328782bb5be6405bd672d84566;hb=1c11ac0ab0636d07db3899b02c5d89e2d0b020bc;hp=b56aa61d3807121d3382395f8613201860a82ea6;hpb=f58b90fce4022247d31d68ba1c0d3a620a9071d8;p=bertos.git diff --git a/bertos/drv/phase.c b/bertos/drv/phase.c index b56aa61d..275b133d 100644 --- a/bertos/drv/phase.c +++ b/bertos/drv/phase.c @@ -31,13 +31,12 @@ * * \brief Phase control driver (implementation) * - * \version $Id$ * * \author Francesco Sacchi */ -#include "hw_phase.h" +#include "hw/hw_phase.h" #include #include @@ -50,8 +49,6 @@ #include -#warning FIXME:Generalize this moduele for all target supported. - /** Array of triacs */ static Triac triacs[TRIAC_CNT]; @@ -76,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 */ @@ -102,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); @@ -117,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); } @@ -133,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); } @@ -172,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 */ @@ -182,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); @@ -191,3 +188,4 @@ void phase_init(void) DB(phase_initialized = true;) IRQ_RESTORE(flags); } +