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 Packages
- MX
-
Required for everything else. This includes the MX library libMx,
the application programs motor, mxserver, and
mxupdate, and a set of example programs.
Current version:
mx-1.5.0.tar.gz (2878 kbytes)
Change log
- 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
-
This is an example MX database that simulates much of the functionality
of an old version of the APS Sector 17-ID beamline
by the use of simulated motor, scalers,
timers, etc. It is meant to be unpacked in the $MXDIR/etc
directory of your installed copy of MX.
The sets of simulated scalers included with the packages
will allow the execution of a simulated scan over the Cu K-edge
or the optimization of the omega motor.
Current version:
testdb-aps17id-1.4.0.tar.gz (13 kbytes),  
- 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.
Current version:
mp-1.5.0.tar.gz (102 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-1.5.0.tar.gz (3 kbytes)
- 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-1.5.0.tar.gz (78 kbytes)
Change log
- Mxtclnet
-
A small package written in pure Tcl that allows Tcl/Tk programs
to directly connect to an MX server.
Includes the mxget and mxput programs.
Current version:
mxtclnet-0.65.0.tar.gz (6 kbytes)
Change log
- General Applications
- 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
- Optimize
-
A simple X-ray beamline optimization GUI used at several APS sectors.
Requires the MX and MxTcl packages.
Current version:
optimize-1.1.1.tar.gz (40 kbytes)
Change log
- Optimize Auto
-
An optimization GUI with beamline staff modifiable scripts
that can perform several optimizations in a row.
Requires the MX and MxTcl packages.
Current version:
optimize_auto-1.1.0.tar.gz (9 kbytes)
Change log
- Crystallography Applications
- MX MarCCD 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_interface-1.1.0.tar.gz (13 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-1.5.0.tar.gz (49 kbytes)
- Imcagui
-
Imcagui is a user oriented GUI for beamline control of
protein crystallography beamlines used at
APS Sectors 17-ID and 17-BM (IMCA-CAT),
APS Sector 22-ID (SER-CAT), and at APS Sector 5-BM (DND-CAT).
Requires the MX and MxTcl packages.
Current version:
imcagui-1.1.0.tar.gz (58 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 November 16, 2008.