<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Michael Noland's Blog - Latest Comments</title><link>http://michaelnolandsblog.disqus.com/</link><description></description><atom:link href="https://michaelnolandsblog.disqus.com/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Mon, 14 Jun 2021 23:38:52 -0000</lastBuildDate><item><title>Re: About Me</title><link>http://michaelnoland.com/about-me/#comment-5420260896</link><description>&lt;p&gt;how could  i contact you&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Armenta Reimon</dc:creator><pubDate>Mon, 14 Jun 2021 23:38:52 -0000</pubDate></item><item><title>Re: Creating simple tools in UE4 – part 1</title><link>http://michaelnoland.com/simple-ue4-tools-part1/#comment-4189820199</link><description>&lt;p&gt;Would love to see more of the making tools edition.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David  Russell</dc:creator><pubDate>Sun, 11 Nov 2018 11:55:18 -0000</pubDate></item><item><title>Re: Persistence of vision display using only 555 timers</title><link>http://michaelnoland.com/persistence-of-vision-dispaly-using-only-555-timers/#comment-2388734593</link><description>&lt;p&gt;can the plastic PC fan handle the circuit board? please reply to kutty.dec1995@gmail.com &lt;br&gt;Thankyou!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chiluveru Krishnasri</dc:creator><pubDate>Wed, 02 Dec 2015 09:08:10 -0000</pubDate></item><item><title>Re: Reducing code size on Arduino Ethernet boards</title><link>http://michaelnoland.com/reducing-code-size-on-arduino-ethernet-boards/#comment-1643010765</link><description>&lt;p&gt;Thanks for your tutorial, I followed your instruction but the size didn't change a bit I dont know why? can you please upload the library&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Esbel</dc:creator><pubDate>Sun, 19 Oct 2014 00:22:33 -0000</pubDate></item><item><title>Re: Iron Man 3 Chest Arc Reactor</title><link>http://michaelnoland.com/iron-man-3-chest-arc-reactor/#comment-1456545296</link><description>&lt;p&gt;Michael! Brilliant prop my friend. I want to replace this &lt;a href="https://www.google.com/url?sa=i&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=images&amp;amp;cd=&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;docid=qq5fwWBes8cn9M&amp;amp;tbnid=1qrb9YrjpqYgGM:&amp;amp;ved=0CAUQjRw&amp;amp;url=https%3A%2F%2Fgrilletech.com%2Findex.php%3Fid_product%3D2238%26controller%3Dproduct&amp;amp;ei=u9msU4G6DsKayATb_YHQCw&amp;amp;bvm=bv.69837884,d.aWw&amp;amp;psig=AFQjCNFIgWIjqhBVdU9oawttmaDNp1dJBA&amp;amp;ust=1403923252535090" rel="nofollow noopener" target="_blank" title="https://www.google.com/url?sa=i&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=images&amp;amp;cd=&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;docid=qq5fwWBes8cn9M&amp;amp;tbnid=1qrb9YrjpqYgGM:&amp;amp;ved=0CAUQjRw&amp;amp;url=https%3A%2F%2Fgrilletech.com%2Findex.php%3Fid_product%3D2238%26controller%3Dproduct&amp;amp;ei=u9msU4G6DsKayATb_YHQCw&amp;amp;bvm=bv.69837884,d.aWw&amp;amp;psig=AFQjCNFIgWIjqhBVdU9oawttmaDNp1dJBA&amp;amp;ust=1403923252535090"&gt;grille with an Iron Man themed contraption. I'd like to get some more details on how you designed yours. More specifically how you set up your design environment. What software/harware?&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks in advance!&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">responsiblehero</dc:creator><pubDate>Thu, 26 Jun 2014 22:47:37 -0000</pubDate></item><item><title>Re: Speeding up LPD8806 show() without hardware SPI</title><link>http://michaelnoland.com/speeding-up-lpd8806-show-without-hardware-spi/#comment-987883656</link><description>&lt;p&gt;Hello, thanks for writing this. I've put the code on github with a link pointing back to this blog. &lt;a href="https://github.com/cloudwalking/LPD8806Fast" rel="nofollow noopener" target="_blank" title="https://github.com/cloudwalking/LPD8806Fast"&gt;https://github.com/cloudwal...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">rgam</dc:creator><pubDate>Sun, 04 Aug 2013 06:10:04 -0000</pubDate></item><item><title>Re: Speeding up LPD8806 show() without hardware SPI</title><link>http://michaelnoland.com/speeding-up-lpd8806-show-without-hardware-spi/#comment-804918245</link><description>&lt;p&gt;ugh, did my math wrong somewhere- 2.7Mbps.  That's ok, though, working on fixing that number :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">focalintent</dc:creator><pubDate>Tue, 19 Feb 2013 18:50:56 -0000</pubDate></item><item><title>Re: Speeding up LPD8806 show() without hardware SPI</title><link>http://michaelnoland.com/speeding-up-lpd8806-show-without-hardware-spi/#comment-804662852</link><description>&lt;p&gt;Michael, your post got me thinking about more ways to abuse templates with AVR (I had already started thinking about this in some directions - this definitely went further) - the library that's using this is now up here - &lt;a href="http://waitingforbigo.com/2013/02/19/fastspi_led2_preview_release/" rel="nofollow noopener" target="_blank" title="http://waitingforbigo.com/2013/02/19/fastspi_led2_preview_release/"&gt;http://waitingforbigo.com/2...&lt;/a&gt; - also &lt;a href="http://waitingforbigo.com/2013/02/19/introducing-fastspi-for-most-of-your-data-pushing-needs/" rel="nofollow noopener" target="_blank" title="http://waitingforbigo.com/2013/02/19/introducing-fastspi-for-most-of-your-data-pushing-needs/"&gt;http://waitingforbigo.com/2...&lt;/a&gt; talks a little bit more specifically about the things that I did.  I need to do up one more post on how I abused types and static functions (and a little bit of the C preprocessor) to remove the need to pass the data and clock register around.&lt;/p&gt;&lt;p&gt;On a 16Mhz arduino, I'm now pushing 6.6Mbps with the hardware SPI (running at 8Mhz) and 3.1Mbps+ with -software- SPI.&lt;/p&gt;&lt;p&gt;There's still room to improve more, I think.  There's always room for faster - I have a path for possibly squeezing another 25-50% -more- performance out of the software SPI.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">focalintent</dc:creator><pubDate>Tue, 19 Feb 2013 15:16:45 -0000</pubDate></item><item><title>Re: Speeding up LPD8806 show() without hardware SPI</title><link>http://michaelnoland.com/speeding-up-lpd8806-show-without-hardware-spi/#comment-794388536</link><description>&lt;p&gt;Hopefully in the next week or two - wrapping up some testing with it now - i'll probably do a version for the avr based platforms first, and follow up with the teensy 3 later (and then chipkit and msp430 platforms)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">focalintent</dc:creator><pubDate>Sun, 10 Feb 2013 02:05:51 -0000</pubDate></item><item><title>Re: Speeding up LPD8806 show() without hardware SPI</title><link>http://michaelnoland.com/speeding-up-lpd8806-show-without-hardware-spi/#comment-793853019</link><description>&lt;p&gt;Hi Daniel,&lt;br&gt;Where can I get your last contribution? &lt;br&gt;Hope to test it soon.&lt;br&gt;Thank.&lt;br&gt;Marc&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Marc</dc:creator><pubDate>Sat, 09 Feb 2013 08:12:42 -0000</pubDate></item><item><title>Re: Speeding up LPD8806 show() without hardware SPI</title><link>http://michaelnoland.com/speeding-up-lpd8806-show-without-hardware-spi/#comment-793118419</link><description>&lt;p&gt;Keep an eye out for the new version of the FastSPI_LED library.  I've just finished re-writing the core of it - and on a 16Mhz arduino, I can push out 3.1Mbps with bitbanging - or .712ms to run through your 86 led test case.  With the SPI clock set at 2Mhz, I'm getting 1.2ms, at 4Mhz I'm getting .779ms, and at 8Mhz i'm getting .353ms.&lt;/p&gt;&lt;p&gt;(Also, the library will switch between hardware and bitbang'd SPI based on what pins you tell it to use, behind the scenes, as well as only taking 250-750 bytes of your program space (down from nearly 12k).&lt;/p&gt;&lt;p&gt;Oh - also it supports over a half dozen different LED chipsets :)  And now supports latching for SPI if you want to add some AND gates to share the hardware SPI channel with something else.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">focalintent</dc:creator><pubDate>Fri, 08 Feb 2013 11:13:03 -0000</pubDate></item><item><title>Re: How to supress Warning LNK4099 &amp;#8211; PDB &amp;#8216;XXX&amp;#8217; was not found</title><link>http://michaelnoland.com/how-to-supress-warning-lnk4099-pdb-xxx-was-not-found/#comment-725003552</link><description>&lt;p&gt;Thanks. I can confirm that making this change confused the crap out of my coworkers who then spent time trying to track down the presence of the warning on THEIR unpatched machines to configuration problems on their end. A better solution is perhaps #pragma message("Please ignore LNK4099, it is not an issue.") then leaving it be.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">JC</dc:creator><pubDate>Sat, 01 Dec 2012 14:38:58 -0000</pubDate></item><item><title>Re: pov_soldered</title><link>http://michaelnoland.com/persistence-of-vision-dispaly-using-only-555-timers/pov_soldered/#comment-689482167</link><description>&lt;p&gt;loool&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ll</dc:creator><pubDate>Mon, 22 Oct 2012 17:25:58 -0000</pubDate></item><item><title>Re: Reducing code size on Arduino Ethernet boards</title><link>http://michaelnoland.com/reducing-code-size-on-arduino-ethernet-boards/#comment-678219181</link><description>&lt;p&gt;Client.h and Udp.h are in the main Arduino source folder.&lt;br&gt;On Ubuntu it is ' /usr/share/arduino/hardware/cores/arduino '&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mcchots</dc:creator><pubDate>Wed, 10 Oct 2012 09:20:12 -0000</pubDate></item><item><title>Re: How to supress Warning LNK4099 &amp;#8211; PDB &amp;#8216;XXX&amp;#8217; was not found</title><link>http://michaelnoland.com/how-to-supress-warning-lnk4099-pdb-xxx-was-not-found/#comment-664720708</link><description>&lt;p&gt;thank you&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Filippo</dc:creator><pubDate>Thu, 27 Sep 2012 11:45:28 -0000</pubDate></item><item><title>Re: Reducing code size on Arduino Ethernet boards</title><link>http://michaelnoland.com/reducing-code-size-on-arduino-ethernet-boards/#comment-623973695</link><description>&lt;p&gt;Tried your fix but I now get an error:&lt;br&gt;cannot declare variable 'client' to be of abstract type 'EthernetClient'&lt;/p&gt;&lt;p&gt;Any idea what might be wrong?&lt;/p&gt;&lt;p&gt;Also I couldn't find the Client.h and Udp.h files, so never made the fix in those.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Joachim Kristensen</dc:creator><pubDate>Mon, 20 Aug 2012 10:20:54 -0000</pubDate></item><item><title>Re: About Me</title><link>http://michaelnoland.com/about-me/#comment-596846762</link><description>&lt;p&gt;Your name came up...so I figured I would check in...how is life these days?&lt;/p&gt;&lt;p&gt;-Jason (aka dovoto)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dovoto</dc:creator><pubDate>Tue, 24 Jul 2012 19:21:55 -0000</pubDate></item><item><title>Re: How to supress Warning LNK4099 &amp;#8211; PDB &amp;#8216;XXX&amp;#8217; was not found</title><link>http://michaelnoland.com/how-to-supress-warning-lnk4099-pdb-xxx-was-not-found/#comment-543456141</link><description>&lt;p&gt;Thanks very much for this post.  I can confirm it works with Visual Studio 2008 - VC9 too.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Grant</dc:creator><pubDate>Thu, 31 May 2012 06:55:11 -0000</pubDate></item><item><title>Re: Speeding up LPD8806 show() without hardware SPI</title><link>http://michaelnoland.com/speeding-up-lpd8806-show-without-hardware-spi/#comment-529932504</link><description>&lt;p&gt;Hi Barbus,&lt;br&gt;Since changing those functions to macros didn't help, the compiler is probably still inlining them correctly, but something is clearly wonky.  So are you're seeing 2.79 ms for a totally unmodified LedSpeedTest.ino?  If so, I'd be interested in what timing you see for TEST_MODE = TEST_DEFAULT.&lt;/p&gt;&lt;p&gt;RE: Seeing the results of the template: Not that I'm aware of.  Templates are a native C++ feature and are handled during compilation, instead of during preprocessing like a macro.  They don't transform source code per se, so there's not really an extended version to look at afterwards.&lt;/p&gt;&lt;p&gt;However, you should be able to see the resulting assembly, either with a command line option to the compiler or via objdump on the generated .o files, but I haven't tried to get either working yet with the Arduino environment.  From there you could diff it to your hand-hardcoded function to see what is going wrong.&lt;/p&gt;&lt;p&gt;Cheers,Michael Noland&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael Noland</dc:creator><pubDate>Wed, 16 May 2012 00:16:10 -0000</pubDate></item><item><title>Re: Speeding up LPD8806 show() without hardware SPI</title><link>http://michaelnoland.com/speeding-up-lpd8806-show-without-hardware-spi/#comment-527909709</link><description>&lt;p&gt;Hi Michael,&lt;br&gt;This is definitively a great idea. &lt;br&gt;I have 16 strips to manage on a Mega so using your compile-time trick is going to save me some hardware.&lt;/p&gt;&lt;p&gt;However, I'm facing a issue as I don't get the same timing has you have.&lt;br&gt;For the same parameters, on a UNO (don't get the Mega yet), I reach only 2.796ms for a showCompileTime&amp;lt;2,3&amp;gt;(PORTD,PORTD).&lt;/p&gt;&lt;p&gt;Using my logic-analyser I see that :&lt;br&gt;clock time hi    = 350ns&lt;br&gt;clock time low = 900ns&lt;/p&gt;&lt;p&gt;I though that the TransmitByte and PulseClock were not inlined so changed to macros. &lt;br&gt;But no change in the result.&lt;/p&gt;&lt;p&gt;So I am stuck at almost 50% of your performance.&lt;br&gt;Note that with SPI, I do have the expected perf.&lt;/p&gt;&lt;p&gt;Any hint on what I shall look for would be appreciated.&lt;/p&gt;&lt;p&gt;EDIT: Definitively something is going wrong with my usage of the template. I have hardcoded the function by hand and I now reach 1.37ms for the same above settings.&lt;/p&gt;&lt;p&gt;Is there a way to see the "extended" source code generated by the templates ?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Barbu Dor</dc:creator><pubDate>Sun, 13 May 2012 12:03:03 -0000</pubDate></item><item><title>Re: Speeding up LPD8806 show() without hardware SPI</title><link>http://michaelnoland.com/speeding-up-lpd8806-show-without-hardware-spi/#comment-510568419</link><description>&lt;p&gt;Yeah, you could use an AND gate or a transistor+resistor with another output pin to gate the Arduino SCK to the CLK pin for the LED strip.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael Noland</dc:creator><pubDate>Thu, 26 Apr 2012 23:10:26 -0000</pubDate></item><item><title>Re: Speeding up LPD8806 show() without hardware SPI</title><link>http://michaelnoland.com/speeding-up-lpd8806-show-without-hardware-spi/#comment-510049408</link><description>&lt;p&gt;Can't you fix this by putting a transistor on the clock line going to the RGB strip? &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andrew </dc:creator><pubDate>Thu, 26 Apr 2012 16:08:30 -0000</pubDate></item><item><title>Re: Speeding up LPD8806 show() without hardware SPI</title><link>http://michaelnoland.com/speeding-up-lpd8806-show-without-hardware-spi/#comment-469613525</link><description>&lt;p&gt;I have tested the code on an Arduino Uno (16MHz), with a full five-meter strip of 160 LEDs (I purchased from &lt;a href="http://www.bestlightingbuy.com/waterproof-lpd8806-flexible-rgb-led-lighting-strip.html)" rel="nofollow noopener" target="_blank" title="http://www.bestlightingbuy.com/waterproof-lpd8806-flexible-rgb-led-lighting-strip.html)"&gt;http://www.bestlightingbuy....&lt;/a&gt;. At this size, the original software emulation took around 200ms to update all 160 LEDs. This gave me a refresh rate of only 5fps.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ethan</dc:creator><pubDate>Mon, 19 Mar 2012 22:02:58 -0000</pubDate></item><item><title>Re: CNC machined Scrabble board</title><link>http://michaelnoland.com/cnc-machined-scrabble-board/#comment-448248381</link><description>&lt;p&gt;Really like the look, that it folds and appears to be easy on the eyes (no glare). I am looking for a board used or new that's round and swivels (doesn't knock the tile racks over). &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">JJ</dc:creator><pubDate>Fri, 24 Feb 2012 17:33:05 -0000</pubDate></item><item><title>Re: Reducing code size on Arduino Ethernet boards</title><link>http://michaelnoland.com/reducing-code-size-on-arduino-ethernet-boards/#comment-446705765</link><description>&lt;p&gt;You can save a lot if you are currently using it (e.g., using the one argument Ethernet.begin), but very little if you aren't already using it, as the linker is doing a good job of stripping the dead code.&lt;/p&gt;&lt;p&gt;As a quick test, I wrapped the one-arg begin and all of DHCP.cpp / DHCP.h with a define in an existing project:&lt;br&gt;- Using two arg begin (no DHCP but no mods): 15916 bytes&lt;br&gt;- Using two arg begin, with DHCP compiled out: 15892 bytes&lt;br&gt;- Using one arg begin (using DHCP lib): 18088 bytes&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael Noland</dc:creator><pubDate>Thu, 23 Feb 2012 03:01:12 -0000</pubDate></item></channel></rss>