Skip to content
Snippets Groups Projects
Commit 57565d51 authored by Thomas Oster's avatar Thomas Oster
Browse files

Width+Height variable. Also properties to one map

parent dbda003b
No related branches found
No related tags found
No related merge requests found
...@@ -38,8 +38,10 @@ import java.net.Socket; ...@@ -38,8 +38,10 @@ import java.net.Socket;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.util.Arrays; import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map;
/** /**
* *
...@@ -65,9 +67,17 @@ public class IModelaMill extends LaserCutter ...@@ -65,9 +67,17 @@ public class IModelaMill extends LaserCutter
private static String HOSTNAME = "Hostname/IP"; private static String HOSTNAME = "Hostname/IP";
private static String PORT = "port"; private static String PORT = "port";
private static String BED_WIDTH = "bed width";
private String hostname = "localhost"; private static String BED_HEIGHT = "bed height";
private int port = 5000;
private Map<String, Object> properties = new LinkedHashMap<String, Object>();
public IModelaMill()
{
properties.put(BED_WIDTH, (Double) 85d);
properties.put(BED_HEIGHT, (Double) 55d);
properties.put(HOSTNAME, "file:///dev/usb/lp0");
properties.put(PORT, (Integer) 5000);
}
private void writeInitializationCode(PrintStream out) private void writeInitializationCode(PrintStream out)
{ {
...@@ -207,19 +217,27 @@ public class IModelaMill extends LaserCutter ...@@ -207,19 +217,27 @@ public class IModelaMill extends LaserCutter
{ {
// software resolution in NC-Code mode: 0.001mm/step = 0.000036 inches/step // software resolution in NC-Code mode: 0.001mm/step = 0.000036 inches/step
// means 1000 steps per mm // means 1000 steps per mm
return Arrays.asList(new Double[]{Util.dpmm2dpi(1000d)}); return Arrays.asList(new Double[]{100d, 200d, 300d, 400d, 500d, 1000d, 1200d, Util.dpmm2dpi(1000d)});
} }
@Override @Override
public double getBedWidth() public double getBedWidth()
{ {
return 86; if (properties.get(BED_WIDTH) == null)
{
properties.put(BED_WIDTH, (Double) 85d);
}
return (Double) properties.get(BED_WIDTH);
} }
@Override @Override
public double getBedHeight() public double getBedHeight()
{ {
return 55; if (properties.get(BED_HEIGHT) == null)
{
properties.put(BED_HEIGHT, (Double) 55d);
}
return (Double) properties.get(BED_HEIGHT);
} }
@Override @Override
...@@ -242,38 +260,24 @@ public class IModelaMill extends LaserCutter ...@@ -242,38 +260,24 @@ public class IModelaMill extends LaserCutter
@Override @Override
public String[] getPropertyKeys() public String[] getPropertyKeys()
{ {
return new String[]{HOSTNAME, PORT}; return properties.keySet().toArray(new String[0]);
} }
@Override @Override
public void setProperty(String key, Object value) public void setProperty(String key, Object value)
{ {
if (HOSTNAME.equals(key)) properties.put(key, value);
{
hostname = (String) value;
}
else if (PORT.equals(key))
{
port = (Integer) value;
}
} }
@Override @Override
public Object getProperty(String key) public Object getProperty(String key)
{ {
if (HOSTNAME.equals(key)) return properties.get(key);
{
return hostname;
}
else if (PORT.equals(key))
{
return (Integer) port;
}
return null;
} }
private void sendGCode(byte[] gcode, ProgressListener pl, List<String> warnings) throws IOException, URISyntaxException private void sendGCode(byte[] gcode, ProgressListener pl, List<String> warnings) throws IOException, URISyntaxException
{ {
String hostname = (String) properties.get(HOSTNAME);
pl.taskChanged(this, "connecting..."); pl.taskChanged(this, "connecting...");
if ("stdout".equals(hostname)) if ("stdout".equals(hostname))
{ {
...@@ -311,7 +315,7 @@ public class IModelaMill extends LaserCutter ...@@ -311,7 +315,7 @@ public class IModelaMill extends LaserCutter
else else
{ {
Socket s = new Socket(); Socket s = new Socket();
s.connect(new InetSocketAddress(hostname, port), 3000); s.connect(new InetSocketAddress(hostname, (Integer) properties.get(PORT)), 3000);
pl.taskChanged(this, "sending..."); pl.taskChanged(this, "sending...");
s.getOutputStream().write(gcode); s.getOutputStream().write(gcode);
s.close(); s.close();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment