INDI Library v1.8.5 Released (19 Apr 2020)

April 2020 release of INDI Library v1.8.5 introduces new drivers while providing fixes and improvements to existing devices and core framework.

Getting Started

8 months 3 weeks ago 8 months 3 weeks ago by ajt68.
Senior Boarder
Senior Boarder
Posts: 77
Karma: 1
Getting Started #43094
Hi, I said I would leave some feed back as to why I struggled getting a development environment working, so here goes. (Spolier: Use Kubuntu 16.04 and don't upgrade!)

Background: I installed Indi, Kstar and Ekos on a raspberry Pi, and found all my equipment was supported, except my focuser (MyFocuserPro2). A bit more research showed that someone was maybe looking at developing one, but no feedback on it in a very long time, so I decided to create a simple driver myself. I have c and cpp experience and felt comfortable giving it ago. Unfortunately the bulk of my OS experience is Windows, with a little Linux thrown in and no GIT experience, so a very steep learning curve.

I have managed to cobble together a development environment, following the getting started instructions, but fell foul of the statement "Ubuntu 16.04 or newer ONLY ", as I upgraded to 18.04 (this was a mistake). It built fine, but I wanted to develop, so found some more instructions "Setting development Environment". 18.04 is newer that 16.04, but for the life of me I could not get debugging to work using 18.04 and I believe the main reason being that "kdesudo" was removed. I had no clue how to resolve the issue, still don't. I eventually realised that I may as well just stay with 16.04, and everything worked fine.

I have successfully written a driver, in debug, but now realise that GIT is going to be my problem.

I have created/modified 3 files mydriver.cpp mydriver.h and cmakelist(?). Now what?

Should my driver be in the main project or third party? It does not contain any external references and I don't know what the release cycle of Indi is, so have no opinion either way? So which should I choose as deafult. I have also been reading instructions about thir party drivers that state I need an xml file, really? What for? I checked out the developer examples, but the bit that is missing for me is how to use GIT.

How do I check out my own copy of the project, and check changes back in, or just treat it as a scratch pad or share it for others to test my code? I could go away and try to find the answers to all these questions, and the ones I don't know yet, but the chances are that will take longer that developing the driver!!. I am sure I am not the only person that has stumbled at this point, or maybe some people just havent started because of the lack of understanding of GIT.

As I am writing this more and more questions pop into my head. (Someone mentioned a Pull request, is there a corresponding Push request (are my changes Pulls or Pushes, pushes would make sense to me, is there a check list before submitting a change? Who reviews changes???))

Anyway, is their an idiots (me :) ) guide to GIT for this project that maybe I have overlooked?


Update: I did g and find some primers and found this very useful Git and Github: A Beginner’s Guide for Complete Newbies

Updated Update: Just came across exactly what I was looking for How to contribute to the Indi project (Think this should be linked in the getting started section ( I realise it's way past getting started, but reference to complete cycle for development in one place would be useful)).

Please Log in or Create an account to join the conversation.

Time to create page: 0.176 seconds