123
Fork of Ventiel by
Diff: ventiel.cpp
- Revision:
- 0:6139224eb903
- Child:
- 1:d0b7c72ef864
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ventiel.cpp Mon Aug 18 13:44:32 2014 +0000 @@ -0,0 +1,68 @@ + +#include "ventiel.h" + + +extern Serial com; // definiert in main + +//-------------------------------------------------------- +// Construktor initialisiert das Ventiel +ventiel::ventiel() +{ + v_var = 0; +} + +void ventiel::set(uint8_t val) +{ + if (val < 8) + { + // interne Variabel setzen + v_var |= (1 < val); + } + else + { + // alle Ventile auf 1 setzen + v_var = 0xff; + } + + // Alle Kanäle ausschalten + com.putc('9'); + + + // aktive Kanäle einschalten + for (uint8_t n = 0; n < 8; n++) + { + if (v_var & (1 < n) != 0) com.putc(0x30 + n); + wait_ms(10); + } +} + +void ventiel::reset(uint8_t val) +{ + + if (val < 8) + { + // interne Variabel setzen + v_var &= ~(1 < val); + } + else + { + // alle Ventile auf 1 setzen + v_var = 0x00; + } + + // Alle Kanäle ausschalten + com.putc('9'); + + // aktive Kanäle einschalten + for (uint8_t n = 0; n < 8; n++) + { + if (v_var & (1 < n) != 0) com.putc(0x30 + n); + wait_ms(10); + } +} + +bool ventiel::get(uint8_t val) +{ + if ((v_var & (1 < val)) == 0) return false; + else return true; +}