package de.ctdo.bunti.model; import de.ctdo.bunti.dmx.DMX; import de.ctdo.bunti.dmx.DMXChannel; public class Par56Spot extends BuntiDMXDevice { private final static String CHANNEL_MODE = "mode"; private final static String CHANNEL_RED = "red"; private final static String CHANNEL_GREEN = "green"; private final static String CHANNEL_BLUE = "blue"; private final static String CHANNEL_SPEED = "speed"; public Par56Spot(int deviceId, int startAddress, String deviceName) { super(deviceId, startAddress, deviceName); dmxChannels.addChannel(new DMXChannel(0, CHANNEL_MODE)); dmxChannels.addChannel(new DMXChannel(1, "red")); dmxChannels.addChannel(new DMXChannel(2, CHANNEL_GREEN)); dmxChannels.addChannel(new DMXChannel(3, CHANNEL_BLUE)); dmxChannels.addChannel(new DMXChannel(4, CHANNEL_SPEED)); } public void setColorRed(int value) { setChannelValueByName(CHANNEL_RED, value); } public void setColorGreen(int value) { setChannelValueByName(CHANNEL_GREEN, value); } public void setColorBlue(int value) { setChannelValueByName(CHANNEL_BLUE, value); } public int getColorRed() { return getChannelValueByName(CHANNEL_RED); } public int getColorGreen() { return getChannelValueByName(CHANNEL_GREEN); } public int getColorBlue() { return getChannelValueByName(CHANNEL_BLUE); } @Override public void switchOff() { setChannelValueByName(CHANNEL_MODE, DMX.DMX_CHANNEL_VALUE_MIN); setColorRed(DMX.DMX_CHANNEL_VALUE_MIN); setColorGreen(DMX.DMX_CHANNEL_VALUE_MIN); setColorBlue(DMX.DMX_CHANNEL_VALUE_MIN); setChannelValueByName(CHANNEL_SPEED, DMX.DMX_CHANNEL_VALUE_MIN); } @Override public void switchOn() { setChannelValueByName(CHANNEL_MODE, DMX.DMX_CHANNEL_VALUE_MIN); setColorRed(DMX.DMX_CHANNEL_VALUE_MAX); setColorGreen(DMX.DMX_CHANNEL_VALUE_MAX); setColorBlue(DMX.DMX_CHANNEL_VALUE_MAX); setChannelValueByName(CHANNEL_SPEED, DMX.DMX_CHANNEL_VALUE_MIN); } @Override public String toString() { return "Par56Spot " + deviceId + ", " + deviceName + " " + "[" + getColorRed() + "," + getColorGreen() + "," + getColorBlue() + "]"; } }