Guest User

Untitled

a guest
Apr 19th, 2023
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.09 KB | None | 0 0
  1. [include mainsail.cfg]
  2.  
  3.  
  4. [stepper_x]
  5. step_pin: PC2
  6. dir_pin: PB9
  7. enable_pin: !PC3
  8. microsteps: 16
  9. rotation_distance: 40
  10. endstop_pin: !PA5
  11. position_endstop: -5
  12. position_min: -5
  13. position_max: 252
  14. homing_speed: 50
  15.  
  16. [stepper_y]
  17. step_pin: PB8
  18. dir_pin: PB7
  19. enable_pin: !PC3
  20. microsteps: 16
  21. rotation_distance: 40
  22. endstop_pin: !PA6
  23. position_endstop: -5
  24. position_min: -5
  25. position_max: 232
  26. homing_speed: 50
  27.  
  28. [stepper_z]
  29. step_pin: PB6
  30. dir_pin: !PB5
  31. enable_pin: !PC3
  32. microsteps: 16
  33. rotation_distance: 8
  34. endstop_pin: probe:z_virtual_endstop
  35. position_max: 270
  36. position_min: -5
  37.  
  38. [extruder]
  39. max_extrude_only_distance: 100.0
  40. step_pin: PB4
  41. dir_pin: PB3
  42. enable_pin: !PC3
  43. microsteps: 16
  44. rotation_distance: 7.6190
  45. nozzle_diameter: 0.400
  46. filament_diameter: 1.750
  47. heater_pin: PA1
  48. sensor_type: EPCOS 100K B57560G104F
  49. sensor_pin: PC5
  50. control: pid
  51. pid_Kp: 21.761
  52. pid_Ki: 1.261
  53. pid_Kd: 93.844
  54. min_temp: 0
  55. max_temp: 300
  56. pressure_advance = 0.07
  57.  
  58. [filament_switch_sensor RunoutSensor]
  59. pause_on_runout: False
  60. runout_gcode: PAUSE
  61. insert_gcode: RESUME
  62. switch_pin: !PC15
  63.  
  64. [heater_bed]
  65. heater_pin: PA7
  66. sensor_type: EPCOS 100K B57560G104F
  67. sensor_pin: PC4
  68. control: pid
  69. pid_Kp: 68.385
  70. pid_Ki: 1.093
  71. pid_Kd: 1069.370
  72. min_temp: 0
  73. max_temp: 130
  74.  
  75.  
  76. [heater_fan hotend_fan]
  77. pin: PC0
  78. heater: extruder
  79. heater_temp: 50.0
  80.  
  81. [fan]
  82. pin: PA0
  83.  
  84. [mcu]
  85. serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
  86. restart_method: command
  87.  
  88. [printer]
  89. kinematics: cartesian
  90. max_velocity: 500
  91. max_accel: 3000
  92. max_accel_to_decel: 3000
  93. max_z_velocity: 5
  94. square_corner_velocity: 5.0
  95. max_z_accel: 100
  96.  
  97. [bltouch]
  98. sensor_pin: ^PC14
  99. control_pin: PC13
  100. x_offset: -32
  101. y_offset: -41
  102. #z_offset: 0
  103. speed:10
  104. samples:1
  105. samples_result:average
  106. probe_with_touch_mode: true
  107. stow_on_each_sample: false
  108.  
  109. [safe_z_home]
  110. home_xy_position: 147,154
  111. speed: 100
  112. z_hop: 10
  113. z_hop_speed: 5
  114.  
  115. [bed_mesh]
  116. speed: 100
  117. mesh_min: 7, 7
  118. mesh_max: 220, 185
  119. algorithm: bicubic
  120. probe_count: 5,4
  121. fade_start: 1
  122. fade_end: 3
  123. fade_target: 0
  124. mesh_pps: 2,2
  125. algorithm: bicubic
  126. bicubic_tension: 0.2
  127.  
  128. [temperature_sensor Raspberry_Pi]
  129. sensor_type: temperature_host
  130. min_temp: 0
  131. max_temp: 100
  132.  
  133. [virtual_sdcard]
  134. path: ~/printer_data/gcodes
  135.  
  136. [display_status]
  137.  
  138. [pause_resume]
  139.  
  140. [gcode_macro PAUSE]
  141. description: Pause the actual running print
  142. rename_existing: PAUSE_BASE
  143. # change this if you need more or less extrusion
  144. variable_extrude: 1.0
  145. gcode:
  146. ##### read E from pause macro #####
  147. {% set E = printer["gcode_macro PAUSE"].extrude|float %}
  148. ##### set park positon for x and y #####
  149. # default is your max posion from your printer.cfg
  150. {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
  151. {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
  152. ##### calculate save lift position #####
  153. {% set max_z = printer.toolhead.axis_maximum.z|float %}
  154. {% set act_z = printer.toolhead.position.z|float %}
  155. {% if act_z < (max_z - 2.0) %}
  156. {% set z_safe = 2.0 %}
  157. {% else %}
  158. {% set z_safe = max_z - act_z %}
  159. {% endif %}
  160. ##### end of definitions #####
  161. PAUSE_BASE
  162. G91
  163. {% if printer.extruder.can_extrude|lower == 'true' %}
  164. G1 E-{E} F2100
  165. {% else %}
  166. {action_respond_info("Extruder not hot enough")}
  167. {% endif %}
  168. {% if "xyz" in printer.toolhead.homed_axes %}
  169. G1 Z{z_safe} F900
  170. G90
  171. G1 X{x_park} Y{y_park} F6000
  172. {% else %}
  173. {action_respond_info("Printer not homed")}
  174. {% endif %}
  175.  
  176. [gcode_macro RESUME]
  177. description: Resume the actual running print
  178. rename_existing: RESUME_BASE
  179. gcode:
  180. ##### read E from pause macro #####
  181. {% set E = printer["gcode_macro PAUSE"].extrude|float %}
  182. #### get VELOCITY parameter if specified ####
  183. {% if 'VELOCITY' in params|upper %}
  184. {% set get_params = ('VELOCITY=' + params.VELOCITY) %}
  185. {%else %}
  186. {% set get_params = "" %}
  187. {% endif %}
  188. ##### end of definitions #####
  189. {% if printer.extruder.can_extrude|lower == 'true' %}
  190. G91
  191. G1 E{E} F2100
  192. {% else %}
  193. {action_respond_info("Extruder not hot enough")}
  194. {% endif %}
  195. RESUME_BASE {get_params}
  196.  
  197. [gcode_macro CANCEL_PRINT]
  198. description: Cancel the actual running print
  199. rename_existing: CANCEL_PRINT_BASE
  200. gcode:
  201. TURN_OFF_HEATERS
  202. CANCEL_PRINT_BASE
  203.  
  204. [pause_resume]
  205.  
  206. [gcode_macro M600]
  207. gcode:
  208. {% set X = params.X|default(50)|float %}
  209. {% set Y = params.Y|default(0)|float %}
  210. {% set Z = params.Z|default(10)|float %}
  211. SAVE_GCODE_STATE NAME=M600_state
  212. PAUSE
  213. G91
  214. G1 E-.8 F2700
  215. G1 Z{Z}
  216. G90
  217. G1 X{X} Y{Y} F3000
  218. G91
  219. G1 E-50 F1000
  220. RESTORE_GCODE_STATE NAME=M600_state
  221.  
  222.  
  223. [gcode_macro PAUSE_PARK]
  224. gcode:
  225. {% set default_x = printer.toolhead.axis_minimum.x + 20 %}
  226. {% set default_y = printer.toolhead.axis_minimum.y + 20 %}
  227.  
  228. {% if 'save_variables' in printer %}
  229. {% set svv = printer.save_variables.variables %}
  230. {% if 'park_x' in svv %}
  231. {% set default_x = svv.park_x %}
  232. {% endif %}
  233. {% if 'park_y' in svv %}
  234. {% set default_y = svv.park_y %}
  235. {% endif %}
  236. {% endif %}
  237.  
  238. {% set x = params.X|default(default_x)|float %}
  239. {% set y = params.Y|default(default_y)|float %}
  240. {% set z = params.Z|default(20)|float %}
  241. {% set r = params.R|default(3)|float %}
  242.  
  243. {% if printer.pause_resume.is_paused %}
  244. {action_respond_info("Already paused")}
  245. {% elif printer.toolhead.homed_axes != "xyz" %}
  246. {action_respond_info("Please home XYZ first")}
  247. {% else %}
  248. PAUSE
  249. {% if r > 0.0 %}
  250. RETRACT D={r}
  251. {% endif %}
  252. G27 X{x} Y{y} Z{z}
  253. {% endif %}
  254.  
  255. [gcode_macro M702]
  256. gcode:
  257. {% set default_u = 100 %}
  258.  
  259. {% if 'save_variables' in printer %}
  260. {% set svv = printer.save_variables.variables %}
  261. {% if 'bowden_len' in svv %}
  262. {% set default_u = svv.bowden_len %}
  263. {% endif %}
  264. {% endif %}
  265.  
  266. {% set p = params.P|default(8)|float %}
  267. {% set p_f = params.PF|default(180)|float %}
  268. {% set i = params.I|default(30)|float %}
  269. {% set i_f = params.IF|default(180)|float %}
  270. {% set u = params.U|default(default_u)|float %}
  271. {% set u_f = params.UF|default(360)|float %}
  272.  
  273. {% if printer.idle_timeout.state == "Printing" and not printer.pause_resume.is_paused %}
  274. {action_respond_info("This command cannot be used while printing")}
  275. {% elif printer.extruder.temperature < 170 %}
  276. {action_respond_info("Extruder temperature too low")}
  277. {% else %}
  278. SAVE_GCODE_STATE NAME=M702_state
  279. M83
  280. {% if p > 0.0 %}
  281. G1 E{p} F{p_f}
  282. {% endif %}
  283. {% if i > 0.0 %}
  284. G1 E-{i} F{i_f}
  285. {% endif %}
  286. {% if u > 0.0 %}
  287. G1 E-{u} F{u_f}
  288. {% endif %}
  289. RESTORE_GCODE_STATE NAME=M702_state MOVE=0
  290. {% endif %}
  291.  
  292. [gcode_macro RETRACT]
  293. gcode:
  294. {% set f = params.F|default(600)|float %}
  295.  
  296. {% if 'D' in params %}
  297. {% if printer.idle_timeout.state == "Printing" and not printer.pause_resume.is_paused %}
  298. {action_respond_info("This command cannot be used while printing")}
  299. {% elif printer.extruder.temperature < 170 %}
  300. {action_respond_info("Extruder temperature too low")}
  301. {% else %}
  302. SAVE_GCODE_STATE NAME=RETRACT_state
  303. M83
  304. G1 E-{params.D} F{f}
  305. RESTORE_GCODE_STATE NAME=RETRACT_state MOVE=0
  306. {% endif %}
  307. {% endif %}
  308.  
  309. [gcode_macro G27]
  310. gcode:
  311. {% set default_x = printer.toolhead.axis_minimum.x + 20 %}
  312. {% set default_y = printer.toolhead.axis_minimum.y + 20 %}
  313.  
  314. {% if 'save_variables' in printer %}
  315. {% set svv = printer.save_variables.variables %}
  316. {% if 'park_x' in svv %}
  317. {% set default_x = svv.park_x %}
  318. {% endif %}
  319. {% if 'park_y' in svv %}
  320. {% set default_y = svv.park_y %}
  321. {% endif %}
  322. {% endif %}
  323.  
  324. {% set x = params.X|default(default_x)|float %}
  325. {% set y = params.Y|default(default_y)|float %}
  326. {% set z = params.Z|default(20)|float %}
  327.  
  328. {% if printer.toolhead.homed_axes != "xyz" %}
  329. {action_respond_info("Please home XYZ first")}
  330. {% else %}
  331. SAVE_GCODE_STATE NAME=G27_state
  332. G91
  333. G1 Z{z}
  334. G90
  335. G1 X{x} Y{y} F3000
  336. RESTORE_GCODE_STATE NAME=G27_state MOVE=0
  337. {% endif %}
  338.  
  339. [gcode_macro START_PRINT]
  340. gcode:
  341. {% set BED_TEMP = params.BED_TEMP|default(60)|float %}
  342. {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(210)|float %}
  343. # Start bed heating
  344. M140 S{BED_TEMP}
  345. # Use absolute coordinates
  346. G90
  347. # Set GCODE offset
  348. SET_GCODE_OFFSET Z=0
  349. # Home the printer
  350. G28
  351. #load default bed mesh
  352. BED_MESH_PROFILE LOAD="default"
  353. # Move Z up
  354. G1 Z10.0 F3000
  355. # Reset extruder
  356. G92 E0
  357. # Set extruder temperature
  358. M104 S{EXTRUDER_TEMP}
  359. # Move Z axis up a little to prevent scratching heat bed
  360. G1 Z2.0 F3000
  361. # Move to start position
  362. G1 X0.1 Y20 Z5.0 F5000.0
  363. # Wait for Extruder temperature
  364. M109 S{EXTRUDER_TEMP}
  365. # Move to start for purge line
  366. G1 X0.1 Y20 Z0.3 F5000.0
  367. # Draw 1st line
  368. G1 X0.1 Y150.0 Z0.3 F1500.0 E15
  369. # Move to side a little
  370. G1 X0.4 Y150.0 Z0.3 F5000.0
  371. # Draw 2nd line
  372. G1 X0.4 Y20 Z0.3 F1500.0 E30
  373. # Reset extruder
  374. G92 E0
  375. # Move Z up a little
  376. G1 Z5.0 F3000
  377.  
  378. [gcode_macro END_PRINT]
  379. gcode:
  380. # Turn off bed, extruder, and fan
  381. M140 S0
  382. M104 S0
  383. M106 S0
  384. # Move nozzle away from print while retracting
  385. G91
  386. G1 X-2 Y-2 E-3 F300
  387. # Raise nozzle by 10mm
  388. G1 Z10 F3000
  389. G90
  390. # Disable steppers
  391. M84
  392.  
  393. [gcode_macro G29]
  394. gcode:
  395. G28
  396. BED_MESH_CALIBRATE
  397. G0 X0 Y0 Z10 F6000
  398. BED_MESH_PROFILE save=default
  399.  
  400. #*# <---------------------- SAVE_CONFIG ---------------------->
  401. #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
  402. #*#
  403. #*# [bltouch]
  404. #*# z_offset = 2.470
  405. #*#
  406. #*# [bed_mesh default]
  407. #*# version = 1
  408. #*# points =
  409. #*# 0.045000, -0.037500, -0.007500, 0.030000, 0.057500
  410. #*# 0.055000, -0.017500, -0.015000, -0.010000, -0.030000
  411. #*# 0.017500, -0.030000, -0.022500, -0.015000, -0.040000
  412. #*# 0.057500, 0.022500, 0.027500, 0.047500, 0.022500
  413. #*# x_count = 5
  414. #*# y_count = 4
  415. #*# mesh_x_pps = 2
  416. #*# mesh_y_pps = 2
  417. #*# algo = bicubic
  418. #*# tension = 0.2
  419. #*# min_x = 7.0
  420. #*# max_x = 220.0
  421. #*# min_y = 7.0
  422. #*# max_y = 184.99
  423.  
Advertisement
Add Comment
Please, Sign In to add comment