summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Leech <andrew.leech@planetinnovation.com.au>2023-11-01 15:14:37 +1100
committerDamien George <damien@micropython.org>2023-11-09 11:30:11 +1100
commitbbc5a18d092425bee802d88a5c9ed3516056bdd5 (patch)
tree5edb9da99736a8c933b30b56af3d26fadf80bf13
parent4cf741062b20fa34062d236d56b2168515e990b4 (diff)
tools/mpremote: Add ioctl to specify large read buffer size.
Speeds up importing files from mounted filesystem. Also fix the return code for invalid / unsupported ioctl requests. Signed-off-by: Andrew Leech <andrew.leech@planetinnovation.com.au>
-rw-r--r--tools/mpremote/mpremote/transport_serial.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/mpremote/mpremote/transport_serial.py b/tools/mpremote/mpremote/transport_serial.py
index 23a379d16..3b4cd0007 100644
--- a/tools/mpremote/mpremote/transport_serial.py
+++ b/tools/mpremote/mpremote/transport_serial.py
@@ -753,6 +753,13 @@ class RemoteFile(io.IOBase):
machine.mem32[arg] = self.seek(machine.mem32[arg], machine.mem32[arg + 4])
elif request == 4: # CLOSE
self.close()
+ elif request == 11: # BUFFER_SIZE
+ # This is used as the vfs_reader buffer. n + 4 should be less than 255 to
+ # fit in stdin ringbuffer on supported ports. n + 7 should be multiple of 16
+ # to efficiently use gc blocks in mp_reader_vfs_t.
+ return 249
+ else:
+ return -1
return 0
def flush(self):