<feed xmlns='http://www.w3.org/2005/Atom'>
<title>librambutan/libmaple/stm32f2/include/series, branch legacy</title>
<subtitle>[no description]</subtitle>
<id>https://git.bnewbold.net/librambutan/atom?h=legacy</id>
<link rel='self' href='https://git.bnewbold.net/librambutan/atom?h=legacy'/>
<link rel='alternate' type='text/html' href='https://git.bnewbold.net/librambutan/'/>
<updated>2012-06-30T00:46:20+00:00</updated>
<entry>
<title>ADC: Doxygen fixups</title>
<updated>2012-06-30T00:46:20+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-30T00:34:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bnewbold.net/librambutan/commit/?id=94ddccd06c20cc8e7fef34fe53d7b550b64d65da'/>
<id>urn:sha1:94ddccd06c20cc8e7fef34fe53d7b550b64d65da</id>
<content type='text'>
Signed-off-by: Marti Bolivar &lt;mbolivar@leaflabs.com&gt;
</content>
</entry>
<entry>
<title>Doxygen hacks and fixups.</title>
<updated>2012-06-28T21:29:43+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-28T21:27:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bnewbold.net/librambutan/commit/?id=6a6af3980a827a02e371968ec56271774ceb26ac'/>
<id>urn:sha1:6a6af3980a827a02e371968ec56271774ceb26ac</id>
<content type='text'>
- Shut Doxygen up in various places
- Fix some genuine docs bugs
- Ignore sources we're not responsible for

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.bnewbold.net/librambutan/commit/?id=e72e411c1f0e4f96326351264301c6e475206e30'/>
<id>urn:sha1:e72e411c1f0e4f96326351264301c6e475206e30</id>
<content type='text'>
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.bnewbold.net/librambutan/commit/?id=a52fe9205cbb8f8a2e458e300c2048d889b26b54'/>
<id>urn:sha1:a52fe9205cbb8f8a2e458e300c2048d889b26b54</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>series/timer.h: Remove silly duplicate declarations.</title>
<updated>2012-06-07T23:15:04+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-07T08:29:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bnewbold.net/librambutan/commit/?id=cb15495943b560cb0ca45e652bbcf7e14df2eadc'/>
<id>urn:sha1:cb15495943b560cb0ca45e652bbcf7e14df2eadc</id>
<content type='text'>
Signed-off-by: Marti Bolivar &lt;mbolivar@leaflabs.com&gt;
</content>
</entry>
<entry>
<title>stm32.h: Soften "missing MCU" errors into warnings.</title>
<updated>2012-06-07T07:38:29+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-05T19:23:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bnewbold.net/librambutan/commit/?id=bc6d7181b8fe73fb4f7343a6eeec3da9342bc1fc'/>
<id>urn:sha1:bc6d7181b8fe73fb4f7343a6eeec3da9342bc1fc</id>
<content type='text'>
It's not important whether the MCU is specified. What's important is
that &lt;libmaple/stm32.h&gt; gets everything it needs -- which it now
ensures that it does. Requiring people to do things on a per-MCU basis
hurts hackability and is just asking for trouble.

On the other hand, it's nice to provide a clue as to why
&lt;libmaple/stm32.h&gt; might be giving #errors, so do leave the
warnings. People can always hack the header to shut them up if they
want.

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.bnewbold.net/librambutan/commit/?id=23d81a1044ac3c3694d58d7659be8476ebe9ee15'/>
<id>urn:sha1:23d81a1044ac3c3694d58d7659be8476ebe9ee15</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>stm32.h: Add STM32_HAVE_DAC feature-test.</title>
<updated>2012-06-04T04:17:01+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-04T03:09:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bnewbold.net/librambutan/commit/?id=6ad1757e62dcfe112a473ef6474b9f4c1317cf9e'/>
<id>urn:sha1:6ad1757e62dcfe112a473ef6474b9f4c1317cf9e</id>
<content type='text'>
Signed-off-by: Marti Bolivar &lt;mbolivar@leaflabs.com&gt;
</content>
</entry>
<entry>
<title>STM32F2: Add EXTI support.</title>
<updated>2012-06-04T02:45:41+00:00</updated>
<author>
<name>Marti Bolivar</name>
<email>mbolivar@leaflabs.com</email>
</author>
<published>2012-06-04T01:01:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bnewbold.net/librambutan/commit/?id=d036d2f4e2d4475037294304e7c04a6db6b3167d'/>
<id>urn:sha1:d036d2f4e2d4475037294304e7c04a6db6b3167d</id>
<content type='text'>
Add series headers to keep the base pointers, and (on F2) use SYSCFG
to tell exti_do_select() where the EXTI control registers are. No
surprises.

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.bnewbold.net/librambutan/commit/?id=a5b5d4f27f94befaf5577563a0319e8194377118'/>
<id>urn:sha1:a5b5d4f27f94befaf5577563a0319e8194377118</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>
</feed>
