From 3ae5127aade5860a268858fccab699eb13407977 Mon Sep 17 00:00:00 2001 From: willem Date: Tue, 6 Dec 2022 23:57:25 +0100 Subject: [PATCH] initial commit --- .moonraker.conf.bkp | 57 +++++++++++++++++ crowsnest.conf | 34 ++++++++++ mainsail.cfg | 98 +++++++++++++++++++++++++++++ moonraker.conf | 86 +++++++++++++++++++++++++ printer.cfg | 148 ++++++++++++++++++++++++++++++++++++++++++++ sonar.conf | 17 +++++ timelapse.cfg | 1 + 7 files changed, 441 insertions(+) create mode 100644 .moonraker.conf.bkp create mode 100644 crowsnest.conf create mode 100644 mainsail.cfg create mode 100644 moonraker.conf create mode 100755 printer.cfg create mode 100644 sonar.conf create mode 120000 timelapse.cfg diff --git a/.moonraker.conf.bkp b/.moonraker.conf.bkp new file mode 100644 index 0000000..2f3fe30 --- /dev/null +++ b/.moonraker.conf.bkp @@ -0,0 +1,57 @@ +[server] +host = 0.0.0.0 +port = 7125 +enable_debug_logging = False +max_upload_size = 1024 + +[file_manager] +config_path = ~/klipper_config +log_path = ~/klipper_logs +enable_object_processing = False + +[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 + +[octoprint_compat] + +[history] + +[announcements] +subscriptions = + mainsail + +[update_manager] +refresh_interval = 168 +enable_auto_refresh = True + +[update_manager mainsail] +type = web +channel = stable +repo = mainsail-crew/mainsail +path = ~/mainsail + +[update_manager crowsnest] +type = git_repo +path = ~/crowsnest +origin = https://github.com/mainsail-crew/crowsnest.git +managed_services = crowsnest + +[update_manager sonar] +type = git_repo +path = ~/sonar +origin = https://github.com/mainsail-crew/sonar.git +primary_branch = main +managed_services = sonar + diff --git a/crowsnest.conf b/crowsnest.conf new file mode 100644 index 0000000..19cb7d5 --- /dev/null +++ b/crowsnest.conf @@ -0,0 +1,34 @@ +#### crowsnest.conf +#### This is mainsail / MainsailOS default config. +#### See: +#### https://github.com/mainsail-crew/crowsnest/blob/master/README.md +#### for details to configure to your needs. + + +##################################################################### +#### ##### +#### Information about ports and according URL's ##### +#### ##### +##################################################################### +#### ##### +#### Port 8080 equals /webcam/?action=[stream/snapshot] ##### +#### Port 8081 equals /webcam2/?action=[stream/snapshot] ##### +#### Port 8082 equals /webcam3/?action=[stream/snapshot] ##### +#### Port 8083 equals /webcam4/?action=[stream/snapshot] ##### +#### ##### +##################################################################### + + +[crowsnest] +log_path: ~/klipper_logs/crowsnest.log # Default logfile in ~/klipper_logs/crowsnest.log +log_level: verbose # Valid Options are quiet/verbose/debug +delete_log: false # Deletes log on every restart, if set to true + +[cam 1] +mode: mjpg # mjpg/rtsp +port: 8080 # Port +device: /dev/video0 # See Log for available ... +resolution: 640x480 # widthxheight format +max_fps: 15 # If Hardware Supports this it will be forced, ohterwise ignored/coerced. +#custom_flags: # You can run the Stream Services with custom flags. +#v4l2ctl: # Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of. diff --git a/mainsail.cfg b/mainsail.cfg new file mode 100644 index 0000000..ce63ba1 --- /dev/null +++ b/mainsail.cfg @@ -0,0 +1,98 @@ +# Mainsail klipper definitions +# +# Copyright (C) 2021 Alex Zellner +# +# This file may be distributed under the terms of the GNU GPLv3 license +# +# Version 1.11 + +# add [include mainsail.cfg] to your printer.cfg to include it to your printer.cfg +# modify x_park, y_park, z_park_delta and extrude value at the macro _TOOLHEAD_PARK_PAUSE_CANCEL if needed + +# use variable_park: False at CANCEL_PRINT to disallow the parking move + +[virtual_sdcard] +path: ~/gcode_files +on_error_gcode: + CANCEL_PRINT + +[pause_resume] + +[display_status] + +[gcode_macro CANCEL_PRINT] +description: Cancel the actual running print +rename_existing: CANCEL_PRINT_BASE +variable_park: True +gcode: + ## Move head and retract only if not already in the pause state and park set to true + {% if printer.pause_resume.is_paused|lower == 'false' and park|lower == 'true'%} + _TOOLHEAD_PARK_PAUSE_CANCEL + {% endif %} + TURN_OFF_HEATERS + M106 S0 + CANCEL_PRINT_BASE + +[gcode_macro PAUSE] +description: Pause the actual running print +rename_existing: PAUSE_BASE +gcode: + PAUSE_BASE + _TOOLHEAD_PARK_PAUSE_CANCEL + +[gcode_macro RESUME] +description: Resume the actual running print +rename_existing: RESUME_BASE +gcode: + ##### read extrude from _TOOLHEAD_PARK_PAUSE_CANCEL macro ##### + {% set extrude = printer['gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL'].extrude %} + #### get VELOCITY parameter if specified #### + {% if 'VELOCITY' in params|upper %} + {% set get_params = ('VELOCITY=' + params.VELOCITY) %} + {%else %} + {% set get_params = "" %} + {% endif %} + ##### end of definitions ##### + {% if printer.extruder.can_extrude|lower == 'true' %} + M83 + G1 E{extrude} F2100 + {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %} + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + RESUME_BASE {get_params} + +[gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL] +description: Helper: park toolhead used in PAUSE and CANCEL_PRINT +variable_extrude: 1.0 +gcode: + ##### set park positon for x and y ##### + # default is your max posion from your printer.cfg + {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} + {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} + {% set z_park_delta = 2.0 %} + ##### calculate save lift position ##### + {% set max_z = printer.toolhead.axis_maximum.z|float %} + {% set act_z = printer.toolhead.position.z|float %} + {% if act_z < (max_z - z_park_delta) %} + {% set z_safe = z_park_delta %} + {% else %} + {% set z_safe = max_z - act_z %} + {% endif %} + ##### end of definitions ##### + {% if printer.extruder.can_extrude|lower == 'true' %} + M83 + G1 E-{extrude} F2100 + {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %} + {% else %} + {action_respond_info("Extruder not hot enough")} + {% endif %} + {% if "xyz" in printer.toolhead.homed_axes %} + G91 + G1 Z{z_safe} F900 + G90 + G1 X{x_park} Y{y_park} F6000 + {% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %} + {% else %} + {action_respond_info("Printer not homed")} + {% endif %} diff --git a/moonraker.conf b/moonraker.conf new file mode 100644 index 0000000..55643ed --- /dev/null +++ b/moonraker.conf @@ -0,0 +1,86 @@ +[server] +host: 0.0.0.0 +port: 7125 +# Verbose logging used for debugging . Default False. +enable_debug_logging: False +# The maximum size allowed for a file upload (in MiB). Default 1024 MiB +max_upload_size: 1024 + +[file_manager] +config_path: ~/klipper_config +log_path: ~/klipper_logs +# post processing for object cancel. Not recommended for low resource SBCs such as a Pi Zero. Default False +enable_object_processing: False + +[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 announcements for mainsail +[announcements] +subscriptions: + mainsail + +# this enables moonraker's update manager +[update_manager] +refresh_interval: 168 +enable_auto_refresh: True + +[update_manager mainsail] +type: web +channel: stable +repo: mainsail-crew/mainsail +path: ~/mainsail + +### moonraker-timelapse +### Don't forget to include timelapse.cfg to your printer.cfg +### Uncomment to enable moonraker-timelapse + +#[timelapse] + +#[update_manager timelapse] +#type: git_repo +#primary_branch: main +#path: ~/moonraker-timelapse +#origin: https://github.com/mainsail-crew/moonraker-timelapse.git +#managed_services: klipper moonraker + +# Crowsnest update_manager entry +[update_manager crowsnest] +type: git_repo +path: ~/crowsnest +origin: https://github.com/mainsail-crew/crowsnest.git +managed_services: crowsnest + +# Sonar update_manager entry +[update_manager sonar] +type: git_repo +path: ~/sonar +origin: https://github.com/mainsail-crew/sonar.git +primary_branch: main +managed_services: sonar + +[update_manager KlipperScreen] +type: git_repo +path: /home/willem/KlipperScreen +origin: https://github.com/jordanruthe/KlipperScreen.git +env: /home/willem/.KlipperScreen-env/bin/python +requirements: scripts/KlipperScreen-requirements.txt +install_script: scripts/KlipperScreen-install.sh diff --git a/printer.cfg b/printer.cfg new file mode 100755 index 0000000..3562be3 --- /dev/null +++ b/printer.cfg @@ -0,0 +1,148 @@ +# This file contains common pin mappings for the BIGTREETECH Manta M4P +# To use this config, the firmware should be compiled for the +# STM32G0B1 with a "8KiB bootloader" and USB communication. + +# See docs/Config_Reference.md for a description of parameters. + +[include mainsail.cfg] + +[stepper_x] +step_pin: PC6 +dir_pin: !PA14 +enable_pin: !PC7 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^!PC0 +position_endstop: 0 +position_max: 230 +homing_speed: 80 + +[stepper_y] +step_pin: PB10 +dir_pin: PB2 +enable_pin: !PB11 +microsteps: 16 +rotation_distance: 40 +endstop_pin: ^!PC1 +position_endstop: 230 +position_max: 230 +homing_speed: 80 + +[stepper_z] +step_pin: PB0 +dir_pin: !PC5 +enable_pin: !PB1 +microsteps: 16 +rotation_distance: 8 +endstop_pin: ^!PC2 +position_endstop: 207.890 +position_max: 232 +position_min: -10 +homing_speed: 40 +#second_homing_speed: 3 +#homing_retract_dist: 3 + +# [extruder] +# step_pin: PB3 +# dir_pin: PB4 +# enable_pin: !PD5 +# microsteps: 16 +# rotation_distance: 22.9 +# nozzle_diameter: 0.400 +# filament_diameter: 1.750 +# heater_pin: PC8 +# sensor_type: Generic 3950 +# sensor_pin: PA0 +# control: pid +# pid_Kp: 20.837 +# pid_Ki: 1.037 +# pid_Kd: 104.708 +# min_temp: 0 +# max_temp: 275 + +#[filament_switch_sensor extruder_filament_sensor] +#switch_pin: ^!PC15 + +# [heater_bed] +# heater_pin: PD8 +# sensor_type: Generic 3950 +# sensor_pin: PC4 +# control = pid +# pid_kp = 62.901 +# pid_ki = 1.808 +# pid_kd = 547.241 +# min_temp: 0 +# max_temp: 120 + +[fan] +pin: PD2 + +#[heater_fan fan1] +#pin: PD3 + +#[heater_fan fan2] +#pin: PD4 + +#[bltouch] +#sensor_pin: PC14 +#control_pin: PA1 + +#[adxl345] +#cs_pin: PD9 +#spi_bus: spi1 +#axes_map: z,y,-x + +#[neopixel rgb1] +#pin: PD0 + +#[neopixel rgb2] +#pin: PD1 + +[mcu] +serial: /dev/serial/by-id/usb-Klipper_stm32g0b1xx_hurakan-if00 + +[printer] +kinematics: cartesian +max_velocity: 180 +max_accel: 3000 +max_z_velocity: 100 +max_z_accel: 100 + +######################################## +# EXP1 / EXP2 (display) pins +######################################## + +[board_pins] +aliases: + # EXP1 header + EXP1_1=PD6, EXP1_3=PB9, EXP1_5=PA15, EXP1_7=PA9, EXP1_9=, + EXP1_2=PB8, EXP1_4=PC3, EXP1_6=PA10, EXP1_8=PB5, EXP1_10=<5V>, + # EXP2 header + EXP2_1=PB14, EXP2_3=PC11, EXP2_5=PC12, EXP2_7=PC13, EXP2_9=, + EXP2_2=PB13, EXP2_4=PA8, EXP2_6=PB15, EXP2_8=, EXP2_10= + +# See the sample-lcd.cfg file for definitions of common LCD displays. + +######################################## +# TMC2209 configuration +######################################## + +[tmc2209 stepper_x] +uart_pin: PB12 +run_current: 0.800 +#diag_pin: + +[tmc2209 stepper_y] +uart_pin: PC10 +run_current: 0.800 +#diag_pin: + +[tmc2209 stepper_z] +uart_pin: PC9 +run_current: 0.800 +#diag_pin: + +# [tmc2209 extruder] +# uart_pin: PA13 +# run_current: 0.600 +#diag_pin: diff --git a/sonar.conf b/sonar.conf new file mode 100644 index 0000000..dd3755d --- /dev/null +++ b/sonar.conf @@ -0,0 +1,17 @@ +#### Sonar - A WiFi Keepalive daemon +#### +#### Written by Stephan Wendel aka KwadFan +#### Copyright 2022 +#### https://github.com/mainsail-crew/sonar +#### +#### This File is distributed under GPLv3 +#### + +[sonar] +enable: false # false to disable till next reboot (will stop again if not set to true) +debug_log: false # if set to true, sonar will log ever ping with triptime and date/time +persistant_log: false # If true logs in /var/log/sonar.log, false logs to systemd +target: auto # IP Address, URL or auto as ping target +count: 3 # How often should be pinged? +interval: 60 # Ping again after X seconds +restart_treshold: 10 # If failed, restart WiFi after X seconds diff --git a/timelapse.cfg b/timelapse.cfg new file mode 120000 index 0000000..74a2d20 --- /dev/null +++ b/timelapse.cfg @@ -0,0 +1 @@ +/home/willem/moonraker-timelapse/klipper_macro/timelapse.cfg \ No newline at end of file