<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/lib/oofatfs, branch 5.0.0</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=5.0.0</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=5.0.0'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2019-12-10T20:03:06+00:00</updated>
<entry>
<title>nRF: disk_read must be 4-byte aligned</title>
<updated>2019-12-10T20:03:06+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2019-11-29T14:15:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a484a93b290806d01850e58905d65bc798b4cd91'/>
<id>urn:sha1:a484a93b290806d01850e58905d65bc798b4cd91</id>
<content type='text'>
.. a requirement that oofatfs needs to be taught to respect.

This problem can be demonstrated with the following snippet, except
that the related file ("test.bin") must also be contiguous on the
filesystem.  You can ensure this by reformatting your device's filesystem
before testing, then copying any single file bigger than 4kB to test.bin.

    f = open("test.bin", "rb")
    f.seek(2048)
    b = bytearray(2048)
    v = memoryview(b)
    f.readinto(v[909:])

Closes: #2332
</content>
</entry>
<entry>
<title>Add fast seek support to file objects</title>
<updated>2019-02-03T21:41:20+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2019-02-03T21:41:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a393a6e0c578231123220e73adc32b8ee58db64b'/>
<id>urn:sha1:a393a6e0c578231123220e73adc32b8ee58db64b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>shared-module/os: Fix os.mkdir('a/b')</title>
<updated>2018-11-09T18:20:56+00:00</updated>
<author>
<name>Noralf Trønnes</name>
<email>noralf@tronnes.org</email>
</author>
<published>2018-11-09T17:25:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=28383afa11863f1fe289cc811c8eab403ea79f6f'/>
<id>urn:sha1:28383afa11863f1fe289cc811c8eab403ea79f6f</id>
<content type='text'>
This fixes commit a99f9427420d("'/' and '\' are also acceptable ends of the path now") which broke mkdir.
The problem is where the directory name is a single letter like this:
&gt;&gt;&gt; os.mkdir('a')
&gt;&gt;&gt; os.mkdir('a/b')
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
OSError: [Errno 17] File exists
&gt;&gt;&gt; os.mkdir('a/bb')
&gt;&gt;&gt;

I wasn't smart enough to fix this in the oofatfs library, so I did it in the os shared module by
creating a path lookup function for the os methods that only deals with directories. I reverted
the library change introduced by the aforementioned commit.

This means that os.stat and os.rename can't handle trailing slashes. This is to avoid allowing
filenames with trailing slashes to pass through. In order to handle trailing slashes for these
it would be necessary to check if it really is a directory before stripping. I didn't do this
since the original issue was to make os.chdir tolerate trailing slashes.

There's an open MicroPython issue #2929 wrt. trailing slashes and mkdir.
</content>
</entry>
<entry>
<title> '/' and '\' are also acceptable ends of the path now</title>
<updated>2018-07-28T15:07:22+00:00</updated>
<author>
<name>Leszek Jakubowski</name>
<email>makdaam@gmail.com</email>
</author>
<published>2018-07-28T15:07:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=a99f9427420d0b519881dacd1a28007d6c1d71d0'/>
<id>urn:sha1:a99f9427420d0b519881dacd1a28007d6c1d71d0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib/oofatfs/ffconf.h: Add MICROPY_FATFS_NORTC option.</title>
<updated>2017-01-31T08:54:20+00:00</updated>
<author>
<name>Andrew Gatt</name>
<email>andrew.gatt@springltd.co</email>
</author>
<published>2017-01-31T08:27:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9d3c0d423e878edf1daa4ea836fc6879f519a438'/>
<id>urn:sha1:9d3c0d423e878edf1daa4ea836fc6879f519a438</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lib/oofatfs/ffconf.h: Allow to configure FS_EXFAT option.</title>
<updated>2017-01-31T01:32:24+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-01-31T01:32:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=b039d93d7e0d43bb45e0c36a28f02d580acbf5ea'/>
<id>urn:sha1:b039d93d7e0d43bb45e0c36a28f02d580acbf5ea</id>
<content type='text'>
Using MICROPY_FATFS_EXFAT.  Enabling this has licensing implications;
see https://www.microsoft.com/en-us/legal/intellectualproperty/mtl/exfat-licensing.aspx
</content>
</entry>
<entry>
<title>lib/oofatfs: Update oofatfs library.</title>
<updated>2017-01-30T01:07:40+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-01-29T04:14:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=28899cd9718e667f4af923789dc1d64d8fb7a263'/>
<id>urn:sha1:28899cd9718e667f4af923789dc1d64d8fb7a263</id>
<content type='text'>
From https://github.com/micropython/oofatfs, branch work-R0.12b,
commit 46fb53331e7a583c29a41d37ce4b53f2718597e5.
</content>
</entry>
<entry>
<title>lib/oofatfs: Update oofatfs library.</title>
<updated>2017-01-27T12:22:15+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-01-27T12:18:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0390bc97eacb0de90af6a148b356faf0dd443d22'/>
<id>urn:sha1:0390bc97eacb0de90af6a148b356faf0dd443d22</id>
<content type='text'>
From https://github.com/micropython/oofatfs, branch work-R0.12b,
commit 1e295b40550664bbaac18d95a4b6a58154464d31.
</content>
</entry>
<entry>
<title>lib/oofatfs: Add OO version of FatFS library.</title>
<updated>2017-01-27T02:19:10+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2017-01-24T09:56:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9b08faf3ae98e5176a041072a6b6f24044ea473c'/>
<id>urn:sha1:9b08faf3ae98e5176a041072a6b6f24044ea473c</id>
<content type='text'>
From https://github.com/micropython/oofatfs, branch work-R0.12b,
commit a346ccec123c2e4d887e2751d64156208d03bff4.
</content>
</entry>
</feed>
