<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/stm/ao_usb_stm.c, branch hack-cc1200</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=hack-cc1200</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=hack-cc1200'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2014-02-18T17:44:52+00:00</updated>
<entry>
<title>altos: Expose ao_usb_running globally</title>
<updated>2014-02-18T17:44:52+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2014-02-18T17:44:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=9f6983e3d61fa5231f3d0ce33dbc5aadf946b597'/>
<id>urn:sha1:9f6983e3d61fa5231f3d0ce33dbc5aadf946b597</id>
<content type='text'>
This lets other bits of the code know when USB has been connected.

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/stm: Semantic error in STM usb disable caused it to not work</title>
<updated>2013-12-19T02:20:55+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-12-19T02:20:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=0673344289772ed89483948184d6608c272c7c26'/>
<id>urn:sha1:0673344289772ed89483948184d6608c272c7c26</id>
<content type='text'>
The USB enable register wasn't actually getting rewritten with the
enable bit turned off, so the USB device was still powered on in flight.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Use all 16 bits of setup packet len when limiting reply len</title>
<updated>2013-12-18T07:53:59+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-12-18T07:50:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=1f035ac2df1cfa6964ae904aba0aedde279ca921'/>
<id>urn:sha1:1f035ac2df1cfa6964ae904aba0aedde279ca921</id>
<content type='text'>
We were only using the low 8 bits of the setup packet reply max len,
which meant that if the other side sent a weird max len (as Windows 7
does), then we'd truncate our setup reply to whatever was in the low 8
bits of that value.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Allow STM usb driver to be used without stdio</title>
<updated>2013-05-08T04:30:26+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-04-27T07:19:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=e2412e867138635d79ea0fa8d43efc0a6aa19784'/>
<id>urn:sha1:e2412e867138635d79ea0fa8d43efc0a6aa19784</id>
<content type='text'>
This lets the self flashing loader be linked without any of the stdio
code, which saves a bunch of memory.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Remove USB EP0 task</title>
<updated>2013-05-08T03:07:52+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-04-23T01:23:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=168188f6650dc9a777d57f9c7a8ff1be957bc892'/>
<id>urn:sha1:168188f6650dc9a777d57f9c7a8ff1be957bc892</id>
<content type='text'>
Handl EP0 actions from interrupt handler. This allows USB to be used
in a taskless environment, like the STM flash loader

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Always check for idle IN buffer before sending</title>
<updated>2013-03-31T19:24:38+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-03-24T22:04:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=8b2f211758dfa97230a730b8c4b31e0e711c19c9'/>
<id>urn:sha1:8b2f211758dfa97230a730b8c4b31e0e711c19c9</id>
<content type='text'>
Unlike the AVR and CC1111 USB drivers, the STM usb driver queues IN
bytes in a local buffer instead of in the driver; this means that the
driver is queuing bytes while the previous IN packet is queued for the
host, which allows for overlapping execution.

It also means that when the local buffer is full, we must check to see
if the host has picked up the previous IN packet before trying to
queue another IN packet for transmission. This is done by always
waiting for the IN buffer to be ready before sending data.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Add debugging mechanism to STM USB driver</title>
<updated>2013-03-31T19:24:28+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2013-03-24T22:03:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=de199601a177fc2d45ad9bd7357111111844d40a'/>
<id>urn:sha1:de199601a177fc2d45ad9bd7357111111844d40a</id>
<content type='text'>
This adds a pile of debugging hooks to the USB driver to try and
isolate various lockup-related issues. It's all disabled by default,
of course.

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