123
Fork of Ventiel by
ventiel.cpp
- Committer:
- aglorenz
- Date:
- 2014-08-20
- Revision:
- 1:d0b7c72ef864
- Parent:
- 0:6139224eb903
- Child:
- 2:029f0291d1c4
File content as of revision 1:d0b7c72ef864:
#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) 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 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) com.putc(0x30 + n); wait_ms(10); } } bool ventiel::get(uint8_t val) { if ((v_var & (1 << val)) == 0) return false; else return true; }