Toni Schriber replied to the topic 'Device not appearing in Ekos profile editor' in the forum. 2 weeks ago

Perhaps I am misunderstood: The driver itself IS appearing, but with wrong version number! That was the cumbersomeness when I was tesing the AOK Skywalker driver. Testing a new version Ekos and Drivermanager always showed the old version number!! This is really misleading as I always thought that the new version in not loaded. Until I noticed the problem this thread is all about.

Let's try it:

I changed the version number from '0.9' to '0.92' in both "indi_aok.xml"

<?xml version="1.0" encoding="UTF-8"?>
<driversList>
<devGroup group="Telescopes">
<device label="AOK Skywalker" manufacturer="AOKSwiss/Magnetdrives">
<driver name="LX200 AOK">indi_lx200aok</driver>
<version>0.92</version>
</device>
</devGroup>
</driversList>

and "indidrivers.xml"


snip
<driversList>
<devGroup group="Telescopes">
<device label="AOK Skywalker" manufacturer="AOKSwiss/Magnetdrives">
<driver name="LX200 AOK">indi_lx200aok</driver>
<version>0.92</version>
</device>
</devGroup>
</driversList>
snip

And that is what the driver window shows:


The reason is that the old "indidrivers.xml -resource" is compiled into "kstars" with the old version number! So the changed xml-files are never imported.

Antonio

Read More...

Toni Schriber replied to the topic 'What is the point of Device manager in Kstars' in the forum. 3 weeks ago

Hi all

Perhaps there are other persons interested in this case of the "Device manager". I was able to trace down the strange behaviour of this manager when listing the version numbers!
See here: www.indilib.org/forum/ekos/2137-device-n...le-editor.html#47272

Greetings
Antonio

Read More...

Toni Schriber replied to the topic 'Device not appearing in Ekos profile editor' in the forum. 3 weeks ago

Hi all

The mystery is solved!!

Here an excerpt of "drivermanager.cpp":

937 bool DriverManager::readXMLDrivers()
938 {
939 QDir indiDir;
940 QString driverName;
941
942 // This is the XML file shipped with KStars that contains all supported INDI drivers.
943 /*QString indiDriversXML = KSPaths::locate(QStandardPaths::GenericDataLocation, "indidrivers.xml");
944 if (indiDriversXML.isEmpty() == false)
945 processXMLDriver(indiDriversXML);*/
946 processXMLDriver(QLatin1String(":/indidrivers.xml"));

The line 946 is the crucial point! The file "indidrivers.xml" is a so called resource compiled into the executeable "kstars". This way the content of this file AT COMPILE TIME (!!) is stored directly in the binary file "kstars". You can notice this by the special call convention ":/indirivers.xml". I doubt heavily that this is a good solution: Everytime you create a new 3rdparty-driver, you have to compile also a new "kstars" in order to reflect the new version of the driver. Only if the driver you are working on is NOT listed in "indidrivers.xml" the standalone xml-file of the driver is read in. If this isn't the case you never see the correct version!:pinch:

Strange, that from line 943 to 945 there is a code snippet (commented out) which is reading the up-to-date file. Why was it replaced? Who knows more about this peciular case?

Sincerely
Antonio

Read More...

Toni Schriber replied to the topic 'Device not appearing in Ekos profile editor' in the forum. 4 weeks ago

Hi Kaczorek

Glad to see, that I'm not the only one who bothers about this glitch! See my message www.indilib.org/forum/general/4454-what-....html?start=12#46878

Antonio

Read More...

Toni Schriber replied to the topic 'What is the point of Device manager in Kstars' in the forum. 1 month ago

Hi Jasem

This is an interesting discussion and gives some insights into the coding of KStars and INDI.

BUT: I still don't understand, why the device manager keeps listing a wrong version number! (KStars and INDIlib on localhost!)
I tried to debug KStars and could trace down the calls in "drivermanager.cpp".

Surprisingly the following code snippet returns the wrong version (0.8) even if in the corresponding XML-File the version is "0.9":
... snip....
name = valuXMLAtt(ap);
el = findXMLEle(root, "version");
... snip ...

Unfortunately I was not able to trace down the function "findXMLEle" in "lilxml.c+. QT Creator doesn't let me in!

Antonio

Read More...

Toni Schriber replied to the topic 'What is the point of Device manager in Kstars' in the forum. 2 months ago

So "indidrivers.xml" under "/usr/share/kstars" is obsolet? Why the file keeps beeing updated?

Follwing your statement I examined the XML-Files in "/usr/share/indi". It's strange: They are all updated with the correct version numbers, but the INDI control panel keeps on displaying the old numbers! For the moment i cannot analyze the source code, so I'm wondering what's going on.

Thanks for further enlightenment!

Read More...

Toni Schriber replied to the topic 'What is the point of Device manager in Kstars' in the forum. 2 months ago

Hi

I use the Device Manager heavily when developping! With this manager Ican directly connect a running INDI-server through the "client"-tab.

But, I realized a flaw in the list of drivers: New versions are not reflected! I found the file "indidrivers.xml", but changing the content seems not to change the displayed information. So my question is, how is the manager fetching the information of the actual drivers?

Thanks for enlightment
Antonio

Read More...

Toni Schriber replied to the topic 'Interesting bug in Ekos' in the forum. 4 months ago

Hi Vox45

No problem here. I'm running kstars-bleeding on ubuntu 16.04.

Antonio

Read More...

Toni Schriber replied to the topic 'Writing a 3dparty-driver for DDM Herkules V24' in the forum. 4 months ago

Hi Jasem

All is OK now! I don't know why, but after I renamed the switch the order is correct. ( (And of course you're right concerning the pulse-switch.)

The problem about the commands is documented in my contribution www.indilib.org/forum/development/5610-w...kules-v24.html#43219

I'm eager for your feedback about this.

Antonio

Read More...

Toni Schriber replied to the topic 'Writing a 3dparty-driver for DDM Herkules V24: SOLVED!' in the forum. 4 months ago

Seems nobody wanted to give a feedback, so I decided to implement the correct LX200-commands in the Herkules-driver itself. I think it's the right way, because all the stuff remains in 3rdparty.
But the question remains: Why does the crucial lx200driver implement incorrect LX200-commandstrings?

I encountered a nasty hiccup in the UI concerning the order of the buttons of switches: Most of them appear in order they are declared. But two of the switches ("Pulse Command" and a new switch for Herkules "Motors locked") are the other way around. So the the Off-button comes first followed by the On-button. What is the cure for this?

Regrads
Antonio

Read More...

Toni Schriber replied to the topic 'Writing a 3dparty-driver for DDM Herkules V24: SOLVED!' in the forum. 4 months ago

Hi Jasem, hi all

Unfortunetly writing my Herkules-driver I ran into serious problem when using the basic lx200-driver of INDIlib. As I already stated on GITHub, the command strings defined in the lx200-driver don't match the ones in the official paper [Meade Telescope Serial Command Protocol (Revision 2010.10, 7 October 201)].
As the TCS (Telescope Control System of the herkules) is using the prescribed commands of this paper a experienced ugly problems with the following commands:



What is the receommend way to correct this? Should I put the correct string in the 3dparty-driver as overrides or should I propose to correct the lx200driver?

Regards
Antonio

Read More...

Toni Schriber replied to the topic 'Writing a 3dparty-driver for DDM Herkules V24: SOLVED!' in the forum. 5 months ago

Oh my! I'm such in idiot.:sick:
I forgot to define the settings in "kstars", when I set up my development computer.
All working now.

You saved my day! :woohoo: :woohoo:

Read More...

Toni Schriber replied to the topic 'Writing a 3dparty-driver for DDM Herkules V24: SOLVED!' in the forum. 5 months ago

Okay, here you are!

Because the TCS (Telescope Control System) of Herkules (in contrast to a standard LX200 implementation) does not memorize site coordinates and elevation, I try to load it from config-file in "sendScopeLocation". As you see this works, but with the next poll some code puts another "NewNumber" in the queue and overwrites the location with a strange data

File Attachment:

File Name: indi_lx200v24_2132.31.log
File Size: 3 KB
, that is present from the beginning.

Read More...

Toni Schriber replied to the topic 'Writing a 3dparty-driver for DDM Herkules V24: SOLVED!' in the forum. 5 months ago

Thank you for your appreciation.

I've made some progress, but now I'm stuck with a little and nasty problem: Some function is placing strange values in the location fields of the site management!
I cannot find out what is the culprit! Without access for the input-fields of the location there is no chance!
So here is my question: How can I get access to the QT interface for the driver? I could not find any UI-Files or similar.

Regards
Antonio

Read More...