open-access-control/libraries/Adafruit_MCP23017/examples/button.pde

801 lines
35 KiB
Plaintext

<!DOCTYPE html>
<html>
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# githubog: http://ogp.me/ns/fb/githubog#">
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Adafruit-MCP23017-Arduino-Library/examples/button/button.pde at 17ab72f32b9128e00a21bac6c2b95d10681b1b39 · adafruit/Adafruit-MCP23017-Arduino-Library · GitHub</title>
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" />
<link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<meta content="authenticity_token" name="csrf-param" />
<meta content="20oxv6eC4aSobAuC3hsjpq59jHVUWctdH3mtP82iLP0=" name="csrf-token" />
<link href="https://a248.e.akamai.net/assets.github.com/stylesheets/bundles/github-155c2209391eb161778b9fc77d8611dd195aec97.css" media="screen" rel="stylesheet" type="text/css" />
<link href="https://a248.e.akamai.net/assets.github.com/stylesheets/bundles/github2-aba0359243b65d422540acc0425402ad487a2acd.css" media="screen" rel="stylesheet" type="text/css" />
<script src="https://a248.e.akamai.net/assets.github.com/javascripts/bundles/frameworks-e417ea70cc7daa9aad62382cb6b5d0c94acfb8f4.js" type="text/javascript"></script>
<script defer="defer" src="https://a248.e.akamai.net/assets.github.com/javascripts/bundles/github-51a20e4f1a41a77997473c2a54c4d4cc374d5e59.js" type="text/javascript"></script>
<link rel='permalink' href='/adafruit/Adafruit-MCP23017-Arduino-Library/blob/17ab72f32b9128e00a21bac6c2b95d10681b1b39/examples/button/button.pde'>
<meta property="og:title" content="Adafruit-MCP23017-Arduino-Library"/>
<meta property="og:type" content="githubog:gitrepository"/>
<meta property="og:url" content="https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library"/>
<meta property="og:image" content="https://a248.e.akamai.net/assets.github.com/images/gravatars/gravatar-140.png?1329920549"/>
<meta property="og:site_name" content="GitHub"/>
<meta property="og:description" content="Adafruit-MCP23017-Arduino-Library hosted on GitHub"/>
<meta name="description" content="Adafruit-MCP23017-Arduino-Library hosted on GitHub" />
<link href="https://github.com/adafruit/Adafruit-MCP23017-Arduino-Library/commits/17ab72f32b9128e00a21bac6c2b95d10681b1b39.atom" rel="alternate" title="Recent Commits to Adafruit-MCP23017-Arduino-Library:17ab72f32b9128e00a21bac6c2b95d10681b1b39" type="application/atom+xml" />
</head>
<body class="logged_out page-blob windows vis-public env-production " data-blob-contribs-enabled="yes">
<div id="wrapper">
<div id="header" class="true clearfix">
<div class="container clearfix">
<a class="site-logo" href="https://github.com/">
<!--[if IE]>
<img alt="GitHub" class="github-logo" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7.png?1329920549" />
<img alt="GitHub" class="github-logo-hover" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7-hover.png?1329920549" />
<![endif]-->
<img alt="GitHub" class="github-logo-4x" height="30" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7@4x.png?1337118065" />
<img alt="GitHub" class="github-logo-4x-hover" height="30" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7@4x-hover.png?1337118065" />
</a>
<!--
make sure to use fully qualified URLs here since this nav
is used on error pages on other domains
-->
<ul class="top-nav logged_out">
<li class="pricing"><a href="https://github.com/plans">Signup and Pricing</a></li>
<li class="explore"><a href="https://github.com/explore">Explore GitHub</a></li>
<li class="features"><a href="https://github.com/features">Features</a></li>
<li class="blog"><a href="https://github.com/blog">Blog</a></li>
<li class="login"><a href="https://github.com/login?return_to=%2Fadafruit%2FAdafruit-MCP23017-Arduino-Library%2Fblob%2F17ab72f32b9128e00a21bac6c2b95d10681b1b39%2Fexamples%2Fbutton%2Fbutton.pde">Login</a></li>
</ul>
</div>
</div>
<div class="site hfeed" itemscope itemtype="http://schema.org/WebPage">
<div class="container hentry">
<div class="pagehead repohead instapaper_ignore readability-menu">
<div class="title-actions-bar">
<ul class="pagehead-actions">
<li>
<span class="watch-button"><a href="/login?return_to=%2Fadafruit%2FAdafruit-MCP23017-Arduino-Library" class="minibutton btn-watch js-toggler-target entice tooltipped leftwards" title="You must be logged in to use this feature" rel="nofollow"><span><span class="icon"></span> Watch</span></a><a class="social-count js-social-count" href="/adafruit/Adafruit-MCP23017-Arduino-Library/watchers">5</a></span>
</li>
<li>
<a href="/login?return_to=%2Fadafruit%2FAdafruit-MCP23017-Arduino-Library" class="minibutton btn-fork js-toggler-target fork-button entice tooltipped leftwards" title="You must be logged in to use this feature" rel="nofollow"><span><span class="icon"></span>Fork</span></a><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/network" class="social-count">2</a>
</li>
</ul>
<h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title">
<span class="repo-label"><span class="public">public</span></span>
<span class="mega-icon public-repo"></span>
<span class="author vcard">
<a href="/adafruit" class="url fn" itemprop="url" rel="author"> <span itemprop="title">adafruit</span>
</a></span> /
<strong><a href="/adafruit/Adafruit-MCP23017-Arduino-Library" class="js-current-repository">Adafruit-MCP23017-Arduino-Library</a></strong>
</h1>
</div>
<ul class="tabs">
<li><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/tree/" class="selected" highlight="repo_sourcerepo_downloadsrepo_commitsrepo_tagsrepo_branches">Code</a></li>
<li><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/network" highlight="repo_network">Network</a>
<li><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/pulls" highlight="repo_pulls">Pull Requests <span class='counter'>0</span></a></li>
<li><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/issues" highlight="repo_issues">Issues <span class='counter'>0</span></a></li>
<li><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/graphs" highlight="repo_graphsrepo_contributors">Graphs</a></li>
</ul>
<div class="frame frame-center tree-finder" style="display:none"
data-tree-list-url="/adafruit/Adafruit-MCP23017-Arduino-Library/tree-list/17ab72f32b9128e00a21bac6c2b95d10681b1b39"
data-blob-url-prefix="/adafruit/Adafruit-MCP23017-Arduino-Library/blob/17ab72f32b9128e00a21bac6c2b95d10681b1b39"
>
<div class="breadcrumb">
<span class="bold"><a href="/adafruit/Adafruit-MCP23017-Arduino-Library">Adafruit-MCP23017-Arduino-Library</a></span> /
<input class="tree-finder-input js-navigation-enable" type="text" name="query" autocomplete="off" spellcheck="false">
</div>
<div class="octotip">
<p>
<a href="/adafruit/Adafruit-MCP23017-Arduino-Library/dismiss-tree-finder-help" class="dismiss js-dismiss-tree-list-help" title="Hide this notice forever" rel="nofollow">Dismiss</a>
<span class="bold">Octotip:</span> You've activated the <em>file finder</em>
by pressing <span class="kbd">t</span> Start typing to filter the
file list. Use <span class="kbd badmono">↑</span> and
<span class="kbd badmono">↓</span> to navigate,
<span class="kbd">enter</span> to view files.
</p>
</div>
<table class="tree-browser" cellpadding="0" cellspacing="0">
<tr class="js-header"><th>&nbsp;</th><th>name</th></tr>
<tr class="js-no-results no-results" style="display: none">
<th colspan="2">No matching files</th>
</tr>
<tbody class="js-results-list js-navigation-container">
</tbody>
</table>
</div>
<div id="jump-to-line" style="display:none">
<h2>Jump to Line</h2>
<form accept-charset="UTF-8">
<input class="textfield" type="text">
<div class="full-button">
<button type="submit" class="classy">
<span>Go</span>
</button>
</div>
</form>
</div>
<div class="subnav-bar">
<ul class="actions subnav">
<li><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/tags" class="blank" highlight="repo_tags">Tags <span class="counter">0</span></a></li>
<li><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/downloads" class="blank downloads-blank" highlight="repo_downloads">Downloads <span class="counter">0</span></a></li>
</ul>
<ul class="scope">
<li class="switcher">
<div class="context-menu-container js-menu-container js-context-menu">
<a href="#"
class="minibutton bigger switcher js-menu-target js-commitish-button btn-tree repo-tree"
data-hotkey="w"
data-master-branch="master"
data-ref="">
<span><span class="icon"></span><i>tree:</i> 17ab72f32b</span>
</a>
<div class="context-pane commitish-context js-menu-content">
<a href="javascript:;" class="close js-menu-close"><span class="mini-icon remove-close"></span></a>
<div class="context-title">Switch Branches/Tags</div>
<div class="context-body pane-selector commitish-selector js-navigation-container">
<div class="filterbar">
<input type="text" id="context-commitish-filter-field" class="js-navigation-enable" placeholder="Filter branches/tags" data-filterable />
<ul class="tabs">
<li><a href="#" data-filter="branches" class="selected">Branches</a></li>
<li><a href="#" data-filter="tags">Tags</a></li>
</ul>
</div>
<div class="js-filter-tab js-filter-branches" data-filterable-for="context-commitish-filter-field">
<div class="no-results js-not-filterable">Nothing to show</div>
<div class="commitish-item branch-commitish selector-item js-navigation-item js-navigation-target">
<h4>
<a href="/adafruit/Adafruit-MCP23017-Arduino-Library/blob/master/examples/button/button.pde" class="js-navigation-open" data-name="master" rel="nofollow">master</a>
</h4>
</div>
</div>
<div class="js-filter-tab js-filter-tags" style="display:none" data-filterable-for="context-commitish-filter-field">
<div class="no-results js-not-filterable">Nothing to show</div>
</div>
</div>
</div><!-- /.commitish-context-context -->
</div>
</li>
</ul>
<ul class="subnav with-scope">
<li><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/tree/" class="selected" highlight="repo_source">Files</a></li>
<li><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/commits/" highlight="repo_commits">Commits</a></li>
<li><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/branches" class="" highlight="repo_branches" rel="nofollow">Branches <span class="counter">1</span></a></li>
</ul>
</div>
</div><!-- /.repohead -->
<!-- block_view_fragment_key: views8/v8/blob:v21:5cd9cdce42430e380a991d8081c53f3f -->
<div id="slider">
<div class="breadcrumb" data-path="examples/button/button.pde/">
<b itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/tree/17ab72f32b9128e00a21bac6c2b95d10681b1b39" class="js-rewrite-sha" itemprop="url"><span itemprop="title">Adafruit-MCP23017-Arduino-Library</span></a></b> / <span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/tree/17ab72f32b9128e00a21bac6c2b95d10681b1b39/examples" class="js-rewrite-sha" itemscope="url"><span itemprop="title">examples</span></a></span> / <span itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/adafruit/Adafruit-MCP23017-Arduino-Library/tree/17ab72f32b9128e00a21bac6c2b95d10681b1b39/examples/button" class="js-rewrite-sha" itemscope="url"><span itemprop="title">button</span></a></span> / <strong class="final-path">button.pde</strong> <span class="js-clippy mini-icon clippy " data-clipboard-text="examples/button/button.pde" data-copied-hint="copied!" data-copy-hint="copy to clipboard"></span>
</div>
<div class="commit file-history-tease" data-path="examples/button/button.pde/">
<img class="main-avatar" height="24" src="https://secure.gravatar.com/avatar/3f7ca151e1f7f7dead8b2db60aa744c1?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png" width="24" />
<span class="author"><a href="/ladyada">ladyada</a></span>
<time class="js-relative-date" datetime="2012-02-14T09:15:20-08:00" title="2012-02-14 09:15:20">February 14, 2012</time>
<div class="commit-title">
<a href="/adafruit/Adafruit-MCP23017-Arduino-Library/commit/6eb6038bd7eacf825b89383ac3d4cd047851ca2d" class="message">Examples for inputs and outputs</a>
</div>
<div class="participation">
<p class="quickstat"><a href="#blob_contributors_box" rel="facebox"><strong>1</strong> contributor</a></p>
</div>
<div id="blob_contributors_box" style="display:none">
<h2>Users on GitHub who have contributed to this file</h2>
<ul class="facebox-user-list">
<li>
<img height="24" src="https://secure.gravatar.com/avatar/3f7ca151e1f7f7dead8b2db60aa744c1?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png" width="24" />
<a href="/ladyada">ladyada</a>
</li>
</ul>
</div>
</div>
<div class="frames">
<div class="frame frame-center" data-path="examples/button/button.pde/" data-permalink-url="/adafruit/Adafruit-MCP23017-Arduino-Library/blob/17ab72f32b9128e00a21bac6c2b95d10681b1b39/examples/button/button.pde" data-title="Adafruit-MCP23017-Arduino-Library/examples/button/button.pde at master · adafruit/Adafruit-MCP23017-Arduino-Library · GitHub" data-type="blob">
<div id="files" class="bubble">
<div class="file">
<div class="meta">
<div class="info">
<span class="icon"><b class="mini-icon text-file"></b></span>
<span class="mode" title="File Mode">100644</span>
<span>31 lines (21 sloc)</span>
<span>0.844 kb</span>
</div>
<ul class="button-group actions">
<li>
<a class="grouped-button file-edit-link minibutton bigger lighter js-rewrite-sha" href="/adafruit/Adafruit-MCP23017-Arduino-Library/edit/17ab72f32b9128e00a21bac6c2b95d10681b1b39/examples/button/button.pde" data-method="post" rel="nofollow" data-hotkey="e"><span>Edit this file</span></a>
</li>
<li>
<a href="/adafruit/Adafruit-MCP23017-Arduino-Library/raw/master/examples/button/button.pde" class="minibutton btn-raw grouped-button bigger lighter" id="raw-url"><span><span class="icon"></span>Raw</span></a>
</li>
<li>
<a href="/adafruit/Adafruit-MCP23017-Arduino-Library/blame/master/examples/button/button.pde" class="minibutton btn-blame grouped-button bigger lighter"><span><span class="icon"></span>Blame</span></a>
</li>
<li>
<a href="/adafruit/Adafruit-MCP23017-Arduino-Library/commits/master/examples/button/button.pde" class="minibutton btn-history grouped-button bigger lighter" rel="nofollow"><span><span class="icon"></span>History</span></a>
</li>
</ul>
</div>
<div class="data type-java">
<table cellpadding="0" cellspacing="0" class="lines">
<tr>
<td>
<pre class="line_numbers"><span id="L1" rel="#L1">1</span>
<span id="L2" rel="#L2">2</span>
<span id="L3" rel="#L3">3</span>
<span id="L4" rel="#L4">4</span>
<span id="L5" rel="#L5">5</span>
<span id="L6" rel="#L6">6</span>
<span id="L7" rel="#L7">7</span>
<span id="L8" rel="#L8">8</span>
<span id="L9" rel="#L9">9</span>
<span id="L10" rel="#L10">10</span>
<span id="L11" rel="#L11">11</span>
<span id="L12" rel="#L12">12</span>
<span id="L13" rel="#L13">13</span>
<span id="L14" rel="#L14">14</span>
<span id="L15" rel="#L15">15</span>
<span id="L16" rel="#L16">16</span>
<span id="L17" rel="#L17">17</span>
<span id="L18" rel="#L18">18</span>
<span id="L19" rel="#L19">19</span>
<span id="L20" rel="#L20">20</span>
<span id="L21" rel="#L21">21</span>
<span id="L22" rel="#L22">22</span>
<span id="L23" rel="#L23">23</span>
<span id="L24" rel="#L24">24</span>
<span id="L25" rel="#L25">25</span>
<span id="L26" rel="#L26">26</span>
<span id="L27" rel="#L27">27</span>
<span id="L28" rel="#L28">28</span>
<span id="L29" rel="#L29">29</span>
<span id="L30" rel="#L30">30</span>
<span id="L31" rel="#L31">31</span>
</pre>
</td>
<td width="100%">
<div class="highlight"><pre><div class='line' id='LC1'><span class="err">#</span><span class="n">include</span> <span class="o">&lt;</span><span class="n">Wire</span><span class="o">.</span><span class="na">h</span><span class="o">&gt;</span></div><div class='line' id='LC2'><span class="err">#</span><span class="n">include</span> <span class="s">&quot;Adafruit_MCP23017.h&quot;</span></div><div class='line' id='LC3'><br/></div><div class='line' id='LC4'><span class="c1">// Basic pin reading and pullup test for the MCP23017 I/O expander</span></div><div class='line' id='LC5'><span class="c1">// public domain!</span></div><div class='line' id='LC6'><br/></div><div class='line' id='LC7'><span class="c1">// Connect pin #12 of the expander to Analog 5 (i2c clock)</span></div><div class='line' id='LC8'><span class="c1">// Connect pin #13 of the expander to Analog 4 (i2c data)</span></div><div class='line' id='LC9'><span class="c1">// Connect pins #15, 16 and 17 of the expander to ground (address selection)</span></div><div class='line' id='LC10'><span class="c1">// Connect pin #9 of the expander to 5V (power)</span></div><div class='line' id='LC11'><span class="c1">// Connect pin #10 of the expander to ground (common ground)</span></div><div class='line' id='LC12'><br/></div><div class='line' id='LC13'><span class="c1">// Input #0 is on pin 21 so connect a button or switch from there to ground</span></div><div class='line' id='LC14'><br/></div><div class='line' id='LC15'><span class="n">Adafruit_MCP23017</span> <span class="n">mcp</span><span class="o">;</span></div><div class='line' id='LC16'>&nbsp;&nbsp;</div><div class='line' id='LC17'><span class="kt">void</span> <span class="nf">setup</span><span class="o">()</span> <span class="o">{</span> </div><div class='line' id='LC18'>&nbsp;&nbsp;<span class="n">mcp</span><span class="o">.</span><span class="na">begin</span><span class="o">();</span> <span class="c1">// use default address 0</span></div><div class='line' id='LC19'><br/></div><div class='line' id='LC20'>&nbsp;&nbsp;<span class="n">mcp</span><span class="o">.</span><span class="na">pinMode</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="n">INPUT</span><span class="o">);</span></div><div class='line' id='LC21'>&nbsp;&nbsp;<span class="n">mcp</span><span class="o">.</span><span class="na">pullUp</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="n">HIGH</span><span class="o">);</span> <span class="c1">// turn on a 100K pullup internally</span></div><div class='line' id='LC22'><br/></div><div class='line' id='LC23'>&nbsp;&nbsp;<span class="n">pinMode</span><span class="o">(</span><span class="mi">13</span><span class="o">,</span> <span class="n">OUTPUT</span><span class="o">);</span> <span class="c1">// use the p13 LED as debugging</span></div><div class='line' id='LC24'><span class="o">}</span></div><div class='line' id='LC25'><br/></div><div class='line' id='LC26'><br/></div><div class='line' id='LC27'><br/></div><div class='line' id='LC28'><span class="kt">void</span> <span class="nf">loop</span><span class="o">()</span> <span class="o">{</span></div><div class='line' id='LC29'>&nbsp;&nbsp;<span class="c1">// The LED will &#39;echo&#39; the button</span></div><div class='line' id='LC30'>&nbsp;&nbsp;<span class="n">digitalWrite</span><span class="o">(</span><span class="mi">13</span><span class="o">,</span> <span class="n">mcp</span><span class="o">.</span><span class="na">digitalRead</span><span class="o">(</span><span class="mi">0</span><span class="o">));</span></div><div class='line' id='LC31'><span class="o">}</span></div></pre></div>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="frame frame-loading large-loading-area" style="display:none;" data-tree-list-url="/adafruit/Adafruit-MCP23017-Arduino-Library/tree-list/17ab72f32b9128e00a21bac6c2b95d10681b1b39" data-blob-url-prefix="/adafruit/Adafruit-MCP23017-Arduino-Library/blob/17ab72f32b9128e00a21bac6c2b95d10681b1b39">
<img src="https://a248.e.akamai.net/assets.github.com/images/spinners/octocat-spinner-64.gif?1329920549" height="64" width="64">
</div>
</div>
<div class="context-overlay"></div>
</div>
<div id="footer-push"></div><!-- hack for sticky footer -->
</div><!-- end of wrapper - hack for sticky footer -->
<!-- footer -->
<div id="footer" >
<div class="upper_footer">
<div class="container clearfix">
<!--[if IE]><h4 id="blacktocat_ie">GitHub Links</h4><![endif]-->
<![if !IE]><h4 id="blacktocat">GitHub Links</h4><![endif]>
<ul class="footer_nav">
<h4>GitHub</h4>
<li><a href="https://github.com/about">About</a></li>
<li><a href="https://github.com/blog">Blog</a></li>
<li><a href="https://github.com/features">Features</a></li>
<li><a href="https://github.com/contact">Contact &amp; Support</a></li>
<li><a href="https://github.com/training">Training</a></li>
<li><a href="http://enterprise.github.com/">GitHub Enterprise</a></li>
<li><a href="http://status.github.com/">Site Status</a></li>
</ul>
<ul class="footer_nav">
<h4>Tools</h4>
<li><a href="http://get.gaug.es/">Gauges: Analyze web traffic</a></li>
<li><a href="http://speakerdeck.com">Speaker Deck: Presentations</a></li>
<li><a href="https://gist.github.com">Gist: Code snippets</a></li>
<li><a href="http://mac.github.com/">GitHub for Mac</a></li>
<li><a href="http://mobile.github.com/">Issues for iPhone</a></li>
<li><a href="http://jobs.github.com/">Job Board</a></li>
</ul>
<ul class="footer_nav">
<h4>Extras</h4>
<li><a href="http://shop.github.com/">GitHub Shop</a></li>
<li><a href="http://octodex.github.com/">The Octodex</a></li>
</ul>
<ul class="footer_nav">
<h4>Documentation</h4>
<li><a href="http://help.github.com/">GitHub Help</a></li>
<li><a href="http://developer.github.com/">Developer API</a></li>
<li><a href="http://github.github.com/github-flavored-markdown/">GitHub Flavored Markdown</a></li>
<li><a href="http://pages.github.com/">GitHub Pages</a></li>
</ul>
</div><!-- /.site -->
</div><!-- /.upper_footer -->
<div class="lower_footer">
<div class="container clearfix">
<!--[if IE]><div id="legal_ie"><![endif]-->
<![if !IE]><div id="legal"><![endif]>
<ul>
<li><a href="https://github.com/site/terms">Terms of Service</a></li>
<li><a href="https://github.com/site/privacy">Privacy</a></li>
<li><a href="https://github.com/security">Security</a></li>
</ul>
<p>&copy; 2012 <span title="0.04830s from fe15.rs.github.com">GitHub</span> Inc. All rights reserved.</p>
</div><!-- /#legal or /#legal_ie-->
<div class="sponsor">
<a href="http://www.rackspace.com" class="logo">
<img alt="Dedicated Server" height="36" src="https://a248.e.akamai.net/assets.github.com/images/modules/footer/rackspaces_logo.png?1329920549" width="38" />
</a>
Powered by the <a href="http://www.rackspace.com ">Dedicated
Servers</a> and<br/> <a href="http://www.rackspacecloud.com">Cloud
Computing</a> of Rackspace Hosting<span>&reg;</span>
</div>
</div><!-- /.site -->
</div><!-- /.lower_footer -->
</div><!-- /#footer -->
<div id="keyboard_shortcuts_pane" class="instapaper_ignore readability-extra" style="display:none">
<h2>Keyboard Shortcuts <small><a href="#" class="js-see-all-keyboard-shortcuts">(see all)</a></small></h2>
<div class="columns threecols">
<div class="column first">
<h3>Site wide shortcuts</h3>
<dl class="keyboard-mappings">
<dt>s</dt>
<dd>Focus site search</dd>
</dl>
<dl class="keyboard-mappings">
<dt>?</dt>
<dd>Bring up this help dialog</dd>
</dl>
</div><!-- /.column.first -->
<div class="column middle" style='display:none'>
<h3>Commit list</h3>
<dl class="keyboard-mappings">
<dt>j</dt>
<dd>Move selection down</dd>
</dl>
<dl class="keyboard-mappings">
<dt>k</dt>
<dd>Move selection up</dd>
</dl>
<dl class="keyboard-mappings">
<dt>c <em>or</em> o <em>or</em> enter</dt>
<dd>Open commit</dd>
</dl>
<dl class="keyboard-mappings">
<dt>y</dt>
<dd>Expand URL to its canonical form</dd>
</dl>
</div><!-- /.column.first -->
<div class="column last" style='display:none'>
<h3>Pull request list</h3>
<dl class="keyboard-mappings">
<dt>j</dt>
<dd>Move selection down</dd>
</dl>
<dl class="keyboard-mappings">
<dt>k</dt>
<dd>Move selection up</dd>
</dl>
<dl class="keyboard-mappings">
<dt>o <em>or</em> enter</dt>
<dd>Open issue</dd>
</dl>
<dl class="keyboard-mappings">
<dt><span class="platform-mac">⌘</span><span class="platform-other">ctrl</span> <em>+</em> enter</dt>
<dd>Submit comment</dd>
</dl>
</div><!-- /.columns.last -->
</div><!-- /.columns.equacols -->
<div style='display:none'>
<div class="rule"></div>
<h3>Issues</h3>
<div class="columns threecols">
<div class="column first">
<dl class="keyboard-mappings">
<dt>j</dt>
<dd>Move selection down</dd>
</dl>
<dl class="keyboard-mappings">
<dt>k</dt>
<dd>Move selection up</dd>
</dl>
<dl class="keyboard-mappings">
<dt>x</dt>
<dd>Toggle selection</dd>
</dl>
<dl class="keyboard-mappings">
<dt>o <em>or</em> enter</dt>
<dd>Open issue</dd>
</dl>
<dl class="keyboard-mappings">
<dt><span class="platform-mac">⌘</span><span class="platform-other">ctrl</span> <em>+</em> enter</dt>
<dd>Submit comment</dd>
</dl>
</div><!-- /.column.first -->
<div class="column last">
<dl class="keyboard-mappings">
<dt>c</dt>
<dd>Create issue</dd>
</dl>
<dl class="keyboard-mappings">
<dt>l</dt>
<dd>Create label</dd>
</dl>
<dl class="keyboard-mappings">
<dt>i</dt>
<dd>Back to inbox</dd>
</dl>
<dl class="keyboard-mappings">
<dt>u</dt>
<dd>Back to issues</dd>
</dl>
<dl class="keyboard-mappings">
<dt>/</dt>
<dd>Focus issues search</dd>
</dl>
</div>
</div>
</div>
<div style='display:none'>
<div class="rule"></div>
<h3>Issues Dashboard</h3>
<div class="columns threecols">
<div class="column first">
<dl class="keyboard-mappings">
<dt>j</dt>
<dd>Move selection down</dd>
</dl>
<dl class="keyboard-mappings">
<dt>k</dt>
<dd>Move selection up</dd>
</dl>
<dl class="keyboard-mappings">
<dt>o <em>or</em> enter</dt>
<dd>Open issue</dd>
</dl>
</div><!-- /.column.first -->
</div>
</div>
<div style='display:none'>
<div class="rule"></div>
<h3>Network Graph</h3>
<div class="columns equacols">
<div class="column first">
<dl class="keyboard-mappings">
<dt><span class="badmono">←</span> <em>or</em> h</dt>
<dd>Scroll left</dd>
</dl>
<dl class="keyboard-mappings">
<dt><span class="badmono">→</span> <em>or</em> l</dt>
<dd>Scroll right</dd>
</dl>
<dl class="keyboard-mappings">
<dt><span class="badmono">↑</span> <em>or</em> k</dt>
<dd>Scroll up</dd>
</dl>
<dl class="keyboard-mappings">
<dt><span class="badmono">↓</span> <em>or</em> j</dt>
<dd>Scroll down</dd>
</dl>
<dl class="keyboard-mappings">
<dt>t</dt>
<dd>Toggle visibility of head labels</dd>
</dl>
</div><!-- /.column.first -->
<div class="column last">
<dl class="keyboard-mappings">
<dt>shift <span class="badmono">←</span> <em>or</em> shift h</dt>
<dd>Scroll all the way left</dd>
</dl>
<dl class="keyboard-mappings">
<dt>shift <span class="badmono">→</span> <em>or</em> shift l</dt>
<dd>Scroll all the way right</dd>
</dl>
<dl class="keyboard-mappings">
<dt>shift <span class="badmono">↑</span> <em>or</em> shift k</dt>
<dd>Scroll all the way up</dd>
</dl>
<dl class="keyboard-mappings">
<dt>shift <span class="badmono">↓</span> <em>or</em> shift j</dt>
<dd>Scroll all the way down</dd>
</dl>
</div><!-- /.column.last -->
</div>
</div>
<div >
<div class="rule"></div>
<div class="columns threecols">
<div class="column first" >
<h3>Source Code Browsing</h3>
<dl class="keyboard-mappings">
<dt>t</dt>
<dd>Activates the file finder</dd>
</dl>
<dl class="keyboard-mappings">
<dt>l</dt>
<dd>Jump to line</dd>
</dl>
<dl class="keyboard-mappings">
<dt>w</dt>
<dd>Switch branch/tag</dd>
</dl>
<dl class="keyboard-mappings">
<dt>y</dt>
<dd>Expand URL to its canonical form</dd>
</dl>
</div>
</div>
</div>
<div style='display:none'>
<div class="rule"></div>
<div class="columns threecols">
<div class="column first">
<h3>Browsing Commits</h3>
<dl class="keyboard-mappings">
<dt><span class="platform-mac">⌘</span><span class="platform-other">ctrl</span> <em>+</em> enter</dt>
<dd>Submit comment</dd>
</dl>
<dl class="keyboard-mappings">
<dt>escape</dt>
<dd>Close form</dd>
</dl>
<dl class="keyboard-mappings">
<dt>p</dt>
<dd>Parent commit</dd>
</dl>
<dl class="keyboard-mappings">
<dt>o</dt>
<dd>Other parent commit</dd>
</dl>
</div>
</div>
</div>
</div>
<div id="markdown-help" class="instapaper_ignore readability-extra">
<h2>Markdown Cheat Sheet</h2>
<div class="cheatsheet-content">
<div class="mod">
<div class="col">
<h3>Format Text</h3>
<p>Headers</p>
<pre>
# This is an &lt;h1&gt; tag
## This is an &lt;h2&gt; tag
###### This is an &lt;h6&gt; tag</pre>
<p>Text styles</p>
<pre>
*This text will be italic*
_This will also be italic_
**This text will be bold**
__This will also be bold__
*You **can** combine them*
</pre>
</div>
<div class="col">
<h3>Lists</h3>
<p>Unordered</p>
<pre>
* Item 1
* Item 2
* Item 2a
* Item 2b</pre>
<p>Ordered</p>
<pre>
1. Item 1
2. Item 2
3. Item 3
* Item 3a
* Item 3b</pre>
</div>
<div class="col">
<h3>Miscellaneous</h3>
<p>Images</p>
<pre>
![GitHub Logo](/images/logo.png)
Format: ![Alt Text](url)
</pre>
<p>Links</p>
<pre>
http://github.com - automatic!
[GitHub](http://github.com)</pre>
<p>Blockquotes</p>
<pre>
As Kanye West said:
> We're living the future so
> the present is our past.
</pre>
</div>
</div>
<div class="rule"></div>
<h3>Code Examples in Markdown</h3>
<div class="col">
<p>Syntax highlighting with <a href="http://github.github.com/github-flavored-markdown/" title="GitHub Flavored Markdown" target="_blank">GFM</a></p>
<pre>
```javascript
function fancyAlert(arg) {
if(arg) {
$.facebox({div:'#foo'})
}
}
```</pre>
</div>
<div class="col">
<p>Or, indent your code 4 spaces</p>
<pre>
Here is a Python code example
without syntax highlighting:
def foo:
if not bar:
return true</pre>
</div>
<div class="col">
<p>Inline code for comments</p>
<pre>
I think you should use an
`&lt;addr&gt;` element here instead.</pre>
</div>
</div>
</div>
</div>
<div class="ajax-error-message">
<p><span class="mini-icon exclamation"></span> Something went wrong with that request. Please try again. <a href="javascript:;" class="ajax-error-dismiss">Dismiss</a></p>
</div>
<div id="logo-popup">
<h2>Looking for the GitHub logo?</h2>
<ul>
<li>
<h4>GitHub Logo</h4>
<a href="http://github-media-downloads.s3.amazonaws.com/GitHub_Logos.zip"><img alt="Github_logo" src="https://a248.e.akamai.net/assets.github.com/images/modules/about_page/github_logo.png?1329920549" /></a>
<a href="http://github-media-downloads.s3.amazonaws.com/GitHub_Logos.zip" class="minibutton btn-download download"><span><span class="icon"></span>Download</span></a>
</li>
<li>
<h4>The Octocat</h4>
<a href="http://github-media-downloads.s3.amazonaws.com/Octocats.zip"><img alt="Octocat" src="https://a248.e.akamai.net/assets.github.com/images/modules/about_page/octocat.png?1329920549" /></a>
<a href="http://github-media-downloads.s3.amazonaws.com/Octocats.zip" class="minibutton btn-download download"><span><span class="icon"></span>Download</span></a>
</li>
</ul>
</div>
<span id='server_response_time' data-time='0.05066' data-host='fe15'></span>
</body>
</html>