<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/telelco-v0.2, 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-07-03T08:00:15+00:00</updated>
<entry>
<title>altos: Share common LCO functions in ao_lco_bits.c</title>
<updated>2018-07-03T08:00:15+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2018-07-03T08:00:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=c48d4b60da8b23bf358e6c14d7332d3a360c2d2f'/>
<id>urn:sha1:c48d4b60da8b23bf358e6c14d7332d3a360c2d2f</id>
<content type='text'>
Move common code out of ao_lco.c and ao_lco_v2.c into a shared file,
ao_lco_bits.c. Update ao_lco.h to include shared functions.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/driver: Improve quadrature debouncing for mechanical encoders</title>
<updated>2018-06-17T08:28:36+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2018-06-17T06:51:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=16482bf5d63eafc5256f14a218d3a374f6584e0a'/>
<id>urn:sha1:16482bf5d63eafc5256f14a218d3a374f6584e0a</id>
<content type='text'>
Track state of encoder better and only bump values when the full
motion is detected (all four states).

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>
<entry>
<title>altos: Use simpler debounce logic for buttons</title>
<updated>2016-04-20T03:21:30+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2015-12-26T04:46:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=aef5049cf8311927fada922730f85f31c8ddf177'/>
<id>urn:sha1:aef5049cf8311927fada922730f85f31c8ddf177</id>
<content type='text'>
Instead of waiting for a while after the transition to decide if it
has stuck, signal the event right away and then ignore other
transitions for the debounce interval.

This seems to work just as reliably, but has the benefit of
eliminating button latency at press time.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Add telelco v0.3 (v0.2 with cc1200 instead of cc1120)</title>
<updated>2015-05-25T22:47:46+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2015-05-25T22:47:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=a54aac3361b7bd18f111e5ba06fb89015504b8a4'/>
<id>urn:sha1:a54aac3361b7bd18f111e5ba06fb89015504b8a4</id>
<content type='text'>
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<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/telefire,telelco: Add HAS_RADIO_RATE to launch system software</title>
<updated>2014-07-13T06:52:05+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2014-07-13T06:52:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=a60ba449ec237ad3b8dade9dcea603b349dbccb1'/>
<id>urn:sha1:a60ba449ec237ad3b8dade9dcea603b349dbccb1</id>
<content type='text'>
This lets us set the rate to a lower value to improve range. 9600 baud
works great; 2400 baud makes the initial search take a long time.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Make stm applications depend on ao_boot.h</title>
<updated>2014-05-21T08:43:12+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2014-05-21T08:41:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=b278a73cb54ba2f107bf91089f87c11528f017ab'/>
<id>urn:sha1:b278a73cb54ba2f107bf91089f87c11528f017ab</id>
<content type='text'>
This should make sure they get recompiled when boot stuff changes.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Make quadrature debounce per-pin rather than per-device</title>
<updated>2014-05-15T15:31:24+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2014-05-15T15:31:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=819f73698f57e76dca50fe4fadccebd23ffb776d'/>
<id>urn:sha1:819f73698f57e76dca50fe4fadccebd23ffb776d</id>
<content type='text'>
Debouncing per-pin means we don't lose transitions, which makes
counting a lot more precise.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Simplify quadrature tracking</title>
<updated>2014-05-09T07:05:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2014-05-09T07:05:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=8d9c79f5c162e07d57d42c6ba5825a3327a911d5'/>
<id>urn:sha1:8d9c79f5c162e07d57d42c6ba5825a3327a911d5</id>
<content type='text'>
Set the timer to 200Hz for a 5ms debounce interval. Then, simply look
for transitions ending in both bits in the encoder being off, which
indicates the the encoder is resting in a detent. If bit '2' is
turning off, the encoder was rotated clockwise, otherwise the encoder
was rotated counter clockwise.

This is a lot more reliable, although still not perfect.

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