diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml old mode 100644 new mode 100755 diff --git a/OpenOrangeStorm.sh b/OpenOrangeStorm.sh index 40bf220..238554e 100755 --- a/OpenOrangeStorm.sh +++ b/OpenOrangeStorm.sh @@ -244,6 +244,8 @@ advanced_more() { echo -e "6) Base ZNP-K1 Compiled Image Config (NOT for OpenOrangeStorm)" echo "" echo -e "7) Change Machine Model / Board Version / Motor Current" + echo "" + echo -e "8) Probe Timeout Fix (Only for Orange Storm Giga)" echo -e "----------------------------------------------------------${NC}" echo "" echo -e "(${Y} B ${NC}) Back to Main Menu" @@ -259,6 +261,7 @@ advanced_more() { 5) toggle_branch;; 6) base_image_config;; 7) $HOME/OpenOrangeStorm/img-config/set-printer-model.sh; exit 0;; + 8) probe_timeout_fix;; b) return;; # Return to the main menu *) echo -e "${R}Invalid choice, please try again.${NC}";; esac @@ -663,6 +666,13 @@ install_configs() { fi } +probe_timeout_fix() { + sed -i "s|TRSYNC_TIMEOUT = 0.025|TRSYNC_TIMEOUT = 0.050|g" ~/klipper/klippy/mcu.py + + echo "Successfully fixed the timeout issue!" + sleep 2 +} + wifi_config() { sudo nmtui } @@ -733,6 +743,7 @@ Commands: crowsnest_fix Install webcam FPS fix. base_image_config Apply base configuration for ZNP-K1 Compiled Image (Not for release images). armbian_resize Resize the active Armbian partition (for eMMC > 8GB). + probe_timeout_fix Fixes the probe timeout error (Only for the Orange Storm Giga) EOF } @@ -785,7 +796,7 @@ done # Main Script Logic if [ -z "$1" ]; then - run_fixes + run_fixes set_current_branch update_repo @@ -821,6 +832,7 @@ else crowsnest_fix) crowsnest_fix ;; base_image_config) base_image_config ;; armbian_resize) armbian_resize ;; + probe_timeout_fix) probe_timeout_fix ;; *) echo -e "${G}Invalid command. Please try again.${NC}" ;; esac fi diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/dtb/giga/giga-v3.0-dts-newer.txt b/dtb/giga/giga-v3.0-dts-newer.txt old mode 100644 new mode 100755 diff --git a/dtb/giga/giga-v3.0-dts.txt b/dtb/giga/giga-v3.0-dts.txt old mode 100644 new mode 100755 diff --git a/dtb/giga/rk3328-roc-cc-newer.dtb b/dtb/giga/rk3328-roc-cc-newer.dtb old mode 100644 new mode 100755 diff --git a/dtb/giga/rk3328-roc-cc.dtb b/dtb/giga/rk3328-roc-cc.dtb old mode 100644 new mode 100755 diff --git a/img-config/printer-data/KAMP_Settings.cfg b/img-config/printer-data/KAMP_Settings.cfg old mode 100644 new mode 100755 diff --git a/img-config/printer-data/data.mdb b/img-config/printer-data/data.mdb old mode 100644 new mode 100755 diff --git a/img-config/printer-data/klipper_debug.cfg b/img-config/printer-data/klipper_debug.cfg old mode 100644 new mode 100755 diff --git a/img-config/printer-data/mainsail.cfg b/img-config/printer-data/mainsail.cfg old mode 100644 new mode 100755 diff --git a/img-config/printer-data/moonraker.conf b/img-config/printer-data/moonraker.conf old mode 100644 new mode 100755 diff --git a/img-config/rpi-mcu-install.sh b/img-config/rpi-mcu-install.sh index c3fc1ed..316c061 100755 --- a/img-config/rpi-mcu-install.sh +++ b/img-config/rpi-mcu-install.sh @@ -8,12 +8,13 @@ if [[ -z $1 ]]; then echo "" echo "Choose the MCU(s) to update:" echo "" - select mcu_choice in "STM32" "Virtual RPi" "Pico-based USB Accelerometer" "All" "Cancel"; do + select mcu_choice in "STM32" "RP2040" "Virtual RPi" "Pico-based USB Accelerometer" "All" "Cancel"; do case $mcu_choice in STM32 ) echo "Updating STM32 MCU..."; break;; - Virtual\ RPi ) echo "Updating Virtual RPi MCU..."; break;; + RP2040) echo "Updating RP2040 (printhead) MCU..."; break;; + Virtual\ RPi ) echo "Updating Virtual RPi MCU..."; break;; Pico-based\ USB\ Accelerometer ) echo "Updating Pico-based USB Accelerometer..."; break;; - All ) echo "Starting update process for STM32, Virtual RPi MCU and Pico USB Accelerometer"; break;; + All ) echo "Starting update process for STM32, RP2040, Virtual RPi MCU and Pico USB Accelerometer"; break;; Cancel ) echo "Update canceled."; exit;; esac done @@ -22,9 +23,16 @@ else mcu_choice=$1 fi +# Installing Katapult +cd ~/ +git clone https://github.com/Arksine/katapult + # Update Klipper repository cd ~/klipper/ && git pull origin master +# Install python serial tools +sudo apt install python3-serial + # Update procedure for STM32 MCU if [[ "$mcu_choice" == "STM32" ]] || [[ "$mcu_choice" == "All" ]]; then clear @@ -32,60 +40,153 @@ if [[ "$mcu_choice" == "STM32" ]] || [[ "$mcu_choice" == "All" ]]; then make clean cp ~/OpenOrangeStorm/mcu-firmware/mcu.config ~/klipper/.config make + + + auto_updater() { + echo "Trying to put the STM32 into bootloader mode..." + + #Trying to get the MCU unbound + echo M112 > ~/printer_data/comms/klippy.serial + sleep 1 + echo FIRMWARE_RESTART > ~/printer_data/comms/klippy.serial + sleep 1 + systemctl stop klipper + + echo "Checking if succeeded..." + output=$(cd ~/katapult/scripts && python3 flash_can.py -i can0 -q) + + # Display the output to the user + echo "$output" + + # Prompt the user to input a UUID + read -p "Please enter the UUID that is the STM32 (usually the first one): " uuid + + # Confirm the selected UUID + echo "You selected the UUID: $uuid" + + python3 ~/katapult/scripts/flash_can.py -i can0 -u $uuid -f ~/klipper/out/klipper.bin + + return + } + - # Check if the MCU boots using the alternative method - if grep -q "/usr/local/bin/gpio_set.sh" "/etc/rc.local"; then - echo "Detected MCU running the Alternative method! Running headless flash..." - if [ -f "$MCU_SWFLASH_ALT" ]; then - "$MCU_SWFLASH_ALT" - else - echo "Error: Alternate MCU flash script not found." - fi - else - # Regular update through microSD card - # Create the 'Firmware' directory if it doesn't exist - mkdir -p ~/printer_data/config/Firmware + manual_update() { + + # Regular update through microSD card + # Create the 'Firmware' directory if it doesn't exist + mkdir -p ~/printer_data/config/Firmware + + # Remove old files in previous parent directory + rm ~/printer_data/config/X_4.bin > /dev/null 2>&1 + rm ~/printer_data/config/elegoo_k1.bin > /dev/null 2>&1 + rm ~/printer_data/config/ZNP_GIGA.bin > /dev/null 2>&1 + + cp ~/klipper/out/klipper.bin ~/printer_data/config/Firmware/ZNP_GIGA.bin + + clear + # Display instructions for downloading the firmware + ip_address=$(hostname -I | awk '{print $1}') + echo "" + echo -e "\nTo download firmware files:" + echo "1. Visit: http://$ip_address/#/configure" + echo "2. Click the Firmware folder in the left Config list" + echo "3. Right-click and Download 'ZNP_GIGA.bin'" + echo " Then copy to a FAT32 formatted microSD card." + echo "" + echo -e "\nTo complete the update:" + echo "1. After this script completes, power off the printer" + echo " Then insert the microSD card." + echo "2. Power on, and check the MCU version in Fluidd's system tab." + echo "3. The '.bin' file on the microSD will be renamed to..." + echo " '.CUR' if the update was successful." + echo "" + echo -e "\nFor printers without external microSD slots:" + echo -e "Visit the OpenOrangeStorm wiki for info (if not already done)\n" + echo -e "https://github.com/OpenNeptune3D/OpenOrangeStorm/wiki" + echo "" + echo -e "\nHave you downloaded the bin files and are ready to continue? (y)" + read continue_choice + if [[ "$continue_choice" =~ ^[Yy]$ ]]; then + echo "" + if [[ "$mcu_choice" == "STM32" ]]; then + echo "Power-off the machine and insert the microSD card." + sleep 4 + # Exit only if the selected choice was specifically STM32, not "All" + exit + fi + fi + } - # Remove old files in previous parent directory - rm ~/printer_data/config/X_4.bin > /dev/null 2>&1 - rm ~/printer_data/config/elegoo_k1.bin > /dev/null 2>&1 - rm ~/printer_data/config/ZNP_GIGA.bin > /dev/null 2>&1 + if auto_updater; then + echo "Auto update for the STM32 was a success!!" + echo "" + echo "continuing..." + echo "" + echo "If you plan on updateing the printhead MCU as well after this, restart the board!" + sleep 4 + else + echo "Auto update didn't work..." + echo "" + echo "Trying the SD-card method..." + sleep 2 + manual_update + fi +fi - cp ~/klipper/out/klipper.bin ~/printer_data/config/Firmware/ZNP_GIGA.bin +if [[ "$mcu_choice" == "RP2040" ]] || [[ "$mcu_choice" == "All" ]]; then + clear + echo "Proceeding with RP2040 (printhead) MCU Update..." + make clean + cp ~/OpenOrangeStorm/mcu-firmware/printhead.config ~/klipper/.config + make + + + auto_updater() { + echo "Trying to put the RP2040 into bootloader mode..." + + echo M112 > ~/printer_data/comms/klippy.serial + sleep 1 + echo FIRMWARE_RESTART > ~/printer_data/comms/klippy.serial + sleep 1 + sudo systemctl stop klipper + + echo "Checking if succeeded..." + output=$(cd ~/katapult/scripts && python3 flash_can.py -i can0 -q) + + # Display the output to the user + echo "$output" + + # Prompt the user to input a UUID + read -p "Please enter the UUID that is the RP2040 (usually the second one): " uuid + + # Confirm the selected UUID + echo "You selected the UUID: $uuid" + + python3 ~/katapult/scripts/flash_can.py -i can0 -u $uuid -f ~/klipper/out/klipper.bin + + return + } + - clear - # Display instructions for downloading the firmware - ip_address=$(hostname -I | awk '{print $1}') - echo "" - echo -e "\nTo download firmware files:" - echo "1. Visit: http://$ip_address/#/configure" - echo "2. Click the Firmware folder in the left Config list" - echo "3. Right-click and Download 'ZNP_GIGA.bin'" - echo " Then copy to a FAT32 formatted microSD card." - echo "" - echo -e "\nTo complete the update:" - echo "1. After this script completes, power off the printer" - echo " Then insert the microSD card." - echo "2. Power on, and check the MCU version in Fluidd's system tab." - echo "3. The '.bin' file on the microSD will be renamed to..." - echo " '.CUR' if the update was successful." - echo "" - echo -e "\nFor printers without external microSD slots:" - echo -e "Visit the OpenOrangeStorm wiki for info (if not already done)\n" - echo -e "https://github.com/OpenNeptune3D/OpenOrangeStorm/wiki" - echo "" - echo -e "\nHave you downloaded the bin files and are ready to continue? (y)" - read continue_choice - if [[ "$continue_choice" =~ ^[Yy]$ ]]; then - echo "" - if [[ "$mcu_choice" == "STM32" ]]; then - echo "Power-off the machine and insert the microSD card." - sleep 4 - # Exit only if the selected choice was specifically STM32, not "All" - exit - fi - fi - fi + if auto_updater; then + echo "Auto update for the RP2040 was a success!!" + echo "" + sleep 2 + else + cp ~/klipper/out/klipper.bin ~/printer_data/config/Firmware/RP2040.bin + echo "Something didn't go as planned..." + echo "Either retry, or put the firmware on manually" + echo "Read the documentation how to do that!" + echo "We've copied the firmware into ~/printer_data/config/Firmware/RP2040.bin" + + seconds=20 + + while [ $seconds -ge 0 ]; do + echo -ne "$seconds... " + sleep 1 + seconds=$((seconds - 1)) + done + fi fi # Update procedure for Pico-based Accelerometer diff --git a/mcu-firmware/ElegooSD-restore.bin b/mcu-firmware/ElegooSD-restore.bin old mode 100644 new mode 100755 diff --git a/mcu-firmware/firmware_backup_new.bin b/mcu-firmware/firmware_backup_new.bin old mode 100644 new mode 100755 diff --git a/mcu-firmware/mcu.config b/mcu-firmware/mcu.config old mode 100644 new mode 100755 index e4d1567..e06b630 --- a/mcu-firmware/mcu.config +++ b/mcu-firmware/mcu.config @@ -5,7 +5,7 @@ CONFIG_LOW_LEVEL_OPTIONS=y # CONFIG_MACH_LPC176X is not set CONFIG_MACH_STM32=y # CONFIG_MACH_HC32F460 is not set -# CONFIG_MACH_RP2040 is not set +# CONFIG_MACH_RPXXXX is not set # CONFIG_MACH_PRU is not set # CONFIG_MACH_AR100 is not set # CONFIG_MACH_LINUX is not set @@ -49,7 +49,7 @@ CONFIG_MACH_STM32F4x5=y CONFIG_HAVE_STM32_USBOTG=y CONFIG_HAVE_STM32_CANBUS=y CONFIG_HAVE_STM32_USBCANBUS=y -CONFIG_STM32_DFU_ROM_ADDRESS=0 +CONFIG_STM32_DFU_ROM_ADDRESS=0x1fff0000 CONFIG_STM32_FLASH_START_8000=y # CONFIG_STM32_FLASH_START_20200 is not set # CONFIG_STM32_FLASH_START_C000 is not set @@ -74,30 +74,59 @@ CONFIG_STM32F0_TRIM=16 # CONFIG_STM32_SERIAL_USART3_ALT_PD9_PD8 is not set # CONFIG_STM32_CANBUS_PA11_PA12 is not set # CONFIG_STM32_CANBUS_PA11_PB9 is not set -CONFIG_STM32_MMENU_CANBUS_PB8_PB9=y +# CONFIG_STM32_MMENU_CANBUS_PB8_PB9 is not set # CONFIG_STM32_MMENU_CANBUS_PI9_PH13 is not set # CONFIG_STM32_MMENU_CANBUS_PB5_PB6 is not set # CONFIG_STM32_MMENU_CANBUS_PB12_PB13 is not set # CONFIG_STM32_MMENU_CANBUS_PD0_PD1 is not set -# CONFIG_STM32_USBCANBUS_PA11_PA12 is not set -CONFIG_STM32_CANBUS_PB8_PB9=y +CONFIG_STM32_USBCANBUS_PA11_PA12=y +# CONFIG_STM32_CMENU_CANBUS_PB8_PB9 is not set +# CONFIG_STM32_CMENU_CANBUS_PI9_PH13 is not set +# CONFIG_STM32_CMENU_CANBUS_PB5_PB6 is not set +CONFIG_STM32_CMENU_CANBUS_PB12_PB13=y +# CONFIG_STM32_CMENU_CANBUS_PD0_PD1 is not set +CONFIG_STM32_CANBUS_PB12_PB13=y +CONFIG_USBCANBUS=y +CONFIG_USB=y CONFIG_USB_VENDOR_ID=0x1d50 CONFIG_USB_DEVICE_ID=0x614e +CONFIG_USB_SERIAL_NUMBER_CHIPID=y CONFIG_USB_SERIAL_NUMBER="12345" -CONFIG_WANT_GPIO_BITBANGING=y -CONFIG_WANT_DISPLAYS=y -CONFIG_WANT_SENSORS=y + +# +# USB ids +# +# end of USB ids + +CONFIG_WANT_ADC=y +CONFIG_WANT_SPI=y +CONFIG_WANT_SOFTWARE_SPI=y +CONFIG_WANT_I2C=y +CONFIG_WANT_SOFTWARE_I2C=y +CONFIG_WANT_HARD_PWM=y +CONFIG_WANT_BUTTONS=y +CONFIG_WANT_TMCUART=y +CONFIG_WANT_NEOPIXEL=y +CONFIG_WANT_PULSE_COUNTER=y +CONFIG_WANT_ST7920=y +CONFIG_WANT_HD44780=y +CONFIG_WANT_ADXL345=y CONFIG_WANT_LIS2DW=y -CONFIG_WANT_LDC1612=y +CONFIG_WANT_MPU9250=y +CONFIG_WANT_ICM20948=y +CONFIG_WANT_THERMOCOUPLE=y CONFIG_WANT_HX71X=y CONFIG_WANT_ADS1220=y -CONFIG_WANT_SOFTWARE_I2C=y -CONFIG_WANT_SOFTWARE_SPI=y +CONFIG_WANT_LDC1612=y +CONFIG_WANT_SENSOR_ANGLE=y CONFIG_NEED_SENSOR_BULK=y -CONFIG_CANSERIAL=y +CONFIG_WANT_LOAD_CELL_PROBE=y +CONFIG_NEED_SOS_FILTER=y CONFIG_CANBUS=y CONFIG_CANBUS_FREQUENCY=1000000 -CONFIG_CANBUS_FILTER=y +CONFIG_INLINE_STEPPER_HACK=y +CONFIG_HAVE_STEPPER_OPTIMIZED_BOTH_EDGE=y +# CONFIG_WANT_STEPPER_OPTIMIZED_BOTH_EDGE is not set CONFIG_INITIAL_PINS="" CONFIG_HAVE_GPIO=y CONFIG_HAVE_GPIO_ADC=y @@ -107,6 +136,4 @@ CONFIG_HAVE_GPIO_I2C=y CONFIG_HAVE_GPIO_HARD_PWM=y CONFIG_HAVE_STRICT_TIMING=y CONFIG_HAVE_CHIPID=y -CONFIG_HAVE_STEPPER_BOTH_EDGE=y CONFIG_HAVE_BOOTLOADER_REQUEST=y -CONFIG_INLINE_STEPPER_HACK=y diff --git a/mcu-firmware/pico_usb.config b/mcu-firmware/pico_usb.config old mode 100644 new mode 100755 diff --git a/mcu-firmware/printhead.config b/mcu-firmware/printhead.config new file mode 100755 index 0000000..9b10bd7 --- /dev/null +++ b/mcu-firmware/printhead.config @@ -0,0 +1,86 @@ +CONFIG_LOW_LEVEL_OPTIONS=y +# CONFIG_MACH_AVR is not set +# CONFIG_MACH_ATSAM is not set +# CONFIG_MACH_ATSAMD is not set +# CONFIG_MACH_LPC176X is not set +# CONFIG_MACH_STM32 is not set +# CONFIG_MACH_HC32F460 is not set +CONFIG_MACH_RPXXXX=y +# CONFIG_MACH_PRU is not set +# CONFIG_MACH_AR100 is not set +# CONFIG_MACH_LINUX is not set +# CONFIG_MACH_SIMU is not set +CONFIG_BOARD_DIRECTORY="rp2040" +CONFIG_MCU="rp2040" +CONFIG_CLOCK_FREQ=12000000 +CONFIG_FLASH_SIZE=0x200000 +CONFIG_FLASH_BOOT_ADDRESS=0x10000100 +CONFIG_RAM_START=0x20000000 +CONFIG_RAM_SIZE=0x42000 +CONFIG_STACK_SIZE=512 +CONFIG_FLASH_APPLICATION_ADDRESS=0x10004000 +CONFIG_RPXXXX_SELECT=y +CONFIG_MACH_RP2040=y +# CONFIG_MACH_RP2350 is not set +CONFIG_RPXXXX_HAVE_BOOTLOADER=y +# CONFIG_RPXXXX_FLASH_START_0100 is not set +CONFIG_RPXXXX_FLASH_START_4000=y +CONFIG_RP2040_STAGE2_FILE="boot2_w25q080.S" +CONFIG_RP2040_STAGE2_CLKDIV=2 +# CONFIG_RPXXXX_USB is not set +# CONFIG_RPXXXX_SERIAL_UART0_PINS_0_1 is not set +# CONFIG_RPXXXX_SERIAL_UART0_PINS_12_13 is not set +# CONFIG_RPXXXX_SERIAL_UART0_PINS_16_17 is not set +# CONFIG_RPXXXX_SERIAL_UART0_PINS_28_29 is not set +# CONFIG_RPXXXX_SERIAL_UART1_PINS_4_5 is not set +# CONFIG_RPXXXX_SERIAL_UART1_PINS_8_9 is not set +# CONFIG_RPXXXX_SERIAL_UART1_PINS_20_21 is not set +# CONFIG_RPXXXX_SERIAL_UART1_PINS_24_25 is not set +CONFIG_RPXXXX_CANBUS=y +# CONFIG_RPXXXX_USBCANBUS is not set +CONFIG_RPXXXX_CANBUS_GPIO_RX=8 +CONFIG_RPXXXX_CANBUS_GPIO_TX=9 +CONFIG_USB_VENDOR_ID=0x1d50 +CONFIG_USB_DEVICE_ID=0x614e +CONFIG_USB_SERIAL_NUMBER="12345" +CONFIG_WANT_ADC=y +CONFIG_WANT_SPI=y +CONFIG_WANT_SOFTWARE_SPI=y +CONFIG_WANT_I2C=y +CONFIG_WANT_SOFTWARE_I2C=y +CONFIG_WANT_HARD_PWM=y +CONFIG_WANT_BUTTONS=y +CONFIG_WANT_TMCUART=y +CONFIG_WANT_NEOPIXEL=y +CONFIG_WANT_PULSE_COUNTER=y +CONFIG_WANT_ST7920=y +CONFIG_WANT_HD44780=y +CONFIG_WANT_ADXL345=y +CONFIG_WANT_LIS2DW=y +CONFIG_WANT_MPU9250=y +CONFIG_WANT_ICM20948=y +CONFIG_WANT_THERMOCOUPLE=y +CONFIG_WANT_HX71X=y +CONFIG_WANT_ADS1220=y +CONFIG_WANT_LDC1612=y +CONFIG_WANT_SENSOR_ANGLE=y +CONFIG_NEED_SENSOR_BULK=y +CONFIG_WANT_LOAD_CELL_PROBE=y +CONFIG_NEED_SOS_FILTER=y +CONFIG_CANSERIAL=y +CONFIG_CANBUS=y +CONFIG_CANBUS_FREQUENCY=1000000 +CONFIG_CANBUS_FILTER=y +CONFIG_INLINE_STEPPER_HACK=y +CONFIG_HAVE_STEPPER_OPTIMIZED_BOTH_EDGE=y +# CONFIG_WANT_STEPPER_OPTIMIZED_BOTH_EDGE is not set +CONFIG_INITIAL_PINS="" +CONFIG_HAVE_GPIO=y +CONFIG_HAVE_GPIO_ADC=y +CONFIG_HAVE_GPIO_SPI=y +CONFIG_HAVE_GPIO_I2C=y +CONFIG_HAVE_GPIO_HARD_PWM=y +CONFIG_HAVE_STRICT_TIMING=y +CONFIG_HAVE_CHIPID=y +CONFIG_HAVE_BOOTLOADER_REQUEST=y +CONFIG_HAVE_SOFTWARE_DIVIDE_REQUIRED=y diff --git a/mcu-firmware/virtualmcu.config b/mcu-firmware/virtualmcu.config old mode 100644 new mode 100755 diff --git a/orca-profiles/giga/Elegoo Giga (0.6 nozzle)-OpenOrangeStorm.orca_printer b/orca-profiles/giga/Elegoo Giga (0.6 nozzle)-OpenOrangeStorm.orca_printer old mode 100644 new mode 100755 diff --git a/pictures/OpenOrangeStorm.png b/pictures/OpenOrangeStorm.png old mode 100644 new mode 100755 diff --git a/pictures/advanced-page.png b/pictures/advanced-page.png old mode 100644 new mode 100755 diff --git a/pictures/logo_openorangestorm.svg b/pictures/logo_openorangestorm.svg old mode 100644 new mode 100755 diff --git a/pictures/main-page.png b/pictures/main-page.png old mode 100644 new mode 100755 diff --git a/printer-confs/adxl.cfg b/printer-confs/adxl.cfg new file mode 100755 index 0000000..3756a1d --- /dev/null +++ b/printer-confs/adxl.cfg @@ -0,0 +1,19 @@ +############################################################################# +# Accelerometer Config +############################################################################# + +[adxl345] +cs_pin:mcu1:gpio13 +spi_software_sclk_pin:mcu1:gpio14 +spi_software_mosi_pin:mcu1:gpio15 +spi_software_miso_pin:mcu1:gpio12 + +[resonance_tester] +accel_chip: adxl345 +min_freq: 5 +max_freq: 90 +accel_per_hz: 150 +hz_per_sec: 2 +probe_points: +probe_points: + 400, 400, 50 \ No newline at end of file diff --git a/printer-confs/base.cfg b/printer-confs/base.cfg old mode 100644 new mode 100755 index 98f9be7..5b94a9e --- a/printer-confs/base.cfg +++ b/printer-confs/base.cfg @@ -20,7 +20,7 @@ [include ./KAMP/Smart_Park.cfg] [include ./KAMP/Line_Purge.cfg] #[include klipper_debug.cfg] -#[include adxl.cfg] ; Comment this out when you disconnect the Pico/MellowFly +[include adxl.cfg] ; Comment this out when you disconnect the Pico/MellowFly ############################################################################# # Base Config @@ -79,7 +79,7 @@ gcode: clear_last_file {% set RUN_VELOCITY = printer.configfile.settings['printer'].max_velocity|float %} {% set RUN_ACCEL = printer.configfile.settings['printer'].max_accel|float %} - {% set RUN_DECEL = printer.configfile.settings['printer'].max_accel_to_decel|float %} + {% set RUN_DECEL = printer.configfile.settings['printer'].max_accel|float %} M400 SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=flag_print_status VALUE="{0}" M400 @@ -215,7 +215,7 @@ gcode: M400 {% set RUN_VELOCITY = printer.configfile.settings['printer'].max_velocity|float %} {% set RUN_ACCEL = printer.configfile.settings['printer'].max_accel|float %} - {% set RUN_DECEL = printer.configfile.settings['printer'].max_accel_to_decel|float %} + {% set RUN_DECEL = printer.configfile.settings['printer'].max_accel|float %} SET_VELOCITY_LIMIT VELOCITY={RUN_VELOCITY} ACCEL={RUN_ACCEL} ACCEL_TO_DECEL={RUN_DECEL} {% set z = params.Z|default(200)|int %} {% set x_park = params.X|default(printer.toolhead.axis_minimum.x+30)|int %} @@ -662,25 +662,7 @@ retry_tolerance: 0.01 # PID Tuning Macros ############################################################################# -############################################################################# -# Accelerometer Config -############################################################################# - -[adxl345] -cs_pin:mcu1:gpio13 -spi_software_sclk_pin:mcu1:gpio14 -spi_software_mosi_pin:mcu1:gpio15 -spi_software_miso_pin:mcu1:gpio12 -[resonance_tester] -accel_chip: adxl345 -min_freq: 5 -max_freq: 90 -accel_per_hz: 150 -hz_per_sec: 2 -probe_points: -probe_points: - 400, 400, 50 ############################################################################# # Input Shaper Config diff --git a/printer-confs/generate_conf.py b/printer-confs/generate_conf.py old mode 100644 new mode 100755 diff --git a/printer-confs/giga/giga.cfg b/printer-confs/giga/giga.cfg old mode 100644 new mode 100755 diff --git a/printer-confs/giga/printer.cfg b/printer-confs/giga/printer.cfg old mode 100644 new mode 100755 diff --git a/printer-confs/giga/znp_mcu.cfg b/printer-confs/giga/znp_mcu.cfg old mode 100644 new mode 100755 diff --git a/printer-confs/giga/znp_thr1.cfg b/printer-confs/giga/znp_thr1.cfg old mode 100644 new mode 100755 diff --git a/printer-confs/output.cfg b/printer-confs/output.cfg new file mode 100644 index 0000000..9cb299e --- /dev/null +++ b/printer-confs/output.cfg @@ -0,0 +1,807 @@ +#---------------------------------------------------------------------------- +# ____ ____ ______ +# / __ \___ ___ ___ / __ \_______ ____ ___ ____ / __/ /____ ______ _ +# / /_/ / _ \/ -_) _ \/ /_/ / __/ _ `/ _ \/ _ `/ -_)\ \/ __/ _ \/ __/ ' \ +# \____/ .__/\__/_//_/\____/_/ \_,_/_//_/\_, /\__/___/\__/\___/_/ /_/_/_/ +# /_/ /___/ +# +#---------------------------------------------------------------------------- +; Orange Storm Giga Series Custom Image by (OpenNeptune3D/OpenOrangeStorm): +#---------------------------------------------------------------------------- +; Wiki : https://github.com/OpenNeptune3D/OpenOrangeStorm/wiki +; Discord : https://discord.com/invite/X6kwchT6WM + +############################################################################# +# External Config Includes +############################################################################# +[include mainsail.cfg] ; mainsail runs on port 81 (http://IP_ADDRESS:81) +[include fluidd.cfg] +[include KAMP_Settings.cfg] +[include ./KAMP/Smart_Park.cfg] +[include ./KAMP/Line_Purge.cfg] +#[include klipper_debug.cfg] +[include adxl.cfg] ; Comment this out when you disconnect the Pico/MellowFly + +############################################################################# +# Base Config +############################################################################# + +[mcu] +canbus_uuid: cb43a94be3aa + +[mcu mcu1] +canbus_uuid: 7c22a34d7700 + +[printer] +kinematics:cartesian +max_velocity: 500 +max_accel: 5000 +max_z_velocity: 20 +max_z_accel: 200 +square_corner_velocity: 5.0 +minimum_cruise_ratio: 0.0 + +[respond] +[gcode_arcs] +[pause_resume] +[display_status] +[exclude_object] +[firmware_retraction] +[virtual_sdcard] +path: ~/printer_data/gcodes +[force_move] +enable_force_move : True +[idle_timeout] +timeout: 2100 ; 35min idle timeout (when not paused or printing) + +############################################################################# +# Print Start & End Macros +############################################################################# + +[gcode_macro PRINT_START] +gcode: + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=flag_print_status VALUE="{0}" + M400 + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_print_status VALUE="{1}" + M400 + SAVE_VARIABLE VARIABLE=was_interrupted VALUE=True + G92 E0 + BED_MESH_CLEAR + G90 + BED_MESH_PROFILE LOAD=default + CLEAR_PAUSE + # C1 + M117 Printing + +[gcode_macro PRINT_END] +gcode: + SAVE_VARIABLE VARIABLE=was_interrupted VALUE=False + clear_last_file + {% set RUN_VELOCITY = printer.configfile.settings['printer'].max_velocity|float %} + {% set RUN_ACCEL = printer.configfile.settings['printer'].max_accel|float %} + {% set RUN_DECEL = printer.configfile.settings['printer'].max_accel|float %} + M400 + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=flag_print_status VALUE="{0}" + M400 + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_print_status VALUE="{1}" + M400 + SET_VELOCITY_LIMIT VELOCITY={RUN_VELOCITY} ACCEL={RUN_ACCEL} ACCEL_TO_DECEL={RUN_DECEL} + M220 S100 + M221 S100 + {% set z = params.Z|default(200)|int %} + {% if (printer.gcode_move.position.z+10) < z %} #If the current gcode-Z position is less than the maximum limit position + G90 ; absolute positioning + G1 Z{z+10} F6000 ; park nozzle at rear + {% endif %} + TURN_OFF_HEATERS + M107 + M84 + +############################################################################# +# Pause, Resume & Cancel Macros +############################################################################# + +[gcode_macro PAUSE] +rename_existing: BASE_PAUSE +variable_flag_print_status: 1 +variable_flag_home_x: 0 +variable_flag_home_y: 0 +gcode: + {%if flag_home_x > 0.5 and flag_home_y > 0.5%} + {% if flag_print_status > 0.5 %} + M400 + {% set z = params.Z|default(200)|int %} + {% set E = (params.E|default(2))|float %} + {% set x_park = params.X|default(printer.toolhead.axis_minimum.x+30)|int %} + {% set y_park = params.Y|default(printer.toolhead.axis_minimum.y+30)|int %} + M400 + {% set position = printer.gcode_move.gcode_position %} + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=saved_x VALUE="{position.x}" + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=saved_y VALUE="{position.y}" + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=saved_z VALUE="{position.z}" + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=saved_e VALUE="{position.e}" + {% if printer[printer.toolhead.extruder].temperature > 150 %} + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=etemp VALUE={printer['extruder'].target} + {% endif %} + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=bed_temp VALUE={printer['heater_bed'].target} + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=bed_temp1 VALUE={printer['heater_generic heater_bed1'].target} + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=bed_temp2 VALUE={printer['heater_generic heater_bed2'].target} + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=bed_temp3 VALUE={printer['heater_generic heater_bed3'].target} + SAVE_GCODE_STATE NAME=timelapse_state_a + M83 + G91 + G1 E-2 X3 Z1 F2100 + G1 Z4 F600 + SAVE_GCODE_STATE NAME=timelapse_state_b + G90 + {% if (printer.gcode_move.position.z+10) < z %} + G1 Z{z+10} X{x_park} Y{y_park} E-20 F6000 + {% else %} + G1 X{x_park} Y{y_park} E-20 F6000 + {% endif %} + M400 + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_print_status VALUE="{0}" + M400 + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=flag_print_status VALUE="{1}" + M25 + SET_IDLE_TIMEOUT TIMEOUT=1800 + M400 + {% endif %} + {% endif %} + +[gcode_macro RESUME] +rename_existing: BASE_RESUME +variable_flag_print_status: 1 +variable_zhop: 0 +variable_etemp: 0 +variable_bed_temp: 0 +variable_bed_temp1: 0 +variable_bed_temp2: 0 +variable_bed_temp3: 0 +variable_saved_x: 0.0 +variable_saved_y: 0.0 +variable_saved_z: 0.0 +variable_saved_e: 0.0 +gcode: + {% if flag_print_status > 0.5 %} + M25 + {% set e = params.E|default(2)|int %} + SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout} + SET_HEATER_TEMPERATURE HEATER=extruder TARGET={etemp} + SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={bed_temp} + SET_HEATER_TEMPERATURE HEATER=heater_bed1 TARGET={bed_temp1} + SET_HEATER_TEMPERATURE HEATER=heater_bed2 TARGET={bed_temp2} + SET_HEATER_TEMPERATURE HEATER=heater_bed3 TARGET={bed_temp3} + {% if printer[printer.toolhead.extruder].temperature < etemp-4 %} + TEMPERATURE_WAIT SENSOR=extruder MINIMUM={etemp-4} MAXIMUM={etemp+50} + {% endif %} + M400 + G91 + M83 + G1 E100 F200 + G4 P2000 + G1 X-20 F15000 + G1 X20 + G1 X-20 + G1 X20 + G1 X-20 + G1 X20 + G90 + G92 E{saved_e} + M400 + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=flag_print_status VALUE="{0}" + M400 + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_print_status VALUE="{1}" + M400 + RESTORE_GCODE_STATE NAME=timelapse_state_b MOVE=1 MOVE_SPEED=250 + M400 + RESTORE_GCODE_STATE NAME=timelapse_state_a MOVE=1 MOVE_SPEED=50 + M400 + M24 + {% else %} + M400 + {% endif %} + +[gcode_macro CANCEL_PRINT] +rename_existing: BASE_CANCEL_PRINT +variable_flag_home_x: 0 +variable_flag_home_y: 0 +gcode: + clear_last_file + M400 + SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=flag_print_status VALUE="{0}" + M400 + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_print_status VALUE="{1}" + M400 + {% set RUN_VELOCITY = printer.configfile.settings['printer'].max_velocity|float %} + {% set RUN_ACCEL = printer.configfile.settings['printer'].max_accel|float %} + {% set RUN_DECEL = printer.configfile.settings['printer'].max_accel|float %} + SET_VELOCITY_LIMIT VELOCITY={RUN_VELOCITY} ACCEL={RUN_ACCEL} ACCEL_TO_DECEL={RUN_DECEL} + {% set z = params.Z|default(200)|int %} + {% set x_park = params.X|default(printer.toolhead.axis_minimum.x+30)|int %} + {% set y_park = params.Y|default(printer.toolhead.axis_minimum.y+30)|int %} + SET_IDLE_TIMEOUT TIMEOUT={printer.configfile.settings.idle_timeout.timeout} + SDCARD_RESET_FILE + M220 S100 + M221 S100 + {%if flag_home_x > 0.5 and flag_home_y > 0.5%} + M400 ; wait for buffer to clear + M83 ; zero the extruder + G1 E-2.0 F1200 ; retract filament + {%if (printer.gcode_move.position.z+10) < z %} + G90 + G1 X{x_park} Y{y_park} Z{z+10} F6000 + {% else %} + G91 ; relative positioning + G1 Z5 F600 + G90 + G1 X{x_park} Y{y_park} F6000 + {% endif %} + {% else %} + G91 + G1 Z5 F600 + {% endif %} + TURN_OFF_HEATERS + M107 ; turn off fan + G90 + M82 + M84 + +############################################################################# +# Filament Sensor & Change Macros +############################################################################# + +[filament_switch_sensor fila] +pause_on_runout: True +runout_gcode: + SET_FILAMENT_SENSOR SENSOR=fila ENABLE=1 +event_delay: 3.0 +pause_delay: 0.5 +switch_pin: PD4 + +[gcode_macro m600] +description: Pauses the current print. +gcode: + PAUSE + M400 + {action_respond_info("M600 :Pauses the current print.")} + +############################################################################# +# X/Y/Z Stepper Config +############################################################################# + +[stepper_x] +step_pin:PC14 +dir_pin:PC13 +enable_pin:!PC15 +microsteps: 16 +rotation_distance: 59.8519 +full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper +endstop_pin:PD0 +position_min: -5 +position_endstop:815 +position_max: 815.5 +homing_speed:80 +homing_retract_dist:10 +second_homing_speed:10 +homing_positive_dir:true +step_pulse_duration:0.000002 + +[stepper_y] +step_pin:PE3 +dir_pin:PE2 +enable_pin:!PE4 +microsteps:16 +rotation_distance: 59.8519 +full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper +gear_ratio: 50:20 +endstop_pin:PC12 +position_min: -1.0 +position_endstop:805.0 +position_max:805.5 +homing_speed:80 +homing_retract_dist:10 +second_homing_speed:10 +homing_positive_dir:true +step_pulse_duration:0.000002 + +[stepper_z] +step_pin:PB8 +dir_pin:PB7 +enable_pin: !PB9 +microsteps: 16 +rotation_distance: 8 +gear_ratio: 50:20 +full_steps_per_rotation: 200 +endstop_pin:PC11 +position_endstop:0 +position_max: 1020 # Limit travel: 1050 +position_min: -12 +homing_speed: 10 +second_homing_speed: 3 +homing_retract_dist: 5 +homing_positive_dir:false + +[stepper_z1] +step_pin:PB3 +dir_pin:PD7 +enable_pin: !PB4 +microsteps: 16 +rotation_distance: 8 +gear_ratio: 50:20 +full_steps_per_rotation: 200 +endstop_pin:PC10 + +############################################################################# +# TMC Stepper-driver UART Config +############################################################################# + +[tmc2209 stepper_x] +uart_pin: PE5 +run_current: 1.8 +hold_current: 1.0 +interpolate: False +#interpolate: True +#stealthchop_threshold:99999 +# driver_SGTHRS:80 +# diag_pin:^PD0 + +[tmc5160 stepper_y] +cs_pin:PE0 +spi_software_sclk_pin:PE12 +spi_software_mosi_pin:PE14 +spi_software_miso_pin:PE13 +spi_speed:200000 +run_current: 2.8 +hold_current: 1.5 +sense_resistor: 0.033 +interpolate:False +#interpolate:True +#stealthchop_threshold:99999 + +[tmc2209 stepper_z] +uart_pin: PB5 +run_current: 1.0 +hold_current: 1.0 +#interpolate: True +#stealthchop_threshold: 120 + +[tmc2209 stepper_z1] +uart_pin: PD5 +run_current: 1.0 +hold_current: 1.0 +#interpolate: True +#stealthchop_threshold: 120 + +[tmc2209 extruder] +uart_pin: mcu1:gpio6 +interpolate: true +run_current: 0.8 +hold_current: 0.2 +sense_resistor: 0.110 +stealthchop_threshold: 0 + +[motor_constants ldo-42sth60-2004ac] +resistance: 0.45#2.1 +inductance:0.00124 #0.0041 +holding_torque: 1.300#0.85 +max_current: 2.8 +steps_per_revolution: 200 + +[motor_constants ldo-42sth47-1684a] +resistance: 1.1 +inductance: 0.0028 +holding_torque: 0.62 +max_current: 1.8 +steps_per_revolution: 200 + +[autotune_tmc stepper_y] +motor: ldo-42sth60-2004ac + +[autotune_tmc stepper_x] +motor: ldo-42sth47-1684a + +############################################################################# +# Extruder Config +############################################################################# + +[extruder] +step_pin:mcu1:gpio5 +dir_pin:mcu1:gpio4 +enable_pin:!mcu1:gpio10 +microsteps:16 +rotation_distance: 31.4 #Bondtech 5mm Drive Gears +gear_ratio: 52:10 +full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree +nozzle_diameter: 1.000 +filament_diameter: 1.750 +min_temp: 0 +max_temp: 330 +heater_pin:mcu1:gpio0 +sensor_type:NTC 100K MGB18-104F39050L32 +sensor_pin: mcu1:gpio26 +max_power: 1 +pressure_advance: 0.032 +pressure_advance_smooth_time: 0.02 +max_extrude_cross_section:500 +instantaneous_corner_velocity: 2.5 +max_extrude_only_distance: 300 +max_extrude_only_velocity:60 +max_extrude_only_accel:2000 +step_pulse_duration:0.000002 +min_extrude_temp:0 + +[verify_heater extruder] +max_error: 30 +check_gain_time:10 +hysteresis: 10 +heating_gain: 2 + +############################################################################# +# Bed Heater Config +############################################################################# + +[heater_bed] +heater_pin:PA3 +sensor_type: NTC 100K MGB18-104F39050L32 +sensor_pin: PC3 +smooth_time: 0.1 +control = pid +pid_Kp = 70.591 +pid_Ki = 1.055 +pid_Kd = 1180.632 +min_temp: 0 +max_temp: 130 + +[verify_heater heater_bed] +max_error: 600 +check_gain_time:120 +hysteresis: 10 +heating_gain: 2 + +[heater_generic heater_bed1] +gcode_id:M108 +heater_pin:PA2 +max_power:1.0 +sensor_type: NTC 100K MGB18-104F39050L32 +sensor_pin:PC2 +smooth_time: 0.1 +control = pid +pid_Kp = 70.591 +pid_Ki = 1.055 +pid_Kd = 1180.632 +min_temp: 0 +max_temp: 130 + +[verify_heater heater_bed1] +max_error: 600 +check_gain_time:120 +hysteresis: 10 +heating_gain: 2 + +[heater_generic heater_bed2] +gcode_id:M105 +heater_pin:PA1 +max_power:1.0 +sensor_type: NTC 100K MGB18-104F39050L32 +sensor_pin:PC1 +smooth_time: 0.1 +control = pid +pid_Kp = 70.591 +pid_Ki = 1.055 +pid_Kd = 1180.632 +min_temp: 0 +max_temp: 130 + +[verify_heater heater_bed2] +max_error: 600 +check_gain_time:120 +hysteresis: 10 +heating_gain: 2 + +[heater_generic heater_bed3] +gcode_id:M110 +heater_pin:PA0 +max_power:1.0 +sensor_type: NTC 100K MGB18-104F39050L32 +sensor_pin:PC0 +smooth_time: 0.1 +control = pid +pid_Kp = 70.591 +pid_Ki = 1.055 +pid_Kd = 1180.632 +min_temp: 0 +max_temp: 130 + +[verify_heater heater_bed3] +max_error: 600 +check_gain_time:120 +hysteresis: 10 +heating_gain: 2 + +############################################################################# +# Probe Config +############################################################################# + +[probe] +pin:^mcu1:gpio11 +x_offset: -14.0 +y_offset: -29.5 +z_offset: 0.0 +speed: 5.0 +samples: 2 +samples_result: median +sample_retract_dist: 3.0 +samples_tolerance: 0.05 +samples_tolerance_retries:4 + +[bed_mesh] +speed:120 +horizontal_move_z:5 +mesh_min:16,10 +mesh_max:786,767 +probe_count:10,10 +algorithm:bicubic +bicubic_tension:0.2 +mesh_pps: 4, 4 +fade_start: 1.0 +fade_end: 30.0 + +############################################################################# +# LED Config +############################################################################# + +[output_pin caselight] +pin:mcu1:gpio25 +pwm: false +shutdown_value:0 +value:0.0 + +############################################################################# +# Beeper Config N/A? +############################################################################# + + +############################################################################# +# Fan & Temp Monitoring Config +############################################################################# + +[controller_fan controller_fan1] +pin: PB0 +fan_speed: 1.0 +idle_timeout: 3600 + +[heater_fan heater1fan] +pin:mcu1:gpio3 +shutdown_speed: 1 +heater: extruder +heater_temp: 50.0 +fan_speed: 1.0 + +[output_pin fan1] +pin:mcu1:gpio1 +pwm: True +cycle_time: 0.0100 +hardware_pwm: false +value: 0 +scale: 255 +shutdown_value: 0.0 + +[duplicate_pin_override] +pins:PC0 + +############################################################################# +# Homing & Levelling Config/Macros +############################################################################# + +# [safe_z_home] +# home_xy_position: 605,205 +# speed: 150 +# z_hop: 10 +# z_hop_speed: 5 + +[homing_override] +gcode: + {% set x_park = 620.5 | float %} + {% set y_park = 203 | float %} + M400 + {% if (printer.gcode_move.position.z) < 10 %} + G91 + G1 Z20 F600 + G90 + {% endif %} + + {% if params.X is undefined and params.Y is undefined and params.Z is undefined %} + SET_GCODE_VARIABLE MACRO=CANCEL_PRINT VARIABLE=flag_home_x VALUE="{1}" + SET_GCODE_VARIABLE MACRO=CANCEL_PRINT VARIABLE=flag_home_y VALUE="{1}" + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_home_x VALUE="{1}" + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_home_y VALUE="{1}" + G28 X Y + M400 + G1 X{x_park} Y{y_park} F6000 + G28 Z + {% endif %} + + {% if params.X is defined %} + G28 X + SET_GCODE_VARIABLE MACRO=CANCEL_PRINT VARIABLE=flag_home_x VALUE="{1}" + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_home_x VALUE="{1}" + {% endif %} + + {% if params.Y is defined %} + G28 Y + SET_GCODE_VARIABLE MACRO=CANCEL_PRINT VARIABLE=flag_home_y VALUE="{1}" + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_home_y VALUE="{1}" + {% endif %} + + {% if params.Z is defined %} + G90 + G1 X{x_park} Y{y_park} F6000 + G28 Z + G90 + G1 Z10 F600 + SET_GCODE_VARIABLE MACRO=CANCEL_PRINT VARIABLE=flag_home_x VALUE="{1}" + SET_GCODE_VARIABLE MACRO=CANCEL_PRINT VARIABLE=flag_home_y VALUE="{1}" + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_home_x VALUE="{1}" + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_home_y VALUE="{1}" + {% endif %} + +[z_tilt] +z_positions: + -50,400 + 980,400 +points: + 200,400 + 600,400 +speed: 50 +horizontal_move_z: 5 +retries: 10 +retry_tolerance: 0.01 + +############################################################################# +# PID Tuning Macros +############################################################################# + + + +############################################################################# +# Input Shaper Config +############################################################################# + +[input_shaper] +shaper_freq_x: 66.66 +shaper_freq_y: 42.05 +shaper_type_x: mzv +shaper_type_y: ei + +############################################################################# +# Elegoo Extra Macros (to sort) +############################################################################# + +[delayed_gcode KINEMATIC_POSITION] +initial_duration:0.5 +gcode: + SET_KINEMATIC_POSITION X=110 + SET_KINEMATIC_POSITION Y=110 + SET_KINEMATIC_POSITION Z=0 + +[gcode_macro M84] +rename_existing:M84.1 +gcode: + SET_STEPPER_ENABLE STEPPER=stepper_x enable=0 + SET_STEPPER_ENABLE STEPPER=stepper_y enable=0 + SET_STEPPER_ENABLE STEPPER=stepper_z enable=0 + SET_STEPPER_ENABLE STEPPER=stepper_z1 enable=0 + SET_STEPPER_ENABLE STEPPER=extruder enable=0 + SET_KINEMATIC_POSITION + SET_GCODE_VARIABLE MACRO=CANCEL_PRINT VARIABLE=flag_home_x VALUE="{0}" + SET_GCODE_VARIABLE MACRO=CANCEL_PRINT VARIABLE=flag_home_y VALUE="{0}" + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_home_x VALUE="{0}" + SET_GCODE_VARIABLE MACRO=PAUSE VARIABLE=flag_home_y VALUE="{0}" + +[gcode_macro M106] +#rename_existing:M106.1 +gcode: + {% if params.P is defined %} + {% if params.S is defined %} + SET_PIN PIN=fan{params.P|int} VALUE={params.S|int} + {% else %} + SET_PIN PIN=fan{params.P|int} VALUE=255 + {% endif %} + {% else %} + {% if params.S is defined %} + SET_PIN PIN=fan1 VALUE={params.S|int} + {% else %} + SET_PIN PIN=fan1 VALUE=255 + {% endif %} + {% endif %} + +[gcode_macro M107] +#rename_existing:M107.1 +gcode: + {% if params.P is defined %} + {% if params.S is defined %} + SET_PIN PIN=fan{params.P|int} VALUE={params.S|int} + {% else %} + SET_PIN PIN=fan{params.P|int} VALUE=0 + {% endif %} + {% else %} + {% if params.S is defined %} + SET_PIN PIN=fan1 VALUE={params.S|int} + {% else %} + SET_PIN PIN=fan1 VALUE=0 + {% endif %} + {% endif %} + +[gcode_macro m104] +rename_existing: M104.6245197 +gcode: + {% set TARGET = params.S | float %} + {% if "T" in params %} + {% set extruder = "extruder" ~ params.T|replace('0', '') + if "T" in params else printer.toolhead.extruder %} + SET_HEATER_TEMPERATURE HEATER="{extruder}" TARGET={TARGET} + {% else %} + SET_HEATER_TEMPERATURE HEATER=extruder TARGET={TARGET} + {% endif %} + +[gcode_macro m109] +rename_existing: M109.6245197 +gcode: + {% set TARGET = params.S | float %} + {% if "T" in params %} + {% set extruder = "extruder" ~ params.T|replace('0', '') + if "T" in params else printer.toolhead.extruder %} + SET_HEATER_TEMPERATURE HEATER="{extruder}" TARGET={TARGET} + TEMPERATURE_WAIT SENSOR="{extruder}" MINIMUM={TARGET-5} MAXIMUM={TARGET+50} + {% else %} + SET_HEATER_TEMPERATURE HEATER=extruder TARGET={TARGET} + TEMPERATURE_WAIT SENSOR=extruder MINIMUM={TARGET-5} MAXIMUM={TARGET+50} + {% endif %} + +[gcode_macro M140] +rename_existing: M140.6245197 +gcode: + {% if "T" in params %} + {% set heater_bed = "heater_bed" ~ params.T|replace('0', '') %} + SET_HEATER_TEMPERATURE HEATER={heater_bed} TARGET={params.S|default(0)|int} + {% else %} + SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={params.S|int} + SET_HEATER_TEMPERATURE HEATER=heater_bed1 TARGET={params.S|int} + SET_HEATER_TEMPERATURE HEATER=heater_bed2 TARGET={params.S|int} + SET_HEATER_TEMPERATURE HEATER=heater_bed3 TARGET={params.S|int} + {% endif %} + +[gcode_macro M190] +rename_existing: M190.6245197 +gcode: + {% set s = params.S|float %} + {% if "T" in params %} + {% set heater_bed = "heater_bed" ~ params.T|replace('0', '') %} + {% set sensor = heater_bed if heater_bed in + printer.heaters.available_heaters + else ("heater_generic heater_bed" ~ params.T|replace('0', '')) %} + SET_HEATER_TEMPERATURE HEATER={heater_bed} TARGET={params.S|default(0)|int} + TEMPERATURE_WAIT SENSOR="{sensor}" MINIMUM={s-2} MAXIMUM={s+50} + M118 {heater_bed} heating is complete. + {% else %} + SET_HEATER_TEMPERATURE HEATER=heater_bed TARGET={params.S|int} + SET_HEATER_TEMPERATURE HEATER=heater_bed1 TARGET={params.S|int} + SET_HEATER_TEMPERATURE HEATER=heater_bed2 TARGET={params.S|int} + SET_HEATER_TEMPERATURE HEATER=heater_bed3 TARGET={params.S|int} + TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s-3} MAXIMUM={s+50} + TEMPERATURE_WAIT SENSOR="heater_generic heater_bed1" MINIMUM={s-3} MAXIMUM={s+50} + TEMPERATURE_WAIT SENSOR="heater_generic heater_bed2" MINIMUM={s-3} MAXIMUM={s+50} + TEMPERATURE_WAIT SENSOR="heater_generic heater_bed3" MINIMUM={s-3} MAXIMUM={s+50} + M118 Hot bed heating is complete. + {% endif %} + + +#*# <---------------------- SAVE_CONFIG ----------------------> +#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. +#*# +#*# [extruder] +#*# control :pid +#*# pid_kp : 26.213 +#*# pid_ki : 1.304 +#*# pid_kd : 131.721 \ No newline at end of file