Hello,

I'm a college student working with a professor to build a client using Python packages PyIndi-client and Flask that will be capable of controlling hardware mounted to a telescope through http requests. The telescope will be receiving sequences of http requests to automatically take observations through the whole night, so we are not going to be using Kstars or Ekos, or any other GUI. Our hardware is currently plugged in via USB to a raspberry pi 4, on which the client and indiserver are running.

The dust cover he chose to use is the Alnitak Remote Dust Cover, seen here: www.optecinc.com/astronomy/catalog/alnit...emote_dust_cover.htm
The alnitak driver I got from this page: indilib.org/devices/auxiliary/alnitak-flip-flat-flat-man.html , which says to start the indiserver with the driver indi_flipflat.

In the client, one of my methods for testing prints out all the connected device properties. The problem I am having is that the dust cover does not seem to have a property that controls whether the dust cover is open or not. It actually provides a property to control the flat light, which our dust cover doesn't have. Here is the printout:

(test) ubuntu@pi-1:~/client_test$ flask run
Connecting and waiting 1 sec
List of connected devices:
Flip Flat
List of Device Properties:
--Flip Flat
> CONNECTION
SWITCH:CONNECT(Connect)= On
SWITCH:DISCONNECT(Disconnect)= Off
> DRIVER_INFO
TEXT:DRIVER_NAME(Name)= Flip Flat
TEXT:DRIVER_EXEC(Exec)= indi_flipflat
TEXT:DRIVER_VERSION(Version)= 1.0
TEXT:DRIVER_INTERFACE(Interface)= 33792
> DEBUG
SWITCH:ENABLE(Enable)= Off
SWITCH:DISABLE(Disable)= On
> SIMULATION
SWITCH:ENABLE(Enable)= Off
SWITCH:DISABLE(Disable)= On
> CONFIG_PROCESS
SWITCH:CONFIG_LOAD(Load)= Off
SWITCH:CONFIG_SAVE(Save)= Off
SWITCH:CONFIG_DEFAULT(Default)= Off
SWITCH:CONFIG_PURGE(Purge)= Off
> POLLING_PERIOD
NUMBER:PERIOD_MS(Period (ms))= 1000.0
> CONNECTION_MODE
SWITCH:CONNECTION_SERIAL(Serial)= On
> DEVICE_PORT
TEXT:PORT(Port)= /dev/ttyUSB0
> DEVICE_BAUD_RATE
SWITCH:9600(9600)= On
SWITCH:19200(19200)= Off
SWITCH:38400(38400)= Off
SWITCH:57600(57600)= Off
SWITCH:115200(115200)= Off
SWITCH:230400(230400)= Off
> DEVICE_AUTO_SEARCH
SWITCH:INDI_ENABLED(Enabled)= On
SWITCH:INDI_DISABLED(Disabled)= Off
> DEVICE_PORT_SCAN
SWITCH:Scan Ports(Scan Ports)= Off
> SYSTEM_PORTS
SWITCH:/dev/ttyUSB0(/dev/ttyUSB0)= Off
> ACTIVE_DEVICES
TEXT:ACTIVE_FILTER(Filter)= Filter Simulator
> FLAT_LIGHT_CONTROL
SWITCH:FLAT_LIGHT_ON(On)= Off
SWITCH:FLAT_LIGHT_OFF(Off)= Off
> FLAT_LIGHT_INTENSITY
NUMBER:FLAT_LIGHT_INTENSITY_VALUE(Value)= 0.0
> Status
TEXT:Cover(Cover)= Not Open/Closed
TEXT:Light(Light)= Off
TEXT:Motor(Motor)= Stopped
> Firmware
TEXT:Version(Version)= 200
Flip Flat: CONNECTION property defined
* Serving Flask app "condor-flask-client"

See? Nothing about the actual dust cover.

Out of curiosity, I wrote a method to change the status of the non-existent flat light. Strangely enough, the dust cover reported back a success, although nothing changed about the dust cover in real life.

So there's my dilemma. What am I doing wrong? I would really appreciate if anyone could shed some light on this.

Read More...