123
Fork of Ventiel by
ventiel.cpp
- Committer:
- rs27
- Date:
- 2014-08-20
- Revision:
- 3:0a998c16eead
- Parent:
- 2:029f0291d1c4
- Child:
- 4:0b90e095f3b7
File content as of revision 3:0a998c16eead:
#include "ventiel.h" extern Serial pc; // definiert in main extern Serial com; // definiert in main //-------------------------------------------------------- // Construktor initialisiert das Ventiel ventiel::ventiel() { v_var = 0; } 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 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'); // 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); } } } 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 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'); // 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); } } } bool ventiel::get(uint8_t val) { if ((v_var & (1 << val)) == 0) return false; else return true; }