Simple test¶
Ensure your device works with this simple test.
1# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
2# SPDX-FileCopyrightText: Copyright (c) 2022 Jeff Epler for Adafruit Industries
3#
4# SPDX-License-Identifier: Unlicense
5
6# On an Adafruit Feather M4 or Adafruit Feather RP2040 with Floppy Featherwing,
7# do some track-to-track seeking and flux reading.
8
9import board
10import adafruit_floppy
11
12D24 = getattr(board, "D24") or getattr(board, "A4")
13D25 = getattr(board, "D25") or getattr(board, "A5")
14
15floppy = adafruit_floppy.MFMFloppy(
16 densitypin=board.A1,
17 indexpin=D25,
18 selectpin=board.A0,
19 motorpin=board.A2,
20 directionpin=board.A3,
21 steppin=D24,
22 track0pin=board.D10,
23 protectpin=board.D11,
24 rddatapin=board.D9,
25 sidepin=board.D6,
26 readypin=board.D5,
27)
28
29floppy.selected = True
30floppy.spin = True
31print("Seek track 8")
32floppy.track = 8
33print("Seek track 0")
34floppy.track = 0
35print("Read partial track raw flux data")
36buf = bytearray(30000)
37n_read = floppy.flux_readinto(buf)
38print("read", n_read)
39buckets = [0] * 256
40for b in buf:
41 buckets[b] += 1
42oi = -1
43for i, bi in enumerate(buckets):
44 if bi > 10:
45 if i != oi + 1:
46 print("---")
47 oi = i
48 print(f"{i:3} {bi:5}")