Oops, build DigitalPort.write_mask with |= instead of &=.
[pyafm.git] / README
1 Pyafm
2 =====
3
4 Pyafm is a set of tools for controlling atomic force microscopes.  It
5 provides control of AFM postition using both short-range (piezo) and
6 long range (stepper) vertical positioning.  There are separate modules
7 for controlling the piezo (pypiezo_) and stepper (stepper_), this
8 module mostly contains methods that require the capabilities of both.
9
10 This module can optionally include temperature sensing via a pypid_
11 backend.
12
13 Packages
14 ========
15
16 Gentoo
17 ------
18
19 I've packaged pyafm for Gentoo.  You need layman_ and my `wtk
20 overlay`_.  Install with::
21
22     # emerge -av app-portage/layman
23     # layman --add wtk
24     # emerge -av sci-physics/pyafm
25
26 Although it is not strictly required (thanks to `duck typing`_) you'll
27 probably also want my `stepper`_ package or an equivalent
28 stepper implementation.
29
30
31 Dependencies
32 ============
33
34 Pyafm requires the following Python modules:
35
36 * Pycomedi_ (required directly, and via ``pypiezo``)
37 * Pypiezo_
38 * Stepper_ (or equivalent stepper implementation)
39 * Pypid_ (optional temperature monitoring and control)
40 * H5config_
41 * SciPy_
42
43 Getting the source
44 ==================
45
46 Pyafm is available as a Git_ repository::
47
48     $ git clone git://tremily.us/pyafm.git
49
50 There are also periodic bundled releases.  For example, get version
51 0.3 as a gzipped tarball with::
52
53      $ wget 'http://git.tremily.us/?p=pyafm.git;a=snapshot;h=v0.3;sf=tgz'
54      $ tar -xzvf pyafm-0.1.tar.gz
55
56
57 Installation
58 ============
59
60 After downloading, change to the source directory and run::
61
62     $ python setup.py install
63
64 to install pyafm.  Run::
65
66     $ python setup.py install --help
67
68 to see a list of installation options you may want to configure.
69
70
71 Usage
72 =====
73
74 TODO
75
76
77 .. _layman: http://layman.sourceforge.net/
78 .. _wtk overlay: http://blog.tremily.us/posts/Gentoo_overlay/
79 .. _duck typing: http://en.wikipedia.org/wiki/Duck_typing
80 .. _pycomedi: http://blog.tremily.us/posts/pycomedi/
81 .. _pypiezo: http://blog.tremily.us/posts/pypiezo/
82 .. _stepper: http://blog.tremily.us/posts/stepper/
83 .. _pypid: http://blog.tremily.us/posts/pypid/
84 .. _h5config: http://blog.tremily.us/posts/h5config/
85 .. _SciPy: http://www.scipy.org/
86 .. _Git: http://git-scm.com/