Initial commit

This commit is contained in:
Kyle Brown 2021-11-19 06:06:19 +00:00
commit 3ffda67fd0
10 changed files with 795 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
printer-*.cfg
.theme

85
calibration_macros.cfg Normal file
View file

@ -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 %}

46
klipper-mini12864.cfg Normal file
View file

@ -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

119
macros.cfg Normal file
View file

@ -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

15
mainsail.cfg Normal file
View file

@ -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

35
moonraker.conf Normal file
View file

@ -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

26
print_end.cfg Normal file
View file

@ -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

106
print_start.cfg Normal file
View file

@ -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

282
printer.cfg Normal file
View file

@ -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

79
webcam.txt Normal file
View file

@ -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