Die Funktion TCmd::WakeUp( void )

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;
}


Zurück zu TSteering::WakeUp()

Startseite


Kay Schützler
Last modified: Thu Sep 9 20:24:05 CEST 1999