IPAC Driver Version 2.13
Released: 2014-12-15
By: Andrew Johnson
Prerequisites
- EPICS Base 3.14.9 (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.12 release.
IPAC Driver
Added:
- New routine
int moduleProbe(void *cPrivate, epicsUInt16 slot);
added to theipac_carrier_t
table. This is optional for VME carriers where the devLib routinedevReadProbe()
can be used to check for the presence of a module in a specific carrier slot. If it safe to access the ID Prom of an empty slot, the carrier routine may just return 1, it does not need to check whether the slot is currently occupied.
Changed:
- The routine
ipcCheckId()
no longer calls the devLib routine devReadProbe(), so it can now be used on non-VME systems. Carrier drivers that used this routine to detect the presence of a module in a slot must be modified to perform their own probe before callingipcCheckId()
. Both the drvXy9660.c and drvHy8002.c carrier drivers were modified to do this, so can be used as examples of the changes needed.
Bug Fixed:
- In the Xy9660 driver the parameter string parser would not accept the 'R' card reset request described in the documentation. This bug has existed in all previous versions of the driver, but should now be fixed.
- The Xy9660 driver would not work with some VME CPUs because the calls to
devWriteProbe()
in theinitialise()
routine requested word-size write operations, but only single-byte operations succeed. The routine has been changed to use byte-size write probes.
tyGSOctal Driver
Bugs Fixed:
- Fixed problems using this driver on MVME3100 and 6100 boards by changing the ISR. It now only processes one channel per interrupt, and when called it starts scanning for work to be done from the next channel in turn.