-
Notifications
You must be signed in to change notification settings - Fork 7
Dead Zone
The NexDome rotator firmware has a concept known as the Dead Zone, which is used to protect the user and equipment from unnecessary small movements.
The Dead Zone is essentially the smallest move (in whole motor steps) that the rotator is willing to make. Any movement request that would result in a move smaller than or equal to the dead zone will be silently ignored.
The need for a 'dead zone' essentiall stems from the fact that client applications may use floating point arithmetic to computer the desired azimuth position, but at some point this must be converted to an integer to complete the movement - either an integer number of degrees (@GAR
command) or an integer number of motor steps (@GSR
command). The final integer step position then has to be converted back to a floating point value for the client application. The chances of the input and output values being equal are close to zero. Therefore, a client application may repeatedly request small moves that cannot be accurately carried out. This may result in the rotator "hunting" to and fro around the desired position, or it may result in annoying "clunk" sounds as the motor coild are energized and de-energized unnecessarily. This is annoying and places unnecessary wear and tear on the motors and gears.
This can all be avoided by rejecting small movement requests, and this is the purpose of the Dead Zone.
The dead zone is a user configurable value given in whole motor steps.
The value is read using the @DRR
command and written using the @DWR
command (see Command Protocol).
You can opt to set your dead zone to zero, which effectively disables the dead zone so that all movement requests will be actioned.