86 lines
2.3 KiB
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();
|
|
}
|
|
|
|
}
|