Add Jens Eden's (PTB) asyn motor MAXnet driver.

This commit is contained in:
Ron Sluiter
2010-05-11 13:45:50 +00:00
parent 668a288266
commit 970b858ead
4 changed files with 1462 additions and 0 deletions
+1
View File
@@ -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.
+34
View File
@@ -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
+24
View File
@@ -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