Improve Mount Control functionality and graphics
Overview
The main goal of these changes is to have full control of telescope pointing not only to celestial objects but also with respect to a terrestrial coordinate frame. This functionality is of importance for the initial alignment of telescope mounts lacking absolute position encoders. Generally, the axes of these mounts need to be aligned with some reference indexes on the mount itself when the telescope is synched for an initial rough alignment. This allows to avoid crazy motions during the initial phase of alignment procedure, not acceptable for remotely operated telescopes. As secondary benefit, one has the capability to point terrestrial objects for seeing, focusing, collimating, etc.
New Functionality
A previous MR !56 (merged) extended the Mount Control SYNC function to Az/Alt coordinate, this MR completes the work by adding HA/Dec coordinate to SYNC and GOTO. This allows to do terrestrial pointing for both altazimut and equatorial mount types.
The HA/Dec coordinate is added as a new selection to the "Type" radiobutton of Mount Control. Since the addition of a third label (HA and DE) to the coordinate labels would have created confusion, now the selection of the "Type" radiobutton also changes the coordinate labels according to the selected coordinate. Also the selection of a celestial object in the "Find Object" dialog changes the coordinate labels to RA/DE and set the "Type" radiobutton checked to RA/DE coordinate.
A coordinate calculator translating among the coordinate types is added. When the coordinate type is changed by checking another selection of "Type" radiobutton, if both coordinate text boxes contain valid coordinate values, these are converted into the new select coordinate type. Otherwise, the coordinate text boxes are cleared.
New graphics
Since there are, some graphical adjustments were added. Greater fonts for coordinate display. Larger text box for target name display by moving find icon just below it. Enable clipping to avoid overflow of long target names. A placeholder text to target name box, telling to click on find icon, instead of clicking and writing into the target name box.
Old/New comparison of Mount Control
Old | New |
---|---|
Details
All steps involved in Mount Control improvement are detailed here.
First, the mean angle representation error of DMS/HMS formats is minimized. The methods of class DMS that convert an angle, internally stored as double, to a DMS or HMS string for display, make a computation that set the change of the least significant digit (LSD) aligned with angle integer units. This means that the rounding error is asymmetric and ranges from zero to 1 arcsec for DMS or from zero to 1 second for HMS. The maximum rounding error is made symmetric and halved by shifting up the angle value by the half value of the LSD. The high precision DMS and HMS conversions are not changed. A specific test is added.
Affected files: .../kstars/auxiliary/dms.cpp, .../Tests/auxiliary/testdms.cpp, .../Test/auxiliary/testdms.h
Improve Mount Control functionality and graphics: QML part.
- Add HA/Dec coordinate to type radiobutton.
- Add dynamic update of coordinate labels, according to the selection changes of coordinate type radiobutton.
- Add a coordinate calculator converting the displayed coordinate values according to the selection changes of coordinate type radio button.
- Set bigger coordinate fonts.
- Set wider target name display box, moving find icon just below it. Enable clipping to avoid overflow of long target names.
- Add placeholder text to target name box, telling to click on find icon, instead of clicking and writing into the target name box.
- Add object names to GOTO and SYNC buttons.
Affected files: .../kstars/data/qml/mount/mountbox.qml, .../kstars/ekos/mount/mount.cpp .
Improve Mount Control functionality and graphics: program part.
- Implement support for coordinate calculator.
- Extend GOTO and SYNC functionalities to HA/Dec coordinate.
Affected files: ../kstars/ekos/mount/mount.cpp, .../kstars/ekos/mount/mount.h .
Add tests for Mount Control functionality and graphics.
Affected files: .../Tests/kstars_ui/CMakeLists.txt, .../Test/kstars_ui/test_ekos_mount.cpp, .../Test/kstars_ui/test_ekos_mount.h .