----------------------------------------------------- Prometheus inFocus ASCOM Focuser Driver - README.txt ----------------------------------------------------- Version: 1.1 Author: Polychronis Iliakis Date: 16/07/2025 Overview: --------- The Prometheus inFocus ASCOM Focuser Driver is designed to control an electronic focuser built on an Arduino with a custom firmware (FocuserV4). The driver implements the ASCOM Focuser Interface Version 4, allowing integration with a wide variety of astronomical imaging and control software. Key Features: ------------- 1. **Serial Communication Interface** - Communicates with the Arduino via a serial port at 57600 baud (8-N-1). - The firmware responds to commands such as: - COMMAND:PING (returns a GUID if the device is present) - COMMAND:INFO (returns firmware information) - COMMAND:FOCUSER:GETPOSITION (returns the current position) - COMMAND:FOCUSER:ISMOVING (indicates if the focuser is in motion) - COMMAND:FOCUSER:MOVE: (moves to the specified position) - COMMAND:FOCUSER:HALT (halts motion) - COMMAND:FOCUSER:SETZEROPOSITION (sets the current position as the zero position) 2. **Auto-Detection of COM Port** - The driver provides an auto-detect option in the Setup dialog. - When enabled, the driver scans available COM ports and sends a ping command to detect the device by its unique GUID. - The detected COM port is automatically selected in the Setup dialog. 3. **Reverse Movement Configuration** - A “Reverse Movement” option is available to invert the direction. - When enabled, the driver translates a requested move by inverting the target position using the maximum allowed steps value. 4. **Maximum Allowed Steps Configuration** - Users can set the maximum allowable step count (default is 30000) to reflect the mechanical limits of the focuser. - This value is used in both the coordinate conversion for reverse movement and to validate move commands. 5. **Set Zero Position Functionality** - The driver supports a “Set Zero Position” command. - This can be invoked via a custom action from an ASCOM client or by using a button in the Setup dialog. - When triggered, the driver (if not already connected) will quickly establish a connection, send the SETZEROPOSITION command, and then optionally disconnect. 6. **Setup Dialog** - A Windows Forms based Setup dialog allows the user to: - View and change the COM port or auto-detect the device. - Enable/disable trace logging. - Toggle the Reverse Movement feature. - Set the Maximum Allowed Steps. - Instantly set the zero position through a dedicated button. - All configuration settings are stored in the ASCOM Profile for persistence across sessions. Installation & Setup: --------------------- 1. **Installation** - Build the driver project (ensuring that the project references ASCOM and System.IO.Ports). - Register the built assembly for COM interop following ASCOM driver installation instructions. 2. **Driver Configuration** - Open the ASCOM Chooser (or your custom control panel) and select “Prometheus inFocus Focuser.” - Open the Setup dialog to configure your device: - Use the “Auto-Detect Device” checkbox to automatically identify the COM port. - If desired, enable “Reverse Movement” to invert the focuser’s physical motion. - Set the “Maximum Allowed Steps” according to your focuser’s mechanical limits. - Use the “Set Zero Position” button to immediately command the focuser to set its current position as zero. 3. **Usage in Astronomy Software** - Once configured and connected via your preferred ASCOM client software, you can control the focuser’s movement, query its position, and halt movement as necessary. Troubleshooting: ---------------- - **No COM Ports Detected:** Ensure that your computer recognizes the USB serial device and that the proper drivers are installed. - **Auto-Detect Fails:** Verify that the Arduino is powered and connected. Check that the firmware’s device GUID matches the one configured in the driver. - **Set Zero Command Issues:** The device must be reachable; if the “Set Zero” command fails, verify the serial connection (try using the ping command via a terminal program). Support & Feedback: ------------------- For further assistance or to submit feedback, please contact: Polychronis Iliakis Email: polychronis.iliakis@gmail.com -----------------------------------------------------