Message Passing Facility
Operating System Independent Version

Release Notes
Febuary 2004

Release 2-4-2

This release works with the 2-6 or later version of ipac. Note that the vxWorks serial test is configured to work with an MV162.

Release 2-4-1


The inetPort support, i.e. support for the MOXA ethernet serial server, was incorrectly sending and expecting a message length prefex. This has been fixed.

Release 2-4


You application xxxInclude.dbd file MUST include:

include "mpf.dbd"


These now generate C functions that call the C++ static methods. If any source code has a cast to DEVSUPFUN in the invocation of these macros the cast must be removed.

Debug variables

The following now use the new iocsh var facility: tcpDebug, RMRClientDebug, RMRServerDebug.

Release 2-3

build and test

Uses latest build rules


ttyVxPort now uses the name ttyVxPort instead of ttyPort everywhere.

devStringMpf calls dbTranslateEscape for output strings.

initTtyVxPort calls epicsTimerQueueAllocate at initialization.

Release 2-1

peek replaces sniff

Everywhere the word sniff was used, the word peek is now used. e.g. serialPortSniff is now serialPortPeek. The new sniff handler uses that display format from Mark Rivers.


mpfSerial support is now bundled with mpf. Major changes have been made to mpfSerial since the vxWorks only version. The main change is that it now supports "standards" for accessing serial devices. It supports POSIX termios, vxWorks tyCo, and also the IPAC tyGSOctal driver.

gpib, DAC, Analog, etc support

None of this support is currently available with the OSI version of MPF.

Build Rules

Build rules for mpf applications have been greatly simplified.


DevMpf has a new method bind, which must be called immediately after any object derived from class DevMpf is created. This binds to the MPF server. Since binding may result in virtual class methods being called, binding MUST be dove after construction. Thus it is not possible to bind in the constructor for DevMpf.

RMRServer - byte order bug fixed

If client and server have different byte orders RMRServer did not work. This is fixed.