mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2026-01-02 04:40:32 -07:00
Merge branch 'bugfix-2.1.x' of https://github.com/MarlinFirmware/Marlin into bugfix-2.1.x-March2
This commit is contained in:
commit
ffcec1b0c6
29 changed files with 221 additions and 172 deletions
|
|
@ -2384,6 +2384,9 @@
|
|||
* For better results also enable ADAPTIVE_STEP_SMOOTHING.
|
||||
*/
|
||||
//#define NONLINEAR_EXTRUSION
|
||||
#if ENABLED(NONLINEAR_EXTRUSION)
|
||||
//#define NONLINEAR_EXTRUSION_DEFAULT_ON // Enable if NLE should be ON by default
|
||||
#endif
|
||||
|
||||
// @section leveling
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
* here we define this default string as the date where the latest release
|
||||
* version was tagged.
|
||||
*/
|
||||
//#define STRING_DISTRIBUTION_DATE "2025-05-29"
|
||||
//#define STRING_DISTRIBUTION_DATE "2025-06-05"
|
||||
|
||||
/**
|
||||
* The protocol for communication to the host. Protocol indicates communication
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ void MarlinHAL::init() {
|
|||
constexpr int cpuFreq = F_CPU;
|
||||
UNUSED(cpuFreq);
|
||||
|
||||
#if HAS_MEDIA && DISABLED(SDIO_SUPPORT) && PIN_EXISTS(SD_SS)
|
||||
#if HAS_MEDIA && DISABLED(ONBOARD_SDIO) && PIN_EXISTS(SD_SS)
|
||||
OUT_WRITE(SD_SS_PIN, HIGH); // Try to set SD_SS_PIN inactive before any other SPI users start up
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@
|
|||
#define BOARD_MKS_SGEN_L_V2 2509 // MKS SGEN_L V2
|
||||
#define BOARD_BTT_SKR_E3_TURBO 2510 // BigTreeTech SKR E3 Turbo
|
||||
#define BOARD_FLY_CDY 2511 // FLYmaker FLY CDY
|
||||
#define BOARD_XTLW_CLIMBER_8TH_LPC 2512 // XTLW_CLIMBER_8TH_LPC
|
||||
#define BOARD_XTLW_CLIMBER_8TH_LPC 2512 // XTLW Climber 8
|
||||
|
||||
//
|
||||
// SAM3X8E ARM Cortex-M3
|
||||
|
|
@ -283,7 +283,7 @@
|
|||
|
||||
#define BOARD_DUE3DOM 3000 // DUE3DOM for Arduino DUE
|
||||
#define BOARD_DUE3DOM_MINI 3001 // DUE3DOM MINI for Arduino DUE
|
||||
#define BOARD_RADDS 3002 // RADDS
|
||||
#define BOARD_RADDS 3002 // RADDS v1.5/v1.6
|
||||
#define BOARD_RAMPS_FD_V1 3003 // RAMPS-FD v1
|
||||
#define BOARD_RAMPS_FD_V2 3004 // RAMPS-FD v2
|
||||
#define BOARD_RAMPS_SMART_EFB 3005 // RAMPS-SMART (Power outputs: Hotend, Fan, Bed)
|
||||
|
|
|
|||
|
|
@ -307,6 +307,12 @@
|
|||
#define GANG_N_1(N,K) _GANG_N(N,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K)
|
||||
|
||||
// Expansion of some list items
|
||||
#define LIST_32(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,BB,CC,DD,EE,FF,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,BB,CC,DD,EE,FF
|
||||
#define LIST_31(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,BB,CC,DD,EE,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,BB,CC,DD,EE
|
||||
#define LIST_30(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,BB,CC,DD,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,BB,CC,DD
|
||||
#define LIST_29(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,BB,CC,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,BB,CC
|
||||
#define LIST_28(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,BB,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,TU,V,W,X,Y,Z,AA,BB
|
||||
#define LIST_27(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,AA
|
||||
#define LIST_26(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
|
||||
#define LIST_25(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y
|
||||
#define LIST_24(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,...) A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X
|
||||
|
|
@ -572,6 +578,17 @@
|
|||
#define INC_18 19
|
||||
#define INC_19 20
|
||||
#define INC_20 21
|
||||
#define INC_21 22
|
||||
#define INC_22 23
|
||||
#define INC_23 24
|
||||
#define INC_24 25
|
||||
#define INC_25 26
|
||||
#define INC_26 27
|
||||
#define INC_27 28
|
||||
#define INC_28 29
|
||||
#define INC_29 30
|
||||
#define INC_30 31
|
||||
#define INC_31 32
|
||||
#define INCREMENT_(n) INC_##n
|
||||
#define INCREMENT(n) INCREMENT_(n)
|
||||
|
||||
|
|
@ -607,6 +624,23 @@
|
|||
#define DEC_13 12
|
||||
#define DEC_14 13
|
||||
#define DEC_15 14
|
||||
#define DEC_16 15
|
||||
#define DEC_17 16
|
||||
#define DEC_18 17
|
||||
#define DEC_19 18
|
||||
#define DEC_20 19
|
||||
#define DEC_21 20
|
||||
#define DEC_22 21
|
||||
#define DEC_23 22
|
||||
#define DEC_24 23
|
||||
#define DEC_25 24
|
||||
#define DEC_26 25
|
||||
#define DEC_27 26
|
||||
#define DEC_28 27
|
||||
#define DEC_29 28
|
||||
#define DEC_30 29
|
||||
#define DEC_31 30
|
||||
#define DEC_32 31
|
||||
#define DECREMENT_(n) DEC_##n
|
||||
#define DECREMENT(n) DECREMENT_(n)
|
||||
|
||||
|
|
|
|||
|
|
@ -526,7 +526,12 @@
|
|||
TMC_HSTRT,
|
||||
TMC_SGT,
|
||||
TMC_MSCNT,
|
||||
TMC_INTERPOLATE
|
||||
TMC_INTERPOLATE,
|
||||
TMC_VAIN,
|
||||
TMC_VSUPPLY,
|
||||
TMC_TEMP,
|
||||
TMC_OVERTEMP,
|
||||
TMC_OVERVOLT_THD
|
||||
};
|
||||
enum TMC_drv_status_enum : char {
|
||||
TMC_DRV_CODES,
|
||||
|
|
@ -701,6 +706,11 @@
|
|||
case TMC_PWM_GRAD_AUTO: SERIAL_ECHO(st.pwm_grad_auto()); break;
|
||||
case TMC_STEALTHCHOP: print_true_or_false(st.stealth()); break;
|
||||
case TMC_INTERPOLATE: print_true_or_false(st.intpol()); break;
|
||||
case TMC_VAIN: SERIAL_ECHO(st.get_ain_voltage()); break;
|
||||
case TMC_VSUPPLY: SERIAL_ECHO(st.get_vsupply_voltage()); break;
|
||||
case TMC_TEMP: SERIAL_ECHO(st.get_chip_temperature()); break;
|
||||
case TMC_OVERTEMP: SERIAL_ECHO(st.get_overtemp_prewarn_celsius()); break;
|
||||
case TMC_OVERVOLT_THD: SERIAL_ECHO(st.get_overvoltage_threshold_voltage()); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
|
@ -978,6 +988,13 @@
|
|||
DRV_REPORT("s2vsb\t", TMC_S2VSB);
|
||||
#endif
|
||||
DRV_REPORT("Driver registers:\n",TMC_DRV_STATUS_HEX);
|
||||
#if HAS_DRIVER(TMC2240)
|
||||
TMC_REPORT("Analog in (v)", TMC_VAIN);
|
||||
TMC_REPORT("Supply (v)", TMC_VSUPPLY);
|
||||
TMC_REPORT("Temp (°C)", TMC_TEMP);
|
||||
TMC_REPORT("OT pre warn (°C)", TMC_OVERTEMP);
|
||||
TMC_REPORT("OV theshold (v)", TMC_OVERVOLT_THD);
|
||||
#endif
|
||||
SERIAL_EOL();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,11 +30,13 @@
|
|||
void GcodeSuite::M592_report(const bool forReplay/*=true*/) {
|
||||
TERN_(MARLIN_SMALL_BUILD, return);
|
||||
report_heading_etc(forReplay, F(STR_NONLINEAR_EXTRUSION));
|
||||
SERIAL_ECHOLNPGM(" M592 A", stepper.ne.A, " B", stepper.ne.B, " C", stepper.ne.C);
|
||||
const nonlinear_settings_t &sns = stepper.ne.settings;
|
||||
SERIAL_ECHOLNPGM(" M592 S", sns.enabled, " A", sns.coeff.A, " B", sns.coeff.B, " C", sns.coeff.C);
|
||||
}
|
||||
|
||||
/**
|
||||
* M592: Get or set nonlinear extrusion parameters
|
||||
* S<flag> Enable / Disable Nonlinear Extrusion
|
||||
* A<factor> Quadratic coefficient (default 0.0)
|
||||
* B<factor> Linear coefficient (default 0.0)
|
||||
* C<factor> Constant coefficient (default 1.0)
|
||||
|
|
@ -46,14 +48,18 @@ void GcodeSuite::M592_report(const bool forReplay/*=true*/) {
|
|||
void GcodeSuite::M592() {
|
||||
if (!parser.seen_any()) return M592_report();
|
||||
|
||||
if (parser.seenval('A')) stepper.ne.A = parser.value_float();
|
||||
if (parser.seenval('B')) stepper.ne.B = parser.value_float();
|
||||
if (parser.seenval('C')) stepper.ne.C = parser.value_float();
|
||||
nonlinear_t &ne = stepper.ne;
|
||||
nonlinear_settings_t &sns = ne.settings;
|
||||
|
||||
if (parser.seen('S')) sns.enabled = parser.value_bool();
|
||||
if (parser.seenval('A')) sns.coeff.A = parser.value_float();
|
||||
if (parser.seenval('B')) sns.coeff.B = parser.value_float();
|
||||
if (parser.seenval('C')) sns.coeff.C = parser.value_float();
|
||||
|
||||
#if ENABLED(SMOOTH_LIN_ADVANCE)
|
||||
stepper.ne_q30.A = _BV32(30) * (stepper.ne.A * planner.mm_per_step[E_AXIS_N(0)] * planner.mm_per_step[E_AXIS_N(0)]);
|
||||
stepper.ne_q30.B = _BV32(30) * (stepper.ne.B * planner.mm_per_step[E_AXIS_N(0)]);
|
||||
stepper.ne_q30.C = _BV32(30) * stepper.ne.C;
|
||||
ne.q30.A = _BV32(30) * (sns.coeff.A * planner.mm_per_step[E_AXIS_N(0)] * planner.mm_per_step[E_AXIS_N(0)]);
|
||||
ne.q30.B = _BV32(30) * (sns.coeff.B * planner.mm_per_step[E_AXIS_N(0)]);
|
||||
ne.q30.C = _BV32(30) * sns.coeff.C;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -458,8 +458,8 @@ void GcodeSuite::process_parsed_command(bool no_ok/*=false*/) {
|
|||
case 80: G80(); break; // G80: Reset the current motion mode
|
||||
#endif
|
||||
|
||||
case 90: set_relative_mode(false); break; // G90: Absolute Mode
|
||||
case 91: set_relative_mode(true); break; // G91: Relative Mode
|
||||
case 90: G90(); break; // G90: Absolute Mode
|
||||
case 91: G91(); break; // G91: Relative Mode
|
||||
|
||||
case 92: G92(); break; // G92: Set current axis position(s)
|
||||
|
||||
|
|
|
|||
|
|
@ -632,6 +632,9 @@ private:
|
|||
static void G80();
|
||||
#endif
|
||||
|
||||
static void G90() { set_relative_mode(false); }
|
||||
static void G91() { set_relative_mode(true); }
|
||||
|
||||
static void G92();
|
||||
|
||||
#if ENABLED(CALIBRATION_GCODE)
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
* version was tagged.
|
||||
*/
|
||||
#ifndef STRING_DISTRIBUTION_DATE
|
||||
#define STRING_DISTRIBUTION_DATE "2025-05-29"
|
||||
#define STRING_DISTRIBUTION_DATE "2025-06-05"
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -512,6 +512,7 @@ namespace LanguageNarrow_en {
|
|||
LSTR MSG_ADVANCE_TAU = _UxGT("Advance Tau");
|
||||
LSTR MSG_ADVANCE_K_E = _UxGT("Advance K *");
|
||||
LSTR MSG_ADVANCE_TAU_E = _UxGT("Advance Tau *");
|
||||
LSTR MSG_NLE_ON = _UxGT("NLE enabled");
|
||||
LSTR MSG_CONTRAST = _UxGT("LCD Contrast");
|
||||
LSTR MSG_BRIGHTNESS = _UxGT("LCD Brightness");
|
||||
LSTR MSG_SCREEN_TIMEOUT = _UxGT("LCD Timeout (m)");
|
||||
|
|
|
|||
|
|
@ -138,6 +138,10 @@ void menu_backlash();
|
|||
#endif
|
||||
#endif // LIN_ADVANCE
|
||||
|
||||
#if ENABLED(NONLINEAR_EXTRUSION)
|
||||
EDIT_ITEM(bool, MSG_NLE_ON, &stepper.ne.settings.enabled);
|
||||
#endif
|
||||
|
||||
#if DISABLED(NO_VOLUMETRICS)
|
||||
EDIT_ITEM(bool, MSG_VOLUMETRIC_ENABLED, &parser.volumetric_enabled, planner.calculate_volumetric_multipliers);
|
||||
|
||||
|
|
|
|||
|
|
@ -237,6 +237,13 @@ void menu_tune() {
|
|||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Nonlinear Extrusion state
|
||||
//
|
||||
#if ENABLED(NONLINEAR_EXTRUSION)
|
||||
EDIT_ITEM(bool, MSG_NLE_ON, &stepper.ne.settings.enabled);
|
||||
#endif
|
||||
|
||||
//
|
||||
// Babystep X:
|
||||
// Babystep Y:
|
||||
|
|
|
|||
|
|
@ -189,12 +189,12 @@ Nozzle nozzle;
|
|||
#if ENABLED(NOZZLE_CLEAN_HEATUP)
|
||||
SERIAL_ECHOLNPGM("Nozzle too Cold - Heating");
|
||||
thermalManager.setTargetHotend(NOZZLE_CLEAN_MIN_TEMP, arrPos);
|
||||
thermalManager.wait_for_hotend(arrPos);
|
||||
#else
|
||||
SERIAL_ECHOLNPGM("Nozzle too cold - Skipping wipe");
|
||||
return;
|
||||
#endif
|
||||
}
|
||||
thermalManager.wait_for_hotend(arrPos);
|
||||
#endif
|
||||
|
||||
#if HAS_SOFTWARE_ENDSTOPS
|
||||
|
|
|
|||
|
|
@ -3255,8 +3255,8 @@ void Planner::refresh_positioning() {
|
|||
#if ENABLED(EDITABLE_STEPS_PER_UNIT)
|
||||
LOOP_DISTINCT_AXES(i) mm_per_step[i] = 1.0f / settings.axis_steps_per_mm[i];
|
||||
#if ALL(NONLINEAR_EXTRUSION, SMOOTH_LIN_ADVANCE)
|
||||
stepper.ne_q30.A = _BV32(30) * (stepper.ne.A * mm_per_step[E_AXIS_N(0)] * mm_per_step[E_AXIS_N(0)]);
|
||||
stepper.ne_q30.B = _BV32(30) * (stepper.ne.B * mm_per_step[E_AXIS_N(0)]);
|
||||
stepper.ne.q30.A = _BV32(30) * (stepper.ne.settings.coeff.A * mm_per_step[E_AXIS_N(0)] * mm_per_step[E_AXIS_N(0)]);
|
||||
stepper.ne.q30.B = _BV32(30) * (stepper.ne.settings.coeff.B * mm_per_step[E_AXIS_N(0)]);
|
||||
#endif
|
||||
#endif
|
||||
set_position_mm(current_position);
|
||||
|
|
|
|||
|
|
@ -684,7 +684,7 @@ typedef struct SettingsDataStruct {
|
|||
// Nonlinear Extrusion
|
||||
//
|
||||
#if ENABLED(NONLINEAR_EXTRUSION)
|
||||
ne_coeff_t stepper_ne; // M592 A B C
|
||||
nonlinear_settings_t stepper_ne_settings; // M592 S A B C
|
||||
#endif
|
||||
|
||||
//
|
||||
|
|
@ -1797,7 +1797,7 @@ void MarlinSettings::postprocess() {
|
|||
// Nonlinear Extrusion
|
||||
//
|
||||
#if ENABLED(NONLINEAR_EXTRUSION)
|
||||
EEPROM_WRITE(stepper.ne);
|
||||
EEPROM_WRITE(stepper.ne.settings);
|
||||
#endif
|
||||
|
||||
//
|
||||
|
|
@ -2932,7 +2932,7 @@ void MarlinSettings::postprocess() {
|
|||
// Nonlinear Extrusion
|
||||
//
|
||||
#if ENABLED(NONLINEAR_EXTRUSION)
|
||||
EEPROM_READ(stepper.ne);
|
||||
EEPROM_READ(stepper.ne.settings);
|
||||
#endif
|
||||
|
||||
//
|
||||
|
|
@ -3733,7 +3733,7 @@ void MarlinSettings::reset() {
|
|||
//
|
||||
// Nonlinear Extrusion
|
||||
//
|
||||
TERN_(NONLINEAR_EXTRUSION, stepper.ne.reset());
|
||||
TERN_(NONLINEAR_EXTRUSION, stepper.ne.settings.reset());
|
||||
|
||||
//
|
||||
// Input Shaping
|
||||
|
|
|
|||
|
|
@ -256,17 +256,7 @@ uint32_t Stepper::advance_divisor = 0,
|
|||
#endif
|
||||
|
||||
#if ENABLED(NONLINEAR_EXTRUSION)
|
||||
ne_coeff_t Stepper::ne;
|
||||
#if NONLINEAR_EXTRUSION_Q24
|
||||
ne_q24_t Stepper::ne_q24;
|
||||
#else
|
||||
ne_q30_t Stepper::ne_q30;
|
||||
#endif
|
||||
// private:
|
||||
#if NONLINEAR_EXTRUSION_Q24
|
||||
int32_t Stepper::ne_edividend;
|
||||
uint32_t Stepper::ne_scale_q24;
|
||||
#endif
|
||||
nonlinear_t Stepper::ne; // Initialized by settings.load
|
||||
#endif
|
||||
|
||||
#if HAS_ZV_SHAPING
|
||||
|
|
@ -2247,11 +2237,11 @@ hal_timer_t Stepper::calc_timer_interval(uint32_t step_rate) {
|
|||
|
||||
#if NONLINEAR_EXTRUSION_Q24
|
||||
void Stepper::calc_nonlinear_e(const uint32_t step_rate) {
|
||||
const uint32_t velocity_q24 = ne_scale_q24 * step_rate; // Scale step_rate first so all intermediate values stay in range of 8.24 fixed point math
|
||||
int32_t vd_q24 = (((((int64_t)ne_q24.A * velocity_q24) >> 24) * velocity_q24) >> 24) + (((int64_t)ne_q24.B * velocity_q24) >> 24);
|
||||
const uint32_t velocity_q24 = ne.scale_q24 * step_rate; // Scale step_rate first so all intermediate values stay in range of 8.24 fixed point math
|
||||
int32_t vd_q24 = ((((int64_t(ne.q24.A) * velocity_q24) >> 24) * velocity_q24) >> 24) + ((int64_t(ne.q24.B) * velocity_q24) >> 24);
|
||||
NOLESS(vd_q24, 0);
|
||||
|
||||
advance_dividend.e = (uint64_t(ne_q24.C + vd_q24) * ne_edividend) >> 24;
|
||||
advance_dividend.e = (uint64_t(ne.q24.C + vd_q24) * ne.edividend) >> 24;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -2834,18 +2824,19 @@ hal_timer_t Stepper::block_phase_isr() {
|
|||
acc_step_rate = current_block->initial_rate;
|
||||
#endif
|
||||
|
||||
// Calculate Nonlinear Extrusion fixed-point quotients
|
||||
#if NONLINEAR_EXTRUSION_Q24
|
||||
ne_edividend = advance_dividend.e;
|
||||
const float scale = (float(ne_edividend) / advance_divisor) * planner.mm_per_step[E_AXIS_N(current_block->extruder)];
|
||||
ne_scale_q24 = _BV32(24) * scale;
|
||||
if (current_block->direction_bits.e && ANY_AXIS_MOVES(current_block)) {
|
||||
ne_q24.A = _BV32(24) * ne.A;
|
||||
ne_q24.B = _BV32(24) * ne.B;
|
||||
ne_q24.C = _BV32(24) * ne.C;
|
||||
ne.edividend = advance_dividend.e;
|
||||
const float scale = (float(ne.edividend) / advance_divisor) * planner.mm_per_step[E_AXIS_N(current_block->extruder)];
|
||||
ne.scale_q24 = _BV32(24) * scale;
|
||||
if (ne.settings.enabled && current_block->direction_bits.e && ANY_AXIS_MOVES(current_block)) {
|
||||
ne.q24.A = _BV32(24) * ne.settings.coeff.A;
|
||||
ne.q24.B = _BV32(24) * ne.settings.coeff.B;
|
||||
ne.q24.C = _BV32(24) * ne.settings.coeff.C;
|
||||
}
|
||||
else {
|
||||
ne_q24.A = ne_q24.B = 0;
|
||||
ne_q24.C = _BV32(24);
|
||||
ne.q24.A = ne.q24.B = 0;
|
||||
ne.q24.C = _BV32(24);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -2891,9 +2882,9 @@ hal_timer_t Stepper::block_phase_isr() {
|
|||
#if ENABLED(NONLINEAR_EXTRUSION)
|
||||
if (forward_e && ANY_AXIS_MOVES(current_block)) {
|
||||
// Maximum polynomial value is just above 1, like 1.05..1.2, less than 2 anyway, so we can use 30 bits for fractional part
|
||||
int32_t vd_q30 = ne_q30.A*step_rate*step_rate + ne_q30.B*step_rate;
|
||||
int32_t vd_q30 = ne.q30.A * sq(step_rate) + ne.q30.B * step_rate;
|
||||
NOLESS(vd_q30, 0);
|
||||
step_rate = (int64_t(step_rate) * (ne_q30.C + vd_q30)) >> 30;
|
||||
step_rate = (int64_t(step_rate) * (ne.q30.C + vd_q30)) >> 30;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -283,15 +283,40 @@ constexpr ena_mask_t enable_overlap[] = {
|
|||
|
||||
#endif // HAS_ZV_SHAPING
|
||||
|
||||
//
|
||||
// NonLinear Extrusion data
|
||||
//
|
||||
#if ENABLED(NONLINEAR_EXTRUSION)
|
||||
typedef struct { float A, B, C; void reset() { A = B = 0.0f; C = 1.0f; } } ne_coeff_t;
|
||||
|
||||
#if DISABLED(SMOOTH_LIN_ADVANCE)
|
||||
#define NONLINEAR_EXTRUSION_Q24 1
|
||||
typedef struct { int32_t A, B, C; } ne_q24_t;
|
||||
#else
|
||||
typedef struct { int32_t A, B, C; } ne_q30_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
bool enabled;
|
||||
struct {
|
||||
float A, B, C;
|
||||
void reset() { A = B = 0.0f; C = 1.0f; }
|
||||
} coeff;
|
||||
void reset() {
|
||||
enabled = ENABLED(NONLINEAR_EXTRUSION_DEFAULT_ON);
|
||||
coeff.reset();
|
||||
}
|
||||
} nonlinear_settings_t;
|
||||
|
||||
typedef struct {
|
||||
nonlinear_settings_t settings;
|
||||
union {
|
||||
struct { int32_t A, B, C; } q24;
|
||||
struct { int32_t A, B, C; } q30;
|
||||
};
|
||||
#if NONLINEAR_EXTRUSION_Q24
|
||||
int32_t edividend;
|
||||
uint32_t scale_q24;
|
||||
#endif
|
||||
} nonlinear_t;
|
||||
|
||||
#endif // NONLINEAR_EXTRUSION
|
||||
|
||||
//
|
||||
// Stepper class definition
|
||||
|
|
@ -347,12 +372,7 @@ class Stepper {
|
|||
#endif
|
||||
|
||||
#if ENABLED(NONLINEAR_EXTRUSION)
|
||||
static ne_coeff_t ne;
|
||||
#if NONLINEAR_EXTRUSION_Q24
|
||||
static ne_q24_t ne_q24;
|
||||
#else
|
||||
static ne_q30_t ne_q30;
|
||||
#endif
|
||||
static nonlinear_t ne;
|
||||
#endif
|
||||
|
||||
#if ENABLED(ADAPTIVE_STEP_SMOOTHING_TOGGLE)
|
||||
|
|
@ -477,11 +497,6 @@ class Stepper {
|
|||
#endif
|
||||
#endif
|
||||
|
||||
#if NONLINEAR_EXTRUSION_Q24
|
||||
static int32_t ne_edividend;
|
||||
static uint32_t ne_scale_q24;
|
||||
#endif
|
||||
|
||||
#if ENABLED(BABYSTEPPING)
|
||||
static constexpr hal_timer_t BABYSTEP_NEVER = HAL_TIMER_TYPE_MAX;
|
||||
static hal_timer_t nextBabystepISR;
|
||||
|
|
|
|||
|
|
@ -822,6 +822,8 @@ enum StealthIndex : uint8_t {
|
|||
st.PWMCONF(pwmconf.sr);
|
||||
|
||||
TERN(HYBRID_THRESHOLD, st.set_pwm_thrs(hyb_thrs), UNUSED(hyb_thrs));
|
||||
|
||||
st.diag0_pushpull(true);
|
||||
st.GSTAT(); // Clear GSTAT
|
||||
}
|
||||
#endif // TMC2240
|
||||
|
|
|
|||
|
|
@ -62,6 +62,8 @@
|
|||
//
|
||||
// Limit Switches
|
||||
//
|
||||
#define X_DIAG_PIN PB10
|
||||
#define Y_DIAG_PIN PB11
|
||||
#ifndef Z_STOP_PIN
|
||||
#define Z_STOP_PIN PC14
|
||||
#endif
|
||||
|
|
@ -79,23 +81,19 @@
|
|||
#define HEATER_BED_PIN PB2 // HOT BED
|
||||
#define FAN1_PIN PC1 // extruder fan
|
||||
|
||||
//
|
||||
// Steppers
|
||||
//
|
||||
|
||||
#if HAS_TMC_UART
|
||||
|
||||
// Reduce baud rate to improve software serial reliability
|
||||
#define TMC_BAUD_RATE 19200
|
||||
|
||||
// Software serial
|
||||
#define X_SERIAL_TX_PIN PB12
|
||||
#define X_DIAG_PIN PB10
|
||||
|
||||
#define Y_SERIAL_TX_PIN PB13
|
||||
#define Y_DIAG_PIN PB11
|
||||
|
||||
#define Z_SERIAL_TX_PIN PB14
|
||||
#endif // HAS_TMC_UART
|
||||
#define E0_SERIAL_TX_PIN PB15
|
||||
|
||||
// Reduce baud rate to improve software serial reliability
|
||||
#ifndef TMC_BAUD_RATE
|
||||
#define TMC_BAUD_RATE 19200
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// SD Card
|
||||
|
|
|
|||
|
|
@ -37,4 +37,6 @@
|
|||
|
||||
#define EEPROM_EXCL_ZONE 916,926 // Ender-3S1 STM32F401 Bootloader EEPROM exclusion zone
|
||||
|
||||
#define EXP3_03_PIN PA2
|
||||
|
||||
#include "../stm32f1/pins_CREALITY_V24S1_301.h"
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@
|
|||
// Must use soft SPI because Marlin's default hardware SPI is tied to LCD's EXP2
|
||||
//
|
||||
#if SD_CONNECTION_IS(ONBOARD)
|
||||
#define SDIO_SUPPORT // Use SDIO for onboard SD
|
||||
#define ONBOARD_SDIO // Use SDIO for onboard SD
|
||||
#define SDIO_D0_PIN PC8
|
||||
#define SDIO_D1_PIN PC9
|
||||
#define SDIO_D2_PIN PC10
|
||||
|
|
|
|||
|
|
@ -1,81 +0,0 @@
|
|||
|
||||
<p align="center"><img src="buildroot/share/pixmaps/logo/marlin-outrun-nf-500.png" height="250" alt="Logo do MarlinFirmware" /></p>
|
||||
|
||||
<h1 align="center">Firmware de Impressora 3D Marlin</h1>
|
||||
|
||||
<p align="center">
|
||||
<a href="/LICENSE"><img alt="Licença GPL-V3.0" src="https://img.shields.io/github/license/marlinfirmware/marlin.svg"></a>
|
||||
<a href="https://github.com/MarlinFirmware/Marlin/graphs/contributors"><img alt="Contribuidores" src="https://img.shields.io/github/contributors/marlinfirmware/marlin.svg"></a>
|
||||
<a href="https://github.com/MarlinFirmware/Marlin/releases"><img alt="Data do Último Lançamento" src="https://img.shields.io/github/release-date/MarlinFirmware/Marlin"></a>
|
||||
<a href="https://github.com/MarlinFirmware/Marlin/actions/workflows/ci-build-tests.yml"><img alt="Status do CI" src="https://github.com/MarlinFirmware/Marlin/actions/workflows/ci-build-tests.yml/badge.svg"></a>
|
||||
<a href="https://github.com/sponsors/thinkyhead"><img alt="Patrocínios no GitHub" src="https://img.shields.io/github/sponsors/thinkyhead?color=db61a2"></a>
|
||||
<br />
|
||||
<a href="https://bsky.app/profile/marlinfw.org"><img alt="Siga marlinfw.org no Bluesky" src="https://img.shields.io/static/v1?label=&message=Siga @marlinfw.org&color=1185FE&logo=bluesky&logoColor=white"></a>
|
||||
<a href="https://fosstodon.org/@marlinfirmware"><img alt="Siga MarlinFirmware no Mastodon" src="https://img.shields.io/mastodon/follow/109450200866020466?domain=https%3A%2F%2Ffosstodon.org&logoColor=%2300B&style=social"></a>
|
||||
</p>
|
||||
|
||||
Documentação adicional pode ser encontrada na [Página Inicial do Marlin](//marlinfw.org/).
|
||||
Por favor, teste este firmware e nos avise se encontrar algum problema. Voluntários estão prontos para ajudar!
|
||||
|
||||
## Branch de Correções do Marlin 2.1
|
||||
|
||||
__Não é para uso em produção. Use com cautela!__
|
||||
|
||||
O Marlin 2.1 continua oferecendo suporte a placas ARM 32 bits e AVR 8 bits, além de adicionar suporte para até 9 eixos coordenados e até 8 extrusoras.
|
||||
|
||||
Este branch é para correções da versão mais recente 2.1.x. Periodicamente, ele servirá de base para o próximo lançamento menor da linha 2.1.x.
|
||||
|
||||
Versões anteriores do Marlin podem ser baixadas na [página de lançamentos](//github.com/MarlinFirmware/Marlin/releases).
|
||||
|
||||
## Configurações de Exemplo
|
||||
|
||||
Antes de compilar o Marlin para sua máquina, você precisará de uma configuração específica para o seu hardware. Ao solicitar, seu fornecedor deve fornecer o código-fonte completo e as configurações da sua máquina. No entanto, se quiser instalar uma versão mais recente do Marlin, você precisará de arquivos de configuração atualizados. Felizmente, a comunidade do Marlin já contribuiu com dezenas de configurações testadas para ajudar no início. Visite o repositório [MarlinFirmware/Configurations](//github.com/MarlinFirmware/Configurations) para encontrar a configuração mais próxima da sua impressora.
|
||||
|
||||
## Compilando o Marlin 2.1
|
||||
|
||||
Para compilar e enviar o Marlin você pode usar uma destas ferramentas:
|
||||
|
||||
- O [Visual Studio Code](//code.visualstudio.com/download) com a extensão [Auto Build Marlin](//marlinfw.org/docs/basics/auto_build_marlin.html).
|
||||
- A [IDE do Arduino](//www.arduino.cc/en/main/software): Veja [Compilando Marlin com Arduino](//marlinfw.org/docs/basics/install_arduino.html).
|
||||
- Também é possível usar VSCode com devcontainer: Veja [Instalando Marlin (VSCode devcontainer)](http://marlinfw.org/docs/basics/install_devcontainer_vscode.html).
|
||||
|
||||
O Marlin é otimizado para ser compilado com a extensão **PlatformIO IDE** no **Visual Studio Code**. Ainda é possível compilar com a **IDE do Arduino**, e temos planos para melhorar essa experiência, mas por enquanto o PlatformIO é a melhor escolha.
|
||||
|
||||
## Placas AVR 8 Bits
|
||||
|
||||
Pretendemos continuar oferecendo suporte às placas AVR 8 bits indefinidamente, mantendo uma base de código única que possa ser aplicada a todas as máquinas. Queremos que hobbystas, experimentadores e donos de máquinas antigas também se beneficiem das inovações da comunidade tanto quanto os donos de equipamentos mais modernos. Além disso, essas máquinas baseadas em AVR costumam ser ideais para testes e feedbacks!
|
||||
|
||||
## Camada de Abstração de Hardware (HAL)
|
||||
|
||||
O Marlin inclui uma camada de abstração de hardware para portar o firmware para uma grande variedade de chips. Essa camada trata das diferenças entre chips de forma modular, permitindo que as funcionalidades do Marlin sejam aproveitadas ao máximo.
|
||||
|
||||
## Licença
|
||||
|
||||
Marlin é publicado sob a licença GPL, então você pode usar, redistribuir e modificar o código-fonte, desde que o código derivado também seja publicado sob a mesma licença. Consulte o arquivo [LICENSE](https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.1.x/LICENSE) para mais detalhes.
|
||||
|
||||
## Ajude o Marlin!
|
||||
|
||||
Você pode ajudar o projeto Marlin contribuindo com código, traduções, testes ou apoiando financeiramente no [GitHub Sponsors](https://github.com/sponsors/thinkyhead).
|
||||
|
||||
...Marlin para diferentes plataformas de hardware. O HAL define as interfaces entre o núcleo do Marlin e o hardware da plataforma. O Marlin suporta atualmente as seguintes arquiteturas:
|
||||
|
||||
- AVR
|
||||
- SAM (Arduino Due)
|
||||
- SAMD (Arduino Zero, etc.)
|
||||
- STM32F1, STM32F4, STM32F7, STM32H7
|
||||
- LPC176x (Smoothieboard, ReARM, Archim, MKS Sbase, etc.)
|
||||
- Teensy 3.5 e 3.6 (ARM Cortex-M4)
|
||||
- ESP32 (experimental)
|
||||
|
||||
## Comunicação Serial
|
||||
|
||||
- **Baudrates suportados:** 250000, 115200, 57600, 38400, 19200, 9600
|
||||
- O baudrate padrão é 250000 para maior velocidade e estabilidade
|
||||
|
||||
## Atualizações e Contribuições
|
||||
|
||||
Aceitamos correções de bugs, melhorias de desempenho e novas funcionalidades. Veja as instruções de contribuição na [Wiki do Marlin](https://github.com/MarlinFirmware/Marlin/wiki/Contributing).
|
||||
|
||||
## Licença
|
||||
|
||||
Marlin é um software livre licenciado sob a [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.html). Você pode redistribuí-lo e/ou modificá-lo sob os termos da GPL. Para mais detalhes, veja o arquivo [LICENSE](LICENSE).
|
||||
65
README.md
65
README.md
|
|
@ -4,21 +4,68 @@
|
|||
|
||||
<p align="center">
|
||||
<a href="/LICENSE"><img alt="GPL-V3.0 License" src="https://img.shields.io/github/license/marlinfirmware/marlin.svg"></a>
|
||||
<a href="https://github.com/MarlinFirmware/Marlin/graphs/contributors"><img alt="Contributors" src="https://img.shields.io/github/contributors/marlinfirmware/marlin.svg"></a>
|
||||
<a href="https://github.com/MarlinFirmware/Marlin/releases"><img alt="Last Release Date" src="https://img.shields.io/github/release-date/MarlinFirmware/Marlin"></a>
|
||||
<a href="https://github.com/MarlinFirmware/Marlin/actions/workflows/ci-build-tests.yml"><img alt="CI Status" src="https://github.com/MarlinFirmware/Marlin/actions/workflows/ci-build-tests.yml/badge.svg"></a>
|
||||
<a href="https://github.com/sponsors/thinkyhead"><img alt="GitHub Sponsors" src="https://img.shields.io/github/sponsors/thinkyhead?color=db61a2"></a>
|
||||
<a href="//github.com/MarlinFirmware/Marlin/graphs/contributors"><img alt="Contributors" src="https://img.shields.io/github/contributors/marlinfirmware/marlin.svg"></a>
|
||||
<a href="//github.com/MarlinFirmware/Marlin/releases"><img alt="Last Release Date" src="https://img.shields.io/github/release-date/MarlinFirmware/Marlin"></a>
|
||||
<a href="//github.com/MarlinFirmware/Marlin/actions/workflows/ci-build-tests.yml"><img alt="CI Status" src="https://github.com/MarlinFirmware/Marlin/actions/workflows/ci-build-tests.yml/badge.svg"></a>
|
||||
<a href="//github.com/sponsors/thinkyhead"><img alt="GitHub Sponsors" src="https://img.shields.io/github/sponsors/thinkyhead?color=db61a2"></a>
|
||||
<br />
|
||||
<a href="https://bsky.app/profile/marlinfw.org"><img alt="Follow marlinfw.org on Bluesky" src="https://img.shields.io/badge/Follow%20@marlinfw.org-0085ff?logo=bluesky&logoColor=white"></a>
|
||||
<a href="https://fosstodon.org/@marlinfirmware"><img alt="Follow MarlinFirmware on Mastodon" src="https://img.shields.io/mastodon/follow/109450200866020466?domain=https%3A%2F%2Ffosstodon.org&logoColor=%2300B&style=social"></a>
|
||||
<a href="//bsky.app/profile/marlinfw.org"><img alt="Follow marlinfw.org on Bluesky" src="https://img.shields.io/badge/Follow%20@marlinfw.org-0085ff?logo=bluesky&logoColor=white"></a>
|
||||
<a href="//fosstodon.org/@marlinfirmware"><img alt="Follow MarlinFirmware on Mastodon" src="https://img.shields.io/mastodon/follow/109450200866020466?domain=https%3A%2F%2Ffosstodon.org&logoColor=%2300B&style=social"></a>
|
||||
</p>
|
||||
|
||||
### 🌍 Translations
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=an">Aragonés</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=bg">Български</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=ca">Català</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=cs">Čeština</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=da">Dansk</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=de">Deutsch</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=el">Ελληνικά</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="//github.com/MarlinFirmware/Marlin">English</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=es">Español</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=eu">Euskara</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=fi">Suomi</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=fr">Français</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=gl">Galego</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=hr">Hrvatski</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=hu">Magyar</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=it">Italiano</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=ja">にほんご</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=ko">한국어</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=nl">Nederlands</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=pl">Polski</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=pt">Português</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=pt-BR">Português (Brasil)</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=ro">Română</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=ru">Русский</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=sk">Slovenčina</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=sv">Svenska</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=tr">Türkçe</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=uk">Українська</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=vi">Tiếng Việt</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=zh-CN">简体中文</a></td>
|
||||
<td><a href="//translate.google.com/translate?u=github.com/MarlinFirmware/Marlin&sl=auto&tl=zh-TW">繁體中文</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Additional documentation can be found at the [Marlin Home Page](//marlinfw.org/).
|
||||
Please test this firmware and let us know if it misbehaves in any way. Volunteers are standing by!
|
||||
|
||||
---
|
||||
This README is available in other languages
|
||||
> **Versão em português:** [README-PT-BR.md](README-PT-BR.md)
|
||||
|
||||
## Marlin 2.1 Bugfix Branch
|
||||
|
||||
|
|
@ -140,7 +187,7 @@ Name|Role|Link|Donate
|
|||
|
||||
## Star History
|
||||
|
||||
<a id="starchart" href="https://star-history.com/#MarlinFirmware/Marlin&Date">
|
||||
<a id="starchart" href="//star-history.com/#MarlinFirmware/Marlin&Date">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=MarlinFirmware/Marlin&type=Date&theme=dark" />
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=MarlinFirmware/Marlin&type=Date" />
|
||||
|
|
|
|||
|
|
@ -15,5 +15,5 @@ opt_set MOTHERBOARD BOARD_BTT_SKR_MINI_E3_V1_0 SERIAL_PORT 1 SERIAL_PORT_2 -1 \
|
|||
X_CURRENT_HOME X_CURRENT/2 Y_CURRENT_HOME Y_CURRENT/2 Z_CURRENT_HOME Y_CURRENT/2
|
||||
opt_enable CR10_STOCKDISPLAY PINS_DEBUGGING Z_IDLE_HEIGHT EDITABLE_HOMING_CURRENT \
|
||||
FT_MOTION FT_MOTION_MENU BIQU_MICROPROBE_V1 PROBE_ENABLE_DISABLE Z_SAFE_HOMING AUTO_BED_LEVELING_BILINEAR \
|
||||
ADAPTIVE_STEP_SMOOTHING NONLINEAR_EXTRUSION
|
||||
ADAPTIVE_STEP_SMOOTHING LIN_ADVANCE SMOOTH_LIN_ADVANCE NONLINEAR_EXTRUSION INPUT_SHAPING_X INPUT_SHAPING_Y
|
||||
exec_test $1 $2 "BigTreeTech SKR Mini E3 1.0 - TMC2209 HW Serial, FT_MOTION" "$3"
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ opt_enable DWIN_LCD_PROUI INDIVIDUAL_AXIS_HOMING_SUBMENU PID_AUTOTUNE_MENU PID_E
|
|||
SOUND_MENU_ITEM PRINTCOUNTER NOZZLE_PARK_FEATURE ADVANCED_PAUSE_FEATURE FILAMENT_RUNOUT_SENSOR \
|
||||
BLTOUCH Z_SAFE_HOMING AUTO_BED_LEVELING_UBL MESH_EDIT_MENU LCD_BED_TRAMMING LIN_ADVANCE \
|
||||
LIMITED_MAX_FR_EDITING LIMITED_MAX_ACCEL_EDITING LIMITED_JERK_EDITING BAUD_RATE_GCODE BED_TRAMMING_USE_PROBE BED_TRAMMING_INCLUDE_CENTER \
|
||||
CASE_LIGHT_ENABLE CASE_LIGHT_MENU CASE_LIGHT_NO_BRIGHTNESS BABYSTEP_ZPROBE_OFFSET EMERGENCY_PARSER
|
||||
CASE_LIGHT_ENABLE CASE_LIGHT_MENU CASE_LIGHT_NO_BRIGHTNESS NONLINEAR_EXTRUSION BABYSTEP_ZPROBE_OFFSET EMERGENCY_PARSER
|
||||
opt_set PREHEAT_3_LABEL '"CUSTOM"' PREHEAT_3_TEMP_HOTEND 240 PREHEAT_3_TEMP_BED 60 PREHEAT_3_FAN_SPEED 128 BOOTSCREEN_TIMEOUT 1100 CASE_LIGHT_PIN 4 \
|
||||
LCD_BACKLIGHT_TIMEOUT_MINS 10
|
||||
exec_test $1 $2 "Ender-3 S1 - ProUI (UBL+PIDTEMP)" "$3"
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ MARLIN_TEST_BUILD = build_src_filter=+<src/tests>
|
|||
POSTMORTEM_DEBUGGING = build_src_filter=+<src/HAL/shared/cpu_exception> +<src/HAL/shared/backtrace>
|
||||
build_flags=-funwind-tables
|
||||
MKS_WIFI_MODULE = QRCode=https://github.com/makerbase-mks/QRCode/archive/261c5a696a.zip
|
||||
HAS_TRINAMIC_CONFIG = TMCStepper=https://github.com/MarlinFirmware/TMCStepper/archive/v0.8.3.zip
|
||||
HAS_TRINAMIC_CONFIG = TMCStepper=https://github.com/MarlinFirmware/TMCStepper/archive/v0.8.6.zip
|
||||
build_src_filter=+<src/module/stepper/trinamic.cpp> +<src/gcode/feature/trinamic/M122.cpp> +<src/gcode/feature/trinamic/M906.cpp> +<src/gcode/feature/trinamic/M911-M914.cpp> +<src/gcode/feature/trinamic/M919.cpp>
|
||||
HAS_STEPPER_CONTROL = build_src_filter=+<src/module/stepper/control.cpp>
|
||||
HAS_T(RINAMIC_CONFIG|MC_SPI) = build_src_filter=+<src/feature/tmc_util.cpp>
|
||||
|
|
|
|||
|
|
@ -23,5 +23,5 @@ lib_deps = ${common.lib_deps}
|
|||
Adafruit TinyUSB Library
|
||||
extra_scripts = ${common.extra_scripts}
|
||||
pre:buildroot/share/PlatformIO/scripts/SAMD51_grandcentral_m4.py
|
||||
custom_marlin.HAS_MEDIA = SdFat - Adafruit Fork, Adafruit SPIFlash
|
||||
custom_marlin.HAS_MEDIA = adafruit/SdFat@~2.3.50, adafruit/Adafruit SPIFlash@~5.1.1
|
||||
debug_tool = jlink
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ platform_packages = framework-arduinoststm32@4.20500.230714
|
|||
framework-cmsis@2.50700.210515
|
||||
toolchain-gccarmnoneeabi@1.100301.220327
|
||||
build_flags = ${stm32_variant.build_flags}
|
||||
-DTIMER_SERIAL=TIM2
|
||||
-DTIMER_SERIAL=TIM2 -DTMC2208_BAUDRATE=9600
|
||||
upload_protocol = stlink
|
||||
|
||||
#
|
||||
|
|
@ -77,5 +77,5 @@ platform_packages = framework-arduinoststm32@4.20500.230714
|
|||
framework-cmsis@2.50700.210515
|
||||
toolchain-gccarmnoneeabi@1.100301.220327
|
||||
build_flags = ${stm32_variant.build_flags}
|
||||
-DTIMER_SERIAL=TIM2
|
||||
-DTIMER_SERIAL=TIM2 -DTMC2208_BAUDRATE=9600
|
||||
upload_protocol = dfu
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue