What my base problem was is that I've never actually used inheritance to expand or modify a class so I my brain was stuck on thinking of the parent as a calling class and I was trying to find where it calls the dome driver. I knew about inheritance but it just wasn't reaching surface thoughts.


Ahha! The light comes on!

Indidome::MoveAbs() doesn't call the child MoveAbs() or pass the az along because its a virtual method that has been overridden by the child's MoveAbs().

Sorry. The name "virtual" seems completely inappropriate for what it does. Why didn't the use "Overridable" since that's what it really means and you even use "override" to specify you're overriding the virtual method?


Ah I think I'm catching on now.

I knew that Indi calculated the dome azimuth based on the scope and dome geometries, I just can't figure out how that value was getting to the child dome driver. It's probably my unfamiliarity with real C++ (Only used the Arduino version).

I'm looking at dome::MoveAbs() in Indidome which I imagine is what tells the child to do but I'm not seeing anything that looks like it calls the child's MoveAbs() method or sets the az in it.


Just trying to suss out how Indi works. I'm looking through all the dome examples and drivers and reading the manual but I just can't seem to find the part where domes get their Az handed to them...

I thought it would be snoop since you have to tell a dome to snoop on a scope before it can track it but I can't find the snoop code in any of the domes so I guess that's not it. What am I missing?



I have my CGEM DX working great with indi and kstars and also have my NexDome working with the CW/CCW buttons. I can slave the dome to the Telescope simulator and have it operate just fine. What I can't do is operate the dome with the Celestron NexStar driver (updated today so it's not an old driver).

I had a quicky look at the source and I can't find anything about azimuth in celestrondriver and only comments and park settings in celestrongps.

Looking at the telescope simulator code it looks like the celestron driver is simply missing the needed code so it can't be used with a dome.


Sleep is amazing. I guess I just compile all of indi since the make system is going to be smart enough to not recompile things that haven't changed (unless forced).


With the exception of some C programming way back in the late 1980s and some dumbed down C++ on Arduinos I've stayed away from C/C++ (due to experiences in the late 1980s) so I know virtually nothing about compiling.

I can't seem to find any instructions on how to compile and install the examples other than recompiling all of Indi. How do I do just the example I'm working on?


Yes I figured out my idiotic mistake after I had a nap. I was following the instructions and when it went through the long cmake process I got something to eat. Came back and for some reason I assumed I'd finished that section. Unfortunately there doesn't seem to be a "cancel submitted post" available.


Debian 9

Following the instructions on the git page I compiled and installed indi without a hitch. Now I'm trying to follow the eqmod example but it says it can't find the indi include directory.

ebug ../../3rdparty/indi-eqmod
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at /home/pat/projects/indi/cmake_modules/FindINDI.cmake:274 (message):
  Could not find INDI include directory
Call Stack (most recent call first):
  CMakeLists.txt:10 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/pat/projects/indi/build/indi-eqmod/CMakeFiles/CMakeOutput.log".

I was going to include the .log but it's huge. Instead I looked at the eqmod cmakelists.txt line 10 and that's
find_package(INDI REQUIRED)

I've looked and I don't see any steps I missed...