diff --git a/.github/scripts/configure-git b/.github/scripts/configure-git new file mode 100755 index 000000000000..7f3651971cfa --- /dev/null +++ b/.github/scripts/configure-git @@ -0,0 +1,11 @@ +# Magic from https://github.com/actions/checkout#Checkout-submodules +auth_header="$(git config --local --get http.https://github.com/.extraheader)" +git config --global protocol.version 2 +git config --global http.extraheader "$auth_header" + +# Commit identity +git config --global user.email "actions@github.com" +git config --global user.name "GitHub Actions" + +# Other settings +git config --global advice.detachedHead false diff --git a/.github/workflows/v1-builds.yml b/.github/workflows/v1-builds.yml new file mode 100644 index 000000000000..bdd4fcace541 --- /dev/null +++ b/.github/workflows/v1-builds.yml @@ -0,0 +1,139 @@ +name: V1 Builds + +on: + schedule: + # On 45-th minute, every 6 hours + - cron: '45 */6 * * *' + + push: + branches: + - 'v1-**' + paths-ignore: + - data/** + - docs/** + - '**/*.md' +# pull_request: +# branches: +# - 'v1-**' +# paths-ignore: +# - data/** +# - docs/** +# - '**/*.md' + +jobs: + generate: + name: Generate v1-bugfix-2.0.x + runs-on: ubuntu-latest + + env: + BUILD_BRANCH: v1-bugfix-2.0.x + + steps: + - uses: actions/checkout@v2 + - run: .github/scripts/configure-git + - name: Check out submodules + run: | + (cd MarlinFirmware && ../v1-scripts/fetch-branch "origin/$BUILD_BRANCH") + git submodule sync --recursive + git submodule update --init --force --recursive --remote + + - name: Generate + run: | + v1-scripts/reset-to-manifest + v1-scripts/generate-configs + v1-scripts/commit-configs + + # Based on .github/workflows/test-builds.yml + - name: Select Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: '3.7' # Version range or exact version of a Python version to use, using semvers version range syntax. + architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified + + - name: Install PlatformIO + run: | + pip install -U https://github.com/platformio/platformio-core/archive/master.zip + platformio update + + - name: Check + run: | + #v1-scripts/diff-branches "$BUILD_BRANCH" "origin/$BUILD_BRANCH" && exit 0 # No changes + v1-scripts/build-for-machine MPCNC/Rambo_T8_16T_LCD_DualEndstop + + - name: Push + if: github.event_name != 'pull_request' + run: | + cd MarlinFirmware + git rm .github/workflows/* + git commit -m 'Delete github workflows' + git push origin "HEAD:refs/heads/$BUILD_BRANCH" --force + + build: + + name: ${{ matrix.machine }} + runs-on: ubuntu-latest + needs: generate + + env: + BUILD_BRANCH: v1-bugfix-2.0.x + + strategy: + fail-fast: false # Allow all machines to finish building + matrix: + machine: + - MP3DP/MRambo_16T_aero + - MP3DP/Ramps_16T_MK + #- MPCNC/Archim1_T8_16T_LCD + #- MPCNC/Archim1_T8_16T_LCD_DualEndstop + #- MPCNC/Archim2_T8_16T_LCD_16step + - MPCNC/MRambo_T8_16T_LCD + - MPCNC/Rambo_T8_16T_LCD + - MPCNC/Rambo_T8_16T_LCD_DualEndstop + - MPCNC/Ramps_T8_16T_LCD_32step + - MPCNC/Ramps_T8_16T_LCD_32step_DualEndstop + - MPCNC/SKR1.3_T8_16T_LCD_32step + - MPCNC/SKR1.3_T8_16T_LCD_32step_DualEndstop + - MPCNC/SKRPro1.1_T8_16T_LCD_32step_DualEndstop + - ZenXY/MiniRambo_16T + - ZenXY/Ramps_16T_LCD_32 + - Lowrider/SKR1.3_T8_16T_LCD_32step_DualDrivers + + steps: + - uses: actions/checkout@v2 + - run: .github/scripts/configure-git + - name: Check out submodules + run: | + (cd MarlinFirmware && ../v1-scripts/fetch-branch "origin/$BUILD_BRANCH") + git submodule sync --recursive + git submodule update --init --force --recursive --remote + + # Based on .github/workflows/test-builds.yml + - name: Select Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: '3.7' # Version range or exact version of a Python version to use, using semvers version range syntax. + architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified + + - name: Install PlatformIO + run: | + pip install -U https://github.com/platformio/platformio-core/archive/master.zip + platformio update + + - name: Build + run: | + v1-scripts/build-for-machine ${{ matrix.machine }} + v1-scripts/build-zips ${{ matrix.machine }} + + - name: Release + uses: ncipollo/release-action@v1 + with: + artifacts: ".zip/*.zip,.bin/*" + #bodyFile: "body.md" + token: ${{ secrets.GITHUB_TOKEN }} + prerelease: true + name: unstable + # FIXME: This needs to be dynamic and possibly use a different action + # e.g. https://github.com/actions/create-release/pull/12 + tag: v1-bugfix-2.0.x-auto + commit: ${{ github.ref }} + allowUpdates: true diff --git a/.github/workflows/v1-pull.yml b/.github/workflows/v1-pull.yml new file mode 100644 index 000000000000..4a413cb66af0 --- /dev/null +++ b/.github/workflows/v1-pull.yml @@ -0,0 +1,73 @@ +name: V1 pull from MarlinFirmware + +on: + schedule: + # On 15-th minute, every 6 hours + - cron: '15 */6 * * *' + + push: + branches: + - 'v1-machines**' + paths: + - '.github/workflows/v1-pull.yml' + - '.github/scripts' + - 'v1-scripts/**' + - 'MarlinFirmware' + - '!v1-scripts/config/**' + + pull_request: + branches: + - 'v1-machines**' + paths: + - '.github/workflows/v1-pull.yml' + - '.github/scripts' + - 'v1-scripts/**' + - 'MarlinFirmware' + - '!v1-scripts/config/**' + +jobs: + + pull: + name: Pull from bugfix-2.0.x + runs-on: ubuntu-latest + + env: + UPSTREAM_BRANCH: bugfix-2.0.x + + steps: + - uses: actions/checkout@v2 + - run: .github/scripts/configure-git + - name: Check out submodules + run: | + git submodule sync --recursive + git submodule update --init --force --recursive --depth=1 + + - name: Pull + run: | + v1-scripts/fetch-branch "origin/v1-$UPSTREAM_BRANCH" + v1-scripts/pull-from-upstream + + # Based on .github/workflows/test-builds.yml + - name: Select Python 3.7 + uses: actions/setup-python@v1 + with: + python-version: '3.7' # Version range or exact version of a Python version to use, using semvers version range syntax. + architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified + + - name: Install PlatformIO + run: | + pip install -U https://github.com/platformio/platformio-core/archive/master.zip + platformio update + + - name: Check + run: | + #v1-scripts/diff-branches ... "origin/v1-$UPSTREAM_BRANCH" && exit 0 # No changes + v1-scripts/build-for-machine MPCNC/Rambo_T8_16T_LCD_DualEndstop + + - name: Push + if: github.event_name != 'pull_request' + run: | + cd MarlinFirmware + git rm .github/workflows/* + git commit -m 'Delete github workflows' + git push origin "HEAD:refs/heads/v1-$UPSTREAM_BRANCH" --force diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..fa3235dbbcd9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/.bin +/.zip diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000000..ece59852ffb3 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "MarlinFirmware"] + path = MarlinFirmware + url = ./ + branch = v1-bugfix-2.0.x diff --git a/Lowrider2_Coupling_Saver_D19L25.stl b/Lowrider2_Coupling_Saver_D19L25.stl new file mode 100644 index 000000000000..22d51282320b Binary files /dev/null and b/Lowrider2_Coupling_Saver_D19L25.stl differ diff --git a/Lowrider2_Z_Hard_Stop_Spacer.stl b/Lowrider2_Z_Hard_Stop_Spacer.stl new file mode 100644 index 000000000000..f4e637fea1b2 Binary files /dev/null and b/Lowrider2_Z_Hard_Stop_Spacer.stl differ diff --git a/MarlinFirmware b/MarlinFirmware new file mode 160000 index 000000000000..14ab8caee48d --- /dev/null +++ b/MarlinFirmware @@ -0,0 +1 @@ +Subproject commit 14ab8caee48d9dd6df68bfce0d4f385b04372865 diff --git a/README.md b/README.md new file mode 100644 index 000000000000..fa5f0c142aa3 --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +# V1 Engineering Preconfigured Marlin + +This repository provides a preconfigured version of Marlin that is optimized for CNC and milling purposes. + +## Getting started + +TODO: Possibly links to download pre-built firmware. + +## Building V1 Marlin + +These scripts require the PlatformIO CLI and GNU `sed` + +[Install PlatformIO](https://docs.platformio.org/en/latest/installation.html) + +In order to generate the configuration you must first pull the Marlin submodule + +``` +git submodule update --init --recursive +``` + +Then generate the example configuration using the following script + +``` +UPSTREAM_BRANCH=2.0.x ./v1-scripts/pull-from-upstream +``` + +Then generate a firmware file by running + +``` +./v1-scripts/build-for-machine machine-name +``` + +Machine names are based on the folder and filename within `v1-scripts/configs`. For example, for the Archim board you would use `MPCNC/Archim1_T8_16T_LCD`. + +The firmware file will be located in the `MarlinFirmware/.pio` directory. diff --git a/v1-scripts/branch-exists b/v1-scripts/branch-exists new file mode 100755 index 000000000000..5a30f0c4a7bb --- /dev/null +++ b/v1-scripts/branch-exists @@ -0,0 +1,3 @@ +#!/bin/bash + +git show-ref --quiet --verify "refs/heads/$1" diff --git a/v1-scripts/build-for-machine b/v1-scripts/build-for-machine new file mode 100755 index 000000000000..0d52a932ae65 --- /dev/null +++ b/v1-scripts/build-for-machine @@ -0,0 +1,23 @@ +#!/bin/bash + +set -ex + +. $(dirname "$0")/env + +machine=$1 +shift + +[ "$machine" ] || exit 2 + +eval $($V1_ROOT/$CFGDIR/build-settings.py "$machine") + +cd "$V1_ROOT/$MARLINDIR" +export PATH=$PATH:buildroot/bin + +restore_configs + +for f in config/examples/$machine/{Configuration.h,Configuration_adv.h,_Bootscreen.h,_Statusscreen.h}; do + [ -f "$f" ] && cp "$f" Marlin/ +done + +platformio run --project-dir . -e "$env" --silent "$@" diff --git a/v1-scripts/build-zips b/v1-scripts/build-zips new file mode 100755 index 000000000000..fa5880f4bce0 --- /dev/null +++ b/v1-scripts/build-zips @@ -0,0 +1,21 @@ +#!/bin/bash + +set -ex + +. $(dirname "$0")/env + +machine=$1 +[ "$machine" ] || exit 2 +eval $($V1_ROOT/$CFGDIR/build-settings.py "$machine") + +flatname=$(echo "$machine" | sed 's@/@_@g') +dirname="$flatname" + +cd "$V1_ROOT" + +mkdir -p .bin +cp "$MARLINDIR/.pio/build/$env/$out" ".bin/$flatname.$out" + +mkdir -p .zip +ln -sf "$V1_ROOT/$MARLINDIR" ".zip/$dirname-src" +(cd ".zip" && zip -prq "$flatname-src.zip" "$dirname-src"/*) diff --git a/v1-scripts/commit-configs b/v1-scripts/commit-configs new file mode 100755 index 000000000000..174a1d23c435 --- /dev/null +++ b/v1-scripts/commit-configs @@ -0,0 +1,9 @@ +#!/bin/bash + +set -ex + +. $(dirname "$0")/env + +cd "$V1_ROOT/$MARLINDIR" +git add config/examples +git commit -m 'Add configuratons for V1 machines' diff --git a/v1-scripts/configs/Lowrider/SKR1.3_T8_16T_LCD_32step_DualDrivers b/v1-scripts/configs/Lowrider/SKR1.3_T8_16T_LCD_32step_DualDrivers new file mode 100755 index 000000000000..73f08126b0b3 --- /dev/null +++ b/v1-scripts/configs/Lowrider/SKR1.3_T8_16T_LCD_32step_DualDrivers @@ -0,0 +1,22 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/drv8825 +. $incdir/dual-drivers-on-yz + +opt_set MOTHERBOARD BOARD_BTT_SKR_V1_3 +opt_set SERIAL_PORT "-1" + +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800, 200 }" +opt_enable REVERSE_ENCODER_DIRECTION +opt_enable MIN_SOFTWARE_ENDSTOP_Z + +# Lowrider gantry will drop for sure if Z is powered off +opt_set DISABLE_INACTIVE_Z "false" diff --git a/v1-scripts/configs/Lowrider/SKR1.3_T8_16T_LCD_32step_Sensorless b/v1-scripts/configs/Lowrider/SKR1.3_T8_16T_LCD_32step_Sensorless new file mode 100755 index 000000000000..dab7e5ca0ef7 --- /dev/null +++ b/v1-scripts/configs/Lowrider/SKR1.3_T8_16T_LCD_32step_Sensorless @@ -0,0 +1,46 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/tmc2209 +. $incdir/dual-drivers-on-yz + +# For some weird reason TMC2209 directions are reversed on SKR1.3 boards +opt_set INVERT_X_DIR true +opt_set INVERT_Y_DIR false +opt_set INVERT_Z_DIR true + +opt_set MOTHERBOARD BOARD_BTT_SKR_V1_3 +opt_set SERIAL_PORT "-1" + +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800, 200 }" +opt_enable REVERSE_ENCODER_DIRECTION +opt_enable MIN_SOFTWARE_ENDSTOP_Z + +# Lowrider gantry will drop for sure if Z is powered off +opt_set DISABLE_INACTIVE_Z "false" + +opt_set SENSORLESS_HOMING +#opt_set X_HOME_BUMP_MM "0" +#opt_set Y_HOME_BUMP_MM "0" +opt_set Z_HOME_BUMP_MM "0" +opt_set Z_MIN_ENDSTOP_INVERTING "false" +opt_enable IMPROVE_HOMING_RELIABILITY INDIVIDUAL_AXIS_HOMING_MENU + +# SKR 1.3 specific +opt_set Y2_USE_ENDSTOP "_XMAX_" +opt_set Z2_USE_ENDSTOP "_YMAX_" + +# Lowrider specific +opt_set Z_HOMING_HEIGHT "0" +opt_set HOMING_BACKOFF_MM "{ 20, 10, 1 }" +opt_set Z_MIN_POS "-1" +opt_set Z_MAX_POS "180" +opt_set X_BED_SIZE 1275 +opt_set Y_BED_SIZE 2540 diff --git a/v1-scripts/configs/MP3DP/MRambo_16T_aero b/v1-scripts/configs/MP3DP/MRambo_16T_aero new file mode 100755 index 000000000000..e39b325691e6 --- /dev/null +++ b/v1-scripts/configs/MP3DP/MRambo_16T_aero @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs + +. $incdir/base-3dp-config +. $incdir/avr-lcd-timings + +opt_set MOTHERBOARD "BOARD_MINIRAMBO" +opt_set PWM_MOTOR_CURRENT "{ 750, 750, 950 }" +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400, 837 }" +opt_set E0_AUTO_FAN_PIN "6" diff --git a/v1-scripts/configs/MP3DP/Ramps_16T_MK b/v1-scripts/configs/MP3DP/Ramps_16T_MK new file mode 100755 index 000000000000..d699ee77b412 --- /dev/null +++ b/v1-scripts/configs/MP3DP/Ramps_16T_MK @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs + +. $incdir/base-3dp-config +. $incdir/avr-lcd-timings +. $incdir/drv8825 + +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800, 200 }" +opt_enable REVERSE_ENCODER_DIRECTION + +# Why? +opt_set TEMP_SENSOR_0 "11" + +opt_set PWM_MOTOR_CURRENT "{ 800, 900, 950 }" +opt_disable PWM_MOTOR_CURRENT diff --git a/v1-scripts/configs/MPCNC/Archim1_T8_16T_LCD b/v1-scripts/configs/MPCNC/Archim1_T8_16T_LCD new file mode 100755 index 000000000000..106b60e6ce50 --- /dev/null +++ b/v1-scripts/configs/MPCNC/Archim1_T8_16T_LCD @@ -0,0 +1,24 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/board-archim1 +. $incdir/no-dual-endstops +. $incdir/drv8825 + +opt_set MINIMUM_STEPPER_PULSE "2" + +# Why? +opt_set DEFAULT_MAX_FEEDRATE "{ 120, 120, 30, 25 }" +opt_set Z3_DRIVER_TYPE "DRV8825" +opt_set E3_DRIVER_TYPE "DRV8825" +opt_set E4_DRIVER_TYPE "DRV8825" +opt_set E5_DRIVER_TYPE "DRV8825" +opt_disable SHOW_CUSTOM_BOOTSCREEN CUSTOM_USER_MENUS +opt_disable Z3_DRIVER_TYPE E3_DRIVER_TYPE E4_DRIVER_TYPE E5_DRIVER_TYPE diff --git a/v1-scripts/configs/MPCNC/Archim1_T8_16T_LCD_DualEndstop b/v1-scripts/configs/MPCNC/Archim1_T8_16T_LCD_DualEndstop new file mode 100755 index 000000000000..a4d37ec48d65 --- /dev/null +++ b/v1-scripts/configs/MPCNC/Archim1_T8_16T_LCD_DualEndstop @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/board-archim1 +. $incdir/dual-drivers-on-xy +. $incdir/drv8825 + +opt_set MINIMUM_STEPPER_PULSE "3" + +# Why? +opt_set DEFAULT_MAX_FEEDRATE "{ 120, 120, 30, 120 }" +opt_disable SHOW_CUSTOM_BOOTSCREEN CUSTOM_USER_MENUS SOFT_ENDSTOPS_MENU_ITEM MIN_SOFTWARE_ENDSTOPS \ + REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER diff --git a/v1-scripts/configs/MPCNC/Archim2_T8_16T_LCD_16step b/v1-scripts/configs/MPCNC/Archim2_T8_16T_LCD_16step new file mode 100755 index 000000000000..0370cb4e7939 --- /dev/null +++ b/v1-scripts/configs/MPCNC/Archim2_T8_16T_LCD_16step @@ -0,0 +1,46 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/no-dual-endstops + +opt_set SERIAL_PORT "-1" +opt_set MOTHERBOARD "BOARD_ARCHIM2" +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400, 100 }" + +opt_set X_DRIVER_TYPE TMC2130 +opt_set Y_DRIVER_TYPE TMC2130 +opt_set Z_DRIVER_TYPE TMC2130 +opt_set X2_DRIVER_TYPE TMC2130 +opt_set Y2_DRIVER_TYPE TMC2130 +opt_set Z2_DRIVER_TYPE TMC2130 +opt_set E0_DRIVER_TYPE TMC2130 +opt_set E1_DRIVER_TYPE TMC2130 + +opt_set SPI_SPEED "SPI_HALF_SPEED" +opt_set MICROSTEP1 "LOW,LOW,LOW" +opt_set MICROSTEP2 "HIGH,LOW,LOW" +opt_set MICROSTEP4 "LOW,HIGH,LOW" +opt_set MICROSTEP8 "HIGH,HIGH,LOW" +opt_set MICROSTEP16 "LOW,LOW,HIGH" +opt_set MICROSTEP32 "HIGH,LOW,HIGH" +opt_set MICROSTEP_MODES "{ 16, 16, 16, 16, 16 }" +opt_set PWM_MOTOR_CURRENT "{ 1200, 1200, 1200 }" +opt_set MAXIMUM_STEPPER_RATE "400000" + +opt_enable EEPROM_SETTINGS TMC_USE_SW_SPI + +# Why? +opt_set JUNCTION_DEVIATION_MM "0.005" +opt_set MANUAL_FEEDRATE "{30*60, 30*60, 3*60, 60}" +opt_set MM_PER_ARC_SEGMENT ".15" +opt_set X_MAX_ENDSTOP_INVERTING "true" +opt_set Y_MAX_ENDSTOP_INVERTING "true" +opt_set Z_MAX_ENDSTOP_INVERTING "true" +opt_enable BABYSTEP_ALWAYS_AVAILABLE diff --git a/v1-scripts/configs/MPCNC/MRambo_T8_16T_LCD b/v1-scripts/configs/MPCNC/MRambo_T8_16T_LCD new file mode 100755 index 000000000000..1531ca46d8fd --- /dev/null +++ b/v1-scripts/configs/MPCNC/MRambo_T8_16T_LCD @@ -0,0 +1,20 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/no-dual-endstops +. $incdir/avr-lcd-timings + +opt_set MOTHERBOARD "BOARD_MINIRAMBO" +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400, 100 }" +opt_set PWM_MOTOR_CURRENT "{ 900, 900, 900 }" + +# Why? +opt_set DIGIPOT_MOTOR_CURRENT "{ 95, 95, 95, 95, 95 }" +opt_disable DIGIPOT_MOTOR_CURRENT diff --git a/v1-scripts/configs/MPCNC/Rambo_T8_16T_LCD b/v1-scripts/configs/MPCNC/Rambo_T8_16T_LCD new file mode 100755 index 000000000000..99bf28910454 --- /dev/null +++ b/v1-scripts/configs/MPCNC/Rambo_T8_16T_LCD @@ -0,0 +1,14 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/board-rambo +. $incdir/no-dual-endstops + +opt_enable REVERSE_ENCODER_DIRECTION diff --git a/v1-scripts/configs/MPCNC/Rambo_T8_16T_LCD_DualEndstop b/v1-scripts/configs/MPCNC/Rambo_T8_16T_LCD_DualEndstop new file mode 100755 index 000000000000..d8215d44e68f --- /dev/null +++ b/v1-scripts/configs/MPCNC/Rambo_T8_16T_LCD_DualEndstop @@ -0,0 +1,18 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/board-rambo +. $incdir/dual-drivers-on-xy + +opt_enable REVERSE_ENCODER_DIRECTION + +# Why? +opt_enable USE_ZMAX_PLUG +opt_disable SOFT_ENDSTOPS_MENU_ITEM diff --git a/v1-scripts/configs/MPCNC/Ramps_T8_16T_LCD_32step b/v1-scripts/configs/MPCNC/Ramps_T8_16T_LCD_32step new file mode 100755 index 000000000000..8cc13a0d3c21 --- /dev/null +++ b/v1-scripts/configs/MPCNC/Ramps_T8_16T_LCD_32step @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/drv8825 +. $incdir/avr-lcd-timings +. $incdir/no-dual-endstops + +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800, 200 }" +opt_enable REVERSE_ENCODER_DIRECTION diff --git a/v1-scripts/configs/MPCNC/Ramps_T8_16T_LCD_32step_DualEndstop b/v1-scripts/configs/MPCNC/Ramps_T8_16T_LCD_32step_DualEndstop new file mode 100755 index 000000000000..18f2c477d35e --- /dev/null +++ b/v1-scripts/configs/MPCNC/Ramps_T8_16T_LCD_32step_DualEndstop @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/drv8825 +. $incdir/avr-lcd-timings +. $incdir/dual-drivers-on-xy + +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800, 200 }" +opt_enable REVERSE_ENCODER_DIRECTION diff --git a/v1-scripts/configs/MPCNC/SKR1.3_T8_16T_LCD_32step b/v1-scripts/configs/MPCNC/SKR1.3_T8_16T_LCD_32step new file mode 100755 index 000000000000..59f586a4a15d --- /dev/null +++ b/v1-scripts/configs/MPCNC/SKR1.3_T8_16T_LCD_32step @@ -0,0 +1,18 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/drv8825 +. $incdir/no-dual-endstops + +opt_set MOTHERBOARD BOARD_BTT_SKR_V1_3 +opt_set SERIAL_PORT "-1" + +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800, 200 }" +opt_enable REVERSE_ENCODER_DIRECTION diff --git a/v1-scripts/configs/MPCNC/SKR1.3_T8_16T_LCD_32step_DualEndstop b/v1-scripts/configs/MPCNC/SKR1.3_T8_16T_LCD_32step_DualEndstop new file mode 100755 index 000000000000..724c8df3c33f --- /dev/null +++ b/v1-scripts/configs/MPCNC/SKR1.3_T8_16T_LCD_32step_DualEndstop @@ -0,0 +1,18 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/drv8825 +. $incdir/dual-drivers-on-xy + +opt_set MOTHERBOARD BOARD_BTT_SKR_V1_3 +opt_set SERIAL_PORT "-1" + +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800, 200 }" +opt_enable REVERSE_ENCODER_DIRECTION diff --git a/v1-scripts/configs/MPCNC/SKRPro1.1_T8_16T_LCD_32step_DualEndstop b/v1-scripts/configs/MPCNC/SKRPro1.1_T8_16T_LCD_32step_DualEndstop new file mode 100755 index 000000000000..25cb651b75d0 --- /dev/null +++ b/v1-scripts/configs/MPCNC/SKRPro1.1_T8_16T_LCD_32step_DualEndstop @@ -0,0 +1,19 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs +opt_enable SHOW_CUSTOM_BOOTSCREEN + +. $incdir/base-cnc-config +. $incdir/drv8825 +. $incdir/dual-drivers-on-xy + +opt_set MOTHERBOARD BOARD_BTT_SKR_PRO_V1_1 +opt_set SERIAL_PORT "-1" +opt_set EXTRUDERS "1" + +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800, 200 }" +opt_enable REVERSE_ENCODER_DIRECTION diff --git a/v1-scripts/configs/ZenXY/MiniRambo_16T b/v1-scripts/configs/ZenXY/MiniRambo_16T new file mode 100755 index 000000000000..c46c83ecf8da --- /dev/null +++ b/v1-scripts/configs/ZenXY/MiniRambo_16T @@ -0,0 +1,13 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs + +. $incdir/base-zenxy-config + +opt_set MOTHERBOARD "BOARD_MINIRAMBO" +opt_set PWM_MOTOR_CURRENT "{ 750, 750, 750 }" +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400, 200 }" diff --git a/v1-scripts/configs/ZenXY/Ramps_16T_LCD_32 b/v1-scripts/configs/ZenXY/Ramps_16T_LCD_32 new file mode 100755 index 000000000000..bf72c70e2cdc --- /dev/null +++ b/v1-scripts/configs/ZenXY/Ramps_16T_LCD_32 @@ -0,0 +1,13 @@ +#!/bin/bash + +set -e + +incdir=$(dirname $0)/.. + +restore_configs + +. $incdir/base-zenxy-config +. $incdir/drv8825 + +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 200, 200, 800, 200 }" +opt_enable REVERSE_ENCODER_DIRECTION diff --git a/v1-scripts/configs/_Bootscreen.h b/v1-scripts/configs/_Bootscreen.h new file mode 100644 index 000000000000..fa72bc8b4a93 --- /dev/null +++ b/v1-scripts/configs/_Bootscreen.h @@ -0,0 +1,74 @@ +/** + * Made with Marlin Bitmap Converter + * http://marlinfw.org/tools/u8glib/converter.html + * + * This bitmap from the file '120 Square.bmp' + */ +#define CUSTOM_BOOTSCREEN_BMPWIDTH 128 +#define CUSTOM_BOOTSCREEN_BMPHEIGHT 64 +const unsigned char custom_start_bmp[] PROGMEM = { + 0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC1,0x83,0xFF,0xC0,0x00, // ...............###########################################################################.....##.....############.............. + 0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0xE1,0xFF,0xE0,0x00, // .............############################################################################....######....############............. + 0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xF0,0x7F,0xF0,0x00, // ............############################################################################....########.....###########............ + 0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x3F,0xF0,0x00, // ............###............................................................................###########....##########............ + 0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFE,0x00,0x38,0x00, // ...........###............................................................................#############...........###........... + 0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x80,0x38,0x00, // ...........###...........................................................................################.........###........... + 0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x1F,0xC0,0x38,0x00, // ...........###.........................................................................#########...#######........###........... + 0x00,0x1C,0x3C,0x00,0x00,0x78,0x0F,0x80,0x00,0x00,0x03,0xFE,0x0F,0xC0,0x38,0x00, // ...........###....####...................####.......#####.............................#########.....######........###........... + 0x00,0x1C,0x3C,0x00,0x00,0x78,0x3F,0x80,0x00,0x00,0x0F,0xFC,0x07,0xC0,0x38,0x00, // ...........###....####...................####.....#######...........................##########.......#####........###........... + 0x00,0x1C,0x3C,0x00,0x00,0xF8,0xFF,0x80,0x00,0x00,0x1F,0xFC,0x0F,0xC0,0x38,0x00, // ...........###....####..................#####...#########..........................###########......######........###........... + 0x00,0x1C,0x3E,0x00,0x00,0xF8,0xFF,0x80,0x00,0x00,0x7F,0xF8,0x0F,0x80,0x38,0x00, // ...........###....#####.................#####...#########........................############.......#####.........###........... + 0x00,0x1C,0x1E,0x00,0x00,0xF0,0xF7,0x80,0x00,0x01,0xFF,0xF8,0x1F,0x80,0x38,0x00, // ...........###.....####.................####....####.####......................##############......######.........###........... + 0x00,0x1C,0x1F,0x00,0x01,0xF0,0x07,0x80,0x00,0x07,0xFF,0xF0,0x1F,0x80,0x38,0x00, // ...........###.....#####...............#####.........####....................###############.......######.........###........... + 0x00,0x1C,0x1F,0x00,0x01,0xE0,0x07,0x80,0x00,0x1F,0xFF,0xF0,0x3F,0x80,0x38,0x00, // ...........###.....#####...............####..........####..................#################......#######.........###........... + 0x00,0x1C,0x0F,0x00,0x03,0xE0,0x07,0x80,0x00,0x7F,0xFF,0xE0,0x7F,0x80,0x38,0x00, // ...........###......####..............#####..........####................##################......########.........###........... + 0x00,0x1C,0x0F,0x80,0x03,0xE0,0x07,0x80,0x03,0xFF,0xFF,0xC0,0x7F,0x80,0x38,0x00, // ...........###......#####.............#####..........####.............####################.......########.........###........... + 0x00,0x1C,0x07,0x80,0x03,0xC0,0x07,0x80,0x1F,0xFF,0xFE,0x00,0xFF,0x80,0x38,0x00, // ...........###.......####.............####...........####..........####################.........#########.........###........... + 0x00,0x1C,0x07,0x80,0x07,0xC0,0x07,0x80,0x3F,0xFF,0xF8,0x00,0xFF,0x80,0x38,0x00, // ...........###.......####............#####...........####.........###################...........#########.........###........... + 0x00,0x1C,0x07,0xC0,0x07,0x80,0x07,0x80,0x7F,0xFF,0xE0,0x01,0xFF,0x00,0x38,0x00, // ...........###.......#####...........####............####........##################............#########..........###........... + 0x00,0x1C,0x03,0xC0,0x07,0x80,0x07,0x80,0x7F,0xFF,0xE0,0x01,0xFF,0x00,0x38,0x00, // ...........###........####...........####............####........##################............#########..........###........... + 0x00,0x1C,0x03,0xE0,0x0F,0x80,0x07,0x80,0x7F,0xFF,0xC0,0x00,0xFF,0x00,0x38,0x00, // ...........###........#####.........#####............####........#################..............########..........###........... + 0x00,0x1C,0x01,0xE0,0x0F,0x00,0x07,0x80,0x78,0x00,0x00,0x00,0xFF,0x00,0x38,0x00, // ...........###.........####.........####.............####........####...........................########..........###........... + 0x00,0x1C,0x01,0xE0,0x1F,0x00,0x07,0x80,0x78,0x00,0x00,0x00,0xFF,0x00,0x38,0x00, // ...........###.........####........#####.............####........####...........................########..........###........... + 0x00,0x1C,0x01,0xF0,0x1E,0x00,0x07,0x80,0x78,0x00,0x00,0x00,0xFF,0x00,0x38,0x00, // ...........###.........#####.......####..............####........####...........................########..........###........... + 0x00,0x1C,0x00,0xF0,0x1E,0x00,0x07,0x80,0x78,0x00,0x00,0x00,0xFF,0x00,0x38,0x00, // ...........###..........####.......####..............####........####...........................########..........###........... + 0x00,0x1C,0x00,0xF8,0x3E,0x00,0x07,0x80,0x78,0x00,0x00,0x00,0xFF,0x00,0x38,0x00, // ...........###..........#####.....#####..............####........####...........................########..........###........... + 0x00,0x1C,0x00,0xF8,0x3C,0x00,0x07,0x80,0x7F,0xFF,0xC0,0x00,0xFF,0x00,0x38,0x00, // ...........###..........#####.....####...............####........#################..............########..........###........... + 0x00,0x1C,0x00,0x78,0x7C,0x00,0x07,0x80,0x7F,0xFF,0xE0,0x01,0xFF,0x00,0x38,0x00, // ...........###...........####....#####...............####........##################............#########..........###........... + 0x00,0x1C,0x00,0x7C,0x7C,0x00,0x07,0x80,0x7F,0xFF,0xE0,0x01,0xFF,0x00,0x38,0x00, // ...........###...........#####...#####...............####........##################............#########..........###........... + 0x00,0x1C,0x00,0x3C,0x78,0x00,0x07,0x80,0x7F,0xFF,0xF0,0x01,0xFF,0x00,0x38,0x00, // ...........###............####...####................####........###################...........#########..........###........... + 0x00,0x1C,0x00,0x3E,0xF8,0x00,0x07,0x80,0x3F,0xFF,0xFC,0x00,0xFF,0x80,0x38,0x00, // ...........###............#####.#####................####.........####################..........#########.........###........... + 0x00,0x1C,0x00,0x3E,0xF0,0x00,0x07,0x80,0x07,0xFF,0xFF,0xC0,0x7F,0x80,0x38,0x00, // ...........###............#####.####.................####............#####################.......########.........###........... + 0x00,0x1C,0x00,0x1F,0xF0,0x00,0x07,0x80,0x00,0xFF,0xFF,0xE0,0x7F,0x80,0x38,0x00, // ...........###.............#########.................####...............###################......########.........###........... + 0x00,0x1C,0x00,0x1F,0xF0,0x00,0x07,0x80,0x00,0x1F,0xFF,0xE0,0x3F,0x80,0x38,0x00, // ...........###.............#########.................####..................################.......#######.........###........... + 0x00,0x1C,0x00,0x0F,0xE0,0x00,0x07,0x80,0x00,0x07,0xFF,0xF0,0x3F,0x80,0x38,0x00, // ...........###..............#######..................####....................###############......#######.........###........... + 0x00,0x1C,0x00,0x0F,0xE0,0x00,0x07,0x80,0x00,0x01,0xFF,0xF8,0x1F,0x80,0x38,0x00, // ...........###..............#######..................####......................##############......######.........###........... + 0x00,0x1C,0x00,0x0F,0xC0,0x00,0x07,0x80,0x00,0x00,0x7F,0xF8,0x0F,0x80,0x38,0x00, // ...........###..............######...................####........................############.......#####.........###........... + 0x00,0x1C,0x00,0x07,0xC0,0x00,0x07,0x80,0x00,0x00,0x3F,0xFC,0x0F,0xC0,0x38,0x00, // ...........###...............#####...................####.........................############......######........###........... + 0x00,0x1C,0x00,0x07,0xC0,0x00,0x07,0x80,0x00,0x00,0x0F,0xFC,0x07,0xC0,0x38,0x00, // ...........###...............#####...................####...........................##########.......#####........###........... + 0x00,0x1C,0x00,0x03,0x80,0x00,0x07,0x80,0x00,0x00,0x07,0xFE,0x07,0xC0,0x38,0x00, // ...........###................###....................####............................##########......#####........###........... + 0x00,0x1C,0x00,0x03,0x80,0x00,0x03,0x00,0x00,0x00,0x01,0xFE,0x0F,0xC0,0x38,0x00, // ...........###................###.....................##...............................########.....######........###........... + 0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x3F,0x80,0x38,0x00, // ...........###..........................................................................########..#######.........###........... + 0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0x00,0x38,0x00, // ...........###...........................................................................###############..........###........... + 0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x00,0x78,0x00, // ............###............................................................................###########...........####........... + 0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xF0,0x3F,0xF8,0x00, // ............############################################################################....########......###########........... + 0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x87,0xE0,0xFF,0xF0,0x00, // .............############################################################################....######.....############............ + 0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0x83,0xFF,0xE0,0x00, // ..............############################################################################....###.....#############............. + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................................................................................ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ................................................................................................................................ + 0x00,0x0F,0xF4,0x03,0x07,0xC2,0x80,0x67,0xF9,0xFF,0x3E,0x0A,0x01,0x83,0xE0,0x00, // ............########.#........##.....#####....#.#........##..########..#########..#####.....#.#........##.....#####............. + 0x00,0x1F,0xF6,0x03,0x1F,0xE6,0xC0,0x6F,0xFB,0xFF,0x7F,0x1B,0x01,0x8F,0xF0,0x00, // ...........#########.##.......##...########..##.##.......##.#########.##########.#######...##.##.......##...########............ + 0x00,0x18,0x07,0x03,0x38,0x76,0xE0,0x6C,0x03,0x00,0x63,0x1B,0x81,0x9C,0x18,0x00, // ...........##........###......##..###....###.##.###......##.##........##.........##...##...##.###......##..###.....##........... + 0x00,0x18,0x07,0x83,0x30,0x06,0xF0,0x6C,0x03,0x00,0x61,0x9B,0xC1,0x98,0x00,0x00, // ...........##........####.....##..##.........##.####.....##.##........##.........##....##..##.####.....##..##................... + 0x00,0x18,0x07,0xC3,0x60,0x06,0xF8,0x6C,0x03,0x00,0x61,0x9B,0xE1,0xB0,0x00,0x00, // ...........##........#####....##.##..........##.#####....##.##........##.........##....##..##.#####....##.##.................... + 0x00,0x18,0x06,0xE3,0x60,0x06,0xDC,0x6C,0x03,0x00,0x63,0x9B,0x71,0xB0,0x00,0x00, // ...........##........##.###...##.##..........##.##.###...##.##........##.........##...###..##.##.###...##.##.................... + 0x00,0x1F,0xE6,0x73,0x61,0xE6,0xCE,0x6F,0xF3,0xFC,0x7F,0x1B,0x39,0xB0,0xF0,0x00, // ...........########..##..###..##.##....####..##.##..###..##.########..########...#######...##.##..###..##.##....####............ + 0x00,0x18,0x06,0x3B,0x61,0xF6,0xC7,0x6C,0x03,0x00,0x7E,0x1B,0x1D,0xB0,0xF8,0x00, // ...........##........##...###.##.##....#####.##.##...###.##.##........##.........######....##.##...###.##.##....#####........... + 0x00,0x18,0x06,0x1F,0x60,0x36,0xC3,0xEC,0x03,0x00,0x67,0x1B,0x0F,0xB0,0x18,0x00, // ...........##........##....#####.##.......##.##.##....#####.##........##.........##..###...##.##....#####.##.......##........... + 0x00,0x18,0x06,0x0F,0x30,0x36,0xC1,0xEC,0x03,0x00,0x63,0x9B,0x07,0x98,0x18,0x00, // ...........##........##.....####..##......##.##.##.....####.##........##.........##...###..##.##.....####..##......##........... + 0x00,0x18,0x06,0x07,0x18,0x76,0xC0,0xEC,0x03,0x00,0x61,0x9B,0x03,0x8C,0x38,0x00, // ...........##........##......###...##....###.##.##......###.##........##.........##....##..##.##......###...##....###........... + 0x00,0x1F,0xF6,0x03,0x0F,0xE6,0xC0,0x6F,0xFB,0xFE,0x60,0xDB,0x01,0x87,0xF0,0x00, // ...........#########.##.......##....#######..##.##.......##.#########.#########..##.....##.##.##.......##....#######............ + 0x00,0x0F,0xF6,0x01,0x07,0xC6,0xC0,0x27,0xF9,0xFE,0x60,0xDB,0x00,0x83,0xE0,0x00 // ............########.##........#.....#####...##.##........#..########..########..##.....##.##.##........#.....#####............. +}; diff --git a/v1-scripts/configs/avr-lcd-timings b/v1-scripts/configs/avr-lcd-timings new file mode 100755 index 000000000000..363ada34f046 --- /dev/null +++ b/v1-scripts/configs/avr-lcd-timings @@ -0,0 +1,2 @@ +opt_add ST7920_DELAY_2 "DELAY_NS(250)" +opt_add ST7920_DELAY_3 "DELAY_NS(250)" diff --git a/v1-scripts/configs/base-3dp-config b/v1-scripts/configs/base-3dp-config new file mode 100755 index 000000000000..4953b54e3340 --- /dev/null +++ b/v1-scripts/configs/base-3dp-config @@ -0,0 +1,33 @@ +opt_set STRING_CONFIG_H_AUTHOR "\"(V1 Engineering, Ryan)\"" +opt_set CUSTOM_MACHINE_NAME "\"MP3DP\"" +opt_set DEFAULT_NOMINAL_FILAMENT_DIA "1.75" +opt_set TEMP_SENSOR_0 "5" +opt_set TEMP_SENSOR_BED "11" +opt_set DEFAULT_Kp "17.98" +opt_set DEFAULT_Ki ".98" +opt_set DEFAULT_Kd "83.62" +opt_set Z_MIN_PROBE_ENDSTOP_INVERTING "true" +opt_set DEFAULT_MAX_FEEDRATE "{ 150, 150, 15, 24 }" +opt_set DEFAULT_MAX_ACCELERATION "{ 2000, 2000, 100, 3000 }" +opt_set DEFAULT_ACCELERATION "2000" +opt_set DEFAULT_TRAVEL_ACCELERATION "2000" +opt_set DEFAULT_XJERK "5.0" +opt_set DEFAULT_YJERK "5.0" +opt_set DEFAULT_ZJERK "0.15" +opt_set DEFAULT_EJERK "3.0" +opt_set XY_PROBE_SPEED "6000" +opt_set HOMING_FEEDRATE_XY "(40*60)" +opt_set HOMING_FEEDRATE_Z "(3*60)" +opt_set PREHEAT_1_TEMP_HOTEND "196" +opt_set PREHEAT_1_TEMP_BED "62" +opt_set EXTRUDER_AUTO_FAN_SPEED "250" +opt_set X_HOME_BUMP_MM "7" +opt_set Y_HOME_BUMP_MM "7" +opt_set Z_HOME_BUMP_MM "3" +opt_set HOMING_BUMP_DIVISOR "{ 3, 3, 5 }" +opt_set DEFAULT_STEPPER_DEACTIVE_TIME "1200" +opt_set LCD_TIMEOUT_TO_STATUS "45000" +opt_set MM_PER_ARC_SEGMENT ".3" +opt_enable S_CURVE_ACCELERATION EEPROM_SETTINGS SDSUPPORT REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER \ + ADAPTIVE_STEP_SMOOTHING GCODE_MOTION_MODES CUSTOM_VERSION_FILE SHOW_CUSTOM_BOOTSCREEN +opt_disable MIN_SOFTWARE_ENDSTOPS MAX_SOFTWARE_ENDSTOPS diff --git a/v1-scripts/configs/base-cnc-config b/v1-scripts/configs/base-cnc-config new file mode 100755 index 000000000000..301b30768a91 --- /dev/null +++ b/v1-scripts/configs/base-cnc-config @@ -0,0 +1,33 @@ +opt_set STRING_CONFIG_H_AUTHOR "\"(V1 Engineering, Ryan)\"" +opt_set CUSTOM_MACHINE_NAME "\"V1 CNC\"" +opt_set EXTRUDERS "0" +opt_set Z_MIN_ENDSTOP_INVERTING "true" +opt_set Z_MAX_ENDSTOP_INVERTING "false" +opt_set Z_MIN_PROBE_ENDSTOP_INVERTING "true" +opt_set DEFAULT_MAX_FEEDRATE "{ 50, 50, 15, 50 }" +opt_set DEFAULT_MAX_ACCELERATION "{ 180, 180, 80, 180 }" +opt_set DEFAULT_ACCELERATION "180" +opt_set DEFAULT_TRAVEL_ACCELERATION "180" +opt_set JUNCTION_DEVIATION_MM "0.04" +opt_set HOMING_FEEDRATE_XY "(30*60)" +opt_set HOMING_FEEDRATE_Z "(3*60)" +opt_set X_HOME_BUMP_MM "7" +opt_set Y_HOME_BUMP_MM "7" +opt_set Z_HOME_BUMP_MM "3" +opt_set HOMING_BUMP_DIVISOR "{ 4, 4, 5 }" +opt_set DEFAULT_STEPPER_DEACTIVE_TIME "1200" +opt_set LCD_TIMEOUT_TO_STATUS "45000" +opt_set SD_FINISHED_STEPPERRELEASE "false" +opt_set MM_PER_ARC_SEGMENT ".2" +opt_set ARC_SEGMENTS_PER_R "1" +opt_set CUSTOM_USER_MENU_TITLE "\"Custom Commands\"" +opt_set USER_DESC_1 "\"Reset All Coordinates\"" +opt_set USER_GCODE_1 "\"G92 X0 Y0 Z0\"" +opt_set USER_DESC_2 "\"Home Z Axis\"" +opt_set USER_GCODE_2 "\"G28 Z\"" +opt_set USER_DESC_3 "\"Home X\&Y\"" +opt_set USER_GCODE_3 "\"G28 X Y\"" +opt_enable S_CURVE_ACCELERATION SDSUPPORT REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER ARC_SUPPORT ARC_SEGMENTS_PER_R \ + ARC_P_CIRCLES ADAPTIVE_STEP_SMOOTHING CNC_COORDINATE_SYSTEMS CNC_WORKSPACE_PLANES GCODE_MOTION_MODES CUSTOM_USER_MENUS \ + CUSTOM_VERSION_FILE SHOW_CUSTOM_BOOTSCREEN +opt_disable MIN_SOFTWARE_ENDSTOP_Z MAX_SOFTWARE_ENDSTOPS MIN_ARC_SEGMENTS EVENT_GCODE_SD_STOP USER_DESC_4 USER_GCODE_4 USER_DESC_5 USER_GCODE_5 diff --git a/v1-scripts/configs/base-zenxy-config b/v1-scripts/configs/base-zenxy-config new file mode 100755 index 000000000000..10395686b9c4 --- /dev/null +++ b/v1-scripts/configs/base-zenxy-config @@ -0,0 +1,34 @@ +opt_set STRING_CONFIG_H_AUTHOR "\"(V1 Engineering, Ryan)\"" +opt_set CUSTOM_MACHINE_NAME "\"ZenXY\"" +opt_set EXTRUDERS "0" +opt_set DEFAULT_MAX_FEEDRATE "{ 120, 120, 30, 25 }" +opt_set DEFAULT_MAX_ACCELERATION "{ 400, 400, 100, 2000 }" +opt_set DEFAULT_ACCELERATION "400" +opt_set DEFAULT_TRAVEL_ACCELERATION "400" +opt_set JUNCTION_DEVIATION_MM "0.005" +opt_set DISABLE_Z "true" +opt_set DISABLE_E "true" +opt_set INVERT_Y_DIR "false" +opt_set X_BED_SIZE "670" +opt_set Y_BED_SIZE "670" +opt_set HOMING_FEEDRATE_XY "(30*60)" +opt_set HOMING_FEEDRATE_Z "(3*60)" +opt_set X_HOME_BUMP_MM "7" +opt_set Y_HOME_BUMP_MM "7" +opt_set Z_HOME_BUMP_MM "3" +opt_set HOMING_BUMP_DIVISOR "{ 4, 4, 5 }" +opt_set DEFAULT_STEPPER_DEACTIVE_TIME "1200" +opt_set MANUAL_FEEDRATE "{30*60, 30*60, 3*60, 60}" +opt_set LCD_TIMEOUT_TO_STATUS "45000" +opt_set MM_PER_ARC_SEGMENT ".15" +opt_set CUSTOM_USER_MENU_TITLE "\"Custom Commands\"" +opt_set USER_DESC_1 "\"Reset All Coordinates\"" +opt_set USER_GCODE_1 "\"G92 X0 Y0 Z0\"" +opt_set USER_DESC_2 "\"Home Z Axis\"" +opt_set USER_GCODE_2 "\"G28 Z\"" +opt_set USER_DESC_3 "\"Home X\&Y\"" +opt_set USER_GCODE_3 "\"G28 X Y\"" +opt_enable COREXY S_CURVE_ACCELERATION SOFT_ENDSTOPS_MENU_ITEM EEPROM_SETTINGS SDSUPPORT INDIVIDUAL_AXIS_HOMING_MENU \ + REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER HOME_Y_BEFORE_X CODEPENDENT_XY_HOMING ADAPTIVE_STEP_SMOOTHING \ + BABYSTEP_ALWAYS_AVAILABLE CNC_COORDINATE_SYSTEMS GCODE_MOTION_MODES CUSTOM_VERSION_FILE +opt_disable EVENT_GCODE_SD_STOP USER_DESC_4 USER_GCODE_4 USER_DESC_5 USER_GCODE_5 diff --git a/v1-scripts/configs/board-archim1 b/v1-scripts/configs/board-archim1 new file mode 100644 index 000000000000..c8404bbbbdfe --- /dev/null +++ b/v1-scripts/configs/board-archim1 @@ -0,0 +1,11 @@ +opt_set SERIAL_PORT "-1" +opt_set MOTHERBOARD "BOARD_ARCHIM1" +opt_set SPI_SPEED "SPI_HALF_SPEED" +opt_set MICROSTEP1 "LOW,LOW,LOW" +opt_set MICROSTEP2 "HIGH,LOW,LOW" +opt_set MICROSTEP4 "LOW,HIGH,LOW" +opt_set MICROSTEP8 "HIGH,HIGH,LOW" +opt_set MICROSTEP16 "LOW,LOW,HIGH" +opt_set MICROSTEP32 "HIGH,LOW,HIGH" +opt_set MICROSTEP_MODES "{ 32, 32, 32, 32, 32, 32 }" +opt_set PWM_MOTOR_CURRENT "{ 1200, 1200, 1200 }" diff --git a/v1-scripts/configs/board-rambo b/v1-scripts/configs/board-rambo new file mode 100644 index 000000000000..e374e1b6e571 --- /dev/null +++ b/v1-scripts/configs/board-rambo @@ -0,0 +1,3 @@ +opt_set MOTHERBOARD "BOARD_RAMBO" +opt_set DEFAULT_AXIS_STEPS_PER_UNIT "{ 100, 100, 400, 100 }" +opt_set DIGIPOT_MOTOR_CURRENT "{ 120, 120, 120, 120, 120 }" diff --git a/v1-scripts/configs/build-settings.py b/v1-scripts/configs/build-settings.py new file mode 100755 index 000000000000..718af41528a4 --- /dev/null +++ b/v1-scripts/configs/build-settings.py @@ -0,0 +1,28 @@ +#!/usr/bin/python + +# Bash 4.0 has associative arrays, but if it's available everywhere so Python it is + +MACHINES = { + 'Lowrider/SKR1.3_T8_16T_LCD_32step_DualDrivers': { 'env': 'LPC1768', 'out': 'firmware.bin' }, + 'Lowrider/SKR1.3_T8_16T_LCD_32step_Sensorless': { 'env': 'LPC1768', 'out': 'firmware.bin' }, + 'MPCNC/Archim1_T8_16T_LCD': { 'env': 'DUE', 'out': 'firmware.bin' }, + 'MPCNC/Archim1_T8_16T_LCD_DualEndstop': { 'env': 'DUE', 'out': 'firmware.bin' }, + 'MPCNC/Archim2_T8_16T_LCD_16step': { 'env': 'DUE', 'out': 'firmware.bin' }, + 'MPCNC/Rambo_T8_16T_LCD': { 'env': 'rambo', 'out': 'firmware.hex' }, + 'MPCNC/Rambo_T8_16T_LCD_DualEndstop': { 'env': 'rambo', 'out': 'firmware.hex' }, + 'MPCNC/Ramps_T8_16T_LCD_32step': { 'env': 'mega2560', 'out': 'firmware.hex' }, + 'MPCNC/Ramps_T8_16T_LCD_32step_DualEndstop': { 'env': 'mega2560', 'out': 'firmware.hex' }, + 'MPCNC/MRambo_T8_16T_LCD': { 'env': 'rambo', 'out': 'firmware.hex' }, + 'MP3DP/Ramps_16T_MK': { 'env': 'mega2560', 'out': 'firmware.hex' }, + 'MP3DP/MRambo_16T_aero': { 'env': 'rambo', 'out': 'firmware.hex' }, + 'MPCNC/SKR1.3_T8_16T_LCD_32step': { 'env': 'LPC1768', 'out': 'firmware.bin' }, + 'MPCNC/SKR1.3_T8_16T_LCD_32step_DualEndstop': { 'env': 'LPC1768', 'out': 'firmware.bin' }, + 'MPCNC/SKRPro1.1_T8_16T_LCD_32step_DualEndstop': { 'env': 'BIGTREE_SKR_PRO', 'out': 'firmware.bin' }, + 'ZenXY/Ramps_16T_LCD_32': { 'env': 'mega2560', 'out': 'firmware.hex' }, + 'ZenXY/MiniRambo_16T': { 'env': 'rambo', 'out': 'firmware.hex' } +} + +import sys + +machine = sys.argv[1] +print 'env="{env}"\nout="{out}"'.format(**MACHINES[machine]) diff --git a/v1-scripts/configs/drv8825 b/v1-scripts/configs/drv8825 new file mode 100644 index 000000000000..66e20599a129 --- /dev/null +++ b/v1-scripts/configs/drv8825 @@ -0,0 +1,14 @@ +opt_set X_DRIVER_TYPE "DRV8825" +opt_set Y_DRIVER_TYPE "DRV8825" +opt_set Z_DRIVER_TYPE "DRV8825" +opt_set X2_DRIVER_TYPE "DRV8825" +opt_set Y2_DRIVER_TYPE "DRV8825" +opt_set Z2_DRIVER_TYPE "DRV8825" +opt_set Z3_DRIVER_TYPE "DRV8825" +opt_set E0_DRIVER_TYPE "DRV8825" +opt_set E1_DRIVER_TYPE "DRV8825" +opt_set E2_DRIVER_TYPE "DRV8825" +opt_set E3_DRIVER_TYPE "DRV8825" +opt_set E4_DRIVER_TYPE "DRV8825" +opt_set E5_DRIVER_TYPE "DRV8825" +opt_disable Z3_DRIVER_TYPE E2_DRIVER_TYPE E3_DRIVER_TYPE E4_DRIVER_TYPE E5_DRIVER_TYPE diff --git a/v1-scripts/configs/dual-drivers-on-xy b/v1-scripts/configs/dual-drivers-on-xy new file mode 100755 index 000000000000..3a48e8844348 --- /dev/null +++ b/v1-scripts/configs/dual-drivers-on-xy @@ -0,0 +1,7 @@ +opt_set X_MIN_ENDSTOP_INVERTING "false" +opt_set Y_MIN_ENDSTOP_INVERTING "false" +opt_set X_MAX_ENDSTOP_INVERTING "false" +opt_set Y_MAX_ENDSTOP_INVERTING "false" + +opt_enable MIN_SOFTWARE_ENDSTOPS SOFT_ENDSTOPS_MENU_ITEM USE_XMAX_PLUG USE_YMAX_PLUG \ + X_DUAL_STEPPER_DRIVERS X_DUAL_ENDSTOPS Y_DUAL_STEPPER_DRIVERS Y_DUAL_ENDSTOPS diff --git a/v1-scripts/configs/dual-drivers-on-yz b/v1-scripts/configs/dual-drivers-on-yz new file mode 100755 index 000000000000..8650e59e3fe3 --- /dev/null +++ b/v1-scripts/configs/dual-drivers-on-yz @@ -0,0 +1,8 @@ +opt_set X_MIN_ENDSTOP_INVERTING "false" +opt_set Y_MIN_ENDSTOP_INVERTING "false" +opt_set X_MAX_ENDSTOP_INVERTING "false" +opt_set Y_MAX_ENDSTOP_INVERTING "false" + +opt_set NUM_Z_STEPPER_DRIVERS "2" +opt_enable MIN_SOFTWARE_ENDSTOPS SOFT_ENDSTOPS_MENU_ITEM USE_XMAX_PLUG USE_YMAX_PLUG \ + Y_DUAL_STEPPER_DRIVERS Y_DUAL_ENDSTOPS Z_MULTI_ENDSTOPS diff --git a/v1-scripts/configs/no-dual-endstops b/v1-scripts/configs/no-dual-endstops new file mode 100755 index 000000000000..587b20903514 --- /dev/null +++ b/v1-scripts/configs/no-dual-endstops @@ -0,0 +1,5 @@ +opt_set X_MIN_ENDSTOP_INVERTING "true" +opt_set Y_MIN_ENDSTOP_INVERTING "true" + +opt_disable MIN_SOFTWARE_ENDSTOPS SOFT_ENDSTOPS_MENU_ITEM USE_XMAX_PLUG USE_YMAX_PLUG \ + X_DUAL_STEPPER_DRIVERS X_DUAL_ENDSTOPS Y_DUAL_STEPPER_DRIVERS Y_DUAL_ENDSTOPS diff --git a/v1-scripts/configs/patches/2.0.x b/v1-scripts/configs/patches/2.0.x new file mode 100644 index 000000000000..d912985671d1 --- /dev/null +++ b/v1-scripts/configs/patches/2.0.x @@ -0,0 +1,5 @@ +# +# Changes to be applied on top of MarlinFirmware/Marlin/bugfix-2.0.x +# +PULL_REQUESTS="${PULL_REQUESTS:-}" +ADD_BRANCHES="${ADD_BRANCHES:-}" diff --git a/v1-scripts/configs/patches/bugfix-2.0.x b/v1-scripts/configs/patches/bugfix-2.0.x new file mode 100644 index 000000000000..d912985671d1 --- /dev/null +++ b/v1-scripts/configs/patches/bugfix-2.0.x @@ -0,0 +1,5 @@ +# +# Changes to be applied on top of MarlinFirmware/Marlin/bugfix-2.0.x +# +PULL_REQUESTS="${PULL_REQUESTS:-}" +ADD_BRANCHES="${ADD_BRANCHES:-}" diff --git a/v1-scripts/configs/patches/dev-2.1.x b/v1-scripts/configs/patches/dev-2.1.x new file mode 100644 index 000000000000..2c3773377066 --- /dev/null +++ b/v1-scripts/configs/patches/dev-2.1.x @@ -0,0 +1,5 @@ +# +# Changes to be applied on top of MarlinFirmware/Marlin/dev-2.1.x +# +PULL_REQUESTS="${PULL_REQUESTS:-}" +ADD_BRANCHES="${ADD_BRANCHES:-}" diff --git a/v1-scripts/configs/tmc-settings b/v1-scripts/configs/tmc-settings new file mode 100644 index 000000000000..95a068fbe9e5 --- /dev/null +++ b/v1-scripts/configs/tmc-settings @@ -0,0 +1,21 @@ +opt_enable MONITOR_DRIVER_STATUS +opt_disable STEALTHCHOP_XY STEALTHCHOP_Z + +opt_set X_CURRENT "1700" +opt_set Y_CURRENT "1700" +opt_set Z_CURRENT "1700" +opt_set X2_CURRENT "1700" +opt_set Y2_CURRENT "1700" +opt_set Z2_CURRENT "1700" + +# Increase hold current to 70% +opt_set HOLD_MULTIPLIER 0.7 + +opt_set X_MICROSTEPS "32" +opt_set Y_MICROSTEPS "32" +opt_set Z_MICROSTEPS "32" +opt_set X2_MICROSTEPS "32" +opt_set Y2_MICROSTEPS "32" +opt_set Z2_MICROSTEPS "32" + +# opt_set CHOPPER_TIMING CHOPPER_DEFAULT_12V diff --git a/v1-scripts/configs/tmc2209 b/v1-scripts/configs/tmc2209 new file mode 100644 index 000000000000..90075e8de1bd --- /dev/null +++ b/v1-scripts/configs/tmc2209 @@ -0,0 +1,21 @@ +. $incdir/tmc-settings + +opt_set X_DRIVER_TYPE "TMC2209" +opt_set Y_DRIVER_TYPE "TMC2209" +opt_set Z_DRIVER_TYPE "TMC2209" +opt_set X2_DRIVER_TYPE "TMC2209" +opt_set Y2_DRIVER_TYPE "TMC2209" +opt_set Z2_DRIVER_TYPE "TMC2209" +opt_set Z3_DRIVER_TYPE "TMC2209" +opt_set E0_DRIVER_TYPE "TMC2209" +opt_set E1_DRIVER_TYPE "TMC2209" +opt_set E2_DRIVER_TYPE "TMC2209" +opt_set E3_DRIVER_TYPE "TMC2209" +opt_set E4_DRIVER_TYPE "TMC2209" +opt_set E5_DRIVER_TYPE "TMC2209" +opt_disable Z3_DRIVER_TYPE E2_DRIVER_TYPE E3_DRIVER_TYPE E4_DRIVER_TYPE E5_DRIVER_TYPE + +# TMC2209 sensitivity setting is 255..0, 0 being the most insentive +opt_set X_STALL_SENSITIVITY "27" +opt_set Y_STALL_SENSITIVITY "27" +opt_set Z_STALL_SENSITIVITY "40" diff --git a/v1-scripts/configs/tmc5160 b/v1-scripts/configs/tmc5160 new file mode 100644 index 000000000000..e87c80397987 --- /dev/null +++ b/v1-scripts/configs/tmc5160 @@ -0,0 +1,32 @@ +. $incdir/tmc-settings + +opt_set X_DRIVER_TYPE "TMC5160" +opt_set Y_DRIVER_TYPE "TMC5160" +opt_set Z_DRIVER_TYPE "TMC5160" +opt_set X2_DRIVER_TYPE "TMC5160" +opt_set Y2_DRIVER_TYPE "TMC5160" +opt_set Z2_DRIVER_TYPE "TMC5160" +opt_set Z3_DRIVER_TYPE "TMC5160" +opt_set E0_DRIVER_TYPE "TMC5160" +opt_set E1_DRIVER_TYPE "TMC5160" +opt_set E2_DRIVER_TYPE "TMC5160" +opt_set E3_DRIVER_TYPE "TMC5160" +opt_set E4_DRIVER_TYPE "TMC5160" +opt_set E5_DRIVER_TYPE "TMC5160" +opt_disable Z3_DRIVER_TYPE E2_DRIVER_TYPE E3_DRIVER_TYPE E4_DRIVER_TYPE E5_DRIVER_TYPE + +opt_enable TMC_USE_SW_SPI + +opt_set X_RSENSE 0.075 +opt_set Y_RSENSE 0.075 +opt_set Z_RSENSE 0.075 +opt_set X2_RSENSE 0.075 +opt_set Y2_RSENSE 0.075 +opt_set Z2_RSENSE 0.075 +opt_set Z3_RSENSE 0.075 +opt_set E0_RSENSE 0.075 +opt_set E1_RSENSE 0.075 +opt_set E2_RSENSE 0.075 +opt_set E3_RSENSE 0.075 +opt_set E4_RSENSE 0.075 +opt_set E5_RSENSE 0.075 diff --git a/v1-scripts/diff-branches b/v1-scripts/diff-branches new file mode 100755 index 000000000000..b4cde003a077 --- /dev/null +++ b/v1-scripts/diff-branches @@ -0,0 +1,3 @@ +#!/bin/bash + +git diff --exit-code --quiet "$1..$2" diff --git a/v1-scripts/env b/v1-scripts/env new file mode 100755 index 000000000000..67dede969fe5 --- /dev/null +++ b/v1-scripts/env @@ -0,0 +1,8 @@ +V1_ROOT=${V1_ROOT:-$(cd "$(dirname "$0")/.."; pwd)} +SCRIPTDIR="${SCRIPTDIR:-v1-scripts}" +CFGDIR="${CFGDIR:-$SCRIPTDIR/configs}" +MARLINDIR="${MARLINDIR:-MarlinFirmware}" + +PATH="$PATH:$V1_ROOT/$SCRIPTDIR" + +export V1_ROOT SCRIPTDIR CFGDIR MARLINDIR PATH diff --git a/v1-scripts/fetch-branch b/v1-scripts/fetch-branch new file mode 100755 index 000000000000..a61c08f8c609 --- /dev/null +++ b/v1-scripts/fetch-branch @@ -0,0 +1,11 @@ +#!/bin/bash + +set -ex + +# Inspired by https://github.com/actions/checkout#Fetch-all-branches + +for b in "$@"; do + o=$(dirname "$b") + l=$(basename "$b") + git fetch --no-tags --prune --depth=1 "$o" "+refs/heads/$l*:refs/remotes/$b*" +done diff --git a/v1-scripts/generate-configs b/v1-scripts/generate-configs new file mode 100755 index 000000000000..9ce72f0eecd7 --- /dev/null +++ b/v1-scripts/generate-configs @@ -0,0 +1,27 @@ +#!/bin/bash + +set -e + +. $(dirname "$0")/env + +CONFIG_DIR="$V1_ROOT/$CFGDIR" +MARLIN_CONFIG_DIR="${MARLIN_CONFIG_DIR:-config/examples}" + +cd "$V1_ROOT/$MARLINDIR" + +PATH=$PATH:buildroot/bin +export PATH + +for script in "$CONFIG_DIR"/{MPCNC,MP3DP,ZenXY,Lowrider}/*; do + machine=${script#$CONFIG_DIR/} + cfgdir=$MARLIN_CONFIG_DIR/$machine + + echo "Generating config for $machine" + $script + + mkdir -p "$cfgdir" + cp Marlin/Configuration{.h,_adv.h} "$CONFIG_DIR"/_Bootscreen.h "$cfgdir" +done + +restore_configs +git checkout Marlin/Configuration{.h,_adv.h} || exit 0 # OK to fail diff --git a/v1-scripts/pull-from-upstream b/v1-scripts/pull-from-upstream new file mode 100755 index 000000000000..25ac2c858d48 --- /dev/null +++ b/v1-scripts/pull-from-upstream @@ -0,0 +1,56 @@ +#!/bin/bash + +set -xe + +. $(dirname "$0")/env + +UPSTREAM_REPOSITORY="${UPSTREAM_REPOSITORY:-https://github.com/MarlinFirmware/Marlin.git}" +UPSTREAM_REMOTE_NAME="${UPSTREAM_REMOTE_NAME:-upstream}" +ORIGIN_REMOTE_NAME="${ORIGIN_REMOTE_NAME:-origin}" +UPSTREAM_BRANCH="${UPSTREAM_BRANCH:-bugfix-2.0.x}" +BUILD_BRANCH="${BUILD_BRANCH:-v1-$UPSTREAM_BRANCH}" + +# Pull requests and other patches to be applied on top of the upsteam branch +. $V1_ROOT/$CFGDIR/patches/$UPSTREAM_BRANCH + +cd "$V1_ROOT/$MARLINDIR" + +# Check to see if the submodule has been initialized +[[ -f .git ]] || (echo -e "\n\033[0;31mMissing git submodule, make sure to run\ngit submodule update --init --recursive\033[0m"; exit 1) + +git remote add -f -t "$UPSTREAM_BRANCH" $UPSTREAM_REMOTE_NAME "$UPSTREAM_REPOSITORY" +trap "git remote remove $UPSTREAM_REMOTE_NAME" EXIT + +# Start with vanilla upstream code +git checkout "$UPSTREAM_REMOTE_NAME/$UPSTREAM_BRANCH" +git show-ref --verify "refs/remotes/$UPSTREAM_REMOTE_NAME/$UPSTREAM_BRANCH" > v1-manifest + +# Fetch and merge upstream pull requests we deem necessary to carry in our version +# See: https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/checking-out-pull-requests-locally +for pr in $PULL_REQUESTS; do + git fetch $UPSTREAM_REMOTE_NAME "pull/$pr/head" + echo "$(git rev-parse FETCH_HEAD) refs/remotes/$UPSTREAM_REMOTE_NAME/pull/$pr/head" >> v1-manifest + git merge --no-stat --no-ff --no-edit FETCH_HEAD +done + +for branch in $ADD_BRANCHES; do + git fetch "$ORIGIN_REMOTE_NAME" "$branch" + echo "$(git rev-parse FETCH_HEAD) refs/remotes/$ORIGIN_REMOTE_NAME/$branch" >> v1-manifest + git merge --no-stat --no-ff --no-edit FETCH_HEAD +done + +# Store manifest +git add v1-manifest +git commit -m 'manifest' + +# Generate and commit configs +generate-configs +commit-configs + +# Helpful message to user when running locally +old_ref=$(git rev-parse --verify "$BUILD_BRANCH" 2> /dev/null) && \ + echo "Overwriting $BUILD_BRANCH branch. Use git checkout -b new-name $old_ref to get it back" + +# Store results in a local branch +git branch -f "$BUILD_BRANCH" +git branch -u "$ORIGIN_REMOTE_NAME/$BUILD_BRANCH" "$BUILD_BRANCH" || true # OK to fail diff --git a/v1-scripts/reset-to-manifest b/v1-scripts/reset-to-manifest new file mode 100755 index 000000000000..ab5b2ebcdf06 --- /dev/null +++ b/v1-scripts/reset-to-manifest @@ -0,0 +1,8 @@ +#!/bin/bash + +set -ex + +. $(dirname "$0")/env + +cd "$V1_ROOT/$MARLINDIR" +git checkout $(git log -n 1 --pretty="%H" v1-manifest) diff --git a/v1-scripts/test-build-all-machines b/v1-scripts/test-build-all-machines new file mode 100755 index 000000000000..6eeae30889e9 --- /dev/null +++ b/v1-scripts/test-build-all-machines @@ -0,0 +1,15 @@ +#!/bin/sh + +set -e +v1-scripts/build-for-machine MP3DP/MRambo_16T_aero +v1-scripts/build-for-machine MP3DP/Ramps_16T_MK +v1-scripts/build-for-machine ZenXY/MiniRambo_16T +v1-scripts/build-for-machine ZenXY/Ramps_16T_LCD_32 +v1-scripts/build-for-machine MPCNC/MRambo_T8_16T_LCD +v1-scripts/build-for-machine MPCNC/Rambo_T8_16T_LCD +v1-scripts/build-for-machine MPCNC/Rambo_T8_16T_LCD_DualEndstop +v1-scripts/build-for-machine MPCNC/Ramps_T8_16T_LCD_32step +v1-scripts/build-for-machine MPCNC/Ramps_T8_16T_LCD_32step_DualEndstop +v1-scripts/build-for-machine MPCNC/Archim1_T8_16T_LCD +v1-scripts/build-for-machine MPCNC/Archim1_T8_16T_LCD_DualEndstop +v1-scripts/build-for-machine MPCNC/Archim2_T8_16T_LCD_16step