<feed xmlns='http://www.w3.org/2005/Atom'>
<title>feurig/libmaplemidi-cma/libmaple/rules.mk, 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>2013-04-12T05:17:58+00:00</updated>
<entry>
<title>odds and ends</title>
<updated>2013-04-12T05:17:58+00:00</updated>
<author>
<name>Donald Delmar Davis</name>
<email>don@suspectdevices.com</email>
</author>
<published>2013-04-12T05:17:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/commit/?id=a4b5f3e31c44c3d471683f20a5ccb35a018ae688'/>
<id>urn:sha1:a4b5f3e31c44c3d471683f20a5ccb35a018ae688</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fucking maple build system.</title>
<updated>2013-04-12T00:49:44+00:00</updated>
<author>
<name>Donald Delmar Davis</name>
<email>don@suspectdevices.com</email>
</author>
<published>2013-04-12T00:49:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/commit/?id=bcfabccfb71c89081971ee0fd5fa0c8fcc3e1ea6'/>
<id>urn:sha1:bcfabccfb71c89081971ee0fd5fa0c8fcc3e1ea6</id>
<content type='text'>
</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>
<entry>
<title>Implement DMA tube API on STM32F2.</title>
<updated>2012-06-15T21:41:37+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-14T22:31:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/commit/?id=26cf9b22091fc3db71d1efd96b18ef210a0e8e60'/>
<id>urn:sha1:26cf9b22091fc3db71d1efd96b18ef210a0e8e60</id>
<content type='text'>
Signed-off-by: Marti Bolivar &lt;mbolivar@leaflabs.com&gt;
</content>
</entry>
<entry>
<title>Build libmaple/dma.c on STM32F1.</title>
<updated>2012-06-12T20:02:13+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-12T20:01:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/commit/?id=b95f3e56b5c85e274119017865d2ef0a4b3e7edf'/>
<id>urn:sha1:b95f3e56b5c85e274119017865d2ef0a4b3e7edf</id>
<content type='text'>
F2 doesn't work yet.

Signed-off-by: Marti Bolivar &lt;mbolivar@leaflabs.com&gt;
</content>
</entry>
<entry>
<title>Bring back &lt;libmaple/spi.h&gt;.</title>
<updated>2012-06-08T01:46:25+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-08T01:41:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/commit/?id=d71254f8f9047074070fff06c12cfcf07521e19b'/>
<id>urn:sha1:d71254f8f9047074070fff06c12cfcf07521e19b</id>
<content type='text'>
Add a spi_private.h with a SPI_DEV(), for convenience. Use it in the
F1 and F2 implementations. We could probably unify these with an
STM32_HAVE_SPI(n) macro, but we'll leave that for the future.

Most everything from F1 is portable; F2 has some additional bit
definitions and a spi_get_af() routine, but that's about it.

Signed-off-by: Marti Bolivar &lt;mbolivar@leaflabs.com&gt;
</content>
</entry>
<entry>
<title>Move syscalls.c into Wirish.</title>
<updated>2012-06-07T23:15:05+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-07T09:45:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/commit/?id=d14105d11ef1b2fa429318425efcb9c125f60f61'/>
<id>urn:sha1:d14105d11ef1b2fa429318425efcb9c125f60f61</id>
<content type='text'>
libmaple takes orders, it doesn't give them.

Signed-off-by: Marti Bolivar &lt;mbolivar@leaflabs.com&gt;
</content>
</entry>
<entry>
<title>Bring back libmaple/dac.h.</title>
<updated>2012-06-04T04:20:21+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-04T04:06:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/commit/?id=6f91cfc4253568ef485279668e60694154640ed4'/>
<id>urn:sha1:6f91cfc4253568ef485279668e60694154640ed4</id>
<content type='text'>
Minor variations on F2: DMA underrun interrupts, and a status register
to hold the notification bits.

Signed-off-by: Marti Bolivar &lt;mbolivar@leaflabs.com&gt;
</content>
</entry>
<entry>
<title>Bring back EXTI on F1, with deprecations for gpio.h on F1.</title>
<updated>2012-06-04T02:40:40+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-04T00:30:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/commit/?id=9557be1f2527efdece868233c4c2d360dee8de23'/>
<id>urn:sha1:9557be1f2527efdece868233c4c2d360dee8de23</id>
<content type='text'>
Tested on Maple Mini with examples/mini-exti-test. Changes to Wirish
are minor: use the new EXTI types exti_num and exti_cfg (see below) in
place of now-deprecated variants in ext_interrupts.cpp.

The way I originally did libmaple/exti.h was stupid, and fixing it
turned out to be a little disruptive.

libmaple/exti.h depends on libmaple/gpio.h (for AFIO), but that's a
classic case of exposed implementation detail. So invert the
dependency: make gpio.h depend on exti.h. Do this by adding exti_num
and exti_cfg to exti.h; these respectively replace afio_exti_num and
afio_exti_port. The afio_* variants are now deprecated. (Throw in a
typedef and some macros at the bottom of the F1 series/gpio.h for
backwards compatibility).

Make exti_attach_interrupt() and exti_detach_interrupt() take
exti_num/exti_cfg arguments instead of the afio_* variants.

Make the EXTI dispatch routines __always_inline to defeat GCC -Os.

Many renames throughout libmaple/stm32f1/ to stop using the deprecated
names. Also move the previously F1-only gpio_exti_port() function into
the public libmaple header. Reimplementing it in terms of rcc_clk_ids
lets us deprecate the gpio_dev-&gt;exti_port field, which will save space
in the future.

While we're there, I notice that struct gpio_dev is defined once per
series. That's dumb, as it misses the entire point of having device
structs: they contain what's portable. So put the F1 version (which
has the extra EXTI port field) into libmaple/gpio.h, and add the
necessary exti_ports to libmaple/stm32f2/gpio.c. Sigh. We'll get rid
of it eventually, at least.

Clean up some other mistakes in gpio.h files as well (mostly removing
util.h dependency). Sorry for the messy commit.

For portability, add a new series-specific exti function,
exti_select(). The F1 version in (new) libmaple/stm32f1/exti.c uses
AFIO and some new private functionality in libmaple/exti.c and (new)
libmaple/exti_private.h to make this convenient.  We'll be able to do
the SYSCFG equivalent on F2 without any trouble.

Signed-off-by: Marti Bolivar &lt;mbolivar@leaflabs.com&gt;
</content>
</entry>
<entry>
<title>Don't try to build some libmaple files.</title>
<updated>2012-05-31T21:24:17+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-05-31T20:02:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/feurig/libmaplemidi-cma/commit/?id=f20568393e3fea849e0e1ce3d3ab05f9c574b655'/>
<id>urn:sha1:f20568393e3fea849e0e1ce3d3ab05f9c574b655</id>
<content type='text'>
We can't do these on F2 right now.

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