<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/stm/ao_serial_stm.c, branch 1.6.2</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=1.6.2</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=1.6.2'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2015-02-14T07:51:10+00:00</updated>
<entry>
<title>altos: Replace ao_alarm/ao_clear_alarm with ao_sleep_for</title>
<updated>2015-02-14T07:51:10+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2015-02-14T07:51:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=f4c812bef76a2cd95f675cb27ea89059561ceec7'/>
<id>urn:sha1:f4c812bef76a2cd95f675cb27ea89059561ceec7</id>
<content type='text'>
Having arbitrary alarms firing in the middle of complicated device
logic makes no sense at all. Therefore only correct use of ao_alarm
and ao_clear_alarm was around a specific ao_sleep call, with correct
recovery in case the alarm fires.

This patch replaces all uses of ao_alarm/ao_sleep/ao_clear_alarm with
ao_sleep_for, a new function which takes the alarm timeout directly.

A few cases which weren't simply calling ao_sleep have been reworked
to pass the timeout value down to the place where sleep *is* being
called, and having that code deal with the return correctly.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Add ability to delay STDIO usage for serial ports</title>
<updated>2015-02-01T15:36:51+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2015-02-01T15:36:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=44a503a8cf3778cad5469c592e8ccbae58e44b97'/>
<id>urn:sha1:44a503a8cf3778cad5469c592e8ccbae58e44b97</id>
<content type='text'>
Bluetooth needs to delay adding the serial port to stdio until the
link is up and running. The cc1111 serial driver had
DELAY_SERIAL_*_STDIN bits which have been added to the STM serial driver.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Add support for TeleBT v3.0</title>
<updated>2015-01-24T19:18:59+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2015-01-24T19:18:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=0e7d1c89fea98eabca738f10cbfebec631be3bb7'/>
<id>urn:sha1:0e7d1c89fea98eabca738f10cbfebec631be3bb7</id>
<content type='text'>
Add support to the BTM driver for non-CC1111 interrupts
Add HW flow control to STM serial driver

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Do not release interrupts from any pollchar function</title>
<updated>2013-03-31T19:24:24+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-03-24T22:00:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=4f1f3e836393304434130d362771a39f6f8f859a'/>
<id>urn:sha1:4f1f3e836393304434130d362771a39f6f8f859a</id>
<content type='text'>
getchar relies on interrupts being blocked across the pollchar calls
and into the sleep call or it may go to sleep with data pending.

This prefixes all pollchar functions with _ to indicate that they are
to be called with interrupts blocked and eliminates all interrupt
manipulation calls from within the pollchar functions.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Add support for 115200 baud serial rates</title>
<updated>2012-12-01T00:03:45+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-12-01T00:03:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=7db14905af5cbbfa47d1a2026cce6aea9e5aae7a'/>
<id>urn:sha1:7db14905af5cbbfa47d1a2026cce6aea9e5aae7a</id>
<content type='text'>
Necessary for flashing skytraq chips

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Make stdio 8-bit clean by making pollchar return int</title>
<updated>2012-12-01T00:01:07+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-12-01T00:01:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=0b65402361f36a0c722977bcb63edb26fda0db28'/>
<id>urn:sha1:0b65402361f36a0c722977bcb63edb26fda0db28</id>
<content type='text'>
We were stealing one value (0xff) in the return value from pollchar to
indicate 'not ready yet'. Instead of doing that, use the integer value
-1 and have pollchar return an int instead of a char. That
necessitated cleaning a few other bits to make sure that 0xff wouldn't
get promoted to -1 on accident.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Switch drivers to ao_arch_block/release_interrupts</title>
<updated>2012-10-25T18:25:42+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-10-25T18:25:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=f221c78e6237e0a118ebe85c25e433fe16a7735d'/>
<id>urn:sha1:f221c78e6237e0a118ebe85c25e433fe16a7735d</id>
<content type='text'>
Stop using cli/sei, which are avr-specific

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Massive product config cleanup</title>
<updated>2012-04-14T21:04:29+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-04-12T21:51:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=040a6eb119451026e1ec7c3a6a8e76b439c632d5'/>
<id>urn:sha1:040a6eb119451026e1ec7c3a6a8e76b439c632d5</id>
<content type='text'>
Support multiple serial ports more cleanly

Split out parts of ao.h into separate feature header files

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Make STM clock configuration per-product. Fix 32MHz CPU speed</title>
<updated>2012-04-10T05:17:33+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-04-10T05:17:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=51aef5d4fc29986353ad887f4a67ed2fe35f8c8e'/>
<id>urn:sha1:51aef5d4fc29986353ad887f4a67ed2fe35f8c8e</id>
<content type='text'>
This moves all of the STM clock configuration into ao_pins.h so that
each product can configure it separately. While doing this, I
discovered that the flash memory mode (64-bit, prefetch, latency 1)
wasn't actually getting set, which is why the CPU refused to work at
32MHz.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Oops. Set per-USART STM baud rate register instead of usart1</title>
<updated>2012-04-03T02:29:21+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-04-03T02:27:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=c09d155328bd446bb84ac1068d380cceb884df22'/>
<id>urn:sha1:c09d155328bd446bb84ac1068d380cceb884df22</id>
<content type='text'>
Was accidentally always setting usart1 instead of the per-usart
register. Didn't work too well for other usarts...

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
</feed>
