Skip to content

Commit

Permalink
adding M913 - Hybrid Threshold Speed (bigtreetech#1031)
Browse files Browse the repository at this point in the history
  • Loading branch information
radek8 authored and Manu512 committed Nov 3, 2020
1 parent 689601d commit 2d0c4d2
Show file tree
Hide file tree
Showing 26 changed files with 71 additions and 15 deletions.
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/Language.inc
Original file line number Diff line number Diff line change
Expand Up @@ -267,3 +267,4 @@ X_WORD (TUNE_EXT_OLD_ESTEP)
X_WORD (TUNE_EXT_NEW_ESTEP)
X_WORD (CONNECTION_SETTINGS)
X_WORD (OFFSET_TOOL)
X_WORD (HYBRID_THRESHOLD)
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_am.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define AM_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define AM_CONNECTION_SETTINGS "Connection"
#define AM_OFFSET_TOOL "Offset 2nd Nozzle"
#define AM_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
3 changes: 2 additions & 1 deletion TFT/src/User/API/Language/language_ca.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define CA_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define CA_CONNECTION_SETTINGS "Connection"
#define CA_OFFSET_TOOL "Offset 2nd Nozzle"

#define CA_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_cn.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define CN_TUNE_EXT_NEW_ESTEP "新的E-Steps: %0.2f"
#define CN_CONNECTION_SETTINGS "连接"
#define CN_OFFSET_TOOL "Offset 2nd Nozzle"
#define CN_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
3 changes: 2 additions & 1 deletion TFT/src/User/API/Language/language_cz.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define CZ_TUNE_EXT_NEW_ESTEP "Nový E-kroky: %0.2f"
#define CZ_CONNECTION_SETTINGS "Připojení"
#define CZ_OFFSET_TOOL "Offset 2.trysky"

#define CZ_HYBRID_THRESHOLD "TMC Hybridní práh"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_de.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define DE_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define DE_CONNECTION_SETTINGS "Connection"
#define DE_OFFSET_TOOL "Offset 2nd Nozzle"
#define DE_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_du.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define DU_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define DU_CONNECTION_SETTINGS "Connecties"
#define DU_OFFSET_TOOL "Offset 2nd Nozzle"
#define DU_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_en.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define EN_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define EN_CONNECTION_SETTINGS "Connection"
#define EN_OFFSET_TOOL "Offset 2nd Nozzle"
#define EN_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
3 changes: 2 additions & 1 deletion TFT/src/User/API/Language/language_es.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define ES_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define ES_CONNECTION_SETTINGS "Connection"
#define ES_OFFSET_TOOL "Offset 2nd Nozzle"

#define ES_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_fr.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define FR_TUNE_EXT_NEW_ESTEP "Nouveau : %0.2f"
#define FR_CONNECTION_SETTINGS "Connexion"
#define FR_OFFSET_TOOL "Offset 2nd Nozzle"
#define FR_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_gr.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define GR_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define GR_CONNECTION_SETTINGS "Connection"
#define GR_OFFSET_TOOL "Offset 2nd Nozzle"
#define GR_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
2 changes: 2 additions & 0 deletions TFT/src/User/API/Language/language_hu.h
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,8 @@
#define HU_TUNE_EXT_OLD_ESTEP "Régi e-lépés: %0.2f"
#define HU_TUNE_EXT_NEW_ESTEP "Új e-lépés: %0.2f"
#define HU_CONNECTION_SETTINGS "Kapcsolat"
#define HU_OFFSET_TOOL "Offset 2nd Nozzle"
#define HU_OFFSET_TOOL "Második fej eltolása"
#define HU_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_it.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define IT_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define IT_CONNECTION_SETTINGS "Connection"
#define IT_OFFSET_TOOL "Offset 2nd Nozzle"
#define IT_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_jp.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define JP_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define JP_CONNECTION_SETTINGS "Connection"
#define JP_OFFSET_TOOL "Offset 2nd Nozzle"
#define JP_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_pl.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define PL_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define PL_CONNECTION_SETTINGS "Connection"
#define PL_OFFSET_TOOL "Offset 2nd Nozzle"
#define PL_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_pt.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define PT_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define PT_CONNECTION_SETTINGS "Connection"
#define PT_OFFSET_TOOL "Offset 2nd Nozzle"
#define PT_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
3 changes: 2 additions & 1 deletion TFT/src/User/API/Language/language_ru.h
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,7 @@
#define RU_TUNE_EXT_OLD_ESTEP "Старые E-шаги: %0.2f"
#define RU_TUNE_EXT_NEW_ESTEP "Новые E-шаги: %0.2f"
#define RU_CONNECTION_SETTINGS "Соединение"
#define RU_OFFSET_TOOL "Смещение 2-го сопла"
#define RU_OFFSET_TOOL "Offset 2nd Nozzle"
#define RU_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_sk.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define SK_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define SK_CONNECTION_SETTINGS "Connection"
#define SK_OFFSET_TOOL "Offset 2nd Nozzle"
#define SK_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_sl.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define SL_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define SL_CONNECTION_SETTINGS "Connection"
#define SL_OFFSET_TOOL "Offset 2nd Nozzle"
#define SL_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_tc.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define TC_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define TC_CONNECTION_SETTINGS "连接"
#define TC_OFFSET_TOOL "Offset 2nd Nozzle"
#define TC_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
1 change: 1 addition & 0 deletions TFT/src/User/API/Language/language_tr.h
Original file line number Diff line number Diff line change
Expand Up @@ -262,5 +262,6 @@
#define TR_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f"
#define TR_CONNECTION_SETTINGS "Connection"
#define TR_OFFSET_TOOL "Offset 2nd Nozzle"
#define TR_HYBRID_THRESHOLD "TMC HybridThreshold"

#endif
20 changes: 15 additions & 5 deletions TFT/src/User/API/MachineParameters.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

PARAMETERS infoParameters;

const u8 parameter_element_count[PARAMETERS_COUNT] = {5, 5, 5, 5, 3, 3, 3, 4, 4, 1, 2, 2, 3};
const u8 parameter_element_count[PARAMETERS_COUNT] = {5, 5, 5, 5, 3, 3, 3, 4, 4, 1, 2, 2, 3, 5};

const char *const parameter_Cmd[PARAMETERS_COUNT][STEPPER_COUNT] = {
{"M92 X%.2f\n", "M92 Y%.2f\n", "M92 Z%.2f\n", "M92 T0 E%.2f\n", "M92 T1 E%.2f\nM503 S0\n"}, //Steps/mm
Expand All @@ -19,6 +19,7 @@ const char *const parameter_Cmd[PARAMETERS_COUNT][STEPPER_COUNT] = {
{"M900 T0 K%.2f\n", "M900 T1 K%.2f\nM503 S0\n", NULL, NULL, NULL}, //Linear Advance
{"M420 S%.0f\n", "M420 Z%.2f\n", NULL, NULL, NULL}, //ABL State + Z Fade
{"M218 T1 X%.2f\nM503 S0\n", "M218 T1 Y%.2f\nM503 S0\n", "M218 T1 Z%.2f\nM503 S0\n", NULL, NULL}, //Offset Tools
{"M913 X%.0f\n", "M913 Y%.0f\n", "M913 Z%.0f\n", "M913 E%.0f\n", "M913 T1 E%.0f\nM503 S0\n"}, //TMC Hybrid Threshold Speed
};

const VAL_TYPE parameter_val_type[PARAMETERS_COUNT][STEPPER_COUNT] = {
Expand All @@ -32,15 +33,17 @@ const VAL_TYPE parameter_val_type[PARAMETERS_COUNT][STEPPER_COUNT] = {
{VAL_TYPE_FLOAT, VAL_TYPE_FLOAT, VAL_TYPE_INT, VAL_TYPE_FLOAT}, //FW retract
{VAL_TYPE_FLOAT, VAL_TYPE_FLOAT, VAL_TYPE_INT, VAL_TYPE_INT}, //FW retract recover
{VAL_TYPE_INT}, //Set auto FW retract
{VAL_TYPE_FLOAT, VAL_TYPE_FLOAT}, //Linear Advance //Linear Advance
{VAL_TYPE_FLOAT, VAL_TYPE_FLOAT}, //Linear Advance
{VAL_TYPE_INT, VAL_TYPE_FLOAT}, //ABL State + Z Fade
{VAL_TYPE_NEG_FLOAT, VAL_TYPE_NEG_FLOAT, VAL_TYPE_NEG_FLOAT}, //Offset Tools //Set auto FW retract
{VAL_TYPE_NEG_FLOAT, VAL_TYPE_NEG_FLOAT, VAL_TYPE_NEG_FLOAT}, //Offset Tools
{VAL_TYPE_INT, VAL_TYPE_INT, VAL_TYPE_INT, VAL_TYPE_INT, VAL_TYPE_INT}, //TMC Hybrid Threshold Speed
};

//Extra teppers current gcode command
const char *const dualStepperParameter_cmd[2][AXIS_NUM] = {
const char *const dualStepperParameter_cmd[3][AXIS_NUM] = {
{"M906 I1 X%.0f\n", "M906 I1 Y%.0f\n", "M906 I1 Z%.0f\n"}, //Current
{"M914 I1 X%.0f\n", "M914 I1 Y%.0f\n", "M914 I1 Z%.0f\n"} //bump Sensitivity
{"M914 I1 X%.0f\n", "M914 I1 Y%.0f\n", "M914 I1 Z%.0f\n"}, //bump Sensitivity
{"M913 I1 X%.0f\n", "M913 I1 Y%.0f\n", "M913 I1 Z%.0f\n"}, //TMC Hybrid Threshold Speed
};


Expand Down Expand Up @@ -85,6 +88,8 @@ float getParameter(PARAMETER_NAME name, u8 index)
return infoParameters.ABLState[index];
case P_OFFSET_TOOL:
return infoParameters.OffsetTool[index];
case P_HYBRID_THRESHOLD:
return infoParameters.HybridThreshold[index];
default:
return 0.0f;
}
Expand Down Expand Up @@ -134,6 +139,9 @@ void setParameter(PARAMETER_NAME name, u8 index, float val)
case P_OFFSET_TOOL:
infoParameters.OffsetTool[index] = val;
break;
case P_HYBRID_THRESHOLD:
infoParameters.HybridThreshold[index] = val;
break;
default:
break;
}
Expand Down Expand Up @@ -168,6 +176,8 @@ void sendParameterCmd(PARAMETER_NAME para, u8 stepper_index, float Value)
storeCmd(dualStepperParameter_cmd[0][stepper_index], Value);
if(para == P_BUMPSENSITIVITY)
storeCmd(dualStepperParameter_cmd[1][stepper_index], Value);
if(para == P_HYBRID_THRESHOLD)
storeCmd(dualStepperParameter_cmd[2][stepper_index], Value);
}
}

Expand Down
2 changes: 2 additions & 0 deletions TFT/src/User/API/MachineParameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ P_AUTO_RETRACT,
P_LIN_ADV,
P_ABL_STATE,
P_OFFSET_TOOL,
P_HYBRID_THRESHOLD,
// Keep below items always at the end
P_SAVE_SETTINGS,
P_RESTORE_SETTINGS,
Expand Down Expand Up @@ -60,6 +61,7 @@ float AutoRetract[1];
float LinAdvance[2];
float ABLState[2];
float OffsetTool[3];
float HybridThreshold[STEPPER_COUNT];
}PARAMETERS;

extern PARAMETERS infoParameters;
Expand Down
6 changes: 6 additions & 0 deletions TFT/src/User/API/interfaceCmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -775,6 +775,12 @@ void sendQueueCmd(void)
if(cmd_seen('Y')) setParameter(P_BUMPSENSITIVITY, Y_STEPPER, cmd_float());
if(cmd_seen('Z')) setParameter(P_BUMPSENSITIVITY, Z_STEPPER, cmd_float());
break;
case 913: //M913 Hybrid Threshold Speed
if(cmd_seen('X')) setParameter(P_HYBRID_THRESHOLD, X_STEPPER, cmd_value());
if(cmd_seen('Y')) setParameter(P_HYBRID_THRESHOLD, Y_STEPPER, cmd_value());
if(cmd_seen('Z')) setParameter(P_HYBRID_THRESHOLD, Z_STEPPER, cmd_value());
if(cmd_seen('E')) setParameter(P_HYBRID_THRESHOLD, E_STEPPER, cmd_value());
break;
}
break; //end parsing M-codes

Expand Down
26 changes: 20 additions & 6 deletions TFT/src/User/API/parseACK.c
Original file line number Diff line number Diff line change
Expand Up @@ -507,12 +507,6 @@ void parseACK(void)
if(ack_seen("Y")) setParameter(P_CURRENT, Y_STEPPER, ack_value());
if(ack_seen("Z")) setParameter(P_CURRENT, Z_STEPPER, ack_value());
}
//parse and store TMC Bump sensitivity values
else if(ack_seen("M914 X")){
setParameter(P_BUMPSENSITIVITY, X_STEPPER, ack_value());
if(ack_seen("Y")) setParameter(P_BUMPSENSITIVITY, Y_STEPPER, ack_value());
if(ack_seen("Z")) setParameter(P_BUMPSENSITIVITY, Z_STEPPER, ack_value());
}
else if(ack_seen("M906 I1")){
if(ack_seen("X")) setDualStepperStatus(X_STEPPER, true);
if(ack_seen("Y")) setDualStepperStatus(Y_STEPPER, true);
Expand All @@ -525,6 +519,26 @@ void parseACK(void)
setParameter(P_CURRENT, E2_STEPPER, ack_value());
setDualStepperStatus(E_STEPPER, true);
}
//parse and store TMC Bump sensitivity values
else if(ack_seen("M914 X")){
setParameter(P_BUMPSENSITIVITY, X_STEPPER, ack_value());
if(ack_seen("Y")) setParameter(P_BUMPSENSITIVITY, Y_STEPPER, ack_value());
if(ack_seen("Z")) setParameter(P_BUMPSENSITIVITY, Z_STEPPER, ack_value());
}
// parse and store TMC Hybrid Threshold Speed
else if(ack_seen("M913 X")){
setParameter(P_HYBRID_THRESHOLD, X_STEPPER, ack_value());
if(ack_seen("Y")) setParameter(P_HYBRID_THRESHOLD, Y_STEPPER, ack_value());
if(ack_seen("Z")) setParameter(P_HYBRID_THRESHOLD, Z_STEPPER, ack_value());
if(ack_seen("E")) setParameter(P_HYBRID_THRESHOLD, E_STEPPER, ack_value());
}
else if(ack_seen("M913 T0 E")){
setParameter(P_HYBRID_THRESHOLD, E_STEPPER, ack_value());
}
else if(ack_seen("M913 T1 E")){
setParameter(P_HYBRID_THRESHOLD, E2_STEPPER, ack_value());
setDualStepperStatus(E_STEPPER, true);
}
// Parse and store ABL type
else if(ack_seen("echo:; Unified Bed Leveling")){
if(ENABLE_UBL_VALUE==2) infoMachineSettings.enableubl = ENABLED;
Expand Down
2 changes: 2 additions & 0 deletions TFT/src/User/Menu/Parametersetting.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ const LISTITEM parametertypes[P_ITEMSCOUNT] = {
{ICONCHAR_SETTING1, LIST_MOREBUTTON, LABEL_LIN_ADVANCE, LABEL_BACKGROUND},
{ICONCHAR_SETTING1, LIST_MOREBUTTON, LABEL_ABL, LABEL_BACKGROUND},
{ICONCHAR_SETTING1, LIST_MOREBUTTON, LABEL_OFFSET_TOOL, LABEL_BACKGROUND},
{ICONCHAR_SETTING1, LIST_MOREBUTTON, LABEL_HYBRID_THRESHOLD, LABEL_BACKGROUND},
//Keep below items always at the end
{ICONCHAR_SAVE, LIST_LABEL, LABEL_SETTING_SAVE, LABEL_BACKGROUND},
{ICONCHAR_UNDO, LIST_LABEL, LABEL_SETTING_RESTORE, LABEL_BACKGROUND},
Expand Down Expand Up @@ -96,6 +97,7 @@ void menuShowParameter(void){
setDynamicLabel(0, "X");
setDynamicLabel(1, "Y");
setDynamicLabel(2, "Z");
break;
default:
if (getDualstepperStatus(E_STEPPER) && i == E2_STEPPER)
{
Expand Down

0 comments on commit 2d0c4d2

Please sign in to comment.