bunti/src/main/java/de/ctdo/bunti/model/Lampel.java

55 lines
1.3 KiB
Java

package de.ctdo.bunti.model;
import javax.persistence.Entity;
import javax.persistence.Transient;
@Entity
public class Lampel extends BuntiEthersexDevice {
private static final String PORTC = "2"; // TODO: rausfinden welche PortNummer das ist
public static final int LAMPEL_OFF = 0x00;
public static final int LAMPEL_RED = 0x80; // TODO: rausfinden ob die Reihenfolge stimmt
public static final int LAMPEL_YELLOW = 0x40;
public static final int LAMPEL_GREEN = 0x20;
public Lampel() {
addPort(PORTC);
}
@Transient
public int getLampelState() {
return getPortByName(PORTC);
}
public void setLampelState(int value) {
setPortByName(PORTC, value);
}
@Override
public final void switchOff() {
setPortByName(PORTC, LAMPEL_OFF);
}
@Override
public final void switchOn() {
setPortByName(PORTC, LAMPEL_GREEN | LAMPEL_RED | LAMPEL_YELLOW);
}
@Override
public final String toString() {
StringBuilder sb = new StringBuilder();
sb.append("Lampel ");
sb.append(getId());
sb.append(", ");
sb.append(getDeviceName());
sb.append(" [");
sb.append(getPortByName(PORTC));
sb.append("]");
return sb.toString();
}
}