diff --git a/SerialPortWindow.pde b/SerialPortWindow.pde index 51bf488..484eaf5 100644 --- a/SerialPortWindow.pde +++ b/SerialPortWindow.pde @@ -33,7 +33,7 @@ ControlFrameSimple addSerialPortControlFrame(String theName, int theWidth, int t .setPosition(10, 10) .setSize(150, 450) .setBarHeight(20) - .setItemHeight(20) + .setItemHeight(16) .plugTo(this, "dropdown_serialPort"); sl.addItem("No serial connection", -1); @@ -61,9 +61,11 @@ ControlFrameSimple addSerialPortControlFrame(String theName, int theWidth, int t void dropdown_serialPort(int newSerialPort) { println("In dropdown_serialPort, newSerialPort: " + newSerialPort); + + // No serial in list is slot 0 in code because of list index + // So shift port index by one newSerialPort -= 1; - if (newSerialPort == -2) { } diff --git a/polargraphcontroller.pde b/polargraphcontroller.pde index 405aedb..7c07e84 100644 --- a/polargraphcontroller.pde +++ b/polargraphcontroller.pde @@ -58,7 +58,7 @@ import java.lang.reflect.Method; int majorVersionNo = 2; int minorVersionNo = 5; -int buildNo = 0; +int buildNo = 1; String programTitle = "Polargraph Controller v" + majorVersionNo + "." + minorVersionNo + " build " + buildNo; ControlP5 cp5; @@ -1331,6 +1331,7 @@ RShape loadShapeFromGCodeFile(String filename) { boolean reportStatus = true; while ((line = reader.readLine ()) != null) { lineNo++; +// println("Line: " + line); if (reportStatus) { float percent = ((float)lineNo / (float)countLines) * 100.0; @@ -1354,10 +1355,8 @@ RShape loadShapeFromGCodeFile(String filename) { println(e.toString()); continue; } +// println("Ins: " + ins); Integer code = Math.round(ins.get("G")); - if (code >= 2) { - continue; - } Float z = ins.get("Z"); if (z != null) { @@ -1400,19 +1399,6 @@ RShape loadShapeFromGCodeFile(String filename) { parent.addMoveTo(x, y); } } -// RPoint[][] points = parent.getPointsInPaths(); -// totalPoints = 0; -// if (points != null) { -// for (int i = 0; i unpackGCodeInstruction(String line) throws Exception { // remove ; character splitted[i] = splitted[i].replace(";", ""); String axis = splitted[i].substring(0, 1); - Float value = Float.parseFloat(splitted[i].substring(1)); - + String sanitisedValue = splitted[i].substring(1); + sanitisedValue = sanitisedValue.replace(",", "."); + Float value = Float.parseFloat(sanitisedValue); if ("X".equalsIgnoreCase(axis) || "Y".equalsIgnoreCase(axis) || "Z".equalsIgnoreCase(axis) || "G".equalsIgnoreCase(axis)) { - instruction.put(axis, value); + instruction.put(axis.toUpperCase(), value); } } // println("instruction: " + instruction); if (instruction.isEmpty()) { - throw new Exception(); + throw new Exception("Empty instruction"); } - } + } + catch (NumberFormatException nfe) { + println("Number format exception: " + nfe.getMessage()); + } catch (Exception e) { + println("e: " + e); throw new Exception("Exception while reading the lines from a gcode file: " + line + ", " + e.getMessage()); }