×

INDI Library v1.9.0 Released (23 Apr 2021)

Major INDI Library release v1.9.0 bring significant internal changes championed by @pawel-soja to modernize core INDI Library drivers and clients. New drivers for DeepSkyDad Flat Panel & Pegasus devices plus further improvements to PCM8 drivers.

Getting Started

  • Posts: 77
  • Thank you received: 13

Replied by Alan Townshend on topic Getting Started

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?

TIA.

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)).
Last edit: 1 year 9 months ago by Alan Townshend.
1 year 9 months ago #43094

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

Time to create page: 0.160 seconds