Releases: epics-modules/ipac
IPAC Driver Version 2.16
Released: 2020-10-06
By: Andrew Johnson
Prerequisites
- EPICS Base 3.14.12 or later (tested up to 7.0.4.1)
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, 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
- IP520 - Acromag IP520 Module Support
Release Notes
Changes since V2.15 release.
IPAC Driver
Added:
- The
configure/RELEASE
file now contains the standard EPICS and synApps-include
statements forRELEASE.local
files.
Changed:
- Various trivial documentation and code formatting updates.
Tip810 - Basic CANbus driver
Changed:
- Fixed a
printf()
format string int810Report()
.
Added:
- When built against EPICS 7.0.4 or later the device support code makes use of the record-specific device support entry table structures that are now being defined inside the record header files. This provides protection against any future changes to the device support entry structure definitions.
IPAC Driver Version 2.15
Released: 2018-03-16
By: Andrew Johnson
Prerequisites
- EPICS Base 3.14.12 (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, 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
- IP520 - Acromag IP520 Module Support
Release Notes
Changes since V2.14 release.
IPAC Driver
Added:
- Support for the IP521 module was added to the ip520 driver, which handles both the RS-422 and RS-485 2-wire half-duplex serial standards.
- IOC shell scripts were added to easily initialize IP-Octal and ip520 modules. Further information about scripts can be found in their respective documentation and in the xxx module wiki.
Changed:
- Converted the code repository from Subversion at APS to git at github.
- Adjusted various
#include
lines to follow the rules for building shared libraries on Windows.
IP520 - Acromag IP520 Serial Driver
Added:
- Support for the IP521 module. This release supports a 2-wire, half-duplex connection for both RS-422 and RS-485. The driver treats both of these electrical standards identically.
Changed:
- A minor change was made to reduce interrupt overhead by raising the Rx FIFO trigger level from 56 to 60 characters when baudrates of 9600 or below are used.
Tip810 - Basic CANbus driver
Changed:
- Adjusted the build to clean up deprecation warnings from Base-3.16.1 by switching on the typed rset.
IPAC Driver Version 2.14
Released: 2015-11-05
By: Andrew Johnson
Prerequisites
- EPICS Base 3.14.12 (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, 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
- IP520 - Acromag IP520 Module Support
Release Notes
Changes since V2.13 release.
IPAC Driver
Added:
- Support for Acromag's IP520 - eight asynchronous EIA/TIA-232E serial communication ports on an Industry Pack module. The EPICS IP520 support provides baud-rates from 1,200 to 230,400 and reduced CPU overhead by way of the IP520's 64-character transmit and receive FIFO's.
tyGSOctal Driver
Bugs Fixed:
tyGSOctalConfig()
was not checking that the device returned byiosDevFind()
was an exact match to the name given. Now it does.
Changed:
- Define
_VSB_CONFIG_FILE
to prevent VxWorks 6.x compiler warning.
IP520 - Acromag IP520 Serial Driver
Added:
- This driver software, documentation and release notes.
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.
IPAC Driver Version 2.12
Released: 2013-08-21
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.11 release.
IPAC Driver
Added:
- New iocsh command
ipacAddNullCarrier
, so iocsh users can reserve a carrier number for a board that is not currently installed or in use. - New routine
int ipcCheckId(ipac_idProm_t *id)
added for carrier drivers that need to check for the existence of module ID proms at initialization time. - Added carrier driver for the Hytec VICB8002 and 8004 VME64x 4-slot carrier boards. The 8004 module can configure the IP module clock frequency separately for each slot; the carrier driver will normally set this automatically based on information provide in the module's ID prom. This carrier was based on the original Hytec driver, but has since been modified quite significantly.
Changes:
- Fixed a problem in the drvXy9660 carrier driver when controlling an Acromag AVME-9668 carrier. The driver could never have properly detected and configured a 32MHz IP clock for a module that supports the higher frequency.
tyGSOctal Driver
Bugs Fixed:
- A high interrupt rate when many channels are in use could result in missing characters. Some additional interrupt locking has been added to prevent this problem.
- CPUs with longer or more complex write pipelines might not have flushed the last write cycle from the interrupt service routine. A better flush location is now used. (fix not in -rc1)
Added:
- Counters for read, write and interrupt events. The counter values are reported by the
tyGSOctalReport()
routine.
Changed:
- Warning and error messages from configuration command routines are now displayed using
printf()
instead oflogMsg()
Known Problems
- 2013-08-22: A bug has existed in the drvXy9660 driver ever since its first published version: A card reset request '
R
' is not accepted in the parameter string as described in the documentation. This bug will be fixed in the next release. - 2013-11-15: The above change to the tyGSOctal driver introduced a bug when used on certain CPUs with long write pipelines.
IPAC Driver Version 2.11
Released: 2010-04-19
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.10 release.
IPAC Driver
Changed:
- Added support for the AVME-9668 board to the drvXy9660 driver. This board adds the ability to operate IP modules at 32MHz, using a register to select the speed. The driver will automatically detect a 9668 board and those modules which can operate at this clock frequency and will configure the board appropriately.
- Since Xycom VME seem to have dropped their IP carrier product line while Acromag are continuing to develop theirs, I have changed the error messages in the drvXy9660 driver to use the Acromag names, and added a command synonym
ipacAddAvme96XX
, although existing installations will continue to work with the old names. - Modified most carrier drivers to compile without warnings on 64-bit systems. Not that I'm really expecting anyone to ''use'' them on a 64-bit CPU, but who knows?
- Deleted the macros for
uchar_t
andulong_t
which are no longer used internally and which shouldn't really be used. Neither shouldushort_t
but I've left that defined in drvIpac.h since it has always been used for several arguments to the carrier drivers and taking it out would guarantee to break any out-of-tree carriers.
IPAC Driver Version 2.10
Released: 2008-12-19
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.9 release.
IPAC Driver
Changed:
- Added epicsShareFunc decoration to all externally visible functions to permit building DLLs on Windows systems.
- Added directory dependency information for parallel builds (Base R3.14.10).
CANbus Driver
Changed:
- Removed an unnecessary test and some unused code from the special_linconv() routines of the ai and ao device support.
- Added epicsShareFunc decoration to all externally visible functions to permit building DLLs on Windows systems.
IPAC Driver Version 2.9
Released: 2007-10-22
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.8 release.
IPAC Driver
Added:
- Carrier driver for the Xycom XVME-9660 and XVME-9670 boards; this was actually a complete rewrite of Andy Foster's driver since his didn't support configuring the slot memory through the board registers, and I had to convert it to use devLib and provide command registration any way.
- Support for VITA's Format-2 ID Proms, as used by Hytec. Note that the CRC calculation for these 16-bit Proms has not been checked against any known correct IP modules (Hytec set their CRC values to zero, which this version assumes to mean don't check the CRC).
Changed:
- Converted Ipac and the VIPC and TVME200 carrier drivers to use EPICS OSI calls instead of native vxWorks ones, and they will now be built on all IOC architectures, not just for vxWorks. As a result this version can only be built as an EPICS driver support layer, but I don't know anyone who is still using it outside of EPICS (I haven't heard from UKIRT in years). The MVME162 and ATC40 carrier drivers are still built for vxWorks only, although they probably could be converted too if someone needs them (very unlikely).
- As a result of the above change, when initializing any of the VIPC carrier boards the numbers included in the parameter string must now have a leading 0x or 0X when they are given in hexadecimal.
CANbus Driver
Changed:
- Converted all vxWorks calls to use the equivalent EPICS OSI layer routines, which makes this driver cross-platform to any OS that provides a suitable drvIpac carrier driver.
Added:
- Registration with iocsh for the canBusReset, canBusStop and canBusRestart commands.
Octal Serial Driver
Added:
- Eric Norum added RTEMS support for the tyGSOctal module, based on the vxWorks driver code.
Changed:
- Added
CLOCAL
to the initial port settings; omitting it turns on hardware flow control (actually this control bit should beCRTSCTS
but vxWorks doesn't actually define that in sioLib.h and the WRS drivers useCLOCAL
instead), but ports are supposed to default to no flow control. ASYN uses the ioctlSIO_HW_OPTS_GET
to query the port settings, and thus found the problem — presumably everybody else who uses tyGSOctal has been explicitly setting up each port. - Updated source code comments to match the API changes in recent versions.
ioctl()
now returns an ERROR status if an unsupported baud rate is requested; previously it would silently set the rate to 9600 baud instead. More error conditions now set errno where appropriate as well.
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.
IPAC Driver Version 2.7
Released: 2004-02-25
By: Andrew Johnson
Prerequisites
- EPICS Base 3.14.3 (or later)
Downloads
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.6 release.
IPAC Driver
Changed:
- Modified the drvIpac/Makefile to build all carrier drivers on all architectures so one set of registrar() entries can be used on all vxWorks architectures, although some carrier drivers will only work on certain CPUs.
Octal Serial Driver
Added:
- Support for the ioctls
SIO_HW_OPTS_GET
andSIO_BAUD_GET
(defined in the vxWorks header file sioLib.h) to provide readback of the current settings.
Changed:
- Hardware handshaking now works, thanks to much effort put in by Ron Sluiter who discovered that it didn't and who spent time testing my fixes and helping me to understand the chip documentation properly.