<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mjb/altos/src/stm, 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-21T04:54:10+00:00</updated>
<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/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/stm: Set SPI slave DMA priority to HIGH/VERY_HIGH</title>
<updated>2016-09-03T06:23:51+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-09-03T06:21:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=9279b0cd52333a846b57af890f708ebb364b62b7'/>
<id>urn:sha1:9279b0cd52333a846b57af890f708ebb364b62b7</id>
<content type='text'>
Set spi slave DMA priority MOSI to HIGH and MISO to VERY_HIGH. Slave
SPI doesn't have the luxury of slowing down when the system is busy,
so provide it maximum memory bandwidth to try and keep up with the
master.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Set i2c recv DMA to HIGH</title>
<updated>2016-09-03T06:23:51+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-09-03T06:20:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=d80995c4535a3655ca1b9ca674d6839cfef84c4e'/>
<id>urn:sha1:d80995c4535a3655ca1b9ca674d6839cfef84c4e</id>
<content type='text'>
Make sure receive DMA is higher than any TX dma so that
it always runs in preference.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Set MISO DMA priority to HIGH to avoid OVR</title>
<updated>2016-09-03T06:23:31+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-09-03T05:55:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=af2eefbed43e56885a7321319d69b7be17354cdd'/>
<id>urn:sha1:af2eefbed43e56885a7321319d69b7be17354cdd</id>
<content type='text'>
When the MISO DMA priority is too low, and the processor gets busy,
it's possible for SPI input to overrun the processor, which causes the
MISO DMA to get out of sync and never finish. Set the MISO DMA
priority to HIGH to avoid this.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Create funcs to set SPI DMA parameters</title>
<updated>2016-09-03T05:58:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-09-03T05:53:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=4fc5cfa2c63c43ab0a9ef7e0cc6832fb1c163bd6'/>
<id>urn:sha1:4fc5cfa2c63c43ab0a9ef7e0cc6832fb1c163bd6</id>
<content type='text'>
Instead of having nearly duplicate versions of the SPI DMA
configuration calls, create helper funcs that do most of the work so
that the SPI API funcs are shorter and clearer.

Signed-off-by: Keith Packard &lt;keithp@keithp.com&gt;
</content>
</entry>
<entry>
<title>altos/stm: Make ao_spi_duplex out pointer const</title>
<updated>2016-09-03T05:58:39+00:00</updated>
<author>
<name>Keith Packard</name>
<email>keithp@keithp.com</email>
</author>
<published>2016-09-03T05:52:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ethernal.org/mjb/altos/commit/?id=1710a4921d4f408300c7d5adf0e83d08cc86be20'/>
<id>urn:sha1:1710a4921d4f408300c7d5adf0e83d08cc86be20</id>
<content type='text'>
Provides a bit better typechecking opportunities for this function.

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