Hi
I have read almost all the threads about domes or ROR, and I have tried different solutions, but none of them work, and I can’t find something as simple as what I need.
Let me explain:
I built my observatory with a two-slat (manual) sliding roof. This year, I have motorized it with a blind motor that has its own limit switches, pulleys and belts. Then I added an inexpensive garage door control board that also has limit switches, an IR stop, a remote controller, a timer, etc.
This board allows you to use a remote keyboard to OPEN, STOP and CLOSE with a 4-pin connector. This means I only need a three-relay card with its INDI driver instead of the keyboard… but then here come all my trouble:
1-I have the Lunatico Seletek Platypus (focus+peripheral) Controller and Firefly Relay Box, but the Firefly is out of date, and it only runs with ASCOM. Lunatico is not updating it or releasing an INDI driver.
2-The Platypus has an interesting feature that allows you to power and switch components through its 9-pin DB9 connectors, but although it has an INDI driver, this function has not been implemented. ![]()
> I opened a thread asking about this question here , but had no answers.
3-So I assume I have to use a different relay board.
I run INDI in a remote Raspberry Pi4B inside an Astrojolo’s Astrolink4 Pi v.1, so to complicate things further, the Raspberry GPIO is not available.
Then I read about the “indi_usbrelay2_roof” driver and thought all my troubles were solved. I bought an USB-4 relay board, but I’m not able to make it run in any way.
I have to say, I have no skills at all about programming software, writing drivers and scripts, or Linux.
This is the point where I’m stuck, so any help or suggestions would be greatly appreciated!
[quote]
root@xavier-HP:/home/xavier/Projects/indi_usbrelay2_roof/build# cmake -DCMAKE_INSTALL_PREFIX=/usr . ..
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.
– The CXX compiler identification is GNU 11.4.0
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– Check for working CXX compiler: /usr/bin/c++ - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
– Found INDI-DRIVERS: /usr/lib/x86_64-linux-gnu/libindidriver.so
– Found LIBNOVA: /usr/lib/x86_64-linux-gnu/libnova.so
– Found USB_RELAY_DEVICE: /usr/local/lib/libusb_relay_device.so
– Configuring done
– Generating done
– Build files have been written to: /home/xavier/Projects/indi_usbrelay2_roof/build
root@xavier-HP:/home/xavier/Projects/indi_usbrelay2_roof/build# make install
[ 33%] Building CXX object CMakeFiles/indi_usbrelay2_roof.dir/usbrelay2_roof/usbrelay2_roof.cpp.o
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp: In member function ‘virtual bool USBRelay2::saveConfigItems(FILE*)’:
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp:120:27: error: ‘INDI::PropertyView* INDI::PropertyBasic::operator&;() [with T = _IText]’ is protected within this context
120 | IUSaveConfigText(fp, &ActiveDeviceTP);
| ^~~~~~~~~~~~~~
In file included from /usr/include/libindi/indipropertytext.h:21,
from /usr/include/libindi/basedevice.h:29,
from /usr/include/libindi/parentdevice.h:3,
from /usr/include/libindi/defaultdevice.h:21,
from /usr/include/libindi/indidome.h:25,
from /home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.h:25,
from /home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp:22:
/usr/include/libindi/indipropertybasic.h:115:27: note: declared protected here
115 | PropertyView * operator &;();
| ^~~~~~~~
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp: In member function ‘virtual void USBRelay2::TimerHit()’:
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp:613:9: error: ‘DomeMotionS’ was not declared in this scope; did you mean ‘DomeMotionSP’?
613 | if (DomeMotionS[DOME_CW].s == ISS_ON)
| ^~~~~~~~~~~
| DomeMotionSP
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp: In member function ‘virtual IPState USBRelay2::Move(INDI::Dome::DomeDirection, INDI::Dome::DomeMotionCommand)’:
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp:669:20: error: ‘DomeMotionS’ was not declared in this scope; did you mean ‘DomeMotionSP’?
669 | else if ( (DomeMotionS[DOME_CW].s == ISS_ON && dir == DOME_CCW)
| ^~~~~~~~~~~
| DomeMotionSP
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp:694:9: error: ‘DomeMotionS’ was not declared in this scope; did you mean ‘DomeMotionSP’?
694 | DomeMotionS[dir].s = ISS_ON;
| ^~~~~~~~~~~
| DomeMotionSP
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp:695:22: error: ‘class INDI::PropertySwitch’ has no member named ‘s’
695 | DomeMotionSP.s = IPS_BUSY;
| ^
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp: In member function ‘virtual bool USBRelay2::Abort()’:
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp:783:9: error: ‘DomeMotionS’ was not declared in this scope; did you mean ‘DomeMotionSP’?
783 | if (DomeMotionS[DOME_CW].s == ISS_ON && DomeMotionS[DOME_CCW].s == ISS_OFF)
| ^~~~~~~~~~~
| DomeMotionSP
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp: In member function ‘void USBRelay2::setAbsolutePosition()’:
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp:897:14: error: ‘DomeMotionS’ was not declared in this scope; did you mean ‘DomeMotionSP’?
897 | else if (DomeMotionS[DOME_CCW].s == ISS_ON)
| ^~~~~~~~~~~
| DomeMotionSP
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp: In member function ‘bool USBRelay2::StopParkingAction(int)’:
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp:926:5: error: ‘DomeMotionS’ was not declared in this scope; did you mean ‘DomeMotionSP’?
926 | DomeMotionS[dir].s = ISS_OFF;
| ^~~~~~~~~~~
| DomeMotionSP
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp:945:22: error: ‘class INDI::PropertySwitch’ has no member named ‘s’
945 | DomeMotionSP.s = IPS_OK;
| ^
/home/xavier/Projects/indi_usbrelay2_roof/usbrelay2_roof/usbrelay2_roof.cpp:954:22: error: ‘class INDI::PropertySwitch’ has no member named ‘s’
954 | DomeMotionSP.s = IPS_ALERT;
| ^
make[2]: *** [CMakeFiles/indi_usbrelay2_roof.dir/build.make:76: CMakeFiles/indi_usbrelay2_roof.dir/usbrelay2_roof/usbrelay2_roof.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/indi_usbrelay2_roof.dir/all] Error 2
make: *** [Makefile:136: all] Error 2 [/quote]
