123 Commits
1.1.1 ... 1.1.6

Author SHA1 Message Date
Knutwurst
34f90156fb Bum build version to 1.1.6 for next release 2020-09-11 07:58:53 +02:00
Knutwurst
51a8226932 Make BLTouch leveling more reliable 2020-09-11 07:52:03 +02:00
knutwurst
2a0542ce83 [cron] Bump distribution date (2020-09-11) 2020-09-11 00:28:51 +00:00
Knutwurst
353eee059f Update README.md to reflect changes for the upcoming version 1.1.6 with 1st gen. Mega Support 2020-09-10 19:56:43 +02:00
Knutwurst
09a3de4acc Try to set the custom build version 2020-09-10 17:50:34 +02:00
Knutwurst
d5a53e2d8d Fix worflow 2020-09-10 17:00:09 +02:00
Knutwurst
777f9fd9a7 Fix Windows linker error by shortening the environment names 2020-09-10 16:56:55 +02:00
Knutwurst
d969459aa0 Disable BLTouch build for 1st generation Mega 2020-09-10 16:05:34 +02:00
knutwurst
53b286c98d [cron] Bump distribution date (2020-09-10) 2020-09-10 00:28:12 +00:00
Knutwurst
b04997f045 Re-enable Filament runout on boot. 2020-09-09 10:20:11 +02:00
Oliver Köster
5122715138 Update README.md 2020-09-09 09:44:29 +02:00
Knutwurst
d8aa88d274 Remove BMG from build_unflags in configuration which don't use them so the user can enable the flag within the sourcecode. 2020-09-09 09:38:45 +02:00
Knutwurst
b2d8a9d260 Code Cleanup 2020-09-09 09:26:24 +02:00
Knutwurst
40ab3aad74 Feedrate and Acc settings for BMG Extruder 2020-09-09 08:43:22 +02:00
Knutwurst
b3edf03e71 Support for Bondtech Mini Geared (BMG) Extruders 2020-09-09 08:39:14 +02:00
knutwurst
3c54fd8469 [cron] Bump distribution date (2020-09-09) 2020-09-09 00:28:54 +00:00
Knutwurst
6a7ec5fc06 Start Mesh leveling is now in sub menu. Flow rate can be adjusted in special menu. 2020-09-08 17:55:20 +02:00
knutwurst
5ee4642956 [cron] Bump distribution date (2020-09-08) 2020-09-08 00:28:46 +00:00
knutwurst
927cd10e85 [cron] Bump distribution date (2020-09-07) 2020-09-07 00:29:12 +00:00
knutwurst
8f1bc49ed6 [cron] Bump distribution date (2020-09-06) 2020-09-06 00:29:40 +00:00
Knutwurst
40d3d09d5b Revert T0 Sensor type from 11 to 5. 2020-09-05 13:10:04 +02:00
knutwurst
3a9fa4f8ef [cron] Bump distribution date (2020-09-05) 2020-09-05 00:48:47 +00:00
Knutwurst
d7ab58ea88 Switch Temp Sensor from 5 to 11 which should be the correct one. 2020-09-04 20:55:50 +02:00
Knutwurst
552aa7767d Cleanup code 2020-09-04 20:52:57 +02:00
Knutwurst
636d465c3d Reenable all build variants 2020-09-04 20:51:03 +02:00
Knutwurst
116f623604 Update yaml. 2020-09-04 20:43:04 +02:00
Knutwurst
5a8b8ad60b Switch CUSTOM_BUILD_VER to CUSTOM_BUILD_VERSION 2020-09-04 20:21:03 +02:00
Knutwurst
83a8113fd8 Forgot to use variables I declared. 2020-09-04 19:53:29 +02:00
Knutwurst
5911e835b6 hopefully a fix fot the custom build version 2020-09-04 19:49:53 +02:00
Knutwurst
ada7a7d31a Include all hex in one zip. 2020-09-04 19:47:09 +02:00
Knutwurst
f5cb187d4a fix custom build vresion in CI 2020-09-04 19:32:19 +02:00
Knutwurst
1855bb9925 try to fix auto rename of output files 2020-09-04 19:19:38 +02:00
Knutwurst
39bd14f340 Auto rename in workflow 2020-09-04 18:38:49 +02:00
Knutwurst
5ab14ccccd New build-all yml file 2020-09-04 18:30:23 +02:00
Knutwurst
b06d97d294 Fix typo 2020-09-04 18:23:41 +02:00
Knutwurst
ad9942763b Remove unused parameters 2020-09-04 18:22:02 +02:00
Knutwurst
05ae92def7 Collect binary artifacts from build 2020-09-04 18:19:45 +02:00
Knutwurst
e9987ba2f2 Update Build Pipeline 2020-09-04 07:45:15 +02:00
Knutwurst
9e464716a5 Cleanup Github CI and enable build for all environments. 2020-09-03 17:24:17 +02:00
Knutwurst
9ce186a3e5 Netx try 2020-09-03 17:19:23 +02:00
Knutwurst
5deefc6d10 Fix typo my removing leading dash 2020-09-03 17:17:54 +02:00
Knutwurst
2c753fcdfd Master checkout for PIO build 2020-09-03 17:16:27 +02:00
Knutwurst
9f078259b0 Next try to get the CI up and running 2020-09-03 17:13:19 +02:00
Knutwurst
819e713412 Update CI path 2020-09-03 16:39:31 +02:00
Knutwurst
7c54c7d282 Cleanup CI 2020-09-03 16:24:53 +02:00
Knutwurst
a261a3ab55 Diasble PIO matrix build 2020-09-03 16:17:12 +02:00
Knutwurst
b175d67e57 Configure CI Pipeline to just run PlatformIO 2020-09-03 16:11:39 +02:00
Knutwurst
131d09ac56 Merge branch 'master' of https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S
* 'master' of https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S:
  Update README.md
2020-09-03 16:02:12 +02:00
Knutwurst
fa712c5e02 Add Github CI templated and workflow. 2020-09-03 16:02:03 +02:00
Oliver Köster
ae0af415c4 Update README.md 2020-09-03 11:45:57 +02:00
Knutwurst
e61cec29da Add build environments for 1st gen Mega 2020-09-03 09:51:53 +02:00
Knutwurst
b6bdcd393b Add support for first generation i3 Mega with only one endstop 2020-09-02 21:15:58 +02:00
Oliver Köster
982de8ddff Update README.md 2020-08-27 16:34:00 +02:00
Knutwurst
fc5a29b43a First rudimentary support for MEGA PRO. 2020-08-27 16:31:54 +02:00
Knutwurst
0757a57122 Update Version to 1.1.5 for next release 2020-08-27 08:44:46 +02:00
Knutwurst
dab8b979bf Fix issue where the BLTouch nozzle did not retract between probes. 2020-08-26 22:33:19 +02:00
Oliver Köster
e7239ba96f Update README.md 2020-08-26 17:14:12 +02:00
Knutwurst
9140808f2d Add Howto-Screenshot 2020-08-26 17:05:52 +02:00
Knutwurst
0f53591818 Small initialisation fix. 2020-08-26 14:56:45 +02:00
Knutwurst
f363260a49 Massive Code Cleanup and Filament Runout Sensor Pin isn't a magic number anymore. 2020-08-26 14:48:53 +02:00
Knutwurst
bd2cb8080a Reenable T0 Sensor Message handling 2020-08-26 11:26:20 +02:00
Knutwurst
697bc6f45c PID Tuning is now automatially saved to EEPROM. 2020-08-26 11:25:09 +02:00
Oliver Köster
55521d3ab1 Update README.md 2020-08-26 10:33:24 +02:00
Oliver Köster
4801858c19 Update README.md 2020-08-26 10:29:01 +02:00
Oliver Köster
613d352308 Update README.md 2020-08-26 10:25:52 +02:00
Knutwurst
c7373ccc8e More readable special menu on DGUS Clone Display 2020-08-26 09:43:46 +02:00
Knutwurst
e12fb83b78 Upload Anycubic Touchscreen Pics for the Wiki 2020-08-26 08:43:36 +02:00
Oliver Köster
5600a71514 Update README.md 2020-08-26 07:45:44 +02:00
Knutwurst
52126609af Fix too long version number 2020-08-25 19:56:01 +02:00
Knutwurst
aa57f4be9d Fix for Special Menu without SD card 2020-08-25 19:39:08 +02:00
Oliver Köster
f27545aee4 Update README.md 2020-08-25 09:07:12 +02:00
Knutwurst
e4a828f32a Increase filament runout watch from 3 to 5 seconds. 2020-08-25 08:56:45 +02:00
Knutwurst
5c0841a139 Increase max Z Feedrate to 18 (thanks to Simon Geis) 2020-08-25 08:22:27 +02:00
Knutwurst
c65ec66cb1 Add Manual Mesh Leveling Sub-Menu. 2020-08-24 14:48:07 +02:00
Knutwurst
fb65790f4d Update Version to 1.1.4 Release 2020-08-24 11:07:00 +02:00
Oliver Köster
f627c62df2 Update README.md 2020-08-24 08:21:52 +02:00
Oliver Köster
0c841d8d18 Update README.md 2020-08-24 08:20:28 +02:00
Knutwurst
e53792cbce Fix Z Feedrate on Mega X 2020-08-23 22:00:28 +02:00
Knutwurst
d6a74a59dd Fix typo. 2020-08-23 18:40:08 +02:00
Knutwurst
10987b38ba A bit more to read ;) 2020-08-23 17:19:15 +02:00
Knutwurst
3f4825db12 Disable DGUS for Mega X with BLTouch on 1.1 Motherboard 2020-08-23 15:32:38 +02:00
Knutwurst
e9fbd33fbe Add alternative solder point for BLTouch 2020-08-23 15:01:24 +02:00
Knutwurst
25c776aec3 Pictures of Stepper Test 2020-08-23 12:18:53 +02:00
Knutwurst
ef3a102902 More Images 2020-08-23 11:49:22 +02:00
Knutwurst
3fce6790fc Add single picture of new fans 2020-08-23 11:42:21 +02:00
Knutwurst
b8cbfd7569 - Disable DGUS Fix for Mega X to switch to the better Special Menu
- Bump Version to 1.1.4 Beta
- Fix Special Menu Handling when no SD Card is present
- Add Pictures for new WIKI Page
- Set Classic jerk to 0.2 since this is needed for Mesh Leveling
2020-08-23 11:40:00 +02:00
Knutwurst
2ef275c95b More default speeds from original MEGA_X_V1.2.6 Firmware 2020-08-22 21:19:48 +02:00
Knutwurst
98852f7164 Show Special Menu even if no SD card is inserted. 2020-08-22 15:07:43 +02:00
Knutwurst
810526e377 Some minor Touchscreen fixes 2020-08-22 14:44:01 +02:00
Knutwurst
f663765c7e Add detailed Version Info for DGUS II. 2020-08-21 23:52:11 +02:00
Knutwurst
1ef285fa1d Update README.md 2020-08-19 12:09:49 +02:00
Knutwurst
a35eba79cc Revert "Update README.md"
This reverts commit 8a3eef85b1.
2020-08-19 12:07:49 +02:00
Oliver Köster
21d5e7ecf7 Update README.md 2020-08-19 12:04:33 +02:00
Oliver Köster
8a3eef85b1 Update README.md 2020-08-18 17:48:14 +02:00
Oliver Köster
1db797f7e3 Update README.md 2020-08-18 17:47:19 +02:00
Knutwurst
7872416018 Add Print Bed Size image 2020-08-18 17:41:47 +02:00
Knutwurst
87ba51d21f Update README.md 2020-08-18 17:35:19 +02:00
Knutwurst
27c074ba25 Enable Junction Deviation for MEGA X 2020-08-17 16:40:50 +02:00
Oliver Köster
2c630117c1 Update README.md 2020-08-16 12:59:47 +02:00
Knutwurst
4e22347e8c Update README.md 2020-08-16 12:17:13 +02:00
Knutwurst
fb22e90d6d Fix z height when using hotend pid autotune 2020-08-16 12:10:01 +02:00
Knutwurst
14c90915b0 Set release Date 2020-08-16 12:02:15 +02:00
Knutwurst
f078706442 - Disable Stepper after Hotend PID Tuning
- Bump version zu 1.1.3 Release
- Finally Fix 0.01 Steps for manual leveling
2020-08-16 12:01:30 +02:00
Knutwurst
fe734e1152 - Lower max feedrate for Z on MEGA M and S
- fully automatize PID tuning
- Bump Version to 1.1.3-BETA
2020-08-15 22:30:42 +02:00
Knutwurst
4d5d068a99 Disable stepper motors after BLTouch leveling is done 2020-08-14 12:49:58 +02:00
Knutwurst
919814c0d7 Add official BLTouch cable switch image 2020-08-14 12:39:54 +02:00
Knutwurst
a4cd712b02 JunctionDeviation Params for Mega S/X 2020-08-14 09:56:23 +02:00
Knutwurst
6ffd8dd31d Mega X Acceleration Fixes 2020-08-14 09:29:42 +02:00
Knutwurst
c1b3d4afec Add images for Servo cables 2020-08-13 13:26:58 +02:00
Knutwurst
083894f518 Slower homing feedrate. It war too high for the Mega S 2020-08-13 12:41:12 +02:00
Knutwurst
81ed8a1d9f Deployment Script with subfolders for each firmware version 2020-08-13 10:08:24 +02:00
Knutwurst
f91882400b Bump Version to 1.1.2 for next Release 2020-08-13 09:32:14 +02:00
Knutwurst
abf7f93bda Add Distribution Date to M115 Command 2020-08-13 08:30:26 +02:00
Knutwurst
bcc3964aed Feature: Very fast BLTouch probing 2020-08-12 22:10:23 +02:00
Knutwurst
9c59d44e9f DGUS2 TFT Bugfix when serial error occures 2020-08-12 20:05:09 +02:00
Knutwurst
e08673ac8d Bugfix: Hotend Fan did not start up when starting PID tuning. 2020-08-12 16:22:55 +02:00
Oliver Köster
c1f9a5edaf Update README.md 2020-08-12 14:07:00 +02:00
Oliver Köster
54caef61a4 Update README.md 2020-08-12 08:28:27 +02:00
Knutwurst
574357b47a More BLTouch Images 2020-08-11 17:07:17 +02:00
Oliver Köster
9f76b31a19 Update README.md 2020-08-11 08:26:27 +02:00
Knutwurst
86ec69c1b0 Add bltouch wiring Image 2020-08-11 07:20:33 +02:00
Knutwurst
8d8d46a2b8 Add more information for developers 2020-08-11 06:50:24 +02:00
Knutwurst
b00040c25d Improve deployment script 2020-08-10 17:14:23 +02:00
54 changed files with 1379 additions and 690 deletions

1
.github/FUNDING.yml vendored Executable file
View File

@@ -0,0 +1 @@
custom: ["https://paypal.me/oliverkoester"]

43
.github/ISSUE_TEMPLATE/bug_report.md vendored Executable file
View File

@@ -0,0 +1,43 @@
---
name: Bug report
about: Report a bug in Marlin
title: "[BUG] (short description)"
labels: ''
assignees: ''
---
<!--
Have you read Marlin's Code of Conduct? By filing an Issue, you are expected to comply with it, including treating everyone with respect: https://github.com/MarlinFirmware/Marlin/blob/master/.github/code_of_conduct.md
Do you want to ask a question? Are you looking for support? Please don't post here. Instead please use one of the support links at https://github.com/MarlinFirmware/Marlin/issues/new/choose
Before filing an issue be sure to test the "bugfix" branches to see whether the issue has been resolved.
-->
### Bug Description
<!-- Description of the bug -->
### My Configurations
**Required:** Please include a ZIP file containing your `Configuration.h` and `Configuration_adv.h` files.
### Steps to Reproduce
<!-- Please describe the steps needed to reproduce the issue -->
1. [First Step]
2. [Second Step]
3. [and so on...]
**Expected behavior:** [What you expect to happen]
**Actual behavior:** [What actually happens]
#### Additional Information
* Provide pictures or links to videos that clearly demonstrate the issue.
* See [How Can I Contribute](#how-can-i-contribute) for additional guidelines.

17
.github/ISSUE_TEMPLATE/config.yml vendored Executable file
View File

@@ -0,0 +1,17 @@
blank_issues_enabled: false
contact_links:
- name: Marlin Documentation
url: http://marlinfw.org/
about: Lots of documentation on installing and using Marlin.
- name: MarlinFirmware Facebook group
url: https://www.facebook.com/groups/1049718498464482
about: Please ask and answer questions here.
- name: Marlin on Discord
url: https://discord.gg/n5NJ59y
about: Join the Discord server for support and discussion.
- name: Marlin Discussion Forum
url: http://forums.reprap.org/list.php?415
about: A searchable web forum hosted by RepRap dot org.
- name: Marlin Videos on YouTube
url: https://www.youtube.com/results?search_query=marlin+firmware
about: Tutorials and more from Marlin users all around the world. Great for new users!

35
.github/ISSUE_TEMPLATE/feature_request.md vendored Executable file
View File

@@ -0,0 +1,35 @@
---
name: Feature request
about: Request a Feature
title: "[FR] (feature request title)"
labels: ''
assignees: ''
---
<!--
Have you read Marlin's Code of Conduct? By filing an Issue, you are expected to comply with it, including treating everyone with respect: https://github.com/MarlinFirmware/Marlin/blob/master/.github/code_of_conduct.md
Do you want to ask a question? Are you looking for support? Please don't post here. Instead please use one of the support links at https://github.com/MarlinFirmware/Marlin/issues/new/choose
Before filing an issue be sure to test the "bugfix" branches to see whether the issue has been resolved.
-->
### Description
<!-- Description of the requested feature -->
### Feature Workflow
<!-- Please describe the feature's behavior, user interaction, etc. -->
1. [First Action]
2. [Second Action]
3. [and so on...]
#### Additional Information
* Provide pictures or links that demonstrate a similar feature or concept.
* See [How Can I Contribute](#how-can-i-contribute) for additional guidelines.

11
.github/issue_template.md vendored Executable file
View File

@@ -0,0 +1,11 @@
# NO SUPPORT REQUESTS PLEASE
Do you want to ask a question? Are you looking for support? Please don't post here. Support Requests posted here will be automatically closed!
Instead use one of the following options:
- The Marlin Firmware forum at https://reprap.org/forum/list.php?415
- The MarlinFirmware Facebook Group at https://www.facebook.com/groups/1049718498464482/
- The MarlinFirmware Discord Server at https://discord.gg/n5NJ59y.
Before filing an issue be sure to test the latest "bugfix" branch to see whether the issue is already addressed.

40
.github/lock.yml vendored Executable file
View File

@@ -0,0 +1,40 @@
#
# Configuration for Lock Threads - https://github.com/dessant/lock-threads-app
#
# Number of days of inactivity before a closed issue or pull request is locked
daysUntilLock: 60
# Skip issues and pull requests created before a given timestamp. Timestamp must
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
skipCreatedBefore: false
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
exemptLabels: [ 'no-locking' ]
# Label to add before locking, such as `outdated`. Set to `false` to disable
lockLabel: false
# Comment to post before locking. Set to `false` to disable
lockComment: >
This thread has been automatically locked since there has not been
any recent activity after it was closed. Please open a new issue for
related bugs.
# Assign `resolved` as the reason for locking. Set to `false` to disable
setLockReason: true
# Limit to only `issues` or `pulls`
# only: issues
# Optionally, specify configuration settings just for `issues` or `pulls`
# issues:
# exemptLabels:
# - help-wanted
# lockLabel: outdated
# pulls:
# daysUntilLock: 30
# Repository to extend settings from
# _extends: repo

23
.github/pull_request_template.md vendored Executable file
View File

@@ -0,0 +1,23 @@
### Requirements
* Filling out this template is required. Pull Requests without a clear description may be closed at the maintainers' discretion.
### Description
<!--
We must be able to understand your proposed change from this description. If we can't understand what the code will do from this description, the Pull Request may be closed at the maintainers' discretion. Keep in mind that the maintainer reviewing this PR may not be familiar with or have worked with the code recently, so please walk us through the concepts.
-->
### Benefits
<!-- What does this fix or improve? -->
### Configurations
<!-- Attach any Configuration.h, Configuration_adv.h, or platformio.ini files needed to compile/test your Pull Request. -->
### Related Issues
<!-- Whether this fixes a bug or fulfills a feature request, please list any related Issues here. -->

114
.github/workflows/build-all.yml vendored Executable file
View File

@@ -0,0 +1,114 @@
name: Build All Firmware Variants
on:
#pull_request:
# branches:
# - master
# paths-ignore:
# - config/**
# - data/**
# - docs/**
# - '**/*.md'
push:
branches:
- master
paths-ignore:
- config/**
- data/**
- docs/**
- '**/*.md'
jobs:
build:
name: Build
if: github.repository == 'knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S'
runs-on: ubuntu-latest
strategy:
matrix:
platform:
# Knutwurst Base Environments
- MEGA_1G
- MEGA_1G_TMC
- MEGA_1G_BLT_10
- MEGA_1G_BLT_11
- MEGA_1G_TMC_BLT_10
- MEGA_1G_TMC_BLT_11
- MEGA
- MEGA_TMC
- MEGA_BLT_10
- MEGA_BLT_11
- MEGA_TMC_BLT_10
- MEGA_TMC_BLT_11
- MEGA_S
- MEGA_S_TMC
- MEGA_S_BLT_10
- MEGA_S_BLT_11
- MEGA_S_TMC_BLT_10
- MEGA_S_TMC_BLT_11
- MEGA_S_DGUS
- MEGA_S_DGUS_TMC
- MEGA_S_DGUS_BLT_10
- MEGA_S_DGUS_BLT_11
- MEGA_S_DGUS_TMC_BLT_10
- MEGA_S_DGUS_TMC_BLT_11
- MEGA_X
- MEGA_X_TMC
- MEGA_X_BLT_10
- MEGA_X_BLT_11
- MEGA_X_TMC_BLT_10
- MEGA_X_TMC_BLT_11
- MEGA_P
- MEGA_P_TMC
- MEGA_P_BLT_10
- MEGA_P_BLT_11
- MEGA_P_TMC_BLT_10
- MEGA_P_TMC_BLT_11
steps:
- name: Setup 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/develop.zip
platformio update
- name: Install PlatformIO dependencies
run: |
python -m pip install --upgrade pip
pip install platformio
- uses: actions/checkout@master
- name: Compile Firmware with PlatformIO
run: platformio run --environment ${{ matrix.platform }}
- name: Set Environment Variables
run: |
CUSTOM_BUILD_VERSION=$(egrep -o "([0-9]{1,}\.)+[0-9]{1,}" Marlin/src/inc/Version.h -m2 | tail -n1) && \
echo "::set-env name=CUSTOM_BUILD_VER::$CUSTOM_BUILD_VERSION"
- name: Rename Output Files
run: |
CUSTOM_BUILD_VERSION=$(egrep -o "([0-9]{1,}\.)+[0-9]{1,}" Marlin/src/inc/Version.h -m2 | tail -n1) && \
mv .pio/build/${{ matrix.platform }}/firmware.hex .pio/build/${{ matrix.platform }}/${{ matrix.platform }}_v$CUSTOM_BUILD_VERSION.hex
#- name: Archive artifacts into single Files
# uses: actions/upload-artifact@master
# with:
# name: Knutwurst_${{ matrix.platform }}
# path: |
# .pio/build/${{ matrix.platform }}/${{ matrix.platform }}_v*.hex
- name: Archive all artifacts into one ZIP file
uses: actions/upload-artifact@master
with:
name: Knuwurst-all-in-one_v$CUSTOM_BUILD_VER
path: |
.pio/build/${{ matrix.platform }}/${{ matrix.platform }}_v*.hex

31
.github/workflows/bump-date.yml vendored Executable file
View File

@@ -0,0 +1,31 @@
#
# bump-date.yml
# Bump the distribution date once per day
#
name: Bump Distribution Date
on:
schedule:
- cron: '0 0 * * *'
jobs:
bump_date:
name: Bump Distribution Date
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Bump Distribution Date
run: |
# Inline Bump Script
DIST=$( date +"%Y-%m-%d" )
eval "sed -E -i 's/(#define +STRING_DISTRIBUTION_DATE) .*$/\1 \"$DIST\"/g' Marlin/src/inc/Version.h" && \
git config user.name "${GITHUB_ACTOR}" && \
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" && \
git add . && \
git commit -m "[cron] Bump distribution date ($DIST)" && \
git push

31
.github/workflows/check-pr.yml vendored Executable file
View File

@@ -0,0 +1,31 @@
#
# check-pr.yml
# Close PRs directed at release branches
#
name: PR Bad Target
on:
pull_request:
branches:
- 2.0.x
jobs:
bad_target:
name: PR Bad Target
if: github.repository == 'knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S'
runs-on: ubuntu-latest
steps:
- uses: peter-evans/close-pull@v1
with:
delete-branch: false
comment: >
Thanks for your contribution! Unfortunately we can't accept PRs directed at release branches. We make patches to the bugfix branches and only later do we push them out as releases.
Please redo this PR starting with the `bugfix-2.0.x` branch and be careful to target `bugfix-2.0.x` when resubmitting the PR.
It may help to set your fork's default branch to `bugfix-2.0.x`.
See [this page](http://marlinfw.org/docs/development/getting_started_pull_requests.html) for full instructions.

27
.github/workflows/close-stale.yml vendored Executable file
View File

@@ -0,0 +1,27 @@
#
# close-stale.yml
# Close open issues after a period of inactivity
#
name: Close Stale Issues
on:
schedule:
- cron: "22 1 * * *"
jobs:
stale:
name: Close Stale Issues
if: github.repository == 'knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S'
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label / comment or this will be closed in 5 days.'
days-before-stale: 30
days-before-close: 5
stale-issue-label: 'stale-closing-soon'
exempt-issue-labels: 'T: Feature Request'

32
.github/workflows/lock-closed.yml vendored Executable file
View File

@@ -0,0 +1,32 @@
#
# lock-closed.yml
# Lock closed issues after a period of inactivity
#
name: Lock Closed Issues
on:
schedule:
- cron: '0 1/13 * * *'
jobs:
lock:
name: Lock Closed Issues
if: github.repository == 'knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S'
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2
with:
github-token: ${{ github.token }}
process-only: 'issues'
issue-lock-inactive-days: '60'
issue-exclude-created-before: ''
issue-exclude-labels: 'no-locking'
issue-lock-labels: ''
issue-lock-comment: >
This issue has been automatically locked since there
has not been any recent activity after it was closed.
Please open a new issue for related bugs.
issue-lock-reason: ''

22
.github/workflows/unlock-reopened.yml vendored Executable file
View File

@@ -0,0 +1,22 @@
#
# unlock-reopened.yml
# Unlock an issue whenever it is re-opened
#
name: "Unlock reopened issue"
on:
issues:
types: [reopened]
jobs:
unlock:
name: Unlock Reopened
if: github.repository == 'knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S'
runs-on: ubuntu-latest
steps:
- uses: OSDKDev/unlock-issues@v1.1
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -43,18 +43,24 @@
//#define ANYCUBIC_TFT_DEBUG
//#define POWER_OUTAGE_TEST
/*****************************************************************************************
* *
* *
* WARNING: *
* THE FOLLOWING SETTINGS ARE NORMALLY SET BY PLATFORMIO! *
* *
* IF YOU CHANGE THEM WITHIN THE SOURCECODE, DO NOT COMMIT *
* TO MASTER BRANCH OR BUILD WITH PLATFORMIO ENVIRONMENT! *
* OTHERWISE SOME SETTINGS MIGHT BE OVERWRITTEN AND YOU END *
* UP WITH A NON FUNCTIONING FIRMWARE! *
* *
* ***************************************************************************************/
/*******************************************************************************************
** **
** **
** WARNING: **
** THE FOLLOWING SETTINGS ARE NORMALLY SET BY PLATFORMIO! **
** **
** IF YOU CHANGE THEM WITHIN THE SOURCECODE, DO NOT COMMIT **
** TO MASTER BRANCH OR BUILD WITH PLATFORMIO ENVIRONMENT! **
** OTHERWISE SOME SETTINGS MIGHT BE OVERWRITTEN AND YOU END **
** UP WITH A NON FUNCTIONING FIRMWARE! **
** **
** If you want to select a specific configuration for your **
** printer, just open the PlatformIO tab on the left, select **
** PROJECT TASKS and then "env:i3_MEGA*" (your desired config) **
** From there you can build and upload your code. **
** **
** **
*******************************************************************************************/
/*
@@ -64,16 +70,38 @@
* MEGA is the normal i3 Version without spool holder and the cassic extruder
* MEGA_S is the S version with Titan clone extruder
* MEGA_X is the big version with 310x310mm Bed
* MEGA_P is the "Pro" Version with BMG Extruder, 2 TMC Steppers and Laser
*
* PLEASE READ THE WARNING ABOVE!
*
*/
//#define KNUTWURST_MEGA
//#define KNUTWURST_MEGA_S
//#define KNUTWURST_MEGA_X
//#define KNUTWURST_MEGA_P
/*
* If you own the first generation i3 Mega
* with only one Z endstop, you need to activate
* KNUTWURST_MEGA and also this to disable
* the left endstop and switch the Z Motors.
*
* If the option is disabled, two Z endstops
* are used by default.
*
* PLEASE READ THE WARNING ABOVE!
*
*/
//#define KNUTWURST_ONE_Z_ENDSTOP
/*
* If you have defined the MEGA_X or if
* you have the "new" Mega S with the blue/yellow
* Touchscreen display, you need to enable the
* DGUS2 switch to get the special menu to work
*
* PLEASE READ THE WARNING ABOVE!
*
*/
//#define KNUTWURST_DGUS2_TFT
@@ -81,39 +109,64 @@
* Enable Support for Trinamic Stepper drivers.
* This also inverts the X,Y,Z and Extruder motor
* outputs/directions.
*
* PLEASE READ THE WARNING ABOVE!
*/
//#define KNUTWURST_TMC
/*
* Invert E0 Stepper driver for
* Bondtech Mini Geared (BMG) Extruders
*
* This flag is mandatory if you own a
* MEGA Pro, which has this Extruder by
* default.
*
*/
//#define KNUTWURST_BMG
/*
* This enables the BLTouch Support and also
* activates the BLTouch Menu item in the
* special menu. It also removes all manual
* leveling features because they are not
* neccessary at all.
*
* PLEASE READ THE WARNING ABOVE!
*
*/
//#define KNUTWURST_BLTOUCH // see <https://github.com/DerDominik/Marlin-AnycubicI3Mega-BLTouch/wiki/Aufbauplan_BLTouch>
//#define KNUTWURST_BLTOUCH
/*
* This feature is for debugging purpose only.
* It enabled more console output and should be
* disabled in production. It can cause the
* printer to stutter.
*
* PLEASE READ THE WARNING ABOVE!
*
*/
//#define KNUTWURST_DEBUG
/*****************************************************************************************
* *
* *
* WARNING: *
* THE SETTINGS ABOVE ARE NORMALLY SET BY PLATFORMIO! *
* *
* IF YOU CHANGE THEM WITHIN THE SOURCECODE, DO NOT COMMIT *
* TO MASTER BRANCH OR BUILD WITH PLATFORMIO ENVIRONMENT! *
* OTHERWISE SOME SETTINGS MIGHT BE OVERWRITTEN AND YOU END *
* UP WITH A NON FUNCTIONING FIRMWARE! *
* *
* ***************************************************************************************/
/*******************************************************************************************
** **
** **
** WARNING: **
** THE SETTINGS ABOVE ARE NORMALLY SET BY PLATFORMIO! **
** **
** IF YOU CHANGE THEM WITHIN THE SOURCECODE, DO NOT COMMIT **
** TO MASTER BRANCH OR BUILD WITH PLATFORMIO ENVIRONMENT! **
** OTHERWISE SOME SETTINGS MIGHT BE OVERWRITTEN AND YOU END **
** UP WITH A NON FUNCTIONING FIRMWARE! **
** **
** If you want to select a specific configuration for your **
** printer, just open the PlatformIO tab on the left, select **
** PROJECT TASKS and then "env:i3_MEGA*" (your desired config) **
** From there you can build and upload your code. **
** **
** **
*******************************************************************************************/
/*
@@ -722,7 +775,10 @@
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
#define USE_XMAX_PLUG
#if DISABLED(KNUTWURST_ONE_Z_ENDSTOP)
#define USE_XMAX_PLUG
#endif
//#define USE_YMAX_PLUG
//#define USE_ZMAX_PLUG
@@ -752,6 +808,17 @@
//#define ENDSTOPPULLDOWN_ZMIN_PROBE
#endif
#if ENABLED(KNUTWURST_MEGA) || ENABLED(KNUTWURST_MEGA_S) || ENABLED(KNUTWURST_MEGA_P)
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
//#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#endif
#if ENABLED(KNUTWURST_MEGA_X)
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
@@ -763,16 +830,6 @@
//#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#endif
#if EITHER(KNUTWURST_MEGA, KNUTWURST_MEGA_S)
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
//#define Z_MIN_PROBE_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#endif
/**
* Stepper Drivers
@@ -791,41 +848,41 @@
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'L6474', 'POWERSTEP01', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
*/
#if ENABLED(KNUTWURST_TMC)
#define X_DRIVER_TYPE TMC2208_STANDALONE
#define Y_DRIVER_TYPE TMC2208_STANDALONE
#define Z_DRIVER_TYPE TMC2208_STANDALONE
//#define X2_DRIVER_TYPE TMC2208_STANDALONE
//#define Y2_DRIVER_TYPE TMC2208_STANDALONE
//#define Z2_DRIVER_TYPE TMC2208_STANDALONE
//#define Z3_DRIVER_TYPE TMC2208_STANDALONE
//#define Z4_DRIVER_TYPE TMC2208_STANDALONE
#define E0_DRIVER_TYPE TMC2208_STANDALONE
#define E1_DRIVER_TYPE TMC2208_STANDALONE
//#define E2_DRIVER_TYPE TMC2208_STANDALONE
//#define E3_DRIVER_TYPE TMC2208_STANDALONE
//#define E4_DRIVER_TYPE TMC2208_STANDALONE
//#define E5_DRIVER_TYPE TMC2208_STANDALONE
//#define E6_DRIVER_TYPE TMC2208_STANDALONE
//#define E7_DRIVER_TYPE TMC2208_STANDALONE
#define X_DRIVER_TYPE TMC2208_STANDALONE
#define Y_DRIVER_TYPE TMC2208_STANDALONE
#define Z_DRIVER_TYPE TMC2208_STANDALONE
//#define X2_DRIVER_TYPE TMC2208_STANDALONE
//#define Y2_DRIVER_TYPE TMC2208_STANDALONE
//#define Z2_DRIVER_TYPE TMC2208_STANDALONE
//#define Z3_DRIVER_TYPE TMC2208_STANDALONE
//#define Z4_DRIVER_TYPE TMC2208_STANDALONE
#define E0_DRIVER_TYPE TMC2208_STANDALONE
#define E1_DRIVER_TYPE TMC2208_STANDALONE
//#define E2_DRIVER_TYPE TMC2208_STANDALONE
//#define E3_DRIVER_TYPE TMC2208_STANDALONE
//#define E4_DRIVER_TYPE TMC2208_STANDALONE
//#define E5_DRIVER_TYPE TMC2208_STANDALONE
//#define E6_DRIVER_TYPE TMC2208_STANDALONE
//#define E7_DRIVER_TYPE TMC2208_STANDALONE
#endif
#if DISABLED(KNUTWURST_TMC)
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
//#define X2_DRIVER_TYPE A4988
//#define Y2_DRIVER_TYPE A4988
//#define Z2_DRIVER_TYPE A4988
//#define Z3_DRIVER_TYPE A4988
//#define Z4_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
//#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
//#define E6_DRIVER_TYPE A4988
//#define E7_DRIVER_TYPE A4988
#endif
// Enable this feature if all enabled endstop pins are interrupt-capable.
@@ -883,23 +940,35 @@
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 800, 400 }
#endif
#if ENABLED(KNUTWURST_MEGA_P)
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 415 }
#endif
/**
* Default Max Feed Rate (mm/s)
* Override with M203
* X, Y, Z, E0 [, E1[, E2...]]
*/
#if ENABLED(KNUTWURST_MEGA)
#define DEFAULT_MAX_FEEDRATE { 500, 500, 6, 60 }
#if ENABLED(KNUTWURST_BMG)
#define DEFAULT_MAX_FEEDRATE { 500, 500, 8, 30 }
#else
#define DEFAULT_MAX_FEEDRATE { 500, 500, 8, 60 }
#endif
#endif
#if ENABLED(KNUTWURST_MEGA_S)
#define DEFAULT_MAX_FEEDRATE { 500, 500, 6, 30 }
#define DEFAULT_MAX_FEEDRATE { 500, 500, 8, 30 }
#endif
#if ENABLED(KNUTWURST_MEGA_X)
#define DEFAULT_MAX_FEEDRATE { 120, 120, 20, 80 }
#define DEFAULT_MAX_FEEDRATE { 120, 120, 18, 80 } // thanks to Simon Geis
#endif
#if ENABLED(KNUTWURST_MEGA_P)
#define DEFAULT_MAX_FEEDRATE { 500, 500, 8, 30 }
#endif
//#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
@@ -913,7 +982,16 @@
* Override with M201
* X, Y, Z, E0 [, E1[, E2...]]
*/
#define DEFAULT_MAX_ACCELERATION { 3000, 2000, 60, 10000 }
#if ENABLED(KNUTWURST_MEGA) || ENABLED(KNUTWURST_MEGA_S) || ENABLED(KNUTWURST_MEGA_P)
#define DEFAULT_MAX_ACCELERATION { 3000, 2000, 60, 10000 }
#endif
#if ENABLED(KNUTWURST_MEGA_X)
#define DEFAULT_MAX_ACCELERATION { 400, 400, 60, 10000 }
#endif
//#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
@@ -931,7 +1009,12 @@
#if ENABLED(KNUTWURST_MEGA)
#define DEFAULT_ACCELERATION 1600 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
#if ENABLED(KNUTWURST_BMG)
#define DEFAULT_RETRACT_ACCELERATION 1500 // E acceleration for retracts
#else
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
#endif
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
#endif
@@ -947,6 +1030,12 @@
#define DEFAULT_TRAVEL_ACCELERATION 400 // X, Y, Z acceleration for travel (non printing) moves
#endif
#if ENABLED(KNUTWURST_MEGA_P)
#define DEFAULT_ACCELERATION 1600 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 1500 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
#endif
/**
* Default Jerk limits (mm/s)
* Override with M205 X Y Z E
@@ -956,10 +1045,31 @@
* value set here, it may happen instantaneously.
*/
//#define CLASSIC_JERK
// I Know.. it's useless to put it here ;)
#if ENABLED(KNUTWURST_MEGA) || ENABLED(KNUTWURST_MEGA_S) || ENABLED(KNUTWURST_MEGA_P)
//#define CLASSIC_JERK
#endif
#if ENABLED(KNUTWURST_MEGA_X)
//#define CLASSIC_JERK
#endif
#if ENABLED(CLASSIC_JERK)
#define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4
#if ENABLED(KNUTWURST_MEGA) || ENABLED(KNUTWURST_MEGA_S) || ENABLED(KNUTWURST_MEGA_P)
#define DEFAULT_XJERK 10.0
#define DEFAULT_YJERK 10.0
#define DEFAULT_ZJERK 0.4
#endif
#if ENABLED(KNUTWURST_MEGA_X)
#define DEFAULT_XJERK 4.0
#define DEFAULT_YJERK 4.0
#define DEFAULT_ZJERK 0.2
#endif
//#define TRAVEL_EXTRA_XYJERK 0.0 // Additional jerk allowance for all travel moves
@@ -969,7 +1079,13 @@
#endif
#endif
#define DEFAULT_EJERK 5.0 // May be used by Linear Advance
#if ENABLED(KNUTWURST_MEGA) || ENABLED(KNUTWURST_MEGA_S) || ENABLED(KNUTWURST_MEGA_P)
#define DEFAULT_EJERK 5.0 // May be used by Linear Advance
#endif
#if ENABLED(KNUTWURST_MEGA_X)
#define DEFAULT_EJERK 8.0 // May be used by Linear Advance
#endif
/**
* Junction Deviation Factor
@@ -979,7 +1095,13 @@
* http://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
*/
#if DISABLED(CLASSIC_JERK)
#define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge
#if ENABLED(KNUTWURST_MEGA) || ENABLED(KNUTWURST_MEGA_S) || ENABLED(KNUTWURST_MEGA_P)
#define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge
#endif
#if ENABLED(KNUTWURST_MEGA_X)
#define JUNCTION_DEVIATION_MM 0.16 // (mm) Distance from real junction edge
#endif
#endif
/**
@@ -1025,7 +1147,7 @@
*
*/
#if ENABLED(KNUTWURST_BLTOUCH)
#define Z_MIN_PROBE_PIN 2 // Pin 32 is the RAMPS default
#define Z_MIN_PROBE_PIN 2 // Pin 32 is the RAMPS default
#endif
/**
@@ -1068,7 +1190,7 @@
* The BLTouch probe uses a Hall effect sensor and emulates a servo.
*/
#if ENABLED(KNUTWURST_BLTOUCH)
#define BLTOUCH
#define BLTOUCH
#endif
/**
@@ -1142,20 +1264,20 @@
* Specify a Probe position as { X, Y, Z }
*/
#if ENABLED(KNUTWURST_BLTOUCH)
#define NOZZLE_TO_PROBE_OFFSET { -2, -25, 0 } //https://www.thingiverse.com/thing:2824005
//#define NOZZLE_TO_PROBE_OFFSET { 29, -15, 0 } //X-Carriage
#define NOZZLE_TO_PROBE_OFFSET { -2, -25, 0 } //https://www.thingiverse.com/thing:2824005
//#define NOZZLE_TO_PROBE_OFFSET { 29, -15, 0 } //X-Carriage
#endif
#if DISABLED(KNUTWURST_BLTOUCH)
#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
#endif
// Most probes should stay away from the edges of the bed, but
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
#define MIN_PROBE_EDGE 10
#define MIN_PROBE_EDGE 30
// X and Y axis travel speed (mm/m) between probes
#define XY_PROBE_SPEED 3600
#define XY_PROBE_SPEED 8000
// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2)
#define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z
@@ -1195,11 +1317,11 @@
//#define Z_AFTER_PROBING 5 // Z position after probing is done
#if ENABLED(KNUTWURST_BLTOUCH)
#define Z_PROBE_LOW_POINT -5 // Farthest distance below the trigger-point to go before stopping
#define Z_PROBE_LOW_POINT -10 // Farthest distance below the trigger-point to go before stopping
#endif
#if DISABLED(KNUTWURST_BLTOUCH)
#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping
#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping
#endif
@@ -1209,7 +1331,7 @@
// Enable the M48 repeatability test to test probe accuracy
#if ENABLED(KNUTWURST_BLTOUCH)
#define Z_MIN_PROBE_REPEATABILITY_TEST
#define Z_MIN_PROBE_REPEATABILITY_TEST
#endif
// Before deploy/stow pause for user confirmation
@@ -1256,42 +1378,100 @@
// @section machine
#if ENABLED(KNUTWURST_TMC)
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false // set to true for stock drivers or TMC2208 with reversed connectors
#define INVERT_Y_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_Z_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#if DISABLED(KNUTWURST_TMC)
// @section extruder
#if ENABLED(KNUTWURST_MEGA) || ENABLED(KNUTWURST_MEGA_S) || ENABLED(KNUTWURST_MEGA_X)
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR true // set to true for stock drivers or TMC2208 with reversed connectors
#define INVERT_Y_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_Z_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_E1_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false
#define INVERT_E5_DIR false
#define INVERT_E6_DIR false
#define INVERT_E7_DIR false
// @section extruder
// For direct drive extruder v9 set to true, for geared extruder set to false.
#if ENABLED(KNUTWURST_BMG)
#define INVERT_E0_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#else
#define INVERT_E0_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#endif
#define INVERT_E1_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false
#define INVERT_E5_DIR false
#define INVERT_E6_DIR false
#define INVERT_E7_DIR false
#endif
#if ENABLED(KNUTWURST_MEGA_P)
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false // set to true for stock drivers or TMC2208 with reversed connectors
#define INVERT_Y_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_Z_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
// @section extruder
// For direct drive extruder v9 set to true, for geared extruder set to false.
#if ENABLED(KNUTWURST_BMG)
#define INVERT_E0_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#else
#define INVERT_E0_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#endif
#define INVERT_E1_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false
#define INVERT_E5_DIR false
#define INVERT_E6_DIR false
#define INVERT_E7_DIR false
#endif
#endif
#if DISABLED(KNUTWURST_TMC)
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR true // set to true for stock drivers or TMC2208 with reversed connectors
#define INVERT_Y_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_Z_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#if ENABLED(KNUTWURST_TMC)
#if ENABLED(KNUTWURST_MEGA) || ENABLED(KNUTWURST_MEGA_S) || ENABLED(KNUTWURST_MEGA_X)
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false // set to true for stock drivers or TMC2208 with reversed connectors
#define INVERT_Y_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_Z_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
// @section extruder
// @section extruder
// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_E1_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false
#define INVERT_E5_DIR false
#define INVERT_E6_DIR false
#define INVERT_E7_DIR false
// For direct drive extruder v9 set to true, for geared extruder set to false.
#if ENABLED(KNUTWURST_BMG)
#define INVERT_E0_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#else
#define INVERT_E0_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#endif
#define INVERT_E1_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false
#define INVERT_E5_DIR false
#define INVERT_E6_DIR false
#define INVERT_E7_DIR false
#endif
#if ENABLED(KNUTWURST_MEGA_P)
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false // set to true for stock drivers or TMC2208 with reversed connectors
#define INVERT_Y_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_Z_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
// @section extruder
// For direct drive extruder v9 set to true, for geared extruder set to false.
#if ENABLED(KNUTWURST_BMG)
#define INVERT_E0_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#else
#define INVERT_E0_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#endif
#define INVERT_E1_DIR true // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_E2_DIR false
#define INVERT_E3_DIR false
#define INVERT_E4_DIR false
#define INVERT_E5_DIR false
#define INVERT_E6_DIR false
#define INVERT_E7_DIR false
#endif
#endif
// @section homing
@@ -1314,7 +1494,7 @@
// @section machine
// The size of the print bed
#if EITHER(KNUTWURST_MEGA, KNUTWURST_MEGA_S)
#if ENABLED(KNUTWURST_MEGA) || ENABLED(KNUTWURST_MEGA_S) || ENABLED(KNUTWURST_MEGA_P)
#define X_BED_SIZE 225
#define Y_BED_SIZE 220
#define Z_BED_HEIGHT 210
@@ -1434,19 +1614,19 @@
* With an LCD controller the process is guided step-by-step.
*/
#if ENABLED(KNUTWURST_BLTOUCH)
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
//#define MESH_BED_LEVELING
#endif
#if DISABLED(KNUTWURST_BLTOUCH)
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
#define MESH_BED_LEVELING
//#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
#define MESH_BED_LEVELING
#endif
/**
@@ -1606,9 +1786,18 @@
#define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2) // Y point for Z homing when homing all axes (G28).
#endif
// Homing speeds (mm/m)
#define HOMING_FEEDRATE_XY (50*60)
#define HOMING_FEEDRATE_Z (4*60)
#if ENABLED(KNUTWURST_MEGA) || ENABLED(KNUTWURST_MEGA_S) || ENABLED(KNUTWURST_MEGA_P)
// Homing speeds (mm/m)
#define HOMING_FEEDRATE_XY (50*60)
#define HOMING_FEEDRATE_Z (5*60)
#endif
#if ENABLED(KNUTWURST_MEGA_X)
// Homing speeds (mm/m)
#define HOMING_FEEDRATE_XY (40*60)
#define HOMING_FEEDRATE_Z (6*60)
#endif
// Validate that endstops are triggered on homing moves
#define VALIDATE_HOMING_ENDSTOPS

View File

@@ -537,19 +537,21 @@
#define NUM_Z_STEPPER_DRIVERS 2 // (1-4) Z options change based on how many
#if NUM_Z_STEPPER_DRIVERS > 1
#define Z_MULTI_ENDSTOPS
#if ENABLED(Z_MULTI_ENDSTOPS)
#define Z2_USE_ENDSTOP _XMAX_
#define Z2_ENDSTOP_ADJUSTMENT 0
#if NUM_Z_STEPPER_DRIVERS >= 3
#define Z3_USE_ENDSTOP _YMAX_
#define Z3_ENDSTOP_ADJUSTMENT 0
#endif
#if NUM_Z_STEPPER_DRIVERS >= 4
#define Z4_USE_ENDSTOP _ZMAX_
#define Z4_ENDSTOP_ADJUSTMENT 0
#endif
#if DISABLED(KNUTWURST_ONE_Z_ENDSTOP)
#define Z_MULTI_ENDSTOPS
#endif
#if ENABLED(Z_MULTI_ENDSTOPS)
#define Z2_USE_ENDSTOP _XMAX_
#define Z2_ENDSTOP_ADJUSTMENT 0
#if NUM_Z_STEPPER_DRIVERS >= 3
#define Z3_USE_ENDSTOP _YMAX_
#define Z3_ENDSTOP_ADJUSTMENT 0
#endif
#if NUM_Z_STEPPER_DRIVERS >= 4
#define Z4_USE_ENDSTOP _ZMAX_
#define Z4_ENDSTOP_ADJUSTMENT 0
#endif
#endif
#endif
/**
@@ -1486,7 +1488,7 @@
* Warning: Does not respect endstops!
*/
#if ENABLED(KNUTWURST_BLTOUCH)
#define BABYSTEPPING
#define BABYSTEPPING
#endif
#if ENABLED(BABYSTEPPING)
//#define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR

View File

@@ -126,7 +126,7 @@
#define STR_INVALID_E_STEPPER "Invalid E stepper"
#define STR_E_STEPPER_NOT_SPECIFIED "E stepper not specified"
#define STR_INVALID_SOLENOID "Invalid solenoid"
#define STR_M115_REPORT "FIRMWARE_NAME:Marlin " DETAILED_BUILD_VERSION " MARLIN-AI3M_VERSION:" CUSTOM_BUILD_VERSION " SOURCE_CODE_URL:" SOURCE_CODE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID
#define STR_M115_REPORT "FIRMWARE_NAME:Marlin " DETAILED_BUILD_VERSION " KNUTWURST_AI3M_VERSION:" CUSTOM_BUILD_VERSION " DISTRIBUTION_DATE:" STRING_DISTRIBUTION_DATE " SOURCE_CODE_URL:" SOURCE_CODE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" MACHINE_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID
#define STR_MARLIN_AI3M "Marlin-AI3M"
#define STR_COUNT_X " Count X:"
#define STR_COUNT_A " Count A:"

View File

@@ -41,10 +41,10 @@
* here we define this default string as the date where the latest release
* version was tagged.
*/
#define CUSTOM_BUILD_VERSION "1.1.1"
#define CUSTOM_BUILD_VERSION "1.1.6"
#ifndef STRING_DISTRIBUTION_DATE
#define STRING_DISTRIBUTION_DATE "2020-07-09"
#define STRING_DISTRIBUTION_DATE "2020-09-11"
#endif
/**

View File

@@ -121,10 +121,11 @@ void AnycubicTouchscreenClass::Setup()
pinMode(SD_DETECT_PIN, INPUT);
WRITE(SD_DETECT_PIN, HIGH);
#endif
pinMode(19, INPUT);
WRITE(19, HIGH);
pinMode(FILAMENT_RUNOUT_PIN, INPUT);
WRITE(FILAMENT_RUNOUT_PIN, HIGH);
#if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR)
if ((READ(19) == true) && FilamentSensorEnabled)
if ((READ(FILAMENT_RUNOUT_PIN) == true) && FilamentSensorEnabled)
{
HARDWARE_SERIAL_PROTOCOLPGM("J15"); //J15 FILAMENT LACK
HARDWARE_SERIAL_ENTER();
@@ -134,11 +135,14 @@ void AnycubicTouchscreenClass::Setup()
}
#endif
currentTouchscreenSelection[0] = '\0';
currentTouchscreenSelection[0] = 0;
currentFileOrDirectory[0] = '\0';
SpecialMenu = false;
MMLMenu = false;
FlowMenu = false;
FilamentSensorEnabled = true;
MyFileNrCnt = 0;
currentFlowRate = 100;
#ifdef STARTUP_CHIME
buzzer.tone(100, 554);
@@ -447,13 +451,21 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
|| (strcasestr(currentTouchscreenSelection, SM_PID_HOTEND_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: PID Tune Hotend");
queue.inject_P(PSTR("M106 S204\nM303 E0 S210 C15 U1"));
queue.inject_P(PSTR("G28\nG90\nG1 Z20\nG1 X110 Y110 F4000\nG1 Z5\nM106 S172\nG4 P500\nM303 E0 S215 C15 U1\nG4 P500\nM107\nG28\nG1 Z10\nM84\nM500"));
buzzer.tone(200, 1108);
buzzer.tone(200, 1661);
buzzer.tone(200, 1108);
buzzer.tone(600, 1661);
}
else if ((strcasestr(currentTouchscreenSelection, SM_PID_BED_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_PID_BED_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: PID Tune Ultrabase");
queue.inject_P(PSTR("M303 E-1 S60 C6 U1"));
queue.inject_P(PSTR("M303 E-1 S60 C6 U1\nM500"));
buzzer.tone(200, 1108);
buzzer.tone(200, 1661);
buzzer.tone(200, 1108);
buzzer.tone(600, 1661);
}
else if ((strcasestr(currentTouchscreenSelection, SM_SAVE_EEPROM_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_SAVE_EEPROM_S) != NULL))
@@ -479,6 +491,11 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
}
#if DISABLED(KNUTWURST_BLTOUCH)
else if ((strcasestr(currentTouchscreenSelection, SM_MESH_MENU_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_MESH_MENU_S) != NULL))
{
MMLMenu = true;
}
else if ((strcasestr(currentTouchscreenSelection, SM_MESH_START_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_MESH_START_S) != NULL))
{
@@ -519,17 +536,13 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
|| (strcasestr(currentTouchscreenSelection, SM_Z_UP_001_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: Z Up 0.01");
queue.inject_P(PSTR("G91\nG1 Z+0.01\nG90"));
//queue.inject_P(PSTR("G91\nG1 Z+0.01\nG90"));
//queue.inject_P(PSTR("G91\nG1 Z-0.02\nG90"));
queue.inject_P(PSTR("G91\nG1 Z+0.03\nG4 P250\nG1 Z-0.02\nG90"));
}
else if ((strcasestr(currentTouchscreenSelection, SM_Z_DN_001_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_Z_DN_001_L) != NULL))
|| (strcasestr(currentTouchscreenSelection, SM_Z_DN_001_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: Z Down 0.01");
queue.inject_P(PSTR("G91\nG1 Z-0.01\nG90"));
//queue.inject_P(PSTR("G91\nG1 Z+0.02\nG90"));
//queue.inject_P(PSTR("G91\nG1 Z-0.03\nG90"));
queue.inject_P(PSTR("G91\nG1 Z+0.02\nG4 P250\nG1 Z-0.03\nG90"));
}
#endif
@@ -538,7 +551,9 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
|| (strcasestr(currentTouchscreenSelection, SM_BLTOUCH_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: BLTouch Leveling");
queue.inject_P(PSTR("G28\nG29\nM500\nG90\nG1 X0 Z30 F4000\nG91"));
queue.inject_P(PSTR("G28\nG29\nM500\nG90\nG1 Z30 F4000\nG1 X0 F4000\nG91\nM84"));
buzzer.tone(105, 1108);
buzzer.tone(210, 1661);
}
#endif
@@ -576,18 +591,121 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
{
SpecialMenu = false;
}
else if ((strcasestr(currentTouchscreenSelection, SM_BACK_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_BACK_S) != NULL))
{
MMLMenu = false;
}
else if ((strcasestr(currentTouchscreenSelection, SM_FLOWMENU_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_FLOWMENU_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: Enter Flow Menu");
FlowMenu = true;
}
else if ((strcasestr(currentTouchscreenSelection, SM_FLOW_UP_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_FLOW_UP_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: Flow UP");
currentFlowRate = currentFlowRate + 5;
if(currentFlowRate > 800)
currentFlowRate = 800;
char value[30];
sprintf_P(value, PSTR("M221 S%i"), currentFlowRate);
queue.enqueue_one_now(value);
}
else if ((strcasestr(currentTouchscreenSelection, SM_FLOW_DN_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_FLOW_DN_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: Flow Down");
currentFlowRate = currentFlowRate - 5;
if(currentFlowRate < 5)
currentFlowRate = 5;
char value[30];
sprintf_P(value, PSTR("M221 S%i"), currentFlowRate);
queue.enqueue_one_now(value);
}
else if ((strcasestr(currentTouchscreenSelection, SM_FLOW_EXIT_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_FLOW_EXIT_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: Exit Flow Menu");
FlowMenu = false;
}
}
void AnycubicTouchscreenClass::PrintList()
{
if (SpecialMenu)
if(MMLMenu)
{
switch (filenumber)
{
case 0: // Page 1
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_START_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_START_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_01_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_01_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_01_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_01_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_002_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_002_L);
break;
case 4: // Page 2
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_002_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_002_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_001_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_001_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_001_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_001_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_NEXT_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_NEXT_L);
break;
case 8: // Page 2
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_SAVE_EEPROM_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_SAVE_EEPROM_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_BACK_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_BACK_L);
break;
default:
break;
}
}
else if(FlowMenu)
{
String blah = SM_FLOW_DISP_L;
blah.replace("XXX", String(currentFlowRate));
switch (filenumber)
{
case 0: // Page 1
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_DISP_S);
HARDWARE_SERIAL_PROTOCOLLN(blah);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_UP_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_UP_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_DN_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_DN_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_EXIT_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_EXIT_L);
break;
default:
break;
}
}
else if (SpecialMenu)
{
switch (filenumber)
{
case 0: // Page 1
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_EXIT_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_EXIT_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOWMENU_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOWMENU_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PREHEAT_BED_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PREHEAT_BED_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PAUSE_S);
@@ -598,39 +716,19 @@ void AnycubicTouchscreenClass::PrintList()
#if DISABLED(KNUTWURST_BLTOUCH)
case 4: // Page 2
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_START_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_START_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_NEXT_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_NEXT_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_01_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_01_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_01_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_01_L);
break;
case 8: // Page 3
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_002_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_002_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_002_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_002_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_001_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_001_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_001_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_001_L);
break;
case 12: // Page 4
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_MENU_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_MENU_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PID_HOTEND_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PID_HOTEND_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PID_BED_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PID_BED_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_SAVE_EEPROM_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_SAVE_EEPROM_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_LOAD_DEFAULTS_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_LOAD_DEFAULTS_L);
break;
case 16: // Page 5
case 8: // Page 3
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_LOAD_DEFAULTS_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_LOAD_DEFAULTS_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_DIS_FILSENS_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_DIS_FILSENS_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_EN_FILSENS_S);
@@ -639,6 +737,7 @@ void AnycubicTouchscreenClass::PrintList()
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_EXIT_L);
break;
#endif
#if ENABLED(KNUTWURST_BLTOUCH)
case 4: // Page 2
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_BLTOUCH_S);
@@ -661,8 +760,7 @@ void AnycubicTouchscreenClass::PrintList()
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_EXIT_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_EXIT_L);
break;
#endif
#endif
default:
break;
}
@@ -725,8 +823,8 @@ void AnycubicTouchscreenClass::PrintList()
// Cut off too long filenames.
// They don't fit on the screen anyways.
if(fileNameLen > MAX_PRINTABLE_FILENAME_LEN)
fileNameLen = MAX_PRINTABLE_FILENAME_LEN;
//if(fileNameLen > MAX_PRINTABLE_FILENAME_LEN)
// fileNameLen = MAX_PRINTABLE_FILENAME_LEN;
char outputString[fileNameLen];
@@ -784,7 +882,8 @@ void AnycubicTouchscreenClass::PrintList()
#endif
else
{
// Do nothing?
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_SPECIAL_MENU_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_SPECIAL_MENU_L);
}
}
@@ -966,7 +1065,7 @@ void AnycubicTouchscreenClass::FilamentRunout()
if (FilamentSensorEnabled == true)
{
#if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR)
FilamentTestStatus = READ(19) & 0xff;
FilamentTestStatus = READ(FILAMENT_RUNOUT_PIN) & 0xff;
if (FilamentTestStatus > FilamentTestLastStatus)
{
@@ -980,8 +1079,8 @@ void AnycubicTouchscreenClass::FilamentRunout()
#ifdef ANYCUBIC_TFT_DEBUG
SERIAL_ECHOLNPGM("DEBUG: Set filament trigger time");
#endif
// set the delayed timestamp to 3000ms later
fil_delay = fil_ms + 3000UL;
// set the delayed timestamp to 5000ms later
fil_delay = fil_ms + 5000UL;
// this doesn't need to run until the filament is recovered again
FilamentSetMillis = false;
}
@@ -993,7 +1092,7 @@ void AnycubicTouchscreenClass::FilamentRunout()
if (!IsParked)
{
#ifdef ANYCUBIC_TFT_DEBUG
SERIAL_ECHOLNPGM("DEBUG: 3000ms delay done");
SERIAL_ECHOLNPGM("DEBUG: 5000ms delay done");
#endif
if (card.isPrinting())
{
@@ -1051,47 +1150,34 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
if(!TFTcomment_mode)
{
TFTcomment_mode = false; //for new command
//TFTfromsd[TFTbufindw] = false;
if(strchr(TFTcmdbuffer[TFTbufindw], 'N') != NULL)
{
/*
TFTstrchr_pointer = strchr(TFTcmdbuffer[TFTbufindw], 'N');
gcode_N = (strtol(&TFTcmdbuffer[TFTbufindw][TFTstrchr_pointer - TFTcmdbuffer[TFTbufindw] + 1], NULL, 10));
if(gcode_N != gcode_LastN+1 && (strstr_P(TFTcmdbuffer[TFTbufindw], PSTR("M110")) == NULL) )
if(strchr(TFTcmdbuffer[TFTbufindw], '*') != NULL)
{
HARDWARE_SERIAL_ERROR_START;
NEWFlushSerialRequestResend();
serial3_count = 0;
return;
byte checksum = 0;
byte count = 0;
while(TFTcmdbuffer[TFTbufindw][count] != '*') checksum = checksum^TFTcmdbuffer[TFTbufindw][count++];
TFTstrchr_pointer = strchr(TFTcmdbuffer[TFTbufindw], '*');
if( (int)(strtod(&TFTcmdbuffer[TFTbufindw][TFTstrchr_pointer - TFTcmdbuffer[TFTbufindw] + 1], NULL)) != checksum)
{
HARDWARE_SERIAL_ERROR_START;
HardwareSerial.flush();
HARDWARE_SERIAL_ERROR_START;
HardwareSerial.flush();
serial3_count = 0;
return;
}
//if no errors, continue parsing
}
*/
if(strchr(TFTcmdbuffer[TFTbufindw], '*') != NULL)
{
byte checksum = 0;
byte count = 0;
while(TFTcmdbuffer[TFTbufindw][count] != '*') checksum = checksum^TFTcmdbuffer[TFTbufindw][count++];
TFTstrchr_pointer = strchr(TFTcmdbuffer[TFTbufindw], '*');
if( (int)(strtod(&TFTcmdbuffer[TFTbufindw][TFTstrchr_pointer - TFTcmdbuffer[TFTbufindw] + 1], NULL)) != checksum)
else
{
HARDWARE_SERIAL_ERROR_START;
HardwareSerial.flush();
serial3_count = 0;
return;
HARDWARE_SERIAL_ERROR_START;
HardwareSerial.flush();
serial3_count = 0;
return;
}
//if no errors, continue parsing
}
else
{
HARDWARE_SERIAL_ERROR_START;
HardwareSerial.flush();
serial3_count = 0;
return;
}
//gcode_LastN = gcode_N;
//if no errors, continue parsing
}
else // if we don't receive 'N' but still see '*'
@@ -1172,7 +1258,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
}
else
{
HARDWARE_SERIAL_PROTOCOLPGM("J02");
HARDWARE_SERIAL_PROTOCOLPGM("J02"); // J02 SD Card initilized
}
}
else
@@ -1206,22 +1292,16 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
case 8: // A8 GET SD LIST
#ifdef SDSUPPORT
currentTouchscreenSelection[0] = 0;
if (!IS_SD_INSERTED())
{
HARDWARE_SERIAL_PROTOCOLPGM("J02");
HARDWARE_SERIAL_ENTER();
}
else
{
if (CodeSeen('S'))
filenumber = CodeValue();
HARDWARE_SERIAL_PROTOCOLPGM("FN "); // Filelist start
HARDWARE_SERIAL_ENTER();
PrintList();
HARDWARE_SERIAL_PROTOCOLPGM("END"); // Filelist stop
HARDWARE_SERIAL_ENTER();
}
if (CodeSeen('S'))
filenumber = CodeValue();
HARDWARE_SERIAL_PROTOCOLPGM("FN "); // Filelist start
HARDWARE_SERIAL_ENTER();
PrintList();
HARDWARE_SERIAL_PROTOCOLPGM("END"); // Filelist stop
HARDWARE_SERIAL_ENTER();
#endif
break;
case 9: // A9 pause sd print
@@ -1611,15 +1691,6 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
}
currentTouchscreenSelection[0] = 0;
if (!IS_SD_INSERTED())
{
HARDWARE_SERIAL_PROTOCOLPGM("J02"); // J02 SD Card initilized
HARDWARE_SERIAL_ENTER();
#ifdef ANYCUBIC_TFT_DEBUG
SERIAL_ECHOLNPGM("TFT Serial Debug: SD card initialized... J02");
#endif
}
#endif
break;
#ifdef SERVO_ENDSTOPS
@@ -1638,6 +1709,7 @@ void AnycubicTouchscreenClass::GetCommandFromTFT()
case 33: // A33 get version info
{
HARDWARE_SERIAL_PROTOCOLPGM("J33 ");
HARDWARE_SERIAL_PROTOCOLPGM("KW-");
HARDWARE_SERIAL_PROTOCOLPGM(MSG_MY_VERSION);
HARDWARE_SERIAL_ENTER();
}

View File

@@ -36,6 +36,8 @@ char *ftostr32(const float &);
#define MSG_MY_VERSION CUSTOM_BUILD_VERSION
#define MAX_PRINTABLE_FILENAME_LEN 30
#define FILAMENT_RUNOUT_PIN 19
#define ANYCUBIC_TFT_STATE_IDLE 0
#define ANYCUBIC_TFT_STATE_SDPRINT 1
#define ANYCUBIC_TFT_STATE_SDPAUSE 2
@@ -59,6 +61,8 @@ char *ftostr32(const float &);
#define SM_LOAD_DEFAULTS_S "<LDDEF>"
#define SM_PREHEAT_BED_L "<Preheat Ultrabase>"
#define SM_PREHEAT_BED_S "<PREHE>"
#define SM_MESH_MENU_L "<Mesh Leveling>"
#define SM_MESH_MENU_S "<MESHL>"
#define SM_MESH_START_L "<Start Mesh Leveling>"
#define SM_MESH_START_S "<SMESH>"
#define SM_MESH_NEXT_L "<Next Mesh Point>"
@@ -87,51 +91,81 @@ char *ftostr32(const float &);
#define SM_EN_FILSENS_S "<ENSEN>"
#define SM_EXIT_L "<Exit>"
#define SM_EXIT_S "<EXIT>"
#define SM_BACK_L "<End Mesh Leveling>"
#define SM_BACK_S "<BACK>"
#define SM_FLOWMENU_L "<Set Flowrate>"
#define SM_FLOWMENU_S "<SETFLO>"
#define SM_FLOW_DISP_L "<Flow is XXX>"
#define SM_FLOW_DISP_S "<FLDISP>"
#define SM_FLOW_UP_L "<Up>"
#define SM_FLOW_UP_S "<UP>"
#define SM_FLOW_DN_L "<Down>"
#define SM_FLOW_DN_S "<DOWN>"
#define SM_FLOW_EXIT_L "<End Flow Settings>"
#define SM_FLOW_EXIT_S "<EXTFLW>"
#endif
#if ENABLED(KNUTWURST_DGUS2_TFT)
#define SM_DIR_UP_L "<<<<<<.gcode"
#define SM_DIR_UP_L "<<< BACK <<< .gcode"
#define SM_DIR_UP_S "DIR_UP~1.GCO"
#define SM_SPECIAL_MENU_L "<Special Menu>.gcode"
#define SM_SPECIAL_MENU_L "<Special Menu> .gcode"
#define SM_SPECIAL_MENU_S "<SPECI~1.GCO"
#define SM_PID_HOTEND_L "<PID Tune Hotend>.gcode"
#define SM_PID_HOTEND_L "<PID Tune Hotend> .gcode"
#define SM_PID_HOTEND_S "<PIDTU~1.GCO"
#define SM_PID_BED_L "<PID Tune Ultrabase>.gcode"
#define SM_PID_BED_S "<PIDTU~2.GCO"
#define SM_SAVE_EEPROM_L "<Save EEPROM>.gcode"
#define SM_SAVE_EEPROM_L "<Save EEPROM> .gcode"
#define SM_SAVE_EEPROM_S "<SAVEE~1.GCO"
#define SM_LOAD_DEFAULTS_L "<Load FW Defaults>.gcode"
#define SM_LOAD_DEFAULTS_L "<Load FW Defaults> .gcode"
#define SM_LOAD_DEFAULTS_S "<LOADF~1.GCO"
#define SM_PREHEAT_BED_L "<Preheat Ultrabase>.gcode"
#define SM_PREHEAT_BED_L "<Preheat Ultrabase> .gcode"
#define SM_PREHEAT_BED_S "<PREHE~1.GCO"
#define SM_MESH_START_L "<Start Mesh Leveling>.gcode"
#define SM_MESH_MENU_L "<Mesh Leveling> .gcode"
#define SM_MESH_MENU_S "<MESHL~1.GCO"
#define SM_MESH_START_L "<Start MeshLeveling>.gcode"
#define SM_MESH_START_S "<START~1.GCO"
#define SM_MESH_NEXT_L "<Next Mesh Point>.gcode"
#define SM_MESH_NEXT_L "<Next Mesh Point> .gcode"
#define SM_MESH_NEXT_S "<NEXTM~1.GCO"
#define SM_Z_UP_01_L "<Z Up 0.1>.gcode"
#define SM_Z_UP_01_L "<Z Up 0.1> .gcode"
#define SM_Z_UP_01_S "<ZUP01~1.GCO"
#define SM_Z_DN_01_L "<Z Down 0.1>.gcode"
#define SM_Z_DN_01_L "<Z Down 0.1> .gcode"
#define SM_Z_DN_01_S "<ZDOWN~1.GCO"
#define SM_Z_UP_002_L "<Z Up 0.02>.gcode"
#define SM_Z_UP_002_L "<Z Up 0.02> .gcode"
#define SM_Z_UP_002_S "<ZUP00~1.GCO"
#define SM_Z_DN_002_L "<Z Down 0.02>.gcode"
#define SM_Z_DN_002_L "<Z Down 0.02> .gcode"
#define SM_Z_DN_002_S "<ZDOWN~2.GCO"
#define SM_Z_UP_001_L "<Z Up 0.01>.gcode"
#define SM_Z_UP_001_L "<Z Up 0.01> .gcode"
#define SM_Z_UP_001_S "<ZUP00~2.GCO"
#define SM_Z_DN_001_L "<Z Down 0.01>.gcode"
#define SM_Z_DN_001_L "<Z Down 0.01> .gcode"
#define SM_Z_DN_001_S "<ZDOWN~3.GCO"
#define SM_BLTOUCH_L "<BLTouch Leveling>.gcode"
#define SM_BLTOUCH_L "<BLTouch Leveling> .gcode"
#define SM_BLTOUCH_S "<BLTOU~1.GCO"
#define SM_PAUSE_L "<Fil. Change Pause>.gcode"
#define SM_PAUSE_L "<Fil. Change Pause> .gcode"
#define SM_PAUSE_S "<FILCH~2.GCO"
#define SM_RESUME_L "<Fil. Change Resume>.gcode"
#define SM_RESUME_S "<FILCH~1.GCO"
#define SM_DIS_FILSENS_L "<Disable Fil. Sensor>.gcode"
#define SM_DIS_FILSENS_L "<Disable Fil.Sensor>.gcode"
#define SM_DIS_FILSENS_S "<DISAB~1.GCO"
#define SM_EN_FILSENS_L "<Enable Fil. Sensor>.gcode"
#define SM_EN_FILSENS_S "<ENABL~1.GCO"
#define SM_EXIT_L "<Exit>.gcode"
#define SM_EXIT_L "<Exit> .gcode"
#define SM_EXIT_S "<EXIT_~1.GCO"
#define SM_BACK_L "<End Mesh Leveling> .gcode"
#define SM_BACK_S "<BACK_~1.GCO"
#define SM_FLOWMENU_L "<Set Flowrate> .gcode"
#define SM_FLOWMENU_S "<SETFLO1.GCO"
#define SM_FLOW_DISP_L "<Flow is XXX%> .gcode"
#define SM_FLOW_DISP_S "<FLDISPL.GCO"
#define SM_FLOW_UP_L "<Up> .gcode"
#define SM_FLOW_UP_S "<UPFLOW1.GCO"
#define SM_FLOW_DN_L "<Down> .gcode"
#define SM_FLOW_DN_S "<DWNFLOW.GCO"
#define SM_FLOW_EXIT_L "<End Flow Settings> .gcode"
#define SM_FLOW_EXIT_S "<EXTFLW1.GCO"
#endif
@@ -177,6 +211,7 @@ private:
char LastSDstatus = 0;
uint16_t HeaterCheckCount = 0;
bool IsParked = false;
int currentFlowRate = 0;
#if defined(POWER_OUTAGE_TEST)
struct OutageDataStruct
@@ -210,9 +245,11 @@ private:
char currentTouchscreenSelection[64];
char currentFileOrDirectory[64];
uint16_t MyFileNrCnt = 0;
uint8_t SpecialMenu = false;
uint8_t FilamentSensorEnabled = true;
uint8_t SpecialMenu = false;
uint8_t MMLMenu = false;
uint8_t FlowMenu = false;
#if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR)
char FilamentTestStatus = false;

245
README.md
View File

@@ -1,4 +1,4 @@
# Knutwurst's i3 MEGA (M/S/X) Firmware (based on Marlin 2.0.5.4)
# Knutwurst's i3 MEGA (M/S/P/X) Firmware <br>(based on Marlin 2.0.x)
<span style="color: red;">(BITTE GENAU DURCHLESEN! / PLEASE READ CAREFULLY!)</span>
@@ -8,28 +8,23 @@
### Wenn du Fragen hast, schaue gern in der offiziellen [Facebook-Gruppe](https://www.facebook.com/groups/3094090037303577/) vorbei.
### WARNUNG: Der Mega Pro / Mega P Support befindet sich noch in der Entwicklung. Aktuell wird der Laser noch nicht unterstützt, ebensowenig wie das Piezo-Leveling!
# Inhaltsverzeichnis (Deutsch)
- [Funktionen](#funktionen)
- [Was ist besser?](#besser-im-vergleich-zu-anderen-firmwares-bugfixes)
- [Bekannte Bugs](#bekannte-bugs)
- [Häufig gestellte Fragen (FAQ)](#häufig-gesellte-fragen-faq)
- [Fotos / Bilder](#bilder)
- [Spezial Menü](#spezial-menü)
- [Manual Mesh Beld Leveling](#manuelles-leveln)
- [BLTouch Beld Leveling](#automatisches-bltouch-leveln)
- [Häufig gestellte Fragen (FAQ)](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/FAQ-(deutsch))
- [Fotos / Bilder](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Pictures)
- [Downloads](#downloads)
### WARNING: The Mega Pro / Mega P support is still under development. The laser is currently not supported, nor is piezo leveling!
# Table of Contets (english)
- [Features](#faq)
- [What's better?](#faq)
- [Known Bugs](#faq)
- [Frequently asked questions (FAQ)](#faq)
- [Photos / Pictures](#bilder)
- [Special Menü](#special-menu)
- [Manual Mesh Beld Leveling](#manual-mesh-beld-leveling)
- [BLTouch Beld Leveling](#bltouch-beld-leveling)
- [Features](#features)
- [What's better?](#whats-better-in-coparison-to-other-firmwares-bug-fixes)
- [Frequently asked questions (FAQ)](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/FAQ-(english))
- [Photos / Pictures](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Pictures)
- [Download](#download)
@@ -37,22 +32,23 @@
## Funktionen
* Mesh-Bed Kalibrierung / Autokalibrierung mit BLTouch
* Mesh-Bed Kalibrierung / Autokalibrierung mit [BLTouch (Installations-Anleitung)](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/BLTouch-Installation-(deutsch))
* S-Kurven Beschleunigung
* "Juction Deviation" statt des klassischen "Jerk"
* "Linear Pressure Control v1.5" aktiviert (kann mit M900 konfiguriert werden)
* Babystepping während des Druckvorgangs
* Bilinear Bed Leveling (BBL)
* Manuelles Editieren der Messpunkte
* Volle Anycubic Touchscreen Unterstützung
* Unterstützung des neuen Anycubic Touchscreens (DGUS II)
* Volle Unterstützung aller [Anycubic Touchscreens](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Types-of-Anycubic-Touchscreens)
* Bauteilkühler läuft nun auf 100% statt maximal 70%
* Pause & Filamentwechselfunktion
* Automatische EEPROM Initialisierung
* Filament Runout Sensor kann im Menü temporär deaktiviert werden
* Wiederaufnahme des Drucks nach Stromausfall (WiP)
* Druckbettgröße erweitert auf 220 x 225 x 210 mm
* [Druckbettgröße erweitert auf 225 x 220 x 210 mm](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Set-new-print-bed-size)
* Automatischer 'Slowdown', falls Daten nicht schnell genug fließen
* Vollautomatisches Hotend und Ultrabase PID Tuning
* Optimierungen für [Trinamic TMC Schrittmotortreiber](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Schrittmotortreiber-gegen-TMC2xxx-tauschen)
## Besser im Vergleich zu anderen Firmwares (Bugfixes):
@@ -67,110 +63,30 @@
* Kein Aufhängen, wenn das Filament leer ist
* Keine "spezielle" BLTouch Firmware nötig. Hier ist alles drin
* Konfiguration ganz einfach über Feature-Toggles
---
# Häufig gesellte Fragen (FAQ):
>Knutwurst, wieso machst du auch noch so eine Firmware? Es gibt doch schon so viele?
Weil ich bisher keine gesehen habe, die nicht die blöden Bugs enthält, wie z.B. dass sie abstürzt, wenn man Dateien mit Sonderzeichen auf der SD Karte hat.
>Ist es richtig, dass du mehr Wert auf den Druck von SD-Karte legst und andere eher auf USB?
ich lege nicht "mehr Wert auf SD", sondern habe einfach die zahlreichen Bugs dahingehend gefixed. Die kleinen Anpassungen mit dem USB Puffer etc sind sowieso drin. Die sind aber in meinen Augen so uninteressant, dass ich es nicht erwähne, denn das wirklich komplizierte ist es, das proprietäre Display und den Cardreader korrekt anzusteuern. Alles andere ist Pillepalle.
>Was ist dieser "Slowdown"?
Der automatische Slowdown wird aktiv, falls der Drucker nicht schnell genug Daten bekommt. Dann fährt er automatisch mit der Geschwindigkeit auf 50% runter, satt unbehelligt weiterzumachen und dann zu ruckeln und Blobs zu verursachen.
>Wieso ist mein Drucker plötzlich lauter als vorher?
Dein Bauteillüfter läuft jetzt mit voller Drehzahl, was er vorher nicht tat. Stelle im Slicer (z.B. Cura) die Geschwindigkeit einfach auf 70% und schon hast du die alte Lautstärke wieder. Diese Modifikation ist notwendig, falls man den Lüfter tauschen möchte und viele Lüfter mit den originalen 8V nicht oder nur unzureichend laufen.
>Ist deine Firmware besser als andere?
Nein. Aber sicher auch nicht schlechter.
>Wo sind die Downloads?
Weiter unten.
>Muss ich bei TMC Treibern die Stecker drehen?
Nö. Lade dir einfach die korrekte Version herunter.
>Welche TMC2208 Motortreiber sollte ich kaufen? Lieber die V2 oder die Bigtreetech V3?
Weder noch! Es gibt keine "V2" oder "V3". Die offizielle letzte Version von Trinamic ist v1.2 und die beiden großen primären Hersteller für die echten SilentStepSticks sind FYSETC und WATTERROTT. Lass bloß die Finger von Bigtreetech.
>Ich habe die Stecker bei meinen Motoren schon gedreht, als ich die TMC Treiber eingebaut habe. Muss ich jetzt trotzdem die TMC Version flashen?
Nein. Benutze einfach die Nicht-TMC Version, da sonst die Motoren wieder in die falsche Richtung laufen.
>Als ich die Treiber eingebaut habe, qualmte mein Mainboard in der Mitte rechts. Ist das normal?
Nein. Du hast die Treiber falsch herum eingebaut. Jetzt ist die Z-Diode (733A) verbrannt. Tausche sie aus und alles funktioniert wieder. Deine falsch gesteckten Treiber kannst du aber vermutlich wegschmeißen.
>Muss ich wie bei anderen Firmwares noch die E-Steps einstellen, wenn ich einen Mega S besitze?
Nein, lade dir einfach die korrekte Version herunter. Trotzdem solltest du die Steps noch kalibrieren.
>Wieso zeigt das Display keine Fehlermeldungen an und wieso sieht es noch genau so aus wie vorher?
Dein Mainboard (Trigorilla) kann nur Grafikdisplays wie das 2004 oder 12864 ansteuern. Auf denen würdest du auch exakt das sehen, was in der Firmware wirklich passiert - eben weil diese das anzeigen, was die Firmware sagt. Texte, Fehlermeldungen etc...
Bei deinem (und auch allen anderen) Touchdisplay sieht das anders aus. Das Touch-Display ist nur eine hübsche Aufmachung und übersetzt intern die eigentlichen Befehle in etwas, was das Mainboard versteht. Es ist bloß eine "Maske" für die eigentliche Firmware.
Es besteht ein 1-zu-1 Mapping zwischen den Befehlen, die das Mainboard umsetzen kann (Setze Temperatur auf Wert x, Bewege Motor um 10 mm nach rechts etc). Stellst du die Temperatur im Display auf 200°C ein, schickst du eigentlich nur einen Gcode wie z.B. "M104 T1 S200", was schon im Display vorhanden sein muss.
Bei diesem Mapping ist man eben darauf angewiesen, dass die Funktionen, die man nutzen will, auch im Display vorhanden sind. Und leider ist nicht viel drin. Die Dateiliste ist das einzige(!) über das man einigermaßen die Kontrolle hat, da sie dynamisch angezeigt wird. Leider muss man deswegen leider auch diese dämlichen Eigenarten in Kauf nehmen, wie die Tatsache, dass nach einem Bestätigen/Aktualisieren die Liste neu aufgebaut wird und somit oben beginnt.
---
# Bilder
## Spezial Menü
![SpecialMenu](images/SpecialMenu.jpg)
![SpecialMenu DGUS](images/SpecialMenu_DGUS.jpg)
## Manuelles Leveln
![Seite 1](images/MN_Page1.jpg)
![Seite 1 DGUS](images/MN_Page1_DGUS.jpg)
![Seite 2 DGUS](images/MN_Page2.jpg)
![Seite 2](images/MN_Page2_DGUS.jpg)
![Seite 3](images/MN_Page3.jpg)
![Seite 3 DGUS](images/MN_Page3_DGUS.jpg)
![Seite 4](images/MN_Page4.jpg)
![Seite 4 DGUS](images/MN_Page4_DGUS.jpg)
## Automatisches BLTouch Leveln
![Seite 1](images/BL_Page1.jpg)
![Seite 2](images/BL_Page2.jpg)
* Man muss keine Grundkonfiguration per GCODE machen.
* Man muss keinen Werksreset durchführen
---
# Downloads
Du kannst die fertigen Binärdateien hier herunterladen: https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/releases. Natürlich kannst du die Firmware mit PlatformIO oder der Arduino IDE auch selbst kompilieren.
Du kannst die fertigen Binärdateien hier herunterladen: https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/releases. Natürlich kannst du die Firmware mit PlatformIO oder der Arduino IDE auch [selbst kompilieren](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Howto:-Compile-Firmware-with-PlatformIO).
Um es übersichtlich zu gestalten, beinhalten die Dateinamen die einzelnen Features.
`_1G` steht für die erste Generation des i3 Mega mit nur einem Z Endstop. Diese Firmware ist nicht für den normalen i3 Mega geeignet!
`_S` steht für den Mega S mit dem Titan Extruder.
`_P` steht für den Mega P mit dem BMG Extruder.
`_X` steht für den Mega X.
`_TMC` steht für Trinamic TMC Motortreiber. Hierbei wird auch die Drehrichtung der Motoren invertiert.
`_DGUS` steht für das "neue" blau/gelbe DGUS II Display, welches sonst kein Special-Menü anzeigen kann.
`_BLTOUCH` steht für die BL-Touch Version mit Autoleveling-Sensor. Das manuelle Mesh-Leveling ist hier deaktiviert.
`_BLT` steht für die BL-Touch Version mit Autoleveling-Sensor. Das manuelle Mesh-Leveling ist hier deaktiviert.
`_10` steht für das Trigorilla_14 v1.0 Mainboard, welches normalerweise der Standard sein sollte.
@@ -188,22 +104,23 @@ Für (fast) jede Kombination gibt es eine passende Firmware im Download-Bereich.
## Features:
* Mesh bed calibration / Auto calibration with BLTouch
* Mesh bed calibration / Auto calibration with [BLTouch (Installation Manual)](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/BLTouch-Installation-(english))
* S-curve acceleration
* "Juction Deviation" instead of the classic "Jerk"
* "Linear Pressure Control v1.5" enabled (can be configured with M900)
* Baby stepping during printing
* "Linear Pressure Control v1.5" activated (can be configured with M900)
* Baby stepping during the printing process
* Bilinear Bed Leveling (BBL)
* Manual editing of the measuring points
* Full Anycubic touchscreen support
* Support for the new Anycubic Touchscreen (DGUS II)
* Full Support for all [Anycubic Touchscreens](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Types-of-Anycubic-Touchscreens)
* Part cooling fan now runs at 100% instead of 70%
* Pause & filament change function
* Automatic EEPROM initialization
* Filament Runout Sensor can be temporarily deactivated in the menu
* Power outage support
* Print bed size enlarged to 220 x 225 x 210 mm
* Automatic slowdown in if the data is not received fast enough
* Filament runout sensor can be temporarily deactivated in the menu
* Resumption of printing after a power failure (WiP)
* [Print bed size enlarged to 225 x 220 x 210 mm](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Set-new-print-bed-size)
* Automatic 'slowdown' if data does not flow fast enough
* Fully automatic hotend and ultrabase PID tuning
* Optimizations for [Trinamic TMC Stepper drivers](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Swap-stepper-motor-driver-for-TMC2xxx)
### What's better in coparison to other firmwares (bug fixes):
* Tidy special menu
@@ -218,110 +135,28 @@ Für (fast) jede Kombination gibt es eine passende Firmware im Download-Bereich.
* No need for a "special" BLTouch firmware. In this firmware is everything included
* Configuration made easy via feature toggles
---
# FAQ:
> Knutwurst, why are you still doing such a firmware? Aren't there already so many?
Because I've never seen one that doesn't contain the stupid bugs like the crashes when you have files with special characters on the SD card.
> Is it correct that you put more emphasis on printing from SD card and others more on USB?
I don't put "more emphasis on SD", but just fixed the numerous bugs. The small adjustments with the USB buffer etc are included anyway. But they are so uninteresting in my eyes that I don't mention it, because the really complicated thing is to control the proprietary display and the card reader correctly. Everything else is easy-peasy.
> What is this "slowdown"?
The automatic slowdown is activated if the printer does not receive data quickly enough (e.g. via USB). Then it automatically goes down to 50%. This prevents stuttering and eliminated blobs.
>Why is my printer so much louder than before?
Your component fan is now running at full speed, which it did no before. Simply set the speed to 70% in the slicer (e.g. Cura) and you will have the old speed again. This modification is necessary if you want to replace the fan. Many aftermarket fans do not run properly or at all with the original 8V.
> Is your firmware better than others?
No. But certainly not worse either.
> Where are the downloads?
Further down.
> Do I have to turn the plugs for TMC drivers?
Nope, just download the correct version.
> Which TMC2208 motor drivers should I buy? The V2 or the Bigtreetech V3?
Neither! There is no "V2" or "V3". The official last version of Trinamic is v1.2 and the two major primary manufacturers for the real SilentStepSticks are FYSETC and WATTERROTT. Just stay away from Bigtreetech.
> I already turned the plugs on my motors when I installed the TMC drivers. Do I still have to flash the TMC version?
No. Just use the non-TMC version, otherwise the motors will turn in the wrong direction again.
> When I installed the drivers, my mainboard gave me the "magic smoke". Is that normal?
No. You installed the drivers the wrong way round. Now the Zener diode (733A) is burned. Exchange it and everything works again. You can probably throw away your wrongly inserted drivers.
> As with other firmwares, do I still have to set the E-Steps if I have a Mega S?
No, just download the correct version. Nevertheless, you should still calibrate the e-steps.
> Why doesn't the display show any error messages and why does it still look exactly as before?
Your mainboard (Trigorilla) can only control graphic displays like the 2004 or 12864. On them you would also see exactly what really happens in the firmware - to be precise, they show what the firmware says. Texts, error messages etc.
With your (and all other) touch displays, things look different. The touch display is just a pretty presentation and internally translates the actual commands into something that the motherboard understands. It is just a "mask" for the actual firmware.
There is a 1-to-1 mapping between the commands that the mainboard has implemented (set temperature to value x, move motor by 10 mm to the right, etc.). If you set the temperature in the display to 200°C, you actually only send a Gcode such as "M104 T1 S200", which must already be on the display firmware.
With this mapping, you have to rely on the fact that the functions you want to use are also available on the display. And unfortunately there is not much in it. The file list is the only thing(!) over which you have some control because it is displayed dynamically. Unfortunately, you have to accept these stupid idiosyncrasies, such as the fact that after confirming/updating the list is rebuilt and thus starts at the top.
---
# Pictures
## Special Menu
![SpecialMenu](images/SpecialMenu.jpg)
![SpecialMenu DGUS](images/SpecialMenu_DGUS.jpg)
## Manual Mesh Beld Leveling
![Page 1](images/MN_Page1.jpg)
![Page 1 DGUS](images/MN_Page1_DGUS.jpg)
![Page 2](images/MN_Page2.jpg)
![Page 2 DGUS](images/MN_Page2_DGUS.jpg)
![Page 3](images/MN_Page3.jpg)
![Page 3 DGUS](images/MN_Page3_DGUS.jpg)
![Page 4](images/MN_Page4.jpg)
![Page 4 DGUS](images/MN_Page4_DGUS.jpg)
## BLTouch Beld Leveling
![Page 1](images/BL_Page1.jpg)
![Page 2](images/BL_Page2.jpg)
---
# Download
You can download the precompiled binary files from here: https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/releases. Of course you can also compile the firmware yourself with PlatformIO or the Arduino IDE.
You can download the precompiled binary files from here: https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/releases. Of course you can also [compile the firmware yourself](https://github.com/knutwurst/Marlin-2-0-x-Anycubic-i3-MEGA-S/wiki/Howto:-Compile-Firmware-with-PlatformIO) with PlatformIO or the Arduino IDE.
In order to make it clear, the file names contain the individual features.
`_1G` stands for the firt generation i3 Mega with only one Z endstop. Do NOT use this Firmware on the regular i3 Mega!
`_S` stands for the Mega S with the titan extruder.
`_P` stands for the Mega P with the BMG extruder.
`_X` stands for the Mega X.
`_TMC` stands for Trinamic TMC motor driver. The direction of rotation of the motors is also inverted.
`_DGUS` stands for the "new" blue / yellow DGUS II display, which otherwise cannot show a special menu.
`_BLTOUCH` stands for the BL-Touch version with auto-leveling sensor. Manual mesh leveling is deactivated here.
`_BLT` stands for the BL-Touch version with auto-leveling sensor. Manual mesh leveling is deactivated here.
`_10` stands for the Trigorilla_14 v1.0 mainboard, which should normally be the standard.
@@ -331,3 +166,5 @@ In order to make it clear, the file names contain the individual features.
For (almost) every combination there is a suitable firmware in the download area. ;)
### If you like what I do you can buy me a coffee: [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/oliverkoester)
<sub>*It doesn't have to be a generous donation. A few cents are enough to show me who is interested in further development. So the motivation stays and I just know that I am not programming for the bin ;)<sub>

View File

@@ -1,15 +1,23 @@
#!/bin/bash
CURRENT_VERSION="1.1.1"
VERSION_FILE="/Users/OKoester/Documents/Arduino/Marlin-2-0-x-Anycubic-i3-MEGA-S-Master/Marlin/src/inc/Version.h"
FIRMWARE_FOLDER="/Users/OKoester/Documents/Arduino/Marlin-2-0-x-Anycubic-i3-MEGA-S-Master/.pio/build/"
OUTPUT_FOLDER="/Users/OKoester/Desktop/i3_FIRMWARE"
mkdir $OUTPUT_FOLDER
CUSTOM_BUILD_VERSION=$(egrep -o "([0-9]{1,}\.)+[0-9]{1,}" $VERSION_FILE -m2 | tail -n1)
if [ -d "$$OUTPUT_FOLDER/v$CUSTOM_BUILD_VERSION" ]; then
echo "$$OUTPUT_FOLDER/$CUSTOM_BUILD_VERSION already exists."
else
mkdir $OUTPUT_FOLDER/$CUSTOM_BUILD_VERSION
fi
echo "Knutwurst's Mega Firmware Version: $CUSTOM_BUILD_VERSION"
cd $FIRMWARE_FOLDER
for dir in $FIRMWARE_FOLDER/*/ # list directories in the form "/tmp/dirname/"
for dir in $FIRMWARE_FOLDER/*/
do
dir=${dir%*/} # remove the trailing "/"
echo ${dir##*/} # print everything after the final "<--/"
cp ${dir##*/}/firmware.hex /$OUTPUT_FOLDER/${dir##*/}_v$CURRENT_VERSION.hex
dir=${dir%*/}
echo ${dir##*/}
cp ${dir##*/}/firmware.hex /$OUTPUT_FOLDER/$CUSTOM_BUILD_VERSION/${dir##*/}_v$CUSTOM_BUILD_VERSION.hex
done

View File

@@ -1,327 +1,388 @@
###########################################################
# #
# Manual Leveling Configurations #
# #
###########################################################
#
# i3 Mega (First generation with only one endstop)
#
[env:MEGA_1G]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA -DKNUTWURST_ONE_Z_ENDSTOP
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
[env:MEGA_1G_TMC]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA -DKNUTWURST_TMC -DKNUTWURST_ONE_Z_ENDSTOP
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
[env:MEGA_1G_BLT_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA -DKNUTWURST_BLTOUCH -DKNUTWURST_ONE_Z_ENDSTOP
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
[env:MEGA_1G_BLT_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA -DKNUTWURST_BLTOUCH -DKNUTWURST_ONE_Z_ENDSTOP
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
[env:MEGA_1G_TMC_BLT_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH -DKNUTWURST_ONE_Z_ENDSTOP
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT
[env:MEGA_1G_TMC_BLT_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH -DKNUTWURST_ONE_Z_ENDSTOP
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT
#
# i3 Mega (normal Version)
#
[env:i3_MEGA]
[env:MEGA]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
[env:i3_MEGA_TMC]
[env:MEGA_TMC]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA -DKNUTWURST_TMC
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
[env:MEGA_BLT_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
[env:MEGA_BLT_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
[env:MEGA_TMC_BLT_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT
[env:MEGA_TMC_BLT_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT
#
# i3 Mega S
#
[env:i3_MEGA_S]
[env:MEGA_S]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
[env:i3_MEGA_S_DGUS]
[env:MEGA_S_TMC]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_dgus.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
[env:i3_MEGA_S_DGUS_TMC]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_dgus_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_BLTOUCH
[env:i3_MEGA_S_TMC]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_TMC
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
[env:MEGA_S_BLT_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
[env:MEGA_S_BLT_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_S -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
[env:MEGA_S_TMC_BLT_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT
[env:MEGA_S_TMC_BLT_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_S -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT
#
# i3 Mega S (new TFT)
#
[env:MEGA_S_DGUS]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
[env:MEGA_S_DGUS_TMC]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_BLTOUCH
[env:MEGA_S_DGUS_BLT_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_TMC
[env:MEGA_S_DGUS_BLT_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P -DKNUTWURST_TMC
[env:MEGA_S_DGUS_TMC_BLT_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P
[env:MEGA_S_DGUS_TMC_BLT_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_MEGA_P
#
# i3 Mega X
#
[env:i3_MEGA_X]
[env:MEGA_X]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_X
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_P -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH -DKNUTWURST_DGUS2_TFT
[env:i3_MEGA_X_TMC]
[env:MEGA_X_TMC]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_BLTOUCH
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_X -DKNUTWURST_TMC
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_P -DKNUTWURST_BLTOUCH -DKNUTWURST_DGUS2_TFT
###########################################################
# #
# BL Touch Configurations ( TRIGORILLA_14 ) #
# #
###########################################################
[env:i3_MEGA_BLTOUCH_10]
[env:MEGA_X_BLT_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_X -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_P -DKNUTWURST_TMC -DKNUTWURST_DGUS2_TFT
[env:i3_MEGA_TMC_BLTOUCH_10]
[env:MEGA_X_BLT_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_X -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_P -DKNUTWURST_TMC -DKNUTWURST_DGUS2_TFT
[env:i3_MEGA_S_BLTOUCH_10]
[env:MEGA_X_TMC_BLT_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_X -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT
[env:i3_MEGA_S_DGUS_BLTOUCH_10]
[env:MEGA_X_TMC_BLT_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_dgus.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_TMC
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_X -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_P -DKNUTWURST_DGUS2_TFT
[env:i3_MEGA_S_DGUS_TMC_BLTOUCH_10]
#
# i3 Mega P
#
[env:MEGA_P]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_dgus_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_P -DKNUTWURST_BMG -DKNUTWURST_DGUS2_TFT
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
[env:i3_MEGA_S_TMC_BLTOUCH_10]
[env:MEGA_P_TMC]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_S -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_P -DKNUTWURST_TMC -DKNUTWURST_BMG -DKNUTWURST_DGUS2_TFT
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_BLTOUCH
[env:i3_MEGA_X_BLTOUCH_10]
[env:MEGA_P_BLT_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_TMC
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_P -DKNUTWURST_BMG -DKNUTWURST_BLTOUCH -DKNUTWURST_DGUS2_TFT
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_TMC
[env:i3_MEGA_X_TMC_BLTOUCH_10]
[env:MEGA_P_BLT_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_P -DKNUTWURST_BMG -DKNUTWURST_BLTOUCH -DKNUTWURST_DGUS2_TFT
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_TMC
###########################################################
# #
# BL Touch Configurations ( TRIGORILLA_14_11 ) #
# #
###########################################################
[env:i3_MEGA_BLTOUCH_11]
[env:MEGA_P_TMC_BLT_10]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14 -DKNUTWURST_MEGA_P -DKNUTWURST_BMG -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH -DKNUTWURST_DGUS2_TFT
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X
[env:i3_MEGA_TMC_BLTOUCH_11]
[env:MEGA_P_TMC_BLT_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT
[env:i3_MEGA_S_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_S -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC
[env:i3_MEGA_S_DGUS_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_dgus.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_TMC
[env:i3_MEGA_S_DGUS_TMC_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_dgus_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_S -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X
[env:i3_MEGA_S_TMC_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_S -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT
[env:i3_MEGA_X_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_TMC
[env:i3_MEGA_X_TMC_BLTOUCH_11]
platform = atmelavr
board = megaatmega2560
board_build.f_cpu = 16000000L
lib_deps = ${common.lib_deps}
TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip
src_filter = ${common.default_src_filter} +<src/HAL/AVR>
#extra_scripts = pre:build_i3_mega_s_tmc.py
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_X -DKNUTWURST_DGUS2_TFT -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S
build_flags = ${common.build_flags} -DMOTHERBOARD=BOARD_TRIGORILLA_14_11 -DKNUTWURST_MEGA_P -DKNUTWURST_BMG -DKNUTWURST_TMC -DKNUTWURST_BLTOUCH -DKNUTWURST_DGUS2_TFT
build_unflags = -DKNUTWURST_MEGA -DKNUTWURST_MEGA_S -DKNUTWURST_MEGA_X

BIN
images/1N4733.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 549 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 857 KiB

BIN
images/bed_size_cura.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

BIN
images/bltouch_01.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 KiB

BIN
images/bltouch_02.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 KiB

BIN
images/bltouch_03.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

BIN
images/bltouch_04.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

BIN
images/bltouch_05.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

BIN
images/bltouch_06.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

BIN
images/bltouch_07.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 KiB

BIN
images/bltouch_08.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 KiB

BIN
images/bltouch_09.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 KiB

BIN
images/bltouch_10.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

BIN
images/bltouch_wiring.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 KiB

BIN
images/burnt_stepper.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 KiB

BIN
images/diode_closeup.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 KiB

BIN
images/howto_build.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 888 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 776 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 KiB

BIN
images/new_mobo_fans.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 KiB

BIN
images/printer_open.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 KiB

BIN
images/servo_futaba.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
images/servo_graupner.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
images/stepper_closeup.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 KiB

BIN
images/stepper_vdd_gnd.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 KiB

BIN
images/stepper_vmot_gnd.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 KiB

View File

@@ -15,13 +15,69 @@
# Remove '-fmax-errors=5' from build_flags below to see all.
#
# *******************************************************************************************
# ** **
# ** If you want to select a specific configuration for your **
# ** printer, just open the PlatformIO tab on the left, select **
# ** PROJECT TASKS and then "env:i3_MEGA*" (your desired config) **
# ** From there you can build and upload your code. **
# ** **
# *******************************************************************************************
[platformio]
src_dir = Marlin
boards_dir = buildroot/share/PlatformIO/boards
#default_envs = mega2560
#default_envs = i3_MEGA_S_TMC
extra_configs = i3_mega_envs.ini
default_envs = i3_MEGA, i3_MEGA_TMC, i3_MEGA_S, i3_MEGA_S_DGUS, i3_MEGA_S_DGUS_TMC, i3_MEGA_S_TMC, i3_MEGA_X, i3_MEGA_X_TMC, i3_MEGA_BLTOUCH_10, i3_MEGA_TMC_BLTOUCH_10, i3_MEGA_S_BLTOUCH_10, i3_MEGA_S_DGUS_BLTOUCH_10, i3_MEGA_S_DGUS_TMC_BLTOUCH_10, i3_MEGA_S_TMC_BLTOUCH_10, i3_MEGA_X_BLTOUCH_10, i3_MEGA_X_TMC_BLTOUCH_10, i3_MEGA_BLTOUCH_11, i3_MEGA_TMC_BLTOUCH_11, i3_MEGA_S_BLTOUCH_11, i3_MEGA_S_DGUS_BLTOUCH_11, i3_MEGA_S_DGUS_TMC_BLTOUCH_11, i3_MEGA_S_TMC_BLTOUCH_11, i3_MEGA_X_BLTOUCH_11, i3_MEGA_X_TMC_BLTOUCH_11
default_envs =
MEGA_1G
MEGA_1G_TMC
# MEGA_1G_BLT_10
# MEGA_1G_BLT_11
# MEGA_1G_TMC_BLT_10
# MEGA_1G_TMC_BLT_11
MEGA
MEGA_TMC
MEGA_BLT_10
MEGA_BLT_11
MEGA_TMC_BLT_10
MEGA_TMC_BLT_11
MEGA_S
MEGA_S_TMC
MEGA_S_BLT_10
MEGA_S_BLT_11
MEGA_S_TMC_BLT_10
MEGA_S_TMC_BLT_11
MEGA_S_DGUS
MEGA_S_DGUS_TMC
MEGA_S_DGUS_BLT_10
MEGA_S_DGUS_BLT_11
MEGA_S_DGUS_TMC_BLT_10
MEGA_S_DGUS_TMC_BLT_11
MEGA_X
MEGA_X_TMC
MEGA_X_BLT_10
MEGA_X_BLT_11
MEGA_X_TMC_BLT_10
MEGA_X_TMC_BLT_11
# MEGA_P
# MEGA_P_TMC
# MEGA_P_BLT_10
# MEGA_P_BLT_11
# MEGA_P_TMC_BLT_10
# MEGA_P_TMC_BLT_11
# *******************************************************************************************
# ** **
# ** If you want to select a specific configuration for your **
# ** printer, just open the PlatformIO tab on the left, select **
# ** PROJECT TASKS and then "env:i3_MEGA*" (your desired config) **
# ** From there you can build and upload your code. **
# ** **
# *******************************************************************************************
[common]