commit 3ffda67fd07061eb0d6de07396d8cbeb60cf3d54 Author: Kyle Brown Date: Fri Nov 19 06:06:19 2021 +0000 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1bb3814 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +printer-*.cfg +.theme diff --git a/calibration_macros.cfg b/calibration_macros.cfg new file mode 100644 index 0000000..3ef2f46 --- /dev/null +++ b/calibration_macros.cfg @@ -0,0 +1,85 @@ +[gcode_macro MEASURE_RESONNANCES_X] +gcode: + RESPOND PREFIX= MSG="Homing" + G28 + Dock_probe + RESPOND PREFIX= MSG="Measuring resonnances on X Axis" + SHAPER_CALIBRATE AXIS=X + #Park_toolhead + +[gcode_macro MEASURE_RESONNANCES_Y] +gcode: + RESPOND PREFIX= MSG="Homing" + G28 + Dock_probe + RESPOND PREFIX= MSG="Measuring resonnances on Y Axis" + SHAPER_CALIBRATE AXIS=Y + #Park_toolhead + +[gcode_macro Screws_tilt] +gcode: + {% set travel_speed = printer["gcode_macro GlobalVariables"].travel_speed %} + {% set home_x = printer["gcode_macro GlobalVariables"].home_x %} + {% set probe_x_offset = printer["gcode_macro GlobalVariables"].probe_x_offset %} + {% set BED_TEMP = params.BED_TEMP|default(80)|float %} + + # Start bed heating and wait + RESPOND PREFIX= MSG="Waiting for bed temperature..." + M140 S{BED_TEMP} + {% if printer.toolhead.homed_axes != 'xyz' %} + G28 #Home All Axes + {% endif %} + G4 P15000 + M190 S{BED_TEMP} + Attach_probe + SCREWS_TILT_CALCULATE samples=3 + G1 X{ home_x - probe_x_offset } Y230 Z200 F{ travel_speed } + +[gcode_macro M900] +gcode: + # Parameters + {% set pa = params.K|float %} + + SET_PRESSURE_ADVANCE ADVANCE={pa} + +[gcode_macro FLOW_CALIBRATION] +gcode: + M221 S{params.FLOW} + SET_PRESSURE_ADVANCE ADVANCE={params.PRESSURE_ADVANCE} + +[gcode_macro SEARCH_VARS] +gcode: + {% set search = params.S|lower %} + {% set ns = namespace() %} + {% for item in printer %} + {% if ' ' in item %} + {% set ns.path = ['printer', "['%s']" % (item), ''] %} + {% else %} + {% set ns.path = ['printer.', item, ''] %} + {% endif %} + + {% if search in ns.path|lower %} + { action_respond_info(ns.path|join) } + {% endif %} + + {% if printer[item].items() %} + {% for childkey, child in printer[item].items() recursive %} + {% set ns.path = ns.path[:loop.depth|int + 1] %} + + {% if ' ' in childkey %} + {% set null = ns.path.append("['%s']" % (childkey)) %} + {% else %} + {% set null = ns.path.append(".%s" % (childkey)) %} + {% endif %} + + {% if child is mapping %} + { loop(child.items()) } + {% else %} + {% if search in ns.path|lower %} + { action_respond_info("%s : %s" % (ns.path|join, child)) } + {% endif %} + {% endif %} + + {% endfor %} + {% endif %} + {% endfor %} diff --git a/klipper-mini12864.cfg b/klipper-mini12864.cfg new file mode 100644 index 0000000..e155919 --- /dev/null +++ b/klipper-mini12864.cfg @@ -0,0 +1,46 @@ +[mcu menu] +serial: /dev/serial/by-id/usb-Klipper_stm32f042x6_300021001943534D34383120-if00 +restart_method: command + +[display] +lcd_type: uc1701 +kill_pin: menu:PF0 +spi_bus: spi1 +cs_pin: menu:PA4 +a0_pin: menu:PA2 +rst_pin: menu:PA3 +contrast: 63 +encoder_pins: ^menu:PA0, ^menu:PA1 +click_pin: ^!menu:PB1 + +[output_pin BEEPER_pin] +pin: menu:PF1 +pwm: True +value: 0 +shutdown_value: 0 +cycle_time: 0.001 +scale: 1000 + +[gcode_macro M300] +gcode: SET_PIN PIN=BEEPER_pin VALUE={1000} + G4 P{100} + SET_PIN PIN=BEEPER_pin VALUE=0 + + +[neopixel fysetc_mini12864] +# To control Neopixel RGB in mini12864 display +pin: menu:PA13 +chain_count: 3 +color_order: RGB +initial_RED: 1.0 +initial_GREEN: 0 +initial_BLUE: 0 + +# Set RGB values on boot up for each Neopixel. +# Index 1 = display, Index 2 and 3 = Knob +[delayed_gcode setdisplayneopixel] +initial_duration: 1 +gcode: + SET_LED LED=fysetc_mini12864 RED=.5 GREEN=0 BLUE=0 INDEX=1 TRANSMIT=0 + SET_LED LED=fysetc_mini12864 RED=.05 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 + SET_LED LED=fysetc_mini12864 RED=.05 GREEN=0 BLUE=0 INDEX=3 diff --git a/macros.cfg b/macros.cfg new file mode 100644 index 0000000..cd841eb --- /dev/null +++ b/macros.cfg @@ -0,0 +1,119 @@ +[gcode_macro Show_off] +gcode: + G4 P10000 + LIGHTS_ON + G28 + G4 P2000 + LIGHTS_OFF + +[gcode_macro DISABLE_MOTORS] +gcode: + M18 + +[idle_timeout] +gcode: + TURN_OFF_HEATERS + DISABLE_MOTORS + LIGHTS_OFF + +[gcode_macro change_filament] +gcode: + {% set X = 55 %} + {% set Y = -15 %} + {% set Z = 75 %} + {% set UNLOAD_DIST = -100 %} + {% set LOAD_DIST = 150 %} + {% set extruderTemp = params.EXTRUDER_TEMP|default(230)|float %} + + M104 S{extruderTemp} #set nozzle temperature + + #Home if the toolhead doesn't know its position + {% if printer.toolhead.homed_axes != 'xyz' %} + G28 + {% endif %} + + G0 X{X} Y{Y} Z{Z} #move to area where you can easily load filament + M109 S{extruderTemp} #wait for nozzle temperature + M83 #relative positioning on extruder + G0 E15 F400 #extrude filament to get better blob on end + G0 E{UNLOAD_DIST} F1000 #unload filament + G4 P15000 #wait for filament change 30 seconds + RESPOND PREFIX= MSG="15 seconds left" + G4 P15000 #continue waiting + G92 E0 #reset extruder + M83 #relative positioning on extruder + G0 E{LOAD_DIST} F400 #load filament + G92 E0 #reset extruder + +[gcode_macro clean_nozzle] +gcode: + # settings + {% set nozzle = { + 'X' : 55, # X coordinate + 'Y' : -15, # Y coordinate + 'Z' : 150, # Z coordinate + 'Temp' : params.EXTRUDER_TEMP|default(240)|float, + } %} + + M104 S{nozzle.Temp} #set nozzle temperature + + #Home if the toolhead doesn't know its position + {% if printer.toolhead.homed_axes != 'xyz' %} + G28 + {% endif %} + + G0 X{nozzle.X} Y{nozzle.Y} Z{nozzle.Z} #move to area where you can easily clean the nozzle + M109 S{nozzle.Temp} #wait for nozzle temperature + +[gcode_macro CANCEL_PRINT] +rename_existing: BASE_CANCEL_PRINT +gcode: + M104 S0 + M140 S0 + M106 S0 + G91 E-2 + CLEAR_PAUSE + BASE_CANCEL_PRINT + SDCARD_RESET_FILE + M221 S100 + BED_MESH_CLEAR + OFF_DISPLAY + +[gcode_macro PAUSE] +rename_existing: BASE_PAUSE +gcode: + #Edit this# + {% set X = 230 %} + {% set Y = 230 %} + {% set Z = 10 %} + ########### + SAVE_GCODE_STATE NAME=PAUSE_state + BASE_PAUSE + G91 + G1 E-1.7 F2100 + G1 Z{Z} + G90 + G1 X{X} Y{Y} F6000 + G91 + +[gcode_macro RESUME] +rename_existing: BASE_RESUME +gcode: + G91 + G1 E1.7 F2100 + G91 + RESTORE_GCODE_STATE NAME=PAUSE_state MOVE=1 + BASE_RESUME + +[gcode_macro UNLOAD] +gcode: + G91 + G1 E5.0 F1200 + G1 E3.0 F1600 + G1 E-13.14 F7000 + G1 E-100 F3000 + +[gcode_macro M600] +gcode: + PAUSE + UNLOAD diff --git a/mainsail.cfg b/mainsail.cfg new file mode 100644 index 0000000..38ffd90 --- /dev/null +++ b/mainsail.cfg @@ -0,0 +1,15 @@ +[virtual_sdcard] +path: /home/pi/gcode_files + +[pause_resume] + +[display_status] + +[gcode_macro CANCEL_PRINT] +rename_existing: BASE_CANCEL_PRINT +gcode: + TURN_OFF_HEATERS + CLEAR_PAUSE + SDCARD_RESET_FILE + BASE_CANCEL_PRINT + diff --git a/moonraker.conf b/moonraker.conf new file mode 100644 index 0000000..af64db4 --- /dev/null +++ b/moonraker.conf @@ -0,0 +1,35 @@ +[server] +host: 0.0.0.0 +port: 7125 +enable_debug_logging: False +config_path: ~/klipper_config +log_path: ~/klipper_logs + +[authorization] +cors_domains: + https://my.mainsail.xyz + http://my.mainsail.xyz + http://*.local + http://*.lan +trusted_clients: + 10.0.0.0/8 + 127.0.0.0/8 + 169.254.0.0/16 + 172.16.0.0/12 + 192.168.0.0/16 + FE80::/10 + ::1/128 + +# enables partial support of Octoprint API +[octoprint_compat] + +# enables moonraker to track and store print history. +[history] + +# this enables moonraker's update manager +[update_manager] + +[update_manager mainsail] +type: web +repo: meteyou/mainsail +path: ~/mainsail \ No newline at end of file diff --git a/print_end.cfg b/print_end.cfg new file mode 100644 index 0000000..cfcd5ce --- /dev/null +++ b/print_end.cfg @@ -0,0 +1,26 @@ +[gcode_macro PRINT_END] +gcode: + #Edit this# + {% set X = 230 %} + {% set Y = 230 %} + {% set Z = 10 %} + ########### + SET_VELOCITY_LIMIT ACCEL=7000 ACCEL_TO_DECEL=7000 SQUARE_CORNER_VELOCITY=8 + G91 + G1 E-2 + G90 + TURN_OFF_HEATERS + #Park_toolhead + G91 + G1 Z{Z} + G90 + G1 X{X} Y{Y} F6000 + G91 + BED_MESH_CLEAR + OFF_DISPLAY + +[gcode_macro OFF_DISPLAY] +gcode: + SET_LED LED=fysetc_mini12864 RED=0 GREEN=0 BLUE=0 INDEX=1 TRANSMIT=0 + SET_LED LED=fysetc_mini12864 RED=0 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 + SET_LED LED=fysetc_mini12864 RED=0 GREEN=0 BLUE=0 INDEX=3 diff --git a/print_start.cfg b/print_start.cfg new file mode 100644 index 0000000..8bf0b8d --- /dev/null +++ b/print_start.cfg @@ -0,0 +1,106 @@ +[gcode_macro PRINT_START] +gcode: + + {% set extruderTemp = params.EXTRUDER_TEMP|default(205)|int %} + {% set bedTemp = params.BED_TEMP|default(55)|int %} + {% set DWELL = params.DWELL|default(300000)|int %} + #SET_GCODE_OFFSET Z=0 + LIGHT_DISPLAY + + # Loading extruder and bed temperature + M104 S{extruderTemp|float*0.75} + M140 S{bedTemp} + RESPOND PREFIX= MSG="Waiting for temperatures..." + M117 Waiting for temperatures... + LIGHTS_ON + M190 S{bedTemp} # Wait for bed to come to temperature + RESPOND PREFIX= MSG="Waiting for thermal expansion..." + M117 Waiting for thermal expansion... + #HEATSOAK DWELL={DWELL} # Dwelling + + # Homing and creating a mesh + RESPOND PREFIX= MSG="Creating a mesh..." + M117 Creating a mesh... + G28 + BED_MESH_CALIBRATE + M104 S{extruderTemp} # Set extruder to printing temperature + G90 + M83 + Dock_probe + + # Move to prime position + RESPOND PREFIX= MSG="Moving to prime position" + M117 Moving to prime position + + PRIME_LINE EXTRUDER_TEMP={extruderTemp} XPAD=0 YPAD=0 LENGTH=50 PRINT_SPEED=30 TRAVEL_SPEED=200 PURGE=8 RETRACT=0.5 EXTRUSION_MULTIPLIER=1.25 PRINT_HANDLE=1 HANDLE_FAN=35 + +[gcode_macro HEATSOAK] +gcode: + G4 P{params.DWELL} + +[gcode_macro LIGHT_DISPLAY] +gcode: + SET_LED LED=fysetc_mini12864 RED=.5 GREEN=0 BLUE=0 INDEX=1 TRANSMIT=0 + SET_LED LED=fysetc_mini12864 RED=.05 GREEN=0 BLUE=0 INDEX=2 TRANSMIT=0 + SET_LED LED=fysetc_mini12864 RED=.05 GREEN=0 BLUE=0 INDEX=3 + +[gcode_macro PRIME_LINE] +description: Print an easy to remove parametric extruder priming line with a built-in handle. +gcode: + # settings + {% set line = { + 'x_padding' : params.XPAD|default(0)|float, # left/right padding around the bed the line can't print into + 'y_padding' : params.YPAD|default(0)|float, # top/bottom padding around the bed the line can't print into + 'initial_purge' : params.PURGE|default(8)|int, # mm of filament to purge before printing. set to 0 to disable + 'retract_after' : params.RETRACT|default(1)|int, # mm of filament to recract after printing. set to 0 to disable + 'length' : params.LENGTH|default(150)|int, + 'print_speed' : params.PRINT_SPEED|default(30)|int, + 'travel_speed' : params.TRAVEL_SPEED|default(200)|int, + 'extr_multi' : params.EXTRUSION_MULTIPLIER|default(1.25)|float, # apply to prime lines + 'overlap_percent': 80, # how much prime lines overlap each other + } %} + {% set handle = { + 'do_print' : params.PRINT_HANDLE|default(1)|int, # set to 0 to disable printing the handle + 'fan_percent' : params.HANDLE_FAN|default(40)|int, # without fan the handle is too small and melty to print upright + 'width' : 5.0, + 'height' : 5.0, + 'move_away' : 60 # how much to move the toolhead away from the printed handle once done. set 0 to disable + } %} + + # sanity check and computed variables + {% set max_x, max_y, nozzle_diameter = printer.toolhead.axis_maximum.x|float, printer.toolhead.axis_maximum.y|float, printer.configfile.config['extruder'].nozzle_diameter|float %} + {% set _ = line.update({'width': nozzle_diameter * 1.25, 'height': nozzle_diameter / 2, 'length': [line.length, max_x - 2 * line.x_padding - 2]|min}) %} + {% set _ = line.update({'e_per_mm': line.extr_multi * (line.width * line.height) / (3.1415 * (1.75/2)**2), 'x_start': max_x / 2 - line.length / 2, 'y_start': line.y_padding + range(0,5)|random}) %} + + SAVE_GCODE_STATE NAME=STATE_PRIME_LINE + + M117 Prime Line + G90 # absolute positioning + G0 X55 Y-3 Z{line.height} F{line.travel_speed * 60} # move to starting position + M109 S{params.EXTRUDER_TEMP|float*0.98} # Wait until 98% of extruder temp is reached, then continue + M104 S{params.EXTRUDER_TEMP} # Set printing extruder temp + G91 # relative positioning + G1 E{line.initial_purge} F{5 * 60} # extrude at ~12mm3/sec + G0 F{line.print_speed * 60} # set print speed + G1 X{line.length} E{line.length * line.e_per_mm} # print forward line + G0 Y{line.width * line.overlap_percent / 100} # overlap forward line + G1 X-{line.length / 2} E{(line.length / 2) * line.e_per_mm} # print backward line for half the length + + # print a handle for easy removal + {% if handle.do_print != 0 and handle.width != 0 and handle.height != 0 %} + G0 X{line.length / 2 - handle.width} Y{handle.width / 2} F{line.travel_speed * 60} # move into position for printing handle + G0 F{line.print_speed * 60} # set print speed + {% set saved_fan_speed = (printer['fan'].speed * 256)|int %} + M106 S{((handle.fan_percent / 100) * 256)|int} # set part fan to desired speed + {% for _ in range((line.height * 1000)|int, (handle.height * 1000)|int, (line.height * 1000)|int) %} # loop however many cycles it takes to print required handle height + G1 Y{loop.cycle(-1.0, 1.0) * handle.width} E{handle.width * line.e_per_mm} # handle layer + G0 X-{line.width * 0.2} Z{line.height} # move up and shift the layer to make the handle sloping + {% endfor %} + M106 S{saved_fan_speed} # restore previous part fan speed + {% endif %} + + G1 E-{line.retract_after} F{50 * 60} # retract ar 50mm/sec after printing + G0 Y{handle.move_away} F{line.travel_speed * 60} + M117 + + RESTORE_GCODE_STATE NAME=STATE_PRIME_LINE diff --git a/printer.cfg b/printer.cfg new file mode 100644 index 0000000..bad65da --- /dev/null +++ b/printer.cfg @@ -0,0 +1,282 @@ +[include mainsail.cfg] +[include macros.cfg] +[include print_start.cfg] +[include print_end.cfg] +[include calibration_macros.cfg] +[include klipper-mini12864.cfg] + +[force_move] +enable_force_move: true +# Set to true to enable FORCE_MOVE and SET_KINEMATIC_POSITION +# extended G-Code commands. The default is false. + + +[stepper_x] +step_pin: PB13 +dir_pin: PB12 +enable_pin: !PB14 +endstop_pin: ^PC0 +rotation_distance: 40 +microsteps: 32 +position_endstop: 250 +position_min: 0 +position_max: 250 +homing_speed: 70 +homing_positive_dir: true +homing_retract_dist: 0 + +[tmc2209 stepper_x] +uart_pin: PC11 +tx_pin: PC10 +uart_address: 0 +run_current: .9 +hold_current: 0.5 +interpolate: True +stealthchop_threshold: 0 + +[stepper_y] +step_pin: PB10 +dir_pin: PB2 +enable_pin: !PB11 +rotation_distance: 40 +full_steps_per_rotation: 200 +microsteps: 32 +endstop_pin: ^PC1 +position_endstop: 230 +position_min: -21 +position_max: 235 +homing_speed: 70 +homing_positive_dir: true + +[tmc2209 stepper_y] +uart_pin: PC11 +tx_pin: PC10 +uart_address: 2 +run_current: .9 +hold_current: 0.5 +interpolate: True +stealthchop_threshold: 0 + +[stepper_z] +step_pin: PB0 +dir_pin: PC5 +enable_pin: !PB1 +rotation_distance: 40 +full_steps_per_rotation: 200 +microsteps: 32 +endstop_pin: probe:z_virtual_endstop +position_max: 250 +homing_speed: 25 +position_min: -6.0 + +[tmc2209 stepper_z] +uart_pin: PC11 +tx_pin: PC10 +uart_address: 1 +run_current: .9 +hold_current: 0.5 +interpolate: True +stealthchop_threshold: 0 + +[homing_override] +axes: z +set_position_z: 0 +gcode: + G90 + G0 Z5 F500 + G28 X0 Y0 + G0 X125 Y100 F9000 + G28 Z0 + G0 Z5 F500 + +[bed_mesh] +speed: 150 +horizontal_move_z: 5 +mesh_min: 25,35.0 +mesh_max: 225.0,220 +probe_count: 6,6 +algorithm: bicubic +fade_start: 1 +fade_end: 10 +fade_target: 0 + +[probe] +pin: ^PC2 +x_offset: 0.0 +y_offset: 25.0 +#z_offset = 3.762 +speed: 40 + +[extruder] +max_extrude_only_distance: 100.0 +step_pin: PB3 +dir_pin: PB4 +enable_pin: !PD2 +rotation_distance: 21.497 +# Tune for extruder +gear_ratio: 50:17 +microsteps: 32 +full_steps_per_rotation: 200 +nozzle_diameter: 0.400 +filament_diameter: 1.750 +heater_pin: PC8 +pressure_advance: 0.05 +pressure_advance_smooth_time: 0.040 +sensor_type: ATC Semitec 104GT-2 +#sensor_type: EPCOS 100K B57560G104F +#sensor_type: NTC 100K beta 3950 +sensor_pin: PA0 +#control = pid +#pid_kp = 18.973 +#pid_ki = 0.771 +#pid_kd = 116.683 +min_temp: 0 +max_temp: 270 + +[tmc2209 extruder] +uart_pin: PC11 +tx_pin: PC10 +uart_address: 3 +run_current: 0.6 +hold_current: 0.45 +interpolate: True + +[heater_fan basement_fan] +pin: PC14 +max_power: 1 +kick_start_time: 0.200 +shutdown_speed: 0 +heater: heater_bed +heater_temp: 50.0 +fan_speed: 0.4 + +[heater_bed] +heater_pin: PC9 +sensor_type: ATC Semitec 104GT-2 +sensor_pin: PC3 +pwm_cycle_time: 0.0166 +#control = pid +#pid_kp = 60.695 +#pid_ki = 1.073 +#pid_kd = 858.069 +min_temp: 0 +max_temp: 110 + +[fan] +pin: PC6 + +# thermally controlled hotend fan +[heater_fan hotend_fan] +pin: PC7 +max_power: 1.0 +kick_start_time: 0.100 +heater: extruder +heater_temp: 50.0 +fan_speed: 1.0 + +#[temperature_sensor chamber] +#sensor_type: ATC Semitec 104GT-2 +#sensor_pin: PA1 + +[mcu] +serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_33FFD8055646303527842243-if00 + +[mcu rpi] +serial: /tmp/klipper_host_mcu + +[adxl345] +cs_pin: rpi:None + +[printer] +kinematics: corexz +max_velocity: 500 +max_accel: 10000 +max_accel_to_decel: 10000 +max_z_velocity: 50 +max_z_accel: 7000 +square_corner_velocity: 8.0 + +[static_digital_output usb_pullup_enable] +pins: !PA14 + +[output_pin LIGHTS] +pin: PC12 +value: 0 +shutdown_value: 0 + +[screws_tilt_adjust] +screw1: 125,84.5 +screw1_name: center screw +screw2: 20,-21 +screw2_name: front left screw +screw3: 125,-21 +screw3_name: front center screw +screw4: 230,-21 +screw4_name: front right screw +screw5: 230,84.5 +screw5_name: center right screw +screw6: 230,190 +screw6_name: rear right screw +screw7: 125,190 +screw7_name: rear center screw +screw8: 20,190 +screw8_name: rear left screw +screw9: 20,84.5 +screw9_name: center left screw +horizontal_move_z: 7.5 +speed: 200 +screw_thread: CCW-M3 + +[virtual_sdcard] +path: /home/pi/sdcard + +[pause_resume] +[respond] + +[resonance_tester] +accel_chip: adxl345 +probe_points: + 125,119,20 +[input_shaper] +shaper_type_x: zv +shaper_freq_x: 49.6 +shaper_type_y: zv +shaper_freq_y: 42.0 + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [heater_bed] +#*# control = pid +#*# pid_kp = 59.514 +#*# pid_ki = 0.790 +#*# pid_kd = 1120.355 +#*# +#*# [extruder] +#*# control = pid +#*# pid_kp = 27.402 +#*# pid_ki = 1.631 +#*# pid_kd = 115.090 +#*# +#*# [bed_mesh default] +#*# version = 1 +#*# points = +#*# -0.775000, -0.375000, -0.143750, 0.143750, 0.525000, 0.568750 +#*# -0.662500, -0.325000, -0.118750, 0.181250, 0.550000, 0.675000 +#*# -0.550000, -0.325000, -0.068750, 0.362500, 0.493750, 0.681250 +#*# -0.618750, -0.306250, -0.100000, 0.231250, 0.506250, 0.662500 +#*# -0.718750, -0.356250, -0.162500, 0.093750, 0.475000, 0.637500 +#*# -0.900000, -0.437500, -0.237500, 0.031250, 0.400000, 0.562500 +#*# tension = 0.2 +#*# min_x = 25.0 +#*# algo = bicubic +#*# y_count = 6 +#*# mesh_y_pps = 2 +#*# min_y = 35.0 +#*# x_count = 6 +#*# max_y = 220.0 +#*# mesh_x_pps = 2 +#*# max_x = 225.0 +#*# +#*# [probe] +#*# z_offset = 3.822 diff --git a/webcam.txt b/webcam.txt new file mode 100644 index 0000000..e8bd44c --- /dev/null +++ b/webcam.txt @@ -0,0 +1,79 @@ +### Windows users: To edit this file use Notepad++, VSCode, Atom or SublimeText. +### Do not use Notepad or WordPad. + +### MacOSX users: If you use Textedit to edit this file make sure to use +### "plain text format" and "disable smart quotes" in "Textedit > Preferences" + +### Configure which camera to use +# +# Available options are: +# - auto: tries first usb webcam, if that's not available tries raspi cam +# - usb: only tries usb webcam +# - raspi: only tries raspi cam +# +# Defaults to auto +# +#camera="auto" + +### Additional options to supply to MJPG Streamer for the USB camera +# +# See https://faq.octoprint.org/mjpg-streamer-config for available options +# +# Defaults to a resolution of 640x480 px and a framerate of 10 fps +# +#camera_usb_options="-r 640x480 -f 10" + +### Additional webcam devices known to cause problems with -f +# +# Apparently there a some devices out there that with the current +# mjpg_streamer release do not support the -f parameter (for specifying +# the capturing framerate) and will just refuse to output an image if it +# is supplied. +# +# The webcam daemon will detect those devices by their USB Vendor and Product +# ID and remove the -f parameter from the options provided to mjpg_streamer. +# +# By default, this is done for the following devices: +# Logitech C170 (046d:082b) +# GEMBIRD (1908:2310) +# Genius F100 (0458:708c) +# Cubeternet GL-UPC822 UVC WebCam (1e4e:0102) +# +# Using the following option it is possible to add additional devices. If +# your webcam happens to show above symptoms, try determining your cam's +# vendor and product id via lsusb, activating the line below by removing # and +# adding it, e.g. for two broken cameras "aabb:ccdd" and "aabb:eeff" +# +# additional_brokenfps_usb_devices=("aabb:ccdd" "aabb:eeff") +# +# +#additional_brokenfps_usb_devices=() + +### Additional options to supply to MJPG Streamer for the RasPi Cam +# +# See https://faq.octoprint.org/mjpg-streamer-config for available options +# +# Defaults to 10fps +# +#camera_raspi_options="-fps 10" + +### Configuration of camera HTTP output +# +# Usually you should NOT need to change this at all! Only touch if you +# know what you are doing and what the parameters mean. +# +# Below settings are used in the mjpg-streamer call like this: +# +# -o "output_http.so -w $camera_http_webroot $camera_http_options" +# +# Current working directory is the mjpg-streamer base directory. +# +#camera_http_webroot="./www-mainsail" +#camera_http_options="-n" + +### EXPERIMENTAL +# Support for different streamer types. +# +# Available options: +# mjpeg [default] - stable MJPG-streamer +#camera_streamer=mjpeg