Stanford Linear Accelerator Center Stephanie AllisonEPICS Meeting June, Porting EtherIP to EPICS 3.14 Usage at SPEAR IOC Software Porting Notes 3.13/3.14 Sharing
EtherIP at SPEAR ENETENET PLCPLC CNETCNET AB ControlLogix CratesAB Remote IO Accelerator MPS Beamline MPS 3 RIO Crates, 3 PanelViews ENETENET PLCPLC CNETCNET Beamline RIO Crates PLC/ FlexLogix ControlNet IOC PC/ RSLogix WEB EtherNet 3 Kickers Kicker Control ENETENET (Future)
Stephanie AllisonEPICS Meeting June, EtherIP IOC Software Scan Threads, iocsh PLC 1 Thread PLC n Thread Data Structs IOC Events, Mutexs Time TCP/IP Host Tester ENET 1 Module ENET n Module......
Stephanie AllisonEPICS Meeting June, Port from VxWorks to OSI Kay Kasemir supportive – nice collaboration Most work in driver – not device support Test on Unix first, then checkout on RTEMS Timing and semaphores most work Existing diagnostics great help, web interface useful Function registration for iocsh C++ considerations
Stephanie AllisonEPICS Meeting June, Port from VxWorks to OSI (cont) Not much work for sockets – add TCP_NODELAY option On RTEMS, may need to increase packet limit (max_interrupt_work) from 20 to 40 “connectWithTimeout” is needed in osiSock! Change documentation a little
Stephanie AllisonEPICS Meeting June, Share Source for 3.13/3.14? Use EPICS_VERSION and EPICS_REVISION, mostly in include files to set other macros (code more readable) Setup macros to make 3.13 look like 3.14 Maintain both config and configure directories with the package Maintain both Makefile (3.14) and Makefile.Vx (3.13) Change Makefile to build 3.14 if EPICS_HOST_ARCH is set, otherwise 3.13