dhansel / arduinofdc Goto Github PK
View Code? Open in Web Editor NEWLibrary for using an Arduino as a floppy disk controller
License: GNU General Public License v3.0
Library for using an Arduino as a floppy disk controller
License: GNU General Public License v3.0
Not sure how you are building this project, but with Arduino IDE 1.8.13, I could not get the code to compile.
Getting an error here:
file: ArduinoFDC.ino
line 227: void print_ff_error(FRESULT fr)
error: FRESULT not declared in this scope
With enough searching the web, I finally figured out it doesn't deal well with the typedef enum as a variable type. Had to add a forward reference just ahead of this line and all is well:
void print_ff_error(FRESULT fr);
Other than that, it seems to be working OK. I've only tried it with a Teac FD-235 hf drive and a 3.5" DD disk. I can format & r/w in the monitor; re-formatted in ArduDOS & created a couple of directories. Oddly, putting this disk into a USB floppy drive on Win10 still reads the original directory (albeit very hesitantly.)
Great project, thanks for sharing! My goal is to try and read some old 1.2M (HD?) 5.25" floppies. I do have a teac fd-55gfr, but can't find the ribbon cable with the card edge connector for it.
-- RT
When i try compile the code i get this:
Arduino: 1.8.19 (Linux), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
arduino-builder -dump-prefs -logger=machine -hardware /usr/share/arduino/hardware -hardware /home/internet/.arduino15/packages -tools /usr/share/arduino/hardware/tools/avr -tools /home/internet/.arduino15/packages -libraries /home/internet/Arduino/libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -ide-version=10819 -build-path /tmp/arduino_build_548072 -warnings=none -build-cache /tmp/arduino_cache_167950 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/home/internet/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/home/internet/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=/home/internet/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/internet/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.avrdude.path=/home/internet/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/home/internet/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -verbose /home/internet/Documentos/ArduinoFDC/ArduinoFDC.ino
arduino-builder -compile -logger=machine -hardware /usr/share/arduino/hardware -hardware /home/internet/.arduino15/packages -tools /usr/share/arduino/hardware/tools/avr -tools /home/internet/.arduino15/packages -libraries /home/internet/Arduino/libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -ide-version=10819 -build-path /tmp/arduino_build_548072 -warnings=none -build-cache /tmp/arduino_cache_167950 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/home/internet/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/home/internet/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.arduinoOTA.path=/home/internet/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/internet/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.avrdude.path=/home/internet/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/home/internet/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -verbose /home/internet/Documentos/ArduinoFDC/ArduinoFDC.ino
Using board 'mega' from platform in folder: /home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6
Using core 'arduino' from platform in folder: /home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6
Warning: platform.txt from core 'Arduino AVR Boards' contains deprecated compiler.path={runtime.tools.avr-gcc.path}/bin/, automatically converted to compiler.path=/usr/bin/. Consider upgrading this core.
Detecting libraries used...
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/tmp/arduino_build_548072/sketch/ArduinoFDC.ino.cpp" -o "/dev/null"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/tmp/arduino_build_548072/sketch/ArduinoFDC.cpp" -o "/dev/null"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/tmp/arduino_build_548072/sketch/XModem.cpp" -o "/dev/null"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/tmp/arduino_build_548072/sketch/diskio.cpp" -o "/dev/null"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/tmp/arduino_build_548072/sketch/ff.c" -o "/dev/null"
Generating function prototypes...
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/tmp/arduino_build_548072/sketch/ArduinoFDC.ino.cpp" -o "/tmp/arduino_build_548072/preproc/ctags_target_for_gcc_minus_e.cpp"
"/usr/bin/arduino-ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/tmp/arduino_build_548072/preproc/ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"/usr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/tmp/arduino_build_548072/sketch/ff.c" -o "/tmp/arduino_build_548072/sketch/ff.c.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/tmp/arduino_build_548072/sketch/ArduinoFDC.cpp" -o "/tmp/arduino_build_548072/sketch/ArduinoFDC.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/tmp/arduino_build_548072/sketch/ArduinoFDC.ino.cpp" -o "/tmp/arduino_build_548072/sketch/ArduinoFDC.ino.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/tmp/arduino_build_548072/sketch/XModem.cpp" -o "/tmp/arduino_build_548072/sketch/XModem.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/tmp/arduino_build_548072/sketch/diskio.cpp" -o "/tmp/arduino_build_548072/sketch/diskio.cpp.o"
Compiling libraries...
Compiling core...
"/usr/bin/avr-gcc" -c -g -x assembler-with-cpp -flto -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/wiring_pulse.S" -o "/tmp/arduino_build_548072/core/wiring_pulse.S.o"
"/usr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/WInterrupts.c" -o "/tmp/arduino_build_548072/core/WInterrupts.c.o"
"/usr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/hooks.c" -o "/tmp/arduino_build_548072/core/hooks.c.o"
"/usr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/wiring.c" -o "/tmp/arduino_build_548072/core/wiring.c.o"
"/usr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/wiring_analog.c" -o "/tmp/arduino_build_548072/core/wiring_analog.c.o"
"/usr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/wiring_digital.c" -o "/tmp/arduino_build_548072/core/wiring_digital.c.o"
"/usr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/wiring_pulse.c" -o "/tmp/arduino_build_548072/core/wiring_pulse.c.o"
"/usr/bin/avr-gcc" -c -g -Os -w -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/wiring_shift.c" -o "/tmp/arduino_build_548072/core/wiring_shift.c.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/CDC.cpp" -o "/tmp/arduino_build_548072/core/CDC.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/HardwareSerial.cpp" -o "/tmp/arduino_build_548072/core/HardwareSerial.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/HardwareSerial0.cpp" -o "/tmp/arduino_build_548072/core/HardwareSerial0.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/HardwareSerial1.cpp" -o "/tmp/arduino_build_548072/core/HardwareSerial1.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/HardwareSerial2.cpp" -o "/tmp/arduino_build_548072/core/HardwareSerial2.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/HardwareSerial3.cpp" -o "/tmp/arduino_build_548072/core/HardwareSerial3.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/IPAddress.cpp" -o "/tmp/arduino_build_548072/core/IPAddress.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/PluggableUSB.cpp" -o "/tmp/arduino_build_548072/core/PluggableUSB.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/Print.cpp" -o "/tmp/arduino_build_548072/core/Print.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/Stream.cpp" -o "/tmp/arduino_build_548072/core/Stream.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/Tone.cpp" -o "/tmp/arduino_build_548072/core/Tone.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/USBCore.cpp" -o "/tmp/arduino_build_548072/core/USBCore.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/WMath.cpp" -o "/tmp/arduino_build_548072/core/WMath.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/WString.cpp" -o "/tmp/arduino_build_548072/core/WString.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/abi.cpp" -o "/tmp/arduino_build_548072/core/abi.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/main.cpp" -o "/tmp/arduino_build_548072/core/main.cpp.o"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/mega" "/home/internet/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino/new.cpp" -o "/tmp/arduino_build_548072/core/new.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/wiring_pulse.S.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/WInterrupts.c.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/hooks.c.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/wiring.c.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/wiring_analog.c.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/wiring_digital.c.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/wiring_pulse.c.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/wiring_shift.c.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/CDC.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/HardwareSerial.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/HardwareSerial0.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/HardwareSerial1.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/HardwareSerial2.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/HardwareSerial3.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/IPAddress.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/PluggableUSB.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/Print.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/Stream.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/Tone.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/USBCore.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/WMath.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/WString.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/abi.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/main.cpp.o"
"/usr/bin/avr-gcc-ar" rcs "/tmp/arduino_build_548072/core/core.a" "/tmp/arduino_build_548072/core/new.cpp.o"
Archiving built core (caching) in: /tmp/arduino_cache_167950/core/core_arduino_avr_mega_cpu_atmega2560_c9058920e18cab3f4bf22bce6c73ea65.a
Linking everything together...
"/usr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections,--relax -mmcu=atmega2560 -o "/tmp/arduino_build_548072/ArduinoFDC.ino.elf" "/tmp/arduino_build_548072/sketch/ff.c.o" "/tmp/arduino_build_548072/sketch/ArduinoFDC.cpp.o" "/tmp/arduino_build_548072/sketch/ArduinoFDC.ino.cpp.o" "/tmp/arduino_build_548072/sketch/XModem.cpp.o" "/tmp/arduino_build_548072/sketch/diskio.cpp.o" "/tmp/arduino_build_548072/core/core.a" "-L/tmp/arduino_build_548072" -lm
/tmp/ccZHqZaS.s: Assembler messages:
/tmp/ccZHqZaS.s:440: Error: constant value required
/tmp/ccZHqZaS.s:442: Error: constant value required
/tmp/ccZHqZaS.s:444: Error: constant value required
/tmp/ccZHqZaS.s:450: Error: constant value required
/tmp/ccZHqZaS.s:450: Error: constant value required
/tmp/ccZHqZaS.s:457: Error: constant value required
/tmp/ccZHqZaS.s:457: Error: constant value required
/tmp/ccZHqZaS.s:458: Error: constant value required
/tmp/ccZHqZaS.s:458: Error: constant value required
/tmp/ccZHqZaS.s:459: Error: constant value required
/tmp/ccZHqZaS.s:459: Error: constant value required
/tmp/ccZHqZaS.s:460: Error: constant value required
/tmp/ccZHqZaS.s:460: Error: constant value required
/tmp/ccZHqZaS.s:461: Error: constant value required
/tmp/ccZHqZaS.s:461: Error: constant value required
/tmp/ccZHqZaS.s:462: Error: constant value required
/tmp/ccZHqZaS.s:462: Error: constant value required
/tmp/ccZHqZaS.s:463: Error: constant value required
/tmp/ccZHqZaS.s:463: Error: constant value required
/tmp/ccZHqZaS.s:464: Error: constant value required
/tmp/ccZHqZaS.s:464: Error: constant value required
/tmp/ccZHqZaS.s:465: Error: constant value required
/tmp/ccZHqZaS.s:465: Error: constant value required
/tmp/ccZHqZaS.s:466: Error: constant value required
/tmp/ccZHqZaS.s:466: Error: constant value required
/tmp/ccZHqZaS.s:467: Error: constant value required
/tmp/ccZHqZaS.s:467: Error: constant value required
/tmp/ccZHqZaS.s:468: Error: constant value required
/tmp/ccZHqZaS.s:468: Error: constant value required
/tmp/ccZHqZaS.s:469: Error: constant value required
/tmp/ccZHqZaS.s:469: Error: constant value required
/tmp/ccZHqZaS.s:470: Error: constant value required
/tmp/ccZHqZaS.s:470: Error: constant value required
/tmp/ccZHqZaS.s:475: Error: constant value required
/tmp/ccZHqZaS.s:475: Error: constant value required
/tmp/ccZHqZaS.s:488: Error: constant value required
/tmp/ccZHqZaS.s:488: Error: constant value required
lto-wrapper: fatal error: /usr/bin/avr-gcc returned 1 exit status
compilation terminated.
/usr/lib/gcc/avr/5.4.0/../../../avr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Arduino Mega or Mega 2560.
I'm encountering this issue where the formatDisk function hangs forever, and never returns from the first format_track()
call.
It's quite a "rotten" disk that I'm using. It read track 40 if this disk. But when I tried a formatDisk(buffer, 0, 0)
it just hangs and keeps spinning the disk forever. Reading track 0 doesn't work, which I figured it might be damaged beyond repair or just lost it's formatting. But I wouldn't expect a bad disk to cause the format to hang forever.
I'm not sure where it can hang. I know the wait_for_index()
finishes: https://github.com/dhansel/ArduinoFDC/blob/main/ArduinoFDC.cpp#L740 but somewhere after that it just hangs.
I'm using different pinout from default on an arduino nano. I can read/write other disks just fine. Didn't try format on any other disk, dont want to screw up any other disks that I have.
I did not find a description of how to power the floppy drive with 12V and 5V power connections (I know that you can power it with ATX etc.). In the picture it seems that USB is used for power (aren't the 12V necessary?). Can you please add such a description? What did you use?
I'm trying to read a 3.5 HD floppy disk, however I constantly get low-level disk errors in ArduDOS while trying to run dir
.
I'm pretty sure I connected everything correctly as it can detect if a drive is inserted or not, but I don't know why I keep getting the low-level disk errors.
I don't know what could be the problem, it could be the floppy drive, maybe even the disk. Does anyone know of some troubleshooting steps I could try to pinpoint where the issue is?
Hello.
By way of introduction - great project. I'm just playing with it and I'm going to use it as an interface for Atari 8-bit :) however...
The problem is that changing the floppy disk is not checked. It appears as follows:
dir
- it shows me that it is empty and the amount of free spacedir
and again it shows that it is empty and the same amount of free space - it is already suspicious.dir
and it shows the contents of the floppy disk - some files.Hi, I have a problem. I decided to connect my 5.25 floppy disk drive to the computer in this way, connected all the wires, connected the adruino nano to the computer, started downloading the sketch and an error appeared: "
avr-g++: error: {build.define0}: No such file or directory
avr-g++: error: {build.define1}: No such file or directory
avr-gcc: error: {build.define0}: No such file or directory
avr-gcc: error: {build.define1}: No such file or directory
avr-g++: error: {build.define0}: No such file or directory
avr-g++: error: {build.define1}: No such file or directory
avr-g++: error: {build.define0}: No such file or directory
avr-g++: error: {build.define1}: No such file or directory
avr-g++: error: {build.define0}: No such file or directory
avr-g++: error: {build.define1}: No such file or directory
exit status 1
Compilation error: exit status 1
". I'm not good at this and I'd appreciate your help.
Can it be used as usb floppy controller (implement UMS UFI device class)? There is no USB controllers for 5.25, and never were, and this may be a chance to connect 5.25 floppy to modern PC via USB :)
I have some old HD Floppys but when i try to run the r command it only returns something like:
Reading track 0 sector 1 side 0 => Error: No sync marks found!
After i reformat it works.
Any Help is appreciated
Best regards
Good morning,
I wanted to congratulate the great work done to develop the project.
I am trying to use this project on Arduino Uno. In practice I need to read and write a floppy custom format, which uses the same rules as Fat12 but uses 10 SECTOR X Tracks and 1024 Bytes X Sector. The problem is that I modify FF_MAX_SS = 1024 in the FFconf.h (Fatfs) form, it gives me a compilation error because it uses too much memory for variables, meter at 512 does not give error.
Is it possible to streamline variables in order to recover at least 600 memory bytes? Or is it possible to force the size of 1024 bytes x senctor?
The format I am trying to read is of an Gem S2 musical keyboard and the disc is 1.63MB 3.5 "HD
Thank you
FLY
FDD_Stm32_v03.zip
Im trying to migrate this lib to Stm32f103c8t6.
Using timer1 for input capture
Using timer3 for some index/pusle ..,check
Using timer2 for pwm out write data (not implemented yet)
Failure detected as f_open method => DISK_ERROR
So many thing to do and it still not work.
Could you help to check?
Thank you so much for this project, it is working perfectly on arduino
Is it possible to support also old FM Floppy drives (such as 8 inch) and different sector sizes such as 256,128 or 1024 byte, such as listed in https://en.wikipedia.org/wiki/List_of_floppy_disk_formats ? Nice feature would be, to find out what is the sector size by it self and recording method.
This way, also old IBM 8 Inch drive could be supported and also most of the CP/M formats.
rgds
Roman
Hello! Im trying to copy files from old floppys, 3.5 using arduino mega, psu as ps. When i start receiving file via xmodem, it takes ~10min for 1kb and it gives lots of errors. Same with other floppy disks. I try using pullup resistor, and its same. All GND's are correct. What can be problem and where to look? Is there other way to copy files to computer except xmodem? Thanx!!
I was wondering if hardcoded gaps, sectors, etc or the required data rate of 500 kbit vs. 250 kbit is the actual limiting factor that blocks high density (1,2 MB + 1,44 MB) support?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.