Skip to content

Camera/dfrobot imx662 - #44

Open
DickHorner wants to merge 4 commits into
meridianfield:mainfrom
DickHorner:camera/dfrobot-imx662
Open

Camera/dfrobot imx662#44
DickHorner wants to merge 4 commits into
meridianfield:mainfrom
DickHorner:camera/dfrobot-imx662

Conversation

@DickHorner

Copy link
Copy Markdown

This pull request adds support for the DFRobot IMX662 USB Night Camera combined with the raspberry pi 25 mm lens across all platforms and introduces a camera profile system to enable automatic selection of plate-solving parameters (such as field of view and database) based on the connected camera's USB VID/PID. The engine now dynamically loads the appropriate solver database and field-of-view estimate for supported cameras, improving plate-solving accuracy and flexibility. The web server and related components have been updated to propagate the correct FOV to the frontend and computations.

Camera support and identity propagation:

  • Added the DFRobot IMX662 USB Night Camera (VID: 1BCF, PID: 2D4F) to the built-in camera allowlists for Linux, macOS, and Windows (camera_server.c, CameraAllowlist.swift). [1] [2] Fd088409L200R200)
  • The camera server now reports both the camera model and its USB VID/PID as camera_model and camera_id in the handshake JSON on all platforms. [1] [2] [3]

Camera profile system and solver improvements:

  • Introduced a CameraProfile system in python/evf/camera/profile.py to map known USB cameras to their plate-solving parameters (database file, FOV, error margin), with a default fallback for unknown cameras.
  • The engine now selects and applies the correct camera profile at startup, passing the relevant database and FOV parameters to the plate solver. [1] [2]
  • Refactored PlateSolver to accept FOV parameters and database filename at initialization, enabling per-camera customization. [1] [2] [3]

Web server and frontend propagation:

  • The web server now receives the camera FOV from the engine and uses it for computations such as pixel origin, ensuring frontend alignment with the actual camera profile. [1] [2] [3] [4]

Codebase and initialization changes:

  • Refactored engine and main startup flow to ensure the solver is only started after the camera (and thus the camera profile) is known. [1] [2] [3]
  • Updated tetra3rs_database_path to accept a filename, supporting multiple solver databases for different camera profiles.

These changes collectively enable automatic, profile-driven plate-solving for different supported cameras, improving accuracy and ease of use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant