Browse Source

Fix binary protocol with one serial port (#13270)

- The `sdcard.transfer_port` variable is Marlin's internal serial port index, not the physical serial port number.
- Added packet number to "ok" response so hosts don't need to wait for the ACK.
- Renamed feature to `BINARY_FILE_TRANSFER`, as the speed up is only consequential to the ability to transfer binaries over serial.
pull/1/head
Chris Pepper 6 years ago
committed by Scott Lahteine
parent
commit
4ab433d391
  1. 2
      Marlin/Configuration_adv.h
  2. 2
      Marlin/src/config/default/Configuration_adv.h
  3. 2
      Marlin/src/config/examples/3DFabXYZ/Migbot/Configuration_adv.h
  4. 2
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  5. 2
      Marlin/src/config/examples/Anet/A2/Configuration_adv.h
  6. 2
      Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h
  7. 2
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  8. 2
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  9. 2
      Marlin/src/config/examples/AnyCubic/i3/Configuration_adv.h
  10. 2
      Marlin/src/config/examples/ArmEd/Configuration_adv.h
  11. 2
      Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
  12. 2
      Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h
  13. 2
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  14. 2
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  15. 2
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  16. 2
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  17. 2
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  18. 2
      Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
  19. 2
      Marlin/src/config/examples/Creality/CR-10_5S/Configuration_adv.h
  20. 2
      Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h
  21. 2
      Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h
  22. 2
      Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h
  23. 2
      Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h
  24. 2
      Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h
  25. 2
      Marlin/src/config/examples/Einstart-S/Configuration_adv.h
  26. 2
      Marlin/src/config/examples/Felix/Configuration_adv.h
  27. 2
      Marlin/src/config/examples/FlashForge/CreatorPro/Configuration_adv.h
  28. 2
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
  29. 2
      Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h
  30. 2
      Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h
  31. 2
      Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h
  32. 2
      Marlin/src/config/examples/Geeetech/A10M/Configuration_adv.h
  33. 2
      Marlin/src/config/examples/Geeetech/A20M/Configuration_adv.h
  34. 2
      Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h
  35. 2
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h
  36. 2
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h
  37. 2
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  38. 2
      Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h
  39. 2
      Marlin/src/config/examples/MakerParts/Configuration_adv.h
  40. 2
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  41. 2
      Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
  42. 2
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
  43. 2
      Marlin/src/config/examples/Mks/Robin/Configuration_adv.h
  44. 2
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  45. 2
      Marlin/src/config/examples/RapideLite/RL200/Configuration_adv.h
  46. 2
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  47. 2
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  48. 2
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  49. 2
      Marlin/src/config/examples/TheBorg/Configuration_adv.h
  50. 2
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  51. 2
      Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h
  52. 2
      Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h
  53. 2
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
  54. 2
      Marlin/src/config/examples/VORONDesign/Configuration_adv.h
  55. 2
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  56. 2
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  57. 2
      Marlin/src/config/examples/WASP/PowerWASP/Configuration_adv.h
  58. 2
      Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  59. 2
      Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h
  60. 2
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  61. 2
      Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h
  62. 2
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  63. 2
      Marlin/src/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h
  64. 2
      Marlin/src/config/examples/delta/MKS/SBASE/Configuration_adv.h
  65. 2
      Marlin/src/config/examples/delta/Tevo Little Monster/Configuration_adv.h
  66. 2
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  67. 2
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  68. 2
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  69. 2
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  70. 2
      Marlin/src/config/examples/makibox/Configuration_adv.h
  71. 2
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  72. 2
      Marlin/src/config/examples/wt150/Configuration_adv.h
  73. 7
      Marlin/src/gcode/host/M115.cpp
  74. 80
      Marlin/src/gcode/queue.cpp
  75. 2
      Marlin/src/gcode/sdcard/M20-M30_M32-M34_M524_M928.cpp
  76. 2
      Marlin/src/sd/cardreader.cpp
  77. 6
      Marlin/src/sd/cardreader.h
  78. 2
      buildroot/share/tests/megaatmega2560-tests

2
Marlin/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/default/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/3DFabXYZ/Migbot/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Anet/A2/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Anet/A6/Configuration_adv.h

@ -834,7 +834,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Anet/A8/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/AnyCubic/i3/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/ArmEd/Configuration_adv.h

@ -839,7 +839,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h

@ -834,7 +834,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h

@ -843,7 +843,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Cartesio/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Creality/CR-10_5S/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Einstart-S/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Felix/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/FlashForge/CreatorPro/Configuration_adv.h

@ -834,7 +834,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h

@ -839,7 +839,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h

@ -840,7 +840,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Geeetech/A10M/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Geeetech/A20M/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/MakerParts/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Malyan/M200/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Mks/Robin/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h

@ -836,7 +836,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/RapideLite/RL200/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/RigidBot/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/SCARA/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/TheBorg/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/VORONDesign/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h

@ -848,7 +848,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/WASP/PowerWASP/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h

@ -837,7 +837,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h

@ -837,7 +837,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h

@ -837,7 +837,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h

@ -837,7 +837,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h

@ -837,7 +837,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h

@ -837,7 +837,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/delta/MKS/SBASE/Configuration_adv.h

@ -837,7 +837,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/delta/Tevo Little Monster/Configuration_adv.h

@ -837,7 +837,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/delta/generic/Configuration_adv.h

@ -837,7 +837,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h

@ -836,7 +836,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h

@ -837,7 +837,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/makibox/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h

@ -835,7 +835,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

2
Marlin/src/config/examples/wt150/Configuration_adv.h

@ -836,7 +836,7 @@
#endif
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define FAST_FILE_TRANSFER
//#define BINARY_FILE_TRANSFER
#endif // SDSUPPORT

7
Marlin/src/gcode/host/M115.cpp

@ -52,6 +52,13 @@ void GcodeSuite::M115() {
#endif
);
// BINARY_FILE_TRANSFER (M28 B1)
cap_line(PSTR("BINARY_FILE_TRANSFER")
#if ENABLED(BINARY_FILE_TRANSFER)
, true
#endif
);
// EEPROM (M500, M501)
cap_line(PSTR("EEPROM")
#if ENABLED(EEPROM_SETTINGS)

80
Marlin/src/gcode/queue.cpp

@ -282,7 +282,7 @@ void gcode_line_error(PGM_P const err, const int8_t port) {
serial_count[port] = 0;
}
#if ENABLED(FAST_FILE_TRANSFER)
#if ENABLED(BINARY_FILE_TRANSFER)
inline bool serial_data_available(const uint8_t index) {
switch (index) {
@ -398,16 +398,12 @@ void gcode_line_error(PGM_P const err, const int8_t port) {
stream_state = StreamState::PACKET_RESET;
bytes_received = 0;
time_stream_start = millis();
SERIAL_ECHO("echo: Datastream initialized (");
SERIAL_ECHO(stream_header.filesize);
SERIAL_ECHOLN("Bytes expected)");
SERIAL_ECHO("so"); // confirm active stream and the maximum block size supported
SERIAL_CHAR(static_cast<uint8_t>(buffer_size & 0xFF));
SERIAL_CHAR(static_cast<uint8_t>((buffer_size >> 8) & 0xFF));
SERIAL_CHAR('\n');
SERIAL_ECHOPAIR("echo: Datastream initialized (", stream_header.filesize);
SERIAL_ECHOLNPGM(" bytes expected)");
SERIAL_ECHOLNPAIR("so", buffer_size); // confirm active stream and the maximum block size supported
}
else {
SERIAL_ECHOLN("echo: Datastream initialization error (invalid token)");
SERIAL_ECHO_MSG("Datastream init error (invalid token)");
stream_state = StreamState::STREAM_FAILED;
}
buffer_next_index = 0;
@ -423,7 +419,7 @@ void gcode_line_error(PGM_P const err, const int8_t port) {
stream_state = StreamState::PACKET_DATA;
}
else {
SERIAL_ECHO("echo: Datastream packet out of order");
SERIAL_ECHO_MSG("Datastream packet out of order");
stream_state = StreamState::PACKET_FLUSHRX;
}
}
@ -431,61 +427,60 @@ void gcode_line_error(PGM_P const err, const int8_t port) {
case StreamState::PACKET_DATA:
if (!stream_read(data)) break;
if (buffer_next_index < buffer_size) {
if (buffer_next_index < buffer_size)
buffer[buffer_next_index] = data;
}
else {
SERIAL_ECHO("echo: Datastream packet data buffer overrun");
SERIAL_ECHO_MSG("Datastream packet data buffer overrun");
stream_state = StreamState::STREAM_FAILED;
break;
}
packet.checksum = checksum(packet.checksum, data);
packet.bytes_received ++;
buffer_next_index ++;
packet.bytes_received++;
buffer_next_index++;
if (packet.bytes_received == packet.header.size) {
if (packet.bytes_received == packet.header.size)
stream_state = StreamState::PACKET_VALIDATE;
}
break;
case StreamState::PACKET_VALIDATE:
if (packet.header.checksum == packet.checksum) {
packet_retries = 0;
packets_received ++;
packets_received++;
bytes_received += packet.header.size;
if (packet.header.id == 0) { // id 0 is always the stream descriptor
if (packet.header.id == 0) // id 0 is always the stream descriptor
stream_state = StreamState::STREAM_HEADER; // defer packet confirmation to STREAM_HEADER state
}
else {
if (bytes_received < stream_header.filesize) {
stream_state = StreamState::PACKET_RESET; // reset and receive next packet
SERIAL_ECHOLN("ok"); // transmit confirm packet received and valid token
SERIAL_ECHOLNPGM("ok"); // transmit confirm packet received and valid token
SERIAL_ECHOLN(packet.header.id);
}
else {
else
stream_state = StreamState::STREAM_COMPLETE; // no more data required
}
if (card.write(buffer, buffer_next_index) < 0) {
stream_state = StreamState::STREAM_FAILED;
SERIAL_ECHO("echo: IO ERROR");
SERIAL_ECHO_MSG("SDCard IO Error");
break;
};
}
}
else {
SERIAL_ECHO("echo: Block(");
SERIAL_ECHO(packet.header.id);
SERIAL_ECHOLN(") Corrupt");
SERIAL_ECHO_START();
SERIAL_ECHOPAIR("Block(", packet.header.id);
SERIAL_ECHOLNPGM(") Corrupt");
stream_state = StreamState::PACKET_FLUSHRX;
}
break;
case StreamState::PACKET_RESEND:
if (packet_retries < MAX_RETRIES) {
packet_retries ++;
packet_retries++;
stream_state = StreamState::PACKET_RESET;
SERIAL_ECHO("echo: Resend request ");
SERIAL_ECHOLN(packet_retries);
SERIAL_ECHOLN("rs"); // transmit resend packet token
SERIAL_ECHO_START();
SERIAL_ECHOLNPAIR("Resend request ", int(packet_retries));
SERIAL_ECHOLNPAIR("rs", packet.header.id); // transmit resend packet token
}
else {
stream_state = StreamState::STREAM_FAILED;
@ -501,27 +496,28 @@ void gcode_line_error(PGM_P const err, const int8_t port) {
packet.timeout = millis() + STREAM_MAX_WAIT;
break;
case StreamState::PACKET_TIMEOUT:
SERIAL_ECHOLN("echo: Datastream timeout");
SERIAL_ECHO_START();
SERIAL_ECHOLNPGM("Datastream timeout");
stream_state = StreamState::PACKET_RESEND;
break;
case StreamState::STREAM_COMPLETE:
stream_state = StreamState::STREAM_RESET;
card.flag.binary_mode = false;
card.closefile();
SERIAL_ECHO("echo: ");
SERIAL_ECHO_START();
SERIAL_ECHO(card.filename);
SERIAL_ECHO(" transfer completed @ ");
SERIAL_ECHO(((bytes_received / (millis() - time_stream_start) * 1000) / 1024 ));
SERIAL_ECHOLN("KiB/s");
SERIAL_ECHOLN("sc"); // transmit stream complete token
SERIAL_ECHOPAIR(" transfer completed @ ", ((bytes_received / (millis() - time_stream_start) * 1000) / 1024));
SERIAL_ECHOLNPGM("KiB/s");
SERIAL_ECHOLNPGM("sc"); // transmit stream complete token
card.closefile();
return;
case StreamState::STREAM_FAILED:
stream_state = StreamState::STREAM_RESET;
card.flag.binary_mode = false;
card.closefile();
card.removeFile(card.filename);
SERIAL_ECHOLN("echo: File transfer failed");
SERIAL_ECHOLN("sf"); // transmit stream failed token
SERIAL_ECHO_START();
SERIAL_ECHOLNPGM("File transfer failed");
SERIAL_ECHOLNPGM("sf"); // transmit stream failed token
return;
}
}
@ -536,7 +532,7 @@ void gcode_line_error(PGM_P const err, const int8_t port) {
} binaryStream{};
#endif // FAST_FILE_TRANSFER
#endif // BINARY_FILE_TRANSFER
FORCE_INLINE bool is_M29(const char * const cmd) {
return cmd[0] == 'M' && cmd[1] == '2' && cmd[2] == '9' && !WITHIN(cmd[3], '0', '9');
@ -555,7 +551,7 @@ inline void get_serial_commands() {
#endif
;
#if ENABLED(FAST_FILE_TRANSFER)
#if ENABLED(BINARY_FILE_TRANSFER)
if (card.flag.saving && card.flag.binary_mode) {
/**
* For binary stream file transfer, use serial_line_buffer as the working

2
Marlin/src/gcode/sdcard/M20-M30_M32-M34_M524_M928.cpp

@ -175,7 +175,7 @@ void GcodeSuite::M27() {
*/
void GcodeSuite::M28() {
#if ENABLED(FAST_FILE_TRANSFER)
#if ENABLED(BINARY_FILE_TRANSFER)
bool binary_mode = false;
char *p = parser.string_arg;

2
Marlin/src/sd/cardreader.cpp

@ -51,7 +51,7 @@ card_flags_t CardReader::flag;
char CardReader::filename[FILENAME_LENGTH], CardReader::longFilename[LONG_FILENAME_LENGTH];
int8_t CardReader::autostart_index;
#if ENABLED(FAST_FILE_TRANSFER) && NUM_SERIAL > 1
#if ENABLED(BINARY_FILE_TRANSFER) && NUM_SERIAL > 1
int8_t CardReader::transfer_port;
#endif

6
Marlin/src/sd/cardreader.h

@ -42,7 +42,7 @@ typedef struct {
detected:1,
filenameIsDir:1,
abort_sd_printing:1
#if ENABLED(FAST_FILE_TRANSFER)
#if ENABLED(BINARY_FILE_TRANSFER)
, binary_mode:1
#endif
;
@ -145,11 +145,11 @@ public:
static char filename[FILENAME_LENGTH], longFilename[LONG_FILENAME_LENGTH];
static int8_t autostart_index;
#if ENABLED(FAST_FILE_TRANSFER)
#if ENABLED(BINARY_FILE_TRANSFER)
#if NUM_SERIAL > 1
static int8_t transfer_port;
#else
static constexpr int8_t transfer_port = SERIAL_PORT;
static constexpr int8_t transfer_port = 0;
#endif
#endif

2
buildroot/share/tests/megaatmega2560-tests

@ -36,7 +36,7 @@ opt_enable PIDTEMPBED FIX_MOUNTED_PROBE Z_SAFE_HOMING \
AUTO_BED_LEVELING_LINEAR Z_MIN_PROBE_REPEATABILITY_TEST DEBUG_LEVELING_FEATURE \
SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE \
FWRETRACT ARC_P_CIRCLES ADVANCED_PAUSE_FEATURE CNC_WORKSPACE_PLANES CNC_COORDINATE_SYSTEMS \
POWER_LOSS_RECOVERY POWER_LOSS_PIN POWER_LOSS_STATE FAST_FILE_TRANSFER \
POWER_LOSS_RECOVERY POWER_LOSS_PIN POWER_LOSS_STATE BINARY_FILE_TRANSFER \
LCD_PROGRESS_BAR LCD_PROGRESS_BAR_TEST PINS_DEBUGGING \
MAX7219_DEBUG LED_CONTROL_MENU CASE_LIGHT_ENABLE CASE_LIGHT_USE_NEOPIXEL CODEPENDENT_XY_HOMING BACKLASH_COMPENSATION BACKLASH_GCODE
opt_set FANMUX0_PIN 53

Loading…
Cancel
Save