Alan Mason thanked Jean-Luc in topic EQMOD questions 3 days ago
Jean-Luc replied to the topic 'Re:trouble with eqmod mount disconnecting' in the forum. 2 weeks ago

Ok, I understand what you mean now, Concerning the indi-eqmod crash, did you use alignment ? A sequence of capture/solve/sync on the same target as ekos does may cause an issue in some circumstances. Besides I've seen in a preceding post that you leave your mount parked and powered a day long: be warned that parking the mount does not stop motor powering, there is no (direct) way to disable the driver ICs but using the power switch.


Jean-Luc replied to the topic 'Re:trouble with eqmod mount disconnecting' in the forum. 2 weeks ago

TallFurryMan wrote: Thanks. My setup has been running for three weeks without power interruption. During these two weeks, there have been three indiserver crashes induced by indi_eqmod_telescope, always while slewing or tracking. None of these crashes had the disconnection messages. All crashes did damage the functioning of the camera driver, which was used during the tests. The focuser and guider drivers were connected but not actively used, and never suffered from the driver crash (except that they died along).

Can you be more precise in what has happened?
Writing that a process (indi_eqmod_telescope) may damage the functioning of another process (the camera driver) is somewhat surprising.
Hopefully it did not kill the camera itself!


Jean-Luc replied to the topic 'Using PyIndi client with a simple GUI' in the forum. 2 weeks ago

Lagreeni wrote: Hi,

I imported the IndiClient class from the script to my GUI and am trying to call newProperty, but I hit an issue with the arguments. I don't know how to call the functions ie: newProperty(self, p) because of the "p", property, parameter. I'm not very well versed with Python, so I imagine I'm missing something very obvious, but its doing a dang good job of eluding me. I'm not even sure if just calling the function newProperty or even nd18 would work.

You don't have to call newproperty yourself, the IndiClient runs in its own thread and will call that function for every new property. You just have to define that function.
In your case, if every other aspects are managed from another client, you just need to remember the property and reuse it in your function:
class IndiClient(PyIndi.BaseClient):
    def __init__(self):
        super(IndiClient, self).__init__()
        self.dwheel = None
   def newDevice(self, d):
        pass #connecting the filter wheel via a basic client
   def newProperty(self, p):
        if p.getName() == "FILTER_SLOT":
             self.dwheel = p
    # you shoul define all other virtual functions and I would suggest also
    def removeProperty(self, p):
        if p.getName() == "FILTER_SLOT":
             self.dwheel = None

    def nd18(self):
        if self.dwheel:
I did not test but here is the idea.

tltr: How do you connect a GUI to a PyIndi client? Can you call one of the PyIndi functions such as newProperty(self, p) and if so, how?

As the Indiclient has its own thread, calling indi client from the gui should be ok, but calling the gui from the client (refreshing a value for instance) won't work without some sort of synchronization (queue, or use a Qthread for the indi client if you're in Qt).


Jean-Luc replied to the topic 'Eqmod: prevent meridian flip when triggering a goto' in the forum. 3 weeks ago

Hi Klaus,

That would be nice, moreover you may add what you really need.
Furthermore I was trying to sync my fork repo yesterday, but was unable to push back on github my local merges, it seems there are large packets (no sync since 3 months) that curl does not handle correctly. Will have to make a new fork I think.
Anyway, Thanks for your help.


Jean-Luc replied to the topic 'Eqmod: prevent meridian flip when triggering a goto' in the forum. 3 weeks ago

Not much to say, a switch property may be added easily to drive forcecwup. There are also two numbers limiting the amplitude.
I don't remember how I tested that part of the code some years ago, I'll have a look in the next weeks.
Unless you have already made a try and can confirm that's ok.



Jean-Luc replied to the topic 'EQMOD questions' in the forum. 1 month ago

Ihoujin wrote: I have never seen PEC training in INDI EQMOD either. I just assumed it was either never implemented or wasn't possible. It certainly would be nice if I could do that, and maybe use PecPrep with it.
My HEQ5 Pro should support it.

PEC/PEC training is enabled in INDI EQMod for mounts which supports it, EQ8, AZEQ5/6, EQ6R too apparently. It is a motor controller firmware feature, the INDI driver just sends the corresponding commands to start/stop PEC/PEC training and don't then bother about it. It makes me think that this firmware PEC+guiding may not be a good idea as the firmware changes the motor speed unconditionnally, so some guide commands may be lost. There may have been some discussions already here.


Jean-Luc replied to the topic 'EQMOD questions' in the forum. 1 month ago


ElevatedG wrote: I'm fairly new to AP and INDI as well with just a few questions...

How does PEC training in EQMOD work? I've tried to enable training but without any result. Also, will it help smooth out guiding? Guiding error is averaging 0.5" per night.

PEC training works the same way as with the handcontroller. Guide on a star, engage PEC training and the firmware will wait for the mount pass the worm indexer and then records the resulting speeds in the EEPROM of the motor microcontroller. When it has finished (worm indexer) it toggles a status bit and you can see in the INDI Control panel the status of PEC training becoming green (whereas it remains busy/yellow while training). I've never tried myself however.

Also, is there a how-to for setting horizon limits correctly?

I'm using the Sky-Watcher EQ6-R Pro mount

Thanks for the help guys!

For horizon limit just slew to the points along the horizon you want to set and hit the Add current button. The order of points is significant as Horizon uses a linear approximation between them. When you have finished hit the Write File button (saved in ~/.indi/HorizonData.txt which you can manually edit also).



Jean-Luc replied to the topic 'Pulse guiding does not seem to work with Telescope Simulator' in the forum. 2 months ago

Please remember that PyIndi is a Python wrapper to the Indi C++ classes. Thus the PyIndi documentation IS the Indi C++ documentation.
The only difference is that you use a python notation to access members/methods of the Indi C++ objects, and that C++ vectors/arrays are wrapped to python lists (only INDI BLOB are mapped to Python ByteArrays). And C++ enums become Python constants at the module level (there were no enums in Python before 3.4, and no enums in 2.7).
PyIndi uses swig to perform the mapping, and the interface file is just a list of C++ include files. I did not put every C++ Indi include files in the PyIndi client, excluding some driver include files. Thus there may lack some definitions on client side, this was the case for instance of the BLOBHandling enum that I added manually in the interface file, but this is not the normal way to do. Anyway I would suggest that you define yourself a python DRIVER_INTERFACE enum (or constants) and performs the desired ORed computations with the result of the getDriverInterface function (which is a real call to the Indi C++ function from your python interpreter).
I would suggest you use completion when you get a PyIndi object rather than what you call trial/error: you will obtain its members/methods, and may see these are exactly the C++ members/methods. Hence in your example you could also print the "label" of your ItextVectorProperties elements together with their "text" member. Note at that point that PyIndi is not responsible for the definition of those properties and their meanings, that's Indi stuff.
Lastly there may be a way to automatically generate a python documentation from the C++ documentation using swig (I believe that's what PyQt does), I did not investigate by now, but you won't get nothing more than the C++ documentation.


Jean-Luc replied to the topic 'EQMOD trough AstroEQ : Sideral track KO' in the forum. 2 months ago

The reason why it works in one case and not another one is that AstroEQ does not implement the same state machine as the skywatcher firmware. Actually AstroEQ is based on the ASCOM eqmod driver and its message exchange. The problem here is that start tracking requires the motor controller to be in low speed mode. This mode corresponds to the first 1 in the mount answer you gave. The Indi driver does not set the mode if the motor controller is already in the desired one because this is unuseful with the skywatcher firmware. AstroEQ seems to require that the mode be always set before sending a start command, thus it does not start motor in the first case. In the second case, as the mode differs, the indi driver sets the mode before starting motor and that works.
I'm not sure if changing the indi driver would be so simple as ASCOM eqmod is closed source, I really think the best would be that AstroEQ implements the skywatcher protocol as the protocol has been described by skywatcher itself. I already changed the indi eqmod driver to fit AstroEQ requirement (was forcing the motor controller in low speed mode after a move, even if this is the default behavior of the skywatvher firmware). You point another issue here, I don't know how to solve it simply, and i'm not sure if there won't be another issues later.

newil86 wrote:

nikiosna wrote: Ok I can confirm that in this situation tracking doesn't start. I never experienced this because I almost always make a slew before the tracking.
In my logfile I parked and unparked the mount and then tracking works.
I don't know much about the eqmod-protocoll but I think that the mount says

[COMM] read_eqmod: \"=101\", 5 bytes read
when the tracking doesn't start
[COMM] read_eqmod: \"=301\", 5 bytes read
when it works

File Attachment:

File Name: log_09-12-16.txt
File Size: 290 KB

Thanks! I'll investigate source code and . Maybe I'll found a problem...


Jean-Luc replied to the topic 'compilation problem of pyindiclient ubuntu 16.04 LTS' in the forum. 3 months ago

Hi Rémi,
Thanks for reporting (and for giving the answer), I don't rebuild the package very often.
I just made the update on (version 0.2.2).



3rd Party

Choose from the numerous 3rd party INDI drivers to suit your needs!

Got Problem?

Check out the FAQ, the forum, and the bug tracking system to resolve any issues you might have!
You can also subscribe to INDI newsletter and development mailing lists to get the latest updates on INDI!