forked from Mirrors/Marlin
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bac7ac7daa | ||
|
|
ef7509808f | ||
|
|
334f8874cf |
110
.gitignore
vendored
110
.gitignore
vendored
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Marlin 3D Printer Firmware
|
||||
# Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||
# Copyright (c) 2023 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
||||
#
|
||||
# Based on Sprinter and grbl.
|
||||
# Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
|
||||
@@ -19,34 +19,23 @@
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# Our automatic versioning scheme generates the following file
|
||||
# NEVER put it in the repository
|
||||
# Generated files
|
||||
_Version.h
|
||||
bdf2u8g.exe
|
||||
genpages.exe
|
||||
marlin_config.json
|
||||
mczip.h
|
||||
language*.csv
|
||||
out-csv/
|
||||
out-language/
|
||||
*.gen
|
||||
*.sublime-workspace
|
||||
|
||||
#
|
||||
# OS
|
||||
#
|
||||
applet/
|
||||
*.DS_Store
|
||||
.DS_Store
|
||||
|
||||
#
|
||||
# Misc
|
||||
#
|
||||
*~
|
||||
*.orig
|
||||
*.rej
|
||||
*.bak
|
||||
*.idea
|
||||
*.s
|
||||
*.i
|
||||
*.ii
|
||||
*.swp
|
||||
tags
|
||||
|
||||
#
|
||||
# C++
|
||||
#
|
||||
# Compiled Object files
|
||||
# Compiled C++ Object files
|
||||
*.slo
|
||||
*.lo
|
||||
*.o
|
||||
@@ -77,11 +66,7 @@ tags
|
||||
*.out
|
||||
*.app
|
||||
|
||||
|
||||
#
|
||||
# C
|
||||
#
|
||||
# Object files
|
||||
# Compiled C Object files
|
||||
*.o
|
||||
*.ko
|
||||
*.obj
|
||||
@@ -123,33 +108,10 @@ tags
|
||||
.gcc-flags.json
|
||||
/lib/
|
||||
|
||||
# Workaround for Deviot+platformio quirks
|
||||
Marlin/lib
|
||||
Marlin/platformio.ini
|
||||
Marlin/*/platformio.ini
|
||||
Marlin/*/*/platformio.ini
|
||||
Marlin/*/*/*/platformio.ini
|
||||
Marlin/*/*/*/*/platformio.ini
|
||||
Marlin/.travis.yml
|
||||
Marlin/*/.travis.yml
|
||||
Marlin/*/*/.travis.yml
|
||||
Marlin/*/*/*/.travis.yml
|
||||
Marlin/*/*/*/*/.travis.yml
|
||||
Marlin/.gitignore
|
||||
Marlin/*/.gitignore
|
||||
Marlin/*/*/.gitignore
|
||||
Marlin/*/*/*/.gitignore
|
||||
Marlin/*/*/*/*/.gitignore
|
||||
Marlin/readme.txt
|
||||
Marlin/*/readme.txt
|
||||
Marlin/*/*/readme.txt
|
||||
Marlin/*/*/*/readme.txt
|
||||
Marlin/*/*/*/*/readme.txt
|
||||
|
||||
# Secure Credentials
|
||||
Configuration_Secure.h
|
||||
|
||||
#Visual Studio
|
||||
# Visual Studio
|
||||
*.sln
|
||||
*.vcxproj
|
||||
*.vcxproj.user
|
||||
@@ -160,27 +122,49 @@ __vm/
|
||||
.vs/
|
||||
vc-fileutils.settings
|
||||
|
||||
#Visual Studio Code
|
||||
.vscode
|
||||
.vscode/.browse.c_cpp.db*
|
||||
.vscode/c_cpp_properties.json
|
||||
.vscode/launch.json
|
||||
.vscode/*.db
|
||||
# Visual Studio Code
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
|
||||
#cmake
|
||||
# Simulation files
|
||||
imgui.ini
|
||||
eeprom.dat
|
||||
spi_flash.bin
|
||||
fs.img
|
||||
|
||||
# CMake
|
||||
buildroot/share/cmake/*
|
||||
CMakeLists.txt
|
||||
!buildroot/share/cmake/CMakeLists.txt
|
||||
src/CMakeLists.txt
|
||||
CMakeListsPrivate.txt
|
||||
build/
|
||||
|
||||
#CLion
|
||||
# CLion
|
||||
cmake-build-*
|
||||
|
||||
#Eclipse
|
||||
# Eclipse
|
||||
.project
|
||||
.cproject
|
||||
.pydevproject
|
||||
.settings
|
||||
.classpath
|
||||
|
||||
#Python
|
||||
# Python
|
||||
__pycache__
|
||||
|
||||
# IOLogger logs
|
||||
*_log.csv
|
||||
|
||||
# Misc.
|
||||
*~
|
||||
*.orig
|
||||
*.rej
|
||||
*.bak
|
||||
*.idea
|
||||
*.i
|
||||
*.ii
|
||||
*.swp
|
||||
tags
|
||||
*.logs
|
||||
*.bak
|
||||
|
||||
10
.vscode/extensions.json
vendored
Normal file
10
.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
// See http://go.microsoft.com/fwlink/?LinkId=827846
|
||||
// for the documentation about the extensions.json format
|
||||
"recommendations": [
|
||||
"platformio.platformio-ide"
|
||||
],
|
||||
"unwantedRecommendations": [
|
||||
"ms-vscode.cpptools-extension-pack"
|
||||
]
|
||||
}
|
||||
@@ -28,7 +28,7 @@
|
||||
/**
|
||||
* Marlin release version identifier
|
||||
*/
|
||||
//#define SHORT_BUILD_VERSION "2.0.7.3"
|
||||
//#define SHORT_BUILD_VERSION "2.0.7.4"
|
||||
|
||||
/**
|
||||
* Verbose version identifier which should contain a reference to the location
|
||||
@@ -41,7 +41,7 @@
|
||||
* here we define this default string as the date where the latest release
|
||||
* version was tagged.
|
||||
*/
|
||||
//#define STRING_DISTRIBUTION_DATE "2023-07-18"
|
||||
//#define STRING_DISTRIBUTION_DATE "2023-12-08"
|
||||
|
||||
/**
|
||||
* Defines a generic printer name to be output to the LCD after booting Marlin.
|
||||
|
||||
@@ -109,8 +109,8 @@ FORCE_INLINE void HAL_timer_start(const uint8_t timer_num, const uint32_t) {
|
||||
* (otherwise, characters will be lost due to UART overflow).
|
||||
* Then: Stepper, Endstops, Temperature, and -finally- all others.
|
||||
*/
|
||||
#define HAL_timer_isr_prologue(TIMER_NUM)
|
||||
#define HAL_timer_isr_epilogue(TIMER_NUM)
|
||||
inline void HAL_timer_isr_prologue(const uint8_t) {}
|
||||
inline void HAL_timer_isr_epilogue(const uint8_t) {}
|
||||
|
||||
/* 18 cycles maximum latency */
|
||||
#ifndef HAL_STEP_TIMER_ISR
|
||||
|
||||
@@ -125,4 +125,4 @@ FORCE_INLINE static void HAL_timer_isr_prologue(const uint8_t timer_num) {
|
||||
pConfig->pTimerRegs->TC_CHANNEL[pConfig->channel].TC_SR;
|
||||
}
|
||||
|
||||
#define HAL_timer_isr_epilogue(TIMER_NUM)
|
||||
inline void HAL_timer_isr_epilogue(const uint8_t) {}
|
||||
|
||||
@@ -131,5 +131,5 @@ void HAL_timer_enable_interrupt(const uint8_t timer_num);
|
||||
void HAL_timer_disable_interrupt(const uint8_t timer_num);
|
||||
bool HAL_timer_interrupt_enabled(const uint8_t timer_num);
|
||||
|
||||
#define HAL_timer_isr_prologue(TIMER_NUM)
|
||||
#define HAL_timer_isr_epilogue(TIMER_NUM)
|
||||
inline void HAL_timer_isr_prologue(const uint8_t) {}
|
||||
inline void HAL_timer_isr_epilogue(const uint8_t) {}
|
||||
|
||||
@@ -93,5 +93,5 @@ void HAL_timer_enable_interrupt(const uint8_t timer_num);
|
||||
void HAL_timer_disable_interrupt(const uint8_t timer_num);
|
||||
bool HAL_timer_interrupt_enabled(const uint8_t timer_num);
|
||||
|
||||
#define HAL_timer_isr_prologue(TIMER_NUM)
|
||||
#define HAL_timer_isr_epilogue(TIMER_NUM)
|
||||
inline void HAL_timer_isr_prologue(const uint8_t) {}
|
||||
inline void HAL_timer_isr_epilogue(const uint8_t) {}
|
||||
|
||||
@@ -170,4 +170,4 @@ FORCE_INLINE static void HAL_timer_isr_prologue(const uint8_t timer_num) {
|
||||
}
|
||||
}
|
||||
|
||||
#define HAL_timer_isr_epilogue(TIMER_NUM)
|
||||
inline void HAL_timer_isr_epilogue(const uint8_t) {}
|
||||
|
||||
@@ -140,4 +140,4 @@ FORCE_INLINE static void HAL_timer_isr_prologue(const uint8_t timer_num) {
|
||||
}
|
||||
}
|
||||
|
||||
#define HAL_timer_isr_epilogue(timer_num)
|
||||
inline void HAL_timer_isr_epilogue(const uint8_t) {}
|
||||
|
||||
@@ -120,5 +120,5 @@ FORCE_INLINE static void HAL_timer_set_compare(const uint8_t timer_num, const ha
|
||||
}
|
||||
}
|
||||
|
||||
#define HAL_timer_isr_prologue(TIMER_NUM)
|
||||
#define HAL_timer_isr_epilogue(TIMER_NUM)
|
||||
inline void HAL_timer_isr_prologue(const uint8_t) {}
|
||||
inline void HAL_timer_isr_epilogue(const uint8_t) {}
|
||||
|
||||
@@ -186,7 +186,7 @@ FORCE_INLINE static void HAL_timer_isr_prologue(const uint8_t timer_num) {
|
||||
}
|
||||
}
|
||||
|
||||
#define HAL_timer_isr_epilogue(TIMER_NUM)
|
||||
inline void HAL_timer_isr_epilogue(const uint8_t) {}
|
||||
|
||||
// No command is available in framework to turn off ARPE bit, which is turned on by default in libmaple.
|
||||
// Needed here to reset ARPE=0 for stepper timer
|
||||
|
||||
@@ -74,10 +74,10 @@ typedef uint32_t hal_timer_t;
|
||||
#define DISABLE_TEMPERATURE_INTERRUPT() HAL_timer_disable_interrupt(TEMP_TIMER_NUM)
|
||||
|
||||
#ifndef HAL_STEP_TIMER_ISR
|
||||
#define HAL_STEP_TIMER_ISR() extern "C" void ftm0_isr() //void TC3_Handler()
|
||||
#define HAL_STEP_TIMER_ISR() extern "C" void ftm0_isr()
|
||||
#endif
|
||||
#ifndef HAL_TEMP_TIMER_ISR
|
||||
#define HAL_TEMP_TIMER_ISR() extern "C" void ftm1_isr() //void TC4_Handler()
|
||||
#define HAL_TEMP_TIMER_ISR() extern "C" void ftm1_isr()
|
||||
#endif
|
||||
|
||||
void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency);
|
||||
@@ -110,4 +110,4 @@ void HAL_timer_disable_interrupt(const uint8_t timer_num);
|
||||
bool HAL_timer_interrupt_enabled(const uint8_t timer_num);
|
||||
|
||||
void HAL_timer_isr_prologue(const uint8_t timer_num);
|
||||
#define HAL_timer_isr_epilogue(TIMER_NUM)
|
||||
inline void HAL_timer_isr_epilogue(const uint8_t) {}
|
||||
|
||||
@@ -109,4 +109,4 @@ void HAL_timer_disable_interrupt(const uint8_t timer_num);
|
||||
bool HAL_timer_interrupt_enabled(const uint8_t timer_num);
|
||||
|
||||
void HAL_timer_isr_prologue(const uint8_t timer_num);
|
||||
#define HAL_timer_isr_epilogue(TIMER_NUM)
|
||||
inline void HAL_timer_isr_epilogue(const uint8_t) {}
|
||||
|
||||
@@ -30,41 +30,81 @@
|
||||
|
||||
void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency) {
|
||||
switch (timer_num) {
|
||||
//
|
||||
// Step Timer – GPT1 - Compare Interrupt OCR1 - Reset Mode
|
||||
//
|
||||
case 0:
|
||||
CCM_CSCMR1 &= ~CCM_CSCMR1_PERCLK_CLK_SEL; // turn off 24mhz mode
|
||||
// 24MHz mode off – Use peripheral clock (150MHz)
|
||||
CCM_CSCMR1 &= ~CCM_CSCMR1_PERCLK_CLK_SEL;
|
||||
// Enable GPT1 clock gating
|
||||
CCM_CCGR1 |= CCM_CCGR1_GPT1_BUS(CCM_CCGR_ON);
|
||||
|
||||
GPT1_CR = 0; // disable timer
|
||||
GPT1_SR = 0x3F; // clear all prior status
|
||||
GPT1_PR = GPT1_TIMER_PRESCALE - 1;
|
||||
GPT1_CR |= GPT_CR_CLKSRC(1); //clock selection #1 (peripheral clock = 150 MHz)
|
||||
GPT1_CR |= GPT_CR_ENMOD; //reset count to zero before enabling
|
||||
GPT1_CR |= GPT_CR_OM1(1); // toggle mode
|
||||
GPT1_OCR1 = (GPT1_TIMER_RATE / frequency) -1; // Initial compare value
|
||||
GPT1_IR = GPT_IR_OF1IE; // Compare3 value
|
||||
GPT1_CR |= GPT_CR_EN; //enable GPT2 counting at 150 MHz
|
||||
// Disable timer, clear all status bits
|
||||
GPT1_CR = 0; // Disable timer
|
||||
GPT1_SR = 0x3F; // Clear all prior status
|
||||
|
||||
OUT_WRITE(15, HIGH);
|
||||
// Prescaler = 2 => 75MHz counting clock
|
||||
GPT1_PR = GPT1_TIMER_PRESCALE - 1;
|
||||
|
||||
GPT1_CR = GPT_CR_CLKSRC(1) // Clock selection #1 (peripheral clock = 150 MHz)
|
||||
| GPT_CR_ENMOD // Reset count to zero before enabling
|
||||
| GPT_CR_OM2(TERN(MARLIN_DEV_MODE, 1, 0)); // 0 = edge compare, 1 = toggle
|
||||
|
||||
// Compare value – the number of clocks between edges
|
||||
GPT1_OCR1 = (GPT1_TIMER_RATE / frequency) - 1;
|
||||
|
||||
// Enable compare‑event interrupt
|
||||
GPT1_IR = GPT_IR_OF1IE; // OF1 interrupt enabled
|
||||
|
||||
// Pull Pin 15 HIGH (logic‑high is the “idle” state)
|
||||
TERN_(MARLIN_DEV_MODE, OUT_WRITE(15, HIGH));
|
||||
|
||||
// Attach and enable Stepper IRQ
|
||||
// Note: UART priority is 16
|
||||
attachInterruptVector(IRQ_GPT1, &stepTC_Handler);
|
||||
NVIC_SET_PRIORITY(IRQ_GPT1, 16);
|
||||
NVIC_SET_PRIORITY(IRQ_GPT1, 16); // Priority 16 (higher than Temp Timer)
|
||||
|
||||
// Start GPT1 counting at 150 MHz
|
||||
GPT1_CR |= GPT_CR_EN;
|
||||
|
||||
break;
|
||||
|
||||
//
|
||||
// Temperature Timer – GPT2 - Compare Interrupt OCR1 - Reset Mode
|
||||
//
|
||||
case 1:
|
||||
CCM_CSCMR1 &= ~CCM_CSCMR1_PERCLK_CLK_SEL; // turn off 24mhz mode
|
||||
// 24MHz mode off – Use peripheral clock (150MHz)
|
||||
CCM_CSCMR1 &= ~CCM_CSCMR1_PERCLK_CLK_SEL;
|
||||
// Enable GPT2 clock gating
|
||||
CCM_CCGR0 |= CCM_CCGR0_GPT2_BUS(CCM_CCGR_ON);
|
||||
|
||||
GPT2_CR = 0; // disable timer
|
||||
GPT2_SR = 0x3F; // clear all prior status
|
||||
GPT2_PR = GPT2_TIMER_PRESCALE - 1;
|
||||
GPT2_CR |= GPT_CR_CLKSRC(1); //clock selection #1 (peripheral clock = 150 MHz)
|
||||
GPT2_CR |= GPT_CR_ENMOD; //reset count to zero before enabling
|
||||
GPT2_CR |= GPT_CR_OM1(1); // toggle mode
|
||||
GPT2_OCR1 = (GPT2_TIMER_RATE / frequency) -1; // Initial compare value
|
||||
GPT2_IR = GPT_IR_OF1IE; // Compare3 value
|
||||
GPT2_CR |= GPT_CR_EN; //enable GPT2 counting at 150 MHz
|
||||
// Disable timer, clear all status bits
|
||||
GPT2_CR = 0; // Disable timer
|
||||
GPT2_SR = 0x3F; // Clear all prior status
|
||||
|
||||
OUT_WRITE(14, HIGH);
|
||||
// Prescaler = 10 => 15MHz counting clock
|
||||
GPT2_PR = GPT2_TIMER_PRESCALE - 1;
|
||||
|
||||
GPT2_CR = GPT_CR_CLKSRC(1) // Clock selection #1 (peripheral clock = 150 MHz)
|
||||
| GPT_CR_ENMOD // and reset count to zero before enabling
|
||||
| GPT_CR_OM2(TERN(MARLIN_DEV_MODE, 1, 0)); // 0 = edge compare, 1 = toggle
|
||||
|
||||
// Compare value – the number of clocks between edges
|
||||
GPT2_OCR1 = (GPT2_TIMER_RATE / frequency) - 1;
|
||||
|
||||
// Enable compare‑event interrupt
|
||||
GPT2_IR = GPT_IR_OF1IE; // OF1 interrupt enabled
|
||||
|
||||
// Pull Pin 14 HIGH (logic‑high is the “idle” state)
|
||||
TERN_(MARLIN_DEV_MODE, OUT_WRITE(14, HIGH));
|
||||
|
||||
// Attach Temperature ISR
|
||||
attachInterruptVector(IRQ_GPT2, &tempTC_Handler);
|
||||
NVIC_SET_PRIORITY(IRQ_GPT2, 32);
|
||||
NVIC_SET_PRIORITY(IRQ_GPT2, 32); // Priority 32 (lower than Step Timer)
|
||||
|
||||
// Start GPT2 counting at 150 MHz
|
||||
GPT2_CR |= GPT_CR_EN;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -86,6 +126,7 @@ void HAL_timer_disable_interrupt(const uint8_t timer_num) {
|
||||
case 1: NVIC_DISABLE_IRQ(IRQ_GPT2); break;
|
||||
}
|
||||
|
||||
// Ensure the CPU actually stops servicing the IRQ
|
||||
// We NEED memory barriers to ensure Interrupts are actually disabled!
|
||||
// ( https://dzone.com/articles/nvic-disabling-interrupts-on-arm-cortex-m-and-the )
|
||||
asm volatile("dsb");
|
||||
@@ -101,12 +142,8 @@ bool HAL_timer_interrupt_enabled(const uint8_t timer_num) {
|
||||
|
||||
void HAL_timer_isr_prologue(const uint8_t timer_num) {
|
||||
switch (timer_num) {
|
||||
case 0:
|
||||
GPT1_SR = GPT_IR_OF1IE; // clear OF3 bit
|
||||
break;
|
||||
case 1:
|
||||
GPT2_SR = GPT_IR_OF1IE; // clear OF3 bit
|
||||
break;
|
||||
case 0: GPT1_SR = GPT_IR_OF1IE; break; // clear OF1
|
||||
case 1: GPT2_SR = GPT_IR_OF1IE; break;
|
||||
}
|
||||
asm volatile("dsb");
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ typedef uint32_t hal_timer_t;
|
||||
|
||||
#define STEPPER_TIMER_RATE GPT1_TIMER_RATE
|
||||
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000)
|
||||
#define STEPPER_TIMER_PRESCALE ((GPT_TIMER_RATE / 1000000) / STEPPER_TIMER_TICKS_PER_US)
|
||||
#define STEPPER_TIMER_PRESCALE (GPT_TIMER_RATE / STEPPER_TIMER_RATE)
|
||||
|
||||
#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // frequency of pulse timer
|
||||
#define PULSE_TIMER_PRESCALE STEPPER_TIMER_PRESCALE
|
||||
@@ -86,10 +86,14 @@ void HAL_timer_start(const uint8_t timer_num, const uint32_t frequency);
|
||||
FORCE_INLINE static void HAL_timer_set_compare(const uint8_t timer_num, const hal_timer_t compare) {
|
||||
switch (timer_num) {
|
||||
case 0:
|
||||
GPT1_CR |= GPT_CR_FRR; // Free Run Mode (setting OCRx preserves CNT)
|
||||
GPT1_OCR1 = compare - 1;
|
||||
GPT1_CR &= ~GPT_CR_FRR; // Reset Mode (CNT resets on trigger)
|
||||
break;
|
||||
case 1:
|
||||
GPT2_CR |= GPT_CR_FRR; // Free Run Mode (setting OCRx preserves CNT)
|
||||
GPT2_OCR1 = compare - 1;
|
||||
GPT2_CR &= ~GPT_CR_FRR; // Reset Mode (CNT resets on trigger)
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -115,5 +119,4 @@ void HAL_timer_disable_interrupt(const uint8_t timer_num);
|
||||
bool HAL_timer_interrupt_enabled(const uint8_t timer_num);
|
||||
|
||||
void HAL_timer_isr_prologue(const uint8_t timer_num);
|
||||
//void HAL_timer_isr_epilogue(const uint8_t timer_num) {}
|
||||
#define HAL_timer_isr_epilogue(TIMER_NUM)
|
||||
inline void HAL_timer_isr_epilogue(const uint8_t) {}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
* Release version. Leave the Marlin version or apply a custom scheme.
|
||||
*/
|
||||
#ifndef SHORT_BUILD_VERSION
|
||||
#define SHORT_BUILD_VERSION "2.0.7.3"
|
||||
#define SHORT_BUILD_VERSION "2.0.7.4"
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -42,7 +42,7 @@
|
||||
* version was tagged.
|
||||
*/
|
||||
#ifndef STRING_DISTRIBUTION_DATE
|
||||
#define STRING_DISTRIBUTION_DATE "2023-07-18"
|
||||
#define STRING_DISTRIBUTION_DATE "2023-12-08"
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
||||
@@ -1345,11 +1345,7 @@ HAL_STEP_TIMER_ISR() {
|
||||
HAL_timer_isr_epilogue(STEP_TIMER_NUM);
|
||||
}
|
||||
|
||||
#ifdef CPU_32_BIT
|
||||
#define STEP_MULTIPLY(A,B) MultiU32X24toH32(A, B)
|
||||
#else
|
||||
#define STEP_MULTIPLY(A,B) MultiU24X32toH16(A, B)
|
||||
#endif
|
||||
#define STEP_MULTIPLY(A,B) TERN(CPU_32_BIT, MultiU32X24toH32, MultiU24X32toH16)(A, B)
|
||||
|
||||
void Stepper::isr() {
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Where have all the configurations gone?
|
||||
|
||||
## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.7.3.zip
|
||||
## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.7.4.zip
|
||||
|
||||
@@ -205,16 +205,16 @@ lib_deps =
|
||||
# Feature Dependencies
|
||||
#
|
||||
[features]
|
||||
HAS_TFT_LVGL_UI = lvgl=https://github.com/makerbase-mks/LVGL-6.1.1-MKS/archive/master.zip
|
||||
HAS_TFT_LVGL_UI = lvgl=https://github.com/makerbase-mks/LVGL-6.1.1-MKS/archive/a3ebe98bc6.zip
|
||||
build_src_filter=+<src/lcd/extui/lib/mks_ui>
|
||||
extra_scripts=download_mks_assets.py
|
||||
HAS_TRINAMIC_CONFIG = TMCStepper@~0.7.1
|
||||
build_src_filter=+<src/feature/tmc_util.cpp> +<src/module/stepper/trinamic.cpp> +<src/gcode/feature/trinamic/M122.cpp> +<src/gcode/feature/trinamic/M906.cpp> +<src/gcode/feature/trinamic/M911-M914.cpp>
|
||||
HAS_STEALTHCHOP = build_src_filter=+<src/gcode/feature/trinamic/M569.cpp>
|
||||
SR_LCD_3W_NL = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip
|
||||
SR_LCD_3W_NL = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/6f53c19a8a.zip
|
||||
HAS_MOTOR_CURRENT_I2C = SlowSoftI2CMaster
|
||||
build_src_filter=+<src/feature/digipot>
|
||||
HAS_TMC26X = TMC26XStepper=https://github.com/MarlinFirmware/TMC26XStepper/archive/master.zip
|
||||
HAS_TMC26X = TMC26XStepper=https://github.com/MarlinFirmware/TMC26XStepper/archive/a7d7c92a13.zip
|
||||
build_src_filter=+<src/module/TMC26X.cpp>
|
||||
HAS_L64XX = Arduino-L6470@0.8.0
|
||||
build_src_filter=+<src/libs/L64XX> +<src/module/stepper/L64xx.cpp> +<src/gcode/feature/L6470>
|
||||
|
||||
Reference in New Issue
Block a user