浏览代码

Add SD Firmware Update capability (#12043)

Co-Authored-By: timoxd7 <timoxd7@users.noreply.github.com>
Scott Lahteine 6 年前
父节点
当前提交
cf5284cdf2
没有帐户链接到提交者的电子邮件
共有 64 个文件被更改,包括 974 次插入2 次删除
  1. 16
    0
      Marlin/Configuration_adv.h
  2. 16
    0
      Marlin/src/config/default/Configuration_adv.h
  3. 16
    0
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  4. 16
    0
      Marlin/src/config/examples/Anet/A2/Configuration_adv.h
  5. 16
    0
      Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h
  6. 16
    0
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  7. 16
    0
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  8. 16
    0
      Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
  9. 16
    0
      Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h
  10. 16
    0
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  11. 16
    0
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  12. 16
    0
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  13. 16
    0
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  14. 16
    0
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  15. 16
    0
      Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
  16. 16
    0
      Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h
  17. 16
    0
      Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h
  18. 16
    0
      Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h
  19. 16
    0
      Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h
  20. 16
    0
      Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h
  21. 16
    0
      Marlin/src/config/examples/Einstart-S/Configuration_adv.h
  22. 16
    0
      Marlin/src/config/examples/Felix/Configuration_adv.h
  23. 16
    0
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
  24. 16
    0
      Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h
  25. 16
    0
      Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h
  26. 16
    0
      Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h
  27. 16
    0
      Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h
  28. 16
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h
  29. 16
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h
  30. 16
    0
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  31. 16
    0
      Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h
  32. 16
    0
      Marlin/src/config/examples/MakerParts/Configuration_adv.h
  33. 16
    0
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  34. 16
    0
      Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
  35. 16
    0
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
  36. 16
    0
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  37. 16
    0
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  38. 16
    0
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  39. 16
    0
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  40. 16
    0
      Marlin/src/config/examples/TheBorg/Configuration_adv.h
  41. 16
    0
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  42. 16
    0
      Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h
  43. 16
    0
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
  44. 16
    0
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  45. 16
    0
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  46. 16
    0
      Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  47. 16
    0
      Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h
  48. 16
    0
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  49. 16
    0
      Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h
  50. 16
    0
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  51. 16
    0
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  52. 16
    0
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  53. 16
    0
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  54. 16
    0
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  55. 16
    0
      Marlin/src/config/examples/makibox/Configuration_adv.h
  56. 16
    0
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  57. 16
    0
      Marlin/src/config/examples/wt150/Configuration_adv.h
  58. 4
    0
      Marlin/src/inc/SanityCheck.h
  59. 2
    0
      Marlin/src/lcd/language/language_de.h
  60. 6
    0
      Marlin/src/lcd/language/language_en.h
  61. 17
    0
      Marlin/src/lcd/ultralcd.cpp
  62. 26
    0
      Marlin/src/module/configuration_store.cpp
  63. 5
    0
      Marlin/src/module/configuration_store.h
  64. 2
    2
      buildroot/share/tests/megaatmega2560_tests

+ 16
- 0
Marlin/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/default/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Anet/A2/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Anet/A6/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Anet/A8/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h 查看文件

709
     #define USB_INTR_PIN       SD_DETECT_PIN
709
     #define USB_INTR_PIN       SD_DETECT_PIN
710
   #endif
710
   #endif
711
 
711
 
712
+  /**
713
+   * When using a bootloader that supports SD-Firmware-Flashing,
714
+   * add a menu item to activate SD-FW-Update on the next reboot.
715
+   * 
716
+   * Requires ATMEGA2560 (Arduino Mega)
717
+   * 
718
+   * Tested with this bootloader:
719
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
720
+   */
721
+  //#define SD_FIRMWARE_UPDATE
722
+  #if ENABLED(SD_FIRMWARE_UPDATE)
723
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
724
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
725
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
726
+  #endif
727
+
712
 #endif // SDSUPPORT
728
 #endif // SDSUPPORT
713
 
729
 
714
 /**
730
 /**

+ 16
- 0
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Cartesio/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Einstart-S/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Felix/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h 查看文件

705
     #define USB_INTR_PIN       SD_DETECT_PIN
705
     #define USB_INTR_PIN       SD_DETECT_PIN
706
   #endif
706
   #endif
707
 
707
 
708
+  /**
709
+   * When using a bootloader that supports SD-Firmware-Flashing,
710
+   * add a menu item to activate SD-FW-Update on the next reboot.
711
+   * 
712
+   * Requires ATMEGA2560 (Arduino Mega)
713
+   * 
714
+   * Tested with this bootloader:
715
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
716
+   */
717
+  //#define SD_FIRMWARE_UPDATE
718
+  #if ENABLED(SD_FIRMWARE_UPDATE)
719
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
720
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
721
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
722
+  #endif
723
+
708
 #endif // SDSUPPORT
724
 #endif // SDSUPPORT
709
 
725
 
710
 /**
726
 /**

+ 16
- 0
Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h 查看文件

706
     #define USB_INTR_PIN       SD_DETECT_PIN
706
     #define USB_INTR_PIN       SD_DETECT_PIN
707
   #endif
707
   #endif
708
 
708
 
709
+  /**
710
+   * When using a bootloader that supports SD-Firmware-Flashing,
711
+   * add a menu item to activate SD-FW-Update on the next reboot.
712
+   * 
713
+   * Requires ATMEGA2560 (Arduino Mega)
714
+   * 
715
+   * Tested with this bootloader:
716
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
717
+   */
718
+  //#define SD_FIRMWARE_UPDATE
719
+  #if ENABLED(SD_FIRMWARE_UPDATE)
720
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
721
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
722
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
723
+  #endif
724
+
709
 #endif // SDSUPPORT
725
 #endif // SDSUPPORT
710
 
726
 
711
 /**
727
 /**

+ 16
- 0
Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/MakerParts/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Malyan/M200/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h 查看文件

702
     #define USB_INTR_PIN       SD_DETECT_PIN
702
     #define USB_INTR_PIN       SD_DETECT_PIN
703
   #endif
703
   #endif
704
 
704
 
705
+  /**
706
+   * When using a bootloader that supports SD-Firmware-Flashing,
707
+   * add a menu item to activate SD-FW-Update on the next reboot.
708
+   * 
709
+   * Requires ATMEGA2560 (Arduino Mega)
710
+   * 
711
+   * Tested with this bootloader:
712
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
713
+   */
714
+  //#define SD_FIRMWARE_UPDATE
715
+  #if ENABLED(SD_FIRMWARE_UPDATE)
716
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
717
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
718
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
719
+  #endif
720
+
705
 #endif // SDSUPPORT
721
 #endif // SDSUPPORT
706
 
722
 
707
 /**
723
 /**

+ 16
- 0
Marlin/src/config/examples/RigidBot/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/SCARA/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/TheBorg/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h 查看文件

714
     #define USB_INTR_PIN       SD_DETECT_PIN
714
     #define USB_INTR_PIN       SD_DETECT_PIN
715
   #endif
715
   #endif
716
 
716
 
717
+  /**
718
+   * When using a bootloader that supports SD-Firmware-Flashing,
719
+   * add a menu item to activate SD-FW-Update on the next reboot.
720
+   * 
721
+   * Requires ATMEGA2560 (Arduino Mega)
722
+   * 
723
+   * Tested with this bootloader:
724
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
725
+   */
726
+  //#define SD_FIRMWARE_UPDATE
727
+  #if ENABLED(SD_FIRMWARE_UPDATE)
728
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
729
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
730
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
731
+  #endif
732
+
717
 #endif // SDSUPPORT
733
 #endif // SDSUPPORT
718
 
734
 
719
 /**
735
 /**

+ 16
- 0
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h 查看文件

703
     #define USB_INTR_PIN       SD_DETECT_PIN
703
     #define USB_INTR_PIN       SD_DETECT_PIN
704
   #endif
704
   #endif
705
 
705
 
706
+  /**
707
+   * When using a bootloader that supports SD-Firmware-Flashing,
708
+   * add a menu item to activate SD-FW-Update on the next reboot.
709
+   * 
710
+   * Requires ATMEGA2560 (Arduino Mega)
711
+   * 
712
+   * Tested with this bootloader:
713
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
714
+   */
715
+  //#define SD_FIRMWARE_UPDATE
716
+  #if ENABLED(SD_FIRMWARE_UPDATE)
717
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
718
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
719
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
720
+  #endif
721
+
706
 #endif // SDSUPPORT
722
 #endif // SDSUPPORT
707
 
723
 
708
 /**
724
 /**

+ 16
- 0
Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h 查看文件

703
     #define USB_INTR_PIN       SD_DETECT_PIN
703
     #define USB_INTR_PIN       SD_DETECT_PIN
704
   #endif
704
   #endif
705
 
705
 
706
+  /**
707
+   * When using a bootloader that supports SD-Firmware-Flashing,
708
+   * add a menu item to activate SD-FW-Update on the next reboot.
709
+   * 
710
+   * Requires ATMEGA2560 (Arduino Mega)
711
+   * 
712
+   * Tested with this bootloader:
713
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
714
+   */
715
+  //#define SD_FIRMWARE_UPDATE
716
+  #if ENABLED(SD_FIRMWARE_UPDATE)
717
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
718
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
719
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
720
+  #endif
721
+
706
 #endif // SDSUPPORT
722
 #endif // SDSUPPORT
707
 
723
 
708
 /**
724
 /**

+ 16
- 0
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h 查看文件

703
     #define USB_INTR_PIN       SD_DETECT_PIN
703
     #define USB_INTR_PIN       SD_DETECT_PIN
704
   #endif
704
   #endif
705
 
705
 
706
+  /**
707
+   * When using a bootloader that supports SD-Firmware-Flashing,
708
+   * add a menu item to activate SD-FW-Update on the next reboot.
709
+   * 
710
+   * Requires ATMEGA2560 (Arduino Mega)
711
+   * 
712
+   * Tested with this bootloader:
713
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
714
+   */
715
+  //#define SD_FIRMWARE_UPDATE
716
+  #if ENABLED(SD_FIRMWARE_UPDATE)
717
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
718
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
719
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
720
+  #endif
721
+
706
 #endif // SDSUPPORT
722
 #endif // SDSUPPORT
707
 
723
 
708
 /**
724
 /**

+ 16
- 0
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h 查看文件

703
     #define USB_INTR_PIN       SD_DETECT_PIN
703
     #define USB_INTR_PIN       SD_DETECT_PIN
704
   #endif
704
   #endif
705
 
705
 
706
+  /**
707
+   * When using a bootloader that supports SD-Firmware-Flashing,
708
+   * add a menu item to activate SD-FW-Update on the next reboot.
709
+   * 
710
+   * Requires ATMEGA2560 (Arduino Mega)
711
+   * 
712
+   * Tested with this bootloader:
713
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
714
+   */
715
+  //#define SD_FIRMWARE_UPDATE
716
+  #if ENABLED(SD_FIRMWARE_UPDATE)
717
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
718
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
719
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
720
+  #endif
721
+
706
 #endif // SDSUPPORT
722
 #endif // SDSUPPORT
707
 
723
 
708
 /**
724
 /**

+ 16
- 0
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h 查看文件

703
     #define USB_INTR_PIN       SD_DETECT_PIN
703
     #define USB_INTR_PIN       SD_DETECT_PIN
704
   #endif
704
   #endif
705
 
705
 
706
+  /**
707
+   * When using a bootloader that supports SD-Firmware-Flashing,
708
+   * add a menu item to activate SD-FW-Update on the next reboot.
709
+   * 
710
+   * Requires ATMEGA2560 (Arduino Mega)
711
+   * 
712
+   * Tested with this bootloader:
713
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
714
+   */
715
+  //#define SD_FIRMWARE_UPDATE
716
+  #if ENABLED(SD_FIRMWARE_UPDATE)
717
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
718
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
719
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
720
+  #endif
721
+
706
 #endif // SDSUPPORT
722
 #endif // SDSUPPORT
707
 
723
 
708
 /**
724
 /**

+ 16
- 0
Marlin/src/config/examples/delta/generic/Configuration_adv.h 查看文件

703
     #define USB_INTR_PIN       SD_DETECT_PIN
703
     #define USB_INTR_PIN       SD_DETECT_PIN
704
   #endif
704
   #endif
705
 
705
 
706
+  /**
707
+   * When using a bootloader that supports SD-Firmware-Flashing,
708
+   * add a menu item to activate SD-FW-Update on the next reboot.
709
+   * 
710
+   * Requires ATMEGA2560 (Arduino Mega)
711
+   * 
712
+   * Tested with this bootloader:
713
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
714
+   */
715
+  //#define SD_FIRMWARE_UPDATE
716
+  #if ENABLED(SD_FIRMWARE_UPDATE)
717
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
718
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
719
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
720
+  #endif
721
+
706
 #endif // SDSUPPORT
722
 #endif // SDSUPPORT
707
 
723
 
708
 /**
724
 /**

+ 16
- 0
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h 查看文件

703
     #define USB_INTR_PIN       SD_DETECT_PIN
703
     #define USB_INTR_PIN       SD_DETECT_PIN
704
   #endif
704
   #endif
705
 
705
 
706
+  /**
707
+   * When using a bootloader that supports SD-Firmware-Flashing,
708
+   * add a menu item to activate SD-FW-Update on the next reboot.
709
+   * 
710
+   * Requires ATMEGA2560 (Arduino Mega)
711
+   * 
712
+   * Tested with this bootloader:
713
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
714
+   */
715
+  //#define SD_FIRMWARE_UPDATE
716
+  #if ENABLED(SD_FIRMWARE_UPDATE)
717
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
718
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
719
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
720
+  #endif
721
+
706
 #endif // SDSUPPORT
722
 #endif // SDSUPPORT
707
 
723
 
708
 /**
724
 /**

+ 16
- 0
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h 查看文件

703
     #define USB_INTR_PIN       SD_DETECT_PIN
703
     #define USB_INTR_PIN       SD_DETECT_PIN
704
   #endif
704
   #endif
705
 
705
 
706
+  /**
707
+   * When using a bootloader that supports SD-Firmware-Flashing,
708
+   * add a menu item to activate SD-FW-Update on the next reboot.
709
+   * 
710
+   * Requires ATMEGA2560 (Arduino Mega)
711
+   * 
712
+   * Tested with this bootloader:
713
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
714
+   */
715
+  //#define SD_FIRMWARE_UPDATE
716
+  #if ENABLED(SD_FIRMWARE_UPDATE)
717
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
718
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
719
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
720
+  #endif
721
+
706
 #endif // SDSUPPORT
722
 #endif // SDSUPPORT
707
 
723
 
708
 /**
724
 /**

+ 16
- 0
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/makibox/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h 查看文件

701
     #define USB_INTR_PIN       SD_DETECT_PIN
701
     #define USB_INTR_PIN       SD_DETECT_PIN
702
   #endif
702
   #endif
703
 
703
 
704
+  /**
705
+   * When using a bootloader that supports SD-Firmware-Flashing,
706
+   * add a menu item to activate SD-FW-Update on the next reboot.
707
+   * 
708
+   * Requires ATMEGA2560 (Arduino Mega)
709
+   * 
710
+   * Tested with this bootloader:
711
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
712
+   */
713
+  //#define SD_FIRMWARE_UPDATE
714
+  #if ENABLED(SD_FIRMWARE_UPDATE)
715
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
716
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
717
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
718
+  #endif
719
+
704
 #endif // SDSUPPORT
720
 #endif // SDSUPPORT
705
 
721
 
706
 /**
722
 /**

+ 16
- 0
Marlin/src/config/examples/wt150/Configuration_adv.h 查看文件

702
     #define USB_INTR_PIN       SD_DETECT_PIN
702
     #define USB_INTR_PIN       SD_DETECT_PIN
703
   #endif
703
   #endif
704
 
704
 
705
+  /**
706
+   * When using a bootloader that supports SD-Firmware-Flashing,
707
+   * add a menu item to activate SD-FW-Update on the next reboot.
708
+   * 
709
+   * Requires ATMEGA2560 (Arduino Mega)
710
+   * 
711
+   * Tested with this bootloader:
712
+   *   https://github.com/FleetProbe/MicroBridge-Arduino-ATMega2560
713
+   */
714
+  //#define SD_FIRMWARE_UPDATE
715
+  #if ENABLED(SD_FIRMWARE_UPDATE)
716
+    #define SD_FIRMWARE_UPDATE_EEPROM_ADDR    0x1FF
717
+    #define SD_FIRMWARE_UPDATE_ACTIVE_VALUE   0xF0
718
+    #define SD_FIRMWARE_UPDATE_INACTIVE_VALUE 0xFF
719
+  #endif
720
+
705
 #endif // SDSUPPORT
721
 #endif // SDSUPPORT
706
 
722
 
707
 /**
723
 /**

+ 4
- 0
Marlin/src/inc/SanityCheck.h 查看文件

1855
   #error "USB_CS_PIN and USB_INTR_PIN are required for USB_FLASH_DRIVE_SUPPORT."
1855
   #error "USB_CS_PIN and USB_INTR_PIN are required for USB_FLASH_DRIVE_SUPPORT."
1856
 #endif
1856
 #endif
1857
 
1857
 
1858
+#if ENABLED(SD_FIRMWARE_UPDATE) && !defined(__AVR_ATmega2560__)
1859
+  #error "SD_FIRMWARE_UPDATE requires an ATmega2560-based (Arduino Mega) board."
1860
+#endif
1861
+
1858
 #endif // _SANITYCHECK_H_
1862
 #endif // _SANITYCHECK_H_

+ 2
- 0
Marlin/src/lcd/language/language_de.h 查看文件

160
 #define MSG_LOAD_EEPROM                     _UxGT("Konfig. laden")
160
 #define MSG_LOAD_EEPROM                     _UxGT("Konfig. laden")
161
 #define MSG_RESTORE_FAILSAFE                _UxGT("Standardwerte laden")
161
 #define MSG_RESTORE_FAILSAFE                _UxGT("Standardwerte laden")
162
 #define MSG_INIT_EEPROM                     _UxGT("Werkseinstellungen")
162
 #define MSG_INIT_EEPROM                     _UxGT("Werkseinstellungen")
163
+#define MSG_SD_UPDATE                       _UxGT("SD Update")
164
+#define MSG_RESET_PRINTER                   _UxGT("Drucker neustarten")
163
 #define MSG_REFRESH                         _UxGT("Aktualisieren")
165
 #define MSG_REFRESH                         _UxGT("Aktualisieren")
164
 #define MSG_WATCH                           _UxGT("Info")
166
 #define MSG_WATCH                           _UxGT("Info")
165
 #define MSG_PREPARE                         _UxGT("Vorbereitung")
167
 #define MSG_PREPARE                         _UxGT("Vorbereitung")

+ 6
- 0
Marlin/src/lcd/language/language_en.h 查看文件

687
 #ifndef MSG_INIT_EEPROM
687
 #ifndef MSG_INIT_EEPROM
688
   #define MSG_INIT_EEPROM                     _UxGT("Initialize EEPROM")
688
   #define MSG_INIT_EEPROM                     _UxGT("Initialize EEPROM")
689
 #endif
689
 #endif
690
+#ifndef MSG_SD_UPDATE
691
+  #define MSG_SD_UPDATE                       _UxGT("SD Update")
692
+#endif
693
+#ifndef MSG_RESET_PRINTER
694
+  #define MSG_RESET_PRINTER                   _UxGT("Reset Printer")
695
+#endif
690
 #ifndef MSG_REFRESH
696
 #ifndef MSG_REFRESH
691
   #define MSG_REFRESH                         _UxGT("Refresh")
697
   #define MSG_REFRESH                         _UxGT("Refresh")
692
 #endif
698
 #endif

+ 17
- 0
Marlin/src/lcd/ultralcd.cpp 查看文件

3996
     }
3996
     }
3997
   #endif
3997
   #endif
3998
 
3998
 
3999
+  #if ENABLED(SD_FIRMWARE_UPDATE)
4000
+    /**
4001
+     * Toggle the SD Firmware Update state in EEPROM
4002
+     */
4003
+    static void _lcd_toggle_sd_update() {
4004
+      const bool new_state = !settings.sd_update_status();
4005
+      lcd_completion_feedback(settings.set_sd_update_status(new_state));
4006
+      lcd_return_to_status();
4007
+      if (new_state) LCD_MESSAGEPGM(MSG_RESET_PRINTER); else lcd_reset_status();
4008
+    }
4009
+  #endif
4010
+
3999
   void lcd_advanced_settings_menu() {
4011
   void lcd_advanced_settings_menu() {
4000
     START_MENU();
4012
     START_MENU();
4001
     MENU_BACK(MSG_CONFIGURATION);
4013
     MENU_BACK(MSG_CONFIGURATION);
4068
         MENU_ITEM(gcode, MSG_BLTOUCH_RESET, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_RESET)));
4080
         MENU_ITEM(gcode, MSG_BLTOUCH_RESET, PSTR("M280 P" STRINGIFY(Z_PROBE_SERVO_NR) " S" STRINGIFY(BLTOUCH_RESET)));
4069
     #endif
4081
     #endif
4070
 
4082
 
4083
+    #if ENABLED(SD_FIRMWARE_UPDATE)
4084
+      bool sd_update_state = settings.sd_update_status();
4085
+      MENU_ITEM_EDIT_CALLBACK(bool, MSG_SD_UPDATE, &sd_update_state, _lcd_toggle_sd_update);
4086
+    #endif
4087
+
4071
     #if ENABLED(EEPROM_SETTINGS) && DISABLED(SLIM_LCD_MENUS)
4088
     #if ENABLED(EEPROM_SETTINGS) && DISABLED(SLIM_LCD_MENUS)
4072
       MENU_ITEM(submenu, MSG_INIT_EEPROM, lcd_init_eeprom_confirm);
4089
       MENU_ITEM(submenu, MSG_INIT_EEPROM, lcd_init_eeprom_confirm);
4073
     #endif
4090
     #endif

+ 26
- 0
Marlin/src/module/configuration_store.cpp 查看文件

376
     report_current_position();
376
     report_current_position();
377
 }
377
 }
378
 
378
 
379
+#if ENABLED(SD_FIRMWARE_UPDATE)
380
+
381
+  #if ENABLED(EEPROM_SETTINGS)
382
+    static_assert(
383
+      !WITHIN(SD_FIRMWARE_UPDATE_EEPROM_ADDR, EEPROM_OFFSET, EEPROM_OFFSET + sizeof(SettingsData)),
384
+      "SD_FIRMWARE_UPDATE_EEPROM_ADDR collides with EEPROM settings storage."
385
+    );
386
+  #endif
387
+
388
+  bool MarlinSettings::sd_update_status() {
389
+    uint8_t val;
390
+    persistentStore.read_data(SD_FIRMWARE_UPDATE_EEPROM_ADDR, &val);
391
+    return (val == SD_FIRMWARE_UPDATE_ACTIVE_VALUE);
392
+  }
393
+
394
+  bool MarlinSettings::set_sd_update_status(const bool enable) {
395
+    if (enable != sd_update_status())
396
+      persistentStore.write_data(
397
+        SD_FIRMWARE_UPDATE_EEPROM_ADDR,
398
+        enable ? SD_FIRMWARE_UPDATE_ACTIVE_VALUE : SD_FIRMWARE_UPDATE_INACTIVE_VALUE
399
+      );
400
+    return true;
401
+  }
402
+
403
+#endif // SD_FIRMWARE_UPDATE
404
+
379
 #if ENABLED(EEPROM_SETTINGS)
405
 #if ENABLED(EEPROM_SETTINGS)
380
   #include "../HAL/shared/persistent_store_api.h"
406
   #include "../HAL/shared/persistent_store_api.h"
381
 
407
 

+ 5
- 0
Marlin/src/module/configuration_store.h 查看文件

61
       #endif
61
       #endif
62
     }
62
     }
63
 
63
 
64
+    #if ENABLED(SD_FIRMWARE_UPDATE)
65
+      static bool sd_update_status();                       // True if the SD-Firmware-Update EEPROM flag is set
66
+      static bool set_sd_update_status(const bool enable);  // Return 'true' after EEPROM is set (-> always true)
67
+    #endif
68
+
64
     #if ENABLED(EEPROM_SETTINGS)
69
     #if ENABLED(EEPROM_SETTINGS)
65
       static bool load(PORTINIT_SOLO);      // Return 'true' if data was loaded ok
70
       static bool load(PORTINIT_SOLO);      // Return 'true' if data was loaded ok
66
       static bool validate(PORTINIT_SOLO);  // Return 'true' if EEPROM data is ok
71
       static bool validate(PORTINIT_SOLO);  // Return 'true' if EEPROM data is ok

+ 2
- 2
buildroot/share/tests/megaatmega2560_tests 查看文件

34
            BLINKM PCA9632 RGB_LED NEOPIXEL_LED AUTO_POWER_CONTROL NOZZLE_PARK_FEATURE FILAMENT_RUNOUT_SENSOR \
34
            BLINKM PCA9632 RGB_LED NEOPIXEL_LED AUTO_POWER_CONTROL NOZZLE_PARK_FEATURE FILAMENT_RUNOUT_SENSOR \
35
            AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \
35
            AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \
36
            SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE
36
            SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE
37
-opt_enable_adv ARC_P_CIRCLES ADVANCED_PAUSE_FEATURE CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS \
37
+opt_enable_adv FWRETRACT ARC_P_CIRCLES ADVANCED_PAUSE_FEATURE CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS \
38
                POWER_LOSS_RECOVERY POWER_LOSS_PIN POWER_LOSS_STATE \
38
                POWER_LOSS_RECOVERY POWER_LOSS_PIN POWER_LOSS_STATE \
39
-               FWRETRACT MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CODEPENDENT_XY_HOMING
39
+               MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CODEPENDENT_XY_HOMING
40
 opt_set_adv FANMUX0_PIN 53
40
 opt_set_adv FANMUX0_PIN 53
41
 exec_test $1 $2 "RAMPS with 2 extruders, RRDFGSC, Linear ABL, LEDs, and many options"
41
 exec_test $1 $2 "RAMPS with 2 extruders, RRDFGSC, Linear ABL, LEDs, and many options"
42
 
42
 

正在加载...
取消
保存