<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to BasicUsage</title><link>https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/</link><description>Recent changes to BasicUsage</description><atom:link href="https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 31 May 2018 18:14:34 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/feed" rel="self" type="application/rss+xml"/><item><title>Discussion for BasicUsage page</title><link>https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/?limit=25#8706</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;For Asus Tinker Board's, RPI_INFO is ASUSPI_INFO.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">glenneroo</dc:creator><pubDate>Thu, 31 May 2018 18:14:34 -0000</pubDate><guid>https://sourceforge.net825b713fc4e4be331f6eba698994407bbcb68b61</guid></item><item><title>BasicUsage modified by Ben Croston</title><link>https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v8
+++ v9
@@ -35,7 +35,7 @@
     :::python
     mode = GPIO.getmode()

-The mode will be GPIO.BOARD, GPIO.BCM or GPIO.UNKNOWN
+The mode will be GPIO.BOARD, GPIO.BCM or None

 ## Warnings

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ben Croston</dc:creator><pubDate>Fri, 01 Jan 2016 16:18:31 -0000</pubDate><guid>https://sourceforge.net54239500cccdd7e6776431c751ffde14b8366182</guid></item><item><title>BasicUsage modified by Ben Croston</title><link>https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v7
+++ v8
@@ -29,6 +29,13 @@
     GPIO.setmode(GPIO.BOARD)
       # or
     GPIO.setmode(GPIO.BCM)
+
+To detect which pin numbering system has been set (for example, by another Python module):
+
+    :::python
+    mode = GPIO.getmode()
+
+The mode will be GPIO.BOARD, GPIO.BCM or GPIO.UNKNOWN

 ## Warnings

@@ -101,7 +108,7 @@

 ## Cleanup

-At the end any program, it is good practice to clean up any resources you might have used. This is no different with RPi.GPIO. By returning all channels you have used back to inputs with no pull up/down, you can avoid accidental damage to your RPi by shorting out the pins. Note that this will only clean up GPIO channels that your script has used. 
+At the end any program, it is good practice to clean up any resources you might have used. This is no different with RPi.GPIO. By returning all channels you have used back to inputs with no pull up/down, you can avoid accidental damage to your RPi by shorting out the pins. Note that this will only clean up GPIO channels that your script has used.  Note that GPIO.cleanup() also clears the pin numbering system in use.

 To clean up at the end of your script:

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ben Croston</dc:creator><pubDate>Sun, 15 Feb 2015 22:41:41 -0000</pubDate><guid>https://sourceforge.net5f628965567acbf39f09890cf4965e33a36d2066</guid></item><item><title>BasicUsage modified by Ben Croston</title><link>https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v6
+++ v7
@@ -115,11 +115,16 @@
     GPIO.cleanup( (channel1, channel2) )
     GPIO.cleanup( [channel1, channel2] )

-## RPi Board Revision and RPi.GPIO version
+## RPi Board Information and RPi.GPIO version

-To discover the Raspberry Pi board revision: 
-    
-    GPIO.RPI_REVISION
+To discover information about your RPi:
+
+    GPIO.RPI_INFO
+
+To discover the Raspberry Pi board revision:
+
+    GPIO.RPI_INFO['P1_REVISION']
+    GPIO.RPI_REVISION    (deprecated)

 To discover the version of RPi.GPIO: 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ben Croston</dc:creator><pubDate>Thu, 12 Feb 2015 03:07:23 -0000</pubDate><guid>https://sourceforge.net584a54772218930bc427c6fdc2201b62e432272d</guid></item><item><title>BasicUsage modified by Ben Croston</title><link>https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -108,10 +108,12 @@
     :::python
     GPIO.cleanup()

-It is possible that you only want to clean up one channel, leaving some set up when your program exits:
+It is possible that don't want to clean up every channel leaving some set up when your program exits.  You can clean up individual channels, a list or a tuple of channels:

     :::python
     GPIO.cleanup(channel)
+    GPIO.cleanup( (channel1, channel2) )
+    GPIO.cleanup( [channel1, channel2] )

 ## RPi Board Revision and RPi.GPIO version

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ben Croston</dc:creator><pubDate>Sun, 04 Jan 2015 21:27:46 -0000</pubDate><guid>https://sourceforge.netb46b8558bfde1f0b47b7fee626e4db45601bce36</guid></item><item><title>BasicUsage modified by Ben Croston</title><link>https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -60,6 +60,16 @@
     :::python
     GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)

+## Setup more than one channel
+
+You can set up more than one channel per call (release 0.5.8 onwards).  For example:
+
+    :::python
+    chan_list = [11,12]    # add as many channels as you want!
+                           # you can tuples instead i.e.:
+                           #   chan_list = (11,12)
+    GPIO.setup(chan_list, GPIO.OUT)
+
 ## Input

 To read the value of a GPIO pin:
@@ -79,6 +89,15 @@
 (where channel is the channel number based on the numbering system you have specified (BOARD or BCM)). 

 State can be 0 / GPIO.LOW / False or 1 / GPIO.HIGH / True. 
+
+## Output to several channels
+
+You can output to many channels in the same call (release 0.5.8 onwards).  For example:
+
+    :::python
+    chan_list = [11,12]                             # also works with tuples
+    GPIO.output(chan_list, GPIO.LOW)                # sets all to GPIO.LOW
+    GPIO.output(chan_list, (GPIO.HIGH, GPIO.LOW))   # sets first HIGH and second LOW

 ## Cleanup

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ben Croston</dc:creator><pubDate>Tue, 11 Nov 2014 13:17:04 -0000</pubDate><guid>https://sourceforge.netc3355e10e24f87d93b02df3097556b9ad0c9f8f7</guid></item><item><title>BasicUsage modified by Ben Croston</title><link>https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -82,7 +82,7 @@

 ## Cleanup

-At the end any program, it is good practice to clean up any resources you might have used. This is no different with RPi.GPIO. By returning all channels you have used back to inputs, you can avoid accidental damage to your RPi by shorting out the pins. Note that this will only clean up GPIO channels that your script has used. 
+At the end any program, it is good practice to clean up any resources you might have used. This is no different with RPi.GPIO. By returning all channels you have used back to inputs with no pull up/down, you can avoid accidental damage to your RPi by shorting out the pins. Note that this will only clean up GPIO channels that your script has used. 

 To clean up at the end of your script:

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ben Croston</dc:creator><pubDate>Sat, 25 Jan 2014 15:36:19 -0000</pubDate><guid>https://sourceforge.net7de10103ba08e91137f814a35536239241b0e6c8</guid></item><item><title>BasicUsage modified by Ben Croston</title><link>https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -89,6 +89,11 @@
     :::python
     GPIO.cleanup()

+It is possible that you only want to clean up one channel, leaving some set up when your program exits:
+
+    :::python
+    GPIO.cleanup(channel)
+
 ## RPi Board Revision and RPi.GPIO version

 To discover the Raspberry Pi board revision: 
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ben Croston</dc:creator><pubDate>Sat, 04 Jan 2014 20:34:53 -0000</pubDate><guid>https://sourceforge.netf433b1138e5705b2a23015acf945ec0e316f7696</guid></item><item><title>BasicUsage modified by Ben Croston</title><link>https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -2,14 +2,16 @@

 ## Importing the module

-To import the RPi.GPIO module: 
-    
+To import the RPi.GPIO module:
+
+    :::python
     import RPi.GPIO as GPIO

 By doing it this way, you can refer to it as just GPIO through the rest of your script. 

-To import the module and check to see if it is successful: 
-    
+To import the module and check to see if it is successful:
+
+    :::python    
     try:
         import RPi.GPIO as GPIO
     except RuntimeError:
@@ -21,50 +23,57 @@

 The second numbering system is the BCM numbers. This is a lower level way of working - it refers to the channel numbers on the Broadcom SOC. You have to always work with a diagram of which channel number goes to which pin on the RPi board. Your script could break between revisions of Raspberry Pi boards. 

-To specify which you are using using (mandatory): 
-    
+To specify which you are using using (mandatory):
+
+    :::python
     GPIO.setmode(GPIO.BOARD)
-      or
+      # or
     GPIO.setmode(GPIO.BCM)

 ## Warnings

-It is possible that you have more than one script/circuit on the GPIO of your Raspberry Pi. As a result of this, if RPi.GPIO detects that a pin has been configured to something other than the default (input), you get a warning when you try to configure a script. To disable these warnings: 
-    
+It is possible that you have more than one script/circuit on the GPIO of your Raspberry Pi. As a result of this, if RPi.GPIO detects that a pin has been configured to something other than the default (input), you get a warning when you try to configure a script. To disable these warnings:
+
+    :::python
     GPIO.setwarnings(False)

 ## Setup up a channel

-You need to set up every channel you are using as an input or an output. To configure a channel as an input: 
-    
+You need to set up every channel you are using as an input or an output. To configure a channel as an input:
+
+    :::python
     GPIO.setup(channel, GPIO.IN)

 (where channel is the channel number based on the numbering system you have specified (BOARD or BCM)). 

 More advanced information about setting up input channels can be found [here](Inputs). 

-To set up a channel as an output: 
-    
+To set up a channel as an output:
+
+    :::python
     GPIO.setup(channel, GPIO.OUT)

 (where channel is the channel number based on the numbering system you have specified (BOARD or BCM)). 

-You can also specify an initial value for your output channel: 
-    
+You can also specify an initial value for your output channel:
+
+    :::python
     GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)

 ## Input

-To read the value of a GPIO pin: 
-    
+To read the value of a GPIO pin:
+
+    :::python
     GPIO.input(channel)

 (where channel is the channel number based on the numbering system you have specified (BOARD or BCM)). This will return either 0 / GPIO.LOW / False or 1 / GPIO.HIGH / True. 

 ## Output

-To set the output state of a GPIO pin: 
-    
+To set the output state of a GPIO pin:
+
+    :::python
     GPIO.output(channel, state)

 (where channel is the channel number based on the numbering system you have specified (BOARD or BCM)). 
@@ -75,8 +84,9 @@

 At the end any program, it is good practice to clean up any resources you might have used. This is no different with RPi.GPIO. By returning all channels you have used back to inputs, you can avoid accidental damage to your RPi by shorting out the pins. Note that this will only clean up GPIO channels that your script has used. 

-To clean up at the end of your script: 
-    
+To clean up at the end of your script:
+
+    :::python
     GPIO.cleanup()

 ## RPi Board Revision and RPi.GPIO version
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ben Croston</dc:creator><pubDate>Sat, 21 Dec 2013 22:48:37 -0000</pubDate><guid>https://sourceforge.net1d845966585758dccdc790c7fe4a36c2aec18472</guid></item><item><title>BasicUsage modified by Anonymous</title><link>https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="rpigpio-module-basics"&gt;RPi.GPIO module basics&lt;/h1&gt;
&lt;h2 id="importing-the-module"&gt;Importing the module&lt;/h2&gt;
&lt;p&gt;To import the RPi.GPIO module: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;import&lt;/span&gt; &lt;span class="n"&gt;RPi&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt; &lt;span class="n"&gt;as&lt;/span&gt; &lt;span class="n"&gt;GPIO&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;By doing it this way, you can refer to it as just GPIO through the rest of your script. &lt;/p&gt;
&lt;p&gt;To import the module and check to see if it is successful: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;RPi.GPIO&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;GPIO&lt;/span&gt;
&lt;span class="n"&gt;except&lt;/span&gt; &lt;span class="n"&gt;RuntimeError&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Error importing RPi.GPIO!  This is probably because you need superuser privileges.  You can achieve this by using 'sudo' to run your script&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="pin-numbering"&gt;Pin numbering&lt;/h2&gt;
&lt;p&gt;There are two ways of numbering the IO pins on a Raspberry Pi within RPi.GPIO. The first is using the BOARD numbering system. This refers to the pin numbers on the P1 header of the Raspberry Pi board. The advantage of using this numbering system is that your hardware will always work, regardless of the board revision of the RPi. You will not need to rewire your connector or change your code. &lt;/p&gt;
&lt;p&gt;The second numbering system is the BCM numbers. This is a lower level way of working - it refers to the channel numbers on the Broadcom SOC. You have to always work with a diagram of which channel number goes to which pin on the RPi board. Your script could break between revisions of Raspberry Pi boards. &lt;/p&gt;
&lt;p&gt;To specify which you are using using (mandatory): &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setmode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;BOARD&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="n"&gt;or&lt;/span&gt;
&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setmode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;BCM&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="warnings"&gt;Warnings&lt;/h2&gt;
&lt;p&gt;It is possible that you have more than one script/circuit on the GPIO of your Raspberry Pi. As a result of this, if RPi.GPIO detects that a pin has been configured to something other than the default (input), you get a warning when you try to configure a script. To disable these warnings: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setwarnings&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="setup-up-a-channel"&gt;Setup up a channel&lt;/h2&gt;
&lt;p&gt;You need to set up every channel you are using as an input or an output. To configure a channel as an input: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;channel&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;IN&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(where channel is the channel number based on the numbering system you have specified (BOARD or BCM)). &lt;/p&gt;
&lt;p&gt;More advanced information about setting up input channels can be found &lt;a class="" href="/p/raspberry-gpio-python/wiki/Inputs/"&gt;here&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;To set up a channel as an output: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;channel&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;OUT&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(where channel is the channel number based on the numbering system you have specified (BOARD or BCM)). &lt;/p&gt;
&lt;p&gt;You can also specify an initial value for your output channel: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;channel&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;OUT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;initial&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;HIGH&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="input"&gt;Input&lt;/h2&gt;
&lt;p&gt;To read the value of a GPIO pin: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;channel&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(where channel is the channel number based on the numbering system you have specified (BOARD or BCM)). This will return either 0 / GPIO.LOW / False or 1 / GPIO.HIGH / True. &lt;/p&gt;
&lt;h2 id="output"&gt;Output&lt;/h2&gt;
&lt;p&gt;To set the output state of a GPIO pin: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;output&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;channel&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;state&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;(where channel is the channel number based on the numbering system you have specified (BOARD or BCM)). &lt;/p&gt;
&lt;p&gt;State can be 0 / GPIO.LOW / False or 1 / GPIO.HIGH / True. &lt;/p&gt;
&lt;h2 id="cleanup"&gt;Cleanup&lt;/h2&gt;
&lt;p&gt;At the end any program, it is good practice to clean up any resources you might have used. This is no different with RPi.GPIO. By returning all channels you have used back to inputs, you can avoid accidental damage to your RPi by shorting out the pins. Note that this will only clean up GPIO channels that your script has used. &lt;/p&gt;
&lt;p&gt;To clean up at the end of your script: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;cleanup&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="rpi-board-revision-and-rpigpio-version"&gt;RPi Board Revision and RPi.GPIO version&lt;/h2&gt;
&lt;p&gt;To discover the Raspberry Pi board revision: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;RPI_REVISION&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;To discover the version of RPi.GPIO: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;GPIO&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;VERSION&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Wed, 18 Dec 2013 16:59:33 -0000</pubDate><guid>https://sourceforge.netdaf54ad6468ade84ab92cc7baf7078655107ea1d</guid></item></channel></rss>