- GPIB/ECB modules completed, ecb motor driver in progress
This commit is contained in:
47
motor.c
47
motor.c
@ -10,6 +10,7 @@
|
||||
revised: Mark Koennecke, June 1997
|
||||
callback added: Mark Koennecke, August 1997
|
||||
endscript facility added: Mark Koennecke, August 2002
|
||||
Modified to support driver parameters, Mark Koennecke, January 2003
|
||||
|
||||
Copyright:
|
||||
|
||||
@ -34,7 +35,6 @@
|
||||
DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE
|
||||
IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
|
||||
@ -333,16 +333,7 @@
|
||||
self->pDriver->GetError(self->pDriver,&iCode,pError,131);
|
||||
sprintf(pBueffel,"WARNING: %s on %s",pError,self->name);
|
||||
SCWrite(pCon,pBueffel,eStatus);
|
||||
if(self->pDriver->ContinueAfterWarn(self->pDriver))
|
||||
{
|
||||
iRetry = 0;
|
||||
return HWBusy;
|
||||
}
|
||||
else
|
||||
{
|
||||
iRetry = 0;
|
||||
return HWIdle;
|
||||
}
|
||||
return HWIdle;
|
||||
}
|
||||
iRetry = 0;
|
||||
return iRet;
|
||||
@ -514,7 +505,17 @@ extern void KillPiPiezo(void *pData);
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
/*
|
||||
check for a driver parameter
|
||||
*/
|
||||
if(self->pDriver->GetDriverPar != NULL)
|
||||
{
|
||||
return self->pDriver->GetDriverPar(self->pDriver,name,fVal);
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -553,10 +554,6 @@ extern void KillPiPiezo(void *pData);
|
||||
}
|
||||
|
||||
iRet = ObParSet(self->ParArray,self->name,name,fVal,pCon);
|
||||
if(!iRet)
|
||||
{
|
||||
return iRet;
|
||||
}
|
||||
if(strcmp(name,"sign") == 0)
|
||||
{
|
||||
if((absf(fVal)-1.0) > 0.01)
|
||||
@ -573,6 +570,17 @@ extern void KillPiPiezo(void *pData);
|
||||
ObParInit(self->ParArray,SZERO,"softzero",ZEROINACTIVE,usUser);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
try set driver parameters
|
||||
*/
|
||||
if(iRet == 0)
|
||||
{
|
||||
if(self->pDriver->SetDriverPar != NULL)
|
||||
{
|
||||
iRet = self->pDriver->SetDriverPar(self->pDriver,pCon,name,fVal);
|
||||
}
|
||||
}
|
||||
return iRet;
|
||||
}
|
||||
/*---------------------------------------------------------------------------
|
||||
@ -988,6 +996,13 @@ extern MotorDriver *MakePiPiezo(Tcl_Interp *pTcl, char *pArray);
|
||||
sprintf(pBueffel,"%s.TargetPosition = %f\n", self->name,self->fTarget);
|
||||
SCWrite(pCon,pBueffel,eStatus);
|
||||
|
||||
/*
|
||||
list driver parameters when appropriate
|
||||
*/
|
||||
if(self->pDriver->ListDriverPar != NULL)
|
||||
{
|
||||
self->pDriver->ListDriverPar(self->pDriver,self->name, pCon);
|
||||
}
|
||||
}
|
||||
/*--------------------------------------------------------------------------*/
|
||||
void MotorReset(pMotor pM)
|
||||
|
Reference in New Issue
Block a user