<?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>Amar Kulo</title>
	<atom:link href="http://blog.amarkulo.com/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.amarkulo.com</link>
	<description>System administration, photography and DIY projects</description>
	<lastBuildDate>Thu, 15 Jul 2010 08:50:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Debugging EXEC_BAD_ACCESS on iPhone</title>
		<link>http://blog.amarkulo.com/debugging-exec_bad_access-on-iphone</link>
		<comments>http://blog.amarkulo.com/debugging-exec_bad_access-on-iphone#comments</comments>
		<pubDate>Thu, 15 Jul 2010 08:50:57 +0000</pubDate>
		<dc:creator>Amar Kulo</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[bad]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[codza]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[exec]]></category>
		<category><![CDATA[exec_bad_access]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=359</guid>
		<description><![CDATA[Last night I had a problem with application crashing without obvious reason, I didn&#8217;t change much in code (I thought so). So a bit googling and I found solution written by codza how to debug this and find the source of the error. Here is link to his blog post.]]></description>
			<content:encoded><![CDATA[<p>Last night I had a problem with application crashing without obvious reason, I didn&#8217;t change much in code (I thought so). So a bit googling and I found solution written by <a title="Codza" href="http://www.codza.com/">codza</a> how to debug this and find the source of the error.</p>
<p>Here is <a title="codza - how to debug EXEC_BAD_ACCESS" href="http://www.codza.com/how-to-debug-exc_bad_access-on-iphone">link</a> to his blog post.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/debugging-exec_bad_access-on-iphone/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UIImageView is moving view to 0,0</title>
		<link>http://blog.amarkulo.com/uiimageview-is-moving-view-to-00</link>
		<comments>http://blog.amarkulo.com/uiimageview-is-moving-view-to-00#comments</comments>
		<pubDate>Fri, 02 Jul 2010 12:14:02 +0000</pubDate>
		<dc:creator>Amar Kulo</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[addSubview]]></category>
		<category><![CDATA[didFinishLaunching]]></category>
		<category><![CDATA[didFinisLaunchingWithOptions]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[SubView]]></category>
		<category><![CDATA[UIApplication]]></category>
		<category><![CDATA[UIImage]]></category>
		<category><![CDATA[UIImageView]]></category>
		<category><![CDATA[UIView]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=355</guid>
		<description><![CDATA[Today I had weird problem while creating one iPhone application. I have created one UIView and added one UIImageView to it and loaded it with Default.png image, but when starting the program whole view is moved up for 20px, it&#8217;s y reference is starting from 0 instead from 20, so here is how to fix [...]]]></description>
			<content:encoded><![CDATA[<p>Today I had weird problem while creating one iPhone application.</p>
<p>I have created one UIView and added one UIImageView to it and loaded it with Default.png image, but when starting the program whole view is moved up for 20px, it&#8217;s y reference is starting from 0 instead from 20, so here is how to fix it easily.</p>
<p>In application didFinishLaunching delegate add following code before [window makeKeyAndVisible]; and after [window addSubview:yourView];</p>
<blockquote><p>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {</p>
<p>[window addSubview:yourView];<br />
<strong>[yourView</strong><strong> setFrame:CGRectMake(0, 20, 320, 460)];</strong> // so you are creating frame which x starts on 0, y starts on 20px and with dimensions 320px x 460px<br />
[window makeKeyAndVisible];</p>
<p>return YES;<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/uiimageview-is-moving-view-to-00/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Failed to initialize dynamic preprocessor: SF_SDF (IPV6) version 1.1.1</title>
		<link>http://blog.amarkulo.com/failed-to-initialize-dynamic-preprocessor-sf_sdf-ipv6-version-1-1-1</link>
		<comments>http://blog.amarkulo.com/failed-to-initialize-dynamic-preprocessor-sf_sdf-ipv6-version-1-1-1#comments</comments>
		<pubDate>Fri, 30 Apr 2010 10:01:13 +0000</pubDate>
		<dc:creator>Amar Kulo</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[dynamicengine]]></category>
		<category><![CDATA[dynamicpreprocessor]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[sf_sdf]]></category>
		<category><![CDATA[snort]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[winpcap]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=353</guid>
		<description><![CDATA[Today I have tried to update my Snort and rules and when testing I got this error message because IPV6 was not enabled on my computer. The fix is very simple, just delete sf_sdf.dll file from C:\Snort\lib\snort_dynamicpreprocessor directory and start snort again. Update of snort is very simple and it can be described in few [...]]]></description>
			<content:encoded><![CDATA[<p>Today I have tried to update my Snort and rules and when testing I got this error message because IPV6 was not enabled on my computer.</p>
<p>The fix is very simple, just delete<strong> sf_sdf.dll</strong> file from<strong> C:\Snort\lib\snort_dynamicpreprocessor</strong> directory and start snort again.</p>
<p>Update of snort is very simple and it can be described in few simple steps which can be used for fresh install as well:</p>
<ul>
<li>download <strong>Snort 2.8.6</strong> from the<a title="Snort" href="http://www.snort.org"><strong> www.snort.org</strong></a> site</li>
<li>download <strong>WinPcap 4.1.1</strong> from the <a title="Winpcap" href="http://www.winpcap.org"><strong>www.winpcap.org</strong></a></li>
<li>install both of them on the target machine</li>
<li>download the latest community rules from <a title="Snort" href="http://www.snort.org"><strong>www.snort.org</strong></a> (you need to register and log in to be able to download them)</li>
<li>extract rules to <strong>C:\Snort</strong> overwriting existing files and open <strong>Snort.conf</strong> file in the etc map</li>
<li>find line nr. 155 and replace it to this<strong> dynamicpreprocessor directory C:\Snort\lib\snort_dynamicpreprocessor</strong></li>
<li>then replace line 158 to this<strong> dynamicengine C:\Snort\lib\snort_dynamicengine\sf_engine.dll</strong></li>
<li>and then comment out line 161 if you don&#8217;t have dynamic rules <strong>#dynamicdetection directory /usr/local/lib/snort_dynamicrules</strong></li>
<li>now when you are done if you are not using IPV6 delete <strong>sf_sdf.dll</strong> file from <strong>C:\Snort\lib\snort_dynamicpreprocessor</strong> to avoid this error</li>
<li>start Snort to test it</li>
<li>start Snort as service if test is OK</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/failed-to-initialize-dynamic-preprocessor-sf_sdf-ipv6-version-1-1-1/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>#Arduino flash trigger v1 &#8211; parts list and schematics</title>
		<link>http://blog.amarkulo.com/arduino-flash-trigger-v1-parts-list-and-schematics</link>
		<comments>http://blog.amarkulo.com/arduino-flash-trigger-v1-parts-list-and-schematics#comments</comments>
		<pubDate>Tue, 06 Apr 2010 21:34:05 +0000</pubDate>
		<dc:creator>Amar Kulo</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[My photo eye]]></category>
		<category><![CDATA[part]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[schematics]]></category>
		<category><![CDATA[trigger]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=349</guid>
		<description><![CDATA[So as promised here is the parts list for the first version of the Arduino flash trigger. 1x Atmega 168 or smaller chip with Arduino bootloader preprogrammed (the code compiled is only 4k) 1x 28-pin IC socket (so that you can use chip for other projects latter) 1x 16MhZ ceramic resonator 1x 16&#215;2 lcd display, [...]]]></description>
			<content:encoded><![CDATA[<p>So as promised here is the parts list for the first version of the Arduino flash trigger.</p>
<ul>
<li>1x Atmega 168 or smaller chip with Arduino bootloader preprogrammed (the code compiled is only 4k)</li>
<li>1x 28-pin IC socket (so that you can use chip for other projects latter)</li>
<li>1x 16MhZ ceramic resonator</li>
<li>1x 16&#215;2 lcd display, HD44780 compatible</li>
<li>1x 7805 5V voltage regulator</li>
<li>4x micro buttons</li>
<li>1x SFH615 optocouppler</li>
<li>2x 3mm led diodes (green for power and yellow for activity)</li>
<li>4x 220R resistors, 1x 10K resistor and 1x 1K resistor</li>
<li>2x trim potentiometers (4K7 and 10K)</li>
<li>3x male headers(6-pin, 3-pin and 2-pin)</li>
<li>3x ceramic capacitators(0.1 uF, 1uF, 10uF)</li>
<li>1x 3.5 mm female jack for connection to laser</li>
</ul>
<p>Now this post wouldn&#8217;t be complete without Eagle schematic and board files. You can download them on the following link: <a class="downloadlink" href="http://blog.amarkulo.com/download-6" title="Version1 downloaded 116 times" >Trigger schematics (116)</a>.</p>
<p>I don&#8217;t have schematics of the laser side because it&#8217;s simple. I&#8217;m leading 3 wires with 3.5mm audio cable, analog in, gnd and vcc(+5V). In the laser box I have laser which is connected directly to the vcc and gnd, one foto resistor that is giving to high value to analog in so I have one resistor before it connected to gnd.</p>
<p>So we have:</p>
<ul>
<li>GND wire is connected to laser gnd wire and to one side of let&#8217;s say 2M resistor which other side is connected to one leg of photo resistor</li>
<li>VCC wire is connected to laser vcc wire</li>
<li>Analog in wire connected to other leg of the photo resistor</li>
</ul>
<p>It depends on which photo resistor you are using how big resistor value before it you have to use. Arduino is capable of reading analog in until value of 1024 and that&#8217;s reason why the big resistor value is needed, so you are testing which one do you need until the value of direct laser beam to the photo resistor is under 1024, mine is about 920.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/arduino-flash-trigger-v1-parts-list-and-schematics/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>#Arduino flash trigger – update 2</title>
		<link>http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2</link>
		<comments>http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2#comments</comments>
		<pubDate>Sun, 28 Mar 2010 19:18:24 +0000</pubDate>
		<dc:creator>Amar Kulo</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[canon]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[My photo eye]]></category>
		<category><![CDATA[nikon]]></category>
		<category><![CDATA[trigger]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=339</guid>
		<description><![CDATA[So the first prototype board is soldered. All parts are mounted now and everything is working except debug button, I have to find why is that because I couldn&#8217;t find any obvious reason. The soldering was OK with only few places to be fixed because of strong acid mix, but nothing special. Here are some [...]]]></description>
			<content:encoded><![CDATA[<p>So the first prototype board is soldered. All parts are mounted now and everything is working except debug button, I have to find why is that because I couldn&#8217;t find any obvious reason.</p>
<p>The soldering was OK with only few places to be fixed because of strong acid mix, but nothing special.</p>
<p>Here are some pictures of the finished trigger.</p>

<a href='http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2/top' title='Top side with display mounted'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/03/top-150x150.jpg" class="attachment-thumbnail" alt="Top side with display mounted" title="Top side with display mounted" /></a>
<a href='http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2/top-disassambled' title='Top side with display unmounted'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/03/top-disassambled-150x150.jpg" class="attachment-thumbnail" alt="Top side with display unmounted" title="Top side with display unmounted" /></a>
<a href='http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2/bottom' title='Bottom side soldered'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/03/bottom-150x150.jpg" class="attachment-thumbnail" alt="Bottom side soldered" title="Bottom side soldered" /></a>

<p>P.S. This is final and last prototype of the version 1. The next one will be better, without trimpots, with 3-4 keys, lot of menus and few outputs instead of one.</p>
<p>Stay tuned!!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/arduino-flash-triger-%e2%80%93-update-2/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>#Arduino flash trigger &#8211; update 1</title>
		<link>http://blog.amarkulo.com/arduino-flash-triger-update-1</link>
		<comments>http://blog.amarkulo.com/arduino-flash-triger-update-1#comments</comments>
		<pubDate>Sun, 21 Mar 2010 22:53:22 +0000</pubDate>
		<dc:creator>Amar Kulo</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[canon]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[My photo eye]]></category>
		<category><![CDATA[nikon]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[trigger]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=332</guid>
		<description><![CDATA[Here are two pictures of the first prototype board for the Arduino flash trigger. Things that I have changed from the last scheme are: removed triggering 3.5mm female connector, instead I have 3-pin connectors to connect wires on one or two flashes added 6 pin programming header so that I can program Atmega chip without [...]]]></description>
			<content:encoded><![CDATA[<p>Here are two pictures of the first prototype board for the Arduino flash trigger. Things that I have changed from the last scheme are:</p>
<ul>
<li>removed triggering 3.5mm female connector, instead I have 3-pin connectors to connect wires on one or two flashes</li>
<li>added 6 pin programming header so that I can program Atmega chip without removing it from the board every time</li>
<li>added 3 pin jumper header for power selection (usb/external)</li>
</ul>
<p>Here are two pictures of a fresh etched board, not perfect on the corners because of bad mixing of the acid but good enough for the first attempt.</p>

<a href='http://blog.amarkulo.com/arduino-flash-triger-update-1/attachment/1' title='Top'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/03/1-150x150.jpg" class="attachment-thumbnail" alt="Top" title="Top" /></a>
<a href='http://blog.amarkulo.com/arduino-flash-triger-update-1/2-3' title='Bottom'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/03/2-150x150.jpg" class="attachment-thumbnail" alt="Bottom" title="Bottom" /></a>

<p>P.S. Updated schema coming soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/arduino-flash-triger-update-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>#Arduino -&gt; Flash trigger via laser for watterdrops</title>
		<link>http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops</link>
		<comments>http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops#comments</comments>
		<pubDate>Mon, 22 Feb 2010 10:54:39 +0000</pubDate>
		<dc:creator>Amar Kulo</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[laser]]></category>
		<category><![CDATA[My photo eye]]></category>
		<category><![CDATA[nikon]]></category>
		<category><![CDATA[trigger]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=291</guid>
		<description><![CDATA[Today I have been asked if I can write something about mine Nikon flash Arduino trigger video that I have put on Youtube. And here it is, description, schematics, video and sample pictures. The idea has already been seen on the Internet. Arduino is controlling photo resistor on which laser beam is pointed. When resistance [...]]]></description>
			<content:encoded><![CDATA[<p>Today I have been asked if I can write something about mine <span style="text-decoration: line-through;">Nikon</span> flash Arduino trigger video that I have put on Youtube.</p>
<p>And here it is, description, schematics, video and sample pictures.</p>
<p>The idea has already been seen on the Internet. Arduino is controlling photo resistor on which laser beam is pointed. When resistance changes itself because of the drop that is cutting beam then Arduino is triggering Nikon camera after the amount of time specified with one trim capacitor which can be between 0 and 1023, but I have divided it with 2 so that I have better control of the delay. All information is displayed on 2&#215;16 LCD display. Also to be able to take picture of drops colliding it&#8217;s necessary that speed of the drops be 10 drops/sec so I have implemented one button for that with proper code behind it.</p>
<p>I have also 4 buttons and 2 led diodes on the board. Buttons that I have are <strong>reset</strong> for resetting of the electronics, <strong>debug</strong> that is switching debug mode on and off, <strong>drops</strong> that is designed to count drops per second and <strong>ready </strong>button that is used when I&#8217;m taking pictures so that when drops are falling fast I don&#8217;t trigger camera every time when they are going down. Led diodes that I&#8217;m using are <strong>green </strong>for power and <strong>yellow </strong>for visual notification when the trigger is trigged.</p>
<p>Here is the final schematics that I&#8217;m using right now.</p>
<p style="text-align: center;">
<div class="wp-caption aligncenter" style="width: 370px"><a href="http://blog.amarkulo.com/wp-content/uploads/2010/02/schema.png" rel="lightbox[291]"><img class=" " title="Nikon-Arduino trigger schema" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/schema.png" alt="Nikon-Arduino trigger schema" width="360" height="220" /></a><p class="wp-caption-text">Nikon-Arduino trigger schema</p></div>
<p>For simplified solution with cables I&#8217;m using standard audio cables with 3.5mm stereo jacks on both sides, so I can use same cables for other purposes as well. I have also modified Nikon cable remote so that it has 3.5mm female stereo jack built in for simple use with trigger and without it.</p>
<div class="wp-caption aligncenter" style="width: 370px"><a href="http://blog.amarkulo.com/wp-content/uploads/2010/02/3.jpg" rel="lightbox[291]"><img class="  " title="Modified Nikon cable release" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/3.jpg" alt="Nikon trigger schema" width="360" height="480" /></a><p class="wp-caption-text">Modified Nikon cable release</p></div>
<p>Here are few pictures of the whole setup.</p>
<p style="text-align: center;">
<div class="wp-caption aligncenter" style="width: 370px"><a href="http://blog.amarkulo.com/wp-content/uploads/2010/02/1.jpg" rel="lightbox[291]"><img title="Nikon Trigger" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/1.jpg" alt="Nikon Trigger" width="360" height="480" /></a></p>
<p><a href="http://blog.amarkulo.com/wp-content/uploads/2010/02/2.jpg" rel="lightbox[291]"><img title="Nikon Trigger" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/2.jpg" alt="Nikon Trigger" width="360" height="480" /></a></p>
<p><a href="http://blog.amarkulo.com/wp-content/uploads/2010/02/laser.jpg" rel="lightbox[291]"><img title="Nikon Trigger" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/laser.jpg" alt="Nikon Trigger" width="360" height="480" /></a></p>
<p><p class="wp-caption-text">Nikon Trigger</p></div>
<p>Of course code behind is in this <a class="downloadlink" href="http://blog.amarkulo.com/download-5" title="Version1.1 downloaded 105 times" >NikonFastTrigger.pde (105)</a> file available for download.</p>
<p>Simple instructions.</p>
<ol>
<li>when the program is loaded it will display Ready on the second line</li>
<li>when drop breaks laser beam then instead of Ready on display will be Busy until you press Ready button</li>
<li>offten because I have laser box about 1m above the surface delay is needed between 150-220 ms</li>
</ol>
<p>For drops counter I&#8217;m doing like this.</p>
<ol>
<li>switch to drops counter with drops button</li>
<li>then I try to create drops stream with about 1 drop per second with help of the normal digital watch and by changing delay I set Arduino to recognize that as 1drop/sec</li>
<li>now the only thing left is to configure drops stream to 10 drops/second for colliding watterdrops</li>
</ol>
<p>Here are couple of pictures captured with this setup and pictures of colliding drops are to come.</p>

<a href='http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops/1-2' title='1'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/11-150x150.jpg" class="attachment-thumbnail" alt="1" title="1" /></a>
<a href='http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops/2-2' title='2'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/21-150x150.jpg" class="attachment-thumbnail" alt="2" title="2" /></a>
<a href='http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops/3-2' title='3'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/31-150x150.jpg" class="attachment-thumbnail" alt="3" title="3" /></a>
<a href='http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops/attachment/4' title='4'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/4-150x150.jpg" class="attachment-thumbnail" alt="4" title="4" /></a>
<a href='http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops/attachment/5' title='5'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2010/02/5-150x150.jpg" class="attachment-thumbnail" alt="5" title="5" /></a>

<p>And here is the video from YouTube.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="445" height="364" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Qb_YpJO0nLc&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;border=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="445" height="364" src="http://www.youtube.com/v/Qb_YpJO0nLc&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;border=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/arduino-nikon-trigger-via-laser-for-watterdrops/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CANON PowerShot and Ixus service manual and part list</title>
		<link>http://blog.amarkulo.com/canon-powershot-and-ixus-service-manual-and-part-list</link>
		<comments>http://blog.amarkulo.com/canon-powershot-and-ixus-service-manual-and-part-list#comments</comments>
		<pubDate>Fri, 08 Jan 2010 20:21:12 +0000</pubDate>
		<dc:creator>Amar Kulo</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[canon]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[ixus]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[power]]></category>
		<category><![CDATA[powershot]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[service manual]]></category>
		<category><![CDATA[shot]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=278</guid>
		<description><![CDATA[Last week my kids have broken Ixus 70 that my wife got for hers birthday. I tried to find service manual to see how am I going to assemble lens but without any success, at least not for free. So finally when I have founded it and paid for it, I though why not have [...]]]></description>
			<content:encoded><![CDATA[<p>Last week my kids have broken Ixus 70 that my wife got for hers birthday.</p>
<p>I tried to find service manual to see how am I going to assemble lens but without any success, at least not for free.</p>
<p>So finally when I have founded it and paid for it, I though why not have it here on blog so that everyone that needs it can get it for free.</p>
<p>So here are they, 2 files, service manual and parts list.</p>
<p>Enjoy.</p>
<ul>
<li><a class="downloadlink" href="http://blog.amarkulo.com/download-3" title=" downloaded 526 times" >CANON PowerShot SD10, PowerShot SD750, Digital Elph, Digital Ixus 70, 75 Service Manual - NO PARTS LIST (526)</a></li>
<li><a class="downloadlink" href="http://blog.amarkulo.com/download-2" title=" downloaded 360 times" >CANON PowerShot SD750 DIGITAL ELPH, DIGITAL IXUS 75, IXY DIGITAL 90 Parts List (360)</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/canon-powershot-and-ixus-service-manual-and-part-list/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install Snort Intrusion Detection System on Windows</title>
		<link>http://blog.amarkulo.com/how-to-install-snort-ids-on-windows</link>
		<comments>http://blog.amarkulo.com/how-to-install-snort-ids-on-windows#comments</comments>
		<pubDate>Tue, 22 Dec 2009 15:05:20 +0000</pubDate>
		<dc:creator>Amar Kulo</dc:creator>
				<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[capture]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[freeware]]></category>
		<category><![CDATA[ids]]></category>
		<category><![CDATA[packet]]></category>
		<category><![CDATA[pcap]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sniff]]></category>
		<category><![CDATA[sniffer]]></category>
		<category><![CDATA[snort]]></category>
		<category><![CDATA[win]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[winpcap]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=267</guid>
		<description><![CDATA[First short explanation what is Snort from Snort official website: Snort® is an open source network intrusion prevention and detection system (IDS/IPS) developed by Sourcefire. Combining the benefits of signature, protocol and anomaly-based inspection, Snort is the most widely deployed IDS/IPS technology worldwide. Installation of Snort on Windows is pretty simple. First, you need to [...]]]></description>
			<content:encoded><![CDATA[<p>First short explanation what is Snort from Snort official website:</p>
<blockquote><p><em>Snort® is an open source network intrusion prevention and   detection system (IDS/IPS) developed by Sourcefire. Combining the benefits of signature, protocol and anomaly-based inspection, Snort is the most widely deployed IDS/IPS technology worldwide.</em></p></blockquote>
<p>Installation of Snort on Windows is pretty simple.</p>
<p>First, you need to download and install few things. For Snort to be able to act as sniffer and IDS it needs Windows Packet Capture Library which is WinPcap. The stable latest version on the site is 4.1.1 and you can download it <a title="WinPcap download" href="http://www.winpcap.org/install/default.htm">here</a>.</p>
<p>Now when we have WinPcap installed the next step will be to download Snort. The latest version for Windows is 2.8.5.1 and you can download it <a title="Snort downloads" href="http://www.snort.org/downloads">here</a>. Installation shouldn&#8217;t be a problem, if you need IPv6 support and logging to Microsoft SQL or Oracle database then you need to select proper radio and check boxes and if don&#8217;t then just go next and next to the end and that&#8217;s it. Default installation directory is <strong>C:\Snort </strong>so remember it because it will be our working dir all the time.</p>
<p>So we have installed WinPcap and Snort but we are not finished with installation yet. We have one more thing to download and install. The Snort rules. These rules are those small files that tells Snort what it should search for in captured packages and how to identify them, as a threat, information disclosure or something else. For us to be able to download Snort rules we have to be registered on Snort site. Registration is free and rules are one month old for free users, for those who need the latest threats detected at the same moment when they are published to the community I suggest to buy VRT subscription so you will have the latest rules directly as they are announced. So now we will download <strong>snortrules-snapshot-2.8.tar.gz</strong> rules archive file.  When you open archive file you will get following structure:</p>
<p style="text-align: left;">
<div class="mceTemp mceIEcenter">
<dl id="attachment_271" class="wp-caption aligncenter" style="width: 148px;">
<dt class="wp-caption-dt"><a href="http://blog.amarkulo.com/wp-content/uploads/2009/12/rules.jpg" rel="lightbox[267]"><img class="size-full wp-image-271" title="Structure of rules " src="http://blog.amarkulo.com/wp-content/uploads/2009/12/rules.jpg" alt="" width="138" height="84" /></a></dt>
</dl>
</div>
<dd class="wp-caption-dd">Snort rules</dd>
<p style="text-align: left;">Copy all four directories over those in C:\Snort replacing contents that already exists on the hard drive.</p>
<p style="text-align: left;">Now when we are done with easy part we need to configure Snort to run. Because these rules are written for unixoid systems we need to change some things in the main config file C:\Snort\etc\snort.conf so that Snort can start at all.</p>
<p style="text-align: left;">Here are the things that you need to edit to be able to run snort:</p>
<p style="text-align: left;">Find lines 269 and 270. These lines will not allow Snort to start, at least not on Windows because Snort detects the second one as double config detection line so we need to change this.</p>
<p style="text-align: left;">Change from this:</p>
<blockquote>
<p style="text-align: left;">config detection: search-method ac-bnfa<br />
config detection: max_queue_events 5</p>
</blockquote>
<p style="text-align: left;">To this:</p>
<blockquote>
<p style="text-align: left;">config detection: search-method ac-bnfa max_queue_events 5</p>
</blockquote>
<p style="text-align: left;">Now, the next thing that we need to change is lines where we say to Snort where to find dynamic preprocessor files. On lines from 298 to 303 change this:</p>
<blockquote>
<p style="text-align: left;">dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_dce2_preproc.so<br />
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_dns_preproc.so<br />
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_ftptelnet_preproc.so<br />
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_smtp_preproc.so<br />
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_ssh_preproc.so<br />
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_ssl_preproc.so</p>
</blockquote>
<p style="text-align: left;">To this:</p>
<blockquote>
<p style="text-align: left;">dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_dce2.dll<br />
dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_dcerpc.dll<br />
dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_dns.dll<br />
dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_ftptelnet.dll<br />
dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_smtp.dll<br />
dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_ssh.dll<br />
dynamicpreprocessor file C:\Snort\lib\snort_dynamicpreprocessor\sf_ssl.dll</p>
</blockquote>
<p style="text-align: left;">Next thing to change is line 324 on which we have dynamic engine path, so change it from this:</p>
<blockquote>
<p style="text-align: left;">dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so</p>
</blockquote>
<p style="text-align: left;">To this:</p>
<blockquote>
<p style="text-align: left;">dynamicengine C:\Snort\lib\snort_dynamicengine\sf_engine.dll</p>
</blockquote>
<p style="text-align: left;">I don&#8217;t know why, maybe some mistake, but lines bellow should be commented out by default, but they were not so we have to comment them out. Because we are not VRT subscriber and don&#8217;t have any dynamic detection files we need to coment lines from 339 to 354, so change this:</p>
<blockquote>
<p style="text-align: left;">dynamicdetection file /usr/local/lib/snort_dynamicrules/bad-traffic.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/chat.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/dos.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/exploit.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/imap.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/misc.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/multimedia.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/netbios.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/nntp.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/p2p.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/smtp.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/sql.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/web-client.so<br />
dynamicdetection file /usr/local/lib/snort_dynamicrules/web-misc.so</p>
</blockquote>
<p style="text-align: left;">To this:</p>
<blockquote>
<p style="text-align: left;">#dynamicdetection file /usr/local/lib/snort_dynamicrules/bad-traffic.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/chat.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/dos.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/exploit.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/imap.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/misc.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/multimedia.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/netbios.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/nntp.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/p2p.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/smtp.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/sql.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/web-client.so<br />
#dynamicdetection file /usr/local/lib/snort_dynamicrules/web-misc.so</p>
</blockquote>
<p style="text-align: left;">Now we need to trim a bit SSH preprocessor to work on Windows as it is different from Linux one, so find line 753 and change this:</p>
<blockquote>
<p style="text-align: left;">preprocessor ssh: server_ports { 22 } \<br />
max_client_bytes 19600 \<br />
max_encrypted_packets 20 \<br />
disable_srvoverflow \<br />
disable_protomismatch \<br />
disable_badmsgdir</p>
</blockquote>
<p style="text-align: left;">To this:</p>
<blockquote>
<p style="text-align: left;">preprocessor ssh: server_ports { 22 } \<br />
max_client_bytes 19600 \<br />
max_encrypted_packets 20</p>
</blockquote>
<p style="text-align: left;">Now we are good to go. We can test snort easily from the command line. So now go on <strong>Start-&gt;Run </strong>and type <strong>cmd</strong> following by enter key. Now in command prompt type following commands:</p>
<blockquote>
<p style="text-align: left;">c: and then enter key</p>
<p style="text-align: left;">cd c:\snort\bin and then enter key</p>
<p style="text-align: left;">snort -v -c C:\snort\etc\snort.conf -l C:\snort\log -K ascii and then enter key</p>
</blockquote>
<p style="text-align: left;">So now we have entered Snort directory and started Snort on command line. You will first see Snort starting and parsing config file snort.conf and then you will see lot of output when Snort start sniffing and controlling packages on the network. If it finds any package that is not regular network traffic it will save info about it in c:\Snort\Log\alert.ids file. Simple output of one captured packet looks like this:</p>
<blockquote>
<p style="text-align: left;">[**] [1:254:7] DNS SPOOF query response with TTL of 1 min. and no authority [**]<br />
[Classification: Potentially Bad Traffic] [Priority: 2]<br />
12/22-12:19:12.577553 192.168.137.206:53 -&gt; 192.168.137.10:55153<br />
UDP TTL:128 TOS:0&#215;0 ID:5399 IpLen:20 DgmLen:79<br />
Len: 51</p>
</blockquote>
<p style="text-align: left;">Now to explain what we have here. The first line says what type of attack is it, the second line says what classification is it and what priority does it have, and the last three lines are data about the attack, attacker IP, your IP, destination and source ports and so on.</p>
<div style="text-align: left;">Important part of this log is<strong> [Priority: 2]</strong> because that&#8217;s how you can identify the real threat from false one. The threats are divided in three groups, group 3 or <strong>[Priority: 3] </strong>is the lowest one and it usually means that someone is scanning your network. The second one is a bit serious. It&#8217;s information disclosure and it has <strong>[Priority: 2]</strong>. This means that someone has got some info about services that you are running which is usually the first part of any attack, gaining of information. The most critical one is the one with <strong>[Priority: 1] </strong>which usually means that right now someone is trying to exploit some of services that you are running. This could mean that you have older version of some service on your server, like IIS that is not updated or Exchange server or something else and that snort has detected some patterns in packages sent to server that could be exploits which can do harm.</div>
<div style="text-align: left;">Now we can stop Snort with <strong>Ctrl+C</strong> and Snort will display some statistics. The only thing that we have to do now is to install Snort as a Windows service. To do so we will write following command on command prompt:</div>
<blockquote>
<div style="text-align: left;">snort /service /install -c C:\Snort\etc\snort.conf -l C:\Snort\log -K ascii</div>
</blockquote>
<div style="text-align: left;">After this command service is installed and you can start it from service manager or simply type <strong>sc start snortsvc.</strong></div>
<div style="text-align: left;">So with this Snort is installed on your machine and is logging everything. Now you just need some program to parse alerts and do actions based on the alert priority. There are lot of those available on the Internet.</div>
<div style="text-align: left;"></div>
<div style="text-align: left;"><strong>Note 1:</strong> If you have more than one network interface on your machine you need to tell Snort on which one should it listen. First type snort -W command to list all interfaces on your machine (works only on Windows) and then when you find which interface is the one that you will listen on then you need to add <strong>-i n</strong> where n is number of interface from the list that you got. You need to add that to all Snort commands that you are executing from command prompt and when creating Windows service.</div>
<div style="text-align: left;"><strong>Note 2:</strong> If you want Snort to log alerts to Eventlog as well as to log files than add -E (only on Windows) to the command line parameters.</div>
<div style="text-align: left;"><strong>Update</strong>:  Here is my <a class="downloadlink" href="http://blog.amarkulo.com/download-4" title=" downloaded 210 times" >snort.conf (210)</a> file which is working on my machine without any problems. It could be something with updated rules that can cause problems with starting of Snort.</div>
<div style="text-align: left;"><strong>Update2</strong>:  One trailing / on ssh preprocesor line was left by mistake, now it&#8217;s removed.</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/how-to-install-snort-ids-on-windows/feed</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Arduino wired remote code scanner for Alpine</title>
		<link>http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine</link>
		<comments>http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine#comments</comments>
		<pubDate>Sun, 22 Nov 2009 23:27:26 +0000</pubDate>
		<dc:creator>Amar Kulo</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[alpine]]></category>
		<category><![CDATA[cdr]]></category>
		<category><![CDATA[codes]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[wired]]></category>

		<guid isPermaLink="false">http://blog.amarkulo.com/?p=238</guid>
		<description><![CDATA[Currently I&#8217;m working on project of interfacing Alpine with Peugeot steering wheel audio controls. I have founded some codes on mp3car.com but not all of them are working on my Alpine CDE-9880R. Because some of them doesn&#8217;t work on my HU I had first to build Arduino scanner to scan for those missing remote codes. [...]]]></description>
			<content:encoded><![CDATA[<p>Currently I&#8217;m working on project of interfacing Alpine with Peugeot steering wheel audio controls. I have founded some codes on <a title="Mp3car.com - Need Alpine wired remote control pinout" href="http://www.mp3car.com/vbulletin/input-devices/131147-need-alpine-wired-remote-control-pinout.html#post1314327">mp3car.com</a> but not all of them are working on my <a title="Alpine CDE-9880R" href="http://blog.amarkulo.com/new-toy-alpine-cde-9880r">Alpine CDE-9880R</a>.</p>
<p>Because some of them doesn&#8217;t work on my HU I had first to build Arduino scanner to scan for those missing remote codes.</p>
<p>Although I&#8217;m sending codes as binaries it was easier for me to work with decimals on the serial console and then latter convert them to binary so I have wrote function for that as well.</p>
<p>Because the first part of signal is always the same there was not need to convert it at all, and it&#8217;s stored in variable <strong>iHello</strong>, so the part that is changed is the second part or 3 decimal numbers.</p>
<p>Now because there are <strong>255*255*255 = 16 581 375</strong> possible combinations I had to bring this to some reasonable number otherwise it would take very much time to find right codes so I have limited combinations a bit.</p>
<p>I took the lowest and the highest values from codes from link above for the first and the second decimals, and limited the third one to 2 possible numbers that I&#8217;m sending as finish 85 or 213.</p>
<p>Here are those codes that I have founded working on my HU:</p>
<ol>
<li>87  253   85 ( 01010111  11111101  01010101 ) &#8211; Pause</li>
<li>107 247   85 ( 01101011  11110111  01010101 ) &#8211; Band/ta</li>
<li>111  237   85 ( 01101111  11101101  01010101 ) &#8211; Defeat</li>
<li>119 235   85 ( 01110111  11101011  01010101 ) &#8211; Power</li>
<li>173 238 213 ( 10101101  11101110  11010101 ) &#8211; Mute</li>
<li>183 219   85 ( 10101101  11101110  11010101 ) &#8211; Source</li>
<li>187 218 213 ( 10111011  11011010  11010101 ) &#8211; Next Track</li>
<li>93  250 213 ( 01011101  11111010  11010101 ) &#8211; Previous track</li>
<li>219 214 213 ( 11011011  11010110  11010101 ) &#8211; Volume up</li>
<li>109 246 213 ( 01101101  11110110  11010101 ) &#8211; Volume down</li>
<li>171 239 85 ( 10101011  11101111  01010101 ) &#8211; Folder/memory up</li>
<li>85 255 85   ( 01010101  11111111  01010101 ) &#8211; Folder/Memory down</li>
</ol>
<p>Now because I have IR remote for my HU and defeat is not on it I assume that it&#8217;s possible to find even more codes for it but I didn&#8217;t those so I stopped here where I have everything for my first project.</p>
<p>Here are pictures of the interface that I have built for testing of codes. It consists of 5 buttons which have been assigned different functions and 3.5 mm female audio jack which I use for connection with HU. HU has the same 3.5 mm female jack on the back so I can use regular 3.5mm stereo cable for testing without any modifications on HU or Arduino board.</p>

<a href='http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/img_0256-copy' title='IMG_0256 copy'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2009/11/IMG_0256-copy-150x150.jpg" class="attachment-thumbnail" alt="IMG_0256 copy" title="IMG_0256 copy" /></a>
<a href='http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/img_0257-copy' title='IMG_0257 copy'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2009/11/IMG_0257-copy-150x150.jpg" class="attachment-thumbnail" alt="IMG_0257 copy" title="IMG_0257 copy" /></a>
<a href='http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/img_0258-copy' title='IMG_0258 copy'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2009/11/IMG_0258-copy-150x150.jpg" class="attachment-thumbnail" alt="IMG_0258 copy" title="IMG_0258 copy" /></a>
<a href='http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/img_0259-copy' title='IMG_0259 copy'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2009/11/IMG_0259-copy-150x150.jpg" class="attachment-thumbnail" alt="IMG_0259 copy" title="IMG_0259 copy" /></a>
<a href='http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/img_0260-copy' title='IMG_0260 copy'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2009/11/IMG_0260-copy-150x150.jpg" class="attachment-thumbnail" alt="IMG_0260 copy" title="IMG_0260 copy" /></a>
<a href='http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/img_0261-copy' title='IMG_0261 copy'><img width="150" height="150" src="http://blog.amarkulo.com/wp-content/uploads/2009/11/IMG_0261-copy-150x150.jpg" class="attachment-thumbnail" alt="IMG_0261 copy" title="IMG_0261 copy" /></a>

<p>Here is the Arduino <a class="downloadlink" href="http://blog.amarkulo.com/download-1" title="Version0.24 downloaded 215 times" >Alpine scanner (215)</a> sketch file with all functions that I have used for scanning, saving and displaying codes on serial console.</p>
<p>Here are the instructions how to use this sketch to find codes.</p>
<ol>
<li>First you need to erase eeprom with erase function to be sure that it&#8217;s clean on the start of scan.</li>
<li>Now comment out function for erase and uncomment function for saving combination on eeprom</li>
<li>Now you are ready for scan, so when you connect Arduino to your HU just press button 4 to start scan</li>
<li>When you see some change on HU you need to press button 4 to stop scan</li>
<li>Using buttons 1 and 3 you can go back or forward to find that combination that you discovered</li>
<li>When you find it you can verify it with button 2 which repeats it again</li>
<li>If that is combination that you are looking fore press button 5 to save it to eeprom</li>
<li>When you have found all combinations that you are interested of connect Arduino to computer and on serial console you will have all combinations that you have found, so copy and paste them in iFounded array</li>
<li>Comment out functions for saving, previous and next button and uncomment functions for import of combinations, sending of previous and next combinations</li>
<li>Now when you power up Arduino press button nr 5 to import combinations and cycle them with buttons 1 or 2 to confirm that you have right combinations saved</li>
</ol>
<p>Now when I have all of the codes needed to control HU I can finish the first project and the post about it is coming soon.</p>
<p>Any comments are welcome.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.amarkulo.com/arduino-wired-remote-code-scanner-for-alpine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
