Adafruit Library
Adafruit_Floppsy.h
1 // SPDX-FileCopyrightText: 2026 Adafruit Industries
2 // SPDX-License-Identifier: MIT
3 #ifndef ADAFRUIT_FLOPPSY_H
4 #define ADAFRUIT_FLOPPSY_H
5 
6 #if !defined(ARDUINO_ADAFRUIT_FLOPPSY_RP2350) && !defined(DOXYGEN)
7 #error "Select Adafruit Floppsy RP2350 in Tools > Board"
8 #else
9 #include "Adafruit_Floppy.h"
10 #include <Adafruit_INA3221.h>
11 
13 typedef enum {
14  FLOPPSY_POWER_12V = 0,
15  FLOPPSY_POWER_5V = 1,
16  FLOPPSY_POWER_3V3 = 2,
17 } floppsy_power_rail_t;
18 
28 public:
30  bool begin();
31  bool enable(bool enabled);
32  void end();
33 
36  Adafruit_INA3221
38 
40  Adafruit_Floppsy(const Adafruit_Floppsy &) = delete;
43  Adafruit_Floppsy &operator=(const Adafruit_Floppsy &) = delete;
44 
45 private:
46  bool _initialized = false;
47 };
48 #endif
49 #endif
Adafruit_Floppsy()
Construct the two drive interfaces without touching hardware.
Definition: Adafruit_Floppsy.cpp:8
void end()
Stop both drives, isolate the cable, and release the drive GPIO pins.
Definition: Adafruit_Floppsy.cpp:120
Adafruit_Floppy drive1
Drive interface using the DS1 output.
Definition: Adafruit_Floppsy.h:35
Board setup for RP2350 Floppsy in drive-controller mode.
Definition: Adafruit_Floppsy.h:27
Adafruit_Floppsy & operator=(const Adafruit_Floppsy &)=delete
Board hardware ownership cannot be assigned.
Adafruit_Floppy drive0
Drive interface using the DS0 output.
Definition: Adafruit_Floppsy.h:34
bool begin()
Initialize the drive pins, level shifters, BOOT button, and power monitor.
Definition: Adafruit_Floppsy.cpp:28
bool enable(bool enabled)
Connect the drive interface, or stop both drives and isolate the cable.
Definition: Adafruit_Floppsy.cpp:87
A helper class for chattin with PC & Shugart floppy drives.
Definition: Adafruit_Floppy.h:263
Adafruit_INA3221 powerMonitor
Three supply monitors, with 50 milliohm shunts.
Definition: Adafruit_Floppsy.h:37