This is the output I get when I start openpnp and hit the "power" button:
[85]pnp2> ./openpnp.sh
2017-06-14 00:40:21 [AWT-EventQueue-0] org.openpnp.Main DEBUG: Bienvenue, Wilkommen, Hello, Namaskar, Welkom to OpenPnP version 0.0.1-alpha-SNAPSHOT build cbd790.
2017-06-14 00:40:21 [AWT-EventQueue-0] org.openpnp.Scripting TRACE: Scripting.on Startup
2017-06-14 00:40:26 [Thread-9] org.openpnp.machine.reference.ReferenceMachine DEBUG: setEnabled(true)
Exception in thread "Thread-9" java.lang.UnsatisfiedLinkError: jssc.SerialNativeInterface.openPort(Ljava/lang/String;Z)J
at jssc.SerialNativeInterface.openPort(Native Method)
at jssc.SerialPort.openPort(SerialPort.java:158)
at org.openpnp.machine.reference.driver.AbstractSerialPortDriver.connect(AbstractSerialPortDriver.java:113)
at org.openpnp.machine.reference.driver.GcodeDriver.connect(GcodeDriver.java:169)
at org.openpnp.machine.reference.driver.GcodeDriver.setEnabled(GcodeDriver.java:198)
at org.openpnp.machine.reference.ReferenceMachine.setEnabled(ReferenceMachine.java:110)
at org.openpnp.gui.MachineControlsPanel$6.lambda$actionPerformed$0(MachineControlsPanel.java:352)
at java.lang.Thread.run(Thread.java:745)
Background info.
The system is a FreeBSD jail.
The gcode controller is connected to another host.
TTY is handed over to the virtual system via socat, which creates a PTY and softlink under /var/run/pnp/gcode1.
I can connect to the controller via /var/run/pnp/gcode1 using a terminal program.
This is the gcode part of my machine.xml
<driver class="org.openpnp.machine.reference.driver.GcodeDriver" port-name="/var/run/pnp/gcode1" baud="115200" flow-control="Off" data-bits="Eight" stop-bits="One" parity="None" set-dtr="false" set-rts="false" units="Millimeters" max-feed-rate="1000" timeout-milliseconds="5000" connect-wait-time-milliseconds="1000">
<homing-fiducial-location units="Millimeters" x="0.0" y="0.0" z="0.0" rotation="0.0"/>
<command type="COMMAND_CONFIRM_REGEX">
<text><![CDATA[^ok.*]]></text>
</command>
<command head-mountable-id="69edd567-df6c-495a-9b30-2fcbf5c9742f" type="MOVE_TO_COMMAND">
<text><![CDATA[G71325]]></text>
</command>
<command head-mountable-id="NOZ1493179319575" type="MOVE_TO_COMMAND">
<text><![CDATA[G123]]></text>
</command>
<sub-drivers class="java.util.ArrayList"/>
<axes class="java.util.ArrayList">
<axis name="x" type="X" home-coordinate="0.0">
<head-mountable-ids class="java.util.HashSet">
<string>*</string>
</head-mountable-ids>
</axis>
<axis name="y" type="Y" home-coordinate="0.0">
<head-mountable-ids class="java.util.HashSet">
<string>*</string>
</head-mountable-ids>
</axis>
<axis name="z" type="Z" home-coordinate="0.0">
<head-mountable-ids class="java.util.HashSet">
<string>*</string>
</head-mountable-ids>
</axis>
<axis name="rotation" type="Rotation" home-coordinate="0.0">
<head-mountable-ids class="java.util.HashSet">
<string>*</string>
</head-mountable-ids>
</axis>
</axes>
</driver>
It doesn't even open the device.
After some googling I was pointed to:
https://code.google.com/archive/p/java-simple-serial-connector/Which seems to be another autoincluded Binary hell, which honesty is not exactly my way of doing things.
I usually prefer to be able to compile everything manually from source.
I've already had an extremely unpleasant time with OpenCV, because I had to include a dynamic build library version for various reasons,
which makes it a "works for me only" kind of solution.
And getting maven to use my own OpenCV package wasn't an easy task either.
Although this is not exactly an OpenPNP question.
Does anyone have an idea how to compile the jSCC sourcecode and get it into OpenPNP?
Currently I don't even know if I've got a wrong one included via maven, or non at all.
Unlike the OpenCV it is not a maven based source and I couldn't find anything in the
jSSC-2.7.0-Release.zip
either.
There is low level portable (missing code for non standard bps-rates though) cpp code for TTY usage and two .jar files.
The src/jssc-2.7.0-src.jar only contains .java files, the other seems to be a prebuild version, which of course is of no use for me.
There is no Makefile or anything else I could identify as a build mechanism.