<feed xmlns='http://www.w3.org/2005/Atom'>
<title>feurig/libmaplemidi-cma/libmaple/i2c_private.h, branch master</title>
<subtitle>C and C++ library for STM32 ARM Cortex-M3 development boards.</subtitle>
<id>https://git.suspectdevices.com/feurig/libmaplemidi-cma/atom?h=master</id>
<link rel='self' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/'/>
<updated>2012-06-22T18:06:10+00:00</updated>
<entry>
<title>i2c_dev: deprecate .gpio_port.</title>
<updated>2012-06-22T18:06:10+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-21T21:04:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/commit/?id=0a54c3e3368019f828ce034d5263321ad613bd5c'/>
<id>urn:sha1:0a54c3e3368019f828ce034d5263321ad613bd5c</id>
<content type='text'>
This won't work on F2, which at times has SDA and SCL on different
ports (e.g. I2C3 SDA on PC9, SCL on PA8). Add .sda_port and .scl_port
replacements, which are used when the now-deprecated .gpio_port is
null. Use them correctly everywhere, with some new i2c_private.h
helper functionality.

Sigh. The F1 I2C code tries too hard to guess what you wanted; it's
not porting well at all.

Signed-off-by: Marti Bolivar &lt;mbolivar@leaflabs.com&gt;
</content>
</entry>
<entry>
<title>I2C: Move nonportable CCR/TRISE configuration.</title>
<updated>2012-06-22T18:06:10+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-21T20:29:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/commit/?id=52341e8ede80b3cd3fdb3888bbcee37125c5b580'/>
<id>urn:sha1:52341e8ede80b3cd3fdb3888bbcee37125c5b580</id>
<content type='text'>
Do this via new private _i2c_set_ccr_trise().

Signed-off-by: Marti Bolivar &lt;mbolivar@leaflabs.com&gt;
</content>
</entry>
<entry>
<title>I2C: Restore on F1, refactoring prep for F2.</title>
<updated>2012-06-22T18:06:09+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-20T17:47:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/commit/?id=7c8194727284c2101ad3934741324933ddb95697'/>
<id>urn:sha1:7c8194727284c2101ad3934741324933ddb95697</id>
<content type='text'>
Bring back &lt;libmaple/i2c.h&gt; support on STM32F1 with a view towards how
it'll be implemented on STM32F2. There are still many F1-isms in
libmaple/i2c.c and &lt;libmaple/i2c.h&gt;, to be dealt with subsequently.

Move device declarations and base pointer definitions to a new F1
&lt;series/i2c.h&gt;. The register maps and bit definitions themselves are
identical on both series, so leave them in the libmaple header.

Add i2c_private.h, which contains:

- I2C_DEV(), a convenience macro for defining an i2c_dev, and
- declarations for the event and error IRQ handlers.

The IRQ handlers are large, and I2C is slow anyway, so I see no reason
to make them inline in the private header (as we do for some other
peripherals). We just expose the existing ones that were formerly
static in libmaple/i2c.c, but prefix the names with underscore.

Move the device declarations and IRQ handlers into new
stm32f1/i2c.c. These use the i2c_private.h API.

Signed-off-by: Marti Bolivar &lt;mbolivar@leaflabs.com&gt;
</content>
</entry>
</feed>
