Michael replied to the topic '10Micron Mount Modelling' in the forum. 4 months ago

Chris,
yes, the smaller the FOV there more challenging it might be. just for interest, could you post an image which took that long ?
Michel

Read More...

Michael replied to the topic '10Micron Mount Modelling' in the forum. 4 months ago

Hi,
my two cents to sort some of the questions out:
- MW3 used a interface to astrometry.net online for solving
- MW4 removed this, because of the long solving times and added the support of the local astrometry.net solver provided by ekos. This support is still there, but on some platforms (MAC) the binaries were removed (I think when stellar solver started).
- MW4 added the support of ASTAP as this solver is available on all platforms.
- I would love to support the internal solver, if there is any binary to call from external on all platforms. So far Rob had a lot to do to make the internal happen. Perhaps there is the opportunity to make this happen in future. (DBUS calls are unfortunately not the solution)


For the solving topic:
My experience is that all solvers work fast if they get a reasonable starting point to search from. The internal one is very efficient as it could solve on multiple threads (so it is somehow a brute force attack :-))

Michel

Read More...

Hi Aaron, perhaps I could help as I use SEP on python with FITS files as well:

I use astropy for fits handling:and the image is used like this:So I know that SEP needs float, but it should work. If you need further help, please let me know.
Michel

Read More...

Somehow there must be a location from where the indiweb is loaded. Not to easy to tell where on linux. Even though it might be more than one location. The change to 1000 was the value I did - and which is btw. the value in the actual repo on GitHub - and since using this I get 1x1 bin images from my QHY600 (see this thread as well).
Michel

Read More...

Willem-Jan,

find the site packages in RPI4 with
python3 -m site

check if indiweb is in

change to indiweb dir

open main.py there

change line
BaseRequest.MEMFILE_MAX = 100 * 1024 * 1024

to
BaseRequest.MEMFILE_MAX = 1000 * 1024 * 1024

manually and restart indiweb. Hop this helps.
Michel

Read More...

Hi Jasem,
yes the PIP package was nit released. We talked in another thread about this. Willem-Jan: you could change this entry manually after installed the web manager, but this is not ideal for longer time.
Michel

Read More...

Michael replied to the topic 'QHY600 humidity' in the forum. 12 months ago

Same to my. Same observations. I saw this with SDK of July and with the actual one. As I used the QHY600 now from some time, it pretty new for me.

Michel

Read More...

Hi Jasem,
thanks for you patience and the explanation. Understood so far.
Back to the ASI driver:
After the while loop, which checks the end of the exposure from the ASI SDK, the driver is sending explicit exposure 0 -> this fits perfect to you explanation, but in the while loop the driver is also sending the exposure time, and this is multiple times send as 0 before we end the while loop. This we should avoid. Does is makes sense to keep the exposure counter on the small value of 0.1 until the while ended? Because then, exposing is explicit finished, as it is taken from the ASI SDK ?
Many thanks.
Michel

Read More...

Jasem,
thanks for feedback and the explanation. I not really with prio one about the first topic, because that does not hurt so far.

I come to the second one as I have the traces of the whole INDI communication present: You're right, the driver also sends some "message" entries (not only for the CCD, but also other drivers). This happens during many (53) exposures only two times, when the exposure time is long (in the case 300s), if the exposure is short (2s) no message is transmitted. The two messages were in INFO state and report end of exposure and end of download.
So still the behavior is in this case strange. What do you think ?
Michel

Read More...

Hi,
First of all, many thanks for all the work done so far to offer that broad framwork and applications for astronomy. I'm struggling a little bit with interfacing to an INDI server for CCD cameras and which messages the server (driver) is sending. Therefore I would like to compare the CCDSimulator with the ASI_CCD. The use case is just exposing and wait until finished. And I'm showing the message I receive in my APP:

First the Simulator:

[2021-09-05 12:07:56.658][T][ indiBase.py][ 738] SendCmd: [newNumberVector device="CCD Simulator" name="CCD_EXPOSURE"><oneNumber name="CCD_EXPOSURE_VALUE">3.001</oneNumber></newNumberVector][2021-09-05 12:07:56.824][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, CCD Simulator, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 3.0009999999999998899 ]
[2021-09-05 12:07:56.990][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, CCD Simulator, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 2.6710000038146972656 ]
[2021-09-05 12:07:57.990][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, CCD Simulator, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 1.6699999570846557617 ]
[2021-09-05 12:07:59.164][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, CCD Simulator, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0.66999995708465576172 ]
[2021-09-05 12:07:59.660][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, CCD Simulator, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0 ]
[2021-09-05 12:07:59.752][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, CCD Simulator, Ok, 60) oneNumber (CCD_EXPOSURE_VALUE) 0 ]
My interpretation: I set the exposure to 3 s, then the driver starts exposure and send each second an update for the exposure time. During this the state is going to Busy. Last exposure time is 0 with state busy, then after a short time the driver goes to state OK. I do not get more than these messages. That's exactly what I expect, the minimum messages needed nothing more. The only point: I set the exposure on 3 seconds and got 3.000999 second in the first message back. No clue why.

Now the behavior of the ASI driver:
[2021-09-02 02:14:28.658][T][ indiBase.py][ 738] SendCmd: [newNumberVector device="ZWO CCD ASI1600MM Pro" name="CCD_EXPOSURE"><oneNumber name="CCD_EXPOSURE_VALUE">2.0</oneNumber </newNumberVector]
[2021-09-02 02:14:28.738][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 2 ]
[2021-09-02 02:14:28.739][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 2 ]
[2021-09-02 02:14:28.744][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 2 ]
[2021-09-02 02:14:29.736][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 1 ]
[2021-09-02 02:14:29.837][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0.89899998903274536133 ]
[2021-09-02 02:14:30.038][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0.79900002479553222656 ]
[2021-09-02 02:14:30.040][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0.69900000095367431641 ]
[2021-09-02 02:14:30.137][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0.59899997711181640625 ]
[2021-09-02 02:14:30.238][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0.49799999594688415527 ]
[2021-09-02 02:14:30.338][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0.39800000190734863281 ]
[2021-09-02 02:14:30.438][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0.29800000786781311035 ]
[2021-09-02 02:14:30.539][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0.19799999892711639404 ]
[2021-09-02 02:14:30.640][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0.097999997437000274658 ]
[2021-09-02 02:14:30.739][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0 ]
[2021-09-02 02:14:30.964][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0 ]
[2021-09-02 02:14:30.965][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0 ]
[2021-09-02 02:14:31.039][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0 ]
[2021-09-02 02:14:31.290][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0 ]
[2021-09-02 02:14:31.292][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0 ]
[2021-09-02 02:14:31.340][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0 ]
[2021-09-02 02:14:31.442][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0 ]
[2021-09-02 02:14:31.547][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Busy, 60) oneNumber (CCD_EXPOSURE_VALUE) 0 ]
[2021-09-02 02:14:32.296][T][ indiBase.py][ 973] RecvCmd: [setNumberVector (CCD_EXPOSURE, ZWO CCD ASI1600MM Pro, Ok, 60) oneNumber (CCD_EXPOSURE_VALUE) 0 ]

I do expose only 2 seconds (OK, it's an log of an user of my app, then I see three times the s seconds plain (out of the driver I learned that there might be some retries necessary), the number is exact as the driver rounds it. Question: why are the retires starting the exposure (if that's the case) are sent also as messages ???
Now the following message count the exposure time down. During the last second, I have shorter intervals. What is the reason for this?
Then I see multiple message always showing the same state (Busy) and exposure time 0. So nothing wrong, but why sending these messages without having anything new to tell?

There is no critics about it or the implementation work already done! But to be honest: I could not understand it. Unfortunately my understanding in C is poor. Out of the driver source I cannot interpret what's is going on. My assumption is, that at a certain stage, the message is sent in any case without regard if the sending is necessary.

As said, the Simulator seems to be perfect in this case.
Looking forward for any help and lessons to improve my understanding in drivers to be able later on to support writing them.

Michel

Read More...