ipUnidig Release Notes
Release 2-12 (November 21, 2020)
- Added support for Acromag IP408 0-60V 32-channel digital I/O.
- Added autoconverted OPI files for edm, caQtDM, CSS/Boy, and CSS/Phoebus.
- Moved ioch directory from top-level to ipUndigApp.
- Install files from Db/ to db/.
Release 2-11 (September 16, 2017)
- Fixed bug in drvIpUnidig::pollerThread(). It was not taking the lock when accessing
the asynPortDriver parameter library. This was causing occassional IOC hangs and
crashes, particularly when using the filterDriver.st SNL program with SPEC.
- Removed parameter counting and NUM_UNIDIDIG_PARAM argument to asynPortDriver constructor.
These are not needed in asyn R4-32.
- Added new iocsh directory with EXAMPLE_ipUnidig.substitutions and IpUnidig.iocsh
files. Thanks to Keenan Lang for this.
- Moved repository from SVN at APS to Github.
- The Makefile, CONFIG, CONFIG_SITE, and RULES* files in the configure directory
have been updated to the versions in the template files in EPICS base 3.15.5. The
new versions are better suited to site-specific customization.
Release 2-10 (Dec. 5, 2014)
- Fixed error in outputEnableLow register address for IP-UD-D and IP-UD-ID.
- Fixes 64-bit compatibility.
- Changes to remove vxWorks dependencies.
- Modified .opi display files for CSS-BOY
- Added .ui display files for caQtDM
Release 2-9 (Nov. 2, 2011)
- Fixed logic for interrupt callbacks. These were not working correctly if only
rising or falling edge interrupts were enabled, both not both. This was a problem
in asynPortDriver which is fixed in asyn R4-18, but required a small change to the
ipUnidig driver as well. This problem caused the quadEM module to not receive callbacks
when used with the ipUnidig.
- Fixed bug that caused the bo records to be initialized to the value of the bi
records. Standard asyn device support does this to support bumpless reboots. This
is not desired in the case of the IP-Unidig where the inputs and outputs are independent.
This was happening because only one asynPortDriver parameter was being used, rather
than separate parameters for input and output. Fixed the problem by defining 3 parameter
drvInfo strings: DIGITAL_INPUT, DIGITAL_OUTPUT, and DAC_OUTPUT. The databases were
changed to use these drvInfo strings.
- Updated the documentation, ipUnidigDoc.html, which was out of date, and still
referencing the old MPF framework.
Release 2-8 (Sept 9, 2011)
- Modified RELEASE; deleted RELEASE.arch.
- Added .opi display files for CSS-BOY
- Improved C++ code formatting and style, no logic changes
Release 2-7 (March 30, 2010)
- drvIpUnidig.cc - New version of driver based on asynPortDriver, replaces drvIpUnidig.c.
Release 2-6 (December 19, 2008)
- drvIpUnidig.c - fixed bug in report function; fixed bug that led to records being
processed on every poll until first interrupt.
Release 2-5 (October 18, 2007)
- Fixed soft reboot problem by adding epicsAtExit call to disable interrupts.
- Removed vxWorks dependencies so it will work on any system with devLib and drvIpac.
- Added support for SBS IP-OPTOIO-8 (Eric Norum).
- Now works on RTEMS.
Release 2-4 (Sept. 5, 2006)
- Ron Sluiter fixed a bug in initIpUnidig() of drvIpUnidig.c. The BSP was not enabling
interrupts for whatever level the IP carrier was configured for unless some other
IRQ handler, with the same IRQ level, had already enabled interrupts.
- Kurt Goetze added new medm adl files: IpUnidig_all.adl, IpUnidig_help.adl, IpUnidig_top.adl
Release 2-3 (March 23, 2005)
Major re-write:
- Converted from MPF to ASYN.
- Converted from specialized device support to generic device support from ASYN.
- Converted from C++ to C
Release 2-2 (March 3, 2004)
Minor changes:
- Docs updated, renamed, and moved to documentation directory
- Bug in ipUnidig.cc fixed for maxClients
- Added IpUnidig.adl
Release 2-1 (November 3, 2003)
Major re-write:
- Converted to EPICS R3.14.
Release 1-2 (April 2, 2003)
Added full support for interrupts on the IP-Unidig-I models. For each input
bit the hardware can be programmed to generate interrupts on rising or falling transitions,
or neither. The interrupt service routine software is written to allow alternating
which transition generates interrupts, so that it is also possible to generate interrupts
on both rising and falling transitions. Wrote IpUnidig class so that other
device support can attach to interrupts on specific input lines and get callbacks
at interrupt level when a transition occurs.
Release 1-1 (June 20, 2001)
Initial release.
Suggestions and Comments to:
Mark Rivers : (rivers@cars.uchicago.edu)