diff --git a/site_ansto/motor_dmc2280.c b/site_ansto/motor_dmc2280.c index 1e49396c..497e5ea7 100644 --- a/site_ansto/motor_dmc2280.c +++ b/site_ansto/motor_dmc2280.c @@ -2545,7 +2545,13 @@ static void DMCState_OffTimer(pDMC2280Driv self, pEvtEvent event) { case eStateEvent: if (self->run_flag == 0) { if (self->driver_status == HWBusy) - self->driver_status = HWIdle; + /* + * To allow the airpads to come down before counting, we defer + * notification if there is no motor off delay and creeping is on. We + * should not need to reposition in motor.c in these circumstances. + */ + if (self->motOffDelay > 0 || self->creep_offset == 0.0) + self->driver_status = HWIdle; if (self->motOffDelay) { DMC_SetTimer(self, self->motOffDelay); return;