<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/stm, branch altosui-ms5611</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=altosui-ms5611</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=altosui-ms5611'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2012-11-01T17:48:08+00:00</updated>
<entry>
<title>altos/stm: Support LEDs on multiple ports</title>
<updated>2012-11-01T17:48:08+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-11-01T17:48:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=86f8b92149d1027b1d6d6b1cae097cfe47b02090'/>
<id>urn:sha1:86f8b92149d1027b1d6d6b1cae097cfe47b02090</id>
<content type='text'>
Split out the bits in a fairly simplistic fashion so that we support
no more than 16 LEDs still.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Provide ao_task_alarm_tick to reduce per-tick cost</title>
<updated>2012-10-26T21:07:04+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-10-25T20:42:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=e57ab2a7bfb69c0ef9b5b7fa8e53e20a500e7c6c'/>
<id>urn:sha1:e57ab2a7bfb69c0ef9b5b7fa8e53e20a500e7c6c</id>
<content type='text'>
Cache the next wakeup time and check that before jumping to the task
code.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Leave interrupts disabled while checking for task to run</title>
<updated>2012-10-26T21:07:04+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-10-25T20:40:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=ccf0faa7d26d56deca7928b521d07be40504466a'/>
<id>urn:sha1:ccf0faa7d26d56deca7928b521d07be40504466a</id>
<content type='text'>
Otherwise, we run the risk of an interrupt waking a task after we've
decided to idle the CPU.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Clean up stm arch macros a bit.</title>
<updated>2012-10-25T20:38:13+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-10-25T20:38:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=9b978cd467f9128f3069765dd8fbf8abad3459a4'/>
<id>urn:sha1:9b978cd467f9128f3069765dd8fbf8abad3459a4</id>
<content type='text'>
Turn a bunch of the macros into inline functions.
Clean up the reboot method to use the stm_scb structure.

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: Add task queues.</title>
<updated>2012-10-25T07:07:14+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-10-25T06:50:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=b49c751749dcd3e78991463c098f8d916f52179d'/>
<id>urn:sha1:b49c751749dcd3e78991463c098f8d916f52179d</id>
<content type='text'>
This replaces the array-based scheduler with a queue-based one
instead. It should have the same basic scheduling semantics, but it
walks shorter lists for each operation, making it much more efficient
when the system has a lot of tasks.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Add stack-guard code. Uses STM MPU to trap stack overflow.</title>
<updated>2012-10-25T07:07:14+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-10-25T05:46:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=4b13d3c659240e5a8347b1ba7ab0bf1d8355eba3'/>
<id>urn:sha1:4b13d3c659240e5a8347b1ba7ab0bf1d8355eba3</id>
<content type='text'>
This marks the lowest portion of the stack as inaccessible to the CPU,
causing the processor to fault when it reaches it. The fault then
generates a panic message so that the user can know what happened.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Replace __critical usage with ao_arch_critical as needed</title>
<updated>2012-10-25T07:07:14+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-10-25T05:35:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=e80fa6de4ccc5c4851eab9fb941f9282d2e3eb16'/>
<id>urn:sha1:e80fa6de4ccc5c4851eab9fb941f9282d2e3eb16</id>
<content type='text'>
sdcc offers __critical as a machine-independent way to block
interrupts, but as gcc doesn't, we need to use a compiler-independent
construct instead. ao_arch_critical has been around since the AVR
port, but some old __critical usages remained.

This fixes a bunch of random hangs when communicating with MM over USB
or the radio as the various stdio loops were running without
interrupts blocked between the test and the sleep.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: profiling on STM32L</title>
<updated>2012-10-25T07:07:14+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-10-24T05:17:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=b119e19604aa557a40e848c60d98a67b5f259bbd'/>
<id>urn:sha1:b119e19604aa557a40e848c60d98a67b5f259bbd</id>
<content type='text'>
Add sample-based profiling, using a 1kHz timer

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Force beep timer regs reload when enabling beeper</title>
<updated>2012-10-25T07:07:14+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-10-25T06:55:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=09aa379fc57cd4f30c18c7bda2532a79109354c2'/>
<id>urn:sha1:09aa379fc57cd4f30c18c7bda2532a79109354c2</id>
<content type='text'>
Without this, there can be a long delay between asking for the beeper
and having it actually start sounding.

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