Simple test

Ensure your device works with this simple test.

examples/floppy_simpletest.py
 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}")