<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/stmhal/sdcard.c, branch esp-extra-scripts</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=esp-extra-scripts</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=esp-extra-scripts'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2016-06-29T13:29:01+00:00</updated>
<entry>
<title>stmhal: Enable SD card on L4 MCUs.</title>
<updated>2016-06-29T13:29:01+00:00</updated>
<author>
<name>dpslwk</name>
<email>dps.lwk@gmail.com</email>
</author>
<published>2016-06-29T11:26:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f3636a7b46942b7141d75214015a00a4c4aa21d6'/>
<id>urn:sha1:f3636a7b46942b7141d75214015a00a4c4aa21d6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stmhal/sdcard: Allow to do unaligned read-from/write-to SD card.</title>
<updated>2016-05-13T13:45:40+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-13T13:45:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=87981fc517ff1fafd1513af3e26df39bf57e6978'/>
<id>urn:sha1:87981fc517ff1fafd1513af3e26df39bf57e6978</id>
<content type='text'>
For example, the following code now works with a file on the SD card:

    f = open('test', 'rb') # test must be 1024 bytes or more in size
    f.seek(511)
    f.read(513)

Also works for writing.

Fixes issue #1863.
</content>
</entry>
<entry>
<title>stmhal/sdcard: Fix initialisation of DMA TX so that writes work.</title>
<updated>2016-05-06T09:53:25+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-05-06T09:53:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=88153dc56a03938473fca8c0de46535f8ae3109b'/>
<id>urn:sha1:88153dc56a03938473fca8c0de46535f8ae3109b</id>
<content type='text'>
Addresses issue #2034.
</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>extmod/fsusermount: Move BP_IOCTL_xxx constants to fsusermount.h.</title>
<updated>2016-02-10T23:40:35+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-02-10T23:36:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e372e83b3042cb48fbe5706522d92f7aa5404ae6'/>
<id>urn:sha1:e372e83b3042cb48fbe5706522d92f7aa5404ae6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>extmod/fsusermount: Support mounting of multiple block devices.</title>
<updated>2016-02-10T23:40:10+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-02-10T16:32:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b33a7705966a743c5e4c0c3c3bb83e6d97b5e84d'/>
<id>urn:sha1:b33a7705966a743c5e4c0c3c3bb83e6d97b5e84d</id>
<content type='text'>
This patch adds support to fsusermount for multiple block devices
(instead of just one).  The maximum allowed is fixed at compile time by
the size of the fs_user_mount array accessed via MP_STATE_PORT, which
in turn is set by MICROPY_FATFS_VOLUMES.

With this patch, stmhal (which is still tightly coupled to fsusermount)
is also modified to support mounting multiple devices   And the flash and
SD card are now just two block devices that are mounted at start up if
they exist (and they have special native code to make them more
efficient).
</content>
</entry>
<entry>
<title>stmhal: Expose flash and SD card as proper objects with block protocol.</title>
<updated>2016-02-10T23:40:10+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2016-02-10T16:21:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=3770cd2e7062d0844cee7b69ec9d9f80a2ad1206'/>
<id>urn:sha1:3770cd2e7062d0844cee7b69ec9d9f80a2ad1206</id>
<content type='text'>
You can now create (singleton) objects representing the flash and SD
card, using:

    flash = pyb.Flash()
    sdcard = pyb.SDCard()

These objects provide the block protocol.
</content>
</entry>
<entry>
<title>stmhal: Add pyb.irq_stats() to get statistics about IRQ calls.</title>
<updated>2015-12-22T21:00:20+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-06-10T13:25:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=401af50dc081faa421e7caef18fde2beb15632e4'/>
<id>urn:sha1:401af50dc081faa421e7caef18fde2beb15632e4</id>
<content type='text'>
Adds a lot of code, makes IRQs a bit less efficient, but is very useful
for debugging.  Usage: pyb.irq_stats() returns a memory view that can be
read and written, eg:

    list(pyb.irq_stats())
    pyb.irq_stats()[0]
    pyb.irq_stats()[0] = 0

The patch provides general IRQ_ENTER() and IRQ_EXIT() macros that can be
modified to provide further IRQ statistics if desired.
</content>
</entry>
<entry>
<title>stmhal: Protect SD card DMA transactions against USB MSC contention.</title>
<updated>2015-12-04T11:39:21+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-12-04T11:39:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=f4c17378b359d7b371e005aaac2dc8d86a88f8d8'/>
<id>urn:sha1:f4c17378b359d7b371e005aaac2dc8d86a88f8d8</id>
<content type='text'>
Consider the following scenario: SD card is being read by pyboard; USB
irq comes in for MSC read request; SD card needs to be read from within
USB irq while SD read is already ongoing.  Such contention needs to be
avoided.

This patch provides a simple solution, to raise the irq priority above
that of the USB irq during SD DMA transfers.  Pyboard and PC can now
read from the SD card at the same time (well, reads are interleaved).
</content>
</entry>
<entry>
<title>stmhal: Save RAM and ROM by making SD DMA init structure const for tx/rx.</title>
<updated>2015-11-24T15:44:16+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-11-24T15:21:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9936aa3f87046c92ec8721a5f5734612e178e8eb'/>
<id>urn:sha1:9936aa3f87046c92ec8721a5f5734612e178e8eb</id>
<content type='text'>
</content>
</entry>
</feed>
