John,
My initial response was only half-right. It is true that drvPMNC87xx.cc is a Model 1 driver and 874xMotorDriver.cpp is a Model 3 driver.
But more importantly:
874xMotorDriver.cpp is only for the 874x controllers, as seen in the file name and in this comment in the source files:
“Motor driver support for the NewFocus 874x series of controllers”
drvPMNC87xx.cc is only for the 875x controllers as seen from these definitions in drvPMNCCom.h
/* Picomotor Network Controllers */
enum PMNC_model
{
PMNC8750,
PMNC8752
};
/* Picomotor Drivers - use DRT Command to determine */
enum PMD_model
{
PMD8753=1, // 3 channel open-loop
PMD8751=2 // 1 channel closed-loop
};
So you must use drvPMNC87xx.cc for the 8753.
Mark
From: John Dobbins <john.dobbins at cornell.edu>
Sent: Monday, November 23, 2020 9:26 AM
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: tech-talk at aps.anl.gov
Subject: Re: New Focus Motor support
Also, I learned that the 8743 and the 8753 have different command sets . I discovered this when I actually tried to move motors on the 8753.
The newfocus8742.asyn.st.cmd.linux-x86 did not work with 8753 (it was sending
8742 type commands) while the st.cmd does.
Am I overlooking something in configuration? Can the Model 3 driver work with the 8753?
Hi John,
/motor/modules/motorNewFocus/newFocusApp/src contains 2 drivers:
- An old Model 1 driver in these source code files:
- devPMNC87xx.cc
- drvPMNC87xx.cc.
- drvPMNCCom.h
- NewFocusRegister.cc
- NewFocusRegister.h
- A new Model 3 in these source code files:
- 874xMotorDriver.cpp
- 874xMotorDriver.h
newfocus8742.asyn.st.cmd.linux-x86 is for the new Model 3 driver.
st.cmd and PMNC87xx.cmd are for the old Model 1 driver.
Mark
________________________________
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of John Dobbins via Tech-talk <tech-talk at aps.anl.gov>
Sent: Saturday, November 21, 2020 3:24 PM
To: tech-talk at aps.anl.gov
Subject: New Focus Motor support
All,
I am using a New Focus motor for the first time. I have an 8752 controller. looking in
motor-R7-1/modules/motorNewFocus/iocs/newFocusIOC/iocBoot/iocNewFocus
I see two IOC start scripts.
st.cmd which loads PMNC87xx.cmd
and
newfocus8742.asyn.st.cmd.linux-x86
The later appears to work for my controller. What is the other?
Thanks,
John Dobbins
Research Support Specialist
Cornell High Energy Synchrotron Source
Cornell University
www.chess.cornell.edu<http://www.chess.cornell.edu>