From bc09f0795b99996e898731bad9853e32e59fd212 Mon Sep 17 00:00:00 2001 From: Michael Buesch Date: Sun, 22 Nov 2009 16:37:09 +0100 Subject: pressure_control: Fix valve idle state Signed-off-by: Michael Buesch --- pressure_control/firmware/valves.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'pressure_control/firmware/valves.c') diff --git a/pressure_control/firmware/valves.c b/pressure_control/firmware/valves.c index 4860246..c12e3ea 100644 --- a/pressure_control/firmware/valves.c +++ b/pressure_control/firmware/valves.c @@ -43,7 +43,11 @@ void valve0_switch(struct valves *v, uint8_t state) } else if (state == VALVE_STATE_OPEN) { MMIO8(v->close0.port) &= ~(v->close0.bitmask); MMIO8(v->open0.port) |= v->open0.bitmask; - } + } else if (state == VALVE_STATE_IDLE) { + MMIO8(v->open0.port) &= ~(v->open0.bitmask); + MMIO8(v->close0.port) &= ~(v->close0.bitmask); + } else + BUG_ON(1); break; } } @@ -64,7 +68,11 @@ void valve1_switch(struct valves *v, uint8_t state) } else if (state == VALVE_STATE_OPEN) { MMIO8(v->close1.port) &= ~(v->close1.bitmask); MMIO8(v->open1.port) |= v->open1.bitmask; - } + } else if (state == VALVE_STATE_IDLE) { + MMIO8(v->open1.port) &= ~(v->open1.bitmask); + MMIO8(v->close1.port) &= ~(v->close1.bitmask); + } else + BUG_ON(1); break; } } -- cgit v1.2.3