added missing files
This commit is contained in:
parent
6609d1a44b
commit
1fcd320aca
|
@ -0,0 +1,11 @@
|
||||||
|
package de.ctdo.bunti.dao;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import de.ctdo.bunti.model.*;
|
||||||
|
|
||||||
|
public interface BuntiDevicesDAO {
|
||||||
|
|
||||||
|
public List<BuntiDMXDevice> getAllDMXDevices();
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,78 @@
|
||||||
|
package de.ctdo.bunti.dao;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import de.ctdo.bunti.dmx.DMXChannel;
|
||||||
|
import de.ctdo.bunti.model.BuntiDMXDevice;
|
||||||
|
import de.ctdo.bunti.model.BuntiDevice;
|
||||||
|
|
||||||
|
public class BuntiDevicesDAOImpl implements BuntiDevicesDAO {
|
||||||
|
|
||||||
|
List<BuntiDevice> devices = new ArrayList<BuntiDevice>();
|
||||||
|
|
||||||
|
public BuntiDevicesDAOImpl() {
|
||||||
|
addDummyDevices();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void addDummyDevices() {
|
||||||
|
BuntiDMXDevice d1 = new BuntiDMXDevice();
|
||||||
|
d1.setDeviceID(1);
|
||||||
|
d1.setDeviceName("Par65 Lampe 1");
|
||||||
|
d1.setStartAddress(1);
|
||||||
|
d1.addChannel(new DMXChannel(0, "mode"));
|
||||||
|
d1.addChannel(new DMXChannel(1, "red"));
|
||||||
|
d1.addChannel(new DMXChannel(2, "green"));
|
||||||
|
d1.addChannel(new DMXChannel(3, "blue"));
|
||||||
|
d1.addChannel(new DMXChannel(4, "speed"));
|
||||||
|
devices.add(d1);
|
||||||
|
|
||||||
|
d1 = new BuntiDMXDevice();
|
||||||
|
d1.setDeviceID(6);
|
||||||
|
d1.setDeviceName("Par65 Lampe 2");
|
||||||
|
d1.setStartAddress(1);
|
||||||
|
d1.addChannel(new DMXChannel(0, "mode"));
|
||||||
|
d1.addChannel(new DMXChannel(1, "red"));
|
||||||
|
d1.addChannel(new DMXChannel(2, "green"));
|
||||||
|
d1.addChannel(new DMXChannel(3, "blue"));
|
||||||
|
d1.addChannel(new DMXChannel(4, "speed"));
|
||||||
|
devices.add(d1);
|
||||||
|
|
||||||
|
d1 = new BuntiDMXDevice();
|
||||||
|
d1.setDeviceID(11);
|
||||||
|
d1.setDeviceName("Par65 Lampe 4");
|
||||||
|
d1.setStartAddress(1);
|
||||||
|
d1.addChannel(new DMXChannel(0, "mode"));
|
||||||
|
d1.addChannel(new DMXChannel(1, "red"));
|
||||||
|
d1.addChannel(new DMXChannel(2, "green"));
|
||||||
|
d1.addChannel(new DMXChannel(3, "blue"));
|
||||||
|
d1.addChannel(new DMXChannel(4, "speed"));
|
||||||
|
devices.add(d1);
|
||||||
|
|
||||||
|
d1 = new BuntiDMXDevice();
|
||||||
|
d1.setDeviceID(16);
|
||||||
|
d1.setDeviceName("Par65 Lampe 4");
|
||||||
|
d1.setStartAddress(1);
|
||||||
|
d1.addChannel(new DMXChannel(0, "mode"));
|
||||||
|
d1.addChannel(new DMXChannel(1, "red"));
|
||||||
|
d1.addChannel(new DMXChannel(2, "green"));
|
||||||
|
d1.addChannel(new DMXChannel(3, "blue"));
|
||||||
|
d1.addChannel(new DMXChannel(4, "speed"));
|
||||||
|
devices.add(d1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BuntiDMXDevice> getAllDMXDevices() {
|
||||||
|
List<BuntiDMXDevice> liste = new ArrayList<BuntiDMXDevice>();
|
||||||
|
for (BuntiDevice device : devices) {
|
||||||
|
if( device.getClass().equals(BuntiDMXDevice.class) ) {
|
||||||
|
liste.add((BuntiDMXDevice) device);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return liste;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
package de.ctdo.bunti.dmx;
|
||||||
|
|
||||||
|
public class DMX {
|
||||||
|
|
||||||
|
public static int DMX_CHANNELS_MAX = 511;
|
||||||
|
public static int DMX_CHANNELS_MIN = 0;
|
||||||
|
public static int DMX_CHANNEL_VALUE_MAX = 255;
|
||||||
|
public static int DMX_CHANNEL_VALUE_MIN = 0;
|
||||||
|
|
||||||
|
public static int sanitizeDMXValue(int value) {
|
||||||
|
if(value < DMX_CHANNEL_VALUE_MIN) value = DMX_CHANNEL_VALUE_MIN;
|
||||||
|
if(value > DMX_CHANNEL_VALUE_MAX) value = DMX_CHANNEL_VALUE_MAX;
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean checkChannelBoundaries(int channel) {
|
||||||
|
return (channel >= DMX_CHANNELS_MIN && channel <= DMX_CHANNELS_MAX);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
package de.ctdo.bunti.dmx;
|
||||||
|
|
||||||
|
public class DMXChannel {
|
||||||
|
public int offset;
|
||||||
|
public String description;
|
||||||
|
public int value;
|
||||||
|
|
||||||
|
public DMXChannel(int offset, String description) {
|
||||||
|
this.description = description;
|
||||||
|
this.offset = offset;
|
||||||
|
this.value = 0;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,99 @@
|
||||||
|
package de.ctdo.bunti.model;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import de.ctdo.bunti.dmx.*;
|
||||||
|
|
||||||
|
public class BuntiDMXDevice extends BuntiDevice {
|
||||||
|
int startAddress;
|
||||||
|
List<DMXChannel> dmxValues = new ArrayList<DMXChannel>();
|
||||||
|
|
||||||
|
public DMXChannel getDMXChannelByName(String channel) {
|
||||||
|
for (DMXChannel dx : dmxValues) {
|
||||||
|
if(channel.equals(dx.description)) {
|
||||||
|
return dx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DMXChannel getDMXChannelByOffset(int offset) {
|
||||||
|
for (DMXChannel dx : dmxValues) {
|
||||||
|
if(offset == dx.offset) {
|
||||||
|
return dx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// public DMXChannel getDMXChannelByAddress(int address) {
|
||||||
|
// int offset = address - startAddress;
|
||||||
|
// return getDMXChannelByOffset(offset);
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void setChannelValueByName(String name, int value) {
|
||||||
|
DMXChannel dx = getDMXChannelByName(name);
|
||||||
|
if(dx != null) {
|
||||||
|
dx.value = DMX.sanitizeDMXValue(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// public void setChannelValueByOffset(int offsetChannel, int value) {
|
||||||
|
// DMXChannel dx = getDMXChannelByOffset(offsetChannel);
|
||||||
|
// if(dx != null) {
|
||||||
|
// dx.value = DMX.sanitizeDMXValue(value);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// public void setChannelValueByAddress(int address, int value) {
|
||||||
|
// DMXChannel dx = getDMXChannelByAddress(address);
|
||||||
|
// if(dx != null) {
|
||||||
|
// dx.value = DMX.sanitizeDMXValue(value);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
public int getChannelValueByName(String name) {
|
||||||
|
DMXChannel dx = getDMXChannelByName(name);
|
||||||
|
if(dx != null) {
|
||||||
|
return dx.value;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// public int getChannelValueByOffset(int offsetChannel) {
|
||||||
|
// DMXChannel dx = getDMXChannelByOffset(offsetChannel)
|
||||||
|
// if(dx != null) {
|
||||||
|
// return dx.value;
|
||||||
|
// }
|
||||||
|
// return 0;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// public int getChannelValueByAddress(int address) {
|
||||||
|
// DMXChannel dx = getDMXChannelByAddress(address);
|
||||||
|
// if(dx != null) {
|
||||||
|
// return dx.value;
|
||||||
|
// }
|
||||||
|
// return 0;
|
||||||
|
// }
|
||||||
|
|
||||||
|
public int getStartAddress() {
|
||||||
|
return startAddress;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStartAddress(int startAddress) {
|
||||||
|
this.startAddress = startAddress;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addChannel(DMXChannel channel) {
|
||||||
|
dmxValues.add(channel);
|
||||||
|
}
|
||||||
|
public void removeChannel(int offset) {
|
||||||
|
DMXChannel dx = getDMXChannelByOffset(offset);
|
||||||
|
if(dx != null) {
|
||||||
|
dmxValues.remove(offset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
package de.ctdo.bunti.model;
|
||||||
|
|
||||||
|
public class BuntiDevice {
|
||||||
|
|
||||||
|
int deviceID;
|
||||||
|
String deviceName;
|
||||||
|
|
||||||
|
public int getDeviceID() {
|
||||||
|
return deviceID;
|
||||||
|
}
|
||||||
|
public void setDeviceID(int deviceID) {
|
||||||
|
this.deviceID = deviceID;
|
||||||
|
}
|
||||||
|
public String getDeviceName() {
|
||||||
|
return deviceName;
|
||||||
|
}
|
||||||
|
public void setDeviceName(String deviceName) {
|
||||||
|
this.deviceName = deviceName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue