A while ago I have built my own mount controller based on a RaspberryPi and an Arduino Due.
I have already written an ASCOM driver for it and it works fine. Now I would like to write an INDI driver for my controller.
As I am an experienced Java developer I would like to do that in Java. So I looked at the INDI for Java website and the corresponding Sourceforge repository. It looks as if there has not been much activity recently. Has this project come to halt? Does it still make sense to use it or would it be better to use the standard C/C++ approach?
I have downloaded the distribution 1.5 and tried to start the server (via the i4j-server-interactive script) but when I tried to connect to it from CdC I get the following message:
Debugger failed to attach: handshake failed - received ><getProperties< - expected >JDWP-Handshake<
I fully agree, I believe that JAVA and Python integrations into KStars are important and should be supported. If there is a bug, it should be repaired.
ok, I was playing a bit around and it seems that the issue is related to the documentation.
I am now able to start an INDI server and load the telescope simulation driver with the following command from within the lib directory:
After that I was able to connect to the Server from within CdC and perform goto actions.
That is good news so now I can start to write my driver in Java.
I started looking into this as well but I keep on getting the same exception and I don't know how to solve this despite my considerable Java knowledge (if I may say so myself). I am using Java 8 u151 and when I execute exactly that same command I get
i4j-all-in-one-1.50-SNAPSHOT/lib $> java -jar i4j-server-main-1.50-SNAPSHOT.jar -ji4j-driver-telescope-1.50-SNAPSHOT.jar
INDI for Java Basic Server initializing...
14:45:09.741[main] INFO o.i.i4j.server.main.INDIBasicServer - command print: INDI for Java Basic Server initializing...
Exception in thread "main" java.lang.IllegalStateException: no server access available
at org.indilib.i4j.server.api.INDIServerAccessLookup.indiServerAccess(INDIServerAccessLookup.java:66)
at org.indilib.i4j.server.main.INDIBasicServer.<init>(INDIBasicServer.java:86)
at org.indilib.i4j.server.main.INDIBasicServer.main(INDIBasicServer.java:121)