<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src, branch lisp</title>
<subtitle>AltOS - the operating system for Altus Metrum products
</subtitle>
<id>https://git.ethernal.org/mjb/altos/atom?h=lisp</id>
<link rel='self' href='https://git.ethernal.org/mjb/altos/atom?h=lisp'/>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/'/>
<updated>2016-11-21T05:02:59+00:00</updated>
<entry>
<title>altos/draw: Add a reasonable API for drawing, add lines.</title>
<updated>2016-11-21T05:02:59+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-21T05:02:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=c5734e9e38bc583aff305e3c534cfb8b9088bc71'/>
<id>urn:sha1:c5734e9e38bc583aff305e3c534cfb8b9088bc71</id>
<content type='text'>
Also, move the demo drawing into the stm-vga app and out of the vga
driver.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos: Don't wait while idle if trying to minimize interrupt latency</title>
<updated>2016-11-21T04:56:01+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-21T04:56:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=83cfc271e37f568cb1d821cf6a96750f3ca3854c'/>
<id>urn:sha1:83cfc271e37f568cb1d821cf6a96750f3ca3854c</id>
<content type='text'>
Keeping the scanout running reasonably means keeping interrupt latency
constant, and that requires leaving the CPU running. Don't wait for
interrupts when the system is running in this mode.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Interrupt priority is in the upper bits of the priority mask</title>
<updated>2016-11-21T04:54:10+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-21T04:54:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=4ab6776034aeb9837b30e581526aeda07eebc6fe'/>
<id>urn:sha1:4ab6776034aeb9837b30e581526aeda07eebc6fe</id>
<content type='text'>
Because the STM32L only offers 16 priority levels, the bottom four
bits of each priority mask are not used. All of the interrupt priority
settings in the system were using values &lt; 16, making them all
effectively the same. Fix that by moving them into the upper 4 bits
and using symbolic constants everywhere.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Use basepri instead of primask for controlling interrupts</title>
<updated>2016-11-21T04:48:40+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-20T10:59:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=552ea09fe7f9ce6c6b5f412cb2fcf603be2836c3'/>
<id>urn:sha1:552ea09fe7f9ce6c6b5f412cb2fcf603be2836c3</id>
<content type='text'>
This allows for high priority interrupts (priority 0) to run, even
when other interrupts are blocked. Code executing in such interrupt
handlers must not attempt to control task execution as that will race
with the scheduler.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm-vga: Fix DMA reset to load scanline each time</title>
<updated>2016-11-20T09:42:22+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-20T09:42:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=fd05d495b463685d81e75115a93fdda2764c7113'/>
<id>urn:sha1:fd05d495b463685d81e75115a93fdda2764c7113</id>
<content type='text'>
If we load the scanline register while DMA is running, it doesn't
actually get reloaded until after the first transfer from the next
line, leaving a weird jog in the middle of the screen.

Also flip to SPI1, as Bdale is using that on the 1802 board.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Clean up hanoi.lisp demo a bit</title>
<updated>2016-11-20T09:41:59+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-20T09:41:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=34e68a77dcd458f9cf9d839a55e4e84a6d95a48d'/>
<id>urn:sha1:34e68a77dcd458f9cf9d839a55e4e84a6d95a48d</id>
<content type='text'>
No serious changes.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm-vga: Implement VGA out from the STM processor</title>
<updated>2016-11-20T08:04:27+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-20T08:04:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=e6518cf1ddfc087ca25fa1494f993ce03e43e138'/>
<id>urn:sha1:e6518cf1ddfc087ca25fa1494f993ce03e43e138</id>
<content type='text'>
Generates vsync/hsync using timers and pixel data using the SPI port.
320x240 video using 640x480 mode and a 24MHz "pixel" clock.
Includes the beginings of rendering code for the frame buffer,
including bitblt, solid fill and text with a 5x7 font.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Move stack recursion check after null check</title>
<updated>2016-11-19T07:37:44+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-19T07:37:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=86f1c4b04946956f40755286bd9554828d5c8728'/>
<id>urn:sha1:86f1c4b04946956f40755286bd9554828d5c8728</id>
<content type='text'>
Don't crash when printing null stack this way.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Include memory stats for test program</title>
<updated>2016-11-19T06:57:22+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-19T06:57:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=8b1d8df85170e334f4f7691017629028fc88231a'/>
<id>urn:sha1:8b1d8df85170e334f4f7691017629028fc88231a</id>
<content type='text'>
Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/lisp: Cleanup some DBG defines</title>
<updated>2016-11-19T06:53:36+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-11-19T06:53:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=3d16073b82cd966de087fdca8f35058b1ebdc6b6'/>
<id>urn:sha1:3d16073b82cd966de087fdca8f35058b1ebdc6b6</id>
<content type='text'>
Get rid of the remaining duplicate defines.

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