<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/drivers/ao_cc1120.c, branch v1.6.3.1</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=v1.6.3.1</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=v1.6.3.1'/>
<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: Make sure we drop the SPI mutex when aborting cc1120 recv</title>
<updated>2014-09-27T06:01:18+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2014-09-27T05:53:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=b4eba3f3a58a9c35e3699ff14405b997c1318d91'/>
<id>urn:sha1:b4eba3f3a58a9c35e3699ff14405b997c1318d91</id>
<content type='text'>
The cc1120 receive code is 'twisty', in that it acquires the SPI mutex
in the middle of an interrupt handler so that it can quickly start the
radio when the signal comes in. This means we have to be careful to
drop that mutex in all paths which leave the receive code, including
when the packet receive is aborted mid-way through the process.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Reduce deviation at 2400/9600 baud</title>
<updated>2014-09-07T03:39:37+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2014-09-07T03:39:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=f395bcaa620490954d4a42de9b4870bc12bedc91'/>
<id>urn:sha1:f395bcaa620490954d4a42de9b4870bc12bedc91</id>
<content type='text'>
There's no reason to use 20.5kHz deviation at 2400 and 9600 baud, and
if we get a better receiver, we'll want to use narrower deviation to
have less bandwidth sucking noise into the radio. The new values are
(nominally) 5.125kHz deviation for 9600 baud and 1.5kHz deviation for
2400 baud.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Rework packet receive for cc1120</title>
<updated>2014-07-05T07:38:10+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2014-07-05T07:04:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=292cb8380b478542555b5f370e8252eafa2f74ac'/>
<id>urn:sha1:292cb8380b478542555b5f370e8252eafa2f74ac</id>
<content type='text'>
Instead of blocking on PQT, just set up the receiver to start going
and when the first bit interrupt comes in, grab the SPI bus if
possible and configure it for reception. This improves sensitivity in
the radio by a significant amount while making the code conceptually a
bit nicer.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Add telemetry rate support to CC1120 driver</title>
<updated>2014-07-05T07:38:10+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2014-07-03T05:34:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=e0ee2ac6bc68b73e13bf34fac3ffd4a3b79dce98'/>
<id>urn:sha1:e0ee2ac6bc68b73e13bf34fac3ffd4a3b79dce98</id>
<content type='text'>
This supports the new 2400 and 9600 baud rates

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Clean up -Wextra warnings</title>
<updated>2013-12-21T06:44:04+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-12-21T06:43:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=5c9172ba5681ff93d63c9c263a453d0025170045'/>
<id>urn:sha1:5c9172ba5681ff93d63c9c263a453d0025170045</id>
<content type='text'>
Unused variables, mismatching signed/unsigned and a few other misc
warnings.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Clean up some minor warnings from -Wall</title>
<updated>2013-12-21T06:19:35+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-12-21T06:15:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=b31b4622d5bd92c0cc0851818f5b595dbdb60ead'/>
<id>urn:sha1:b31b4622d5bd92c0cc0851818f5b595dbdb60ead</id>
<content type='text'>
Unused variables, functions and labels, missing enums in switch.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Generate unmodulated carrier for CC1120 test mode</title>
<updated>2013-05-16T05:13:08+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-05-15T22:32:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=4ef0136c27e8f47a1eb38f9cbcd2c61288732d78'/>
<id>urn:sha1:4ef0136c27e8f47a1eb38f9cbcd2c61288732d78</id>
<content type='text'>
This sets the deviation to 0, enables the preamble and turns on the
transmitter. It will sit there happily sending a bare carrier forever

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Set APRS deviation to 3kHz</title>
<updated>2013-05-08T03:08:01+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-05-06T23:08:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=3876b5bfad383119339aea51e2cf301012a1f991'/>
<id>urn:sha1:3876b5bfad383119339aea51e2cf301012a1f991</id>
<content type='text'>
I finally found a bunch of references to APRS on the net and they all
appear to assume a 3kHz deviation. Let's see if this works better with
Yaesu radios.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Make cc1120 driver return false on recv timeout</title>
<updated>2013-05-08T03:08:00+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-04-30T07:05:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=8744fd5d541955b0920c7d8e2696039cdcfdf1dc'/>
<id>urn:sha1:8744fd5d541955b0920c7d8e2696039cdcfdf1dc</id>
<content type='text'>
Was returning an uninitialized value, which was often not zero

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