diff options
Diffstat (limited to 'device-functions.c')
-rw-r--r-- | device-functions.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/device-functions.c b/device-functions.c index ee62cf1..69d94fa 100644 --- a/device-functions.c +++ b/device-functions.c @@ -757,7 +757,7 @@ int Set_Delay(int check_possible_only,int word_override,int range_override,int c /* won't work for all values if apparent fixed delay is less than minimum variable delay */ min_one_shot_delay = globals.Flash.delay_pwl_time[channel][0][0][0]; if (globals.Flash.delay_shrink[channel] < min_one_shot_delay) { - return HardwareError; + return DelayRangeError; } /* If we need the advance mode for all positive values of delay (for the external trigger @@ -775,6 +775,13 @@ int Set_Delay(int check_possible_only,int word_override,int range_override,int c SYNC pulse. */ + if ( globals.Flash.force_monotonic_ext_trig_delay[channel] && // specials mostly + (globals.Flash.delay_shrink[channel] > 0.0) && // ignore if delay shrink cal not set + (globals.Flash.propagation_delay[channel] > 0.0) && + ((globals.Flash.delay_shrink[channel] - globals.Flash.propagation_delay[channel]) < min_one_shot_delay)) { + return ExternalModeDelayError; + } + /* tweak depending on polarity */ adj_setting = set_delay; |