Ben Bass avatar Ben Bass committed 5e98b85

update installation docs

Comments (0)

Files changed (1)

doc/installation.rst

 Installation
 ============
 
+Unsurprisingly, `pylibftdi` depends on `libftdi`, and installing this varies
+according to your operating system. Chances are that following one of the
+following instructions will install the required prerequisites. If not, be
+aware that libftdi in turn relies on `libusb`.
 
+Installing pylibftdi itself is straightforward - it is a pure Python package
+(using `ctypes` for bindings), and has no dependencies outside the Python
+standard library for installation. Don't expect it to work happily without
+`libftdi` installed though :-)
+
+::
+
+    $ pip install pylibftdi
 
 Windows
-------
+-------
 
-libftdi
+I've not tested pylibftdi on Windows, but recent libftdi binaries seem to be
+available from the picusb_ project on google code.
+
+.. _picusb: http://code.google.com/p/picusb
 
 Mac OS X
 --------
 
-See codedstructure.net/pylibftdi/...
+I suggest using homebrew_ to install libftdi::
+
+    $ brew install libftdi
+
+.. _homebrew: http://mxcl.github.com/homebrew/
 
 Linux
 -----
 
+Debian package `libftdi-dev` should give you what you need.
+
 One potential issue is with permissions to access the device, which can be
 seen as a error when opening devices (with a '-4' error code).
 The solution is to add udev rules to deal with the devices - the following
-works for me under Arch linux:
+works for me under Arch linux::
 
    SUBSYSTEMS="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", GROUP=="users", MODE="0660"
    SUBSYSTEMS="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", GROUP=="users", MODE="0660"
 
-Repeat for any other required USB PIDs. You'll probably find a more appropriate GROUP than 'users' depending on your Linux distribution.
+Some FTDI devices may use other USB PIDs. Use `lsusb` or similar to
+determine the exact values to use (or try checking `dmesg` output on
+device insertion / removal).
+You'll also probably find a more appropriate GROUP than 'users' depending
+on your Linux distribution.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.