<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/drivers/ao_packet.c, branch debian/1.8.3-1</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=debian%2F1.8.3-1</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=debian%2F1.8.3-1'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2016-07-12T22:41:41+00:00</updated>
<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: Remove some accidental debug printfs from ao_packet.c</title>
<updated>2015-02-15T16:57:55+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2015-02-15T16:57:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=2ebb4dff758058ae9512cf36518416eb69b928f0'/>
<id>urn:sha1:2ebb4dff758058ae9512cf36518416eb69b928f0</id>
<content type='text'>
While fixing the cc1200 configuration, I added some debug printfs to
this code. They were accidentally committed with the fix...

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/cc1200: Adjust bit-sync configuration</title>
<updated>2015-02-15T07:18:38+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2015-02-15T07:18:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=135abf0e7c5ceb5738a0b5f68fe2be4b7abdae5e'/>
<id>urn:sha1:135abf0e7c5ceb5738a0b5f68fe2be4b7abdae5e</id>
<content type='text'>
The default bit timing adjustment mechanism allows for only a 0.2%
deviation from the programmed bit timing. I found one TeleMini device
which is beyond that tolerance as it was built with an older crystal
with more error.

Switch to the more expensive synchronization mechanism which allows up
to 2% timing error, but requires a multi-byte preamble (which we
have). This fixes packet mode nicely.

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: Compute "real" RSSI value in radio code as needed</title>
<updated>2013-05-08T03:07:54+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-04-30T06:20:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=eb0e1720be2aa4fb6729ceada09c18947bfee2bc'/>
<id>urn:sha1:eb0e1720be2aa4fb6729ceada09c18947bfee2bc</id>
<content type='text'>
Instead of dragging around the weird CC1111 RSSI values, just compute
a dBm value in a signed 8-bit integer, ao_radio_rssi. Use that
everywhere we need RSSI internally. We leave the weird CC1111 value in
the packet reply as that's what the host expects.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Provide timeout value to ao_radio_recv</title>
<updated>2013-05-08T03:07:52+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-04-29T06:02:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=f677a83348a9568679240ee9d731ab454f289831'/>
<id>urn:sha1:f677a83348a9568679240ee9d731ab454f289831</id>
<content type='text'>
Instead of using ao_alarm around calls to ao_radio_recv, provide an
explicit timeout value as needed by radio functions with more
complicated system interaction than the cc1111. The timeout is 8 bits
of clock ticks.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Do not release interrupts from any pollchar function</title>
<updated>2013-03-31T19:24:24+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-03-24T22:00:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=4f1f3e836393304434130d362771a39f6f8f859a'/>
<id>urn:sha1:4f1f3e836393304434130d362771a39f6f8f859a</id>
<content type='text'>
getchar relies on interrupts being blocked across the pollchar calls
and into the sleep call or it may go to sleep with data pending.

This prefixes all pollchar functions with _ to indicate that they are
to be called with interrupts blocked and eliminates all interrupt
manipulation calls from within the pollchar functions.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Make stdio 8-bit clean by making pollchar return int</title>
<updated>2012-12-01T00:01:07+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2012-12-01T00:01:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=0b65402361f36a0c722977bcb63edb26fda0db28'/>
<id>urn:sha1:0b65402361f36a0c722977bcb63edb26fda0db28</id>
<content type='text'>
We were stealing one value (0xff) in the return value from pollchar to
indicate 'not ready yet'. Instead of doing that, use the integer value
-1 and have pollchar return an int instead of a char. That
necessitated cleaning a few other bits to make sure that 0xff wouldn't
get promoted to -1 on accident.

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: When slave mode first starts, accept any packet</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:52:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=097c931c979d3652ef8e279ba66bb7ce758f37a3'/>
<id>urn:sha1:097c931c979d3652ef8e279ba66bb7ce758f37a3</id>
<content type='text'>
This eliminates the packet sequence matching for the first packet,
allowing outstanding send data to arrive from the master instead of
ignoring packets with data until they match the seqno

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