<?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>C i b o M a h t o . c o m &#187; Ridiculous</title>
	<atom:link href="http://www.cibomahto.com/category/ridiculous/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cibomahto.com</link>
	<description>building making designing dreaming</description>
	<lastBuildDate>Thu, 25 Aug 2011 02:55:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Keepon head hat</title>
		<link>http://www.cibomahto.com/2011/02/keepon-head-hat/</link>
		<comments>http://www.cibomahto.com/2011/02/keepon-head-hat/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 05:33:19 +0000</pubDate>
		<dc:creator>mahto</dc:creator>
				<category><![CDATA[Ridiculous]]></category>

		<guid isPermaLink="false">http://www.cibomahto.com/?p=1617</guid>
		<description><![CDATA[Keepon came to visit the Botcave last week, so I made him a hat that looks like his own head.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cibomahto.com/?attachment_id=1618" rel="attachment wp-att-1618"><img src="http://www.cibomahto.com/wp-content/uploads/2011/02/keepon_headhat-600x450.jpg" alt="" title="keepon_headhat" width="600" height="450" class="alignnone size-medium wp-image-1618" /></a></p>
<p><a href="http://beatbots.net">Keepon</a> came to visit the Botcave last week, so I <a href="http://www.thingiverse.com/image:44768">made him a hat</a> that looks like his own head.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cibomahto.com/2011/02/keepon-head-hat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Physical build progress meter for 3d printer</title>
		<link>http://www.cibomahto.com/2011/02/physical-build-progress-meter-for-3d-printer/</link>
		<comments>http://www.cibomahto.com/2011/02/physical-build-progress-meter-for-3d-printer/#comments</comments>
		<pubDate>Sat, 05 Feb 2011 09:30:18 +0000</pubDate>
		<dc:creator>mahto</dc:creator>
				<category><![CDATA[Ridiculous]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.cibomahto.com/?p=1585</guid>
		<description><![CDATA[Yesterday I made this progress meter attachment for the 3d printer that I have at work, that rotates to show me how far along my print is: Love 3d printing with your Thing-o-Matic, but wish there were a better way &#8230; <a href="http://www.cibomahto.com/2011/02/physical-build-progress-meter-for-3d-printer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cibomahto.com/?attachment_id=1586" rel="attachment wp-att-1586"><img src="http://www.cibomahto.com/wp-content/uploads/2011/02/unicorn_build_progress_meter_display_medium-600x490.jpg" alt="" title="unicorn_build_progress_meter_display_medium" width="600" height="490" class="alignnone size-medium wp-image-1586" /></a></p>
<p>Yesterday I made this <a href="http://www.thingiverse.com/thing:6093">progress meter</a> attachment for the 3d printer that I have at work, that rotates to show me how far along my print is:</p>
<blockquote><p>Love 3d printing with your Thing-o-Matic, but wish there were a better way to see how your print is progressing? Well, today is your lucky day- if you&#8217;ve got a spare hobby servo (the one in the Unicorn works great), then you can make your very own progress gauge! </p></blockquote>
<p>Source code and directions on Thingiverse.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cibomahto.com/2011/02/physical-build-progress-meter-for-3d-printer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Toilet paper roll holder</title>
		<link>http://www.cibomahto.com/2011/01/toilet-paper-roll-holder/</link>
		<comments>http://www.cibomahto.com/2011/01/toilet-paper-roll-holder/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 03:39:28 +0000</pubDate>
		<dc:creator>mahto</dc:creator>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Ridiculous]]></category>

		<guid isPermaLink="false">http://www.cibomahto.com/?p=1579</guid>
		<description><![CDATA[Today I designed a toilet paper roll holder: Tired of having to hunt for that roll of soft tissue every time you do your business? If only there were a fashionable hook upon which you could place this precious velvet! &#8230; <a href="http://www.cibomahto.com/2011/01/toilet-paper-roll-holder/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cibomahto.com/2011/01/toilet-paper-roll-holder/toilet_roll_holder/" rel="attachment wp-att-1580"><img src="http://www.cibomahto.com/wp-content/uploads/2011/01/toilet_roll_holder-600x492.jpg" alt="" title="toilet_roll_holder" width="600" height="492" class="alignnone size-medium wp-image-1580" /></a></p>
<p>Today I designed a <a href="http://www.thingiverse.com/thing:5938">toilet paper roll holder</a>:</p>
<blockquote><p>Tired of having to hunt for that roll of soft tissue every time you do your business? If only there were a fashionable hook upon which you could place this precious velvet!</p>
<p>Fortunately for you, oh bachelor or bachelorette, Science has heard your cries and has an answer! What you are seeking is called a toilet paper roll holder, and they are none to difficult to acquire! Sensible people would go to the store and buy a nice wooden or metal one to match their decor, but who are we kidding? You&#8217;re either desperate or have no sense of taste, so join the club and print yourself one now!</p>
<p>This design is inspired by Charles Pax&#8217;s filament spool holder. You&#8217;ll need a Thingomatic with a slightly taller than average (116mm+) build height in order to construct it. </p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.cibomahto.com/2011/01/toilet-paper-roll-holder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snakesta</title>
		<link>http://www.cibomahto.com/2011/01/snakesta/</link>
		<comments>http://www.cibomahto.com/2011/01/snakesta/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 08:10:23 +0000</pubDate>
		<dc:creator>mahto</dc:creator>
				<category><![CDATA[Photo]]></category>
		<category><![CDATA[Ridiculous]]></category>

		<guid isPermaLink="false">http://www.cibomahto.com/?p=1555</guid>
		<description><![CDATA[There was a time when the gangsta ruled the botcave. Models were downloaded, plastic was melted and re-formed, the gangsta represented, and all was rosy and cheerful. Those days are over. The snakesta is here to stay. I designed this &#8230; <a href="http://www.cibomahto.com/2011/01/snakesta/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cibomahto.com/2011/01/snakesta/snakesta/" rel="attachment wp-att-1556"><img src="http://www.cibomahto.com/wp-content/uploads/2011/01/snakesta-600x456.jpg" alt="" title="snakesta" width="600" height="456" class="alignnone size-medium wp-image-1556" /></a></p>
<p>There was a time when the gangsta ruled the botcave. Models were downloaded, plastic was melted and re-formed, the gangsta represented, and all was rosy and cheerful.</p>
<p>Those days are over. The snakesta is here to stay.</p>
<p>I designed this snake gangster (&#8216;<a href="http://www.thingiverse.com/thing:5860">snakesta</a>&#8216;) model by combining yzorg&#8217;s <a href="http://thingiverse.com/thing:5367">gangsa</a> with Zomboe&#8217;s <a href="http://thingiverse.com/thing:4743">snake</a>. For some context, the gangsta model has been a pretty popular test print at the <a href="http://blog.makerbot.com/2011/01/25/whats-up-at-makerbot/">botcave</a>, and I love the snake model because it is flexible, so I decided to put them both together into one awesomer print. Awesome? Awesome!</p>
<p>I&#8217;d love a &#8216;put this on that&#8217; kind of script for Thingiverse, perhaps if no one makes one I&#8217;ll try to whip up some frontend to OpenSCAD.</p>
<p>The lighting for this shot is a single incandescent desk lamp, maybe 1 foot from the model, with two pieces of cardboard to block all but a slit of light from passing through. I used my cell phone (!) to snap a color version of the shot, then used the GIMP to adjust color levels, convert to monochrome, and burn the edges of the image.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cibomahto.com/2011/01/snakesta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cupcake stand</title>
		<link>http://www.cibomahto.com/2011/01/cupcake-stand/</link>
		<comments>http://www.cibomahto.com/2011/01/cupcake-stand/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 07:20:53 +0000</pubDate>
		<dc:creator>mahto</dc:creator>
				<category><![CDATA[Ridiculous]]></category>

		<guid isPermaLink="false">http://www.cibomahto.com/?p=1529</guid>
		<description><![CDATA[I love this hyperboloid design. The cupcake was pretty good, too!]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cibomahto.com/2011/01/cupcake-stand/cupcake_stand/" rel="attachment wp-att-1530"><img src="http://www.cibomahto.com/wp-content/uploads/2011/01/cupcake_stand-600x448.jpg" alt="" title="cupcake_stand" width="600" height="448" class="alignnone size-medium wp-image-1530" /></a><br />
I love <a href="http://www.thingiverse.com/thing:5684">this hyperboloid design</a>. The cupcake was pretty good, too!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cibomahto.com/2011/01/cupcake-stand/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Spoon Organ</title>
		<link>http://www.cibomahto.com/2010/11/spoon-organ/</link>
		<comments>http://www.cibomahto.com/2010/11/spoon-organ/#comments</comments>
		<pubDate>Sun, 21 Nov 2010 19:06:34 +0000</pubDate>
		<dc:creator>mahto</dc:creator>
				<category><![CDATA[Ridiculous]]></category>
		<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://www.cibomahto.com/?p=1478</guid>
		<description><![CDATA[Everyone likes Spoon Organ! Spoon Organ is an instrument that I created to show at the Make Tokyo Meeting 06 this past weekend. The user can play musical tunes simply by touching a row of spoons sitting on a table, &#8230; <a href="http://www.cibomahto.com/2010/11/spoon-organ/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cibomahto.com/2010/11/spoon-organ/spoon_organ/" rel="attachment wp-att-1479"><img src="http://www.cibomahto.com/wp-content/uploads/2010/11/spoon_organ.jpg" alt="" title="spoon_organ" width="600" height="412" class="alignnone size-full wp-image-1479" /></a></p>
<p><a href="http://www.cibomahto.com/2010/11/spoon-organ/spoon_organ_users/" rel="attachment wp-att-1480"><img src="http://www.cibomahto.com/wp-content/uploads/2010/11/spoon_organ_users.jpg" alt="" title="spoon_organ_users" width="600" height="383" class="alignnone size-full wp-image-1480" /></a><br />
<em>Everyone likes Spoon Organ!</em></p>
<p>Spoon Organ is an instrument that I created to show at the Make Tokyo Meeting 06 this past weekend. The user can play musical tunes simply by touching a row of spoons sitting on a table, with a fork added in for good measure. A microcontroller is used to detect changes in capacitance caused by a finger pressing against the metal, which are then sent to a computer using the MIDI protocol.</p>
<p>The project was conceived of and created while on <a href="http://www.hackersonaplane.info/hackers-in-japan-2010/">Hackers on a Plane 4</a>, using spare parts from the <a href="http://makezine.com/makeitlast/index.csp">Make It Last Build Series</a>, cables and connectors purchased in <a href="http://blog.makezine.com/archive/2010/09/video_guide_to_akihabara.html">Akihabara</a> (thanks, <a href="http://www.freaklabs.org/">Akiba</a>!), and soldering work completed at <a href="http://www.tokyohackerspace.org/">Tokyo Hackerspace</a>. Here is a short video of it running:<br />
<object type="application/x-shockwave-flash" width="600" height="338" data="http://www.flickr.com/apps/video/stewart.swf?v=71377" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&#038;photo_secret=dec76900fc&#038;photo_id=5195904894&#038;hd_default=false"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=71377"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=71377" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&#038;photo_secret=dec76900fc&#038;photo_id=5195904894&#038;hd_default=false" height="338" width="600"></embed></object></p>
<p>Read on for a schematic and source code.<br />
<span id="more-1478"></span><br />
<a href="http://www.cibomahto.com/2010/11/spoon-organ/spoon_organ_schematic/" rel="attachment wp-att-1487"><img src="http://www.cibomahto.com/wp-content/uploads/2010/11/spoon_organ_schematic.png" alt="" title="spoon_organ_schematic" width="600" height="429" class="alignnone size-full wp-image-1487" /></a><br />
The schematic for the project is pictured above. I&#8217;m using the <a href="http://techtrain.microchip.com/webseminars/ArchivedDetail.aspx?Active=188">CTMU</a> peripheral on the PIC controller to do the sensing; it&#8217;s pretty amazing and requires no extra parts to use any of ADC input pins as a touch sensor. I&#8217;m only using every other sensor, because early tests showed that there would be interference between the channels when used on a solderless breadboard. The spoons are connected to the board using shielded cable (nothing fancy, just some power supply cable), which I soldered to alligator clips on one end and breadboarding plugs (ok, just bits off the ends of resistors) to the other. The shield is grounded on the microcontroller side, and left unconnected on the other.</p>
<p>Here is the source code for the project (please note that it is a quick hack from another project, and includes lots of useless code):</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/////////////////////////////////////////////////////////////////////////////</span>
<span style="color: #666666; font-style: italic;">// Include files</span>
<span style="color: #666666; font-style: italic;">// These lines allow us to use code routines (libraries) from other files,</span>
<span style="color: #666666; font-style: italic;">// so that we don't have to write everything by ourselves.</span>
<span style="color: #666666; font-style: italic;">/////////////////////////////////////////////////////////////////////////////</span>
&nbsp;
<span style="color: #339933;">#include &lt;p18lf25k22.h&gt;	    // This file includes definitions for all of the</span>
                            <span style="color: #666666; font-style: italic;">// registers on our chip</span>
<span style="color: #339933;">#include &lt;stdio.h&gt;          // For the sprintf() function</span>
&nbsp;
<span style="color: #339933;">#define __18LF25K80</span>
<span style="color: #339933;">#include &lt;i2c.h&gt;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/////////////////////////////////////////////////////////////////////////////</span>
<span style="color: #666666; font-style: italic;">// Pragma statements</span>
<span style="color: #666666; font-style: italic;">// These lines tell the microcontroller what configuration to use when it</span>
<span style="color: #666666; font-style: italic;">// when it turns on. The most important part for now is to tell the</span>
<span style="color: #666666; font-style: italic;">// microcontroller what to use for a clock input.</span>
<span style="color: #666666; font-style: italic;">/////////////////////////////////////////////////////////////////////////////</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Use the internal oscillator as a clock</span>
<span style="color: #339933;">#pragma config FOSC = INTIO67		// Use internal clock, don't output </span>
<span style="color: #666666; font-style: italic;">//#pragma config FOSC = INTIO7        // Use internal clock, output on RA6</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Configure it to run at 16 MHz</span>
<span style="color: #339933;">#pragma config PLLCFG = OFF</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Allow the program to turn on the watchdog timer. The watchdog is a</span>
<span style="color: #666666; font-style: italic;">// a special feature of the processor, that runs separately from the main</span>
<span style="color: #666666; font-style: italic;">// program and can be used to wake up the processor after a certain amount of time.</span>
<span style="color: #339933;">#pragma config WDTEN = OFF</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Set the watchdog timer prescaler to 1.</span>
<span style="color: #339933;">#pragma config WDTPS = 256</span>
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">// Fix a compiler bug</span>
<span style="color: #339933;">#undef INTCON</span>
<span style="color: #339933;">#undef INTCONbits</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/////////////////////////////////////////////////////////////////////////////</span>
<span style="color: #666666; font-style: italic;">// Function declarations</span>
<span style="color: #666666; font-style: italic;">// Declare any user functions that you want to use here</span>
<span style="color: #666666; font-style: italic;">/////////////////////////////////////////////////////////////////////////////</span>
<span style="color: #993333;">void</span> main <span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">void</span> loop<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">void</span> receive_interrupt<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> receiveCharacter <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// Stores the last character that was</span>
                                       <span style="color: #666666; font-style: italic;">// received by the serial port</span>
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> stayAwakeCount <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// 5 second countdown to keep the</span>
                                       <span style="color: #666666; font-style: italic;">// chip from sleeping</span>
&nbsp;
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> measureSwitch<span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> channel<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #339933;">#define PINCOUNT 8</span>
&nbsp;
<span style="color: #993333;">int</span> lastState<span style="color: #009900;">&#91;</span>PINCOUNT<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> offCount<span style="color: #009900;">&#91;</span>PINCOUNT<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Pins:</span>
<span style="color: #666666; font-style: italic;">// 2 4 7 14 21 23 25 15</span>
&nbsp;
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> inputADC<span style="color: #009900;">&#91;</span>PINCOUNT<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span>      <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">4</span><span style="color: #339933;">,</span><span style="color: #0000dd;">15</span><span style="color: #339933;">,</span><span style="color: #0000dd;">12</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">8</span><span style="color: #339933;">,</span><span style="color: #0000dd;">11</span><span style="color: #339933;">,</span><span style="color: #0000dd;">16</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> inputPorts<span style="color: #009900;">&#91;</span>PINCOUNT<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span>    <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> inputPins<span style="color: #009900;">&#91;</span>PINCOUNT<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span>     <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">5</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">4</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">4</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> noteChannels<span style="color: #009900;">&#91;</span>PINCOUNT<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span>  <span style="color: #009900;">&#123;</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//unsigned char noteKeys[PINCOUNT] =      {49,51,54,56,58,61,63};</span>
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> noteKeys<span style="color: #009900;">&#91;</span>PINCOUNT<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span>      <span style="color: #009900;">&#123;</span><span style="color: #0000dd;">49</span><span style="color: #339933;">,</span><span style="color: #0000dd;">51</span><span style="color: #339933;">,</span><span style="color: #0000dd;">53</span><span style="color: #339933;">,</span><span style="color: #0000dd;">54</span><span style="color: #339933;">,</span><span style="color: #0000dd;">56</span><span style="color: #339933;">,</span><span style="color: #0000dd;">58</span><span style="color: #339933;">,</span><span style="color: #0000dd;">60</span><span style="color: #339933;">,</span><span style="color: #0000dd;">61</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #993333;">int</span> Vread<span style="color: #009900;">&#91;</span>PINCOUNT<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #339933;">#define PRESSED 0</span>
<span style="color: #339933;">#define RELEASED 1</span>
<span style="color: #339933;">#define NOCHANGE 2</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/////////////////////////////////////////////////////////////////////////////</span>
<span style="color: #666666; font-style: italic;">// Function definitions</span>
<span style="color: #666666; font-style: italic;">// Define any user functions that you want to use here</span>
<span style="color: #666666; font-style: italic;">/////////////////////////////////////////////////////////////////////////////</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Configure the high interrupt to call the high_isr() function</span>
<span style="color: #666666; font-style: italic;">// From MPLAB C18 C Compiler Users Guide, Page 29</span>
<span style="color: #339933;">#pragma code low_vector=0x08</span>
<span style="color: #993333;">void</span> low_interrupt <span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
_asm GOTO receive_interrupt _endasm
<span style="color: #009900;">&#125;</span>
<span style="color: #339933;">#pragma code /* return to the default code section */</span>
&nbsp;
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">// The main() function is where the program 'starts' when the microcontroller</span>
<span style="color: #666666; font-style: italic;">// is turned on. For this project, we will use it to call setup() and loop()</span>
<span style="color: #666666; font-style: italic;">// functions, then use those similar to an Arduino sketch.</span>
<span style="color: #993333;">void</span> main <span style="color: #009900;">&#40;</span> <span style="color: #993333;">void</span> <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// Call the setup function once to put everything in order</span>
    setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Then call the loop() function over and over</span>
    <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
        loop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">// Function to write a character string to the serial port, from:</span>
<span style="color: #666666; font-style: italic;">// C:\MCC18\src\pmc_common\USART\u1puts.c</span>
<span style="color: #993333;">void</span> puts1USART<span style="color: #009900;">&#40;</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>data <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">do</span>
    <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// Transmit a byte</span>
        <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>TXSTA1bits.<span style="color: #202020;">TRMT</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        TXREG1 <span style="color: #339933;">=</span> <span style="color: #339933;">*</span>data<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Write the data byte to the USART2</span>
    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span> <span style="color: #339933;">*</span>data<span style="color: #339933;">++</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">// Map function, from:</span>
<span style="color: #666666; font-style: italic;">// http://www.arduino.cc/en/Reference/Map</span>
<span style="color: #993333;">long</span> map<span style="color: #009900;">&#40;</span><span style="color: #993333;">long</span> x<span style="color: #339933;">,</span> <span style="color: #993333;">long</span> in_min<span style="color: #339933;">,</span> <span style="color: #993333;">long</span> in_max<span style="color: #339933;">,</span> <span style="color: #993333;">long</span> out_min<span style="color: #339933;">,</span> <span style="color: #993333;">long</span> out_max<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span>x <span style="color: #339933;">-</span> in_min<span style="color: #009900;">&#41;</span> <span style="color: #339933;">*</span> <span style="color: #009900;">&#40;</span>out_max <span style="color: #339933;">-</span> out_min<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #009900;">&#40;</span>in_max <span style="color: #339933;">-</span> in_min<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> out_min<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">// Function to write a single byte to a device on the i2c bus</span>
<span style="color: #993333;">void</span> i2cWriteByte<span style="color: #009900;">&#40;</span> <span style="color: #993333;">char</span> byte <span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// Send the first byte of address, and wait for ack</span>
    SSPBUF <span style="color: #339933;">=</span> byte<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Wait for idle</span>
    <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#40;</span> SSPCON2 <span style="color: #339933;">&amp;</span> <span style="color: #208080;">0x1F</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span> SSPSTATbits.<span style="color: #202020;">R_W</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
        <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">// This function is called once, when the microcontroller is turned on.</span>
<span style="color: #993333;">void</span> setup<span style="color: #009900;">&#40;</span> <span style="color: #993333;">void</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// Processor configuration</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Configure the oscillator to run at 16 MHz</span>
    OSCCONbits.<span style="color: #202020;">IRCF</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">111</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// 16 MHz</span>
<span style="color: #666666; font-style: italic;">//    OSCCONbits.IRCF = 101;      // 4 MHz</span>
&nbsp;
    ANSELA <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    TRISA <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    PORTA <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
&nbsp;
    ANSELB <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    TRISB <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    PORTB <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
&nbsp;
    ANSELC <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    TRISC <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    PORTC <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// ADC configuration</span>
    ADCON2bits.<span style="color: #202020;">ADFM</span><span style="color: #339933;">=</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>        <span style="color: #666666; font-style: italic;">// Right Justified</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Set the speed that the ADC should capture data</span>
<span style="color: #666666; font-style: italic;">//    ADCON2bits.ACQT=0b110;    // Acquisition time</span>
<span style="color: #666666; font-style: italic;">//    ADCON2bits.ADCS=0b010;    // Fosc/8 (?)</span>
&nbsp;
    ADCON2bits.<span style="color: #202020;">ACQT</span><span style="color: #339933;">=</span><span style="color: #208080;">0b111</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// Acquisition time</span>
    ADCON2bits.<span style="color: #202020;">ADCS</span><span style="color: #339933;">=</span><span style="color: #208080;">0b010</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// Fosc/32</span>
&nbsp;
&nbsp;
    ADCON0bits.<span style="color: #202020;">ADON</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// Turn the ADC on</span>
&nbsp;
&nbsp;
  <span style="color: #666666; font-style: italic;">// Serial port configuration</span>
    TRISCbits.<span style="color: #202020;">TRISC6</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>	  <span style="color: #666666; font-style: italic;">// Make TX pin an output</span>
    TRISCbits.<span style="color: #202020;">TRISC7</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>	  <span style="color: #666666; font-style: italic;">// and RX pin an input</span>
    ANSELCbits.<span style="color: #202020;">ANSC7</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">// Specifically, an analog input</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Configure the serial port to run at 9600 baud</span>
    <span style="color: #666666; font-style: italic;">// (see manual, page 275)</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// for 16 MHz clock</span>
    SPBRG1 <span style="color: #339933;">=</span> <span style="color: #0000dd;">25</span><span style="color: #339933;">;</span>    
    TXSTA1bits.<span style="color: #202020;">BRGH</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// Baud rate select</span>
    BAUD1CONbits.<span style="color: #202020;">BRG16</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Turn on the serial port</span>
    RCSTA1bits.<span style="color: #202020;">CREN</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// Enable receive mode on the serial port</span>
    TXSTA1bits.<span style="color: #202020;">TXEN</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// Enable transmitter</span>
    RCSTA1bits.<span style="color: #202020;">SPEN</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// Enable receiver</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// CTMU configuration</span>
    CTMUCONH <span style="color: #339933;">=</span> <span style="color: #208080;">0x00</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//make sure CTMU is disabled</span>
    CTMUCONL <span style="color: #339933;">=</span> <span style="color: #208080;">0x90</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//CTMU continues to run when emulator is stopped,CTMU continues</span>
    <span style="color: #666666; font-style: italic;">//to run in idle mode,Time Generation mode disabled, Edges are blocked</span>
    <span style="color: #666666; font-style: italic;">//No edge sequence order, Analog current source not grounded, trigger</span>
    <span style="color: #666666; font-style: italic;">//output disabled, Edge2 polarity = positive level, Edge2 source =</span>
    <span style="color: #666666; font-style: italic;">//source 0, Edge1 polarity = positive level, Edge1 source = source 0,</span>
&nbsp;
    CTMUICONbits.<span style="color: #202020;">IRNG</span> <span style="color: #339933;">=</span> <span style="color: #208080;">0x01</span><span style="color: #339933;">;</span>  <span style="color: #666666; font-style: italic;">// .55uA current source</span>
<span style="color: #666666; font-style: italic;">//    CTMUICONbits.ITRIM = 0b111111;	// half power</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Configure the pins we are going to use</span>
    <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> PINCOUNT<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        lastState<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
        offCount<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span>inputPorts<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">// A</span>
            ANSELA <span style="color: #339933;">=</span>  ANSELA <span style="color: #339933;">|</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>inputPins<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//            TRISA = TRISA | 1&lt;&lt;inputPins[i];</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
          <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">// B</span>
            ANSELB <span style="color: #339933;">=</span>  ANSELB <span style="color: #339933;">|</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>inputPins<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//            TRISB = TRISB | 1&lt;&lt;inputPins[i];</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
          <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">// C</span>
            ANSELC <span style="color: #339933;">=</span>  ANSELC <span style="color: #339933;">|</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>inputPins<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//            TRISC = TRISC | 1&lt;&lt;inputPins[i];</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">int</span> logCount <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">// Number of samples that the logger has acquired</span>
<span style="color: #993333;">int</span> logInterval <span style="color: #339933;">=</span> <span style="color: #0000dd;">10</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Number of seconds between measurements</span>
<span style="color: #993333;">char</span> logging <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">// Specifies whether we are actively logging or not</span>
<span style="color: #993333;">int</span> intervalCounter <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// This function is called repeatedly</span>
<span style="color: #993333;">int</span> in<span style="color: #339933;">;</span>
<span style="color: #993333;">char</span> buffer<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">100</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">void</span> loop<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> i<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span> i <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> PINCOUNT<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #666666; font-style: italic;">//i = 1;</span>
        in <span style="color: #339933;">=</span> measureSwitch<span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>in <span style="color: #339933;">!=</span> RELEASED<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                offCount<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>in <span style="color: #339933;">==</span> PRESSED <span style="color: #339933;">&amp;&amp;</span> in <span style="color: #339933;">!=</span> lastState<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                lastState<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> in<span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #666666; font-style: italic;">// Note on</span>
                buffer<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #208080;">0x90</span> <span style="color: #339933;">+</span> noteChannels<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                buffer<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> noteKeys<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                buffer<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">127</span><span style="color: #339933;">;</span>
                buffer<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #208080;">0x00</span><span style="color: #339933;">;</span>
                puts1USART<span style="color: #009900;">&#40;</span>buffer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//        sprintf(buffer,(const rom far char *)&quot;TOUCH_ON channel=%hu value=%i\r\n\x00&quot;, i, Vread[i]);</span>
<span style="color: #666666; font-style: italic;">//        puts1USART(buffer);</span>
&nbsp;
            <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>in <span style="color: #339933;">==</span> RELEASED <span style="color: #339933;">&amp;&amp;</span> in <span style="color: #339933;">!=</span> lastState<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>offCount<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;</span> <span style="color: #0000dd;">3</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    offCount<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">++;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
                    lastState<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> in<span style="color: #339933;">;</span>
                    offCount<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
&nbsp;
                    <span style="color: #666666; font-style: italic;">// Note off</span>
                    buffer<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #208080;">0x80</span> <span style="color: #339933;">+</span> noteChannels<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                    buffer<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> noteKeys<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                    buffer<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">127</span><span style="color: #339933;">;</span>
                    buffer<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #208080;">0x00</span><span style="color: #339933;">;</span>
                    puts1USART<span style="color: #009900;">&#40;</span>buffer<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//        sprintf(buffer,(const rom far char *)&quot;TOUCH_OFF channel=%hu value=%i\r\n\x00&quot;, i, Vread[i]);</span>
<span style="color: #666666; font-style: italic;">//        puts1USART(buffer);</span>
&nbsp;
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">// This function is called whenever a high interrupt occurs. For the</span>
<span style="color: #666666; font-style: italic;">// datalogger project, this only happens when the EUSART (serial port)</span>
<span style="color: #666666; font-style: italic;">// receives a character.</span>
<span style="color: #339933;">#pragma interruptlow receive_interrupt</span>
<span style="color: #993333;">void</span> receive_interrupt <span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// Read the character in from the serial module. If the serial port just</span>
    <span style="color: #666666; font-style: italic;">// woke up the microcontroller, this will be garbage.</span>
    receiveCharacter <span style="color: #339933;">=</span> RCREG<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// If we just woke up from sleeping, discard the first character because</span>
    <span style="color: #666666; font-style: italic;">// it is probably corrupted</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>stayAwakeCount <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        receiveCharacter <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Start a counter to wait 5 seconds before sleeping, in order to give</span>
    <span style="color: #666666; font-style: italic;">// the user time to send a serial command</span>
    stayAwakeCount <span style="color: #339933;">=</span> <span style="color: #0000dd;">5</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">// PIC 18lf22 datasheet, page 326</span>
&nbsp;
<span style="color: #339933;">#define COUNT 150                     //@ 16MHz = 125uS.</span>
<span style="color: #339933;">#define DELAY for(i=0;i&lt;COUNT;i++) {}</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/*
#define OPENSW 1000                   //Un-pressed switch value
#define TRIP 200                      //Difference between pressed
                                      //and un-pressed switch
#define HYST 65                       //amount to change
*/</span>
<span style="color: #339933;">#define TRIPOFF  1000                 // </span>
<span style="color: #339933;">#define TRIPON   800</span>
                                      <span style="color: #666666; font-style: italic;">//from pressed to un-pressed</span>
&nbsp;
&nbsp;
<span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> measureSwitch<span style="color: #009900;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> channel<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">,</span> j<span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span>inputPorts<span style="color: #009900;">&#91;</span>channel<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">// A</span>
            TRISA <span style="color: #339933;">=</span> TRISA <span style="color: #339933;">|</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>inputPins<span style="color: #009900;">&#91;</span>channel<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
          <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">// B</span>
            TRISB <span style="color: #339933;">=</span> TRISB <span style="color: #339933;">|</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>inputPins<span style="color: #009900;">&#91;</span>channel<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
          <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">// C</span>
            TRISC <span style="color: #339933;">=</span> TRISC <span style="color: #339933;">|</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">&lt;&lt;</span>inputPins<span style="color: #009900;">&#91;</span>channel<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
    ADCON0bits.<span style="color: #202020;">CHS</span> <span style="color: #339933;">=</span> inputADC<span style="color: #009900;">&#91;</span>channel<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">//    ADCON0bits.ADON = 1;      // Turn the ADC on</span>
    DELAY<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">//assume CTMU and A/D have been setup correctly</span>
    <span style="color: #666666; font-style: italic;">//see Example 25-1 for CTMU &amp; A/D setup</span>
&nbsp;
    CTMUCONHbits.<span style="color: #202020;">CTMUEN</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// Enable the CTMU</span>
    CTMUCONLbits.<span style="color: #202020;">EDG1STAT</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// Set Edge status bits to zero</span>
    CTMUCONLbits.<span style="color: #202020;">EDG2STAT</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> 
    CTMUCONHbits.<span style="color: #202020;">IDISSEN</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">//drain charge on the circuit</span>
    DELAY<span style="color: #339933;">;</span>
    DELAY<span style="color: #339933;">;</span>
&nbsp;
    CTMUCONHbits.<span style="color: #202020;">IDISSEN</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;">//end drain of circuit</span>
&nbsp;
    CTMUCONLbits.<span style="color: #202020;">EDG1STAT</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">//Begin charging the circuit</span>
                                  <span style="color: #666666; font-style: italic;">//using CTMU current source</span>
    DELAY<span style="color: #339933;">;</span>                        <span style="color: #666666; font-style: italic;">//wait for 125us</span>
    CTMUCONLbits.<span style="color: #202020;">EDG1STAT</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">//Stop charging circuit</span>
&nbsp;
    PIR1bits.<span style="color: #202020;">ADIF</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>            <span style="color: #666666; font-style: italic;">// Make sure adc interrupts are disabled</span>
    ADCON0bits.<span style="color: #202020;">GO</span><span style="color: #339933;">=</span><span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>              <span style="color: #666666; font-style: italic;">//and begin A/D conv.</span>
    <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>PIR1bits.<span style="color: #202020;">ADIF</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>        <span style="color: #666666; font-style: italic;">//Wait for A/D convert complete</span>
&nbsp;
    Vread<span style="color: #009900;">&#91;</span>channel<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> ADRES<span style="color: #339933;">;</span>       <span style="color: #666666; font-style: italic;">//Get the value from the A/D</span>
&nbsp;
&nbsp;
    CTMUCONHbits.<span style="color: #202020;">CTMUEN</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>      <span style="color: #666666; font-style: italic;">// Disable the CTMU</span>
&nbsp;
    <span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span>inputPorts<span style="color: #009900;">&#91;</span>channel<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">// A</span>
        TRISA <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">// B</span>
        TRISB <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">:</span>  <span style="color: #666666; font-style: italic;">// C</span>
        TRISC <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>Vread<span style="color: #009900;">&#91;</span>channel<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;</span> TRIPON<span style="color: #009900;">&#41;</span> 
    <span style="color: #009900;">&#123;</span>
<span style="color: #666666; font-style: italic;">//        sprintf(buffer,(const rom far char *)&quot;TOUCH_ON  channel=%hu value=%i\r\n\x00&quot;, channel, Vread[channel]);</span>
<span style="color: #666666; font-style: italic;">//        puts1USART(buffer);</span>
        <span style="color: #b1b100;">return</span> PRESSED<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span>Vread<span style="color: #009900;">&#91;</span>channel<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> TRIPOFF <span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
<span style="color: #666666; font-style: italic;">//        sprintf(buffer,(const rom far char *)&quot;TOUCH_OFF channel=%hu value=%i\r\n\x00&quot;, channel, Vread[channel]);</span>
<span style="color: #666666; font-style: italic;">//        puts1USART(buffer);</span>
        <span style="color: #b1b100;">return</span> RELEASED<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span>
    <span style="color: #009900;">&#123;</span>
<span style="color: #666666; font-style: italic;">//        sprintf(buffer,(const rom far char *)&quot;NO_CHANGE channel=%hu value=%i\r\n\x00&quot;, channel, Vread[channel]);</span>
<span style="color: #666666; font-style: italic;">//        puts1USART(buffer);</span>
        <span style="color: #b1b100;">return</span> NOCHANGE<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.cibomahto.com/2010/11/spoon-organ/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Normaloids</title>
		<link>http://www.cibomahto.com/2010/10/normaloids/</link>
		<comments>http://www.cibomahto.com/2010/10/normaloids/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 15:57:50 +0000</pubDate>
		<dc:creator>mahto</dc:creator>
				<category><![CDATA[Ridiculous]]></category>

		<guid isPermaLink="false">http://www.cibomahto.com/?p=1460</guid>
		<description><![CDATA[Defend the galaxy from Nick Normal in this epic space battle! Hastily made using this and this. Available for Linux, OS X, and Windows, or grab the source.]]></description>
			<content:encoded><![CDATA[<p><iframe title="YouTube video player" class="youtube-player" type="text/html" width="600" height="481" src="http://www.youtube.com/embed/oUvn76bcKsA?hl=en&#038;start=0&#038;fs=1&#038;rel=0&#038;showinfo=0&#038;ap=%2526fmt%3D18" frameborder="0"></iframe></p>
<p>Defend the galaxy from <a href="http://www.nicknormal.com/normalblog/">Nick Normal</a> in this epic space battle! Hastily made using <a href="http://www.flickr.com/photos/nicknormal/5128894416/in/photostream/">this</a> and <a href="http://www.planettroy.com/asteroids-in-processing/">this</a>. Available for <a href='http://www.cibomahto.com/2010/10/normaloids/normaloids_linux/' rel='attachment wp-att-1461'>Linux</a>, <a href='http://www.cibomahto.com/2010/10/normaloids/normaloids_mac/' rel='attachment wp-att-1462'>OS X</a>, and <a href='http://www.cibomahto.com/2010/10/normaloids/normaloids_windows/' rel='attachment wp-att-1463'>Windows</a>, or <a href='http://www.cibomahto.com/2010/10/normaloids/normaloids/' rel='attachment wp-att-1464'>grab the source</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cibomahto.com/2010/10/normaloids/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Badge-r</title>
		<link>http://www.cibomahto.com/2010/09/the-badge-r/</link>
		<comments>http://www.cibomahto.com/2010/09/the-badge-r/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 23:01:27 +0000</pubDate>
		<dc:creator>mahto</dc:creator>
				<category><![CDATA[Ridiculous]]></category>

		<guid isPermaLink="false">http://www.cibomahto.com/2010/09/the-badge-r/</guid>
		<description><![CDATA[Modification to my Maker Faire badge]]></description>
			<content:encoded><![CDATA[<p><a alt="image" href="http://www.cibomahto.com/wp-content/uploads/2010/09/wpid-2010-09-26-18.59.391.jpg"><img  alt="image" src="http://www.cibomahto.com/wp-content/uploads/2010/09/wpid-2010-09-26-18.59.39.jpg" /></a></p>
<p>Modification to my Maker Faire badge <img src='http://www.cibomahto.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.cibomahto.com/2010/09/the-badge-r/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I sold my first kit!</title>
		<link>http://www.cibomahto.com/2010/08/i-sold-my-first-kit/</link>
		<comments>http://www.cibomahto.com/2010/08/i-sold-my-first-kit/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 16:38:36 +0000</pubDate>
		<dc:creator>mahto</dc:creator>
				<category><![CDATA[Ridiculous]]></category>

		<guid isPermaLink="false">http://www.cibomahto.com/?p=1445</guid>
		<description><![CDATA[On Wednesday, I took a big step into the world of kit making, when I designed and sold my first product! This one is called the &#8216;D.I.Y. Cow Kit&#8217;, and was purchased by Drew Fustini of PS1. Thanks, Drew! Unfortunately, &#8230; <a href="http://www.cibomahto.com/2010/08/i-sold-my-first-kit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cibomahto.com/2010/08/i-sold-my-first-kit/attachment/152015542/" rel="attachment wp-att-1446"><img src="http://www.cibomahto.com/wp-content/uploads/2010/08/152015542.jpg" alt="" title="152015542" width="600" height="451" class="alignnone size-full wp-image-1446" /></a></p>
<p>On Wednesday, I took a big step into the world of kit making, when I designed and sold my first product! This one is called the &#8216;D.I.Y. Cow Kit&#8217;, and was purchased by <a href="http://twitter.com/pdp7">Drew Fustini</a> of PS1. Thanks, Drew!</p>
<p>Unfortunately, this kit was sold as an edition of 1, so I am already out of stock. However, you can still purchase a <a href="http://www.cibomahto.com/2010/08/double-resistor-what-does-it-mean/">poster</a>, or contact me if you would like a special kit commissioned just for you!</p>
<p>Thanks also to the fine folks at CCCKC, who provided the papercraft cow substrate that I &#8216;hacked&#8217; to design my kit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cibomahto.com/2010/08/i-sold-my-first-kit/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Double resistor! What does it mean?</title>
		<link>http://www.cibomahto.com/2010/08/double-resistor-what-does-it-mean/</link>
		<comments>http://www.cibomahto.com/2010/08/double-resistor-what-does-it-mean/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 00:09:08 +0000</pubDate>
		<dc:creator>mahto</dc:creator>
				<category><![CDATA[Ridiculous]]></category>

		<guid isPermaLink="false">http://www.cibomahto.com/?p=1431</guid>
		<description><![CDATA[See here and here if this doesn&#8217;t make any sense. Source file here Fund my travels! Purchase an authentic copy of this poster for only $15, while supplies last! Includes shipping to North America!:]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cibomahto.com/2010/08/double-resistor-what-does-it-mean/rainbow/" rel="attachment wp-att-1432"><img src="http://www.cibomahto.com/wp-content/uploads/2010/08/rainbow-463x600.png" alt="" title="rainbow" width="463" height="600" class="alignnone size-medium wp-image-1432" /></a><br />
See <a href="http://www.youtube.com/watch?v=OQSNhk5ICTI">here</a> and <a href="http://en.wikipedia.org/wiki/Electronic_color_code">here</a> if this doesn&#8217;t make any sense.<br />
<a href='http://www.cibomahto.com/wp-content/uploads/2010/08/resistor_color_codes.svg_.zip'>Source file here</a></p>
<p>Fund my travels! Purchase an authentic copy of this poster for only $15, while supplies last! Includes shipping to North America!:<br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="S2755HYZLKSTW">
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"><img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"></form>
]]></content:encoded>
			<wfw:commentRss>http://www.cibomahto.com/2010/08/double-resistor-what-does-it-mean/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

