123
Fork of Ventiel by
Revision 4:0b90e095f3b7, committed 2014-09-07
- Comitter:
- Sven3010
- Date:
- Sun Sep 07 12:07:49 2014 +0000
- Parent:
- 3:0a998c16eead
- Commit message:
- 070914;
Changed in this revision
ventiel.cpp | Show annotated file Show diff for this revision Revisions of this file |
ventiel.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 0a998c16eead -r 0b90e095f3b7 ventiel.cpp --- a/ventiel.cpp Wed Aug 20 12:18:47 2014 +0000 +++ b/ventiel.cpp Sun Sep 07 12:07:49 2014 +0000 @@ -1,8 +1,9 @@ - +#include "MODSERIAL.h" #include "ventiel.h" extern Serial pc; // definiert in main -extern Serial com; // definiert in main +extern Serial com; +//extern MODSERIAL com; // definiert in main //-------------------------------------------------------- // Construktor initialisiert das Ventiel @@ -15,7 +16,7 @@ { uint8_t wert1 = 0; - pc.printf("\nmagnet.set alt = %02x parmeter = %d",v_var,val); + //pc.printf("\nmagnet.set alt = %02x parmeter = %d",v_var,val); if (val < 8) @@ -33,23 +34,66 @@ pc.printf("\nmagnet.set neu = %02x verknuepfung = %02x\n",v_var,wert1); // Alle Kanäle ausschalten - com.putc('9'); + //com.putc('9'); // aktive Kanäle einschalten + for (uint8_t n = 0; n < 8; n++) { if ((v_var & (1 << n)) != 0) { char ch = 0x31 + n; - com.putc(ch); - pc.printf("\nZeichenausgabe = %c \n",ch); - wait_ms(10); + //com.putc(ch); + //pc.printf("\nZeichenausgabe = %c \n",ch); + //wait_ms(10); } } + com.printf(":AA0201%02xA5\n",v_var); +} + +void ventiel::toggle(uint8_t val) +{ + uint8_t wert1 = 0; + //pc.printf("\nmagnet.toggle alt = %02x parmeter = %d",v_var,val); + + + if (val < 8) + { + // interne Variabel setzen + wert1 = (1 << val); + if((v_var & wert1)==0){ + v_var |= wert1; + }else{ + v_var &= ~wert1; + + } + } + + pc.printf("\nmagnet.toggle neu = %02x verknuepfung = %02x\n",v_var,wert1); + + // 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) + { + char ch = 0x31 + n; + //com.putc(ch); + //pc.printf("\nZeichenausgabe = %c \n",ch); + //wait_ms(10); + } + + } + com.printf(":AA0201%02xA5\n",v_var); } void ventiel::reset(uint8_t val) @@ -57,7 +101,7 @@ uint8_t wert1 = 0; - pc.printf("\nmagnet.reset alt = %02x parameter = %d",v_var,val); + //pc.printf("\nmagnet.reset alt = %02x parameter = %d",v_var,val); if (val < 8) { @@ -74,7 +118,10 @@ pc.printf("\nmagnet.reset neu = %02x, verknuepfung = %02x\n",v_var,wert1); // Alle Kanäle ausschalten - com.putc('9'); +//com.putc('9'); + + com.printf(":AA0201%02xA5\n",v_var); + // aktive Kanäle einschalten for (uint8_t n = 0; n < 8; n++) @@ -82,9 +129,9 @@ if ((v_var & (1 << n)) != 0) { char ch = 0x31 + n; - com.putc(ch); - pc.printf("\nZeichenausgabe = %c \n",ch); - wait_ms(10); + //com.putc(ch); + //pc.printf("\nZeichenausgabe = %c \n",ch); + //wait_ms(10); } }
diff -r 0a998c16eead -r 0b90e095f3b7 ventiel.h --- a/ventiel.h Wed Aug 20 12:18:47 2014 +0000 +++ b/ventiel.h Sun Sep 07 12:07:49 2014 +0000 @@ -8,6 +8,7 @@ uint8_t v_var; ventiel(); + void toggle(uint8_t val); void set(uint8_t val); void reset(uint8_t val); bool get(uint8_t val);