aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hidflash/README
diff options
context:
space:
mode:
Diffstat (limited to 'lib/hidflash/README')
-rw-r--r--lib/hidflash/README34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/hidflash/README b/lib/hidflash/README
new file mode 100644
index 00000000..86ea39ce
--- /dev/null
+++ b/lib/hidflash/README
@@ -0,0 +1,34 @@
+The source for the hid-flash program in this folder is a deriviative of the
+"cli" modified by Vassilis Serasidis to work with the STM32 Arduino core,
+available here:
+https://github.com/Serasidis/STM32_HID_Bootloader/tree/master/cli
+
+The original source for hid-flash was written by Bruno Freitas, available
+here:
+https://github.com/bootsector/stm32-hid-bootloader/tree/master/cli
+
+This derivative contains the following changes:
+1) The "port" argument is now optional. If not supplied hid-flash will not
+ attempt to open a serial port and enter the bootloader, it will assume
+ that the device has already entered the bootloader and look for a USB
+ device with the appropriate Vendor and Product IDs. This change allows
+ Klipper's "flash_usb.py" script to enter the bootloader and wait for the
+ mcu to reconnect.
+2) When the serial port is specified, hid-flash will use Klipper's procedure
+ for entering the bootloader (Open the port at 1200 baud and toggle DTR).
+3) The hid-flash program now accepts a command from the bootloader that allows
+ a STM32F103 device to identify itself as a "high-density" device during
+ the flashing process. This fixes a bug where the final page would not
+ be written if the last portion of the binary was less than or equal to
+ 1024 bytes. A forked version of the bootloader is required to send the
+ "high-density" command, however the tool will still work correctly with
+ the original bootloader (sans the bug that affects high density devices).
+4) A typo was fixed where an "if" statement was using an assignment operator
+ to test for equality.
+5) The Makefile was changed to check for the libusb-1.0 dependency. If it
+ does not exist the user will be warned and the build aborted, however
+ no error will be generated. This allows Klipper's "make FLASH"
+ functionality to work when flashing via DFU without installing the
+ libusb-1.0 dependency for hid-flash.
+
+- Eric Callahan <arksine.code@gmail.com>