Pure Java
PhreaK
Posts: 966
So, I've been doing a bit of firmware prodding in my spare time and I think I may have found a way to instantiate non-Duet java code on the NI's. The v3 firmware uses the Oscar OSGi framework for handling the modules. The nice thing about this is that it grabs some settings from a file named system.properties (located in /LIB on the NI's). One of those properties is oscar.auto.start.x, where x is the run level to install and start the bundle.
By default this kicks off the jetty http server and Morpheus which appears to be the core duet guff and what handles all the communication with the AMX hardware. Theoretically it should be possible to also instantiate other OSGi bundles here as well which is where the fun begins.
As Oscar is no longer developed and AMX had that recent spate of Java dev hires I'd highly doubt it will be present in the next major firmware version. As this should be due to see the light of day relatively soon and I've got a bunch of other projects to get through I'm not going be investing any more time prodding at this point. If anyone else wants to continue I'm happy to let you know anything I've found to date. Good luck.
By default this kicks off the jetty http server and Morpheus which appears to be the core duet guff and what handles all the communication with the AMX hardware. Theoretically it should be possible to also instantiate other OSGi bundles here as well which is where the fun begins.
As Oscar is no longer developed and AMX had that recent spate of Java dev hires I'd highly doubt it will be present in the next major firmware version. As this should be due to see the light of day relatively soon and I've got a bunch of other projects to get through I'm not going be investing any more time prodding at this point. If anyone else wants to continue I'm happy to let you know anything I've found to date. Good luck.
0