<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.radxa.com/mw/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.radxa.com/mw/index.php?action=history&amp;feed=atom&amp;title=Gpiod</id>
		<title>Gpiod - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.radxa.com/mw/index.php?action=history&amp;feed=atom&amp;title=Gpiod"/>
		<link rel="alternate" type="text/html" href="https://wiki.radxa.com/mw/index.php?title=Gpiod&amp;action=history"/>
		<updated>2026-06-14T05:06:53Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.3</generator>

	<entry>
		<id>https://wiki.radxa.com/mw/index.php?title=Gpiod&amp;diff=8905&amp;oldid=prev</id>
		<title>RadxaYuntian: /* Set GPIO pin level */</title>
		<link rel="alternate" type="text/html" href="https://wiki.radxa.com/mw/index.php?title=Gpiod&amp;diff=8905&amp;oldid=prev"/>
				<updated>2022-10-31T10:21:24Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Set GPIO pin level&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:21, 31 October 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 132:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 132:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Set GPIO pin level ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Set GPIO pin level ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; radxa@radxa-zero2:~$ sudo gpioset $(sudo gpiofind PIN_8)=0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; radxa@radxa-zero2:~$ sudo gpioset &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-m signal &lt;/ins&gt;$(sudo gpiofind PIN_8)=0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; radxa@radxa-zero2:~$ sudo gpioset $(sudo gpiofind PIN_8)=1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; radxa@radxa-zero2:~$ sudo gpioset &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-m signal &lt;/ins&gt;$(sudo gpiofind PIN_8)=1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Watch GPIO level change ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Watch GPIO level change ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>RadxaYuntian</name></author>	</entry>

	<entry>
		<id>https://wiki.radxa.com/mw/index.php?title=Gpiod&amp;diff=7276&amp;oldid=prev</id>
		<title>RadxaYuntian at 10:37, 7 January 2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.radxa.com/mw/index.php?title=Gpiod&amp;diff=7276&amp;oldid=prev"/>
				<updated>2022-01-07T10:37:09Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:37, 7 January 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 141:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 141:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; radxa@radxa-zero2:~$ sudo gpiomon -f $(sudo gpiofind PIN_37)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; radxa@radxa-zero2:~$ sudo gpiomon -f $(sudo gpiofind PIN_37)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; event: FALLING EDGE offset: 0 timestamp: [&amp;#160; &amp;#160; 3882.313792858]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; event: FALLING EDGE offset: 0 timestamp: [&amp;#160; &amp;#160; 3882.313792858]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== A simple GPIO test script based on gpiod ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://gist.github.com/RadxaYuntian/5ef87b9655239e65c9ccb7897c5f618a Here] is a sample script that uses &amp;lt;code&amp;gt;gpiod&amp;lt;/code&amp;gt; to test all onboard GPIO pins.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>RadxaYuntian</name></author>	</entry>

	<entry>
		<id>https://wiki.radxa.com/mw/index.php?title=Gpiod&amp;diff=7263&amp;oldid=prev</id>
		<title>RadxaYuntian at 09:36, 6 January 2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.radxa.com/mw/index.php?title=Gpiod&amp;diff=7263&amp;oldid=prev"/>
				<updated>2022-01-06T09:36:20Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 09:36, 6 January 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 134:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 134:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; radxa@radxa-zero2:~$ sudo gpioset $(sudo gpiofind PIN_8)=0&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; radxa@radxa-zero2:~$ sudo gpioset $(sudo gpiofind PIN_8)=0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; radxa@radxa-zero2:~$ sudo gpioset $(sudo gpiofind PIN_8)=1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; radxa@radxa-zero2:~$ sudo gpioset $(sudo gpiofind PIN_8)=1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Watch GPIO level change ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;You need to specify either &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; for rising edge events or &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; for falling edge events, but not both.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; radxa@radxa-zero2:~$ sudo gpiomon -f $(sudo gpiofind PIN_37)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; event: FALLING EDGE offset: 0 timestamp: [&amp;#160; &amp;#160; 3882.313792858]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>RadxaYuntian</name></author>	</entry>

	<entry>
		<id>https://wiki.radxa.com/mw/index.php?title=Gpiod&amp;diff=7260&amp;oldid=prev</id>
		<title>RadxaYuntian: Created page with &quot;{{Languages|gpiod}}  = Use gpiod to control GPIO pins =  Traditionally GPIO pins are exposed by Linux kernel under &lt;code&gt;/sys/class/gpio&lt;/code&gt; namespace. However, this interf...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.radxa.com/mw/index.php?title=Gpiod&amp;diff=7260&amp;oldid=prev"/>
				<updated>2022-01-06T09:06:37Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Languages|gpiod}}  = Use gpiod to control GPIO pins =  Traditionally GPIO pins are exposed by Linux kernel under &amp;lt;code&amp;gt;/sys/class/gpio&amp;lt;/code&amp;gt; namespace. However, this interf...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Languages|gpiod}}&lt;br /&gt;
&lt;br /&gt;
= Use gpiod to control GPIO pins =&lt;br /&gt;
&lt;br /&gt;
Traditionally GPIO pins are exposed by Linux kernel under &amp;lt;code&amp;gt;/sys/class/gpio&amp;lt;/code&amp;gt; namespace. However, this interface has been [https://www.kernel.org/doc/Documentation/gpio/sysfs.txt deprecated] since version 4.8. The replacement is a C binding called &amp;lt;code&amp;gt;libgpiod&amp;lt;/code&amp;gt;, along with a set of user land tools called &amp;lt;code&amp;gt;gpiod&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
In this guide we will talk about some common usage of &amp;lt;code&amp;gt;gpiod&amp;lt;/code&amp;gt; so you can start incorporate them in your projects.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Run following command under Debian/Ubuntu:&lt;br /&gt;
&lt;br /&gt;
   sudo apt update&lt;br /&gt;
   sudo apt install gpiod -y&lt;br /&gt;
&lt;br /&gt;
== List available GPIO controller ==&lt;br /&gt;
&lt;br /&gt;
    radxa@radxa-zero2:~$ sudo gpioinfo&lt;br /&gt;
    gpiochip0 - 85 lines:&lt;br /&gt;
            line   0:     &amp;quot;PIN_27&amp;quot;       unused   input  active-high &lt;br /&gt;
            line   1:     &amp;quot;PIN_28&amp;quot;       unused   input  active-high &lt;br /&gt;
            line   2:      &amp;quot;PIN_7&amp;quot;       unused   input  active-high &lt;br /&gt;
            line   3:     &amp;quot;PIN_11&amp;quot;       unused   input  active-high &lt;br /&gt;
            line   4:     &amp;quot;PIN_13&amp;quot;       unused   input  active-high &lt;br /&gt;
            line   5:     &amp;quot;PIN_14&amp;quot;       unused   input  active-high &lt;br /&gt;
            line   6:     &amp;quot;PIN_18&amp;quot;       unused   input  active-high &lt;br /&gt;
            line   7:     &amp;quot;PIN_40&amp;quot;       unused   input  active-high &lt;br /&gt;
            line   8:      unnamed       unused   input  active-high &lt;br /&gt;
            line   9:      unnamed       unused   input  active-high &lt;br /&gt;
            line  10:      unnamed       unused   input  active-high &lt;br /&gt;
            line  11:      unnamed       unused   input  active-high &lt;br /&gt;
            line  12:      unnamed       unused   input  active-high &lt;br /&gt;
            line  13:      unnamed       unused   input  active-high &lt;br /&gt;
            line  14:      unnamed       unused   input  active-high &lt;br /&gt;
            line  15:      unnamed       unused   input  active-high &lt;br /&gt;
            line  16:      unnamed       unused   input  active-high &lt;br /&gt;
            line  17:      unnamed       unused   input  active-high &lt;br /&gt;
            line  18:      unnamed       unused   input  active-high &lt;br /&gt;
            line  19:      unnamed       unused   input  active-high &lt;br /&gt;
            line  20:     &amp;quot;PIN_19&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  21:     &amp;quot;PIN_21&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  22:     &amp;quot;PIN_24&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  23:     &amp;quot;PIN_23&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  24:      unnamed       unused   input  active-high &lt;br /&gt;
            line  25:      unnamed       unused   input  active-high &lt;br /&gt;
            line  26:      unnamed       unused   input  active-high &lt;br /&gt;
            line  27:      unnamed       unused   input  active-high &lt;br /&gt;
            line  28:      unnamed       unused   input  active-high &lt;br /&gt;
            line  29:      unnamed       unused   input  active-high &lt;br /&gt;
            line  30:      unnamed       unused   input  active-high &lt;br /&gt;
            line  31:      unnamed       unused   input  active-high &lt;br /&gt;
            line  32:      unnamed       unused   input  active-high &lt;br /&gt;
            line  33:      unnamed       unused   input  active-high &lt;br /&gt;
            line  34:      unnamed       unused   input  active-high &lt;br /&gt;
            line  35:      unnamed       unused   input  active-high &lt;br /&gt;
            line  36:      unnamed       unused   input  active-high &lt;br /&gt;
            line  37:      unnamed      &amp;quot;reset&amp;quot;  output   active-low [used]&lt;br /&gt;
            line  38:      unnamed       unused   input  active-high &lt;br /&gt;
            line  39:      unnamed       unused   input  active-high &lt;br /&gt;
            line  40:      unnamed       unused   input  active-high &lt;br /&gt;
            line  41:      unnamed       unused   input  active-high &lt;br /&gt;
            line  42:      unnamed       unused   input  active-high &lt;br /&gt;
            line  43:      unnamed       unused   input  active-high &lt;br /&gt;
            line  44:      unnamed       unused   input  active-high &lt;br /&gt;
            line  45:      unnamed       unused   input  active-high &lt;br /&gt;
            line  46:      unnamed       unused   input  active-high &lt;br /&gt;
            line  47:      unnamed         &amp;quot;cd&amp;quot;   input   active-low [used]&lt;br /&gt;
            line  48:     &amp;quot;PIN_36&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  49:     &amp;quot;PIN_32&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  50:     &amp;quot;PIN_12&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  51:     &amp;quot;PIN_35&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  52:      unnamed       unused   input  active-high &lt;br /&gt;
            line  53:      unnamed       unused   input  active-high &lt;br /&gt;
            line  54:     &amp;quot;PIN_38&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  55:      unnamed       unused   input  active-high &lt;br /&gt;
            line  56:      unnamed       unused   input  active-high &lt;br /&gt;
            line  57:      unnamed       unused   input  active-high &lt;br /&gt;
            line  58:      unnamed       unused   input  active-high &lt;br /&gt;
            line  59:      unnamed       unused   input  active-high &lt;br /&gt;
            line  60:      unnamed       unused   input  active-high &lt;br /&gt;
            line  61:      unnamed &amp;quot;green:status&amp;quot; output active-high [used]&lt;br /&gt;
            line  62:     &amp;quot;PIN_31&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  63:      &amp;quot;PIN_3&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  64:     &amp;quot;PIN_25&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  65:      unnamed       unused   input  active-high &lt;br /&gt;
            line  66:      unnamed       unused   input  active-high &lt;br /&gt;
            line  67:      unnamed       unused   input  active-high &lt;br /&gt;
            line  68:      unnamed       unused   input  active-high &lt;br /&gt;
            line  69:      unnamed       unused   input  active-high &lt;br /&gt;
            line  70:      unnamed       unused   input  active-high &lt;br /&gt;
            line  71:      unnamed      &amp;quot;reset&amp;quot;  output   active-low [used]&lt;br /&gt;
            line  72:      unnamed       unused   input  active-high &lt;br /&gt;
            line  73:      unnamed       unused   input  active-high &lt;br /&gt;
            line  74:      unnamed       unused   input  active-high &lt;br /&gt;
            line  75:      unnamed       unused   input  active-high &lt;br /&gt;
            line  76:      unnamed       unused   input  active-high &lt;br /&gt;
            line  77:      unnamed       unused   input  active-high &lt;br /&gt;
            line  78:      unnamed       unused   input  active-high &lt;br /&gt;
            line  79:      unnamed       unused   input  active-high &lt;br /&gt;
            line  80:      unnamed       unused   input  active-high &lt;br /&gt;
            line  81:      unnamed       unused   input  active-high &lt;br /&gt;
            line  82:      unnamed   &amp;quot;shutdown&amp;quot;  output  active-high [used]&lt;br /&gt;
            line  83:      unnamed       unused   input  active-high &lt;br /&gt;
            line  84:      unnamed       unused   input  active-high &lt;br /&gt;
    gpiochip1 - 15 lines:&lt;br /&gt;
            line   0:      &amp;quot;PIN_8&amp;quot;       unused   input  active-high &lt;br /&gt;
            line   1:     &amp;quot;PIN_10&amp;quot;       unused   input  active-high &lt;br /&gt;
            line   2:      unnamed       unused   input  active-high &lt;br /&gt;
            line   3:      unnamed      &amp;quot;power&amp;quot;   input   active-low [used]&lt;br /&gt;
            line   4:      unnamed       unused  output  active-high &lt;br /&gt;
            line   5:      unnamed       unused   input  active-high &lt;br /&gt;
            line   6:      unnamed       unused   input  active-high &lt;br /&gt;
            line   7:     &amp;quot;PIN_29&amp;quot;       unused   input  active-high &lt;br /&gt;
            line   8:     &amp;quot;PIN_33&amp;quot;       unused   input  active-high &lt;br /&gt;
            line   9:     &amp;quot;PIN_37&amp;quot;       unused   input  active-high &lt;br /&gt;
            line  10:      unnamed       unused   input  active-high &lt;br /&gt;
            line  11:      unnamed       unused  output  active-high &lt;br /&gt;
            line  12:      unnamed       unused   input  active-high &lt;br /&gt;
            line  13:      unnamed       unused   input  active-high &lt;br /&gt;
            line  14:      unnamed       unused   input  active-high&lt;br /&gt;
&lt;br /&gt;
== Convert 40-pin header number to gpiod device number ==&lt;br /&gt;
&lt;br /&gt;
    radxa@radxa-zero2:~$ sudo gpiofind PIN_8&lt;br /&gt;
    gpiochip1 0&lt;br /&gt;
&lt;br /&gt;
== Read GPIO pin level ==&lt;br /&gt;
&lt;br /&gt;
    radxa@radxa-zero2:~$ sudo gpioget $(sudo gpiofind PIN_8)&lt;br /&gt;
    1&lt;br /&gt;
&lt;br /&gt;
== Set GPIO pin level ==&lt;br /&gt;
&lt;br /&gt;
    radxa@radxa-zero2:~$ sudo gpioset $(sudo gpiofind PIN_8)=0&lt;br /&gt;
    radxa@radxa-zero2:~$ sudo gpioset $(sudo gpiofind PIN_8)=1&lt;/div&gt;</summary>
		<author><name>RadxaYuntian</name></author>	</entry>

	</feed>