<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/stm/ao_timer.c, branch fox1-v3-sn8</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=fox1-v3-sn8</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=fox1-v3-sn8'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2014-05-27T18:06:49+00:00</updated>
<entry>
<title>altos: Fake flight code changes in kernel and stm</title>
<updated>2014-05-27T18:06:49+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2014-05-27T18:05:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=c674a20432c2cb97e5bc2a3de891f78b9e172fe9'/>
<id>urn:sha1:c674a20432c2cb97e5bc2a3de891f78b9e172fe9</id>
<content type='text'>
Redirects data input from local sensors to USB sourced data, leaving
USB enabled when the computer goes into pad mode.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Enable system timer in flash loader and prod watchdog with it</title>
<updated>2014-02-09T04:13:38+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2014-02-01T08:06:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=d6d56c20465455b759f60a03fc96aa228ab9102e'/>
<id>urn:sha1:d6d56c20465455b759f60a03fc96aa228ab9102e</id>
<content type='text'>
This makes it possible to reflash the board without needing to disable
the watchdog.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Make sure we switch to MSI during timer init</title>
<updated>2013-08-29T04:12:25+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-08-29T04:12:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=7c82acc1c1c5b7b4da7c7ecb3b2fd90140e4c703'/>
<id>urn:sha1:7c82acc1c1c5b7b4da7c7ecb3b2fd90140e4c703</id>
<content type='text'>
Need to ensure that the CPU is actually using the MSI during timer
init or all of the other clock changes won't work

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Remove stale timer defines</title>
<updated>2013-08-29T04:10:58+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-08-29T04:10:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=6802b6a65b1fec06c2c873282be792c40b3c8f5e'/>
<id>urn:sha1:6802b6a65b1fec06c2c873282be792c40b3c8f5e</id>
<content type='text'>
Stuff from when we weren't using systick

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Allow core timer to be excluded from build</title>
<updated>2013-05-08T04:30:26+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-04-23T01:30:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=02681adbc5919bd3713788da352aa36ace619ef4'/>
<id>urn:sha1:02681adbc5919bd3713788da352aa36ace619ef4</id>
<content type='text'>
This removes all of the support for the base 100Hz timer from the
system, saving space when not needed

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Use SYSTICK on STM32L</title>
<updated>2013-05-08T03:08:01+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-05-01T15:58:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=091582c446319fe4a79154153ece5372b2faec83'/>
<id>urn:sha1:091582c446319fe4a79154153ece5372b2faec83</id>
<content type='text'>
It's probably more power efficient than using one of the timers, and
it's certainly easier to configure.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altoslib/altosui: Carry receiver status around in AltosListenerState</title>
<updated>2013-04-09T07:30:36+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-04-09T07:28:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=398c02b945a58634c8932f07df2c2be8438da7d1'/>
<id>urn:sha1:398c02b945a58634c8932f07df2c2be8438da7d1</id>
<content type='text'>
This moves the crc_errors into the new structure and adds a receiver
battery voltage value there as well. Now the receiver status can be
monitored separately from the flight status. That also means that code
receiving state updates should be prepared to accept missing listener
or flight state values.

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