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

Method init_card_v2

mpython/lib/sdcard.py:130–146  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

128 raise OSError("timeout waiting for v1 card")
129
130 def init_card_v2(self):
131 for i in range(_CMD_TIMEOUT):
132 time.sleep_ms(50)
133 self.cmd(58, 0, 0, 4)
134 self.cmd(55, 0, 0)
135 if self.cmd(41, 0x40000000, 0) == 0:
136 self.cmd(58, 0, 0, -4) # 4-byte response, negative means keep the first byte
137 ocr = self.tokenbuf[0] # get first byte of response, which is OCR
138 if not ocr & 0x40:
139 # SDSC card, uses byte addressing in read/write/erase commands
140 self.cdv = 512
141 else:
142 # SDHC/SDXC card, uses block addressing in read/write/erase commands
143 self.cdv = 1
144 # print("[SDCard] v2 card")
145 return
146 raise OSError("timeout waiting for v2 card")
147
148 def cmd(self, cmd, arg, crc, final=0, release=True, skip1=False):
149 self.cs(0)

Callers 1

init_cardMethod · 0.95

Calls 1

cmdMethod · 0.95

Tested by

no test coverage detected