Change state transition on limit switch event to ensure that motor is stopped before turning it off.
r2505 | dcl | 2008-05-07 10:14:28 +1000 (Wed, 07 May 2008) | 2 lines
This commit is contained in:
@@ -2245,13 +2245,13 @@ static void DMCState_Moving(pDMC2280Driv self, pEvtEvent event) {
|
||||
if (self->stopCode == 2) {
|
||||
self->errorCode = FWDLIM;
|
||||
self->driver_status = HWFault;
|
||||
change_state(self, DMCState_OffTimer);
|
||||
change_state(self, DMCState_MotorHalt);
|
||||
return;
|
||||
}
|
||||
else if (self->stopCode == 3) {
|
||||
self->errorCode = RVRSLIM;
|
||||
self->driver_status = HWFault;
|
||||
change_state(self, DMCState_OffTimer);
|
||||
change_state(self, DMCState_MotorHalt);
|
||||
return;
|
||||
}
|
||||
else if (self->stopCode == 4) {
|
||||
@@ -2268,7 +2268,7 @@ static void DMCState_Moving(pDMC2280Driv self, pEvtEvent event) {
|
||||
self->driver_status = HWFault;
|
||||
}
|
||||
if (self->driver_status == HWFault) {
|
||||
change_state(self, DMCState_OffTimer);
|
||||
change_state(self, DMCState_MotorHalt);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -2276,7 +2276,7 @@ static void DMCState_Moving(pDMC2280Driv self, pEvtEvent event) {
|
||||
snprintf(self->dmc2280Error, CMDLEN, "BAD Stop Code %d",
|
||||
self->stopCode);
|
||||
self->driver_status = HWFault;
|
||||
change_state(self, DMCState_OffTimer);
|
||||
change_state(self, DMCState_MotorHalt);
|
||||
return;
|
||||
}
|
||||
if (self->moving) {
|
||||
|
||||
Reference in New Issue
Block a user