************************************ ** Greaseweazle Release Notes ** Keir Fraser ************************************ ** v0.11 - 21 January 2020 - GW.py: Auto-detect the COM/serial port device name - The device argument is now optional! - USB: Provide a serial-id string to the host - Identifier is unique to each Greaseweazle device - Allows disambiguation between multiple Greaseweazle devices - Recommended: Full flash from HEX file (embeds serial in bootloader) - Ubuntu: Udev script now creates a /dev/greaseweazle symlink ** v0.10 - 17 January 2020 - STM32F7xx: Multi-drive support via drive-select config option - Up to three Shugart drives or two IBM/PC drives - gw.py read|write --drive {a,b,0,1,2} - See the "Drive Select" wiki page ** v0.9 - 7 January 2020 - Activity LED - Lights while a USB-issued command is in progress - Flashes when enumerated but idle in the firmware-update bootloader ** v0.8 - 6 January 2020 - STM32F73xx: Various Fixes and Improvements - Allow Firmware Update mode to be forced via strapping Serial RX/TX - Fix bogus sample values at start of read flux values - Fix some time constants to be in units of the sample clock - USB: Advertise USB 2.0 device descriptor ** v0.7 - 6 December 2019 - USB: Fix end-of-stream detection on track writes - Writes of empty/unformatted tracks sometimes hung forever - No Flux Area: Firmware automatically masters long NFAs during track writes - Generating no flux transitions does not read back as a NFA - STM32F73xx: Initial support for new STM32 MCU - Two HEX files are included: Use Greaseweazle-F1-* for existing boards! - Single unified UPD file containing both firmware images ** v0.6 - 15 November 2019 - gw.py: Big overhaul of underlying Python package - Action (read, write, update) must come first on the command line - eg. "python3 gw.py read --ecyl=39 foo.scp COM3" - gw.py: New action "delays" to print/set delay parameters - eg. "python3 gw.py delays --step=10000" to increase step time to 10ms ** v0.5 - 11 November 2019 - USB: Overhaul the protocol and allow writes to be terminated at index - Terminate-at-index is always used by current Python control script - Terminate-at-index prevents an over-long write from overwriting itself - Fix interruption of track writes (eg. KeyboardInterrupt) - gw.py: New option --adjust-speed to normalise flux times for target drive - Measures RPM of the target drive and calculates an adjustment factor ** v0.4 - 5 November 2019 - Blinky: Diagnostic test firmware to detect fake STM32 chips - https://github.com/keirf/Greaseweazle/wiki/STM32-Fakes - Floppy Write: Fix for very short flux timings - Floppy Read: Fix for very long flux timings - USB: Small improvement to double-buffer logic ** v0.3 - 30 October 2019 - Bootloader: Fix Programming-Jumper detection - Read Track: Various minor fixes - SCP: Fix the SCP file headers generated by "gw.py read" ** IMPORTANT USER INSTRUCTIONS **: - Users must serial-update using the v0.3 HEX file - DO NOT update from v0.2 using the UPD file - May need to install the crcmod package: eg "pip3 install crcmod" ** v0.2 - 29 October 2019 - USB: Fix hangs during "gw.py read" - Thanks to Charlie Smurthwaite for telling me how to fix this! - USB: Improved bandwidth (double-buffered IN/OUT endpoints) - Reduces risk of buffer underflow/overflow during disk operations - Firmware Update: Requires a jumper across A14 (aka DCL) and GND - eg. "python gw.py update Greaseweazle-v0.2.upd COM3" ** v0.1 - 17 October 2019 - First release