<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/stmf0/stm32f0.h, branch 1.8.6</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=1.8.6</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=1.8.6'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2018-01-08T05:44:39+00:00</updated>
<entry>
<title>altos/stmf0: Use double buffering for ChaosKey</title>
<updated>2018-01-08T05:44:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2018-01-08T05:44:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=48d164e3d4b2ef27fae20fae63b8014803a7b178'/>
<id>urn:sha1:48d164e3d4b2ef27fae20fae63b8014803a7b178</id>
<content type='text'>
This improves the USB performance of ChaosKey so that it doesn't NAK
during data transfers at all.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stmf0: use double buffering for USB rx data</title>
<updated>2018-01-08T01:43:42+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2018-01-08T01:43:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=8545ed42bd29152f4937fb6457aba5fbd57e7691'/>
<id>urn:sha1:8545ed42bd29152f4937fb6457aba5fbd57e7691</id>
<content type='text'>
This also allows us to stop shadowing USB rx buffers in system ram

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stmf0: Use double buffering for USB tx data</title>
<updated>2018-01-07T20:43:13+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2018-01-07T20:43:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=42072f591690b8258d957ab7a9b2f5d911676b39'/>
<id>urn:sha1:42072f591690b8258d957ab7a9b2f5d911676b39</id>
<content type='text'>
This shouldn't have much of an effect, but shows how double buffering
works.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stmf0: Fix HSI clock rate.</title>
<updated>2017-04-28T07:04:33+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-04-28T07:04:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=d197adf353ec5503c72a4554aca2a463bb685932'/>
<id>urn:sha1:d197adf353ec5503c72a4554aca2a463bb685932</id>
<content type='text'>
It's 8MHz, not 16MHz

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stmf0: Support timer 2/3 for the beeper</title>
<updated>2017-02-21T01:35:51+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2017-02-21T01:29:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=9603d737e9ea58217ff2c2dd7c350c7a29fba980'/>
<id>urn:sha1:9603d737e9ea58217ff2c2dd7c350c7a29fba980</id>
<content type='text'>
Tested on timer 2, all four channels.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/arm: Align data so that gcc 5.4 doesn't do byte-accesses. Add -Wcast-align</title>
<updated>2016-12-18T05:04:33+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-12-18T04:58:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=89ecc32b90565ace078c4a84d4406a4d1f86821a'/>
<id>urn:sha1:89ecc32b90565ace078c4a84d4406a4d1f86821a</id>
<content type='text'>
Gcc 5.4.1 tracks alignment of data through assignments, so that a
uint32_t pointer which comes from byte-aligned uint8_t data:

extern uint8_t foo[];

	uint32_t	*q = (void *) foo;

Fetches and stores through this pointer are done bytewise. This is
slow (meh), but if q references a device register, things to bad very
quickly.

This patch works around this bug in the compiler by adding
__attribute__((aligned(4))) tags to some variables, or changing them
from uint8_t to uint32_t. Places doing this will now be caught as I've
added -Wcast-align to the compiler flags. That required adding (void
*) casts, after the relevant code was checked to make sure the
compiler could tell that the addresses were aligned.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stmf0: Add USART support</title>
<updated>2016-10-31T02:07:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-10-31T02:06:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=148f6e0a107d9e88509958700351794f2f971312'/>
<id>urn:sha1:148f6e0a107d9e88509958700351794f2f971312</id>
<content type='text'>
The STM32F0 usart can be operated much like the STM32L usart, but the
registers are all moved around.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stmf0: Hook up clock output support</title>
<updated>2016-08-02T23:55:11+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-08-02T23:32:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=782013d0ff2c9f076952c0e172bfcb7016699d5f'/>
<id>urn:sha1:782013d0ff2c9f076952c0e172bfcb7016699d5f</id>
<content type='text'>
This was used to try and not have two xtals on telemini, but failed
because the provided clock has too much noise.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Add STM32F0 beep and SPI byte API.</title>
<updated>2016-07-14T22:12:58+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-07-02T18:00:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=1667cb8e8b702b05fc3ec39ee49029885df64a4a'/>
<id>urn:sha1:1667cb8e8b702b05fc3ec39ee49029885df64a4a</id>
<content type='text'>
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>Switch from GPLv2 to GPLv2+</title>
<updated>2016-07-12T22:41:41+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-07-05T16:03:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=1085ec5d57e0ed5d132f2bbdac1a0b6a32c0ab4a'/>
<id>urn:sha1:1085ec5d57e0ed5d132f2bbdac1a0b6a32c0ab4a</id>
<content type='text'>
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
</feed>
