projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix the bug related to the empty version list
[bertos.git]
/
bertos
/
drv
/
phase.c
diff --git
a/bertos/drv/phase.c
b/bertos/drv/phase.c
index d6c0c73e7345ef7b6a8ec585cff1e9b5efbf2824..81e73f919c44b2730c14b6aca138d3ce76e9ac88 100644
(file)
--- a/
bertos/drv/phase.c
+++ b/
bertos/drv/phase.c
@@
-50,9
+50,6
@@
#include <math.h>
#include <math.h>
-#warning TODO:Generalize this moduele for all target supported.
-
-#if 0
/** Array of triacs */
static Triac triacs[TRIAC_CNT];
/** Array of triacs */
static Triac triacs[TRIAC_CNT];
@@
-77,10
+74,10
@@
DEFINE_ZEROCROSS_ISR()
for (dev = 0; dev < TRIAC_CNT; dev++)
{
/* Only turn off triac if duty is != 100% */
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 */
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 */
/* This check avoids inserting the same timer twice
* in case of an intempestive zerocross or spike */
@@
-118,7
+115,7
@@
void phase_setDuty(TriacDev dev, triac_duty_t duty)
*/
void phase_setDutyUnlock(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
+131,18
@@
void phase_setPower(TriacDev dev, triac_power_t power)
bool greater_fifty = false;
triac_duty_t duty;
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;
{
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_POWER_K * sqrt(power);
if (greater_fifty)
- duty = TRIAC_MAX_DUTY - duty;
+ duty =
CONFIG_
TRIAC_MAX_DUTY - duty;
phase_setDuty(dev, duty);
}
phase_setDuty(dev, duty);
}
@@
-183,7
+180,7
@@
void phase_init(void)
triacs[dev].running = false;
SET_TRIAC_DDR(dev);
TRIAC_OFF(dev);
triacs[dev].running = false;
SET_TRIAC_DDR(dev);
TRIAC_OFF(dev);
- timer_set
_event_s
oftint(&triacs[dev].timer, (Hook)phase_softint, (void *)dev);
+ timer_set
S
oftint(&triacs[dev].timer, (Hook)phase_softint, (void *)dev);
}
IRQ_SAVE_DISABLE(flags);
}
IRQ_SAVE_DISABLE(flags);
@@
-192,5
+189,4
@@
void phase_init(void)
DB(phase_initialized = true;)
IRQ_RESTORE(flags);
}
DB(phase_initialized = true;)
IRQ_RESTORE(flags);
}
-#endif