[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kstars-devel
Subject:    Re: 3.6.1 testing bugs
From:       Jasem Mutlaq <mutlaqja () ikarustech ! com>
Date:       2022-09-17 9:56:52
Message-ID: CAE0bU5mZy60ZuGEfrFkgg2=4JTQwhgi5co5uPD_RSPg9-Ua5Lg () mail ! gmail ! com
[Download RAW message or body]

Regarding options, there has been some changes in this version to support
Global and Per-Train settings.

For any item like the kstars.kcfg file that has a corresponding GUI item
not handled by KConfig, it should be handled as follows. The GUI item is
named exactly like the field name in kstars.kcfg but with the first letter
always being lower case.

This way, we can call Options::self()->setProperty(name, value)

For example, the reason the refresh algorithm was not saved was because the
first letter was not lower case (I just corrected that). So in kstars.kcfg
it is: PAHRefreshAlgorithm while in the GUI it should be pAHRefreshAlgorithm

Why is this useful? Two folds:

1. All global settings are now *automatically* saved. No need to explicitly
call Options::setFOO(....). The only reason we need to call Options::setFOO
directly is for the non-GUI options (for example, those handled by KConfig
or non-GUI at all).
2. All per-train settings are also automatically saved. You changed the
refresh algorithm while using the Primary train? Now Primary train will
*remember* this setting in addition to the setting saved in the *global*
settings. Now if you switch to Secondary train, the same option is kept as
is. But if you explicitly change the setting while in the secondary train,
then IT IS saved for this particular train.

This immediately resolves all the settings woes we had in the previous
versions. Everything automatically saves thanks with Q_PROPERTY and
KConfigSkeleton support for this. I've wanted to do this for a long time
but there was an architecture limitation that stopped me from adopting this
earlier. The biggest limitation we have now is that it doesn't work on
32bit systems. The only 32bit system is armhf (I don't think anyone uses
x86-32 nowadays), but I think it's time to move on now that arm64 is truly
mainstream.

--
Best Regards,
Jasem Mutlaq



On Sat, Sep 17, 2022 at 12:52 PM Jasem Mutlaq <mutlaqja@ikarustech.com>
wrote:

> Hello Hy,
>
> Thank you for the report. Can you please add it (in one issue) to here?
> https://invent.kde.org/education/kstars/-/issues
>
> Would be better to track them there.
>
> --
> Best Regards,
> Jasem Mutlaq
>
>
>
> On Sat, Sep 17, 2022 at 8:18 AM Hy Murveit <murveit@gmail.com> wrote:
>
>> I'm testing with HEAD plus MR
>> https://invent.kde.org/education/kstars/-/merge_requests/742 (which
>> should only affect Dark Guiding).
>>
>> 1) Guiding with scheduler gets suspended right away and never restarts.
>> I've tracked that issue down to this line,
>> https://invent.kde.org/education/kstars/-/blob/master/kstars/ekos/capture/capture.cpp#L6060 but
>> that line makes sure the exposure isn't a Light frame, and yet all I'm
>> capturing are Light frames. Perhaps the getFrameType() is not set up yet? I
>> commented out those lines, restarted, and guiding no longer gets suspended.
>> I am leaving finding the underlying issue to you folks. This is a
>> show-stopper for internal guiding.
>>
>> 2) My guiding exposure gets reset to 1s on restart, even though I've set
>> 5s several times. I can check again, but it has happened several times.
>> Doesn't consistently happen, though.
>>
>> 3)  Polar alignment in refresh mode with the plate-solve scheme never
>> refreshes.  The move-star scheme works. *I discovered that the refresh
>> algorithm-choice parameter is not being set anywhere. It can't have always
>> been this way...in any event, I've written *
>> https://invent.kde.org/education/kstars/-/merge_requests/743* to fix it.
>> Seems to work now in the simulator.*
>>
>> 4) When I first started, all tabs had many things disabled. I needed to
>> change trains, then change them back to get things working. After that, on
>> restarts, things worked. I'm guessing there's a stored parameter that isn't
>> initialized at first. This happened on the simulator too. Leaving for you
>> folks to debug.
>>
>> 5) I suspect the guide tab is defaulting to the Primary train (it should
>> default to Secondary).
>>
>> With the fixes MR 742 and the lines commented out as described in #1
>> above, I am currently successfully running a scheduler job. It has
>> autofocused, aligned, guided with dithering, dark guiding, ...
>>
>

[Attachment #3 (text/html)]

<div dir="ltr">Regarding options, there has been some changes in this version to \
support Global and Per-Train settings.<div><br></div><div>For any item like the \
kstars.kcfg file that has a corresponding GUI item not handled by KConfig, it should \
be handled as follows. The GUI item is named exactly like the field name in \
kstars.kcfg but with the first letter always being lower \
case.</div><div><br></div><div>This way, we can call \
Options::self()-&gt;setProperty(name, value)</div><div><br></div><div>For example, \
the reason the refresh algorithm was not saved was because the first letter was not \
lower case (I just corrected that). So in kstars.kcfg it is:  PAHRefreshAlgorithm \
while in the GUI it should be pAHRefreshAlgorithm</div><div><br></div><div>Why is \
this useful? Two folds:</div><div><br></div><div>1. All global settings are now \
*automatically* saved. No need to explicitly call Options::setFOO(....). The only \
reason we need to call Options::setFOO directly is for the non-GUI options (for \
example, those handled by KConfig or non-GUI at all).</div><div>2. All per-train \
settings are also automatically saved. You changed the refresh algorithm while using \
the Primary train? Now Primary train will *remember* this setting in addition to the \
setting saved in the *global* settings. Now if you switch to Secondary train, the \
same option is kept as is. But if you explicitly change the setting while in the \
secondary train, then IT IS saved for this particular \
train.</div><div><br></div><div>This immediately resolves all the settings woes we \
had in the previous versions. Everything automatically saves thanks with Q_PROPERTY \
and KConfigSkeleton support for this. I&#39;ve wanted to do this for a long time but \
there was an architecture limitation that  stopped me from adopting this earlier. The \
biggest limitation we have now is that it doesn&#39;t work on 32bit systems. The only \
32bit system is armhf (I don&#39;t think anyone uses x86-32 nowadays), but I think \
it&#39;s time to move on now that arm64 is truly \
mainstream.</div><div><br></div><div><div><div dir="ltr" class="gmail_signature" \
data-smartmail="gmail_signature"><div dir="ltr"><div><div \
dir="ltr"><div>--</div><div>Best Regards,<br>Jasem \
Mutlaq<br></div><div><br></div></div></div></div></div></div><br></div></div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Sep 17, 2022 at 12:52 \
PM Jasem Mutlaq &lt;<a \
href="mailto:mutlaqja@ikarustech.com">mutlaqja@ikarustech.com</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello \
Hy,<div><br></div><div>Thank you for the report. Can you please add it (in one issue) \
to here?  <a href="https://invent.kde.org/education/kstars/-/issues" \
target="_blank">https://invent.kde.org/education/kstars/-/issues</a></div><div><br></div><div>Would \
be better to track them there.</div><div><br clear="all"><div><div dir="ltr"><div \
dir="ltr"><div><div dir="ltr"><div>--</div><div>Best Regards,<br>Jasem \
Mutlaq<br></div><div><br></div></div></div></div></div></div><br></div></div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Sep 17, 2022 at 8:18 AM \
Hy Murveit &lt;<a href="mailto:murveit@gmail.com" \
target="_blank">murveit@gmail.com</a>&gt; wrote:<br></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I&#39;m testing with HEAD plus \
MR  <a href="https://invent.kde.org/education/kstars/-/merge_requests/742" \
target="_blank">https://invent.kde.org/education/kstars/-/merge_requests/742</a> \
(which should only affect Dark Guiding).</div><div><br></div><div>1) Guiding with \
scheduler gets suspended right away and never restarts. I&#39;ve tracked that issue \
down to this line,  <a \
href="https://invent.kde.org/education/kstars/-/blob/master/kstars/ekos/capture/capture.cpp#L6060" \
rel="noopener nofollow noreferrer" \
target="_blank">https://invent.kde.org/education/kstars/-/blob/master/kstars/ekos/capture/capture.cpp#L6060</a> \
but that line makes sure the exposure  isn&#39;t a Light frame, and yet all I&#39;m \
capturing are Light frames. Perhaps the getFrameType() is not set up yet? I commented \
out those lines, restarted, and guiding no longer gets suspended. I am leaving \
finding the underlying issue to you folks. This is a show-stopper for internal \
guiding.</div><div><br></div><div>2) My guiding exposure gets reset to 1s on restart, \
even though I&#39;ve set 5s several times. I can check again, but it has happened \
several times. Doesn&#39;t consistently happen, \
though.<br></div><div><br></div><div>3)   Polar alignment in refresh mode with the \
plate-solve scheme never refreshes.   The move-star scheme works. <b>I discovered \
that the refresh algorithm-choice parameter is not being set anywhere. It can&#39;t \
have always been this way...in any event, I&#39;ve written  </b><a \
href="https://invent.kde.org/education/kstars/-/merge_requests/743" \
target="_blank">https://invent.kde.org/education/kstars/-/merge_requests/743</a><b>  \
to fix it. Seems to work now in the simulator.</b></div><div><br></div><div>4) When I \
first started, all tabs had many things disabled. I needed to change trains, then \
change them back to get things working. After that, on restarts, things worked. \
I&#39;m guessing there&#39;s a stored parameter that isn&#39;t initialized at first. \
This happened on the simulator too. Leaving for you folks to \
debug.</div><div><br></div><div>5) I suspect the guide tab is defaulting to the \
Primary train (it should default to \
Secondary).</div><div><br></div><div></div><div>With the fixes MR 742 and the lines \
commented out as described in #1 above, I am currently successfully running a \
scheduler job. It has autofocused, aligned, guided with dithering, dark guiding, \
...</div></div> </blockquote></div>
</blockquote></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic