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 9 import board 10 import adafruit_floppy 11 12 D24 = getattr(board, "D24") or getattr(board, "A4") 13 D25 = getattr(board, "D25") or getattr(board, "A5") 14 15 floppy = adafruit_floppy.MFMFloppy( 16 densitypin=board.A0, 17 indexpin=board.A1, 18 selectpin=board.A2, 19 motorpin=board.A3, 20 directionpin=D24, 21 steppin=D25, 22 track0pin=board.D11, 23 protectpin=board.D10, 24 rddatapin=board.D9, 25 sidepin=board.D6, 26 readypin=board.D5, 27 ) 28 29 floppy.selected = True 30 floppy.spin = True 31 print("Seek track 8") 32 floppy.track = 8 33 print("Seek track 0") 34 floppy.track = 0 35 print("Read partial track raw flux data") 36 buf = bytearray(30000) 37 n_read = floppy.flux_readinto(buf) 38 print("read", n_read) 39 buckets = [0] * 256 40 for b in buf: 41 buckets[b] += 1 42 oi = -1 43 for i, bi in enumerate(buckets): 44 if bi > 0: 45 if i != oi + 1: 46 print("---") 47 oi = i 48 print(f"{i:3} {bi:5}")