123

Dependents:  

Fork of Ventiel by Temp27

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