<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>LeafLabs Garden &#187; User Favorites: galindro</title>
		<link><a href='http://forums.leaflabs.com/profile.php?id=3911'>3911</a></link>
		<description>A place to share, learn, and grow...</description>
		<language>en-US</language>
		<pubDate>Fri, 22 Jan 2016 00:20:57 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.2</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://forums.leaflabs.com/search.php</link>
		</textInput>
		<atom:link href="http://forums.leaflabs.com/rss.php?profile=3911" rel="self" type="application/rss+xml" />

		<item>
			<title>manitou on "Compatible Shields"</title>
			<link>http://forums.leaflabs.com/topic.php?id=969#post-10473</link>
			<pubDate>Thu, 03 May 2012 17:03:42 +0000</pubDate>
			<dc:creator>manitou</dc:creator>
			<guid isPermaLink="false">10473@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;The SD portion of the Arduino SD/RTC shield&#60;br /&#62;
  &#60;a href=&#34;http://www.adafruit.com/products/243&#34; rel=&#34;nofollow&#34;&#62;http://www.adafruit.com/products/243&#60;/a&#62;&#60;br /&#62;
seems to work with Maple (RET6) using  mapleSDfat library.&#60;/p&#62;
&#60;p&#62;I don't think the RTC will work because I2C pins on shield plug into maple pins 19-20
&#60;/p&#62;</description>
		</item>
		<item>
			<title>x893 on "Compatible Shields"</title>
			<link>http://forums.leaflabs.com/topic.php?id=969#post-6052</link>
			<pubDate>Tue, 23 Aug 2011 11:03:02 +0000</pubDate>
			<dc:creator>x893</dc:creator>
			<guid isPermaLink="false">6052@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;with minimal changes you can use SN65HVD11 from TI (3.3V pin compatible with MAX481). Only change power of chip from 5V line to 3.3V.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>mikep on "Compatible Shields"</title>
			<link>http://forums.leaflabs.com/topic.php?id=969#post-6051</link>
			<pubDate>Tue, 23 Aug 2011 10:05:11 +0000</pubDate>
			<dc:creator>mikep</dc:creator>
			<guid isPermaLink="false">6051@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;I would start a new topic for this and call it &#34;Maple and DMX protocol&#34; or something like that ... (at the top of &#60;a href=&#34;http://forums.leaflabs.com/&#34; rel=&#34;nofollow&#34;&#62;http://forums.leaflabs.com/&#60;/a&#62; under &#34;Latest Discussions&#34; should be a link to add a new topic).
&#60;/p&#62;</description>
		</item>
		<item>
			<title>lucasvl on "Compatible Shields"</title>
			<link>http://forums.leaflabs.com/topic.php?id=969#post-6049</link>
			<pubDate>Tue, 23 Aug 2011 02:20:54 +0000</pubDate>
			<dc:creator>lucasvl</dc:creator>
			<guid isPermaLink="false">6049@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Hi Mike,&#60;/p&#62;
&#60;p&#62;Thanks a lot for your reply! I think I can get the hardware working based on your comment.&#60;/p&#62;
&#60;p&#62;I am currently working with Arduino Mega, though, because the shield has been designed specifically for it - but mainly because there is an easy-to-use library:&#60;/p&#62;
&#60;blockquote&#62;&#60;p&#62;2. The shield works with the &#34;DmxSimple&#34; library...&#60;br /&#62;
&#60;a href=&#34;http://code.google.com/p/tinkerit/wiki/DmxSimple&#34; rel=&#34;nofollow&#34;&#62;http://code.google.com/p/tinkerit/wiki/DmxSimple&#60;/a&#62;&#60;br /&#62;
... from &#34;Tinker.it!&#34;&#60;/p&#62;&#60;/blockquote&#62;
&#60;p&#62;Would like to change to Maple to get more calculation power for my current project or the next. Unfortunately a lot of the library is low-level programming which I really don't know the first thing about (I should learn but that doesn't help me now ;-) )&#60;/p&#62;
&#60;p&#62;Some code from library that I have not the faintest idea what it means, but it should send out a DMX byte (&#60;a href=&#34;http://en.wikipedia.org/wiki/DMX512)&#34; rel=&#34;nofollow&#34;&#62;http://en.wikipedia.org/wiki/DMX512)&#60;/a&#62;:&#60;br /&#62;
&#60;code&#62;&#60;br /&#62;
/** Transmit a complete DMX byte&#60;br /&#62;
 * We have no serial port for DMX, so everything is timed using an exact&#60;br /&#62;
 * number of instruction cycles.&#60;br /&#62;
 *&#60;br /&#62;
 * Really suggest you don't touch this function.&#60;br /&#62;
 */&#60;br /&#62;
void dmxSendByte(volatile uint8_t value)&#60;br /&#62;
{&#60;br /&#62;
  uint8_t bitCount, delCount;&#60;br /&#62;
  __asm__ volatile (&#60;br /&#62;
    &#34;cli\n&#34;&#60;br /&#62;
    &#34;ld __tmp_reg__,%a[dmxPort]\n&#34;&#60;br /&#62;
    &#34;and __tmp_reg__,%[outMask]\n&#34;&#60;br /&#62;
    &#34;st %a[dmxPort],__tmp_reg__\n&#34;&#60;br /&#62;
    &#34;ldi %[bitCount],11\n&#34; // 11 bit intervals per transmitted byte&#60;br /&#62;
    &#34;rjmp bitLoop%=\n&#34;     // Delay 2 clock cycles.&#60;br /&#62;
  &#34;bitLoop%=:\n&#34;\&#60;br /&#62;
    &#34;ldi %[delCount],%[delCountVal]\n&#34;&#60;br /&#62;
  &#34;delLoop%=:\n&#34;&#60;br /&#62;
    &#34;nop\n&#34;&#60;br /&#62;
    &#34;dec %[delCount]\n&#34;&#60;br /&#62;
    &#34;brne delLoop%=\n&#34;&#60;br /&#62;
    &#34;ld __tmp_reg__,%a[dmxPort]\n&#34;&#60;br /&#62;
    &#34;and __tmp_reg__,%[outMask]\n&#34;&#60;br /&#62;
    &#34;sec\n&#34;&#60;br /&#62;
    &#34;ror %[value]\n&#34;&#60;br /&#62;
    &#34;brcc sendzero%=\n&#34;&#60;br /&#62;
    &#34;or __tmp_reg__,%[outBit]\n&#34;&#60;br /&#62;
  &#34;sendzero%=:\n&#34;&#60;br /&#62;
    &#34;st %a[dmxPort],__tmp_reg__\n&#34;&#60;br /&#62;
    &#34;dec %[bitCount]\n&#34;&#60;br /&#62;
    &#34;brne bitLoop%=\n&#34;&#60;br /&#62;
    &#34;sei\n&#34;&#60;br /&#62;
    :&#60;br /&#62;
      [bitCount] &#34;=&#38;amp;d&#34; (bitCount),&#60;br /&#62;
      [delCount] &#34;=&#38;amp;d&#34; (delCount)&#60;br /&#62;
    :&#60;br /&#62;
      [dmxPort] &#34;e&#34; (dmxPort),&#60;br /&#62;
      [outMask] &#34;r&#34; (~dmxBit),&#60;br /&#62;
      [outBit] &#34;r&#34; (dmxBit),&#60;br /&#62;
      [delCountVal] &#34;M&#34; (F_CPU/1000000-3),&#60;br /&#62;
      [value] &#34;r&#34; (value)&#60;br /&#62;
  );&#60;br /&#62;
}&#60;br /&#62;
&#60;/code&#62;&#60;/p&#62;
&#60;p&#62;Alternatively, apparently one can get it to work by disabling interrupts and only a few lines of low-level stuff (&#60;a href=&#34;http://arduino.cc/playground/DMX/Examples)&#34; rel=&#34;nofollow&#34;&#62;http://arduino.cc/playground/DMX/Examples)&#60;/a&#62;:&#60;br /&#62;
&#60;code&#62;&#60;br /&#62;
/* DMX Shift Out for arduino - 004 and 005&#60;br /&#62;
 * -------------&#60;br /&#62;
 *&#60;br /&#62;
 * Shifts data in DMX format out to DMX enabled devices&#60;br /&#62;
 * it is extremely restrictive in terms of timing. Therefore&#60;br /&#62;
 * the program will stop the interrupts when sending data&#60;br /&#62;
 *&#60;br /&#62;
 * The elektronic foundation for DMX is RS 485, so you have to use&#60;br /&#62;
 * a MAX-485 or a 75176.&#60;br /&#62;
 *&#60;br /&#62;
 * wirring for sending dmx with a MAX-485&#60;/p&#62;
&#60;p&#62;    1 - RO  - Receiver Output --- set to ground with a 100 ohm resistor&#60;br /&#62;
    2 - RE  - Receiver Output Enable -- set to ground&#60;br /&#62;
    3 - DE  - Driver Output Enable -- set to 5v&#60;br /&#62;
    4 - DI  - Driver Input -- Input from Arduino&#60;br /&#62;
    5 - GnD - Ground Connection -- set to ground -- refence for the DMX singal --- (DMX pin 1)&#60;br /&#62;
    6 - A   - Driver Output / Receiver Input -- DMX Signal (hot)------------------ (DMX pin 3)&#60;br /&#62;
    7 - B   - Driver Output / Receiver Input -- DMX Signal inversion ( cold)------ (DMX pin 2)&#60;br /&#62;
    8 - Vcc - Positive Supply -- 4,75V &#38;lt; Vcc &#38;lt; 5,25V&#60;/p&#62;
&#60;p&#62; * Every dmx packet contains 512 bytes of information (for 512 channels).&#60;br /&#62;
 * The start of each packet is market by a start byte (shiftDmxOut(sig,0);),&#60;br /&#62;
 * you should always send all 512 bytes even if you don*t use all 512 channels.&#60;br /&#62;
 * The time between every dmx packet is market by a break&#60;br /&#62;
 * between 88us and 1s ( digitalWrite(sig, LOW); delay(10);)&#60;br /&#62;
 *&#60;br /&#62;
 * (cleft) 2006 by Tomek Ness and D. Cuartielles&#60;br /&#62;
 * K3 - School of Arts and Communication&#60;br /&#62;
 * fhp - University of Applied Sciences&#60;br /&#62;
 * &#38;lt;http://www.arduino.cc&#38;gt;&#60;br /&#62;
 * &#38;lt;http://www.mah.se/k3&#38;gt;&#60;br /&#62;
 * &#38;lt;http://www.design.fh-potsdam.de&#38;gt;&#60;br /&#62;
 *&#60;br /&#62;
 * @date: 2006-09-30&#60;br /&#62;
 * @idea: Tomek Ness&#60;br /&#62;
 * @code: D. Cuartielles and Tomek Ness&#60;br /&#62;
 * @acknowledgements: Johny Lowgren for his DMX devices&#60;br /&#62;
 *&#60;br /&#62;
 */&#60;/p&#62;
&#60;p&#62;int sig = 11;           &#60;/p&#62;
&#60;p&#62;int count = 0;&#60;br /&#62;
int swing = 0;&#60;br /&#62;
int updown = 0;&#60;/p&#62;
&#60;p&#62;/* Sends a DMX byte out on a pin.  Assumes a 16 MHz clock.&#60;br /&#62;
 * Disables interrupts, which will disrupt the millis() function if used&#60;br /&#62;
 * too frequently. */&#60;/p&#62;
&#60;p&#62;void shiftDmxOut(int pin, int theByte)&#60;br /&#62;
{&#60;br /&#62;
    int wasteTime = 0;&#60;br /&#62;
    int theDelay = 1;&#60;br /&#62;
    int count = 0;&#60;br /&#62;
    int portNumber = port_to_output[digital_pin_to_port[pin].port];&#60;br /&#62;
    int pinNumber = digital_pin_to_port[pin].bit;&#60;/p&#62;
&#60;p&#62;    // the first thing we do is to write te pin to high&#60;br /&#62;
    // it will be the mark between bytes. It may be also&#60;br /&#62;
    // high from before&#60;br /&#62;
        _SFR_BYTE(_SFR_IO8(portNumber)) &#124;= _BV(pinNumber);&#60;br /&#62;
    delayMicroseconds(10);&#60;/p&#62;
&#60;p&#62;    // disable interrupts, otherwise the timer 0 overflow interrupt that&#60;br /&#62;
    // tracks milliseconds will make us delay longer than we want.&#60;br /&#62;
    cli();&#60;/p&#62;
&#60;p&#62;        // DMX starts with a start-bit that must always be zero&#60;br /&#62;
        _SFR_BYTE(_SFR_IO8(portNumber)) &#38;amp;= ~_BV(pinNumber);&#60;br /&#62;
        //we need a delay of 4us (then one bit is transfert)&#60;br /&#62;
        // at the arduino just the delay for 1us is precise every thing between 2 and 12 is jsut luke&#60;br /&#62;
        // to get excatly 4us we have do delay 1us 4 times&#60;br /&#62;
        delayMicroseconds(theDelay);&#60;br /&#62;
        delayMicroseconds(theDelay);&#60;br /&#62;
        delayMicroseconds(theDelay);&#60;br /&#62;
        delayMicroseconds(theDelay);&#60;/p&#62;
&#60;p&#62;         for (count = 0; count &#38;lt; 8; count++) {&#60;/p&#62;
&#60;p&#62;                if (theByte &#38;amp; 01) {&#60;br /&#62;
                  _SFR_BYTE(_SFR_IO8(portNumber)) &#124;= _BV(pinNumber);&#60;br /&#62;
                }&#60;br /&#62;
		else {&#60;br /&#62;
                  _SFR_BYTE(_SFR_IO8(portNumber)) &#38;amp;= ~_BV(pinNumber);&#60;br /&#62;
                }&#60;/p&#62;
&#60;p&#62;              delayMicroseconds(theDelay);&#60;br /&#62;
              delayMicroseconds(theDelay);&#60;br /&#62;
              delayMicroseconds(theDelay);&#60;br /&#62;
              // to write every bit exactly 4 microseconds, we have to waste some time here.&#60;br /&#62;
              //thats why we are doing a for loop with nothing to do, a delayMicroseonds is not smal enough&#60;br /&#62;
              for (wasteTime =0; wasteTime &#38;lt;2; wasteTime++) {}&#60;/p&#62;
&#60;p&#62;    		theByte&#38;gt;&#38;gt;=1;&#60;br /&#62;
        }&#60;/p&#62;
&#60;p&#62;    // the last thing we do is to write the pin to high&#60;br /&#62;
    // it will be the mark between bytes. (this break is have to be between 8 us and 1 sec)&#60;br /&#62;
        _SFR_BYTE(_SFR_IO8(portNumber)) &#124;= _BV(pinNumber);&#60;/p&#62;
&#60;p&#62;    // reenable interrupts.&#60;br /&#62;
    sei();&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;  void setup() {&#60;br /&#62;
  pinMode(sig, OUTPUT);&#60;br /&#62;
  digitalWrite(13, HIGH);&#60;br /&#62;
}&#60;/p&#62;
&#60;p&#62;void loop()  {&#60;/p&#62;
&#60;p&#62;   // sending the break (the break can be between 88us and 1sec)&#60;br /&#62;
   digitalWrite(sig, LOW);&#60;br /&#62;
   delay(10);&#60;/p&#62;
&#60;p&#62;   //sending the start byte&#60;br /&#62;
   shiftDmxOut(sig,0);&#60;/p&#62;
&#60;p&#62;   shiftDmxOut(sig, 255); //1&#60;/p&#62;
&#60;p&#62;   shiftDmxOut(sig, 0); //2&#60;br /&#62;
   shiftDmxOut(sig, 0); //3&#60;br /&#62;
   shiftDmxOut(sig, 0); //4&#60;br /&#62;
   shiftDmxOut(sig, 0); //5&#60;br /&#62;
   shiftDmxOut(sig, 0); //6&#60;br /&#62;
   shiftDmxOut(sig, 0); //7&#60;/p&#62;
&#60;p&#62;   shiftDmxOut(sig, 255); //8&#60;/p&#62;
&#60;p&#62;   for (count = 1; count&#38;lt;=504; count++){  //the rest&#60;br /&#62;
     shiftDmxOut(sig, 0);&#60;br /&#62;
   }&#60;br /&#62;
 }&#60;br /&#62;
&#60;/code&#62;&#60;/p&#62;
&#60;p&#62;This alternative might be easier to port to Maple (although the timing will be different casue it's based on processor speed it seems?) ?&#60;/p&#62;
&#60;p&#62;Don't know if this is the right place to ask but:&#60;/p&#62;
&#60;p&#62;1. can you analyse if one of the alternatives is actually easy to port, once I learn some Assembler?&#60;br /&#62;
2. in any case, it would be great for everyone to be able to use Maple with DMX... perhaps someone is interested in porting the library?&#60;/p&#62;
&#60;p&#62;(please lemme know if this is off-topic and where it should go, I am not used to posting to forums, etc.)
&#60;/p&#62;</description>
		</item>
		<item>
			<title>mikep on "Compatible Shields"</title>
			<link>http://forums.leaflabs.com/topic.php?id=969#post-6003</link>
			<pubDate>Wed, 17 Aug 2011 11:25:07 +0000</pubDate>
			<dc:creator>mikep</dc:creator>
			<guid isPermaLink="false">6003@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Looking at the schematic of the shield, it looks like it's using a MAX481CSA chip, which operates at 5V. The Maple Pin that corresponds to the Arduino 5V pin is called VDDA and only supplies 3.3V. So I think it won't work without any hardware modifications (e.g. adding a 5V regulator to the shield and powering that from the Maple Vin pin, or powering the maple through USB and use the Maple's Vin pin to supply 5V to the shield).&#60;br /&#62;
But maybe the MAX481 works down to 3.3V (even though it's not saying that in the datasheet), so you could try it, I don't think it'll break anything.&#60;/p&#62;
&#60;p&#62;Regards,&#60;br /&#62;
Mike
&#60;/p&#62;</description>
		</item>
		<item>
			<title>lucasvl on "Compatible Shields"</title>
			<link>http://forums.leaflabs.com/topic.php?id=969#post-6001</link>
			<pubDate>Wed, 17 Aug 2011 09:49:24 +0000</pubDate>
			<dc:creator>lucasvl</dc:creator>
			<guid isPermaLink="false">6001@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Hi,&#60;/p&#62;
&#60;p&#62;1. I'm looking to use this DMX shield...&#60;br /&#62;
&#60;a href=&#34;http://www.skpang.co.uk/catalog/arduino-dmx-shield-with-usd-card-holder-p-663.html&#34; rel=&#34;nofollow&#34;&#62;http://www.skpang.co.uk/catalog/arduino-dmx-shield-with-usd-card-holder-p-663.html&#60;/a&#62;&#60;br /&#62;
... with the Maple.&#60;/p&#62;
&#60;p&#62;Do you know if it is compatible?&#60;/p&#62;
&#60;p&#62;2. The shield works with the &#34;DmxSimple&#34; library...&#60;br /&#62;
&#60;a href=&#34;http://code.google.com/p/tinkerit/wiki/DmxSimple&#34; rel=&#34;nofollow&#34;&#62;http://code.google.com/p/tinkerit/wiki/DmxSimple&#60;/a&#62;&#60;br /&#62;
... from &#34;Tinker.it!&#34;&#60;/p&#62;
&#60;p&#62;Do you know if it is compatible?&#60;/p&#62;
&#60;p&#62;Hope someone has already tried this or can give some feedback... thanks!
&#60;/p&#62;</description>
		</item>
		<item>
			<title>mbolivar on "Compatible Shields"</title>
			<link>http://forums.leaflabs.com/topic.php?id=969#post-5951</link>
			<pubDate>Tue, 09 Aug 2011 14:15:39 +0000</pubDate>
			<dc:creator>mbolivar</dc:creator>
			<guid isPermaLink="false">5951@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Hi galindro,&#60;/p&#62;
&#60;p&#62;Thanks for the suggestions!  That table could definitely use some expansion.  We're working on some Wiki posts regarding SD shield compatibility right now, actually.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>galindro on "Compatible Shields"</title>
			<link>http://forums.leaflabs.com/topic.php?id=969#post-5948</link>
			<pubDate>Tue, 09 Aug 2011 13:52:43 +0000</pubDate>
			<dc:creator>galindro</dc:creator>
			<guid isPermaLink="false">5948@http://forums.leaflabs.com/</guid>
			<description>&#60;p&#62;Hi!&#60;/p&#62;
&#60;p&#62;  I know there is a link with the shield and device compatible list (&#60;a href=&#34;http://leaflabs.com/docs/arduino-compatibility.html#shield-and-device-compatibility)&#34; rel=&#34;nofollow&#34;&#62;http://leaflabs.com/docs/arduino-compatibility.html#shield-and-device-compatibility)&#60;/a&#62;, but, I suggest that is placed on this table, the following shields to be tested:&#60;/p&#62;
&#60;p&#62;1 - Arduino Sensor Shield V5 -&#38;gt; &#60;a href=&#34;http://www.emartee.com/product/41953/Arduino%20Sensor%20Shield%20V5.0&#34; rel=&#34;nofollow&#34;&#62;http://www.emartee.com/product/41953/Arduino%20Sensor%20Shield%20V5.0&#60;/a&#62;&#60;br /&#62;
2 - SD Card Module -&#38;gt; &#60;a href=&#34;http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&#38;amp;item=270720898973&#38;amp;ssPageName=ADME:L:OC:US:1123&#34; rel=&#34;nofollow&#34;&#62;http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&#38;amp;item=270720898973&#38;amp;ssPageName=ADME:L:OC:US:1123&#60;/a&#62;&#60;br /&#62;
3 - RTC DS1307 Shield -&#38;gt; &#60;a href=&#34;http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&#38;amp;item=270729898023&#38;amp;ssPageName=ADME:L:OC:US:1123#ht_3194wt_1185&#34; rel=&#34;nofollow&#34;&#62;http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&#38;amp;item=270729898023&#38;amp;ssPageName=ADME:L:OC:US:1123#ht_3194wt_1185&#60;/a&#62;&#60;br /&#62;
4 - GPRS Shield -&#38;gt; &#60;a href=&#34;http://www.seeedstudio.com/depot/gprs-shield-p-779.html?cPath=132_134&#34; rel=&#34;nofollow&#34;&#62;http://www.seeedstudio.com/depot/gprs-shield-p-779.html?cPath=132_134&#60;/a&#62;&#60;br /&#62;
5 - GPS Shield -&#38;gt; &#60;a href=&#34;http://www.sparkfun.com/products/10710&#34; rel=&#34;nofollow&#34;&#62;http://www.sparkfun.com/products/10710&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;   Is it possible?
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
