forked from epics_driver_modules/motorBase
Add Jens Eden's (PTB) asyn motor MAXnet driver.
This commit is contained in:
@@ -14,6 +14,7 @@ LIBRARY_IOC_DEFAULT += oms
|
||||
# The following is required for the OMS PC68/78 (i.e., devOmsPC68) device driver.
|
||||
ifdef ASYN
|
||||
SRCS += devOmsPC68.cc drvOmsPC68.cc
|
||||
SRCS += drvMAXnetAsyn.cc
|
||||
endif
|
||||
|
||||
# The following is required for the OMS VME8/44 (i.e., devOMS) device driver.
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
|
||||
|
||||
Please note:
|
||||
|
||||
- The MAXnet IP-stack is very basic. You cannot ping the card and it doesn't know
|
||||
anything about routing, which means you can only use it from hosts in the same
|
||||
subnet.
|
||||
- MAXnet cards with firmware versions older than 1.33.4 shouldn't be used
|
||||
with the ethernet port. They abort communication, if they detect a tcp packet
|
||||
with checksum 0xffff.
|
||||
- MAXnet cards with firmware versions below 1.33 use "\n\r" as input EOS
|
||||
on Ethernet ports. Version 1.33 and higher use "\n" on ethernet and serial ports.
|
||||
Comment the setInputEos call and set input EOS in st.cmd if using firmware
|
||||
versions below 1.33
|
||||
|
||||
add this to st.cmd if using the ethernet port:
|
||||
drvAsynIPPortConfigure("MAXNET","maxnet-ip-address:23",0,0,0)
|
||||
|
||||
add this to st.cmd if using the serial port:
|
||||
drvAsynSerialPortConfigure("MAXNET","/your/serial/device",0,0,0)
|
||||
asynSetOption("MAXNET",0,"baud","115200")
|
||||
asynSetOption("MAXNET",0,"bits","8")
|
||||
asynSetOption("MAXNET",0,"parity","none")
|
||||
asynSetOption("MAXNET",0,"crtscts","Y")
|
||||
|
||||
add this to Makefile
|
||||
# The following is required for the OMS MAXnet device driver.
|
||||
SRCS += drvMAXnetAsyn
|
||||
|
||||
add this to devOms.dbd
|
||||
# Oregon Micro Systems MAXnet Asyn driver support.
|
||||
driver(motorMAXnet)
|
||||
registrar(OmsMAXnetRegister)
|
||||
variable(motorMAXnetdebug)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,24 @@
|
||||
#ifndef DRV_MOTOR_MAXNET_ASYN_H
|
||||
#define DRV_MOTOR_MAXNET_ASYN_H
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int MAXnetSetup(int numControllers); /* number of MAXnet cards in system. */
|
||||
|
||||
int MAXnetConfig(int card, /* Controller number */
|
||||
const char *portName, /* MAXnet Device name */
|
||||
int numAxes, /* Number of axes this controller supports */
|
||||
int movingPollPeriod, /* Time to poll (msec) when an axis is in motion */
|
||||
int idlePollPeriod, /* Time to poll (msec) when an axis is idle. 0 for no polling */
|
||||
const char *initString); /* Init String sent to card */
|
||||
|
||||
void MAXnetSendRead(int card, /* number of card */
|
||||
const char *sendstr); /* string to send*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
Reference in New Issue
Block a user