You are here

Managing Star Alignment (Sync) Data

Error message

  • Deprecated function: Return type of DatabaseStatementBase::execute($args = [], $options = []) should either be compatible with PDOStatement::execute(?array $params = null): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2244 of /home1/dhulse/public_html/_eqmac/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home1/dhulse/public_html/_eqmac/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home1/dhulse/public_html/_eqmac/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home1/dhulse/public_html/_eqmac/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home1/dhulse/public_html/_eqmac/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home1/dhulse/public_html/_eqmac/includes/database/database.inc).
  • Deprecated function: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in drupal_random_bytes() (line 2268 of /home1/dhulse/public_html/_eqmac/includes/bootstrap.inc).
  • Deprecated function: rtrim(): Passing null to parameter #1 ($string) of type string is deprecated in url() (line 2349 of /home1/dhulse/public_html/_eqmac/includes/common.inc).
  • Deprecated function: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in url_is_external() (line 2393 of /home1/dhulse/public_html/_eqmac/includes/common.inc).
  • Deprecated function: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in url_is_external() (line 2395 of /home1/dhulse/public_html/_eqmac/includes/common.inc).
  • Deprecated function: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in url() (line 2311 of /home1/dhulse/public_html/_eqmac/includes/common.inc).

Version 1.3.0 of EQMac added a Star Alignment data management facility. You can access this by clicking the Align button in the EQMac toolbar. What you get is a window that keeps track of all the sync points you have made. There is a list of all the sync points and a plot of where they correspond to on the visible sky. Before we get started though, let's talk a little bit about how EQMac manages the sync data.

Firstly, when you perform a Sync operation, EQMac captures the data in terms of RA/DEC encoder positions rather than actual RA/DEC coordinates. This is because celestial coordinates change over the course of a night, whereas a given encoder position is fixed. Every time the mount moves to that same encoder position, we want the mount to apply the same correction regardless of what it happens to be pointing at. In other words, pointing corrections are based on encoder position. Therefore, given the mount generally only points at the visible sky (and not below the horizon) we can plot all of the sync points on a chart representing the sky visible from your current latitude.

EQMac will save and restore sync data between sessions provided that you Park and Unpark the mount. If you Park the mount before shutting down, and then Unpark when starting up again, EQMac will ask you whether it should restore the sync data from the previous session. If you didn't Park, EQMac doesn't know how the mount is positioned at startup and has to assume it is in the Home position. Under these circumstances it assumes that previous sync data will no longer be valid because the mount will have to be repositioned with the clutches. In a future release, I will relax these rules and allow the sync data to be saved and restored as you require.

When you have some sync data, the Alignment window will list each point in the table at the bottom of the window. Each point has a check box that you can use to turn an individual sync point on or off. Turning a point off will prevent EQMac from using that point when making pointing corrections. You will also see it disappear from the map and instead be plotted as a simple grey dot. Points that are turned on will be plotted in white with a smaller orange dot. The white represents the "catalogue" position and the orange represents the "actual" position after you have adjusted the slew. This is shown in the screenshot above. If you want to delete a particular point, simply select it and click the "minus" button at the bottom left of the list.

How EQMac Uses Sync Data

EQMac uses the sync data for two purposes. Firstly, when slewing to a target, EQMac will compute a slew correction based on the sync data so that your slew will be more accurate. Secondly, when EQMac wants to report the current position of the mount (for example, to display the current RA and DEC, or to give this information to another interfaced application), it will read the current position of the mount and then apply a correction to obtain the real position. The manner in which these corrections are applied depends on the settings you make in the star alignment window.

Perhaps the most important setting is whether or not to use the 3-point algorithm to compute the corrections. When this option is unchecked, EQMac will use a 1-point (nearest point) algorithm to compute corrections. This is how EQMac has always operated since the initial releases. If you enable the 3-point algorithm, EQMac will use a more involved computation using 3 sync points to compute a correction. These algorithms are described below.

The 1-Point (nearest point) Algorithm

When 3-point mode is not enabled, or you have less than 3 sync points in total, EQMac will compute corrections using a single point. To do this, EQMac will take your chosen slew target and compute the encoder positions that would be required to slew to that target. It will then find the nearest sync point to that encoder position and apply the correction that was needed when that sync point was added. Thus, if you only have one sync point for the whole sky, the further your slew target is from that point, the less relevant that sync correction will be. The correction will help somewhat, but it is likely the slew will vary in accuracy with the distance from the sync point.

When you initiate a slew, you will see the chosen (nearest) sync point turn green in the sync point map. This indicates that EQMac is using the point for computing slew corrections. You will then see the red circle begin to track the slew across the sky and it will be accompanied by a purple dot. The dot represents where the mount encoders are saying that is it pointing. The red circle represents where the mount is pointing after corrections are applied. Thus, when your mount is in the home position, with one sync point, you may notice that the purple dot is exactly on the pole, whilst the red circle is offset from that somewhat. This reflects the fact that the mount encoders say the mount is in the home position, but in reality, it is pointing slightly away from the pole. This situation is shown in the screenshot above.

The 3-Point (triangles) Algorithm (only for v1.3.1 and above)

When 3-point mode is enabled and you have at least 3 sync points added, EQMac will begin to compute corrections using a 3-point triangle. To do this, EQMac will take your chosen slew target and compute the encoder positions that would be required to slew to that target. It will then search combinations of 3 sync points to find a triangle that surrounds the slew target and has the target as close as possible to the centroid of the triangle. If no such triangle can be found, EQMac will fall back and use the 1-point algorithm instead as described above. However, if a triangle is found, EQMac will compute a coordinate transformation matrix using the 3 sync data points in the triangle and use this matrix to apply a correction to your slew target.

When you initiate a slew, you will notice that 3 sync points turn green and a triangle is plotted. This indicates that EQMac is using those sync points to compute the coordinate transformation matrix for the current slew. Again the red circle and purple dot will begin tracking the slew, as for the 1-point algorithm. You should find that if you add 3 sync points that create a triangle covering a large expanse of sky, that slews within the triangle should be relatively accurate. For slews to targets lying outside the triangle, the 1-point algorithm will be used instead at present.

Affecting the Choice of Sync Points

You will notice a set of 3 radio buttons in the top right of the Star Alignment window. These allow you to control which sync points EQMac will consider using to compute corrections for a given slew. Choosing "Any" will let EQMac use any of the points you currently have enabled. On the other hand, if you choose "Same Side of Meridian", EQMac will only consider sync points on the same side of the meridian as your chosen slew target. Finally, choosing "Same Quadrant" will further restrict the choice of points to the quarter of the sky that contains your slew target. The theory here is that sync points in the opposite meridian or in other quadrants might be the closest points for some slews. However, the corrections they would give rise to may not be particularly accurate due to being too far away. I would regard this feature as largely experimental. Whether or not you feel it makes a difference would be a matter of experimentation with different settings.

Status of the 3-Point Algorithm

At the time of writing, I have not been able to extensively test the 3-point algorithms. Therefore, when you enable this feature, you are essentially running the software in a largely untested state. It may be that the corrections it computes in 3-point mode are not very accurate and there may be bugs that I have yet to find and correct. I am hoping to do some proper testing of this feature over the summer months and make sure it is working well. In the meantime, if you do try this mode, please give me any feedback you have on how well it is working (or not). Any feedback you have will certainly help improve things for everyone.

If you do discover problems, just turn the 3-point mode off and EQMac will only use the 1-point algorithm and will operate as it has always done in the past.