<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.extremist.software/index.php?action=history&amp;feed=atom&amp;title=Hack_Notes_CVA_090405</id>
	<title>Hack Notes CVA 090405 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.extremist.software/index.php?action=history&amp;feed=atom&amp;title=Hack_Notes_CVA_090405"/>
	<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Hack_Notes_CVA_090405&amp;action=history"/>
	<updated>2026-04-07T05:46:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Hack_Notes_CVA_090405&amp;diff=4399&amp;oldid=prev</id>
		<title>Elgreengeeto at 18:06, 10 April 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Hack_Notes_CVA_090405&amp;diff=4399&amp;oldid=prev"/>
		<updated>2009-04-10T18:06:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:06, 10 April 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l325&quot;&gt;Line 325:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 325:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Parts List; Things We Wish We&amp;#039;d Had or Had More of=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Parts List; Things We Wish We&amp;#039;d Had or Had More of=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Female clips for battery connectors (Maybe get from Al Lashers on Monday)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Female clips for battery connectors (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;strike&amp;gt;&lt;/ins&gt;Maybe get from Al Lashers on Monday&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/strike&amp;gt; They don&amp;#039;t have any. Dang.&lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Shaftless pager motors (mega-bulk?)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Shaftless pager motors (mega-bulk?)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Wire Strippers for 28 gage (very small) wires&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Wire Strippers for 28 gage (very small) wires&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Sensebridge]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Sensebridge]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Elgreengeeto</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Hack_Notes_CVA_090405&amp;diff=4398&amp;oldid=prev</id>
		<title>Elgreengeeto at 18:05, 10 April 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Hack_Notes_CVA_090405&amp;diff=4398&amp;oldid=prev"/>
		<updated>2009-04-10T18:05:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:05, 10 April 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l328&quot;&gt;Line 328:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 328:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Shaftless pager motors (mega-bulk?)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Shaftless pager motors (mega-bulk?)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Wire Strippers for 28 gage (very small) wires&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Wire Strippers for 28 gage (very small) wires&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Sensebridge]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Elgreengeeto</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Hack_Notes_CVA_090405&amp;diff=4177&amp;oldid=prev</id>
		<title>Elgreengeeto: /* Go */</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Hack_Notes_CVA_090405&amp;diff=4177&amp;oldid=prev"/>
		<updated>2009-04-06T07:37:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Go&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:37, 6 April 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l310&quot;&gt;Line 310:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 310:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*(Notes on pin rearrangements breadboard vs. final board. This is just for my own reference.)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*(Notes on pin rearrangements breadboard vs. final board. This is just for my own reference.)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Board:	SR	RB	&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	&lt;/del&gt;Rig:	SR	RB&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Board:	&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	&lt;/ins&gt;SR	RB	Rig:	SR	RB&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		3	13		3	12&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		3	13		3	12&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		8	5		8	9&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		8	5		8	9&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	(pwm)9	6	&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;		&lt;/del&gt;9	10&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	(pwm)	9	6	&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	&lt;/ins&gt;9	10&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		12	11		12	7&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		12	11		12	7&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		13	9		13	8&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		13	9		13	8&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Board:	Co	RB	&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	&lt;/del&gt;Rig:	Co	RB&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Board:	&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;	&lt;/ins&gt;Co	RB	Rig:	Co	RB&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		1	11		1	4&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		1	11		1	4&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		2	11		2	4&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		2	11		2	4&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		4	6		4	11&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		4	6		4	11&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		5	4		5	5&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		5	4		5	5&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Image:Cva-0.jpg]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Parts List; Things We Wish We&amp;#039;d Had or Had More of=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Parts List; Things We Wish We&amp;#039;d Had or Had More of=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Elgreengeeto</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Hack_Notes_CVA_090405&amp;diff=4176&amp;oldid=prev</id>
		<title>Elgreengeeto: New page: Hacknotes 2009-04-03  We have lots of parts, now it&#039;s a question of how to attack this biotch. We want two anklets, should we build them in parallel or in series? Answer; a bit of both.  =...</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Hack_Notes_CVA_090405&amp;diff=4176&amp;oldid=prev"/>
		<updated>2009-04-06T07:34:42Z</updated>

		<summary type="html">&lt;p&gt;New page: Hacknotes 2009-04-03  We have lots of parts, now it&amp;#039;s a question of how to attack this biotch. We want two anklets, should we build them in parallel or in series? Answer; a bit of both.  =...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Hacknotes 2009-04-03&lt;br /&gt;
&lt;br /&gt;
We have lots of parts, now it&amp;#039;s a question of how to attack this biotch. We want two anklets, should we build them in parallel or in series? Answer; a bit of both.&lt;br /&gt;
&lt;br /&gt;
=Ready=&lt;br /&gt;
&lt;br /&gt;
*Skory is too gimpy to sew well, Eric will sew up the second armature while Skory tests out the RBBBs he soldered up yesterday and get looking into building the new circuit.&lt;br /&gt;
*One BUB and one RBBB needed some hot, soldery attention. Now all work, yey!&lt;br /&gt;
&lt;br /&gt;
=Steady=&lt;br /&gt;
&lt;br /&gt;
*Breadboard up a circuit running multiple pagermotors with one shift register.&lt;br /&gt;
&lt;br /&gt;
*Shift register confounded Skory, but Eric got it going with &amp;quot;some&amp;quot; help from [[Lamont%27s_PWM_code|Lamont&amp;#039;s code]]. (Thanks!)&lt;br /&gt;
&lt;br /&gt;
==Here&amp;#039;s that code==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/* Skory &amp;amp; Eric&lt;br /&gt;
 * Compass Vibro-Anklet&lt;br /&gt;
 * We Rule, April 2, 2009&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* Some code from:&lt;br /&gt;
 * 2009-03-24, pager motor test, lamont lucas&lt;br /&gt;
 */&lt;br /&gt;
/*&lt;br /&gt;
Some Hitachi HM55B Compass reading code copied from: kiilo kiilo@kiilo.org&lt;br /&gt;
License:  http://creativecommons.org/licenses/by-nc-sa/2.5/ch/&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
// define the pins used to run the shift registers &lt;br /&gt;
int enable_low = 10;  //enable outputs, low = on&lt;br /&gt;
int serial_in  = 12; &lt;br /&gt;
int ser_clear_low = 9;  //pulse low to zero out the shift buffer&lt;br /&gt;
int RCK  = 7;  //RCK, push the serial buffer to the outputs&lt;br /&gt;
int SRCK = 8;  //&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;math.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
//// define pins used to operate the digital compass (HM55B)&lt;br /&gt;
byte CLK_pin = 11;&lt;br /&gt;
byte EN_pin = 5;&lt;br /&gt;
byte DIO_pin = 4;&lt;br /&gt;
&lt;br /&gt;
int X_Data = 0;&lt;br /&gt;
int Y_Data = 0;&lt;br /&gt;
int angle;&lt;br /&gt;
&lt;br /&gt;
int status;&lt;br /&gt;
unsigned long serialTimer = millis();&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(enable_low, OUTPUT);  // set shift register pins as outputs&lt;br /&gt;
  pinMode(serial_in, OUTPUT);&lt;br /&gt;
  pinMode(ser_clear_low, OUTPUT);&lt;br /&gt;
  pinMode(RCK, OUTPUT);&lt;br /&gt;
  pinMode(SRCK, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
  // use some serial for debugging&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  Serial.println(&amp;quot;Setting up board&amp;quot;);&lt;br /&gt;
  &lt;br /&gt;
  // make sure we start out all off&lt;br /&gt;
  digitalWrite(enable_low, HIGH);&lt;br /&gt;
  // this should wipe out the serial buffer on the shift register&lt;br /&gt;
  digitalWrite(ser_clear_low, LOW);&lt;br /&gt;
  delay(100);   //delay in ms&lt;br /&gt;
  &lt;br /&gt;
  // the TPIC6b595 clocks work on a rising edge, so make sure they&amp;#039;re low to start.&lt;br /&gt;
  digitalWrite(RCK, LOW);&lt;br /&gt;
  digitalWrite(SRCK, LOW);&lt;br /&gt;
  &lt;br /&gt;
  digitalWrite(ser_clear_low, HIGH);   //we are now clear to write into the serial buffer&lt;br /&gt;
&lt;br /&gt;
  Serial.println(&amp;quot;Board is setup&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  // setup for HM55B compass chip&lt;br /&gt;
  pinMode(EN_pin, OUTPUT);&lt;br /&gt;
  pinMode(CLK_pin, OUTPUT);&lt;br /&gt;
  pinMode(DIO_pin, INPUT);&lt;br /&gt;
&lt;br /&gt;
  HM55B_Reset();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  // make the compass get a reading&lt;br /&gt;
  HM55B_StartMeasurementCommand(); // necessary!!&lt;br /&gt;
  delay(40); // the data is ready 40ms later&lt;br /&gt;
  status = HM55B_ReadCommand();&lt;br /&gt;
  Serial.print(status); // read data and print Status&lt;br /&gt;
  Serial.print(&amp;quot; &amp;quot;);&lt;br /&gt;
  X_Data = ShiftIn(11); // Field strength in X&lt;br /&gt;
  Y_Data = ShiftIn(11); // and Y direction&lt;br /&gt;
  Serial.print(X_Data); // print X strength&lt;br /&gt;
  Serial.print(&amp;quot; &amp;quot;);&lt;br /&gt;
  Serial.print(Y_Data); // print Y strength&lt;br /&gt;
  Serial.print(&amp;quot; &amp;quot;);&lt;br /&gt;
  digitalWrite(EN_pin, HIGH); // ok deselect chip&lt;br /&gt;
  angle = 180 * (atan2(-1 * Y_Data , X_Data) / M_PI); // angle is atan( -y/x) !!!&lt;br /&gt;
  Serial.print(angle); // print angle&lt;br /&gt;
  Serial.println(&amp;quot; &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
  // debugging line &lt;br /&gt;
  //TurnOnMotor(2);&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  // 6 motors without overlap &lt;br /&gt;
  if ((angle &amp;gt; -30) and (angle &amp;lt; 30)) {&lt;br /&gt;
    TurnOnMotor(1);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ((angle &amp;gt; -90) and (angle &amp;lt; -30)) {&lt;br /&gt;
    TurnOnMotor(2);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ((angle &amp;gt; -150) and (angle &amp;lt; -90)) {&lt;br /&gt;
    TurnOnMotor(3);&lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
  if (((angle &amp;gt; 150) and (angle &amp;lt; 180)) or ((angle &amp;lt; -150) and (angle &amp;gt; -180))){&lt;br /&gt;
    TurnOnMotor(4);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ((angle &amp;gt; 30) and (angle &amp;lt; 90)) {&lt;br /&gt;
    TurnOnMotor(6);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ((angle &amp;gt; 90) and (angle &amp;lt; 150)) {&lt;br /&gt;
    TurnOnMotor(5);&lt;br /&gt;
  } &lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  /*&lt;br /&gt;
  // 4 motors without overlap &lt;br /&gt;
  if ((angle &amp;gt; -45) and (angle &amp;lt; 45)) {&lt;br /&gt;
    TurnOnMotor(1);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ((angle &amp;gt; -135) and (angle &amp;lt; -45)) {&lt;br /&gt;
    TurnOnMotor(2);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if (((angle &amp;gt; 135) and (angle &amp;lt; 180)) or ((angle &amp;lt; -135) and (angle &amp;gt; -180))){&lt;br /&gt;
    TurnOnMotor(3);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  if ((angle &amp;gt; 45) and (angle &amp;lt; 135)) {&lt;br /&gt;
    TurnOnMotor(4);&lt;br /&gt;
  } &lt;br /&gt;
  */&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//// FUNCTIONS&lt;br /&gt;
&lt;br /&gt;
void TurnOnMotor(int which){&lt;br /&gt;
  // accept which from 1 to 8&lt;br /&gt;
  // send message to shift register as appropiate&lt;br /&gt;
  digitalWrite(enable_low, HIGH);&lt;br /&gt;
  delayMicroseconds(100);  //slow and steady&lt;br /&gt;
  switch(which){&lt;br /&gt;
    case 1:&lt;br /&gt;
      shiftOut(serial_in, SRCK, LSBFIRST, B10000000);&lt;br /&gt;
      break;&lt;br /&gt;
    case 2:&lt;br /&gt;
      shiftOut(serial_in, SRCK, LSBFIRST, B01000000);&lt;br /&gt;
      break;&lt;br /&gt;
    case 3:&lt;br /&gt;
      shiftOut(serial_in, SRCK, LSBFIRST, B00100000);&lt;br /&gt;
      break;&lt;br /&gt;
    case 4:&lt;br /&gt;
      shiftOut(serial_in, SRCK, LSBFIRST, B00010000);&lt;br /&gt;
      break;&lt;br /&gt;
    case 5:&lt;br /&gt;
      shiftOut(serial_in, SRCK, LSBFIRST, B00001000);&lt;br /&gt;
      break;&lt;br /&gt;
    case 6:&lt;br /&gt;
      shiftOut(serial_in, SRCK, LSBFIRST, B00000100);&lt;br /&gt;
      break;&lt;br /&gt;
    case 7:  // not used in current armature&lt;br /&gt;
      shiftOut(serial_in, SRCK, LSBFIRST, B00000010);&lt;br /&gt;
      break;&lt;br /&gt;
    case 8:  // not used in current armature&lt;br /&gt;
      shiftOut(serial_in, SRCK, LSBFIRST, B00000001);&lt;br /&gt;
      break;&lt;br /&gt;
    case 9:  //turn all on&lt;br /&gt;
      shiftOut(serial_in, SRCK, LSBFIRST, B11111111);&lt;br /&gt;
      break;&lt;br /&gt;
    default:&lt;br /&gt;
      // turn them all off&lt;br /&gt;
      shiftOut(serial_in, SRCK, LSBFIRST, B00000000);&lt;br /&gt;
  } &lt;br /&gt;
  //in all cases, pulse RCK to pop that into the outputs&lt;br /&gt;
  delayMicroseconds(100);&lt;br /&gt;
  digitalWrite(RCK, HIGH);&lt;br /&gt;
  delayMicroseconds(100);&lt;br /&gt;
  digitalWrite(RCK, LOW);&lt;br /&gt;
  analogWrite(enable_low, 80);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//HM55B Functions&lt;br /&gt;
void ShiftOut(int Value, int BitsCount) {&lt;br /&gt;
  for(int i = BitsCount; i &amp;gt;= 0; i--) {&lt;br /&gt;
    digitalWrite(CLK_pin, LOW);&lt;br /&gt;
    if ((Value &amp;amp; 1 &amp;lt;&amp;lt; i) == ( 1 &amp;lt;&amp;lt; i)) {&lt;br /&gt;
      digitalWrite(DIO_pin, HIGH);&lt;br /&gt;
      //Serial.print(&amp;quot;1&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
      digitalWrite(DIO_pin, LOW);&lt;br /&gt;
      //Serial.print(&amp;quot;0&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    digitalWrite(CLK_pin, HIGH);&lt;br /&gt;
    delayMicroseconds(1);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int ShiftIn(int BitsCount) {&lt;br /&gt;
  int ShiftIn_result;&lt;br /&gt;
    ShiftIn_result = 0;&lt;br /&gt;
    pinMode(DIO_pin, INPUT);&lt;br /&gt;
    for(int i = BitsCount; i &amp;gt;= 0; i--) {&lt;br /&gt;
      digitalWrite(CLK_pin, HIGH);&lt;br /&gt;
      delayMicroseconds(1);&lt;br /&gt;
      if (digitalRead(DIO_pin) == HIGH) {&lt;br /&gt;
        ShiftIn_result = (ShiftIn_result &amp;lt;&amp;lt; 1) + 1; &lt;br /&gt;
      }&lt;br /&gt;
      else {&lt;br /&gt;
        ShiftIn_result = (ShiftIn_result &amp;lt;&amp;lt; 1) + 0;&lt;br /&gt;
      }&lt;br /&gt;
      digitalWrite(CLK_pin, LOW);&lt;br /&gt;
      delayMicroseconds(1);&lt;br /&gt;
    }&lt;br /&gt;
  //Serial.print(&amp;quot;:&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// below is difficult to understand:&lt;br /&gt;
// if bit 11 is Set the value is negative&lt;br /&gt;
// the representation of negative values you&lt;br /&gt;
// have to add B11111000 in the upper Byte of&lt;br /&gt;
// the integer.&lt;br /&gt;
// see: http://en.wikipedia.org/wiki/Two%27s_complement&lt;br /&gt;
  if ((ShiftIn_result &amp;amp; 1 &amp;lt;&amp;lt; 11) == 1 &amp;lt;&amp;lt; 11) {&lt;br /&gt;
    ShiftIn_result = (B11111000 &amp;lt;&amp;lt; 8) | ShiftIn_result; &lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  return ShiftIn_result;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void HM55B_Reset() {&lt;br /&gt;
  pinMode(DIO_pin, OUTPUT);&lt;br /&gt;
  digitalWrite(EN_pin, LOW);&lt;br /&gt;
  ShiftOut(B0000, 3);&lt;br /&gt;
  digitalWrite(EN_pin, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void HM55B_StartMeasurementCommand() {&lt;br /&gt;
  pinMode(DIO_pin, OUTPUT);&lt;br /&gt;
  digitalWrite(EN_pin, LOW);&lt;br /&gt;
  ShiftOut(B1000, 3);&lt;br /&gt;
  digitalWrite(EN_pin, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int HM55B_ReadCommand() {&lt;br /&gt;
  int result = 0;&lt;br /&gt;
  pinMode(DIO_pin, OUTPUT);&lt;br /&gt;
  digitalWrite(EN_pin, LOW);&lt;br /&gt;
  ShiftOut(B1100, 3);&lt;br /&gt;
  result = ShiftIn(3);&lt;br /&gt;
  return result;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Crimped some ribbon cable and soldered pager motors to it spaced to fit in the little pockets of our armature.&lt;br /&gt;
*Added a hole to take the wire leading away from the ribbon cable so it can attach to the top of the main circuit board on the exterior of the armature.&lt;br /&gt;
[[Image:Cva-0.jpg]]&lt;br /&gt;
*Next we need to figure out how to design a minimally sized circuit board to:&lt;br /&gt;
*#Fit in the bigger pockets of our armature (though sticking up vertically well past the top of the band will be necessary).&lt;br /&gt;
*#Allow for the mounting of the compass chip perpendicular to the board. (The board will be vertical and the chip needs to be horizontal until we get our little hands on that much-coveted third-axis!)&lt;br /&gt;
*#Have convenient jacks to plug/unplug battery packs.&lt;br /&gt;
*#Be somehow encased in a happy little box of some sort.&lt;br /&gt;
&lt;br /&gt;
=Go=&lt;br /&gt;
&lt;br /&gt;
*Solution!&lt;br /&gt;
*#Hide the shift register &amp;lt;em&amp;gt;under&amp;lt;/em&amp;gt; the RBBB [[Image:Cva-1.jpg]]&lt;br /&gt;
*#Add some right-header pins at the end, have those plug into a tiny perpendicular board for the compass chip. [[Image:Cva-2.jpg]]&lt;br /&gt;
*#Have the socket for the motors&amp;#039; ribbon cable and the socket for the batteries dangle on external wires. This is slightly less solid of a design, but is more flexible and will make soldering MUCH easier.[[Image:Cva-6.jpg]]&lt;br /&gt;
*#If you arrange the shift register correctly under the RBBB, four out of five of the data pins between the two can just be bridged across without wires. [[Image:Cva-3.jpg]]&lt;br /&gt;
&lt;br /&gt;
*Soldering lessons:&lt;br /&gt;
**If your brain is capacious enough, figure out maximal alignment before soldering anything, or you&amp;#039;ll end up soldering obnoxious little wires for hours.&lt;br /&gt;
**If you try to be too neat, however, you will waste a great deal of time soldering in impossibly tight corners, only likely to realize that you have planned your optimistically über-efficient circuit wrong and have to get out the solder-wick and go crazy...&lt;br /&gt;
[[Image:Cva-4.jpg]]&lt;br /&gt;
&lt;br /&gt;
*(Notes on pin rearrangements breadboard vs. final board. This is just for my own reference.)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Board:	SR	RB		Rig:	SR	RB&lt;br /&gt;
		3	13		3	12&lt;br /&gt;
		8	5		8	9&lt;br /&gt;
	(pwm)9	6			9	10&lt;br /&gt;
		12	11		12	7&lt;br /&gt;
		13	9		13	8&lt;br /&gt;
Board:	Co	RB		Rig:	Co	RB&lt;br /&gt;
		1	11		1	4&lt;br /&gt;
		2	11		2	4&lt;br /&gt;
		4	6		4	11&lt;br /&gt;
		5	4		5	5&lt;br /&gt;
[[Image:Cva-0.jpg]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Parts List; Things We Wish We&amp;#039;d Had or Had More of=&lt;br /&gt;
&lt;br /&gt;
*Female clips for battery connectors (Maybe get from Al Lashers on Monday)&lt;br /&gt;
*Shaftless pager motors (mega-bulk?)&lt;br /&gt;
*Wire Strippers for 28 gage (very small) wires&lt;/div&gt;</summary>
		<author><name>Elgreengeeto</name></author>
	</entry>
</feed>