TCCode TCmd::WakeUp( void )
{
// does not change the actual motor
int mid;
double dd;
BOOL bAllReady = TRUE;
for (mid = 0; mid < mlGetAxisNumber(); mid++)
if (!bMoveOk[mid])
{
if (mlIsMoveFinish( mid ))
{
DelayTime( 5 );
if (mlGetDistance( mid, dd ))
bMoveOk[mid] = TRUE;
else
bAllReady = FALSE;
}
else
bAllReady = FALSE;
}
if (bAllReady)
{
bPositionValid = TRUE;
if (bNoMeasure)
{
bNoMeasure = FALSE;
return DoAction();
}
else
return CMeasure;
}
return CRecall;
/*
if (nAskIdx > 0)
return CRecall;
else
return DoAction();
*/
}
Nachfolgend die gerufene Funktion DoAction().
TCCode TCmd::DoAction( void )
{
switch(eStep)
{
case CFirstStep:
return FirstStep();
case CControlStep:
return ControlStep();
case CReadyStep:
return ReadyStep();
case CReady:
return Ready();
}
MessageBox( GetFocus(), "Unbekannter Schritt", "Meldung", MBINFO );
return CStop;
}