Browse Source

Merge pull request #10910 from thinkyhead/bf2_fix_junction_deviation

[2.0.x] Fix / improve junction deviation
pull/1/head
Scott Lahteine 6 years ago
committed by GitHub
parent
commit
ae1be0fa53
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      Marlin/Configuration_adv.h
  2. 1
      Marlin/src/config/default/Configuration_adv.h
  3. 1
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  4. 1
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  5. 1
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  6. 1
      Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h
  7. 1
      Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
  8. 1
      Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h
  9. 1
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  10. 1
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  11. 1
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  12. 1
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  13. 1
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  14. 1
      Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
  15. 1
      Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h
  16. 1
      Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h
  17. 1
      Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h
  18. 1
      Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h
  19. 1
      Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h
  20. 1
      Marlin/src/config/examples/Felix/Configuration_adv.h
  21. 1
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
  22. 1
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h
  23. 1
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h
  24. 1
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  25. 1
      Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h
  26. 1
      Marlin/src/config/examples/MakerParts/Configuration_adv.h
  27. 1
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  28. 1
      Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
  29. 1
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
  30. 1
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  31. 1
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  32. 1
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  33. 1
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  34. 1
      Marlin/src/config/examples/TheBorg/Configuration_adv.h
  35. 1
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  36. 1
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
  37. 1
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  38. 1
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  39. 1
      Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  40. 1
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  41. 1
      Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h
  42. 1
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  43. 1
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  44. 1
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  45. 1
      Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h
  46. 1
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  47. 1
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  48. 1
      Marlin/src/config/examples/makibox/Configuration_adv.h
  49. 1
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  50. 1
      Marlin/src/config/examples/wt150/Configuration_adv.h
  51. 4
      Marlin/src/inc/SanityCheck.h
  52. 21
      Marlin/src/module/planner.cpp
  53. 23
      Marlin/src/module/planner.h

1
Marlin/Configuration_adv.h

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

1
Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -450,7 +450,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -449,7 +449,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -449,7 +449,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -449,7 +449,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -449,7 +449,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -449,7 +449,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

1
Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h

@ -454,7 +454,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -449,7 +449,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

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

@ -447,7 +447,6 @@
//#define JUNCTION_DEVIATION
#if ENABLED(JUNCTION_DEVIATION)
#define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JUNCTION_ACCELERATION 1000 // (mm/s²) Maximum centripetal acceleration
//#define JUNCTION_DEVIATION_INCLUDE_E
#endif

4
Marlin/src/inc/SanityCheck.h

@ -278,7 +278,9 @@
#elif defined(JUNCTION_DEVIATION_FACTOR)
#error "JUNCTION_DEVIATION_FACTOR is now JUNCTION_DEVIATION_MM. Please update your configuration."
#elif defined(JUNCTION_ACCELERATION_FACTOR)
#error "JUNCTION_ACCELERATION_FACTOR is now JUNCTION_ACCELERATION. Please update your configuration."
#error "JUNCTION_ACCELERATION_FACTOR is obsolete. Delete it from Configuration_adv.h."
#elif defined(JUNCTION_ACCELERATION)
#error "JUNCTION_ACCELERATION is obsolete. Delete it from Configuration_adv.h."
#endif
#define BOARD_MKS_13 -47

21
Marlin/src/module/planner.cpp

@ -2166,11 +2166,22 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
}
else {
NOLESS(junction_cos_theta, -0.999999); // Check for numerical round-off to avoid divide by zero.
const float sin_theta_d2 = SQRT(0.5 * (1.0 - junction_cos_theta)); // Trig half angle identity. Always positive.
// TODO: Technically, the acceleration used in calculation needs to be limited by the minimum of the
// two junctions. However, this shouldn't be a significant problem except in extreme circumstances.
vmax_junction_sqr = (JUNCTION_ACCELERATION * JUNCTION_DEVIATION_MM * sin_theta_d2) / (1.0 - sin_theta_d2);
float junction_unit_vec[JD_AXES] = {
unit_vec[X_AXIS] - previous_unit_vec[X_AXIS],
unit_vec[Y_AXIS] - previous_unit_vec[Y_AXIS],
unit_vec[Z_AXIS] - previous_unit_vec[Z_AXIS]
#if ENABLED(JUNCTION_DEVIATION_INCLUDE_E)
, unit_vec[E_AXIS] - previous_unit_vec[E_AXIS]
#endif
};
// Convert delta vector to unit vector
normalize_junction_vector(junction_unit_vec);
const float junction_acceleration = limit_value_by_axis_maximum(block->acceleration, junction_unit_vec),
sin_theta_d2 = SQRT(0.5 * (1.0 - junction_cos_theta)); // Trig half angle identity. Always positive.
vmax_junction_sqr = (junction_acceleration * JUNCTION_DEVIATION_MM * sin_theta_d2) / (1.0 - sin_theta_d2);
if (block->millimeters < 1.0) {
// Fast acos approximation, minus the error bar to be safe
@ -2178,7 +2189,7 @@ bool Planner::_populate_block(block_t * const block, bool split_move,
// If angle is greater than 135 degrees (octagon), find speed for approximate arc
if (junction_theta > RADIANS(135)) {
const float limit_sqr = block->millimeters / (RADIANS(180) - junction_theta) * JUNCTION_ACCELERATION;
const float limit_sqr = block->millimeters / (RADIANS(180) - junction_theta) * junction_acceleration;
NOMORE(vmax_junction_sqr, limit_sqr);
}
}

23
Marlin/src/module/planner.h

@ -802,6 +802,29 @@ class Planner {
static void recalculate();
#if ENABLED(JUNCTION_DEVIATION)
#if ENABLED(JUNCTION_DEVIATION_INCLUDE_E)
#define JD_AXES XYZE
#else
#define JD_AXES XYZ
#endif
FORCE_INLINE static void normalize_junction_vector(float (&vector)[JD_AXES]) {
float magnitude_sq = 0.0;
for (uint8_t idx = 0; idx < JD_AXES; idx++) if (vector[idx]) magnitude_sq += sq(vector[idx]);
const float inv_magnitude = 1.0 / SQRT(magnitude_sq);
for (uint8_t idx = 0; idx < JD_AXES; idx++) vector[idx] *= inv_magnitude;
}
FORCE_INLINE static float limit_value_by_axis_maximum(const float &max_value, float (&unit_vec)[JD_AXES]) {
float limit_value = max_value;
for (uint8_t idx = 0; idx < JD_AXES; idx++) if (unit_vec[idx]) // Avoid divide by zero
NOMORE(limit_value, ABS(max_acceleration_mm_per_s2[idx] / unit_vec[idx]));
return limit_value;
}
#endif // JUNCTION_DEVIATION
};
#define PLANNER_XY_FEEDRATE() (MIN(planner.max_feedrate_mm_s[X_AXIS], planner.max_feedrate_mm_s[Y_AXIS]))

Loading…
Cancel
Save