123

Dependents:  

Fork of Ventiel by Temp27

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;    
 }