Skip to content

IPAC Driver Version 2.13

Compare
Choose a tag to compare
@anjohnson anjohnson released this 22 Aug 21:00
· 59 commits to master since this release

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.


Release Notes

Changes since V2.12 release.

IPAC Driver

Added:

  • New routine int moduleProbe(void *cPrivate, epicsUInt16 slot); added to the ipac_carrier_t table. This is optional for VME carriers where the devLib routine devReadProbe() 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 calling ipcCheckId(). 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 the initialise() 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.