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

86 lines
2.3 KiB
Java

package de.ctdo.bunti.model;
import de.ctdo.bunti.dmx.DMX;
import de.ctdo.bunti.dmx.DMXChannel;
import javax.persistence.Entity;
import javax.persistence.Transient;
@Entity
public class Strobe1500 extends BuntiDMXDevice {
private static final String CHANNEL_SPEED = "speed";
private static final String CHANNEL_INTENSITY = "intensity";
private static final String CHANNEL_MODE = "mode";
public Strobe1500() {
super();
addChannels();
}
private void addChannels() {
addChannel(new DMXChannel(0, CHANNEL_SPEED));
addChannel(new DMXChannel(1, CHANNEL_INTENSITY));
addChannel(new DMXChannel(2, CHANNEL_MODE));
}
public final boolean setSpeed(int value) {
return setChannelValueByName(CHANNEL_SPEED, value);
}
public final boolean setIntensity(int value) {
return setChannelValueByName(CHANNEL_INTENSITY, value);
}
public final boolean setMode(int value) {
return setChannelValueByName(CHANNEL_MODE, value);
}
@Transient
public final int getSpeed() {
return getChannelValueByName(CHANNEL_SPEED);
}
@Transient
public final int getIntensity() {
return getChannelValueByName(CHANNEL_INTENSITY);
}
@Transient
public final int getMode() {
return getChannelValueByName(CHANNEL_MODE);
}
@Override
public final void switchOff() {
setChannelValueByName(CHANNEL_MODE, DMX.DMX_CHANNEL_VALUE_MIN);
setChannelValueByName(CHANNEL_SPEED, DMX.DMX_CHANNEL_VALUE_MIN);
setChannelValueByName(CHANNEL_INTENSITY, DMX.DMX_CHANNEL_VALUE_MIN);
}
@Override
public final void switchOn() {
setChannelValueByName(CHANNEL_MODE, DMX.DMX_CHANNEL_VALUE_MIN);
setChannelValueByName(CHANNEL_SPEED, DMX.DMX_CHANNEL_VALUE_MAX);
setChannelValueByName(CHANNEL_INTENSITY, DMX.DMX_CHANNEL_VALUE_MAX);
}
@Override
public final String toString() {
StringBuilder sb = new StringBuilder();
sb.append("Strobe1500 ");
sb.append(getId());
sb.append(", ");
sb.append(getDeviceName());
sb.append(" [");
sb.append(getSpeed());
sb.append(",");
sb.append(getIntensity());
sb.append(",");
sb.append(getMode());
sb.append("]");
return sb.toString();
}
}