(self, buf)
| 184 | return -1 |
| 185 | |
| 186 | def readinto(self, buf): |
| 187 | self.cs(0) |
| 188 | |
| 189 | # read until start byte (0xff) |
| 190 | for i in range(_CMD_TIMEOUT): |
| 191 | self.spi.readinto(self.tokenbuf, 0xFF) |
| 192 | if self.tokenbuf[0] == _TOKEN_DATA: |
| 193 | break |
| 194 | time.sleep_ms(1) |
| 195 | else: |
| 196 | self.cs(1) |
| 197 | raise OSError("timeout waiting for response") |
| 198 | |
| 199 | # read data |
| 200 | mv = self.dummybuf_memoryview |
| 201 | if len(buf) != len(mv): |
| 202 | mv = mv[: len(buf)] |
| 203 | self.spi.write_readinto(mv, buf) |
| 204 | |
| 205 | # read checksum |
| 206 | self.spi.write(b"\xff") |
| 207 | self.spi.write(b"\xff") |
| 208 | |
| 209 | self.cs(1) |
| 210 | self.spi.write(b"\xff") |
| 211 | |
| 212 | def write(self, token, buf): |
| 213 | self.cs(0) |
no test coverage detected