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.
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?
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)).