IPAC Driver Version 2.8
Released: 2004-12-16
By: Andrew Johnson
Prerequisites
- EPICS Base 3.14.3 (or later)
Downloads
Installation
Instructions for building the IPAC driver software can be found in the drvIpac Documentation.
Once IPAC has been built and installed at the site, it must be added to each IOC application that will use IPAC hardware; see these installation instructions for details.
Documentation
The source tree includes a copy of all the documents along with the full release notes history for each module; on building these files get installed into a new top-level html
directory. The links below currently point to the HTML files in the github repository at the time of the release, but they will not be rendered properly by your browser.
- drvIpac - Industry Pack Driver
- drvTip810 - CAN Bus Driver
- devCan - CAN Bus Device Support
- tyGSOctal - OctalUart IP Module Support
Release Notes
Changes since V2.7 release.
IPAC Driver
Added:
- Added a new routine
ipacLatestCarrier()
which returns the carrier number of the most recently added carrier board. This can be used in the vxWorks startup script to avoid any problems that might occur if a call to ipacAddCarrier (actually to its new carrier-specific routines) returns with a failure. Such a failure would result in any succeeding carrier board receiving the carrier number expected by the failed one. - Created a carrier driver for the Tews TVME-200, also sold by SBS as the VIPC-626 and possibly by XYCOM VME as the TVME-200; this board can also be used with the VIPC610 or VIPC616 drivers if the appropriate switch settings are made. The drvIpac documentation describes the additional capabilities that this driver provides which the older drivers do not.
- A new irqCmd is available,
ipac_slotReset
for use where a carrier board is capable of resetting an individual IP slot. This command is supported by the new TVME-200 carrier driver.
Changed:
- The behaviour of
ipacAddCarrier()
has been changed so that it always increments its internal carrier number even when it returns with an error, and in that circumstance the Null carrier driver will be used for all subsequent operations on that carrier number.
Octal Serial Driver
Added:
- New device configuration routine
tyGSOctalDevCreateAll()
which looks at all the ports on the indicated module and initializes any which have not yet been initialized. The device name is generated by appending the port number digit to the base name string given in the first argument. The remaining parameters are the tyGS module number and the sizes of the read and write buffers respectively.
Changed:
- Ron Sluiter changed the type of the module identifier from an integer that is allocated internally to a string which is provided in the call to tyGSOctalModuleInit. It is easier to read and understand a startup script if you can use a name like this rather than just a number. The example startup script in the documentation has been changed to match this, and to use the new
ipacLatestCarrier()
routine to get the drvIpac carrier number. - The interrupt vector is now written to the vector register using
vxMemProbe()
, which will detect any VME Bus Error which a PowerPC CPU might miss if the carrier board has been incorrectly configured.