chipKIT® Development Platform

Inspired by Arduino™

I2C wire library & repeated start (Sr)

Created Tue, 17 Jul 2012 15:21:40 +0000 by lanmat


lanmat

Tue, 17 Jul 2012 15:21:40 +0000

Now that Arduino-1.0.1 supports the I2C repeated start (Sr) command, any brave soul willing to port it over to chipkit? I've got a really slow ADC that I could double my convert rate if I could send it an Sr command instead of a Stop each time I change the channel.

I started to dig into the 1.0.1 twi.c a bit, but from the comments it seems there's a bit more interrupt complexity to the Sr command than I thought and I don't have very high confidence I could navigate the port myself successfully and in a timely manner.

So here's my plea for help! Attached are the relevant 1.0.1 files for those who don't want to have to go downloading the full 86MB latest Arduino release.


GeneApperson

Thu, 19 Jul 2012 19:17:30 +0000

I'll put this on my list of things to work on.

Gene Apperson Digilent


lanmat

Mon, 25 Mar 2013 19:35:20 +0000

This project dropped down on my list of priorities, but I'm picking it up again. It's been a while, so I thought I'd check if anyone else has also expressed interest in and/or has progress on a repeated Start event for I2C on Digilent's boards.


avenue33

Mon, 25 Mar 2013 19:41:00 +0000

Working on the I2C library provides the perfect opportunity to address the :arrow: Wire onReceive(handler) issue at the same time!


ahurley

Thu, 12 Nov 2015 18:46:59 +0000

Any word if i2c repeat start works yet for digilent max32 MPIDE any version?


EmbeddedMan

Thu, 12 Nov 2015 23:52:07 +0000

Yes, repeated start is in the latest chipKIT-core builds ([url]http://chipkit.net/wiki/index.php?title=ChipKIT_core[/url]) I have tested it and it works. Keith from Digilent did the coding of it.

It is implemented just like Arduino does it (see [url]https://www.arduino.cc/en/Reference/WireEndTransmission[/url]) by calling endTransmission(false);

*Brian


EmbeddedMan

Thu, 12 Nov 2015 23:53:06 +0000

I should say that I think it's in the latest test release up on the Wiki. :-) Let me know if it's not and I can get you the code.

*Brian