: Re: [Kstars-devel] possible features

Jasem Mutlaq mutlaqja at ikarustech.com
Wed May 11 08:40:18 CEST 2005


>Yes in principle that would be a good idea.  But note that you will have
>to send the whole preview image whenever the user changes the display
>options. Our Telesope will have a 8 Kbyte/s connection (256x256Pixel
>preview) => 8s per image , undisirable. Futhermore Kstars pops up a
>window whenever a fitsblob is received, so you could in princible adjust
>the parameters, press transmit, look at the fitsfile. Adjust parameters
>and so  on. But it's fancyer if you grab the brighness slider with the
>left mousebutton and drag it around while your preview changes
>accordingly.  As for the bandwidth issue,  it would be usefull to
>transfer blocks of lets say 1024 bytes of 16 Bit data to client using
>blobs, as soon a the neccessary portion of the CCD has been read out.
>And downconvert to 8 bit on the client side.
>CCD readout takes a minute, so needs 1KB/s. And the user can play with
>brightness contrast as much as s/he likes.

Ok, I understand the need for a 'dedicated preview' window, which is a facility already available in KStars. There is a VIDEO_STREAM standard switch property. When it is set to ON, KStars display a preview window. Whenever a new BLOB with format "stream" arrives, the preview window is updated. You can adjust brightness/contrast as needed and check the results. When you're satisfied, you can change the size and capture an image. The "stream" accepts two formats, 8bit monochrome and 32bit color images. So your driver can send 8bit frames to KStars for preview. (http://indi.sourceforge.net/kstars.png)

With respect to "brightness" changes with slider changes, I'm sure it's a nice feature to have, but it cannot be implemented because it will affect all sliders in all drivers and will have undesrirable consequences. But you can change your KStars code if you want to to get this effect. You only need to add one line really: just add the following line to setupElementScale(int length) function in indielement.cpp

connect(slider_w, SIGNAL(sliderMoved(int)), pp, SLOT(newText()));

That's it!

>For example the could be an
>static IText aText[] = {{"IMPORTANTMSG", "this is important"}};
>static ITextVectorProperty vText = {mydev, "IMPORTANT", "very
>important", main_group , IP_RO, 0, IPS_OK, aText, NARRAY(aText)};
>
>And whenever a vector with name= "IMPORTANT" is received, the important
>message is displayed in a popup.

What kind of messages you want to display in popup window? 

I am usually reluctant to add anything new unless it is deemed critical.

>>>Terminal:
>>>There is a Terminal window that displays the commands send to the CCD
>>>Controller on the left side and the messages received from it on the
>>>right side of a scrollable columned list. Furthermore it provides a
>>>command line in which the user can send commands directly to the
>>>Controller.
>>
>>To send a pure command, just define IP_RW IText property that should carry
>> the command to the driver.
>
>Yes I did so. And it works of course. The problem is to display what has
>been sent and what has been received such that you can quickly figure
>out communication problems.

KStars already display what has been 'receieved', so I guess you need to customize KStars a bit to make it display what is being 'sent' by your IText specific property. Again, this is easy to implement.

Cheers,
Jasem





More information about the Kstars-devel mailing list