You are here

New Project - FocusMac

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).
  • 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).
dave's picture

Recently I started building myself a motorized focuser based on the ideas generated by the SGL Observatory Automation group. I'm part-way through the build, although I still have the circuitry attached to a breadboard and I am writing my own firmware to drive the focuser. I could have just used the SGL firmware, but as a developer, I wanted to have the fun of doing this bit myself. In the process, I think I will be able to implement some improvements, such as allowing the focuser motor to move while the firmware remains responsive to the serial command protocol. This will allow user interface software to control the focuser in a responsive manner, while the motion of the focuser happens in parallel. A bit like the way mounts work in fact.

I haven't yet sorted out the mechanics of how I will attach the motor to my Moonlite focuser, and annoyingly my telescope is stored at our country house, which we haven't managed to visit since Christmas time. I have some ideas, but I can't try them out or test bolt sizes or positioning until I can get access to my gear. Hopefully with Easter around the corner I will manage to do this.

The problem with building a motorized focuser is that once you've built in, there would ideally by some software to control it. Windows users have a selection of tools to use, but on the Mac, as usual, the outlook is a little on the poor side. The tools that I know about simply let you control the in and out movement of the focuser from the computer. I am not presently aware of any software that will automatically focus your telescope like FocusMax will do on Windows-based systems.

Not being afraid of a challenge, I have set out to build an automatic focus utility for the Mac using the published algorithms that are used by FocusMax. For the time being, I have decided to call the application that will result from this, FocusMac. Initially I will be aiming to support the custom serial protocol that my DIY focuser understands. This will let me get the basic functions of the software operational and hopefully help me to focus my telescope quicker and more accurately than I've previously been able to manage. Once I get to this point, I will look to add support for other common brands of motorized focuser.

If this project interests you, please drop me a line and let me know what type of focuser you have and how you presently control it. Adding support for common brands of focuser will only happen if I see interest from people and most likely, those that shout loudest/earliest will get their brand of focuser supported first.