55 lines
1.3 KiB
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();
|
|
}
|
|
|
|
}
|