Tino de Bruijn avatar Tino de Bruijn committed 4ffd4fb

Updated the documentation to reflect the changes I made with the ``layout`` argument to the Board class. Fixes issue #3

Comments (0)

Files changed (2)

 .coverage
 applet
 Firmata-*
+Firmata
 hardwareAbstraction
 docs/_build
 Usage
 =====
 
-    >>> from pyfirmata import Board, util
-    >>> board = Board('/dev/tty.usbserial-A6008rIF')
+Basic usage::
+
+    >>> from pyfirmata import Arduino, util
+    >>> board = Arduino('/dev/tty.usbserial-A6008rIF')
     >>> board.digital[13].write(1)
 
 To use analog ports, it is probably handy to start an iterator thread. Otherwise the board will keep sending data to your serial, until it overflows::
     0.661440304938
     >>> pin3 = board.get_pin('d:3:p')
     >>> pin3.write(0.6)
+    
+Board layout
+============
 
+If you want to use a board with a different layout than the standard Arduino, or the Arduino Mega (for wich there exist the shortcut classes ``pyfirmata.Arduino`` and ``pyfirmata.ArduinoMega``), instantiate the Board class with a dictionary as the ``layout`` argument. This is the layout dict for the Mega for example::
+
+    >>> mega = {
+    ...         'digital' : tuple(x for x in range(54)),
+    ...         'analog' : tuple(x for x in range(16)),
+    ...         'pwm' : tuple(x for x in range(2,14)),
+    ...         'use_ports' : True,
+    ...         'disabled' : (0, 1, 14, 15) # Rx, Tx, Crystal
+    ...         }
+
+Todo
+====
+
+The next things on my list are to implement the new protocol changes in firmata:
+
+-  Capability Query, which would eliminate the need to instantiate a board with the layout dict, as it will be able to determine the layout itself (http://firmata.org/wiki/Proposals#Capability_Query_.28added_in_version_2.2.29)
+- Pin State Query, which allows it to populate on-screen controls with an accurate representation of the hardware's configuration (http://firmata.org/wiki/Proposals#Pin_State_Query_.28added_in_version_2.2.29)
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.