<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>iP Solutions &#187; Open Source</title>
	<atom:link href="http://test2.ipsolutionscorp.com/category/software/open-source-software/feed/" rel="self" type="application/rss+xml" />
	<link>http://test2.ipsolutionscorp.com</link>
	<description>The technical leverage you need to get the results you want</description>
	<lastBuildDate>Fri, 18 Mar 2016 16:00:39 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<item>
		<title>Raspberry Pi SPI Command-line Utility 1.3.1 Available</title>
		<link>http://test2.ipsolutionscorp.com/raspberry-pi-spicommand-line-utility-1-3-1-available/</link>
		<comments>http://test2.ipsolutionscorp.com/raspberry-pi-spicommand-line-utility-1-3-1-available/#comments</comments>
		<pubDate>Wed, 31 Jul 2013 23:01:43 +0000</pubDate>
		<dc:creator>Gary Marks</dc:creator>
				<category><![CDATA[Control]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[Embedded Linux]]></category>
		<category><![CDATA[Embedded Systems]]></category>
		<category><![CDATA[News/Events]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[System Control and Data Acquisition]]></category>
		<category><![CDATA[bcm2835]]></category>
		<category><![CDATA[Broadcom]]></category>
		<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SPI]]></category>

		<guid isPermaLink="false">http://test2.ipsolutionscorp.com/?p=662</guid>
		<description><![CDATA[<p>The Raspberry Pi SPI command-line utility, spincl, has been updated. Version 1.3.1 is now available. iP Solutions originally released the Raspberry Pi SPI utility in February, 2013 licensed under Open Source GNU GPLv3. This spincl update is covered under the <a class="more-link" href="http://test2.ipsolutionscorp.com/raspberry-pi-spicommand-line-utility-1-3-1-available/">Continue reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a rel="nofollow" href="http://test2.ipsolutionscorp.com/raspberry-pi-spicommand-line-utility-1-3-1-available/">Raspberry Pi SPI Command-line Utility 1.3.1 Available</a> appeared first on <a rel="nofollow" href="http://test2.ipsolutionscorp.com">iP Solutions</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The Raspberry Pi SPI command-line utility, <strong>spincl</strong>, has been updated. Version 1.3.1 is now available. iP Solutions originally released the Raspberry Pi SPI utility in February, 2013 licensed under Open Source GNU GPLv3. This <strong>spincl</strong> update is covered under the same license.</p>
<p>The following items are included in the update:</p>
<ul>
<li>This version was built with the bcm2835-1.25 library. All previous versions were built with bcm2835-17.</li>
<li>This version was tested on 2013-02-09 raspian wheezy. The 2012-10-28 raspian wheezy was used for all previous versions.</li>
</ul>
<p>iP Solu­tions originally created the Serial Peripheral Interface (SPI) command-line utility for the Raspberry Pi (<a title="Raspberry Pi Organization" href="www.raspberrypi.org" target="_blank">www.raspberrypi.org</a>) platform for the convenience of hardware debug and to indirectly add SPI functionality to scripting languages such as Bash and Python.</p>
<p>Although a C library exists for the Broadcom bcm2835 with an SPI Application Programming Interface (API) among other things, there are reasons to have a command-line utility, which can be invoked from a shell command line or from within a script. A command-line utility allows easy testing and debugging of SPI slave devices without having to develop a C executable. Additionally, it provides a simple way for bash and python scripts to access the SPI master of the BCM2835 on Raspberry Pi. Although the raspian distribution provides GPIO libraries with the included python installation it doesn’t include an SPI library. <strong>spincl</strong>, on the other hand, can be invoked from a python (or bash) script.</p>
<p>Check the <a title="SPI Command-line Utility for Raspberry Pi" href="http://ipsolutionscorp.com/raspberry-pi-spi-utility/">original post</a> for a full explanation of the Raspberry Pi SPI command-line utility and to download the latest version.</p>
<p>The post <a rel="nofollow" href="http://test2.ipsolutionscorp.com/raspberry-pi-spicommand-line-utility-1-3-1-available/">Raspberry Pi SPI Command-line Utility 1.3.1 Available</a> appeared first on <a rel="nofollow" href="http://test2.ipsolutionscorp.com">iP Solutions</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://test2.ipsolutionscorp.com/raspberry-pi-spicommand-line-utility-1-3-1-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Raspberry Pi SPI Command-line Utility Update</title>
		<link>http://test2.ipsolutionscorp.com/raspberry-pi-spi-command-line-utility-update/</link>
		<comments>http://test2.ipsolutionscorp.com/raspberry-pi-spi-command-line-utility-update/#comments</comments>
		<pubDate>Tue, 21 May 2013 22:17:47 +0000</pubDate>
		<dc:creator>Gary Marks</dc:creator>
				<category><![CDATA[Control]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[Embedded Linux]]></category>
		<category><![CDATA[Embedded Systems]]></category>
		<category><![CDATA[News/Events]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[System Control and Data Acquisition]]></category>
		<category><![CDATA[bcm2835]]></category>
		<category><![CDATA[Broadcom]]></category>
		<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SPI]]></category>

		<guid isPermaLink="false">http://test2.ipsolutionscorp.com/?p=654</guid>
		<description><![CDATA[<p>The Raspberry Pi SPI command-line utility, spincl, has been updated.  Version 1.3.0 is now available.  iP Solutions originally released the Raspberry Pi SPI utility in February, 2013, licensed under Open Source GNU GPLv3.  This spincl update is covered under the <a class="more-link" href="http://test2.ipsolutionscorp.com/raspberry-pi-spi-command-line-utility-update/">Continue reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a rel="nofollow" href="http://test2.ipsolutionscorp.com/raspberry-pi-spi-command-line-utility-update/">Raspberry Pi SPI Command-line Utility Update</a> appeared first on <a rel="nofollow" href="http://test2.ipsolutionscorp.com">iP Solutions</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>The Raspberry Pi SPI command-line utility, <strong>spincl</strong>, has been updated.  Version 1.3.0 is now available.  iP Solutions originally released the Raspberry Pi SPI utility in February, 2013, licensed under Open Source <a title="GNU licenses" href="http://www.gnu.org/licenses/gpl.html" target="_blank">GNU GPLv3</a>.  This <strong>spincl</strong> update is covered under the same license.</p>
<p>The following items are included in the update:</p>
<ul>
<li><strong>Bug Fix</strong>:  A bug in the way the number of transmit bytes was calculated has been fixed.  Previously, if the total byte length of the transfer was greater than the number of specified xmit bytes then an attempt to access command-line arguments beyond the number available would occur, which causes a segmentation fault.</li>
<li>suid bit is now set in the install target of Makefile.</li>
</ul>
<p>iP Solutions originally created the Serial Peripheral Interface (SPI) command-line utility for the Raspberry Pi (<a title="Raspberry Pi Organization" href="http://www.raspberrypi.org/" target="_blank">www.raspberrypi.org</a>) platform for the convenience of hardware debug and to indirectly add SPI functionality to scripting languages such as Bash and Python.</p>
<p>Although a C library exists for the Broad­com bcm2835 with an SPI Application Programming Interface (API) among other things, there are reasons to have a command-line utility, which can be invoked from a shell command line or from within a script.  A command-line utility allows easy testing and debugging of SPI slave devices without having to develop a C executable.  Additionally, it provides a simple way for bash and python scripts to access the SPI master of the BCM2835 on Raspberry Pi. Although the raspian distribution provides GPIO libraries with the included python installation it doesn’t include an SPI library. <strong>spincl</strong>, on the other hand, can be invoked from a python (or bash) script.</p>
<p>Check the <a title="SPI Command-line Utility for Raspberry Pi" href="http://ipsolutionscorp.com/raspberry-pi-spi-utility/">original post</a> for a full explanation of the Raspberry Pi SPI command-line utility and to download the latest version.</p>
<p> </p>
<p>The post <a rel="nofollow" href="http://test2.ipsolutionscorp.com/raspberry-pi-spi-command-line-utility-update/">Raspberry Pi SPI Command-line Utility Update</a> appeared first on <a rel="nofollow" href="http://test2.ipsolutionscorp.com">iP Solutions</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://test2.ipsolutionscorp.com/raspberry-pi-spi-command-line-utility-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SPI Command-line Utility for Raspberry Pi</title>
		<link>http://test2.ipsolutionscorp.com/raspberry-pi-spi-utility/</link>
		<comments>http://test2.ipsolutionscorp.com/raspberry-pi-spi-utility/#comments</comments>
		<pubDate>Fri, 01 Feb 2013 23:30:16 +0000</pubDate>
		<dc:creator>Gary Marks</dc:creator>
				<category><![CDATA[Control]]></category>
		<category><![CDATA[Educational]]></category>
		<category><![CDATA[Embedded Linux]]></category>
		<category><![CDATA[Embedded Systems]]></category>
		<category><![CDATA[News/Events]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[System Control and Data Acquisition]]></category>
		<category><![CDATA[bcm2835]]></category>
		<category><![CDATA[Broadcom]]></category>
		<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[SPI]]></category>

		<guid isPermaLink="false">http://test2.ipsolutionscorp.com/?p=138</guid>
		<description><![CDATA[<p>iP Solutions has just released an Open Source command-line utility for the Raspberry Pi platform that can be used to drive the Serial Peripheral Interface (SPI). <a class="more-link" href="http://test2.ipsolutionscorp.com/raspberry-pi-spi-utility/">Continue reading <span class="meta-nav">&#8594;</span></a></p>
<p>The post <a rel="nofollow" href="http://test2.ipsolutionscorp.com/raspberry-pi-spi-utility/">SPI Command-line Utility for Raspberry Pi</a> appeared first on <a rel="nofollow" href="http://test2.ipsolutionscorp.com">iP Solutions</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><a href="http://ipsolutionscorp.com/raspberry-pi-spi-utility/raspberry_pi/" rel="attachment wp-att-459"><img class="alignleft size-full wp-image-459" alt="Raspberry Pi" src="http://ipsolutionscorp.com/wp-content/uploads/2013/04/raspberry_pi.png" width="250" height="250" /></a>iP Solutions has created a Serial Peripheral Interface (SPI) command-line utility for the Raspberry Pi (<a title="Raspberry Pi Organization" href="http://www.raspberrypi.org/" target="_blank">www.raspberrypi.org</a>) platform.  The utility, <strong>spincl</strong>, is licensed under Open Source GNU GPLv3 and is being offered by iP Solutions as a free download with source included.</p>
<p>Although a C library exists for the Broadcom bcm2835 with an SPI Application Programming Interface (API) among other things, there are reasons to have a command-line utility, which can be invoked from a shell command line or from within a script.  A command-line utility allows easy testing and debugging of SPI slave devices without having to develop a C executable.  Additionally, it provides a simple way for bash and python scripts to access the SPI master of the BCM2835 on Raspberry Pi. Although the raspian distribution provides GPIO libraries with the included python installation it doesn’t include an SPI library. <strong>spincl</strong>, on the other hand, can be invoked from a python (or bash) script.  <span id="more-138"></span></p>
<h2>Description</h2>
<p><strong>spincl</strong> is a command-line utility for executing SPI commands with the Broadcom bcm2835 from a shell command line (or script).  The utility is based on the bcm2835 C library developed by Mike McCauley of Open System Consultants, <a title="bcm2835 library" href="http://www.open.com.au/mikem/bcm2835/index.html" target="_blank">http://www.open.com.au/mikem/bcm2835</a>.  It was built with version 1.17 of the bcm2835 library and tested on a Raspberry Pi single-board computer model B with an iP Solutions designed I/O board, which contains SPI accessible ADC and digital I/O expansion.</p>
<p>Invoking <strong>spincl</strong> results in a full-duplex SPI transfer.  Options include the the SPI clock frequency, SPI Mode, chip select designation, and chip select polarity.  Invoking <strong>spincl</strong> requires root privilege.  If no command-line arguments are included or if there are any command-line argument errors, a “usage statement” will be printed on stdout similar to the Usage documentation below.</p>
<h2>Usage</h2>
<p><strong>spincl [options] len [xmit bytes]</strong></p>
<p>Invoking <strong>spincl</strong> results in a full-duplex SPI transfer of a specified number of bytes.  Additionally, it can be used to set the appropriate  GPIO pins to their respective SPI configurations or return them  to GPIO input configuration.  Options include the SPI clock frequency,  SPI Mode, chip select designation, chip select polarity and an  initialization option (spi_begin and spi_end).</p>
<p><strong>spincl</strong> must be invoked  with <strong>root</strong> privileges.  However, as of version 1.3.0, although the <strong>make install</strong> target included in the <strong>Makefile</strong> installs <strong>spincl</strong> with a root owner, it also sets the <strong>suid</strong> bit so that users other than root may invoke <strong>spincl</strong> without a <strong>sudo </strong>prefix.</p>
<p>The following are the options, which must be a single letter  preceded by a ‘-’ and followed by another character:</p>
<ul>
<li><strong>–ix</strong> where x is the SPI init option, b[egin] or e[nd].  The begin option must be executed before any transfer can happen.   It may optionally be included with a transfer.   The end option will return the SPI pins to GPIO inputs.   It may also optionally be included with a transfer.</li>
<li><strong>–mx</strong> where x is the SPI mode, 0, 1, 2, or 3</li>
<li><strong>–cx</strong> where x is the exponent of 2 of the clock divider.   Allowed values  are 0 through 15.  Valid clock divider values are powers of 2.  Corresponding frequencies are specified in bcm2835.h.</li>
<li><strong>–sx</strong> where x is 0 (CS0), 1 (CS1), 2 (CS1&amp;CS2), or 3 (None)</li>
<li><strong>–px</strong> where x is chip select polarity, 0(LOW) or 1(HIGH)</li>
</ul>
<p><strong>len</strong>: The number of bytes to be transmitted and received (full duplex).</p>
<p><strong>xmit bytes</strong>:  The bytes to be transmitted if specified.  If none are specified, 0s will be transmitted, which may be the case when only the received data is relevant.</p>
<h2>Examples</h2>
<p>Use spincl to just intialize the SPI pins: <strong>spincl –ib</strong></p>
<p>Use spincl to intialize the SPI pins and read three bytes (note xmit bytes are not specified).  Mode is 2, clock frequency is 15.625Mhz (see bcm2835.h), chip select is 0, and polarity is active low:  <strong>spincl –ib –m2 –c4 –s0 –p0 3</strong></p>
<p>Use spincl to transmit 2 bytes (specified) and read back 2 bytes, which may or may not be relevant.  Mode is 1, clock frequency is 7.8125MHz, chip select is 1, and polarity is active high.  Note that no initialization has been specified so SPI pins must have been previously initialized:  <strong>spincl –m1 –c5 –s1 –p1 2 0x5c 0x13</strong></p>
<p>Use spincl to read two byte with mode 3, clock frequency of 15.625Mhz, and no chip select (done by user some other way).  When the SPI tranfer has been completed, the SPI pins will be returned to GPIO inputs:  <strong>spincl –ie –m3 –c4 –s3 2</strong></p>
<p>Use spincl to just return the SPI pins to GPIO inputs:  <strong>spincl –ie</strong></p>
<h2>Build</h2>
<p>Of course the spincl executable will work as is.  However, if you want to make edits to the source, a Makefile is included to rebuild the executable.  The Makefile assumes that the bcm2835 library has been installed.  In other words, bcm2835.h is in /usr/local/include and libbcm2835.a is in /usr/local/lib.  To “make” the executable, type make at the command-line prompt from the spincl directory.  Again, the version of the  bcm2835 library that was used to build the executable included in the download is 1.17.  You may wish to try building spincl with the most current version.  An example “install” target is included in the Makefile, which installs spincl in /opt/bin with root ownership and group with appropriate privileges, including setting the <strong>suid</strong> bit.  Edit them as required for your application.</p>
<h2>Get Free Download</h2>
<p>Click here to download latest update of spincl.tar.gz     <a href="http://test2.ipsolutionscorp.com/?ddownload=650" class="download-button button-blue"  title="Download File" rel="nofollow">Download</a></p>
<p>Place the tarball file in the desired directory and then execute:</p>
<ul>
<li><strong>tar –xzvf spincl.tar.gz</strong> (spincl_1_3_1.tar.gz as of 7/31/13)</li>
</ul>
<p>to get the expanded source directory.</p>
<h2>Updates</h2>
<ul>
<li><span style="line-height: 15px;">Version 1.3.0, 5/19/24:</span>
<ul>
<li><strong>Bug Fix</strong>:  A bug in the way the number of trasmit bytes was calculated was fixed.  Previously, if the total byte length of the transfer was greater than the number of specified xmit bytes then an attempt to access command-line arguments beyond the number available would occur, which causes a segmentation fault.</li>
<li>suid bit is now set in the install target of Makefile.</li>
</ul>
</li>
<li>Version 1.3.1, 6/25/13:
<ul>
<li>This version was built with the bcm2835-1.25 library.  All previous versions were built with bcm2835-17.</li>
<li>This version was tested on 2013-02-09 raspian wheezy. The 2012-10-28 raspian wheezy was used for all previous versions.</li>
</ul>
</li>
</ul>
<p><em>iP Solutions in no way warrants or guarantees correctness of the downloaded code or that it’s bug-free.</em></p>
<p> </p>
<p> </p>
<p>The post <a rel="nofollow" href="http://test2.ipsolutionscorp.com/raspberry-pi-spi-utility/">SPI Command-line Utility for Raspberry Pi</a> appeared first on <a rel="nofollow" href="http://test2.ipsolutionscorp.com">iP Solutions</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://test2.ipsolutionscorp.com/raspberry-pi-spi-utility/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
