Hardcoded pulseguide limit?


In Command.ino, line 1306:
if (i >= 0 && i <= 16399) {
} else commandError=CE_PARAM_RANGE;

When sending command for Manual Guide, if duration is longer than 16399ms, it returns error "Out of range". May I ask why is this here, and what is meaning of GUIDE_TIME_LIMIT in config.h though?

Robert Benward

This is to prevent a stuck switch from driving the mount in circles.  It forces you to let off the switch and then re-apply.  It's a safety thing.  I am sure the Manual Guide command is the same thing, capped at 16 seconds.

#define GUIDE_TIME_LIMIT                0 //      0, No guide time limit. Or n. Where n=1..120 second time limit guard.       Adjust


If you are sure this is just to prevent switch stuck and not due to some hardware limitations (timer resolution, etc), I could increase this value because I don't use switches. I don't get it why exactly 16399ms... For normal scenario everything would be okay, for dithering more pixels on shorter fl camera lenses PG hits this limit.
It is unclear if the value of GUIDE_TIME_LIMIT is in terms of arc seconds or seconds of time and does it applies to PG length or manual guiding or both or none of them.


Okay, I found that GUIDE_TIME_LIMIT is in seconds of time and that only applies to manual guide commands issued by App/SHC/SWS. On the other side, PulseGuide is definitley limited to 16399ms independently of that and on PG rate (it's always 16399 either with 1x or 1/2x pulseguide rate. I would still like to know why, and if it's safe to increase this value in the code becasue i need this for dithering with short FL (<=50mm).

Howard Dutton

On Tue, Nov 23, 2021 at 03:10 AM, vzr wrote:
I would still like to know why
It's been like that for so long I really don't recall exactly why other than about 16 seconds seems like a very long pulse-guide and I seriously doubted anyone would ever need more.

, and if it's safe to increase this value in the code becasue i need this for dithering with short FL (<=50mm).

I will not be patching OnStep for this but I will extend the command's time limit in OnStepX to the full int16 range.