MCPcopy Create free account
hub / github.com/RetiredWizard/PyDOS / FlashBdev

Class FlashBdev

mpython/extFlash/lib/flashbdev.py:25–45  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23#
24
25class FlashBdev:
26 def __init__(self, flash):
27 self.flash = flash
28 self.sectorsize = flash.flash_sectorsize()
29
30 def readblocks(self, n, buf, offset=0):
31 self.flash.flash_read(n * self.sectorsize + offset, buf)
32
33 def writeblocks(self, n, buf, offset=0):
34 if offset == 0:
35 self.flash.flash_erase(n * self.sectorsize)
36 self.flash.flash_write(n * self.sectorsize + offset, buf)
37
38 def ioctl(self, op, arg):
39 if op == 4: # MP_BLOCKDEV_IOCTL_BLOCK_COUNT
40 return self.flash.flash_size() // self.sectorsize
41 if op == 5: # MP_BLOCKDEV_IOCTL_BLOCK_SIZE
42 return self.sectorsize
43 if op == 6: # MP_BLOCKDEV_IOCTL_BLOCK_ERASE
44 self.flash.flash_erase(arg * self.sectorsize)
45 return 0

Callers 2

ThngPls_SAMD51.pyFile · 0.90
XIAO_nRF52840.pyFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected