mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2026-03-09 20:37:03 -06:00
Change MSG_FTM resonance test text to MSG_ resonance text, minor changes to ResonanceGenerator class,
move resonance menu outside FT_MOTION conditional in menu_motion.cpp
This commit is contained in:
parent
039b634003
commit
389a4d3a18
5 changed files with 61 additions and 57 deletions
|
|
@ -38,6 +38,7 @@ float ResonanceGenerator::rt_time = FTM_TS; // Resonance test
|
|||
float ResonanceGenerator::timeline = 0.0f;
|
||||
float ResonanceGenerator::amplitude_precalc;
|
||||
float ResonanceGenerator::freq_mul;
|
||||
xyze_float_t ResonanceGenerator:: traj_coords;
|
||||
|
||||
ResonanceGenerator rtg;
|
||||
|
||||
|
|
@ -54,6 +55,7 @@ void ResonanceGenerator::start() {
|
|||
do_blocking_move_to_xy(X_CENTER, Y_CENTER, Z_CLEARANCE_FOR_HOMING);
|
||||
|
||||
rt_params.start_pos = current_position;
|
||||
traj_coords = rt_params.start_pos;
|
||||
rt_time = FTM_TS;
|
||||
active = true;
|
||||
done = false;
|
||||
|
|
@ -98,7 +100,7 @@ float ResonanceGenerator::fast_sin(float x) {
|
|||
}
|
||||
|
||||
void ResonanceGenerator::fill_stepper_plan_buffer() {
|
||||
xyze_float_t traj_coords = rt_params.start_pos;
|
||||
//xyze_float_t traj_coords = rt_params.start_pos;
|
||||
|
||||
while (!ftMotion.stepping.is_full()) {
|
||||
// Calculate current frequency
|
||||
|
|
|
|||
|
|
@ -80,6 +80,7 @@ class ResonanceGenerator {
|
|||
static float freq_mul; // Frequency multiplier for sine sweeping
|
||||
static float amplitude_precalc; // Precalculated part of amplitude formula
|
||||
float current_freq; // Current frequency being generated in sinusoidal motion
|
||||
static xyze_float_t traj_coords;
|
||||
static bool active; // Resonance test active
|
||||
static bool done; // Resonance test done
|
||||
};
|
||||
|
|
|
|||
|
|
@ -950,13 +950,13 @@ namespace LanguageNarrow_en {
|
|||
LSTR MSG_FTM_POLY6_OVERSHOOT = _UxGT("@ Poly6 Overshoot");
|
||||
LSTR MSG_FTM_CONFIGURE_AXIS_N = _UxGT("Configure @ Axis");
|
||||
|
||||
LSTR MSG_FTM_RESONANCE_TEST = _UxGT("Resonance Test");
|
||||
LSTR MSG_FTM_RT_RUNNING = _UxGT("Res. Test Running...");
|
||||
LSTR MSG_FTM_RT_START_N = _UxGT("Start @ Axis Test");
|
||||
LSTR MSG_FTM_RT_STOP = _UxGT("Abort Test");
|
||||
LSTR MSG_FTM_RETRIEVE_FREQ = _UxGT("Calc. Res. Freq.");
|
||||
LSTR MSG_FTM_RESONANCE_FREQ = _UxGT("Resonance Freq.");
|
||||
LSTR MSG_FTM_TIMELINE_FREQ = _UxGT("Timeline (s)");
|
||||
LSTR MSG_RESONANCE_TEST = _UxGT("Resonance Test");
|
||||
LSTR MSG_RT_RUNNING = _UxGT("Res. Test Running...");
|
||||
LSTR MSG_RT_START_N = _UxGT("Start @ Axis Test");
|
||||
LSTR MSG_RT_STOP = _UxGT("Abort Test");
|
||||
LSTR MSG_RETRIEVE_FREQ = _UxGT("Calc. Res. Freq.");
|
||||
LSTR MSG_RESONANCE_FREQ = _UxGT("Resonance Freq.");
|
||||
LSTR MSG_TIMELINE_FREQ = _UxGT("Timeline (s)");
|
||||
|
||||
LSTR MSG_LEVEL_X_AXIS = _UxGT("Level X Axis");
|
||||
LSTR MSG_AUTO_CALIBRATE = _UxGT("Auto Calibrate");
|
||||
|
|
@ -1173,8 +1173,8 @@ namespace LanguageWide_en {
|
|||
LSTR MSG_HOMING_FEEDRATE_Y = _UxGT("Y Homing Feedrate");
|
||||
LSTR MSG_HOMING_FEEDRATE_Z = _UxGT("Z Homing Feedrate");
|
||||
LSTR MSG_EEPROM_INITIALIZED = _UxGT("Default Settings Restored");
|
||||
LSTR MSG_FTM_RT_RUNNING = _UxGT("Resonance Test Running...");
|
||||
LSTR MSG_FTM_RESONANCE_FREQ = _UxGT("Resonance frequency");
|
||||
LSTR MSG_RT_RUNNING = _UxGT("Resonance Test Running...");
|
||||
LSTR MSG_RESONANCE_FREQ = _UxGT("Resonance frequency");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -907,13 +907,13 @@ namespace LanguageNarrow_it {
|
|||
LSTR MSG_FTM_SMOOTH_TIME_N = _UxGT("@ Tempo smorzamento");
|
||||
LSTR MSG_FTM_POLY6_OVERSHOOT = _UxGT("@ Overshoot Poly6");
|
||||
|
||||
LSTR MSG_FTM_RESONANCE_TEST = _UxGT("Test risonanza");
|
||||
LSTR MSG_FTM_RT_RUNNING = _UxGT("Test ris.in corso...");
|
||||
LSTR MSG_FTM_RT_START_N = _UxGT("Avvia Test Asse @");
|
||||
LSTR MSG_FTM_RT_STOP = _UxGT("Annulla Test");
|
||||
LSTR MSG_FTM_RETRIEVE_FREQ = _UxGT("Calc. Res. Freq.");
|
||||
LSTR MSG_FTM_RESONANCE_FREQ = _UxGT("Freq.Risonanza");
|
||||
LSTR MSG_FTM_TIMELINE_FREQ = _UxGT("Cronologia (s)");
|
||||
LSTR MSG_RESONANCE_TEST = _UxGT("Test risonanza");
|
||||
LSTR MSG_RT_RUNNING = _UxGT("Test ris.in corso...");
|
||||
LSTR MSG_RT_START_N = _UxGT("Avvia Test Asse @");
|
||||
LSTR MSG_RT_STOP = _UxGT("Annulla Test");
|
||||
LSTR MSG_RETRIEVE_FREQ = _UxGT("Calc. Res. Freq.");
|
||||
LSTR MSG_RESONANCE_FREQ = _UxGT("Freq.Risonanza");
|
||||
LSTR MSG_TIMELINE_FREQ = _UxGT("Cronologia (s)");
|
||||
|
||||
LSTR MSG_LEVEL_X_AXIS = _UxGT("Livello asse X");
|
||||
LSTR MSG_AUTO_CALIBRATE = _UxGT("Auto Calibra");
|
||||
|
|
|
|||
|
|
@ -308,6 +308,46 @@ void menu_move() {
|
|||
}
|
||||
#endif
|
||||
|
||||
#if ENABLED(RESONANCE_TEST)
|
||||
#include "../../feature/resonance/resonance_generator.h"
|
||||
|
||||
void menu_resonance_freq() {
|
||||
START_MENU();
|
||||
BACK_ITEM(MSG_RESONANCE_TEST);
|
||||
|
||||
STATIC_ITEM(MSG_RETRIEVE_FREQ);
|
||||
EDIT_ITEM(float62, MSG_TIMELINE_FREQ, &rtg.timeline, 0.0f, 600.0f);
|
||||
PSTRING_ITEM(MSG_RESONANCE_FREQ, ftostr53_63(rtg.getFrequencyFromTimeline()), SS_FULL);
|
||||
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
void menu_resonance_test() {
|
||||
START_MENU();
|
||||
BACK_ITEM(MSG_FIXED_TIME_MOTION);
|
||||
|
||||
if (rtg.isActive() && !rtg.isDone()) {
|
||||
STATIC_ITEM(MSG_RT_RUNNING);
|
||||
GCODES_ITEM(MSG_RT_STOP, F("M496"));
|
||||
}
|
||||
else {
|
||||
#if HAS_X_AXIS
|
||||
GCODES_ITEM_N(X_AXIS, MSG_RT_START_N, F("M495 X S"));
|
||||
#endif
|
||||
#if HAS_Y_AXIS
|
||||
GCODES_ITEM_N(Y_AXIS, MSG_RT_START_N, F("M495 Y S"));
|
||||
#endif
|
||||
#if HAS_Z_AXIS
|
||||
GCODES_ITEM_N(Z_AXIS, MSG_RT_START_N, F("M495 Z S"));
|
||||
#endif
|
||||
SUBMENU(MSG_RETRIEVE_FREQ, menu_resonance_freq);
|
||||
}
|
||||
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
#endif // RESONANCE_TEST
|
||||
|
||||
#if ENABLED(FT_MOTION_MENU)
|
||||
|
||||
#include "../../module/ft_motion.h"
|
||||
|
|
@ -405,45 +445,6 @@ void menu_move() {
|
|||
|
||||
#endif // FTM_POLYS
|
||||
|
||||
#if ENABLED(RESONANCE_TEST)
|
||||
|
||||
void menu_resonance_freq() {
|
||||
START_MENU();
|
||||
BACK_ITEM(MSG_FTM_RESONANCE_TEST);
|
||||
|
||||
STATIC_ITEM(MSG_FTM_RETRIEVE_FREQ);
|
||||
EDIT_ITEM(float62, MSG_FTM_TIMELINE_FREQ, &rtg.timeline, 0.0f, 600.0f);
|
||||
PSTRING_ITEM(MSG_FTM_RESONANCE_FREQ, ftostr53_63(rtg.getFrequencyFromTimeline()), SS_FULL);
|
||||
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
void menu_resonance_test() {
|
||||
START_MENU();
|
||||
BACK_ITEM(MSG_FIXED_TIME_MOTION);
|
||||
|
||||
if (rtg.isActive() && !rtg.isDone()) {
|
||||
STATIC_ITEM(MSG_FTM_RT_RUNNING);
|
||||
GCODES_ITEM(MSG_FTM_RT_STOP, F("M496"));
|
||||
}
|
||||
else {
|
||||
#if HAS_X_AXIS
|
||||
GCODES_ITEM_N(X_AXIS, MSG_FTM_RT_START_N, F("M495 X S"));
|
||||
#endif
|
||||
#if HAS_Y_AXIS
|
||||
GCODES_ITEM_N(Y_AXIS, MSG_FTM_RT_START_N, F("M495 Y S"));
|
||||
#endif
|
||||
#if HAS_Z_AXIS
|
||||
GCODES_ITEM_N(Z_AXIS, MSG_FTM_RT_START_N, F("M495 Z S"));
|
||||
#endif
|
||||
SUBMENU(MSG_FTM_RETRIEVE_FREQ, menu_resonance_freq);
|
||||
}
|
||||
|
||||
END_MENU();
|
||||
}
|
||||
|
||||
#endif // RESONANCE_TEST
|
||||
|
||||
#if HAS_DYNAMIC_FREQ
|
||||
|
||||
void menu_ftm_dyn_mode() {
|
||||
|
|
@ -560,7 +561,7 @@ void menu_move() {
|
|||
});
|
||||
|
||||
#if ENABLED(RESONANCE_TEST)
|
||||
SUBMENU(MSG_FTM_RESONANCE_TEST, menu_resonance_test);
|
||||
SUBMENU(MSG_RESONANCE_TEST, menu_resonance_test);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue