<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/core, 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:50:03+00:00</updated>
<entry>
<title>altos: Remove legacy telemetry from ao_monitor when not needed</title>
<updated>2012-11-01T17:50:03+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-11-01T17:50:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=f74d724f92b335d6c0674d0f1fcc650b729401df'/>
<id>urn:sha1:f74d724f92b335d6c0674d0f1fcc650b729401df</id>
<content type='text'>
For products not supporting LEGACY_MONITOR, remove the (undefined)
structs from the ao_monitor union.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Remove 'volatile' from ao_rssi.c globals</title>
<updated>2012-11-01T17:49:17+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-11-01T17:49:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=e4d931cd99a7c91803584b71670e30c0d00217df'/>
<id>urn:sha1:e4d931cd99a7c91803584b71670e30c0d00217df</id>
<content type='text'>
No need for this, the variables aren't changed at interrupt time.

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: Wrap ao_container_of value in parens</title>
<updated>2012-10-25T20:33:43+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-10-25T20:33:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=ff6a439cd24e239abd97107ecedf12dca71e59a5'/>
<id>urn:sha1:ff6a439cd24e239abd97107ecedf12dca71e59a5</id>
<content type='text'>
Keeps the cast from being separated from the value when used
in expressions.

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>
</feed>
