123
Fork of Ventiel by
Diff: ventiel.cpp
- Revision:
- 1:d0b7c72ef864
- Parent:
- 0:6139224eb903
- Child:
- 2:029f0291d1c4
--- a/ventiel.cpp Mon Aug 18 13:44:32 2014 +0000 +++ b/ventiel.cpp Wed Aug 20 11:48:36 2014 +0000 @@ -1,7 +1,7 @@ #include "ventiel.h" - +extern Serial pc; // definiert in main extern Serial com; // definiert in main //-------------------------------------------------------- @@ -13,16 +13,24 @@ void ventiel::set(uint8_t val) { + uint8_t wert1 = 0; + + pc.printf("\nmagnet.set alt = %02x parmeter = %d",v_var,val); + + if (val < 8) { // interne Variabel setzen - v_var |= (1 < val); + wert1 = (1 << val); + v_var |= wert1; } else { // alle Ventile auf 1 setzen v_var = 0xff; } + + pc.printf("\nmagnet.set neu = %02x verknuepfung = %02x\n",v_var,wert1); // Alle Kanäle ausschalten com.putc('9'); @@ -31,24 +39,32 @@ // aktive Kanäle einschalten for (uint8_t n = 0; n < 8; n++) { - if (v_var & (1 < n) != 0) com.putc(0x30 + n); + if (v_var & (1 << n) != 0) com.putc(0x30 + n); wait_ms(10); - } + } + } void ventiel::reset(uint8_t val) { + uint8_t wert1 = 0; + + pc.printf("\nmagnet.reset alt = %02x parameter = %d",v_var,val); + if (val < 8) { // interne Variabel setzen - v_var &= ~(1 < val); + wert1 = ~(1 << val); + v_var &= wert1; } else { // alle Ventile auf 1 setzen v_var = 0x00; } + + pc.printf("\nmagnet.reset neu = %02x, verknuepfung = %02x\n",v_var,wert1); // Alle Kanäle ausschalten com.putc('9'); @@ -56,13 +72,16 @@ // aktive Kanäle einschalten for (uint8_t n = 0; n < 8; n++) { - if (v_var & (1 < n) != 0) com.putc(0x30 + 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; + if ((v_var & (1 << val)) == 0) return false; else return true; }