<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Arduino I2C Master Library - UPDATED</title>
		<description>Discuss Arduino I2C Master Library - UPDATED</description>
		<link>http://dsscircuits.com/articles/arduino-i2c-master-library.html</link>
		<lastBuildDate>Tue, 21 May 2013 11:41:24 --500</lastBuildDate>
		<generator>JComments</generator>
		<atom:link href="http://dsscircuits.com/component/jcomments/feed/com_content/66/10.html" rel="self" type="application/rss+xml" />
		<item>
			<title>Peter says:</title>
			<link>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-507</link>
			<description><![CDATA[#define DACX 0x63 Then Wire.beginTransmissi on(DACX); Wire.send(64); // cmd to update the DAC Wire.send(valx >> 4); // the 8 most significant bits... Wire.send((valx & 15)]]></description>
			<dc:creator>Peter</dc:creator>
			<pubDate>Mon, 20 May 2013 09:31:47 --500</pubDate>
			<guid>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-507</guid>
		</item>
		<item>
			<title>Peter says:</title>
			<link>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-506</link>
			<description><![CDATA[Hi Wayne, I am trying to make an xy-laser projector. For that I use an Arduino and 2 DACs MCP4725. (I2C Digital Analog Converter) The problem with the wire library is that the DACS are update one at a time. It means I cannot draw diagonal lines. It first finishes the X-movement and then the Y-movement. So I get a horizontal and a vertical line. I am not so familiar with bits and bytes programming. Using the wire library, I use the following code: Where "valx" is the position of the x-coordinate. It is the value I send to the DAC In the top: #define DACX 0x63 Then Wire.beginTransmissi on(DACX); Wire.send(64); // cmd to update the DAC Wire.send(valx >> 4); // the 8 most significant bits... Wire.send((valx & 15)]]></description>
			<dc:creator>Peter</dc:creator>
			<pubDate>Mon, 20 May 2013 06:07:03 --500</pubDate>
			<guid>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-506</guid>
		</item>
		<item>
			<title>Peter says:</title>
			<link>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-505</link>
			<description><![CDATA[Hi Wayne, I am trying to make an xy-laser projector. For that I use an Arduino and 2 DACs MCP4725. (I2C Digital Analog Converter) The problem with the wire library is that the DACS are update one at a time. It means I cannot draw diagonal lines. It first finishes the X-movement and then the Y-movement. So I get a horizontal and a vertical line. I am not so familiar with bits and bytes programming. Using the wire library, I use the following code: Where "valx" is the position of the x-coordinate. It is the value I send to the DAC In the top: #define DACX 0x63 Wire.beginTransmissi on(DACX); Wire.send(64); // cmd to update the DAC Wire.send(valx >> 4); // the 8 most significant bits... Wire.send((valx & 15)]]></description>
			<dc:creator>Peter</dc:creator>
			<pubDate>Mon, 20 May 2013 06:01:07 --500</pubDate>
			<guid>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-505</guid>
		</item>
		<item>
			<title>Jim says:</title>
			<link>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-504</link>
			<description><![CDATA[Hi Wayne and all... I was just wondering if anyone has had any problems using: I2c.write(addr, reg, pBuf) I find that my device becomes unstable when I use it unless I limit the length of pBuf to 32 characters. I have not experimented to see exactly what the magic number is. Also, I have found that I need to disable interrupts when I call it, although I suspect this is specific to the dual UART I am using. My guess is that when an interrupt triggers due to data coming in on port A, if I am in the process of sending data on port B is becomes unhappy. Oh, I'm using it in slow speed, at least for my current testing. Thanks!]]></description>
			<dc:creator>Jim</dc:creator>
			<pubDate>Mon, 20 May 2013 04:23:03 --500</pubDate>
			<guid>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-504</guid>
		</item>
		<item>
			<title>Frans says:</title>
			<link>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-496</link>
			<description><![CDATA[Well i have no idea how to do that. Maybe it's best to so a software sampling of the i2c messages, like in this post: https://billgrundmann.wordpress.com/2009/03/03/sniffing-the-i2c-traffic-of-a-nunchuk/. This way it should be possible to capture the update messages from the existing master to the display and act on the data values. But unfortunately my c and i2c knowledge is too limited to convert this sample code to do so.. Anyway many thanks for your responses!]]></description>
			<dc:creator>Frans</dc:creator>
			<pubDate>Wed, 01 May 2013 13:40:55 --500</pubDate>
			<guid>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-496</guid>
		</item>
		<item>
			<title>Wayne Truchsess says:</title>
			<link>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-495</link>
			<description><![CDATA[ It looks as though the other master is not waiting for the bus to free up before trying to communicate with the slave device. Basically the I2C master should not initiate a start condition when another device has the bus (this would be indicated by a stop bit). Since you're using the I2C.read function, you are doing a write followed by a read, and using a repeated start between the two operations. This is supposed to be the benefit of using a repeated start between operations (as compared to a stop then start) so the bus does not free up and you are able to finish your request. The other master however is not adhering to this and is trying to start between your write and read operations. Unfortunately I can't tell you which of the two (actually three devices if the slave supports clock stretching) is holding the SCL line low after it locks up (kind of the draw back to an open drain setup). You may have to implement some kind of tiing operation to only send the request when you know the bus will be free for a given time period.]]></description>
			<dc:creator>Wayne Truchsess</dc:creator>
			<pubDate>Tue, 30 Apr 2013 20:04:33 --500</pubDate>
			<guid>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-495</guid>
		</item>
		<item>
			<title>Frans Rampen says:</title>
			<link>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-494</link>
			<description><![CDATA[Oh i forgot to mention: arduino reads 0x67 register 0x16 every 5 seconds. the rest of the traffic is the teleco satbox (P89V662 chip)]]></description>
			<dc:creator>Frans Rampen</dc:creator>
			<pubDate>Tue, 30 Apr 2013 04:14:52 --500</pubDate>
			<guid>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-494</guid>
		</item>
		<item>
			<title>Frans Rampen says:</title>
			<link>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-493</link>
			<description><![CDATA[Hello Wayne, Here you go: http://support.yodahosting.nl/downloads/teleco.zip I also included the datasheet of the i2c bus extenders used. I have ordered one so i can use it in star-config (see page 5) and use the arduino on a separate extender instead right on the buffered bus.]]></description>
			<dc:creator>Frans Rampen</dc:creator>
			<pubDate>Tue, 30 Apr 2013 04:11:57 --500</pubDate>
			<guid>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-493</guid>
		</item>
		<item>
			<title>Wayne Truchsess says:</title>
			<link>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-492</link>
			<description><![CDATA[Hmmm...I'm not so sure you're other master (non Arduino) supports multi-master. From what I can see, the Arduino attempts to communicate with the slave device and then the other master tries to send a data byte. As you can see in the second setup write, the address receives a NAK which means it's probably trying to send a data byte when it thinks it already addressed the slave device. Hard to tell what's going on just from the screenshot so if you want to send me the file go ahead and I'll take another look.]]></description>
			<dc:creator>Wayne Truchsess</dc:creator>
			<pubDate>Mon, 29 Apr 2013 19:08:37 --500</pubDate>
			<guid>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-492</guid>
		</item>
		<item>
			<title>Frans Rampen says:</title>
			<link>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-491</link>
			<description><![CDATA[Wayne, I think i found something; looking at this screenshot: http://support.yodahosting.nl/downloads/i2cfault.jpg It looks like the clock signal used is changed during a message. After this the clocksignal is pulled to ground permanently... Frans]]></description>
			<dc:creator>Frans Rampen</dc:creator>
			<pubDate>Mon, 29 Apr 2013 09:09:05 --500</pubDate>
			<guid>http://dsscircuits.com/articles/arduino-i2c-master-library.html#comment-491</guid>
		</item>
	</channel>
</rss>
