From e7f3a14c429fbbb28b9fc7ff628567401cf0ebfc Mon Sep 17 00:00:00 2001 From: Galloant <69965491+Galloant@users.noreply.github.com> Date: Wed, 30 Apr 2025 19:43:39 +0200 Subject: [PATCH 01/13] Fixes and improvements - Corrected mcu.config to correct settings -Added printhead.config for the RP2040 - Fixed issues in the base.cfg - Got the ADXL it's own config file and deleted it off the printer.cfg (base.cfg) - Changed the rpi-mcu-install.sh to try to automate the update of the STM32 firmware -Added RP2040 (printhead) section in the rpi-mcu-install.sh --- img-config/rpi-mcu-install.sh | 191 ++++++++++++++++++++++++---------- mcu-firmware/mcu.config | 4 +- mcu-firmware/printhead.config | 84 +++++++++++++++ printer-confs/adxl.cfg | 19 ++++ printer-confs/base.cfg | 24 +---- 5 files changed, 244 insertions(+), 78 deletions(-) create mode 100644 mcu-firmware/printhead.config create mode 100644 printer-confs/adxl.cfg diff --git a/img-config/rpi-mcu-install.sh b/img-config/rpi-mcu-install.sh index c3fc1ed..56ced24 100755 --- a/img-config/rpi-mcu-install.sh +++ b/img-config/rpi-mcu-install.sh @@ -8,10 +8,11 @@ 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;; Cancel ) echo "Update canceled."; exit;; @@ -32,60 +33,140 @@ 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 flash_can.py -i can0 -u $uuid -f ~/klipper/out/klipper.bin + + return + } + + + 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 + fi + } + + if auto_updater; then + echo "Auto update for the STM32 was a success!!" + echo "" + echo "continuing..." + sleep 2 + else + echo "Auto update didn't work..." + echo "" + echo "Trying the SD-card method..." + sleep 2 + manual_update + fi +fi - # 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 - - # 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 - fi +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 + 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 flash_can.py -i can0 -u $uuid -f ~/klipper/out/klipper.bin + + return + } + + + if auto_updater; then + echo "Auto update for the STM32 was a success!!" + echo "" + echo "That's a problem..." + sleep 2 + + fi fi # Update procedure for Pico-based Accelerometer diff --git a/mcu-firmware/mcu.config b/mcu-firmware/mcu.config index e4d1567..9093ef2 100644 --- a/mcu-firmware/mcu.config +++ b/mcu-firmware/mcu.config @@ -74,12 +74,12 @@ 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_USBCANBUS_PA11_PA12=y CONFIG_STM32_CANBUS_PB8_PB9=y CONFIG_USB_VENDOR_ID=0x1d50 CONFIG_USB_DEVICE_ID=0x614e diff --git a/mcu-firmware/printhead.config b/mcu-firmware/printhead.config new file mode 100644 index 0000000..428a285 --- /dev/null +++ b/mcu-firmware/printhead.config @@ -0,0 +1,84 @@ +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_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/printer-confs/adxl.cfg b/printer-confs/adxl.cfg new file mode 100644 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 index 98f9be7..5b94a9e 100644 --- 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 From 86242ed7812f4208e38b7a99d9364b75cad93444 Mon Sep 17 00:00:00 2001 From: Galloant <69965491+Galloant@users.noreply.github.com> Date: Sat, 3 May 2025 18:09:09 +0200 Subject: [PATCH 02/13] Update - Added "TRSYNC_TIMEOUT" time bump to fix `!!TIMEOUT WHILE PROBING` error --- OpenOrangeStorm.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OpenOrangeStorm.sh b/OpenOrangeStorm.sh index 40bf220..3d2e3cb 100755 --- a/OpenOrangeStorm.sh +++ b/OpenOrangeStorm.sh @@ -663,6 +663,10 @@ install_configs() { fi } +probe_timeout_fix() { +sed -i 's/[TRSYNC_TIMEOUT = 0.025/TRSYNC_TIMEOUT = 0.050/g' ~/klipper/klippy/mcu.py +} + wifi_config() { sudo nmtui } @@ -733,6 +737,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 } @@ -821,6 +826,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 From 5f2f307f628195fbd458912c8197bb28dea44a49 Mon Sep 17 00:00:00 2001 From: Galloant <69965491+Galloant@users.noreply.github.com> Date: Sat, 3 May 2025 21:56:25 +0200 Subject: [PATCH 03/13] Fixes - Uncommented the `run_fixes` function from `main` to not send my VM into oblivion --- OpenOrangeStorm.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/OpenOrangeStorm.sh b/OpenOrangeStorm.sh index 3d2e3cb..da9f0c3 100755 --- a/OpenOrangeStorm.sh +++ b/OpenOrangeStorm.sh @@ -9,7 +9,7 @@ ANDROID_RULE_INSTALLER="${HOME}/OpenOrangeStorm/img-config/adb-automount.sh" CROWSNEST_FIX_INSTALLER="${HOME}/OpenOrangeStorm/img-config/crowsnest-lag-fix.sh" BASE_IMAGE_INSTALLER="${HOME}/OpenOrangeStorm/img-config/base_image_configuration.sh" -FLAG_FILE="/boot/.OpenOrangeStorm.txt" + MODEL_FROM_FLAG=$(grep -E '^GIGA|^giga' "$FLAG_FILE") KERNEL_FROM_FLAG=$(grep 'Linux' "$FLAG_FILE" | awk '{split($3,a,"-"); print a[1]}') @@ -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" 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 @@ -790,7 +793,7 @@ done # Main Script Logic if [ -z "$1" ]; then - run_fixes + set_current_branch update_repo From 2b17b18c18d7a83d8a1a437d946da57b52947acc Mon Sep 17 00:00:00 2001 From: Galloant <69965491+Galloant@users.noreply.github.com> Date: Sun, 4 May 2025 09:18:38 +0200 Subject: [PATCH 04/13] Fixes - Fixed issue with `probe_timeout_fix` not working - Fixed STM32 firmware config - Fixed `make` not putting out a `.bin` file Scripts running on VM --- OpenOrangeStorm.sh | 4 +- img-config/adb-automount.sh | 0 img-config/base_image_configuration.sh | 0 img-config/crowsnest-lag-fix.sh | 0 img-config/power_monitor.sh | 0 img-config/rpi-mcu-install.sh | 31 +++++++++++---- img-config/set-printer-model.sh | 0 img-config/usb-storage-automount.sh | 0 mcu-firmware/mcu.config | 55 +++++++++++++++++++------- 9 files changed, 65 insertions(+), 25 deletions(-) mode change 100755 => 100644 OpenOrangeStorm.sh mode change 100755 => 100644 img-config/adb-automount.sh mode change 100755 => 100644 img-config/base_image_configuration.sh mode change 100755 => 100644 img-config/crowsnest-lag-fix.sh mode change 100755 => 100644 img-config/power_monitor.sh mode change 100755 => 100644 img-config/rpi-mcu-install.sh mode change 100755 => 100644 img-config/set-printer-model.sh mode change 100755 => 100644 img-config/usb-storage-automount.sh diff --git a/OpenOrangeStorm.sh b/OpenOrangeStorm.sh old mode 100755 new mode 100644 index da9f0c3..eba58f7 --- a/OpenOrangeStorm.sh +++ b/OpenOrangeStorm.sh @@ -245,7 +245,7 @@ advanced_more() { echo "" echo -e "7) Change Machine Model / Board Version / Motor Current" echo "" - echo -e "8) Probe Timeout Fix" + echo -e "8) Probe Timeout Fix (Only for Orange Storm Giga)" echo -e "----------------------------------------------------------${NC}" echo "" echo -e "(${Y} B ${NC}) Back to Main Menu" @@ -667,7 +667,7 @@ install_configs() { } probe_timeout_fix() { -sed -i 's/[TRSYNC_TIMEOUT = 0.025/TRSYNC_TIMEOUT = 0.050/g' ~/klipper/klippy/mcu.py + sed -i "s|TRSYNC_TIMEOUT = 0.025|TRSYNC_TIMEOUT = 0.050|g" ~/klipper/klippy/mcu.py } wifi_config() { diff --git a/img-config/adb-automount.sh b/img-config/adb-automount.sh old mode 100755 new mode 100644 diff --git a/img-config/base_image_configuration.sh b/img-config/base_image_configuration.sh old mode 100755 new mode 100644 diff --git a/img-config/crowsnest-lag-fix.sh b/img-config/crowsnest-lag-fix.sh old mode 100755 new mode 100644 diff --git a/img-config/power_monitor.sh b/img-config/power_monitor.sh old mode 100755 new mode 100644 diff --git a/img-config/rpi-mcu-install.sh b/img-config/rpi-mcu-install.sh old mode 100755 new mode 100644 index 56ced24..1e5ca16 --- a/img-config/rpi-mcu-install.sh +++ b/img-config/rpi-mcu-install.sh @@ -14,7 +14,7 @@ if [[ -z $1 ]]; then 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 @@ -23,6 +23,10 @@ else mcu_choice=$1 fi +# Installing Katapult +cd ~/ +git clone https://github.com/Arksine/katapult + # Update Klipper repository cd ~/klipper/ && git pull origin master @@ -108,7 +112,6 @@ if [[ "$mcu_choice" == "STM32" ]] || [[ "$mcu_choice" == "All" ]]; then exit fi fi - fi } if auto_updater; then @@ -136,11 +139,11 @@ if [[ "$mcu_choice" == "RP2040" ]] || [[ "$mcu_choice" == "All" ]]; then auto_updater() { echo "Trying to put the RP2040 into bootloader mode..." - echo M112 > ~/printer_data/comms/klippy.serial + sudo M112 > ~/printer_data/comms/klippy.serial sleep 1 - echo FIRMWARE_RESTART > ~/printer_data/comms/klippy.serial + sudo FIRMWARE_RESTART > ~/printer_data/comms/klippy.serial sleep 1 - systemctl stop klipper + sudo systemctl stop klipper echo "Checking if succeeded..." output=$(cd ~/katapult/scripts && python3 flash_can.py -i can0 -q) @@ -161,11 +164,23 @@ if [[ "$mcu_choice" == "RP2040" ]] || [[ "$mcu_choice" == "All" ]]; then if auto_updater; then - echo "Auto update for the STM32 was a success!!" + echo "Auto update for the RP2040 was a success!!" echo "" - echo "That's a problem..." 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 diff --git a/img-config/set-printer-model.sh b/img-config/set-printer-model.sh old mode 100755 new mode 100644 diff --git a/img-config/usb-storage-automount.sh b/img-config/usb-storage-automount.sh old mode 100755 new mode 100644 diff --git a/mcu-firmware/mcu.config b/mcu-firmware/mcu.config index 9093ef2..e6b67ab 100644 --- 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 @@ -18,7 +18,7 @@ CONFIG_FLASH_BOOT_ADDRESS=0x8000000 CONFIG_RAM_START=0x20000000 CONFIG_RAM_SIZE=0x20000 CONFIG_STACK_SIZE=512 -CONFIG_FLASH_APPLICATION_ADDRESS=0x8008000 +CONFIG_FLASH_APPLICATION_ADDRESS=0x800C000 CONFIG_STM32_SELECT=y # CONFIG_MACH_STM32F103 is not set # CONFIG_MACH_STM32F207 is not set @@ -49,10 +49,10 @@ 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_FLASH_START_8000=y +CONFIG_STM32_DFU_ROM_ADDRESS=0x1fff0000 +# CONFIG_STM32_FLASH_START_8000 is not set # CONFIG_STM32_FLASH_START_20200 is not set -# CONFIG_STM32_FLASH_START_C000 is not set +CONFIG_STM32_FLASH_START_C000=y # CONFIG_STM32_FLASH_START_10000 is not set # CONFIG_STM32_FLASH_START_4000 is not set # CONFIG_STM32_FLASH_START_0000 is not set @@ -80,24 +80,51 @@ CONFIG_STM32F0_TRIM=16 # CONFIG_STM32_MMENU_CANBUS_PB12_PB13 is not set # CONFIG_STM32_MMENU_CANBUS_PD0_PD1 is not set CONFIG_STM32_USBCANBUS_PA11_PA12=y +CONFIG_STM32_CMENU_CANBUS_PB8_PB9=y +# CONFIG_STM32_CMENU_CANBUS_PI9_PH13 is not set +# CONFIG_STM32_CMENU_CANBUS_PB5_PB6 is not set +# CONFIG_STM32_CMENU_CANBUS_PB12_PB13 is not set +# CONFIG_STM32_CMENU_CANBUS_PD0_PD1 is not set CONFIG_STM32_CANBUS_PB8_PB9=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_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=y CONFIG_INITIAL_PINS="" CONFIG_HAVE_GPIO=y CONFIG_HAVE_GPIO_ADC=y @@ -107,6 +134,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 From 1adab48e40941cf6178e14c6b10e5a00bf0e3181 Mon Sep 17 00:00:00 2001 From: Galloant <69965491+Galloant@users.noreply.github.com> Date: Sun, 4 May 2025 09:20:03 +0200 Subject: [PATCH 05/13] Fixes - Small syntax fix --- img-config/rpi-mcu-install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/img-config/rpi-mcu-install.sh b/img-config/rpi-mcu-install.sh index 1e5ca16..bb4069c 100644 --- a/img-config/rpi-mcu-install.sh +++ b/img-config/rpi-mcu-install.sh @@ -139,9 +139,9 @@ if [[ "$mcu_choice" == "RP2040" ]] || [[ "$mcu_choice" == "All" ]]; then auto_updater() { echo "Trying to put the RP2040 into bootloader mode..." - sudo M112 > ~/printer_data/comms/klippy.serial + echo M112 > ~/printer_data/comms/klippy.serial sleep 1 - sudo FIRMWARE_RESTART > ~/printer_data/comms/klippy.serial + echo FIRMWARE_RESTART > ~/printer_data/comms/klippy.serial sleep 1 sudo systemctl stop klipper From 00a8e43d707a784373846d134f9327d4ef41a87c Mon Sep 17 00:00:00 2001 From: Galloant <69965491+Galloant@users.noreply.github.com> Date: Sun, 4 May 2025 09:24:12 +0200 Subject: [PATCH 06/13] Update Just added the `run_fixes` back in on script start --- OpenOrangeStorm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenOrangeStorm.sh b/OpenOrangeStorm.sh index eba58f7..7515bf7 100644 --- a/OpenOrangeStorm.sh +++ b/OpenOrangeStorm.sh @@ -793,7 +793,7 @@ done # Main Script Logic if [ -z "$1" ]; then - + run_fixes set_current_branch update_repo From a821cd9e65edc1294bc57fe865577239f3c6d1da Mon Sep 17 00:00:00 2001 From: Galloant <69965491+Galloant@users.noreply.github.com> Date: Sun, 25 May 2025 18:31:59 +0200 Subject: [PATCH 07/13] Fixes -> Fixed a directory bug -> Added python3-serial install --- img-config/rpi-mcu-install.sh | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/img-config/rpi-mcu-install.sh b/img-config/rpi-mcu-install.sh index bb4069c..316c061 100644 --- a/img-config/rpi-mcu-install.sh +++ b/img-config/rpi-mcu-install.sh @@ -30,6 +30,9 @@ 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 @@ -61,7 +64,7 @@ if [[ "$mcu_choice" == "STM32" ]] || [[ "$mcu_choice" == "All" ]]; then # Confirm the selected UUID echo "You selected the UUID: $uuid" - python3 flash_can.py -i can0 -u $uuid -f ~/klipper/out/klipper.bin + python3 ~/katapult/scripts/flash_can.py -i can0 -u $uuid -f ~/klipper/out/klipper.bin return } @@ -118,7 +121,9 @@ if [[ "$mcu_choice" == "STM32" ]] || [[ "$mcu_choice" == "All" ]]; then echo "Auto update for the STM32 was a success!!" echo "" echo "continuing..." - sleep 2 + 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 "" @@ -157,7 +162,7 @@ if [[ "$mcu_choice" == "RP2040" ]] || [[ "$mcu_choice" == "All" ]]; then # Confirm the selected UUID echo "You selected the UUID: $uuid" - python3 flash_can.py -i can0 -u $uuid -f ~/klipper/out/klipper.bin + python3 ~/katapult/scripts/flash_can.py -i can0 -u $uuid -f ~/klipper/out/klipper.bin return } From 5fc63b7692462da948f636905f369c5c89bcb184 Mon Sep 17 00:00:00 2001 From: Galloant <69965491+Galloant@users.noreply.github.com> Date: Sun, 25 May 2025 20:40:44 +0200 Subject: [PATCH 08/13] Fixes -> Fixed error in the mcu.config -> Added line to make user aware that the timeout fix has been executed successfully --- OpenOrangeStorm.sh | 3 +++ mcu-firmware/mcu.config | 14 +++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/OpenOrangeStorm.sh b/OpenOrangeStorm.sh index 7515bf7..7d15e37 100644 --- a/OpenOrangeStorm.sh +++ b/OpenOrangeStorm.sh @@ -668,6 +668,9 @@ install_configs() { 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() { diff --git a/mcu-firmware/mcu.config b/mcu-firmware/mcu.config index e6b67ab..09d4a41 100644 --- a/mcu-firmware/mcu.config +++ b/mcu-firmware/mcu.config @@ -18,7 +18,7 @@ CONFIG_FLASH_BOOT_ADDRESS=0x8000000 CONFIG_RAM_START=0x20000000 CONFIG_RAM_SIZE=0x20000 CONFIG_STACK_SIZE=512 -CONFIG_FLASH_APPLICATION_ADDRESS=0x800C000 +CONFIG_FLASH_APPLICATION_ADDRESS=0x8008000 CONFIG_STM32_SELECT=y # CONFIG_MACH_STM32F103 is not set # CONFIG_MACH_STM32F207 is not set @@ -50,9 +50,9 @@ CONFIG_HAVE_STM32_USBOTG=y CONFIG_HAVE_STM32_CANBUS=y CONFIG_HAVE_STM32_USBCANBUS=y CONFIG_STM32_DFU_ROM_ADDRESS=0x1fff0000 -# CONFIG_STM32_FLASH_START_8000 is not set +CONFIG_STM32_FLASH_START_8000=y # CONFIG_STM32_FLASH_START_20200 is not set -CONFIG_STM32_FLASH_START_C000=y +# CONFIG_STM32_FLASH_START_C000 is not set # CONFIG_STM32_FLASH_START_10000 is not set # CONFIG_STM32_FLASH_START_4000 is not set # CONFIG_STM32_FLASH_START_0000 is not set @@ -80,12 +80,12 @@ CONFIG_STM32F0_TRIM=16 # CONFIG_STM32_MMENU_CANBUS_PB12_PB13 is not set # CONFIG_STM32_MMENU_CANBUS_PD0_PD1 is not set CONFIG_STM32_USBCANBUS_PA11_PA12=y -CONFIG_STM32_CMENU_CANBUS_PB8_PB9=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 is not set +CONFIG_STM32_CMENU_CANBUS_PB12_PB13=y # CONFIG_STM32_CMENU_CANBUS_PD0_PD1 is not set -CONFIG_STM32_CANBUS_PB8_PB9=y +CONFIG_STM32_CANBUS_PB12_PB13=y CONFIG_USBCANBUS=y CONFIG_USB=y CONFIG_USB_VENDOR_ID=0x1d50 @@ -124,7 +124,7 @@ CONFIG_CANBUS=y CONFIG_CANBUS_FREQUENCY=1000000 CONFIG_INLINE_STEPPER_HACK=y CONFIG_HAVE_STEPPER_OPTIMIZED_BOTH_EDGE=y -CONFIG_WANT_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 From b61b2bd1e6335a5484ac132c25f5e4ec847843ab Mon Sep 17 00:00:00 2001 From: Galloant Date: Mon, 2 Jun 2025 18:23:47 +0000 Subject: [PATCH 09/13] Bugfix --- OpenOrangeStorm.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 OpenOrangeStorm.sh diff --git a/OpenOrangeStorm.sh b/OpenOrangeStorm.sh old mode 100644 new mode 100755 From 5ee113a7b7d0cb62f4298374515da7ebb75bbd32 Mon Sep 17 00:00:00 2001 From: Galloant Date: Sat, 7 Jun 2025 18:51:38 +0000 Subject: [PATCH 10/13] Bugfix --- .github/FUNDING.yml | 0 OpenOrangeStorm.sh | 2 +- README.md | 0 dtb/giga/giga-v3.0-dts-newer.txt | 0 dtb/giga/giga-v3.0-dts.txt | 0 dtb/giga/rk3328-roc-cc-newer.dtb | Bin dtb/giga/rk3328-roc-cc.dtb | Bin img-config/adb-automount.sh | 0 img-config/base_image_configuration.sh | 0 img-config/crowsnest-lag-fix.sh | 0 img-config/power_monitor.sh | 0 img-config/printer-data/KAMP_Settings.cfg | 0 img-config/printer-data/data.mdb | Bin img-config/printer-data/klipper_debug.cfg | 0 img-config/printer-data/mainsail.cfg | 0 img-config/printer-data/moonraker.conf | 0 img-config/rpi-mcu-install.sh | 0 img-config/set-printer-model.sh | 0 img-config/usb-storage-automount.sh | 0 mcu-firmware/ElegooSD-restore.bin | Bin mcu-firmware/firmware_backup_new.bin | Bin mcu-firmware/mcu.config | 0 mcu-firmware/pico_usb.config | 0 mcu-firmware/printhead.config | 0 mcu-firmware/virtualmcu.config | 0 ... (0.6 nozzle)-OpenOrangeStorm.orca_printer | Bin pictures/OpenOrangeStorm.png | Bin pictures/advanced-page.png | 0 pictures/logo_openorangestorm.svg | 0 pictures/main-page.png | 0 printer-confs/adxl.cfg | 0 printer-confs/base.cfg | 0 printer-confs/generate_conf.py | 0 printer-confs/giga/giga.cfg | 0 printer-confs/giga/printer.cfg | 0 printer-confs/giga/znp_mcu.cfg | 0 printer-confs/giga/znp_thr1.cfg | 0 printer-confs/output.cfg | 816 ++++++++++++++++++ 38 files changed, 817 insertions(+), 1 deletion(-) mode change 100644 => 100755 .github/FUNDING.yml mode change 100644 => 100755 README.md mode change 100644 => 100755 dtb/giga/giga-v3.0-dts-newer.txt mode change 100644 => 100755 dtb/giga/giga-v3.0-dts.txt mode change 100644 => 100755 dtb/giga/rk3328-roc-cc-newer.dtb mode change 100644 => 100755 dtb/giga/rk3328-roc-cc.dtb mode change 100644 => 100755 img-config/adb-automount.sh mode change 100644 => 100755 img-config/base_image_configuration.sh mode change 100644 => 100755 img-config/crowsnest-lag-fix.sh mode change 100644 => 100755 img-config/power_monitor.sh mode change 100644 => 100755 img-config/printer-data/KAMP_Settings.cfg mode change 100644 => 100755 img-config/printer-data/data.mdb mode change 100644 => 100755 img-config/printer-data/klipper_debug.cfg mode change 100644 => 100755 img-config/printer-data/mainsail.cfg mode change 100644 => 100755 img-config/printer-data/moonraker.conf mode change 100644 => 100755 img-config/rpi-mcu-install.sh mode change 100644 => 100755 img-config/set-printer-model.sh mode change 100644 => 100755 img-config/usb-storage-automount.sh mode change 100644 => 100755 mcu-firmware/ElegooSD-restore.bin mode change 100644 => 100755 mcu-firmware/firmware_backup_new.bin mode change 100644 => 100755 mcu-firmware/mcu.config mode change 100644 => 100755 mcu-firmware/pico_usb.config mode change 100644 => 100755 mcu-firmware/printhead.config mode change 100644 => 100755 mcu-firmware/virtualmcu.config mode change 100644 => 100755 orca-profiles/giga/Elegoo Giga (0.6 nozzle)-OpenOrangeStorm.orca_printer mode change 100644 => 100755 pictures/OpenOrangeStorm.png mode change 100644 => 100755 pictures/advanced-page.png mode change 100644 => 100755 pictures/logo_openorangestorm.svg mode change 100644 => 100755 pictures/main-page.png mode change 100644 => 100755 printer-confs/adxl.cfg mode change 100644 => 100755 printer-confs/base.cfg mode change 100644 => 100755 printer-confs/generate_conf.py mode change 100644 => 100755 printer-confs/giga/giga.cfg mode change 100644 => 100755 printer-confs/giga/printer.cfg mode change 100644 => 100755 printer-confs/giga/znp_mcu.cfg mode change 100644 => 100755 printer-confs/giga/znp_thr1.cfg create mode 100644 printer-confs/output.cfg 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 7d15e37..238554e 100755 --- a/OpenOrangeStorm.sh +++ b/OpenOrangeStorm.sh @@ -9,7 +9,7 @@ ANDROID_RULE_INSTALLER="${HOME}/OpenOrangeStorm/img-config/adb-automount.sh" CROWSNEST_FIX_INSTALLER="${HOME}/OpenOrangeStorm/img-config/crowsnest-lag-fix.sh" BASE_IMAGE_INSTALLER="${HOME}/OpenOrangeStorm/img-config/base_image_configuration.sh" - +FLAG_FILE="/boot/.OpenOrangeStorm.txt" MODEL_FROM_FLAG=$(grep -E '^GIGA|^giga' "$FLAG_FILE") KERNEL_FROM_FLAG=$(grep 'Linux' "$FLAG_FILE" | awk '{split($3,a,"-"); print a[1]}') 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/adb-automount.sh b/img-config/adb-automount.sh old mode 100644 new mode 100755 diff --git a/img-config/base_image_configuration.sh b/img-config/base_image_configuration.sh old mode 100644 new mode 100755 diff --git a/img-config/crowsnest-lag-fix.sh b/img-config/crowsnest-lag-fix.sh old mode 100644 new mode 100755 diff --git a/img-config/power_monitor.sh b/img-config/power_monitor.sh 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 old mode 100644 new mode 100755 diff --git a/img-config/set-printer-model.sh b/img-config/set-printer-model.sh old mode 100644 new mode 100755 diff --git a/img-config/usb-storage-automount.sh b/img-config/usb-storage-automount.sh old mode 100644 new mode 100755 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 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 old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/printer-confs/base.cfg b/printer-confs/base.cfg old mode 100644 new mode 100755 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..6fe3681 --- /dev/null +++ b/printer-confs/output.cfg @@ -0,0 +1,816 @@ +#---------------------------------------------------------------------------- +# ____ ____ ______ +# / __ \___ ___ ___ / __ \_______ ____ ___ ____ / __/ /____ ______ _ +# / /_/ / _ \/ -_) _ \/ /_/ / __/ _ `/ _ \/ _ `/ -_)\ \/ __/ _ \/ __/ ' \ +# \____/ .__/\__/_//_/\____/_/ \_,_/_//_/\_, /\__/___/\__/\___/_/ /_/_/_/ +# /_/ /___/ +# +#---------------------------------------------------------------------------- +; 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 + +#*# <---------------------- 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 From e622adc7b21f0987b75cbc048282aff882320068 Mon Sep 17 00:00:00 2001 From: Galloant Date: Sat, 7 Jun 2025 18:56:59 +0000 Subject: [PATCH 11/13] Bugfix --- printer-confs/output.cfg | 9 --------- 1 file changed, 9 deletions(-) diff --git a/printer-confs/output.cfg b/printer-confs/output.cfg index 6fe3681..9cb299e 100644 --- a/printer-confs/output.cfg +++ b/printer-confs/output.cfg @@ -804,13 +804,4 @@ gcode: #*# control :pid #*# pid_kp : 26.213 #*# pid_ki : 1.304 -#*# pid_kd : 131.721 - -#*# <---------------------- 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 From 1b44e15d26ffffc02b62e1318a49f65fa70200d4 Mon Sep 17 00:00:00 2001 From: Anton Gallmetzer <69965491+Galloant@users.noreply.github.com> Date: Fri, 28 Nov 2025 17:26:45 +0100 Subject: [PATCH 12/13] Update mcu.config Updated mcu.config --- mcu-firmware/mcu.config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mcu-firmware/mcu.config b/mcu-firmware/mcu.config index 09d4a41..e06b630 100755 --- a/mcu-firmware/mcu.config +++ b/mcu-firmware/mcu.config @@ -120,6 +120,8 @@ 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_CANBUS=y CONFIG_CANBUS_FREQUENCY=1000000 CONFIG_INLINE_STEPPER_HACK=y From fbc3cbfedda3120ffb16a5d6f658a8628b7f2534 Mon Sep 17 00:00:00 2001 From: Galloant <69965491+Galloant@users.noreply.github.com> Date: Sat, 29 Nov 2025 13:58:32 +0100 Subject: [PATCH 13/13] Update --- mcu-firmware/printhead.config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mcu-firmware/printhead.config b/mcu-firmware/printhead.config index 428a285..9b10bd7 100755 --- a/mcu-firmware/printhead.config +++ b/mcu-firmware/printhead.config @@ -65,6 +65,8 @@ 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