Giter VIP home page Giter VIP logo

INDIForJava logo

The INDIForJava project

INDIForJava is a set of libraries (written in the Java programming language) to implement clients (graphical and not graphical ones), drivers and servers that follow the INDI distributed control protocol, a protocol designed to operate astronomical instrumentation.

The project is fully open-source and is available on GitHub.

Intended Audience

The provided libraries are focused on the development of Drivers, Clients and Servers using the INDI protocol in the Java programming language. If you are a regular software user, you are looking for a simple program to control your astronomical devices and you don't know anything about drivers, programming, Java probably this page is not for you. Try looking at INDI Clients for a list of programs that may be useful for your purposes.

However, if you are a programmer and you want to start your own astronomical control program or you want to program a driver for a particular astronomical device, this might be your starting point.

Please note that this libraries do not pretend to substitute or even replace the original INDI libraries which are still used and actively developed. Moreover, this project does not pretend to mimic every single option that the original libraries offer and, in fact, the programming ideas behind this library differ in some points to the original ones: particularly, INDI for Java tries to provide a truly object oriented approach in the development of INDI compatible software.

Where do I start?

If you are interested in the project, you might want to check the repository available for the project. There you have all the necessary tools to begin developing you're own INDI Clients and Drivers: You'll find the source code for the library, the compiled libraries (in .jar format), all the Java Docs for the libraries and even some example files to start experimenting.

It is also recommended that you check the original INDI Library web page in which you will find lots of information about the INDI protocol, the original INDI libraries (written in C and C++) and many more resources (including a forum if you have questions or want to report errors) that might help you start developing your own INDI related projects.

Example tutorials

Coming soon...

Library development

Required build tools

  • IntelliJ IDEA 2020.3 or greater
  • The Gradle IntelliJ plugin
  • Java Development Kit ≥8

Dependencies

Library modules

  • core: the base library.
  • driver: the module that represents an INDI driver.
  • client: an INDI client module, which can connect to INDI servers and control drivers.
  • server: an INDI server module, which can load drivers and connect to clients.
  • driver-telescope: a telescope abstract driver.
  • driver-focuser: a telescope abstract driver.
  • driver-ccd: a telescope abstract driver.
  • driver-filterwheel: a telescope abstract driver.
  • driver-raspberrypigpio: an example driver that can control Raspberry Pi GPIOs.
  • driver-active-extension: a driver extension used to create active drivers (drivers that can manage other drivers on the same server).
  • driver-serial-extension: a driver extension that provides support for serial ports.
  • fits-utils: an utility module which can be used together with the CCD module.
  • gnu-scientific-lib: a Java port of the GNU Scientific Library, used internally in the telescope driver.

Bug tracking

Feel free to report bugs in the GitHub issue tracker!

License

This library is licensed under the GNU Lesser General Public License v3.0. A copy of the license is available in the GitHub repository

Developed by

Thanks to

  • Antonio Román: testing.
  • Alexander Tuschen: testing and bug reporting.
  • Romain Fafet and Gerrit Viola for their input, testing and code.

INDIForJava's Projects

indiforjava-all-in-one icon indiforjava-all-in-one

INDIForJava is a set of libraries (written in the Java programming language) to implement clients, drivers and servers that follow the INDI distributed control protocol, a protocol designed to operate astronomical instrumentation.

iparcos icon iparcos

IPARCOS is an INDI (indilib.org) client for Android

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.