indi icon indicating copy to clipboard operation
indi copied to clipboard

Bad pixel size for Toupcam Driver resolutions

Open miceno opened this issue 7 months ago • 2 comments

Describe the bug

I have a ATR3 CMOS 16000 KPA (Touptek) camera, using indi_toupcam driver.

This camera has 3 different resolutions (4648x3506, 2304x1750, 1536x1160). I took one picture for every resolution, and comparing the images, they show the same area of the sky. That is, for every of those resolutions, the size of the sky covered is the same, the difference among them should be the pixel size.

I came into this issue because I could not use the lower image resolutions for plate solving in Ekos, since for each resolution it shows a different FOV, while in fact it should be the same for all of them. The only resolution that plate solve properly is the highest one (4648x3506).

To Reproduce

On INDI panel for the camera, on the Image Info tab, you get the same pixel size for all the resolutions (see screenshots below).

In addition, on the Ekos Align window, the FOV is different for each resolution (see screenshots below).

Expected behavior On INDI panel for the camera, on the Image Info tab, you get a different pixel size for different resolutions.

In addition, on the Ekos Align window, the FOV is the same for each resolution.

Screenshots

I attach some pictures of the ToupCam Camera INDI tab, where you see for any resolution it shows the same pixel size:

Image Image Image

I attach pictures of the align module with different resolutions showing the (different) FOV for each resolution, while in fact, it must be the same.

Image

Image Image

Desktop

  • OS: RaspberryPi (4B) Bookworm (latest)
  • I am running Kstars 3.7.6 (built using astro-soft-build script).
  • It also shows this issue on Kstars 3.7.5.

miceno avatar May 11 '25 17:05 miceno

Thanks for this detailed report! That resolution change should cause a pixel binning change, but is not. As it sounds like a driver bug, I suggest you use binning in Ekos instead of this resolution functionality (but that's certainly what you already do).

TallFurryMan avatar May 12 '25 06:05 TallFurryMan

After analysis, the pixel binning property and the predefined frame dimensions property you refer to are not linked in the code, so modifying one will make the other incorrect. It is possible to adjust the predefined frame dimensions when receiving a new pixel binning, but there is no guarantee in the firmware the dimensions will match, although they are very probably designed to.

We'll need @touptek to chime in here, but I believe the best solution should be to simply get rid of the predefined frame dimensions property.

TallFurryMan avatar May 23 '25 21:05 TallFurryMan

This issue has been inactive for 60 days and is being marked as stale.

github-actions[bot] avatar Jul 23 '25 03:07 github-actions[bot]

Yes, they are effectively binned but it is not related to driver binning. That is, you can even bin 2×2 at lowest resolution. One way around this is to dynamically update pixel size. I have to experiment and see.

knro avatar Jul 23 '25 07:07 knro

This issue has been inactive for 60 days and is being marked as stale.

github-actions[bot] avatar Sep 23 '25 02:09 github-actions[bot]

This issue has been closed due to inactivity.

github-actions[bot] avatar Sep 30 '25 02:09 github-actions[bot]