MX Source Code Packages
The source code to MX is now available for download. It is available
under the terms of an MIT X11 or XFree86 style
license.
The MX system is distributed in several source code packages. The version
numbers for the packages reflect the version of MX that was current when
the package was released. This means that not all of the packages will
have the same version number as MX. In general, download the version of
each package that has the highest version number. The
Subversion
repositories for MX may be found
here.
- Core Package
- MX
-
Required for everything else. This includes the MX library libMx,
the application programs motor, mxserver, and
mxautosave, and a set of example programs.
Current version:
mx-2.0.0.tar.gz (3637 kbytes)
Change log
- Language Interfaces
- MP
-
A Python based interface to the MX control system. Includes several
example scripts demonstrating the use of MP.
Requires Python 1.5.2 or above. Not yet ported to Python 3.x.
Current version:
mp-2.0.0.tar.gz (115 kbytes)
Change log
- MpWx
-
A package of WxPython-based GUI classes that provide widgets for
monitoring and changing the values of MX network variables via MP.
MpWx should run on any platform that supports both MP and WxPython.
Current version:
mpwx-2.0.0.tar.gz (4 kbytes)
Change log
- MxTcl
-
A Tcl based interface to the MX control system. Includes
the generic mxgui program.
Requires Tcl/Tk 8.3 or above and [incr Tcl] 3.1 or above.
Current version:
mxtcl-2.0.0.tar.gz (80 kbytes)
Change log
- Mxtclnet
-
A small package written in pure Tcl that allows Tcl/Tk programs
to directly connect to an MX server.
Includes TCL versions of the mxget and mxput programs.
Current version:
mxtclnet-1.5.4.tar.gz (6 kbytes)
Change log
- Area detector-related Applications
- Mpad
-
This is an MpWx-based GUI for controlling an area detector via MX.
Current version:
mpad-2.0.0.tar.gz (47 kbytes)
Change log
- MX AD tools
-
This is a collection of small C programs for working with the SMV format
2-D images typically produced by MX-controlled area detectors. Programs
are provided for converting between SMV and NetPBM format for image
viewers, as well as a converter from EDF format to SMV format. Also,
programs are provided to create constant intensity SMV images for
test purposes.
Current version:
mx_ad_tools-2.0.0.tar.gz (7 kbytes)
The MX version of SMV format is similar to ADSC and Bruker versions of
the SMV format, so MX SMV images are often readable by programs that can
read ADSC or Bruker SMV images.
- MX MarCCD 'goniostat' Interface
-
This program can be used as the external goniostat program
for a MarCCD detector system on an MX controlled beamline.
On some MX controlled beamlines, it is used to command the motor moves
and shutter commands necessary to take CCD image frames. The
README
file describes this package in more detail.
Current version:
mx_marccd_goniostat-2.0.0.tar.gz (14 kbytes)
Change log
- Other GUI Applications
- MpMCA
-
This is an MpWx-based GUI for controlling a multichannel analyzer via MX.
Current version:
mpmca-2.0.0.tar.gz (11 kbytes)
- External Control System Interfaces
- MpCa
-
This is a Python-based client interface to EPICS Channel Access
via the MP module.
Current version:
mpca-2.0.0.tar.gz (13 kbytes)
Change log
- MpWxCa
-
A package of WxPython-based GUI classes that provide widgets for
monitoring and changing the values of EPICS PVs.
Current version:
mpwx_ca-2.0.0.tar.gz (2 kbytes)
- MxCa Server
-
This program implements an EPICS server using the Channel Access Server
(cas) library to provide the server-side EPICS communication and
the libMx library from MX to provide the drivers.
The mxca_server program currently provides emulations
of the EPICS Motor and Scaler records.
Current version:
mxca_server-2.0.0.tar.gz (46 kbytes)
Change log
- MX Blu-Ice Server
-
This program provides a Blu-Ice DHS and/or DCSS server interface
for MX controlled devices.
Current version:
mx_bluice_server-2.0.0.tar.gz (54 kbytes)
Change log
- Utilities
- Mxplot
-
This is Jim Fait's BLT-based replacement for plotgnu.
It add x-y cursors, the ability to zoom, and a button for
printing the plot.
Currently, it only works on Linux and Unix platforms.
Current version:
mxplot-0.65.0.tar.gz (19 kbytes)
- Test databases
-
Simulated device database
This is a set of database files that is routinely used for testing
of new versions of MX. It includes an emulated area detector,
multichannel analyzers, motors, scalers, and multichannel scalers.
It also includes a simplified example of a beamline monochromator
as well as the motors used by an area detector for crystallography.
mx_etc-2016_03_14.tar.gz (12 kbytes)
This file should be unpacked in the etc directory
of an MX installation directory.
mx_state-2016_03_14.tar.gz (1 kbyte)
This is an example of the backup files produced by the
mxautosave program.
It should be unpacked in the state directory
of an MX installation directory.
- Older Applications
- Note: These applications may require some modification to work
with current versions of MX.
- Mpvideo
-
An interactive crystal alignment GUI that allows users to reposition
their crystal sample by clicking on a window displaying a video image
from a camera pointed at the sample. Requires the MX and MP packages.
Current version:
mpvideo-0.65.0.tar.gz (8 kbytes)
Change log
- Miscellaneous
- MX Examples
-
This package contains a set example programs that introduce
the basics of how to write new MX application programs. Two of the
examples are C programs that show how to implement simple steps scans
either with or without using an MX scan record. The package also
contains versions of these examples written in Python and in Tcl.
Note: The examples are now distributed as part of the main MX tar file.
- Portio
-
Portio is a Linux device driver module that allows a user mode program
to perform port I/O to a restricted range of I/O ports without requiring
the program to be setuid root or setgid kmem. The I/O port ranges
allowed are specified by command line arguments via insmod,
/etc/modules, and so forth.
This device driver is used by the MX linux_portio driver.
The README
file for Portio describes the package in greater detail.
For Linux 2.4.x and 2.2.x use
portio-2.0.tar.gz (7 kbytes)
For Linux 2.0.x use
portio-0.3.tar.gz (7 kbytes)
Portio has not yet been ported to Linux 2.6.x.
Other MX application packages may be found
here.
Last modified by lavender@agni.phys.iit.edu on March 14, 2016.