PAUL SCHERRER INSTITUT
EPICS at PSI
PSIEPICSSLSSwissFELProscan

EPICS

EPICS at PSI
Software
Training

web epics.web.psi.ch

Author: Dirk Zimoch
Phone: +41 56 310 5182
Updated: 13.11.2012


Printer friendly version
 

[Validate HTML][Validate CSS]

StreamDevice Release Notes

Version 2.6

New features

  • Compatibility with base 3.15

Fixed bugs

  • Some compiler warning removed
  • Unsolicited input could go lost right before other record sends output (because of using flush())
  • The fix for the above introdiced a bug in reading GPIB devices. Fixed in patch StreamDevice-2-6-patch20121113

Version 2.5

Fixed bugs

  • Compiler error on solaris
  • Compiler error with old Tornado 2.0.2 compiler
  • %*c or %*s crashes when input is empty
  • Bad performance with very large input (megabytes)
  • Dropped input in "I/O Intr" mode when input comes in chunks
  • Hanging records in PACT=1 state
  • Fixes for 64 bit machines
  • Better re-connect behavior with disconnecting TCP sockets
  • Toolchains that define printf as a macro clash with StreamBuffer
  • Wrong minor version numbering in header file
  • Escaped or literal numeric byte value of 37 (%) mistaken as format converter
  • Binary converter %B must not skip leading whitespaces if one of the two bit states is a whitespace
  • Bash scripts in Makefiles don't work on Windows.

New features

  • Compatibility with base 3.14.12
  • Allow missing values (defaults to 0, 0.0, or "") with %?...
  • Allow enums with assigned values: %#{neg=-1|pos=1|zero=0}
  • Allow output formats in exec
  • Allow spaces after sign for numeric input formats %d%, f% etc
  • Allow spaces in %s input format
  • Allow signed %x and %o input format
  • "\_" in input matches any number of whitespace
  • Timestamp support and access to TIME field: %(TIME)T(format)
  • Allow to omit .VAL in redirection: %(otherrecord)x instead of %(otherrecord.VAL)x
  • Dummy bus interface that does not support any I/O (but exec)
  • Print checksums in decimal ascii with %+<...>
  • Documentation updated

Version 2.4

Fixed bugs

  • @init handler does not work for vxi11 ports
  • Parser bug in %B format
  • Alignment bug in StreamBuffer::reserve()
  • Bug in StreamBuffer::replace(0,n,xxx,0)
  • First bit lost when reading %b or %B format
  • Skipped formats at end of input fail on vxWorks
  • Bug in StreamBuffer::find() with 1 char strings
  • Signed/unsigned conversion on 64 bit machines
  • Stack overflow in "I/O Intr" when input consists of many lines
  • Data loss in "I/O Intr" when input > 600 bytes

New features

  • Unsigned integer support for %r format
  • Little endian bitorder for %b and %B format
  • Raw floating point format %R
  • Some strange floating point format like "-123-2" for -1.23: %m
  • Patch for asyn driver version 4.10

Version 2.3

Fixed bugs

  • Input to "I/O Intr" records before iocInit crashes ioc
  • Skipped charset format (%*[charset]) crashes ioc
  • disconnect did not always work

New features

  • Perl regular expression matching
  • More checksums

API changes

  • disconnect gives callback.

Version 2.2

Fixed bugs

  • Dealock if exec command accesses same asyn bus
  • InTerminator="" for only some protocols did not work
  • Waveform read bug when reading less than NELM elements
  • Auto-registration problem when using static libraries (e.g. vxWorks, cygwin, ...)
  • @mismatch handler missing
  • Crash in streamReload
  • "asynOverflow" with GPIB
  • Problems with "I/O Intr" mode

New features

  • %(field) and %(record.field) redirection syntax
  • Support for aai and aao records (disabled by default)
  • connect / disconnect commands
  • Use terminators of underlying driver (asyn) if not defined in protocol
  • Support for EPICS 3.13.7+
  • Support for Windows
  • Support for RTEMS
  • Patches for EPICS 3.14.9
  • Patches for gcc 4.1.1

API changes

  • Names of converter classes shortened
  • Return type of StreamFormatConverter::print*() changed from int to bool.

Version 2.1

Fixed bugs

  • Several compiler errors and crashes on solaris, with Tornado 2.0.2, or on 68k processors
  • Format converter bugs in %D, %[...], %{...}
  • Bug in terminator recognition in "I/O Intr" mode

New features

  • Support for sCalcout (synApps)
  • More checksums

API changes

  • New naming convention for record interfaces
  • Makefile changes
  • Separate print*() functions for StreamFormatConverters

Version 2.0

This version has been rewritten from scratch.

New features

  • EPICS R3.14 support (architecture independent)
  • Modular and extensible programming (in C++)
  • New features in protocol language (backward compatible)
    • User variables
    • Exception handlers
    • References to other protocols
  • New formats (including checksums)
  • Support for asynDriver

Author: Dirk Zimoch   Phone: +41 56 310 5182   Email: dirk.zimoch@psi.ch   Updated: 13.11.2012   Source: /afs/psi.ch/project/epics/webhosting/software/streamdevice/releasenotes.php