The driver uses drvIpac for configuration of the carrier board plus access routines for the SCC2698 octalUart used in the IP modules. The driver is implemented as a standard vxWorks terminal driver making use of the tyLib() system library.
drvSerial is designed to use any vxWorks serial device driver. Other hardware supported includes:
##################### # Configuration Setup ##################### # Initialize the IP module tasks tyGSOctalDrv 4 ipacAddCarrier &vipc610, "0x6000" # Create devices MOD0 = tyGSOctalModuleInit("GSIP_OCTAL232", 0x80, 0, 0) PORT00 = tyGSOctalDevCreate("/tyGS/0/0", MOD0, 0, 512, 512) PORT02 = tyGSOctalDevCreate("/tyGS/0/2", MOD0, 2, 512, 512) PORT04 = tyGSOctalDevCreate("/tyGS/0/4", MOD0, 4, 512, 512) PORT06 = tyGSOctalDevCreate("/tyGS/0/6", MOD0, 6, 512, 512) # Config ports # baud, parity(N/E/O), stop, bits, flow(N/H) tyGSOctalConfig PORT00, 9600, 'N', 1, 8, 'N' tyGSOctalConfig PORT02, 9600, 'N', 1, 8, 'N' tyGSOctalConfig PORT04, 9600, 'N', 1, 8, 'N' tyGSOctalConfig PORT06, 9600, 'N', 1, 8, 'N' # # The following uses the EPICS drvNode/devNode support # # Create NODEs - device support uses these names COMMON = drvNodeInit("/tyGS/0/0") VILINK = drvNodeInit("/tyGS/0/2") AOBG = drvNodeInit("/tyGS/0/4") OSIS = drvNodeInit("/tyGS/0/6") # Configure NODE delimiters drvNodeSetDelim COMMON, 0, 2, "\015\012", 0x00 drvNodeSetDelim COMMON, 1, 2, "> ", 0x00 drvNodeSetDelim COMMON, 2, 3, ": ", 0x00 drvNodeSetDelim COMMON, 3, 3, ")? ", 0x00 drvNodeSetDelim COMMON, 4, 3, "): ", 0x00 # drvNodeSetDelim VILINK, 0, 2, "\015\012", 0x00 # drvNodeSetDelim AOBG, 0, 1, "\015", 0x00 # drvNodeSetDelim OSIS, 0, 1, "\015", 0x00