<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/stmhal/spi.c, branch cross</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=cross</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=cross'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-07-30T19:08:20+00:00</updated>
<entry>
<title>stmhal: Make SPI NSS pin definition optional.</title>
<updated>2016-07-30T19:08:20+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2016-07-15T23:44:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=460bceca391a93bc0a06988eb8984f8b245dad62'/>
<id>urn:sha1:460bceca391a93bc0a06988eb8984f8b245dad62</id>
<content type='text'>
Some boards (like the GHI Electronics G30 Dev Board) don't use
NSS at all and rather just use GPIO chip selects.
</content>
</entry>
<entry>
<title>stmhal: L4: Adapt DMA to be able to support STM32L4 MCU series.</title>
<updated>2016-05-05T13:51:20+00:00</updated>
<author>
<name>Tobias Badertscher</name>
<email>python@baerospace.ch</email>
</author>
<published>2016-03-22T10:28:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e64032d6fdeb079de2ace20b64899d1ceb6754f1'/>
<id>urn:sha1:e64032d6fdeb079de2ace20b64899d1ceb6754f1</id>
<content type='text'>
The main thing is to change the DMA code in a way that the structure
DMA_Stream_TypeDef (which is similar to DMA_Channel_TypeDef on stm32l4)
is no longer used outside of dma.c, as this structure only exists for the
F4 series.  Therefore I introduced a new structure (dma_descr_t) which
handles all DMA specific stuff for configuration.  Further the periphery
(spi, i2c, sdcard, dac) does not need to know the internals of the dma.
</content>
</entry>
<entry>
<title>stmhal: Make spi use mp_hal_gpio_set_af</title>
<updated>2016-03-07T12:24:53+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2016-03-06T03:59:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0edfb7a11591f2b6282ea5db5713613360dd1526'/>
<id>urn:sha1:0edfb7a11591f2b6282ea5db5713613360dd1526</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Change first arg of type.make_new from mp_obj_t to mp_obj_type_t*.</title>
<updated>2016-01-11T00:49:27+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-01-03T15:55:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5b3f0b7f39bd67cc9182993c288f09f67a0890df'/>
<id>urn:sha1:5b3f0b7f39bd67cc9182993c288f09f67a0890df</id>
<content type='text'>
The first argument to the type.make_new method is naturally a uPy type,
and all uses of this argument cast it directly to a pointer to a type
structure.  So it makes sense to just have it a pointer to a type from
the very beginning (and a const pointer at that).  This patch makes
such a change, and removes all unnecessary casting to/from mp_obj_t.
</content>
</entry>
<entry>
<title>stmhal: Extend SPI support to fully support all SPI devices on STM32F429.</title>
<updated>2015-12-16T00:38:36+00:00</updated>
<author>
<name>Tobias Badertscher</name>
<email>python@baerospace.ch</email>
</author>
<published>2015-12-08T14:41:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c5d8ffef581fe83ccec276d0bfa8fcc15e9f9524'/>
<id>urn:sha1:c5d8ffef581fe83ccec276d0bfa8fcc15e9f9524</id>
<content type='text'>
This includes SPI4, SPI5 and SPI6.
</content>
</entry>
<entry>
<title>stmhal: For SPI config, use HW_SPIx_SCK instead of HW_ENABLE_SPIx.</title>
<updated>2015-12-12T15:02:02+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-12-12T15:02:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f7c4f9a64048bcbeaf36be8590b352bbef72aa08'/>
<id>urn:sha1:f7c4f9a64048bcbeaf36be8590b352bbef72aa08</id>
<content type='text'>
Previously, SPI was configured by a board defining MICROPY_HW_ENABLE_SPIx
to 0 or 1.  Now, the board should define MICROPY_HW_SPIx_SCK, MISO, MOSI
and NSS.  This makes it the same as how I2C is configured.
</content>
</entry>
<entry>
<title>stmhal: Put all DMA channel &amp; stream definitions in dma.h</title>
<updated>2015-12-02T22:55:57+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2015-12-01T08:42:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0077958ad0d278c87620ee8ead9a9aea80f1663d'/>
<id>urn:sha1:0077958ad0d278c87620ee8ead9a9aea80f1663d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>all: Add py/mphal.h and use it in all ports.</title>
<updated>2015-10-31T16:14:30+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-10-30T23:03:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=731f359292c0e2630873df1a19c5baac7287024f'/>
<id>urn:sha1:731f359292c0e2630873df1a19c5baac7287024f</id>
<content type='text'>
py/mphal.h contains declarations for generic mp_hal_XXX functions, such
as stdio and delay/ticks, which ports should provide definitions for.  A
port will also provide mphalport.h with further HAL declarations.
</content>
</entry>
<entry>
<title>stmhal: Use polling, not DMA, for 1 byte SPI transfers.</title>
<updated>2015-09-15T19:45:37+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-09-15T19:45:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=d80174d7c3fe36f139c639d6a820cc4cbb88ddf9'/>
<id>urn:sha1:d80174d7c3fe36f139c639d6a820cc4cbb88ddf9</id>
<content type='text'>
There is an issue sending 1 byte on the SPI bus using DMA, but it only
occurs when the transmit is done for the first time after initialising
the SPI and DMA peripherals.  All other cases (sending 2 or more bytes,
doing send_recv, doing recv first) work okay.  We sidestep this issue by
using polling (not DMA) for all 1 byte transfers.  This is fine because
a 1 byte transfer can't be interrupted and doesn't need the benefits of
DMA (and using polling for this case is more efficient).

Resolves #1456.
</content>
</entry>
<entry>
<title>stmhal: Fix hardfault when configured as a SPI slave</title>
<updated>2015-08-05T22:42:05+00:00</updated>
<author>
<name>Dave Hylands</name>
<email>dhylands@gmail.com</email>
</author>
<published>2015-08-05T06:36:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8a1a5c236d1fc07596a1f23f73e26f24c0e5b540'/>
<id>urn:sha1:8a1a5c236d1fc07596a1f23f73e26f24c0e5b540</id>
<content type='text'>
</content>
</entry>
</feed>
