From 67776098eb20859484a7a7f88d78bc2cec451c24 Mon Sep 17 00:00:00 2001 From: Gurmeet Athwal Date: Tue, 27 Oct 2020 16:04:56 +0530 Subject: [PATCH 1/9] Change ENC_ACTIVE_SIGNAL logic to disable encoder in Marlin firmware when TFT is not in Marlin mode. (#1203) --- .github/lock.yml | 40 +++++++++++++++++++ .github/stale.yml | 61 +++++++++++++++++++++++++++++ TFT/src/User/API/BabystepControl.c | 12 +----- TFT/src/User/API/LCD_Encoder.c | 2 +- TFT/src/User/API/Settings.c | 32 ++++++--------- TFT/src/User/API/interfaceCmd.c | 29 +++++++------- TFT/src/User/API/parseACK.c | 16 +++----- TFT/src/User/Menu/Babystep.c | 13 +----- TFT/src/User/Menu/Home.c | 1 - TFT/src/User/Menu/Leveling.c | 30 +++++++------- TFT/src/User/Menu/MachineSettings.c | 50 ++++++++++++----------- TFT/src/User/Menu/Mode.c | 4 +- 12 files changed, 182 insertions(+), 108 deletions(-) create mode 100644 .github/lock.yml create mode 100644 .github/stale.yml diff --git a/.github/lock.yml b/.github/lock.yml new file mode 100644 index 0000000000..2cb1fb1e04 --- /dev/null +++ b/.github/lock.yml @@ -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: 90 + +# 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 diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 0000000000..e8f4a05cfb --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,61 @@ +# Configuration for probot-stale - https://github.com/probot/stale + +# Number of days of inactivity before an Issue or Pull Request becomes stale +daysUntilStale: 60 + +# Number of days of inactivity before an Issue or Pull Request with the stale label is closed. +# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. +daysUntilClose: 7 + +# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled) +onlyLabels: [] + +# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable +exemptLabels: + - pinned + - security + - "[Status] Maybe Later" + +# Set to true to ignore issues in a project (defaults to false) +exemptProjects: false + +# Set to true to ignore issues in a milestone (defaults to false) +exemptMilestones: false + +# Set to true to ignore issues with an assignee (defaults to false) +exemptAssignees: false + +# Label to use when marking as stale +staleLabel: Abandoned + +# Comment to post when marking as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. + +# Comment to post when removing the stale label. +# unmarkComment: > +# Your comment here. + +# Comment to post when closing a stale Issue or Pull Request. +# closeComment: > +# Your comment here. + +# Limit the number of actions per hour, from 1-30. Default is 30 +limitPerRun: 30 + +# Limit to only `issues` or `pulls` +# only: issues + +# Optionally, specify configuration settings that are specific to just 'issues' or 'pulls': +# pulls: +# daysUntilStale: 30 +# markComment: > +# This pull request has been automatically marked as stale because it has not had +# recent activity. It will be closed if no further activity occurs. Thank you +# for your contributions. + +# issues: +# exemptLabels: +# - confirmed diff --git a/TFT/src/User/API/BabystepControl.c b/TFT/src/User/API/BabystepControl.c index f002fa01f4..ca3b8f974a 100644 --- a/TFT/src/User/API/BabystepControl.c +++ b/TFT/src/User/API/BabystepControl.c @@ -7,7 +7,6 @@ static float babystep_value = BABYSTEP_DEFAULT_VALUE; float babystepReset(void) { babystep_value = BABYSTEP_DEFAULT_VALUE; - return babystep_value; } @@ -28,14 +27,12 @@ float babystepResetValue(void) float processed_baby_step = 0.0f; int8_t neg = 1; - if (babystep_value < 0.0f) - neg = -1; + if (babystep_value < 0.0f) neg = -1; step_count = (babystep_value * neg) / BABYSTEP_MAX_UNIT; for (; step_count > 0; step_count--) { mustStoreCmd("M290 Z%.2f\n", -(BABYSTEP_MAX_UNIT * neg)); - processed_baby_step += BABYSTEP_MAX_UNIT; } @@ -43,7 +40,6 @@ float babystepResetValue(void) if (last_unit > 0.0f) { mustStoreCmd("M290 Z%.2f\n", -(last_unit * neg)); - processed_baby_step += last_unit; } @@ -58,11 +54,8 @@ float babystepDecreaseValue(float unit) if (babystep_value > BABYSTEP_MIN_VALUE) { float diff = babystep_value - BABYSTEP_MIN_VALUE; - unit = (diff > unit) ? unit : diff; - mustStoreCmd("M290 Z-%.2f\n", unit); - babystep_value -= unit; } @@ -75,11 +68,8 @@ float babystepIncreaseValue(float unit) if (babystep_value < BABYSTEP_MAX_VALUE) { float diff = BABYSTEP_MAX_VALUE - babystep_value; - unit = (diff > unit) ? unit : diff; - mustStoreCmd("M290 Z%.2f\n", unit); - babystep_value += unit; } diff --git a/TFT/src/User/API/LCD_Encoder.c b/TFT/src/User/API/LCD_Encoder.c index aa50d90186..a9d2bd7a10 100644 --- a/TFT/src/User/API/LCD_Encoder.c +++ b/TFT/src/User/API/LCD_Encoder.c @@ -25,7 +25,7 @@ void HW_EncoderInit(void) void HW_EncActiveSignalInit(void) { GPIO_InitSet(LCD_ENC_EN_PIN, MGPIO_MODE_OUT_PP, 0); - setEncActiveSignal(1); + setEncActiveSignal(0); } void setEncActiveSignal(uint8_t status) diff --git a/TFT/src/User/API/Settings.c b/TFT/src/User/API/Settings.c index a42ac43f49..45c8643bd7 100644 --- a/TFT/src/User/API/Settings.c +++ b/TFT/src/User/API/Settings.c @@ -166,27 +166,17 @@ void initMachineSetting(void){ void setupMachine(void) { - switch (ENABLE_BL_VALUE) - { - case 2: - infoMachineSettings.leveling = BL_ABL; - break; - - case 3: - infoMachineSettings.leveling = BL_BBL; - break; - - case 4: - infoMachineSettings.leveling = BL_UBL; - break; - - case 5: - infoMachineSettings.leveling = BL_MBL; - break; - - default: - break; - } + #ifdef ENABLE_BL_VALUE + #if ENABLE_BL_VALUE == 2 + infoMachineSettings.leveling = BL_ABL; + #elif ENABLE_BL_VALUE == 3 + infoMachineSettings.leveling = BL_BBL; + #elif ENABLE_BL_VALUE == 4 + infoMachineSettings.leveling = BL_UBL; + #elif ENABLE_BL_VALUE == 5 + infoMachineSettings.leveling = BL_MBL; + #endif + #endif if (infoMachineSettings.leveling != BL_DISABLED && infoMachineSettings.EEPROM == 1 && infoSettings.auto_load_leveling == 1) { diff --git a/TFT/src/User/API/interfaceCmd.c b/TFT/src/User/API/interfaceCmd.c index b6642109fb..6ec03c6e93 100644 --- a/TFT/src/User/API/interfaceCmd.c +++ b/TFT/src/User/API/interfaceCmd.c @@ -814,22 +814,23 @@ void sendQueueCmd(void) storeCmd("M503 S0\n"); break; - case 29: //G29 - if(ENABLE_BL_VALUE > 0) // if not Disabled - { - if(cmd_seen('A')) - { - setParameter(P_ABL_STATE,0,1); - storeCmd("M117 UBL active\n"); - } - if(cmd_seen('D')) + #if ENABLE_BL_VALUE > 0 // if not Disabled + case 29: //G29 { - setParameter(P_ABL_STATE,0,0); - storeCmd("M117 UBL inactive\n"); + if(cmd_seen('A')) + { + setParameter(P_ABL_STATE,0,1); + storeCmd("M117 UBL active\n"); + } + if(cmd_seen('D')) + { + setParameter(P_ABL_STATE,0,0); + storeCmd("M117 UBL inactive\n"); + } } - } - break; - + break; + #endif + case 90: //G90 coorSetRelative(false); break; diff --git a/TFT/src/User/API/parseACK.c b/TFT/src/User/API/parseACK.c index e8b5c7bbb1..5828f9b194 100644 --- a/TFT/src/User/API/parseACK.c +++ b/TFT/src/User/API/parseACK.c @@ -130,7 +130,6 @@ void ackPopupInfo(const char *info) } } - void setIgnoreEcho(ECHO_ID msgId, bool state) { forceIgnore[msgId] = state; @@ -553,18 +552,15 @@ void parseACK(void) setDualStepperStatus(E_STEPPER, true); } // Parse and store ABL type if auto-detect is enabled - else if (ack_seen("Auto Bed Leveling") && ENABLE_BL_VALUE == 1) - { + #if ENABLE_BL_VALUE == 1 + else if (ack_seen("Auto Bed Leveling")) infoMachineSettings.leveling = BL_ABL; - } - else if (ack_seen("Unified Bed Leveling") && ENABLE_BL_VALUE == 1) - { + else if (ack_seen("Unified Bed Leveling")) infoMachineSettings.leveling = BL_UBL; - } - else if (ack_seen("Mesh Bed Leveling") && ENABLE_BL_VALUE == 1) - { + else if (ack_seen("Mesh Bed Leveling")) infoMachineSettings.leveling = BL_MBL; - } + #endif + // Parse ABL state else if(ack_seen("echo:Bed Leveling")) { diff --git a/TFT/src/User/Menu/Babystep.c b/TFT/src/User/Menu/Babystep.c index fabce41d46..93a7623c73 100644 --- a/TFT/src/User/Menu/Babystep.c +++ b/TFT/src/User/Menu/Babystep.c @@ -11,7 +11,7 @@ const ITEM itemBabyStepUnit[ITEM_BABYSTEP_UNIT_NUM] = { }; const float babystep_unit[ITEM_BABYSTEP_UNIT_NUM] = {0.01f, 0.1f, 1}; -static u8 curUnit = 0; +static u8 curUnit = 0; static float babystep; static float orig_z_offset; @@ -19,19 +19,13 @@ static float orig_z_offset; /* Initialize Z offset */ void babyInitZOffset(void) { - float cur_z_offset = probeOffsetGetValue(); - - if (orig_z_offset + babystep != cur_z_offset) - { - orig_z_offset = cur_z_offset - babystep; - } + orig_z_offset = probeOffsetGetValue() - babystep; } /* Reset to default */ void babyReset(void) { babystepReset(); - babyInitZOffset(); } @@ -134,9 +128,7 @@ void menuBabystep(void) // change step unit case KEY_ICON_5: curUnit = (curUnit + 1) % ITEM_BABYSTEP_UNIT_NUM; - babyStepItems.items[key_num] = itemBabyStepUnit[curUnit]; - menuDrawItem(&babyStepItems.items[key_num], key_num); break; @@ -154,7 +146,6 @@ void menuBabystep(void) if (encoderPosition) { babystep = babystepUpdateValueByEncoder(unit); - encoderPosition = 0; } #endif diff --git a/TFT/src/User/Menu/Home.c b/TFT/src/User/Menu/Home.c index b55439c236..ad79144c30 100644 --- a/TFT/src/User/Menu/Home.c +++ b/TFT/src/User/Menu/Home.c @@ -1,7 +1,6 @@ #include "Home.h" #include "includes.h" -//1��title(����), ITEM_PER_PAGE��item(ͼ��+��ǩ) const MENUITEMS homeItems = { // title LABEL_HOME, diff --git a/TFT/src/User/Menu/Leveling.c b/TFT/src/User/Menu/Leveling.c index a68048e319..6f80edaa71 100644 --- a/TFT/src/User/Menu/Leveling.c +++ b/TFT/src/User/Menu/Leveling.c @@ -1,6 +1,20 @@ #include "Leveling.h" #include "includes.h" +const MENUITEMS manualLevelingItems = { + // title + LABEL_LEVELING, + // icon label + {{ICON_POINT_1, LABEL_POINT_1}, + {ICON_POINT_2, LABEL_POINT_2}, + {ICON_POINT_3, LABEL_POINT_3}, + {ICON_POINT_4, LABEL_POINT_4}, + {ICON_POINT_5, LABEL_POINT_5}, + {ICON_LEVEL_EDGE_DISTANCE, LABEL_DISTANCE}, + {ICON_DISABLE_STEPPERS, LABEL_XY_UNLOCK}, + {ICON_BACK, LABEL_BACK},} +}; + void moveToLevelingPoint(u8 point) { s16 pointPosition[5][2] = { @@ -23,22 +37,8 @@ void moveToLevelingPoint(u8 point) void menuManualLeveling(void) { - MENUITEMS manualLevelingItems = { - // title - LABEL_LEVELING, - // icon label - {{ICON_POINT_1, LABEL_POINT_1}, - {ICON_POINT_2, LABEL_POINT_2}, - {ICON_POINT_3, LABEL_POINT_3}, - {ICON_POINT_4, LABEL_POINT_4}, - {ICON_POINT_5, LABEL_POINT_5}, - {ICON_LEVEL_EDGE_DISTANCE, LABEL_DISTANCE}, - {ICON_DISABLE_STEPPERS, LABEL_XY_UNLOCK}, - {ICON_BACK, LABEL_BACK},} - }; - KEY_VALUES key_num = KEY_IDLE; - + menuDrawPage(&manualLevelingItems); while (infoMenu.menu[infoMenu.cur] == menuManualLeveling) diff --git a/TFT/src/User/Menu/MachineSettings.c b/TFT/src/User/Menu/MachineSettings.c index 269685bb37..615c166dc0 100644 --- a/TFT/src/User/Menu/MachineSettings.c +++ b/TFT/src/User/Menu/MachineSettings.c @@ -209,33 +209,39 @@ void menuEepromSettings(void) key_num = menuKeyGetValue(); switch(key_num) { - case KEY_ICON_0: - // save to EEPROM - if (infoMachineSettings.EEPROM == 1) - setDialogText(eepromSettingsItems.title.index, LABEL_EEPROM_SAVE_INFO, LABEL_CONFIRM, LABEL_CANCEL); + case KEY_ICON_0: + // save to EEPROM + if (infoMachineSettings.EEPROM == 1) + { + setDialogText(eepromSettingsItems.title.index, LABEL_EEPROM_SAVE_INFO, LABEL_CONFIRM, LABEL_CANCEL); showDialog(DIALOG_TYPE_QUESTION, saveEepromSettings, NULL, NULL); - break; + } + break; - case KEY_ICON_1: - // restore from EEPROM - if (infoMachineSettings.EEPROM == 1) - setDialogText(eepromSettingsItems.title.index, LABEL_EEPROM_RESTORE_INFO, LABEL_CONFIRM, LABEL_CANCEL); - showDialog(DIALOG_TYPE_QUESTION, restoreEepromSettings, NULL, NULL); - break; + case KEY_ICON_1: + // restore from EEPROM + if (infoMachineSettings.EEPROM == 1) + { + setDialogText(eepromSettingsItems.title.index, LABEL_EEPROM_RESTORE_INFO, LABEL_CONFIRM, LABEL_CANCEL); + showDialog(DIALOG_TYPE_QUESTION, restoreEepromSettings, NULL, NULL); + } + break; - case KEY_ICON_2: - // reset EEPROM - if (infoMachineSettings.EEPROM == 1) - setDialogText(eepromSettingsItems.title.index, LABEL_EEPROM_RESET_INFO, LABEL_CONFIRM, LABEL_CANCEL); - showDialog(DIALOG_TYPE_QUESTION, resetEepromSettings, NULL, NULL); - break; + case KEY_ICON_2: + // reset EEPROM + if (infoMachineSettings.EEPROM == 1) + { + setDialogText(eepromSettingsItems.title.index, LABEL_EEPROM_RESET_INFO, LABEL_CONFIRM, LABEL_CANCEL); + showDialog(DIALOG_TYPE_QUESTION, resetEepromSettings, NULL, NULL); + } + break; - case KEY_ICON_7: - infoMenu.cur--; - break; + case KEY_ICON_7: + infoMenu.cur--; + break; - default: - break; + default: + break; } loopProcess(); diff --git a/TFT/src/User/Menu/Mode.c b/TFT/src/User/Menu/Mode.c index db549568ac..0b4f0e2b90 100644 --- a/TFT/src/User/Menu/Mode.c +++ b/TFT/src/User/Menu/Mode.c @@ -40,7 +40,7 @@ void infoMenuSelect(void) #endif #if ENC_ACTIVE_SIGNAL - setEncActiveSignal(1); + setEncActiveSignal(0); #endif GUI_RestoreColorDefault(); if(infoSettings.unified_menu == 1) //if Unified menu is selected @@ -68,7 +68,7 @@ void infoMenuSelect(void) case MARLIN: #if ENC_ACTIVE_SIGNAL - setEncActiveSignal(0); + setEncActiveSignal(1); #endif if (infoSettings.serial_alwaysOn == 1) { From 3dadd380a18bcccb2046fe9e959c1be1b3af83cf Mon Sep 17 00:00:00 2001 From: "Zs.Antal" <45710979+AntoszHUN@users.noreply.github.com> Date: Tue, 27 Oct 2020 11:36:20 +0100 Subject: [PATCH 2/9] Add files via upload (#1205) --- TFT/src/User/Language Packs/language_hu.ini | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/TFT/src/User/Language Packs/language_hu.ini b/TFT/src/User/Language Packs/language_hu.ini index 93ea110bcf..f4191a2f6f 100644 --- a/TFT/src/User/Language Packs/language_hu.ini +++ b/TFT/src/User/Language Packs/language_hu.ini @@ -30,8 +30,8 @@ label_point_2:2. pont label_point_3:3. pont label_point_4:4. pont label_point_5:5. pont -label_bed_leveling:Bed Level -label_bl_complete:Ágy Szintezés Sikeres +label_bed_leveling:Ágyszint +label_bl_complete:Ágy Szintezése Sikeres label_bl_smart_fill:A hiányzó szonda pontok\nkitöltésre kerültek.\nMegjegyzés: Mentsd el! label_bl_enable:BL: be label_bl_disable:BL: ki @@ -39,10 +39,10 @@ label_abl:ABL label_bbl:BBL label_ubl:UBL label_mbl:MBL -label_mbl_settings:Mesh Bed Leveling -label_abl_settings:Auto Bed Leveling -label_abl_settings_bbl:Bilineáris Ágyszintezés -label_abl_settings_ubl:Egységes Ágyszintezés +label_mbl_settings:Kézi Rács Szintezés +label_abl_settings:Automata Szintezés +label_abl_settings_bbl:Bilineáris Szintezés +label_abl_settings_ubl:Egységes Szintezés label_abl_settings_ubl_save:Mentés szlotba label_abl_settings_ubl_load:Betöltés szlotból label_abl_slot0:Szlot 0 @@ -54,7 +54,7 @@ label_abl_z:Z Áttűnés label_bltouch:BLTouch label_bltouch_test:Teszt label_bltouch_deploy:Telepítés -label_bltouch_stow:Elhelyez +label_bltouch_stow:Elhelyezés label_bltouch_repeat:Ismétlés label_z_offset:Z Eltolás label_probe_offset:Szonda Eltolás @@ -261,7 +261,7 @@ label_pid_start_info_3:NE ÉRINTSD meg a kijelzőt míg nincs kész! (zöld LED label_tune_extruder:Lépés hangolás label_tune_ext_extrude_100:Kiad 100mm label_tune_ext_temp:Adagoló hangolás | Fűt -label_tune_ext_templow:Túl alacsony a kívánt hőfok!\nMinimum temperature: %d C +label_tune_ext_templow:Túl alacsony a kívánt hőfok!\nMinimum hőmérséklet: %d C label_tune_ext_desiredval:A hőfok még nem érte el a kívánt értéket label_tune_ext_mark120mm:A 120mm-t jelöld be a szálon\nNyomd '%s' ha kész\nMérd meg a hátralévő hosszt\nadagolás után. label_tune_ext_heatoff:Kikapcsolod a fűtést? From 64752dd030b584fe654b1e8d87223a340e3b6869 Mon Sep 17 00:00:00 2001 From: "Zs.Antal" <45710979+AntoszHUN@users.noreply.github.com> Date: Tue, 27 Oct 2020 11:37:00 +0100 Subject: [PATCH 3/9] Hungarian Language Updated (#1204) --- .../Language Packs/language_hu.ini | 16 ++++++++-------- .../Language Packs/language_hu.ini | 16 ++++++++-------- TFT/src/User/API/Language/language_hu.h | 16 ++++++++-------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_hu.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_hu.ini index 93ea110bcf..f4191a2f6f 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_hu.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_hu.ini @@ -30,8 +30,8 @@ label_point_2:2. pont label_point_3:3. pont label_point_4:4. pont label_point_5:5. pont -label_bed_leveling:Bed Level -label_bl_complete:Ágy Szintezés Sikeres +label_bed_leveling:Ágyszint +label_bl_complete:Ágy Szintezése Sikeres label_bl_smart_fill:A hiányzó szonda pontok\nkitöltésre kerültek.\nMegjegyzés: Mentsd el! label_bl_enable:BL: be label_bl_disable:BL: ki @@ -39,10 +39,10 @@ label_abl:ABL label_bbl:BBL label_ubl:UBL label_mbl:MBL -label_mbl_settings:Mesh Bed Leveling -label_abl_settings:Auto Bed Leveling -label_abl_settings_bbl:Bilineáris Ágyszintezés -label_abl_settings_ubl:Egységes Ágyszintezés +label_mbl_settings:Kézi Rács Szintezés +label_abl_settings:Automata Szintezés +label_abl_settings_bbl:Bilineáris Szintezés +label_abl_settings_ubl:Egységes Szintezés label_abl_settings_ubl_save:Mentés szlotba label_abl_settings_ubl_load:Betöltés szlotból label_abl_slot0:Szlot 0 @@ -54,7 +54,7 @@ label_abl_z:Z Áttűnés label_bltouch:BLTouch label_bltouch_test:Teszt label_bltouch_deploy:Telepítés -label_bltouch_stow:Elhelyez +label_bltouch_stow:Elhelyezés label_bltouch_repeat:Ismétlés label_z_offset:Z Eltolás label_probe_offset:Szonda Eltolás @@ -261,7 +261,7 @@ label_pid_start_info_3:NE ÉRINTSD meg a kijelzőt míg nincs kész! (zöld LED label_tune_extruder:Lépés hangolás label_tune_ext_extrude_100:Kiad 100mm label_tune_ext_temp:Adagoló hangolás | Fűt -label_tune_ext_templow:Túl alacsony a kívánt hőfok!\nMinimum temperature: %d C +label_tune_ext_templow:Túl alacsony a kívánt hőfok!\nMinimum hőmérséklet: %d C label_tune_ext_desiredval:A hőfok még nem érte el a kívánt értéket label_tune_ext_mark120mm:A 120mm-t jelöld be a szálon\nNyomd '%s' ha kész\nMérd meg a hátralévő hosszt\nadagolás után. label_tune_ext_heatoff:Kikapcsolod a fűtést? diff --git a/Copy to SD Card root directory to update/Language Packs/language_hu.ini b/Copy to SD Card root directory to update/Language Packs/language_hu.ini index 93ea110bcf..f4191a2f6f 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_hu.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_hu.ini @@ -30,8 +30,8 @@ label_point_2:2. pont label_point_3:3. pont label_point_4:4. pont label_point_5:5. pont -label_bed_leveling:Bed Level -label_bl_complete:Ágy Szintezés Sikeres +label_bed_leveling:Ágyszint +label_bl_complete:Ágy Szintezése Sikeres label_bl_smart_fill:A hiányzó szonda pontok\nkitöltésre kerültek.\nMegjegyzés: Mentsd el! label_bl_enable:BL: be label_bl_disable:BL: ki @@ -39,10 +39,10 @@ label_abl:ABL label_bbl:BBL label_ubl:UBL label_mbl:MBL -label_mbl_settings:Mesh Bed Leveling -label_abl_settings:Auto Bed Leveling -label_abl_settings_bbl:Bilineáris Ágyszintezés -label_abl_settings_ubl:Egységes Ágyszintezés +label_mbl_settings:Kézi Rács Szintezés +label_abl_settings:Automata Szintezés +label_abl_settings_bbl:Bilineáris Szintezés +label_abl_settings_ubl:Egységes Szintezés label_abl_settings_ubl_save:Mentés szlotba label_abl_settings_ubl_load:Betöltés szlotból label_abl_slot0:Szlot 0 @@ -54,7 +54,7 @@ label_abl_z:Z Áttűnés label_bltouch:BLTouch label_bltouch_test:Teszt label_bltouch_deploy:Telepítés -label_bltouch_stow:Elhelyez +label_bltouch_stow:Elhelyezés label_bltouch_repeat:Ismétlés label_z_offset:Z Eltolás label_probe_offset:Szonda Eltolás @@ -261,7 +261,7 @@ label_pid_start_info_3:NE ÉRINTSD meg a kijelzőt míg nincs kész! (zöld LED label_tune_extruder:Lépés hangolás label_tune_ext_extrude_100:Kiad 100mm label_tune_ext_temp:Adagoló hangolás | Fűt -label_tune_ext_templow:Túl alacsony a kívánt hőfok!\nMinimum temperature: %d C +label_tune_ext_templow:Túl alacsony a kívánt hőfok!\nMinimum hőmérséklet: %d C label_tune_ext_desiredval:A hőfok még nem érte el a kívánt értéket label_tune_ext_mark120mm:A 120mm-t jelöld be a szálon\nNyomd '%s' ha kész\nMérd meg a hátralévő hosszt\nadagolás után. label_tune_ext_heatoff:Kikapcsolod a fűtést? diff --git a/TFT/src/User/API/Language/language_hu.h b/TFT/src/User/API/Language/language_hu.h index dec1ecccc0..8ce6c20d2c 100644 --- a/TFT/src/User/API/Language/language_hu.h +++ b/TFT/src/User/API/Language/language_hu.h @@ -28,8 +28,8 @@ #define STRING_POINT_3 "3. pont" #define STRING_POINT_4 "4. pont" #define STRING_POINT_5 "5. pont" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Ágy Szintezés Sikeres" + #define STRING_BED_LEVELING "Ágyszint" + #define STRING_BL_COMPLETE "Ágy Szintezése Sikeres" #define STRING_BL_SMART_FILL "A hiányzó szonda pontok\nkitöltésre kerültek.\nMegjegyzés: Mentsd el!" #define STRING_BL_ENABLE "BL: be" #define STRING_BL_DISABLE "BL: ki" @@ -37,10 +37,10 @@ #define STRING_BBL "BBL" #define STRING_UBL "UBL" #define STRING_MBL "MBL" - #define STRING_MBL_SETTINGS "Mesh Bed Leveling" - #define STRING_ABL_SETTINGS "Auto Bed Leveling" - #define STRING_ABL_SETTINGS_BBL "Bilineáris Ágyszintezés" - #define STRING_ABL_SETTINGS_UBL "Egységes Ágyszintezés" + #define STRING_MBL_SETTINGS "Kézi Rács Szintezés" + #define STRING_ABL_SETTINGS "Automata Szintezés" + #define STRING_ABL_SETTINGS_BBL "Bilineáris Szintezés" + #define STRING_ABL_SETTINGS_UBL "Egységes Szintezés" #define STRING_ABL_SETTINGS_UBL_SAVE "Mentés szlotba" #define STRING_ABL_SETTINGS_UBL_LOAD "Betöltés szlotból" #define STRING_ABL_SLOT0 "Szlot 0" @@ -52,7 +52,7 @@ #define STRING_BLTOUCH "BLTouch" #define STRING_BLTOUCH_TEST "Teszt" #define STRING_BLTOUCH_DEPLOY "Telepítés" - #define STRING_BLTOUCH_STOW "Elhelyez" + #define STRING_BLTOUCH_STOW "Elhelyezés" #define STRING_BLTOUCH_REPEAT "Ismétlés" #define STRING_Z_OFFSET "Z Eltolás" #define STRING_PROBE_OFFSET "Szonda Eltolás" @@ -259,7 +259,7 @@ #define STRING_TUNE_EXTRUDER "Lépés hangolás" #define STRING_TUNE_EXT_EXTRUDE_100 "Kiad 100mm" #define STRING_TUNE_EXT_TEMP "Adagoló hangolás | Fűt" - #define STRING_TUNE_EXT_TEMPLOW "Túl alacsony a kívánt hőfok!\nMinimum temperature: %d C" + #define STRING_TUNE_EXT_TEMPLOW "Túl alacsony a kívánt hőfok!\nMinimum hőmérséklet: %d C" #define STRING_TUNE_EXT_DESIREDVAL "A hőfok még nem érte el a kívánt értéket" #define STRING_TUNE_EXT_MARK120MM "A 120mm-t jelöld be a szálon\nNyomd '%s' ha kész\nMérd meg a hátralévő hosszt\nadagolás után." #define STRING_TUNE_EXT_HEATOFF "Kikapcsolod a fűtést?" From e05d45caf4bdb155d6c44c5d7f45e2ec0f37d7ee Mon Sep 17 00:00:00 2001 From: Makoto Schoppert Date: Tue, 27 Oct 2020 06:37:56 -0400 Subject: [PATCH 4/9] Add support for junction deviation (#1192) * Add support for junction deviation Add ability to handle more precise values for floats * Update config.ini instructions --- .../config.ini | 1 + .../config.ini | 1 + TFT/src/User/API/Language/Language.inc | 1 + TFT/src/User/API/Language/language_am.h | 1 + TFT/src/User/API/Language/language_ca.h | 1 + TFT/src/User/API/Language/language_cn.h | 1 + TFT/src/User/API/Language/language_cz.h | 1 + TFT/src/User/API/Language/language_de.h | 1 + TFT/src/User/API/Language/language_du.h | 1 + TFT/src/User/API/Language/language_en.h | 1 + TFT/src/User/API/Language/language_es.h | 1 + TFT/src/User/API/Language/language_fr.h | 1 + TFT/src/User/API/Language/language_gr.h | 1 + TFT/src/User/API/Language/language_hu.h | 1 + TFT/src/User/API/Language/language_it.h | 1 + TFT/src/User/API/Language/language_jp.h | 1 + TFT/src/User/API/Language/language_keywords.h | 1 + TFT/src/User/API/Language/language_pl.h | 1 + TFT/src/User/API/Language/language_pt.h | 1 + TFT/src/User/API/Language/language_ru.h | 1 + TFT/src/User/API/Language/language_sk.h | 1 + TFT/src/User/API/Language/language_sl.h | 1 + TFT/src/User/API/Language/language_tc.h | 1 + TFT/src/User/API/Language/language_tr.h | 1 + TFT/src/User/API/MachineParameters.c | 17 ++++++++++++----- TFT/src/User/API/MachineParameters.h | 3 +++ TFT/src/User/API/UI/Numpad.c | 2 +- TFT/src/User/API/UI/list_item.c | 4 +++- TFT/src/User/API/interfaceCmd.c | 1 + TFT/src/User/API/parseACK.c | 1 + TFT/src/User/Language Packs/language_am.ini | 1 + TFT/src/User/Language Packs/language_ca.ini | 1 + TFT/src/User/Language Packs/language_cn.ini | 1 + TFT/src/User/Language Packs/language_cz.ini | 1 + TFT/src/User/Language Packs/language_de.ini | 1 + TFT/src/User/Language Packs/language_du.ini | 1 + TFT/src/User/Language Packs/language_en.ini | 1 + TFT/src/User/Language Packs/language_es.ini | 1 + TFT/src/User/Language Packs/language_fr.ini | 1 + TFT/src/User/Language Packs/language_gr.ini | 1 + TFT/src/User/Language Packs/language_hu.ini | 1 + TFT/src/User/Language Packs/language_it.ini | 1 + TFT/src/User/Language Packs/language_jp.ini | 1 + TFT/src/User/Language Packs/language_pl.ini | 1 + TFT/src/User/Language Packs/language_pt.ini | 1 + TFT/src/User/Language Packs/language_ru.ini | 1 + TFT/src/User/Language Packs/language_sk.ini | 1 + TFT/src/User/Language Packs/language_sl.ini | 1 + TFT/src/User/Language Packs/language_tc.ini | 1 + TFT/src/User/Language Packs/language_tr.ini | 1 + TFT/src/User/Menu/Parametersetting.c | 4 ++++ TFT/src/User/config.ini | 1 + 52 files changed, 70 insertions(+), 7 deletions(-) diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/config.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/config.ini index ec47efd46d..6f69383dda 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/config.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/config.ini @@ -20,6 +20,7 @@ # M115_GEOMETRY_REPORT (in Configuration_adv.h) # REPORT_FAN_CHANGE (in Configuration_adv.h) # EMERGENCY_PARSER (in Configuration_adv.h) +# SERIAL_FLOAT_PRECISION 4 (in Configuration_adv.h) #-------------------------------------------------------------------- # General Settings diff --git a/Copy to SD Card root directory to update/config.ini b/Copy to SD Card root directory to update/config.ini index 9f4cf8be8b..a045963014 100644 --- a/Copy to SD Card root directory to update/config.ini +++ b/Copy to SD Card root directory to update/config.ini @@ -20,6 +20,7 @@ # M115_GEOMETRY_REPORT (in Configuration_adv.h) # REPORT_FAN_CHANGE (in Configuration_adv.h) # EMERGENCY_PARSER (in Configuration_adv.h) +# SERIAL_FLOAT_PRECISION 4 (in Configuration_adv.h) #-------------------------------------------------------------------- # General Settings diff --git a/TFT/src/User/API/Language/Language.inc b/TFT/src/User/API/Language/Language.inc index 3443f46474..b7c5c7e6aa 100644 --- a/TFT/src/User/API/Language/Language.inc +++ b/TFT/src/User/API/Language/Language.inc @@ -205,6 +205,7 @@ X_WORD (MAXFEEDRATE) X_WORD (MAXACCELERATION) X_WORD (ACCELERATION) X_WORD (JERK) +X_WORD (JUNCTION_DEVIATION) X_WORD (PRINT_ACCELERATION) X_WORD (RETRACT_ACCELERATION) X_WORD (TRAVEL_ACCELERATION) diff --git a/TFT/src/User/API/Language/language_am.h b/TFT/src/User/API/Language/language_am.h index d114eedab5..fda6100295 100644 --- a/TFT/src/User/API/Language/language_am.h +++ b/TFT/src/User/API/Language/language_am.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Retract Acceleration" #define STRING_TRAVEL_ACCELERATION "Travel Acceleration" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_ca.h b/TFT/src/User/API/Language/language_ca.h index bde3b7dc33..76ea6f2b44 100644 --- a/TFT/src/User/API/Language/language_ca.h +++ b/TFT/src/User/API/Language/language_ca.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Acceleració Retracció" #define STRING_TRAVEL_ACCELERATION "Acceleració Viatge" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "Sensibilitat al topall TMC" #define STRING_FWRETRACT "Retracció de FW" #define STRING_FWRECOVER "Recuperació de Retracció de FW" diff --git a/TFT/src/User/API/Language/language_cn.h b/TFT/src/User/API/Language/language_cn.h index c346f60c53..00028dd06b 100644 --- a/TFT/src/User/API/Language/language_cn.h +++ b/TFT/src/User/API/Language/language_cn.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "回抽加速度" #define STRING_TRAVEL_ACCELERATION "空载加速度" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC堵转检测灵敏度" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_cz.h b/TFT/src/User/API/Language/language_cz.h index 96224f8f53..dbd723c93d 100644 --- a/TFT/src/User/API/Language/language_cz.h +++ b/TFT/src/User/API/Language/language_cz.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Zrychlení retrakcí" #define STRING_TRAVEL_ACCELERATION "Zrychlení při přesunu" #define STRING_JERK "Jerk-trhnutí" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "Citlivost nárazu TMC" #define STRING_FWRETRACT "FW Zatažení" #define STRING_FWRECOVER "FW Obnovení" diff --git a/TFT/src/User/API/Language/language_de.h b/TFT/src/User/API/Language/language_de.h index c70f74fe19..185c3f67eb 100644 --- a/TFT/src/User/API/Language/language_de.h +++ b/TFT/src/User/API/Language/language_de.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Retract Acceleration" #define STRING_TRAVEL_ACCELERATION "Travel Acceleration" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_du.h b/TFT/src/User/API/Language/language_du.h index 45a88a0c5b..8c2a158495 100644 --- a/TFT/src/User/API/Language/language_du.h +++ b/TFT/src/User/API/Language/language_du.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Retract Acceleratie" #define STRING_TRAVEL_ACCELERATION "Travel Acceleratie" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC bump sensitiviteit" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_en.h b/TFT/src/User/API/Language/language_en.h index 1fd3ba960e..909967e51e 100644 --- a/TFT/src/User/API/Language/language_en.h +++ b/TFT/src/User/API/Language/language_en.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Retract Acceleration" #define STRING_TRAVEL_ACCELERATION "Travel Acceleration" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_es.h b/TFT/src/User/API/Language/language_es.h index 7b4e4cebcd..15d38323b0 100644 --- a/TFT/src/User/API/Language/language_es.h +++ b/TFT/src/User/API/Language/language_es.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Retract Acceleration" #define STRING_TRAVEL_ACCELERATION "Travel Acceleration" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_fr.h b/TFT/src/User/API/Language/language_fr.h index a5d52a0cf7..316fa2d069 100644 --- a/TFT/src/User/API/Language/language_fr.h +++ b/TFT/src/User/API/Language/language_fr.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Rétraction" #define STRING_TRAVEL_ACCELERATION "Déplacements" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "Sensibilité TMC" #define STRING_FWRETRACT "Rétraction FW" #define STRING_FWRECOVER "Récupération FW" diff --git a/TFT/src/User/API/Language/language_gr.h b/TFT/src/User/API/Language/language_gr.h index fe2428aa28..936d95330b 100644 --- a/TFT/src/User/API/Language/language_gr.h +++ b/TFT/src/User/API/Language/language_gr.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Eπιτάχυνση ανάκλησης" #define STRING_TRAVEL_ACCELERATION "Επιτάχυνση ταξιδιού" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC ευαισθησία χτυπήματος" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_hu.h b/TFT/src/User/API/Language/language_hu.h index 8ce6c20d2c..330be7f489 100644 --- a/TFT/src/User/API/Language/language_hu.h +++ b/TFT/src/User/API/Language/language_hu.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Adagoló Gyorsulása" #define STRING_TRAVEL_ACCELERATION "Utazási Gyorsulás" #define STRING_JERK "Rántás" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC ütközés érzékenység" #define STRING_FWRETRACT "FW Visszahúzás" #define STRING_FWRECOVER "FW Visszahúzás helyreáll." diff --git a/TFT/src/User/API/Language/language_it.h b/TFT/src/User/API/Language/language_it.h index d461a1b327..583c4a82ea 100644 --- a/TFT/src/User/API/Language/language_it.h +++ b/TFT/src/User/API/Language/language_it.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Accel. Ritrazione" #define STRING_TRAVEL_ACCELERATION "Accel. Spostamenti" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_jp.h b/TFT/src/User/API/Language/language_jp.h index f3cbc1dd76..5ba5eadb28 100644 --- a/TFT/src/User/API/Language/language_jp.h +++ b/TFT/src/User/API/Language/language_jp.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "引き戻し加速度" #define STRING_TRAVEL_ACCELERATION "空振り加速度" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC バンプ感度" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_keywords.h b/TFT/src/User/API/Language/language_keywords.h index 7178e7d51e..4edbd48c77 100644 --- a/TFT/src/User/API/Language/language_keywords.h +++ b/TFT/src/User/API/Language/language_keywords.h @@ -218,6 +218,7 @@ extern "C" { #define LANG_KEY_RETRACT_ACCELERATION "label_retract_acceleration:" #define LANG_KEY_TRAVEL_ACCELERATION "label_travel_acceleration:" #define LANG_KEY_JERK "label_jerk:" +#define LANG_KEY_JUNCTION_DEVIATION "label_junction_deviation:" #define LANG_KEY_BUMP_SENSITIVITY "label_bump_sensitivity:" #define LANG_KEY_FWRETRACT "label_fwretract:" #define LANG_KEY_FWRECOVER "label_fwrecover:" diff --git a/TFT/src/User/API/Language/language_pl.h b/TFT/src/User/API/Language/language_pl.h index b17e4b04f6..4691ac7e9c 100644 --- a/TFT/src/User/API/Language/language_pl.h +++ b/TFT/src/User/API/Language/language_pl.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Retract Acceleration" #define STRING_TRAVEL_ACCELERATION "Travel Acceleration" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_pt.h b/TFT/src/User/API/Language/language_pt.h index 3cd2800175..08938db60a 100644 --- a/TFT/src/User/API/Language/language_pt.h +++ b/TFT/src/User/API/Language/language_pt.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Retract Acceleration" #define STRING_TRAVEL_ACCELERATION "Travel Acceleration" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_ru.h b/TFT/src/User/API/Language/language_ru.h index 667ec430d7..f6d60b07bc 100644 --- a/TFT/src/User/API/Language/language_ru.h +++ b/TFT/src/User/API/Language/language_ru.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Ретракта" #define STRING_TRAVEL_ACCELERATION "Перемещения" #define STRING_JERK "Рывок" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC чувствительность удара" #define STRING_FWRETRACT "M207 ретракт" #define STRING_FWRECOVER "M208 восстановление ретракта" diff --git a/TFT/src/User/API/Language/language_sk.h b/TFT/src/User/API/Language/language_sk.h index dda61b3b90..06c22928b9 100644 --- a/TFT/src/User/API/Language/language_sk.h +++ b/TFT/src/User/API/Language/language_sk.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Akcelerácia retrakcie" #define STRING_TRAVEL_ACCELERATION "Akcelerácia presunu" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC bump citlivosť" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_sl.h b/TFT/src/User/API/Language/language_sl.h index 5a9d651c5b..660fe02546 100644 --- a/TFT/src/User/API/Language/language_sl.h +++ b/TFT/src/User/API/Language/language_sl.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Pospešek privleka fil." #define STRING_TRAVEL_ACCELERATION "Pospešek pomika" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC občutljivost trka" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_tc.h b/TFT/src/User/API/Language/language_tc.h index efc12587b6..b3441906ac 100644 --- a/TFT/src/User/API/Language/language_tc.h +++ b/TFT/src/User/API/Language/language_tc.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "回抽加速度" #define STRING_TRAVEL_ACCELERATION "空跑加速度" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "堵料檢測靈敏度" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/Language/language_tr.h b/TFT/src/User/API/Language/language_tr.h index dde10e6331..d2a1ec6157 100644 --- a/TFT/src/User/API/Language/language_tr.h +++ b/TFT/src/User/API/Language/language_tr.h @@ -211,6 +211,7 @@ #define STRING_RETRACT_ACCELERATION "Geriçekme İvmelenmesi" #define STRING_TRAVEL_ACCELERATION "Gezinti İvmelenmesi" #define STRING_JERK "Jerk" + #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC çarpma hassasiyeti" #define STRING_FWRETRACT "FW Retraction" #define STRING_FWRECOVER "FW Retraction Recover" diff --git a/TFT/src/User/API/MachineParameters.c b/TFT/src/User/API/MachineParameters.c index 03f66b21c4..e79055c8e7 100644 --- a/TFT/src/User/API/MachineParameters.c +++ b/TFT/src/User/API/MachineParameters.c @@ -3,7 +3,7 @@ PARAMETERS infoParameters; -const u8 parameter_element_count[PARAMETERS_COUNT] = {5, 5, 5, 5, 3, 4, 3, 3, 4, 4, 1, 2, 2, 3, 5}; +const u8 parameter_element_count[PARAMETERS_COUNT] = {5, 5, 5, 5, 3, 4, 1, 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 @@ -12,6 +12,7 @@ const char *const parameter_Cmd[PARAMETERS_COUNT][STEPPER_COUNT] = { {"M201 X%.0f\n", "M201 Y%.0f\n", "M201 Z%.0f\n", "M201 T0 E%.0f\n", "M201 T1 E%.0f\nM503 S0\n"}, //MaxAcceleration {"M204 P%.0f\n", "M204 R%.0f\n", "M204 T%.0f\n", NULL, NULL}, //Acceleration {"M205 X%.0f\n", "M205 Y%.0f\n", "M205 Z%.2f\n", "M205 E%.2f\n", NULL}, //Jerk + {"M205 J%.3f\n", NULL, NULL, NULL, NULL}, //Junction Deviation {"M851 X%.2f\n", "M851 Y%.2f\n", "M851 Z%.2f\n", NULL, NULL}, //Probe offset {"M914 X%.0f\n", "M914 Y%.0f\n", "M914 Z%.0f\n", NULL, NULL}, //bump Sensitivity {"M207 S%.2f\n", "M207 W%.2f\n", "M207 F%.2f\n", "M207 Z%.2f\n", NULL}, //FW retract @@ -30,12 +31,13 @@ const VAL_TYPE parameter_val_type[PARAMETERS_COUNT][STEPPER_COUNT] = { {VAL_TYPE_INT, VAL_TYPE_INT, VAL_TYPE_INT, VAL_TYPE_INT, VAL_TYPE_INT}, //MaxAcceleration {VAL_TYPE_INT, VAL_TYPE_INT, VAL_TYPE_INT, VAL_TYPE_INT}, //Acceleration {VAL_TYPE_INT, VAL_TYPE_INT, VAL_TYPE_FLOAT, VAL_TYPE_FLOAT}, //Jerk + {VAL_TYPE_FLOAT}, //Junction Deviation {VAL_TYPE_NEG_FLOAT, VAL_TYPE_NEG_FLOAT, VAL_TYPE_NEG_FLOAT}, //Probe offset {VAL_TYPE_NEG_INT, VAL_TYPE_NEG_INT, VAL_TYPE_NEG_INT}, //bump Sensitivity {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 + {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 {VAL_TYPE_INT, VAL_TYPE_INT, VAL_TYPE_INT, VAL_TYPE_INT, VAL_TYPE_INT}, //TMC Hybrid Threshold Speed @@ -57,7 +59,7 @@ const LABEL accel_disp_ID[] = {LABEL_PRINT_ACCELERATION, LABEL_RETRACT_ACCELERAT const LABEL retract_disp_ID[] = {LABEL_RETRACT_LENGTH, LABEL_RETRACT_SWAP_LENGTH, LABEL_RETRACT_FEEDRATE, LABEL_RETRACT_Z_LIFT}; const LABEL recover_disp_ID[] = {LABEL_RECOVER_LENGTH, LABEL_SWAP_RECOVER_LENGTH, LABEL_RECOVER_FEEDRATE, LABEL_SWAP_RECOVER_FEEDRATE}; const LABEL retract_auto_ID[] = {LABEL_RETRACT_AUTO}; - +const LABEL junction_deviation_disp_ID[] = {LABEL_JUNCTION_DEVIATION}; float getParameter(PARAMETER_NAME name, u8 index) { @@ -76,6 +78,8 @@ float getParameter(PARAMETER_NAME name, u8 index) return infoParameters.Acceleration[index]; case P_JERK: return infoParameters.Jerk[index]; + case P_JUNCTION_DEVIATION: + return infoParameters.JunctionDeviation[index]; case P_PROBE_OFFSET: return infoParameters.ProbeOffset[index]; case P_BUMPSENSITIVITY: @@ -93,7 +97,7 @@ float getParameter(PARAMETER_NAME name, u8 index) case P_OFFSET_TOOL: return infoParameters.OffsetTool[index]; case P_HYBRID_THRESHOLD: - return infoParameters.HybridThreshold[index]; + return infoParameters.HybridThreshold[index]; default: return 0.0f; } @@ -122,6 +126,9 @@ void setParameter(PARAMETER_NAME name, u8 index, float val) case P_JERK: infoParameters.Jerk[index] = val; break; + case P_JUNCTION_DEVIATION: + infoParameters.JunctionDeviation[index] = val; + break; case P_PROBE_OFFSET: infoParameters.ProbeOffset[index] = val; break; @@ -183,7 +190,7 @@ 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) + if(para == P_HYBRID_THRESHOLD) storeCmd(dualStepperParameter_cmd[2][stepper_index], Value); } } diff --git a/TFT/src/User/API/MachineParameters.h b/TFT/src/User/API/MachineParameters.h index 42e77331ff..c34fe24825 100644 --- a/TFT/src/User/API/MachineParameters.h +++ b/TFT/src/User/API/MachineParameters.h @@ -16,6 +16,7 @@ P_MAX_FEED_RATE, P_MAX_ACCELERATION, P_ACCELERATION, P_JERK, +P_JUNCTION_DEVIATION, P_PROBE_OFFSET, P_BUMPSENSITIVITY, P_FWRETRACT, @@ -60,6 +61,7 @@ float MaxFeedRate[STEPPER_COUNT]; float MaxAcceleration[STEPPER_COUNT]; float Acceleration[3]; float Jerk[4]; +float JunctionDeviation[1]; float ProbeOffset[3]; float BumpSensitivity[3]; float FwRetract[4]; @@ -78,6 +80,7 @@ extern const LABEL accel_disp_ID[]; extern const LABEL retract_disp_ID[]; extern const LABEL recover_disp_ID[]; extern const LABEL retract_auto_ID[]; +extern const LABEL junction_deviation_disp_ID[]; float getParameter(PARAMETER_NAME name, uint8_t index); void setParameter(PARAMETER_NAME name, uint8_t index, float val); diff --git a/TFT/src/User/API/UI/Numpad.c b/TFT/src/User/API/UI/Numpad.c index db261d21eb..6a6eb53333 100644 --- a/TFT/src/User/API/UI/Numpad.c +++ b/TFT/src/User/API/UI/Numpad.c @@ -92,7 +92,7 @@ float numPadFloat(u8* title, float old_val, float reset_val, bool negative) setLargeFont(true); u8 nowIndex = 0, lastIndex = 0; char ParameterBuf[FLOAT_BUFLONG + 1] = {0}; - u8 prec = (old_val == 0) ? 0 : 2; + u8 prec = (old_val == 0) ? 0 : 3; sprintf(ParameterBuf,"%.*f", prec, old_val); nowIndex = strlen(ParameterBuf); diff --git a/TFT/src/User/API/UI/list_item.c b/TFT/src/User/API/UI/list_item.c index 1793e43ae1..c7705e0013 100644 --- a/TFT/src/User/API/UI/list_item.c +++ b/TFT/src/User/API/UI/list_item.c @@ -260,7 +260,9 @@ char * getDynamicTextValue(uint8_t i){ // save dynamic value (upto 7 digits) ( i : index of the value position, value:float value) void setDynamicValue(uint8_t i,float value){ - if (value < 1000.0f) + if(value < 1.0f) + sprintf(dynamic_text_value[i], "%.3f", value); + else if (value < 1000.0f) sprintf(dynamic_text_value[i], "%.2f", value); else sprintf(dynamic_text_value[i], "%.1f", value); diff --git a/TFT/src/User/API/interfaceCmd.c b/TFT/src/User/API/interfaceCmd.c index 6ec03c6e93..0743c2147b 100644 --- a/TFT/src/User/API/interfaceCmd.c +++ b/TFT/src/User/API/interfaceCmd.c @@ -684,6 +684,7 @@ void sendQueueCmd(void) if(cmd_seen('Y')) setParameter(P_JERK, Y_AXIS, cmd_float()); if(cmd_seen('Z')) setParameter(P_JERK, Z_AXIS, cmd_float()); if(cmd_seen('E')) setParameter(P_JERK, E_AXIS, cmd_float()); + if(cmd_seen('J')) setParameter(P_JUNCTION_DEVIATION, 0, cmd_float()); break; case 207: //M207 FW Retract if(cmd_seen('S')) setParameter(P_FWRETRACT, 0, cmd_float()); diff --git a/TFT/src/User/API/parseACK.c b/TFT/src/User/API/parseACK.c index 5828f9b194..29f0df5f83 100644 --- a/TFT/src/User/API/parseACK.c +++ b/TFT/src/User/API/parseACK.c @@ -472,6 +472,7 @@ void parseACK(void) if(ack_seen("Y")) setParameter(P_JERK, Y_STEPPER, ack_value()); if(ack_seen("Z")) setParameter(P_JERK, Z_STEPPER, ack_value()); if(ack_seen("E")) setParameter(P_JERK, E_STEPPER, ack_value()); + if(ack_seen("J")) setParameter(P_JUNCTION_DEVIATION, 0, ack_value()); } //parse and store FW retraction values else if(ack_seen("M207 S")){ diff --git a/TFT/src/User/Language Packs/language_am.ini b/TFT/src/User/Language Packs/language_am.ini index ca25f6dca9..aaf0e0f8c1 100644 --- a/TFT/src/User/Language Packs/language_am.ini +++ b/TFT/src/User/Language Packs/language_am.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_ca.ini b/TFT/src/User/Language Packs/language_ca.ini index 6bd5926515..ca0ad4edf5 100644 --- a/TFT/src/User/Language Packs/language_ca.ini +++ b/TFT/src/User/Language Packs/language_ca.ini @@ -213,6 +213,7 @@ label_print_acceleration:Acceleració Impressió label_retract_acceleration:Acceleració Retracció label_travel_acceleration:Acceleració Viatge label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:Sensibilitat al topall TMC label_fwretract:Retracció de FW label_fwrecover:Recuperació de Retracció de FW diff --git a/TFT/src/User/Language Packs/language_cn.ini b/TFT/src/User/Language Packs/language_cn.ini index 48e8a1bf37..4bec66569c 100644 --- a/TFT/src/User/Language Packs/language_cn.ini +++ b/TFT/src/User/Language Packs/language_cn.ini @@ -213,6 +213,7 @@ label_print_acceleration:打印加速度 label_retract_acceleration:回抽加速度 label_travel_acceleration:空载加速度 label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC堵转检测灵敏度 label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_cz.ini b/TFT/src/User/Language Packs/language_cz.ini index c5fc956e54..d7d37c53cc 100644 --- a/TFT/src/User/Language Packs/language_cz.ini +++ b/TFT/src/User/Language Packs/language_cz.ini @@ -213,6 +213,7 @@ label_print_acceleration:Zrychlení při tisku label_retract_acceleration:Zrychlení retrakcí label_travel_acceleration:Zrychlení při přesunu label_jerk:Jerk-trhnutí +label_junction_deviation:Junction Deviation label_bump_sensitivity:Citlivost nárazu TMC label_fwretract:FW Zatažení label_fwrecover:FW Obnovení diff --git a/TFT/src/User/Language Packs/language_de.ini b/TFT/src/User/Language Packs/language_de.ini index e7ba8cfe1f..5f1bf6e2f2 100644 --- a/TFT/src/User/Language Packs/language_de.ini +++ b/TFT/src/User/Language Packs/language_de.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_du.ini b/TFT/src/User/Language Packs/language_du.ini index cd362099e2..faf061b807 100644 --- a/TFT/src/User/Language Packs/language_du.ini +++ b/TFT/src/User/Language Packs/language_du.ini @@ -213,6 +213,7 @@ label_print_acceleration:Afdruk Acceleratie label_retract_acceleration:Retract Acceleratie label_travel_acceleration:Travel Acceleratie label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitiviteit label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_en.ini b/TFT/src/User/Language Packs/language_en.ini index d85867a008..02ff46d872 100644 --- a/TFT/src/User/Language Packs/language_en.ini +++ b/TFT/src/User/Language Packs/language_en.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_es.ini b/TFT/src/User/Language Packs/language_es.ini index 4762207530..f2b4b02d52 100644 --- a/TFT/src/User/Language Packs/language_es.ini +++ b/TFT/src/User/Language Packs/language_es.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_fr.ini b/TFT/src/User/Language Packs/language_fr.ini index 5d2bb6519a..75865e5b17 100644 --- a/TFT/src/User/Language Packs/language_fr.ini +++ b/TFT/src/User/Language Packs/language_fr.ini @@ -213,6 +213,7 @@ label_print_acceleration:Impression label_retract_acceleration:Rétraction label_travel_acceleration:Déplacements label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:Sensibilité TMC label_fwretract:Rétraction FW label_fwrecover:Récupération FW diff --git a/TFT/src/User/Language Packs/language_gr.ini b/TFT/src/User/Language Packs/language_gr.ini index 622747835a..138ab9ca7a 100644 --- a/TFT/src/User/Language Packs/language_gr.ini +++ b/TFT/src/User/Language Packs/language_gr.ini @@ -213,6 +213,7 @@ label_print_acceleration:Επιτάχυνση εκτύπωσης label_retract_acceleration:Eπιτάχυνση ανάκλησης label_travel_acceleration:Επιτάχυνση ταξιδιού label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC ευαισθησία χτυπήματος label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_hu.ini b/TFT/src/User/Language Packs/language_hu.ini index f4191a2f6f..609d2b959e 100644 --- a/TFT/src/User/Language Packs/language_hu.ini +++ b/TFT/src/User/Language Packs/language_hu.ini @@ -213,6 +213,7 @@ label_print_acceleration:Nyomtatás Gyorsulás label_retract_acceleration:Adagoló Gyorsulása label_travel_acceleration:Utazási Gyorsulás label_jerk:Rántás +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC ütközés érzékenység label_fwretract:FW Visszahúzás label_fwrecover:FW Visszahúzás helyreáll. diff --git a/TFT/src/User/Language Packs/language_it.ini b/TFT/src/User/Language Packs/language_it.ini index 8eb4f2b420..14e8676956 100644 --- a/TFT/src/User/Language Packs/language_it.ini +++ b/TFT/src/User/Language Packs/language_it.ini @@ -213,6 +213,7 @@ label_print_acceleration:Accel. Stampa label_retract_acceleration:Accel. Ritrazione label_travel_acceleration:Accel. Spostamenti label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_jp.ini b/TFT/src/User/Language Packs/language_jp.ini index 694c47c5ed..6e646a1c05 100644 --- a/TFT/src/User/Language Packs/language_jp.ini +++ b/TFT/src/User/Language Packs/language_jp.ini @@ -213,6 +213,7 @@ label_print_acceleration:印刷加速度 label_retract_acceleration:引き戻し加速度 label_travel_acceleration:空振り加速度 label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC バンプ感度 label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_pl.ini b/TFT/src/User/Language Packs/language_pl.ini index 06e0ce8c2a..8d22a49886 100644 --- a/TFT/src/User/Language Packs/language_pl.ini +++ b/TFT/src/User/Language Packs/language_pl.ini @@ -214,6 +214,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_pt.ini b/TFT/src/User/Language Packs/language_pt.ini index b349b40bca..dbe27053a5 100644 --- a/TFT/src/User/Language Packs/language_pt.ini +++ b/TFT/src/User/Language Packs/language_pt.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_ru.ini b/TFT/src/User/Language Packs/language_ru.ini index 3c844a2c0e..cf8a9114f9 100644 --- a/TFT/src/User/Language Packs/language_ru.ini +++ b/TFT/src/User/Language Packs/language_ru.ini @@ -213,6 +213,7 @@ label_print_acceleration:Печати label_retract_acceleration:Ретракта label_travel_acceleration:Перемещения label_jerk:Рывок +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC чувствительность удара label_fwretract:M207 ретракт label_fwrecover:M208 восстановление ретракта diff --git a/TFT/src/User/Language Packs/language_sk.ini b/TFT/src/User/Language Packs/language_sk.ini index 6b407a7d04..d188f5b7ee 100644 --- a/TFT/src/User/Language Packs/language_sk.ini +++ b/TFT/src/User/Language Packs/language_sk.ini @@ -213,6 +213,7 @@ label_print_acceleration:Akcelerácia pri tlači label_retract_acceleration:Akcelerácia retrakcie label_travel_acceleration:Akcelerácia presunu label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump citlivosť label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_sl.ini b/TFT/src/User/Language Packs/language_sl.ini index 4f38434286..492c848c37 100644 --- a/TFT/src/User/Language Packs/language_sl.ini +++ b/TFT/src/User/Language Packs/language_sl.ini @@ -213,6 +213,7 @@ label_print_acceleration:Pospešek tiska label_retract_acceleration:Pospešek privleka fil. label_travel_acceleration:Pospešek pomika label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC občutljivost trka label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_tc.ini b/TFT/src/User/Language Packs/language_tc.ini index dde9ff9a70..1b231e9f2d 100644 --- a/TFT/src/User/Language Packs/language_tc.ini +++ b/TFT/src/User/Language Packs/language_tc.ini @@ -213,6 +213,7 @@ label_print_acceleration:列印加速度 label_retract_acceleration:回抽加速度 label_travel_acceleration:空跑加速度 label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:堵料檢測靈敏度 label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Language Packs/language_tr.ini b/TFT/src/User/Language Packs/language_tr.ini index 953c4880dd..065980b2a9 100644 --- a/TFT/src/User/Language Packs/language_tr.ini +++ b/TFT/src/User/Language Packs/language_tr.ini @@ -213,6 +213,7 @@ label_print_acceleration:Baskı İvmelenmesi label_retract_acceleration:Geriçekme İvmelenmesi label_travel_acceleration:Gezinti İvmelenmesi label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC çarpma hassasiyeti label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover diff --git a/TFT/src/User/Menu/Parametersetting.c b/TFT/src/User/Menu/Parametersetting.c index 47ed42508a..a5e0b75733 100644 --- a/TFT/src/User/Menu/Parametersetting.c +++ b/TFT/src/User/Menu/Parametersetting.c @@ -15,6 +15,7 @@ const LISTITEM parametertypes[P_ITEMSCOUNT] = { {ICONCHAR_SETTING1, LIST_MOREBUTTON, LABEL_MAXACCELERATION, LABEL_BACKGROUND}, {ICONCHAR_SETTING1, LIST_MOREBUTTON, LABEL_ACCELERATION, LABEL_BACKGROUND}, {ICONCHAR_SETTING1, LIST_MOREBUTTON, LABEL_JERK, LABEL_BACKGROUND}, + {ICONCHAR_SETTING1, LIST_MOREBUTTON, LABEL_JUNCTION_DEVIATION,LABEL_BACKGROUND}, {ICONCHAR_SETTING1, LIST_MOREBUTTON, LABEL_PROBE_OFFSET, LABEL_BACKGROUND}, {ICONCHAR_SETTING1, LIST_MOREBUTTON, LABEL_BUMP_SENSITIVITY, LABEL_BACKGROUND}, {ICONCHAR_SETTING1, LIST_MOREBUTTON, LABEL_FWRETRACT, LABEL_BACKGROUND}, @@ -84,6 +85,9 @@ void menuShowParameter(void){ parameter_menuitems.items[Z_AXIS].titlelabel.address = "Z"; parameter_menuitems.items[E_AXIS].titlelabel.address = "E"; break; + case P_JUNCTION_DEVIATION: + parameter_menuitems.items[i].titlelabel = junction_deviation_disp_ID[i]; + break; case P_FWRETRACT: parameter_menuitems.items[i].titlelabel = retract_disp_ID[i]; break; diff --git a/TFT/src/User/config.ini b/TFT/src/User/config.ini index ec47efd46d..6f69383dda 100644 --- a/TFT/src/User/config.ini +++ b/TFT/src/User/config.ini @@ -20,6 +20,7 @@ # M115_GEOMETRY_REPORT (in Configuration_adv.h) # REPORT_FAN_CHANGE (in Configuration_adv.h) # EMERGENCY_PARSER (in Configuration_adv.h) +# SERIAL_FLOAT_PRECISION 4 (in Configuration_adv.h) #-------------------------------------------------------------------- # General Settings From 586c8eed73faa75c3269de3d89d04ed55e683b50 Mon Sep 17 00:00:00 2001 From: zonalimitatore <43097238+zonalimitatore@users.noreply.github.com> Date: Wed, 28 Oct 2020 04:19:00 +0100 Subject: [PATCH 5/9] it language improvements (#1134) * Update language_it.h * sync package --- .../Language Packs/language_it.ini | 118 ++++++++--------- .../Language Packs/language_it.ini | 118 ++++++++--------- TFT/src/User/API/Language/language_it.h | 118 ++++++++--------- TFT/src/User/Language Packs/language_it.ini | 119 +++++++++--------- 4 files changed, 236 insertions(+), 237 deletions(-) diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_it.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_it.ini index 8eb4f2b420..3509235e0d 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_it.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_it.ini @@ -43,8 +43,8 @@ label_mbl_settings:Mesh Bed Leveling label_abl_settings:Auto Bed Leveling label_abl_settings_bbl:Bilinear Bed Leveling label_abl_settings_ubl:Unified Bed Leveling -label_abl_settings_ubl_save:Salva nello slot -label_abl_settings_ubl_load:Carica dallo slot +label_abl_settings_ubl_save:Salva in slot +label_abl_settings_ubl_load:Carica da slot label_abl_slot0:Slot 0 label_abl_slot1:Slot 1 label_abl_slot2:Slot 2 @@ -53,8 +53,8 @@ label_abl_slot_eeprom:Ricorda lo slot per il prossimo\nriavvio? (Salva EEPROM) label_abl_z:Z Fade label_bltouch:BLTouch label_bltouch_test:Test -label_bltouch_deploy:Schiera -label_bltouch_stow:Stiva +label_bltouch_deploy:Estrai +label_bltouch_stow:Ritrai label_bltouch_repeat:Ripeti label_z_offset:Z Offset label_probe_offset:Offset Sonda @@ -65,20 +65,20 @@ label_save:Salva label_restore:Ripristina label_reset:Reset label_default:Default -label_clear:Clear +label_clear:Cancella label_next:Avanti label_distance:Distanza -label_invalid_value:Invalid value(s) +label_invalid_value:Valore invalido label_timeout_reached:Timeout raggiunto! label_process_running:Processo già in esecuzione! label_process_completed:Processo completato! label_process_aborted:Processo interrotto! -label_inc:Incrementa -label_dec:Decrementa +label_inc:Aumenta +label_dec:Diminuisci label_nozzle:Ugello label_bed:Piatto label_chamber:Camera -label_start:Start +label_start:Avvia label_stop:Stop label_back:Indietro label_page_up:Pagina Su @@ -97,8 +97,8 @@ label_touchscreen_adjust:Calibra label_more:Altro label_screen_info:Info label_status:Stato -label_simulator_bg_color:Marlin simulator background color -label_simulator_font_color:Marlin simulator font color +label_simulator_bg_color:Marlin simulator colore sfondo +label_simulator_font_color:Marlin simulator colore scritte label_white:Bianco label_black:Nero label_blue:Blu @@ -124,9 +124,9 @@ label_babystep:BabyStep label_percentage_speed:Velocità label_percentage_flow:Flusso label_value_zero:Zero -label_1_degree:1℃ -label_5_degree:5℃ -label_10_degree:10℃ +label_1_degree:1° +label_5_degree:5° +label_10_degree:10° label_x_inc:X+ label_y_inc:Y+ label_z_inc:Z+ @@ -148,7 +148,7 @@ label_5_percent:5% label_10_percent:10% label_percent_value:%d%% label_ready:Pronto -label_busy:Processo in caricamento, attendi... +label_busy:Caricamento,attendi... label_unconnected:Stampante non connessa label_disconnect_info:Puoi controllare la stampante dal PC! label_loading:Caricamento... @@ -159,19 +159,19 @@ label_adjust_title:Calibrazione Touch Screen label_adjust_info:Premi sui punti rossi label_adjust_ok:Regolazione Completata! label_adjust_failed:Regolazione Fallita. Riprova! -label_warning:Attenziona +label_warning:Attenzione label_stop_print:Vuoi fermare la stampa? label_confirm:Conferma label_tftsd:SD Schermo -label_read_tftsd_error:Errore lettura SD card! +label_read_tftsd_error:Errore lettura SD! label_tftsd_inserted:SD Inserita label_tftsd_removed:SD Rimossa label_u_disk:USB Disk label_read_u_disk_error:Errore lettura U Disk label_u_disk_inserted:U Disk inserita! label_u_disk_removed:U Disk rimossa! -label_onboardsd:SD CARD -label_read_onboardsd_error:Errore lettura SD CARD! +label_onboardsd:Micro SD +label_read_onboardsd_error:Errore lettura Micro SD! label_filament_sensor:Sensore Filamento label_filament_runout:Filamento finito! label_preheat:Prepara @@ -179,9 +179,9 @@ label_preheat_both:Entrambi label_is_pause:Impossibile estrudere\ndurante la stampa,\nvuoi sospendere? label_auto_shut_down:Auto Spegnimento label_unifiedmove:Movimento -label_unifiedheat:Caldo/Fan -label_cooldown:Blocco Freddo -label_emergencystop:EM. STOP +label_unifiedheat:Scalda +label_cooldown:Raffredda +label_emergencystop:EMERGENZA label_touch_to_exit:Premi ovunque per uscire label_mainmenu:Menu label_wait_temp_shut_down:Attendi che la temperatura\ndell'hotend scenda\nsotto %d℃ @@ -191,38 +191,38 @@ label_parameter_setting:Parametri label_on:ON label_off:OFF label_smart:SMART -label_terminal_ack:Show ACK in Terminal +label_terminal_ack:Mostra ACK nel terminale label_invert_xaxis:Inverti Asse X label_invert_yaxis:Inverti Asse Y label_invert_zaxis:Inverti Asse Z -label_move_speed:Vel. movimenti(X Y Z) +label_move_speed:Vel. Movimenti (X Y Z) label_knob_led:LED Manopola label_knob_led_idle:LED Manopola inattivo label_m0_pause:Messo in pausa dal comando M0 -label_send_start_gcode:Start Gcode before print -label_send_end_gcode:End Gcode after print -label_send_cancel_gcode:Cancel Gcode -label_persistent_status_info:Info di stato permanenti -label_file_listmode:Files viewer List Mode -label_current_setting:Corrente Driver (mA) -label_steps_setting:Step per mm -label_maxfeedrate:Max Feed Rate +label_send_start_gcode:Gcode prima di stampare +label_send_end_gcode:Gcode dopo la stampa +label_send_cancel_gcode:Gcode Cancella +label_persistent_status_info:Info/Stato Permanenti +label_file_listmode:Files in modalità lista +label_current_setting:Corrente Motori(mA) +label_steps_setting:Steps per mm +label_maxfeedrate:Max Avanzamento label_maxacceleration:Max Accelerazione label_acceleration:Accelerazione label_print_acceleration:Accel. Stampa label_retract_acceleration:Accel. Ritrazione label_travel_acceleration:Accel. Spostamenti label_jerk:Jerk -label_bump_sensitivity:TMC bump sensitivity -label_fwretract:FW Retraction -label_fwrecover:FW Retraction Recover +label_bump_sensitivity:TMC Sensibilità Urto +label_fwretract:FW Retrazione +label_fwrecover:FW Recupero Retrazione label_lin_advance:Linear Advance label_reset_settings_info:Ripristinare tutte le\nimpostazioni\nai valori predefiniti? label_reset_settings_done:Ripristino di tutte le impostazioni\navvenuto con successo.\nperfavore riavvia il dispositivo. label_info:Info label_lcd_brightness:Luminosità LCD -label_lcd_brightness_dim:LCD Brightness dim -label_lcd_dim_idle_timer:LCD dim idle timer +label_lcd_brightness_dim:Lumin. LCD ridotta +label_lcd_dim_idle_timer:Riduzione lumin. dopo label_5_seconds:5 Sec. label_10_seconds:10 Sec. label_30_seconds:30 Sec. @@ -231,46 +231,46 @@ label_120_seconds:2 Min. label_300_seconds:5 Min. label_custom_seconds:Custom label_st7920_fullscreen:Marlin mode schermo pieno -label_plr_en:Power loss recovery +label_plr_en:Recupero mancanza corrente label_setting_save:Salva le impostazioni -label_setting_reset:Ripristina impost predefinite -label_setting_restore:ripristina impost precedenti +label_setting_reset:Ripristina impost standard +label_setting_restore:Ripristina impost precedenti label_eeprom_settings:EEPROM label_eeprom_save_info:Salvare le impostazioni di\nstampa nella EEPROM? label_eeprom_restore_info:Carica le impostazioni \ndalla EEPROM? label_eeprom_reset_info:Ripristino EEPROM alle \nimpostazioni di fabbrica? -label_retract_feedrate:Retract feedrate -label_retract_length:Retract length -label_retract_swap_length:Retract swap length -label_retract_z_lift:Z lift on retractio +label_retract_feedrate:Avanzamento retraz +label_retract_length:Lunghezza retraz +label_retract_swap_length:Lunghezza cambio fil. +label_retract_z_lift:Alza Z al cambio label_retract_auto:Auto Firmware Retract -label_recover_feedrate:Recover feedrate -label_swap_recover_feedrate:Swap recover feedrate -label_recover_length:Extra recover length -label_swap_recover_length:Extra recover swap length +label_recover_feedrate:Avanzamento ripristino +label_swap_recover_feedrate:Avanzamento cambio fil +label_recover_length:Lunghezza extra al ripr. +label_swap_recover_length:Lunghezza extra al cambio label_start_print:Inizia a stampare:\n %s? -label_ack_notification:ACK notification style -label_leveling_edge_distance:Distanza dal bordo del Bed +label_ack_notification:ACK stile notifica +label_leveling_edge_distance:Distanza dai bordi label_xy_unlock:Sblocca XY -label_tuning:Tuning +label_tuning:Regola label_pid:PID label_pid_title:PID autotune label_pid_start_info:PID autotune potrebbe\nrichiedere un po' di tempo.\nContinuare? -label_pid_start_info_2:PID autotune in avanzamento! +label_pid_start_info_2:PID autotune in corso! label_pid_start_info_3:Non toccare lo schermo prima del completamento (LED verde Acceso)! -label_tune_extruder:step E +label_tune_extruder:Step E label_tune_ext_extrude_100:Ext. 100mm label_tune_ext_temp:Extruder tuning | Heat label_tune_ext_templow:Temperatura desisderata troppo bassa!\nTemperatura minima: %d C label_tune_ext_desiredval:La temperatura non è ancora al valore desiderato -label_tune_ext_mark120mm:Mark 120 mm on your fillament\nPress '%s' when ready\nMeasure remaining length\nafter extruding +label_tune_ext_mark120mm:Segna 120 mm sul filamento\nPremi '%s' quando pronto\nMisura lunghezza rimanente\ndopo l'estrusione label_tune_ext_heatoff:Spegnere il riscaldamento? -label_tune_ext_adj_esteps:Rgola E-Steps +label_tune_ext_adj_esteps:Regola E-Steps label_tune_ext_esteps_saved:Nuovi E-steps salvati!\nNon dimenticare di\nsalvarli nellaEEPROM\nNuovo valore: %0.2f label_tune_ext_measured:Lunghezza rimanente: label_tune_ext_old_estep:Vecchi e-steps: %0.2f label_tune_ext_new_estep:Nuovi e-steps: %0.2f -label_connection_settings:Connessione -label_offset_tool:Offset 2nd Nozzle -label_hybrid_threshold:TMC HybridThreshold -label_notifications:Notifications +label_connection_settings:Imp.Conn. +label_offset_tool:Offset 2nd Ugello +label_hybrid_threshold:TMC Soglia Modo Ibrido +label_notifications:Notifiche diff --git a/Copy to SD Card root directory to update/Language Packs/language_it.ini b/Copy to SD Card root directory to update/Language Packs/language_it.ini index 8eb4f2b420..3509235e0d 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_it.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_it.ini @@ -43,8 +43,8 @@ label_mbl_settings:Mesh Bed Leveling label_abl_settings:Auto Bed Leveling label_abl_settings_bbl:Bilinear Bed Leveling label_abl_settings_ubl:Unified Bed Leveling -label_abl_settings_ubl_save:Salva nello slot -label_abl_settings_ubl_load:Carica dallo slot +label_abl_settings_ubl_save:Salva in slot +label_abl_settings_ubl_load:Carica da slot label_abl_slot0:Slot 0 label_abl_slot1:Slot 1 label_abl_slot2:Slot 2 @@ -53,8 +53,8 @@ label_abl_slot_eeprom:Ricorda lo slot per il prossimo\nriavvio? (Salva EEPROM) label_abl_z:Z Fade label_bltouch:BLTouch label_bltouch_test:Test -label_bltouch_deploy:Schiera -label_bltouch_stow:Stiva +label_bltouch_deploy:Estrai +label_bltouch_stow:Ritrai label_bltouch_repeat:Ripeti label_z_offset:Z Offset label_probe_offset:Offset Sonda @@ -65,20 +65,20 @@ label_save:Salva label_restore:Ripristina label_reset:Reset label_default:Default -label_clear:Clear +label_clear:Cancella label_next:Avanti label_distance:Distanza -label_invalid_value:Invalid value(s) +label_invalid_value:Valore invalido label_timeout_reached:Timeout raggiunto! label_process_running:Processo già in esecuzione! label_process_completed:Processo completato! label_process_aborted:Processo interrotto! -label_inc:Incrementa -label_dec:Decrementa +label_inc:Aumenta +label_dec:Diminuisci label_nozzle:Ugello label_bed:Piatto label_chamber:Camera -label_start:Start +label_start:Avvia label_stop:Stop label_back:Indietro label_page_up:Pagina Su @@ -97,8 +97,8 @@ label_touchscreen_adjust:Calibra label_more:Altro label_screen_info:Info label_status:Stato -label_simulator_bg_color:Marlin simulator background color -label_simulator_font_color:Marlin simulator font color +label_simulator_bg_color:Marlin simulator colore sfondo +label_simulator_font_color:Marlin simulator colore scritte label_white:Bianco label_black:Nero label_blue:Blu @@ -124,9 +124,9 @@ label_babystep:BabyStep label_percentage_speed:Velocità label_percentage_flow:Flusso label_value_zero:Zero -label_1_degree:1℃ -label_5_degree:5℃ -label_10_degree:10℃ +label_1_degree:1° +label_5_degree:5° +label_10_degree:10° label_x_inc:X+ label_y_inc:Y+ label_z_inc:Z+ @@ -148,7 +148,7 @@ label_5_percent:5% label_10_percent:10% label_percent_value:%d%% label_ready:Pronto -label_busy:Processo in caricamento, attendi... +label_busy:Caricamento,attendi... label_unconnected:Stampante non connessa label_disconnect_info:Puoi controllare la stampante dal PC! label_loading:Caricamento... @@ -159,19 +159,19 @@ label_adjust_title:Calibrazione Touch Screen label_adjust_info:Premi sui punti rossi label_adjust_ok:Regolazione Completata! label_adjust_failed:Regolazione Fallita. Riprova! -label_warning:Attenziona +label_warning:Attenzione label_stop_print:Vuoi fermare la stampa? label_confirm:Conferma label_tftsd:SD Schermo -label_read_tftsd_error:Errore lettura SD card! +label_read_tftsd_error:Errore lettura SD! label_tftsd_inserted:SD Inserita label_tftsd_removed:SD Rimossa label_u_disk:USB Disk label_read_u_disk_error:Errore lettura U Disk label_u_disk_inserted:U Disk inserita! label_u_disk_removed:U Disk rimossa! -label_onboardsd:SD CARD -label_read_onboardsd_error:Errore lettura SD CARD! +label_onboardsd:Micro SD +label_read_onboardsd_error:Errore lettura Micro SD! label_filament_sensor:Sensore Filamento label_filament_runout:Filamento finito! label_preheat:Prepara @@ -179,9 +179,9 @@ label_preheat_both:Entrambi label_is_pause:Impossibile estrudere\ndurante la stampa,\nvuoi sospendere? label_auto_shut_down:Auto Spegnimento label_unifiedmove:Movimento -label_unifiedheat:Caldo/Fan -label_cooldown:Blocco Freddo -label_emergencystop:EM. STOP +label_unifiedheat:Scalda +label_cooldown:Raffredda +label_emergencystop:EMERGENZA label_touch_to_exit:Premi ovunque per uscire label_mainmenu:Menu label_wait_temp_shut_down:Attendi che la temperatura\ndell'hotend scenda\nsotto %d℃ @@ -191,38 +191,38 @@ label_parameter_setting:Parametri label_on:ON label_off:OFF label_smart:SMART -label_terminal_ack:Show ACK in Terminal +label_terminal_ack:Mostra ACK nel terminale label_invert_xaxis:Inverti Asse X label_invert_yaxis:Inverti Asse Y label_invert_zaxis:Inverti Asse Z -label_move_speed:Vel. movimenti(X Y Z) +label_move_speed:Vel. Movimenti (X Y Z) label_knob_led:LED Manopola label_knob_led_idle:LED Manopola inattivo label_m0_pause:Messo in pausa dal comando M0 -label_send_start_gcode:Start Gcode before print -label_send_end_gcode:End Gcode after print -label_send_cancel_gcode:Cancel Gcode -label_persistent_status_info:Info di stato permanenti -label_file_listmode:Files viewer List Mode -label_current_setting:Corrente Driver (mA) -label_steps_setting:Step per mm -label_maxfeedrate:Max Feed Rate +label_send_start_gcode:Gcode prima di stampare +label_send_end_gcode:Gcode dopo la stampa +label_send_cancel_gcode:Gcode Cancella +label_persistent_status_info:Info/Stato Permanenti +label_file_listmode:Files in modalità lista +label_current_setting:Corrente Motori(mA) +label_steps_setting:Steps per mm +label_maxfeedrate:Max Avanzamento label_maxacceleration:Max Accelerazione label_acceleration:Accelerazione label_print_acceleration:Accel. Stampa label_retract_acceleration:Accel. Ritrazione label_travel_acceleration:Accel. Spostamenti label_jerk:Jerk -label_bump_sensitivity:TMC bump sensitivity -label_fwretract:FW Retraction -label_fwrecover:FW Retraction Recover +label_bump_sensitivity:TMC Sensibilità Urto +label_fwretract:FW Retrazione +label_fwrecover:FW Recupero Retrazione label_lin_advance:Linear Advance label_reset_settings_info:Ripristinare tutte le\nimpostazioni\nai valori predefiniti? label_reset_settings_done:Ripristino di tutte le impostazioni\navvenuto con successo.\nperfavore riavvia il dispositivo. label_info:Info label_lcd_brightness:Luminosità LCD -label_lcd_brightness_dim:LCD Brightness dim -label_lcd_dim_idle_timer:LCD dim idle timer +label_lcd_brightness_dim:Lumin. LCD ridotta +label_lcd_dim_idle_timer:Riduzione lumin. dopo label_5_seconds:5 Sec. label_10_seconds:10 Sec. label_30_seconds:30 Sec. @@ -231,46 +231,46 @@ label_120_seconds:2 Min. label_300_seconds:5 Min. label_custom_seconds:Custom label_st7920_fullscreen:Marlin mode schermo pieno -label_plr_en:Power loss recovery +label_plr_en:Recupero mancanza corrente label_setting_save:Salva le impostazioni -label_setting_reset:Ripristina impost predefinite -label_setting_restore:ripristina impost precedenti +label_setting_reset:Ripristina impost standard +label_setting_restore:Ripristina impost precedenti label_eeprom_settings:EEPROM label_eeprom_save_info:Salvare le impostazioni di\nstampa nella EEPROM? label_eeprom_restore_info:Carica le impostazioni \ndalla EEPROM? label_eeprom_reset_info:Ripristino EEPROM alle \nimpostazioni di fabbrica? -label_retract_feedrate:Retract feedrate -label_retract_length:Retract length -label_retract_swap_length:Retract swap length -label_retract_z_lift:Z lift on retractio +label_retract_feedrate:Avanzamento retraz +label_retract_length:Lunghezza retraz +label_retract_swap_length:Lunghezza cambio fil. +label_retract_z_lift:Alza Z al cambio label_retract_auto:Auto Firmware Retract -label_recover_feedrate:Recover feedrate -label_swap_recover_feedrate:Swap recover feedrate -label_recover_length:Extra recover length -label_swap_recover_length:Extra recover swap length +label_recover_feedrate:Avanzamento ripristino +label_swap_recover_feedrate:Avanzamento cambio fil +label_recover_length:Lunghezza extra al ripr. +label_swap_recover_length:Lunghezza extra al cambio label_start_print:Inizia a stampare:\n %s? -label_ack_notification:ACK notification style -label_leveling_edge_distance:Distanza dal bordo del Bed +label_ack_notification:ACK stile notifica +label_leveling_edge_distance:Distanza dai bordi label_xy_unlock:Sblocca XY -label_tuning:Tuning +label_tuning:Regola label_pid:PID label_pid_title:PID autotune label_pid_start_info:PID autotune potrebbe\nrichiedere un po' di tempo.\nContinuare? -label_pid_start_info_2:PID autotune in avanzamento! +label_pid_start_info_2:PID autotune in corso! label_pid_start_info_3:Non toccare lo schermo prima del completamento (LED verde Acceso)! -label_tune_extruder:step E +label_tune_extruder:Step E label_tune_ext_extrude_100:Ext. 100mm label_tune_ext_temp:Extruder tuning | Heat label_tune_ext_templow:Temperatura desisderata troppo bassa!\nTemperatura minima: %d C label_tune_ext_desiredval:La temperatura non è ancora al valore desiderato -label_tune_ext_mark120mm:Mark 120 mm on your fillament\nPress '%s' when ready\nMeasure remaining length\nafter extruding +label_tune_ext_mark120mm:Segna 120 mm sul filamento\nPremi '%s' quando pronto\nMisura lunghezza rimanente\ndopo l'estrusione label_tune_ext_heatoff:Spegnere il riscaldamento? -label_tune_ext_adj_esteps:Rgola E-Steps +label_tune_ext_adj_esteps:Regola E-Steps label_tune_ext_esteps_saved:Nuovi E-steps salvati!\nNon dimenticare di\nsalvarli nellaEEPROM\nNuovo valore: %0.2f label_tune_ext_measured:Lunghezza rimanente: label_tune_ext_old_estep:Vecchi e-steps: %0.2f label_tune_ext_new_estep:Nuovi e-steps: %0.2f -label_connection_settings:Connessione -label_offset_tool:Offset 2nd Nozzle -label_hybrid_threshold:TMC HybridThreshold -label_notifications:Notifications +label_connection_settings:Imp.Conn. +label_offset_tool:Offset 2nd Ugello +label_hybrid_threshold:TMC Soglia Modo Ibrido +label_notifications:Notifiche diff --git a/TFT/src/User/API/Language/language_it.h b/TFT/src/User/API/Language/language_it.h index 583c4a82ea..034176c886 100644 --- a/TFT/src/User/API/Language/language_it.h +++ b/TFT/src/User/API/Language/language_it.h @@ -41,8 +41,8 @@ #define STRING_ABL_SETTINGS "Auto Bed Leveling" #define STRING_ABL_SETTINGS_BBL "Bilinear Bed Leveling" #define STRING_ABL_SETTINGS_UBL "Unified Bed Leveling" - #define STRING_ABL_SETTINGS_UBL_SAVE "Salva nello slot" - #define STRING_ABL_SETTINGS_UBL_LOAD "Carica dallo slot" + #define STRING_ABL_SETTINGS_UBL_SAVE "Salva in slot" + #define STRING_ABL_SETTINGS_UBL_LOAD "Carica da slot" #define STRING_ABL_SLOT0 "Slot 0" #define STRING_ABL_SLOT1 "Slot 1" #define STRING_ABL_SLOT2 "Slot 2" @@ -51,8 +51,8 @@ #define STRING_ABL_Z "Z Fade" #define STRING_BLTOUCH "BLTouch" #define STRING_BLTOUCH_TEST "Test" - #define STRING_BLTOUCH_DEPLOY "Schiera" - #define STRING_BLTOUCH_STOW "Stiva" + #define STRING_BLTOUCH_DEPLOY "Estrai" + #define STRING_BLTOUCH_STOW "Ritrai" #define STRING_BLTOUCH_REPEAT "Ripeti" #define STRING_Z_OFFSET "Z Offset" #define STRING_PROBE_OFFSET "Offset Sonda" @@ -63,20 +63,20 @@ #define STRING_RESTORE "Ripristina" #define STRING_RESET "Reset" #define STRING_DEFAULT "Default" - #define STRING_CLEAR "Clear" + #define STRING_CLEAR "Cancella" #define STRING_NEXT "Avanti" #define STRING_DISTANCE "Distanza" - #define STRING_INVALID_VALUE "Invalid value(s)" + #define STRING_INVALID_VALUE "Valore invalido" #define STRING_TIMEOUT_REACHED "Timeout raggiunto!" #define STRING_PROCESS_RUNNING "Processo già in esecuzione!" #define STRING_PROCESS_COMPLETED "Processo completato!" #define STRING_PROCESS_ABORTED "Processo interrotto!" - #define STRING_INC "Incrementa" - #define STRING_DEC "Decrementa" + #define STRING_INC "Aumenta" + #define STRING_DEC "Diminuisci" #define STRING_NOZZLE "Ugello" #define STRING_BED "Piatto" #define STRING_CHAMBER "Camera" - #define STRING_START "Start" + #define STRING_START "Avvia" #define STRING_STOP "Stop" #define STRING_BACK "Indietro" #define STRING_PAGE_UP "Pagina Su" @@ -95,8 +95,8 @@ #define STRING_MORE "Altro" #define STRING_SCREEN_INFO "Info" #define STRING_STATUS "Stato" - #define STRING_SIMULATOR_BG_COLOR "Marlin simulator background color" - #define STRING_SIMULATOR_FONT_COLOR "Marlin simulator font color" + #define STRING_SIMULATOR_BG_COLOR "Marlin simulator colore sfondo" + #define STRING_SIMULATOR_FONT_COLOR "Marlin simulator colore scritte" #define STRING_WHITE "Bianco" #define STRING_BLACK "Nero" #define STRING_BLUE "Blu" @@ -122,9 +122,9 @@ #define STRING_PERCENTAGE_SPEED "Velocità" #define STRING_PERCENTAGE_FLOW "Flusso" #define STRING_VALUE_ZERO "Zero" - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" + #define STRING_1_DEGREE "1°" + #define STRING_5_DEGREE "5°" + #define STRING_10_DEGREE "10°" #define STRING_X_INC "X+" #define STRING_Y_INC "Y+" #define STRING_Z_INC "Z+" @@ -146,7 +146,7 @@ #define STRING_10_PERCENT "10%" #define STRING_PERCENT_VALUE "%d%%" #define STRING_READY "Pronto" - #define STRING_BUSY "Processo in caricamento, attendi..." + #define STRING_BUSY "Caricamento,attendi..." #define STRING_UNCONNECTED "Stampante non connessa" #define STRING_DISCONNECT_INFO "Puoi controllare la stampante dal PC!" #define STRING_LOADING "Caricamento..." @@ -157,19 +157,19 @@ #define STRING_ADJUST_INFO "Premi sui punti rossi" #define STRING_ADJUST_OK "Regolazione Completata!" #define STRING_ADJUST_FAILED "Regolazione Fallita. Riprova!" - #define STRING_WARNING "Attenziona" + #define STRING_WARNING "Attenzione" #define STRING_STOP_PRINT "Vuoi fermare la stampa?" #define STRING_CONFIRM "Conferma" #define STRING_TFTSD "SD Schermo" - #define STRING_READ_TFTSD_ERROR "Errore lettura SD card!" + #define STRING_READ_TFTSD_ERROR "Errore lettura SD!" #define STRING_TFTSD_INSERTED "SD Inserita" #define STRING_TFTSD_REMOVED "SD Rimossa" #define STRING_U_DISK "USB Disk" #define STRING_READ_U_DISK_ERROR "Errore lettura U Disk" #define STRING_U_DISK_INSERTED "U Disk inserita!" #define STRING_U_DISK_REMOVED "U Disk rimossa!" - #define STRING_ONBOARDSD "SD CARD" - #define STRING_READ_ONBOARDSD_ERROR "Errore lettura SD CARD!" + #define STRING_ONBOARDSD "Micro SD" + #define STRING_READ_ONBOARDSD_ERROR "Errore lettura Micro SD!" #define STRING_FILAMENT_SENSOR "Sensore Filamento" #define STRING_FILAMENT_RUNOUT "Filamento finito!" #define STRING_PREHEAT "Prepara" @@ -177,9 +177,9 @@ #define STRING_IS_PAUSE "Impossibile estrudere\ndurante la stampa,\nvuoi sospendere?" #define STRING_AUTO_SHUT_DOWN "Auto Spegnimento" #define STRING_UNIFIEDMOVE "Movimento" - #define STRING_UNIFIEDHEAT "Caldo/Fan" - #define STRING_COOLDOWN "Blocco Freddo" - #define STRING_EMERGENCYSTOP "EM. STOP" + #define STRING_UNIFIEDHEAT "Scalda" + #define STRING_COOLDOWN "Raffredda" + #define STRING_EMERGENCYSTOP "EMERGENZA" #define STRING_TOUCH_TO_EXIT "Premi ovunque per uscire" #define STRING_MAINMENU "Menu" #define STRING_WAIT_TEMP_SHUT_DOWN "Attendi che la temperatura\ndell'hotend scenda\nsotto %d℃" // Wait for the temperature of hotend to be lower than 50℃ @@ -189,22 +189,22 @@ #define STRING_ON "ON" #define STRING_OFF "OFF" #define STRING_SMART "SMART" - #define STRING_TERMINAL_ACK "Show ACK in Terminal" + #define STRING_TERMINAL_ACK "Mostra ACK nel terminale" #define STRING_INVERT_XAXIS "Inverti Asse X" #define STRING_INVERT_YAXIS "Inverti Asse Y" #define STRING_INVERT_ZAXIS "Inverti Asse Z" - #define STRING_MOVE_SPEED "Vel. movimenti(X Y Z)" + #define STRING_MOVE_SPEED "Vel. Movimenti (X Y Z)" #define STRING_KNOB_LED "LED Manopola " #define STRING_KNOB_LED_IDLE "LED Manopola inattivo" #define STRING_M0_PAUSE "Messo in pausa dal comando M0" - #define STRING_SEND_START_GCODE "Start Gcode before print" - #define STRING_SEND_END_GCODE "End Gcode after print" - #define STRING_SEND_CANCEL_GCODE "Cancel Gcode" - #define STRING_PERSISTENT_STATUS_INFO "Info di stato permanenti" - #define STRING_FILE_LISTMODE "Files viewer List Mode" - #define STRING_CURRENT_SETTING "Corrente Driver (mA)" - #define STRING_STEPS_SETTING "Step per mm" - #define STRING_MAXFEEDRATE "Max Feed Rate" + #define STRING_SEND_START_GCODE "Gcode prima di stampare" + #define STRING_SEND_END_GCODE "Gcode dopo la stampa" + #define STRING_SEND_CANCEL_GCODE "Gcode Cancella" + #define STRING_PERSISTENT_STATUS_INFO "Info/Stato Permanenti" + #define STRING_FILE_LISTMODE "Files in modalità lista" + #define STRING_CURRENT_SETTING "Corrente Motori(mA)" + #define STRING_STEPS_SETTING "Steps per mm" + #define STRING_MAXFEEDRATE "Max Avanzamento" #define STRING_MAXACCELERATION "Max Accelerazione" #define STRING_ACCELERATION "Accelerazione" #define STRING_PRINT_ACCELERATION "Accel. Stampa" @@ -212,16 +212,16 @@ #define STRING_TRAVEL_ACCELERATION "Accel. Spostamenti" #define STRING_JERK "Jerk" #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" - #define STRING_FWRETRACT "FW Retraction" - #define STRING_FWRECOVER "FW Retraction Recover" + #define STRING_BUMP_SENSITIVITY "TMC Sensibilità Urto" + #define STRING_FWRETRACT "FW Retrazione" + #define STRING_FWRECOVER "FW Recupero Retrazione" #define STRING_LIN_ADVANCE "Linear Advance" #define STRING_RESET_SETTINGS_INFO "Ripristinare tutte le\nimpostazioni\nai valori predefiniti?" #define STRING_RESET_SETTINGS_DONE "Ripristino di tutte le impostazioni\navvenuto con successo.\nperfavore riavvia il dispositivo." #define STRING_INFO "Info" #define STRING_LCD_BRIGHTNESS "Luminosità LCD" - #define STRING_LCD_BRIGHTNESS_DIM "LCD Brightness dim" - #define STRING_LCD_DIM_IDLE_TIMER "LCD dim idle timer" + #define STRING_LCD_BRIGHTNESS_DIM "Lumin. LCD ridotta" + #define STRING_LCD_DIM_IDLE_TIMER "Riduzione lumin. dopo" #define STRING_5_SECONDS "5 Sec." #define STRING_10_SECONDS "10 Sec." #define STRING_30_SECONDS "30 Sec." @@ -230,48 +230,48 @@ #define STRING_300_SECONDS "5 Min." #define STRING_CUSTOM_SECONDS "Custom" #define STRING_ST7920_FULLSCREEN "Marlin mode schermo pieno" - #define STRING_PLR_EN "Power loss recovery" + #define STRING_PLR_EN "Recupero mancanza corrente" #define STRING_SETTING_SAVE "Salva le impostazioni" - #define STRING_SETTING_RESET "Ripristina impost predefinite" - #define STRING_SETTING_RESTORE "ripristina impost precedenti" + #define STRING_SETTING_RESET "Ripristina impost standard" + #define STRING_SETTING_RESTORE "Ripristina impost precedenti" #define STRING_EEPROM_SETTINGS "EEPROM" #define STRING_EEPROM_SAVE_INFO "Salvare le impostazioni di\nstampa nella EEPROM?" #define STRING_EEPROM_RESTORE_INFO "Carica le impostazioni \ndalla EEPROM?" #define STRING_EEPROM_RESET_INFO "Ripristino EEPROM alle \nimpostazioni di fabbrica?" - #define STRING_RETRACT_FEEDRATE "Retract feedrate" - #define STRING_RETRACT_LENGTH "Retract length" - #define STRING_RETRACT_SWAP_LENGTH "Retract swap length" - #define STRING_RETRACT_Z_LIFT "Z lift on retractio" + #define STRING_RETRACT_FEEDRATE "Avanzamento retraz" + #define STRING_RETRACT_LENGTH "Lunghezza retraz" + #define STRING_RETRACT_SWAP_LENGTH "Lunghezza cambio fil." + #define STRING_RETRACT_Z_LIFT "Alza Z al cambio" #define STRING_RETRACT_AUTO "Auto Firmware Retract" - #define STRING_RECOVER_FEEDRATE "Recover feedrate" - #define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" - #define STRING_RECOVER_LENGTH "Extra recover length" - #define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" + #define STRING_RECOVER_FEEDRATE "Avanzamento ripristino" + #define STRING_SWAP_RECOVER_FEEDRATE "Avanzamento cambio fil" + #define STRING_RECOVER_LENGTH "Lunghezza extra al ripr." + #define STRING_SWAP_RECOVER_LENGTH "Lunghezza extra al cambio" #define STRING_START_PRINT "Inizia a stampare:\n %s?" - #define STRING_ACK_NOTIFICATION "ACK notification style" - #define STRING_LEVELING_EDGE_DISTANCE "Distanza dal bordo del Bed" + #define STRING_ACK_NOTIFICATION "ACK stile notifica" + #define STRING_LEVELING_EDGE_DISTANCE "Distanza dai bordi" #define STRING_XY_UNLOCK "Sblocca XY" - #define STRING_TUNING "Tuning" + #define STRING_TUNING "Regola" #define STRING_PID "PID" #define STRING_PID_TITLE "PID autotune" #define STRING_PID_START_INFO "PID autotune potrebbe\nrichiedere un po' di tempo.\nContinuare?" - #define STRING_PID_START_INFO_2 "PID autotune in avanzamento!" + #define STRING_PID_START_INFO_2 "PID autotune in corso!" #define STRING_PID_START_INFO_3 "Non toccare lo schermo prima del completamento (LED verde Acceso)!" - #define STRING_TUNE_EXTRUDER "step E" + #define STRING_TUNE_EXTRUDER "Step E" #define STRING_TUNE_EXT_EXTRUDE_100 "Ext. 100mm" #define STRING_TUNE_EXT_TEMP "Extruder tuning | Heat" #define STRING_TUNE_EXT_TEMPLOW "Temperatura desisderata troppo bassa!\nTemperatura minima: %d C" #define STRING_TUNE_EXT_DESIREDVAL "La temperatura non è ancora al valore desiderato" - #define STRING_TUNE_EXT_MARK120MM "Mark 120 mm on your fillament\nPress '%s' when ready\nMeasure remaining length\nafter extruding" + #define STRING_TUNE_EXT_MARK120MM "Segna 120 mm sul filamento\nPremi '%s' quando pronto\nMisura lunghezza rimanente\ndopo l'estrusione" #define STRING_TUNE_EXT_HEATOFF "Spegnere il riscaldamento?" - #define STRING_TUNE_EXT_ADJ_ESTEPS "Rgola E-Steps" + #define STRING_TUNE_EXT_ADJ_ESTEPS "Regola E-Steps" #define STRING_TUNE_EXT_ESTEPS_SAVED "Nuovi E-steps salvati!\nNon dimenticare di\nsalvarli nellaEEPROM\nNuovo valore: %0.2f" #define STRING_TUNE_EXT_MEASURED "Lunghezza rimanente:" #define STRING_TUNE_EXT_OLD_ESTEP "Vecchi e-steps: %0.2f" #define STRING_TUNE_EXT_NEW_ESTEP "Nuovi e-steps: %0.2f" - #define STRING_CONNECTION_SETTINGS "Connessione" - #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_NOTIFICATIONS "Notifications" + #define STRING_CONNECTION_SETTINGS "Imp.Conn." + #define STRING_OFFSET_TOOL "Offset 2nd Ugello" + #define STRING_HYBRID_THRESHOLD "TMC Soglia Modo Ibrido" + #define STRING_NOTIFICATIONS "Notifiche" #endif diff --git a/TFT/src/User/Language Packs/language_it.ini b/TFT/src/User/Language Packs/language_it.ini index 14e8676956..3509235e0d 100644 --- a/TFT/src/User/Language Packs/language_it.ini +++ b/TFT/src/User/Language Packs/language_it.ini @@ -43,8 +43,8 @@ label_mbl_settings:Mesh Bed Leveling label_abl_settings:Auto Bed Leveling label_abl_settings_bbl:Bilinear Bed Leveling label_abl_settings_ubl:Unified Bed Leveling -label_abl_settings_ubl_save:Salva nello slot -label_abl_settings_ubl_load:Carica dallo slot +label_abl_settings_ubl_save:Salva in slot +label_abl_settings_ubl_load:Carica da slot label_abl_slot0:Slot 0 label_abl_slot1:Slot 1 label_abl_slot2:Slot 2 @@ -53,8 +53,8 @@ label_abl_slot_eeprom:Ricorda lo slot per il prossimo\nriavvio? (Salva EEPROM) label_abl_z:Z Fade label_bltouch:BLTouch label_bltouch_test:Test -label_bltouch_deploy:Schiera -label_bltouch_stow:Stiva +label_bltouch_deploy:Estrai +label_bltouch_stow:Ritrai label_bltouch_repeat:Ripeti label_z_offset:Z Offset label_probe_offset:Offset Sonda @@ -65,20 +65,20 @@ label_save:Salva label_restore:Ripristina label_reset:Reset label_default:Default -label_clear:Clear +label_clear:Cancella label_next:Avanti label_distance:Distanza -label_invalid_value:Invalid value(s) +label_invalid_value:Valore invalido label_timeout_reached:Timeout raggiunto! label_process_running:Processo già in esecuzione! label_process_completed:Processo completato! label_process_aborted:Processo interrotto! -label_inc:Incrementa -label_dec:Decrementa +label_inc:Aumenta +label_dec:Diminuisci label_nozzle:Ugello label_bed:Piatto label_chamber:Camera -label_start:Start +label_start:Avvia label_stop:Stop label_back:Indietro label_page_up:Pagina Su @@ -97,8 +97,8 @@ label_touchscreen_adjust:Calibra label_more:Altro label_screen_info:Info label_status:Stato -label_simulator_bg_color:Marlin simulator background color -label_simulator_font_color:Marlin simulator font color +label_simulator_bg_color:Marlin simulator colore sfondo +label_simulator_font_color:Marlin simulator colore scritte label_white:Bianco label_black:Nero label_blue:Blu @@ -124,9 +124,9 @@ label_babystep:BabyStep label_percentage_speed:Velocità label_percentage_flow:Flusso label_value_zero:Zero -label_1_degree:1℃ -label_5_degree:5℃ -label_10_degree:10℃ +label_1_degree:1° +label_5_degree:5° +label_10_degree:10° label_x_inc:X+ label_y_inc:Y+ label_z_inc:Z+ @@ -148,7 +148,7 @@ label_5_percent:5% label_10_percent:10% label_percent_value:%d%% label_ready:Pronto -label_busy:Processo in caricamento, attendi... +label_busy:Caricamento,attendi... label_unconnected:Stampante non connessa label_disconnect_info:Puoi controllare la stampante dal PC! label_loading:Caricamento... @@ -159,19 +159,19 @@ label_adjust_title:Calibrazione Touch Screen label_adjust_info:Premi sui punti rossi label_adjust_ok:Regolazione Completata! label_adjust_failed:Regolazione Fallita. Riprova! -label_warning:Attenziona +label_warning:Attenzione label_stop_print:Vuoi fermare la stampa? label_confirm:Conferma label_tftsd:SD Schermo -label_read_tftsd_error:Errore lettura SD card! +label_read_tftsd_error:Errore lettura SD! label_tftsd_inserted:SD Inserita label_tftsd_removed:SD Rimossa label_u_disk:USB Disk label_read_u_disk_error:Errore lettura U Disk label_u_disk_inserted:U Disk inserita! label_u_disk_removed:U Disk rimossa! -label_onboardsd:SD CARD -label_read_onboardsd_error:Errore lettura SD CARD! +label_onboardsd:Micro SD +label_read_onboardsd_error:Errore lettura Micro SD! label_filament_sensor:Sensore Filamento label_filament_runout:Filamento finito! label_preheat:Prepara @@ -179,9 +179,9 @@ label_preheat_both:Entrambi label_is_pause:Impossibile estrudere\ndurante la stampa,\nvuoi sospendere? label_auto_shut_down:Auto Spegnimento label_unifiedmove:Movimento -label_unifiedheat:Caldo/Fan -label_cooldown:Blocco Freddo -label_emergencystop:EM. STOP +label_unifiedheat:Scalda +label_cooldown:Raffredda +label_emergencystop:EMERGENZA label_touch_to_exit:Premi ovunque per uscire label_mainmenu:Menu label_wait_temp_shut_down:Attendi che la temperatura\ndell'hotend scenda\nsotto %d℃ @@ -191,39 +191,38 @@ label_parameter_setting:Parametri label_on:ON label_off:OFF label_smart:SMART -label_terminal_ack:Show ACK in Terminal +label_terminal_ack:Mostra ACK nel terminale label_invert_xaxis:Inverti Asse X label_invert_yaxis:Inverti Asse Y label_invert_zaxis:Inverti Asse Z -label_move_speed:Vel. movimenti(X Y Z) +label_move_speed:Vel. Movimenti (X Y Z) label_knob_led:LED Manopola label_knob_led_idle:LED Manopola inattivo label_m0_pause:Messo in pausa dal comando M0 -label_send_start_gcode:Start Gcode before print -label_send_end_gcode:End Gcode after print -label_send_cancel_gcode:Cancel Gcode -label_persistent_status_info:Info di stato permanenti -label_file_listmode:Files viewer List Mode -label_current_setting:Corrente Driver (mA) -label_steps_setting:Step per mm -label_maxfeedrate:Max Feed Rate +label_send_start_gcode:Gcode prima di stampare +label_send_end_gcode:Gcode dopo la stampa +label_send_cancel_gcode:Gcode Cancella +label_persistent_status_info:Info/Stato Permanenti +label_file_listmode:Files in modalità lista +label_current_setting:Corrente Motori(mA) +label_steps_setting:Steps per mm +label_maxfeedrate:Max Avanzamento label_maxacceleration:Max Accelerazione label_acceleration:Accelerazione label_print_acceleration:Accel. Stampa label_retract_acceleration:Accel. Ritrazione label_travel_acceleration:Accel. Spostamenti label_jerk:Jerk -label_junction_deviation:Junction Deviation -label_bump_sensitivity:TMC bump sensitivity -label_fwretract:FW Retraction -label_fwrecover:FW Retraction Recover +label_bump_sensitivity:TMC Sensibilità Urto +label_fwretract:FW Retrazione +label_fwrecover:FW Recupero Retrazione label_lin_advance:Linear Advance label_reset_settings_info:Ripristinare tutte le\nimpostazioni\nai valori predefiniti? label_reset_settings_done:Ripristino di tutte le impostazioni\navvenuto con successo.\nperfavore riavvia il dispositivo. label_info:Info label_lcd_brightness:Luminosità LCD -label_lcd_brightness_dim:LCD Brightness dim -label_lcd_dim_idle_timer:LCD dim idle timer +label_lcd_brightness_dim:Lumin. LCD ridotta +label_lcd_dim_idle_timer:Riduzione lumin. dopo label_5_seconds:5 Sec. label_10_seconds:10 Sec. label_30_seconds:30 Sec. @@ -232,46 +231,46 @@ label_120_seconds:2 Min. label_300_seconds:5 Min. label_custom_seconds:Custom label_st7920_fullscreen:Marlin mode schermo pieno -label_plr_en:Power loss recovery +label_plr_en:Recupero mancanza corrente label_setting_save:Salva le impostazioni -label_setting_reset:Ripristina impost predefinite -label_setting_restore:ripristina impost precedenti +label_setting_reset:Ripristina impost standard +label_setting_restore:Ripristina impost precedenti label_eeprom_settings:EEPROM label_eeprom_save_info:Salvare le impostazioni di\nstampa nella EEPROM? label_eeprom_restore_info:Carica le impostazioni \ndalla EEPROM? label_eeprom_reset_info:Ripristino EEPROM alle \nimpostazioni di fabbrica? -label_retract_feedrate:Retract feedrate -label_retract_length:Retract length -label_retract_swap_length:Retract swap length -label_retract_z_lift:Z lift on retractio +label_retract_feedrate:Avanzamento retraz +label_retract_length:Lunghezza retraz +label_retract_swap_length:Lunghezza cambio fil. +label_retract_z_lift:Alza Z al cambio label_retract_auto:Auto Firmware Retract -label_recover_feedrate:Recover feedrate -label_swap_recover_feedrate:Swap recover feedrate -label_recover_length:Extra recover length -label_swap_recover_length:Extra recover swap length +label_recover_feedrate:Avanzamento ripristino +label_swap_recover_feedrate:Avanzamento cambio fil +label_recover_length:Lunghezza extra al ripr. +label_swap_recover_length:Lunghezza extra al cambio label_start_print:Inizia a stampare:\n %s? -label_ack_notification:ACK notification style -label_leveling_edge_distance:Distanza dal bordo del Bed +label_ack_notification:ACK stile notifica +label_leveling_edge_distance:Distanza dai bordi label_xy_unlock:Sblocca XY -label_tuning:Tuning +label_tuning:Regola label_pid:PID label_pid_title:PID autotune label_pid_start_info:PID autotune potrebbe\nrichiedere un po' di tempo.\nContinuare? -label_pid_start_info_2:PID autotune in avanzamento! +label_pid_start_info_2:PID autotune in corso! label_pid_start_info_3:Non toccare lo schermo prima del completamento (LED verde Acceso)! -label_tune_extruder:step E +label_tune_extruder:Step E label_tune_ext_extrude_100:Ext. 100mm label_tune_ext_temp:Extruder tuning | Heat label_tune_ext_templow:Temperatura desisderata troppo bassa!\nTemperatura minima: %d C label_tune_ext_desiredval:La temperatura non è ancora al valore desiderato -label_tune_ext_mark120mm:Mark 120 mm on your fillament\nPress '%s' when ready\nMeasure remaining length\nafter extruding +label_tune_ext_mark120mm:Segna 120 mm sul filamento\nPremi '%s' quando pronto\nMisura lunghezza rimanente\ndopo l'estrusione label_tune_ext_heatoff:Spegnere il riscaldamento? -label_tune_ext_adj_esteps:Rgola E-Steps +label_tune_ext_adj_esteps:Regola E-Steps label_tune_ext_esteps_saved:Nuovi E-steps salvati!\nNon dimenticare di\nsalvarli nellaEEPROM\nNuovo valore: %0.2f label_tune_ext_measured:Lunghezza rimanente: label_tune_ext_old_estep:Vecchi e-steps: %0.2f label_tune_ext_new_estep:Nuovi e-steps: %0.2f -label_connection_settings:Connessione -label_offset_tool:Offset 2nd Nozzle -label_hybrid_threshold:TMC HybridThreshold -label_notifications:Notifications +label_connection_settings:Imp.Conn. +label_offset_tool:Offset 2nd Ugello +label_hybrid_threshold:TMC Soglia Modo Ibrido +label_notifications:Notifiche From c7823a97bf67f2fb003a32ce94e175fed73632ef Mon Sep 17 00:00:00 2001 From: avjui Date: Wed, 28 Oct 2020 06:50:07 +0100 Subject: [PATCH 6/9] Update language de (#1144) --- .../Language Packs/language_de.ini | 151 +++++++++--------- .../Language Packs/language_de.ini | 151 +++++++++--------- TFT/src/User/API/Language/language_de.h | 150 ++++++++--------- TFT/src/User/Language Packs/language_de.ini | 150 ++++++++--------- 4 files changed, 302 insertions(+), 300 deletions(-) diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_de.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_de.ini index e7ba8cfe1f..e86d2ae783 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_de.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_de.ini @@ -16,9 +16,9 @@ label_screen_settings:Bildschirm label_machine_settings:Drucker label_feature_settings:Feature label_sound:Sound -label_touch_sound:Touch sounds -label_toast_sound:Toast Notifications -label_alert_sound:Popups and Alerts +label_touch_sound:Touch Töne +label_toast_sound:Toast Benachrichtigung +label_alert_sound:Popups und Alarme label_shut_down:Auschalten (PS_ON) label_rgb_settings:LED Farbe label_rgb_off:LED Aus @@ -30,26 +30,26 @@ label_point_2:Punkt 2 label_point_3:Punkt 3 label_point_4:Punkt 4 label_point_5:Punkt 5 -label_bed_leveling:Bed Level -label_bl_complete:Bed Leveling Complete -label_bl_smart_fill:Missing probe points\nhave been smart filled.\n \nNote: remember to save! -label_bl_enable:BL: on -label_bl_disable:BL: off +label_bed_leveling:Bett Level +label_bl_complete:Bett Leveling fertiggestellt +label_bl_smart_fill:Fehlende Messpunkte\nwurden intelligent gefüllt.\n \nHinweis: Denken Sie daran, zu speichern! +label_bl_enable:BL: An +label_bl_disable:BL: Aus label_abl:ABL label_bbl:BBL label_ubl:UBL label_mbl:MBL -label_mbl_settings:Mesh Bed Leveling -label_abl_settings:Auto Bed Leveling -label_abl_settings_bbl:Bilinear Bed Leveling -label_abl_settings_ubl:Unified Bed Leveling -label_abl_settings_ubl_save:Save to slot -label_abl_settings_ubl_load:Load from slot +label_mbl_settings:Mesh Bett Leveling +label_abl_settings:Auto Bett Leveling +label_abl_settings_bbl:Bilinear Bett Leveling +label_abl_settings_ubl:Unified Bett Leveling +label_abl_settings_ubl_save:Speichern im Slot +label_abl_settings_ubl_load:Lade vom Slot label_abl_slot0:Slot 0 label_abl_slot1:Slot 1 label_abl_slot2:Slot 2 label_abl_slot3:Slot 3 -label_abl_slot_eeprom:Remember slot for next\nreboot? (Save EEPROM) +label_abl_slot_eeprom:Slot für den nächsten\nRestart merken?(Im EEPROM speichern) label_abl_z:Z Fade label_bltouch:BLTouch label_bltouch_test:Testen @@ -57,27 +57,27 @@ label_bltouch_deploy:Ausfahren label_bltouch_stow:Einfahren label_bltouch_repeat:Widerholen label_z_offset:Z Offset -label_probe_offset:Probe Offset -label_confirmation:Are you sure? -label_down:Down -label_up:Up +label_probe_offset:Mess Offset +label_confirmation:Sind Sie sicher? +label_down:Ab +label_up:Auf label_save:Speichern -label_restore:Restore +label_restore:Wiederherstellen label_reset:Resetten -label_default:Default -label_clear:Clear -label_next:Next -label_distance:Distance -label_invalid_value:Invalid value(s) -label_timeout_reached:Timeout reached! -label_process_running:Process already running! -label_process_completed:Process completed! -label_process_aborted:Process aborted! +label_default:Standard +label_clear:Löschen +label_next:Nächste +label_distance:Entfernung +label_invalid_value:Ungültig(e) Wert(e) +label_timeout_reached:Timeout erreicht! +label_process_running:Prozess läuft bereits! +label_process_completed:Prozess fertiggestellt! +label_process_aborted:Prozess abgebrochen! label_inc:Erhöhen label_dec:Verringern label_nozzle:Düse label_bed:Heizbett -label_chamber:Chamber +label_chamber:Kammer label_start:Start label_stop:Stop label_back:Zurück @@ -97,8 +97,8 @@ label_touchscreen_adjust:TSC kalib. label_more:Mehr label_screen_info:Info label_status:Status -label_simulator_bg_color:Marlin simulator background color -label_simulator_font_color:Marlin simulator font color +label_simulator_bg_color:Marlin Simulator Hintergrundfarbe +label_simulator_font_color:Marlin Simulator Schriftfarbe label_white:Weiß label_black:Schwarz label_blue:Blau @@ -121,7 +121,7 @@ label_disconnect:Trennen label_baudrate:BaudRate label_percentage:Prozent label_babystep:BabyStep -label_percentage_speed:Speed +label_percentage_speed:Geschwindigkeit label_percentage_flow:Flow label_value_zero:Null label_1_degree:1℃ @@ -191,28 +191,29 @@ label_parameter_setting:Parameter label_on:AN label_off:AUS label_smart:SMART -label_terminal_ack:Show ACK in Terminal +label_terminal_ack:Zeige ACK im Terminal label_invert_xaxis:Invertiere X-Achse label_invert_yaxis:Invertiere Y-Achse label_invert_zaxis:Invertiere Z-Achse label_move_speed:Geschwindigkeit (XYZ) label_knob_led:Drehknopf LED Farbe -label_knob_led_idle:Rotary Knob LED idle +label_knob_led_idle:Drehknopf LED idle Farbe label_m0_pause:Pause durch M0 kommando label_send_start_gcode:Start-Gcode vor Druck label_send_end_gcode:End-Gcode nach Druck -label_send_cancel_gcode:Cancel Gcode +label_send_cancel_gcode:Gcode abbrechen label_persistent_status_info:Speicherungs-status Information label_file_listmode:Datei-Ansicht als Liste -label_current_setting:Driver Current (mA) +label_current_setting:Treiber Strom (mA) label_steps_setting:Steps per mm -label_maxfeedrate:Max Feed Rate -label_maxacceleration:Max Acceleration -label_acceleration:Acceleration -label_print_acceleration:Print Acceleration -label_retract_acceleration:Retract Acceleration -label_travel_acceleration:Travel Acceleration +label_maxfeedrate:Maximale Vorschubgeschwindigkeit +label_maxacceleration:Maximale Beschleunigung +label_acceleration:Beschleunigung +label_print_acceleration:Beschleunigung beim Druck +label_retract_acceleration:Beschleunigung reduzieren +label_travel_acceleration:Beschleunigung bei der Fahrt label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -230,47 +231,47 @@ label_60_seconds:1 Min. label_120_seconds:2 Min. label_300_seconds:5 Min. label_custom_seconds:Benutz. -label_st7920_fullscreen:Marlin mode in fullscreen -label_plr_en:Power loss recovery -label_setting_save:Save settings -label_setting_reset:Reset default settings -label_setting_restore:Restore settings +label_st7920_fullscreen:Marlin Mode im Vollbild +label_plr_en:Wiederherstellung nach Stromausfall +label_setting_save:Einstellungen speichern +label_setting_reset:Einstellungen zurücksetzten +label_setting_restore:Einstellungen wiederherstellen label_eeprom_settings:EEPROM -label_eeprom_save_info:Save printer settings\nto EEPROM? -label_eeprom_restore_info:Reload settings from\nEEPROM? -label_eeprom_reset_info:Reset EEPROM to stock printer settings? -label_retract_feedrate:Retract feedrate -label_retract_length:Retract length -label_retract_swap_length:Retract swap length -label_retract_z_lift:Z lift on retraction -label_retract_auto:Auto Firmware Retract +label_eeprom_save_info:Einstellungen im\nEEPROM speichern? +label_eeprom_restore_info:Einstellungen aus\nEEPROM laden? +label_eeprom_reset_info:Standardeinstellungen des Druckers wiederherstellen? +label_retract_feedrate:Rückzugsgeschwindigkeit +label_retract_length:Rückzugslänge +label_retract_swap_length:Rückzugs Swap Länge +label_retract_z_lift:Z-Anhebung beim Rückzug +label_retract_auto:Auto-Rückzug über Firmware label_recover_feedrate:Recover feedrate label_swap_recover_feedrate:Swap recover feedrate label_recover_length:Extra recover length label_swap_recover_length:Extra recover swap length -label_start_print:Start Printing:\n %s? -label_ack_notification:ACK notification style -label_leveling_edge_distance:Bed edge distance +label_start_print:Druck starten:\n %s? +label_ack_notification:ACK Benachrichtigungs-Style +label_leveling_edge_distance:Bettecken-Abstand label_xy_unlock:Schalte XY frei label_tuning:Tuning label_pid:PID label_pid_title:PID autotune -label_pid_start_info:PID autotune may take\nsome time to complete.\nContinue? -label_pid_start_info_2:PID autotune in progress! -label_pid_start_info_3:Do not touch the screen until completed (green LED ON)! +label_pid_start_info:PID autotune benötigt\neinige Zeit.\nWeitermachen? +label_pid_start_info_2:PID autotune in läuft! +label_pid_start_info_3:Berühren Sie den Bildschirm erst bei Fertigstellung (Grüne LED AN)! label_tune_extruder:Tune steps label_tune_ext_extrude_100:Ext. 100mm -label_tune_ext_temp:Extruder tuning | Heat -label_tune_ext_templow:Desired temperature too low!\nMinimum temperature: %d C -label_tune_ext_desiredval:Temperature is not yet at the desired value -label_tune_ext_mark120mm:Mark 120 mm on your fillament\nPress '%s' when ready\nMeasure remaining length\nafter extruding -label_tune_ext_heatoff:Turn the heater off? -label_tune_ext_adj_esteps:Adjust E-Steps -label_tune_ext_esteps_saved:New E-steps saved!\nDon't forget to\nsave it in EEPROM\nNew value: %0.2f -label_tune_ext_measured:Length remaining: -label_tune_ext_old_estep:Old e-steps: %0.2f -label_tune_ext_new_estep:New e-steps: %0.2f -label_connection_settings:Connection -label_offset_tool:Offset 2nd Nozzle +label_tune_ext_temp:Extruder Tuning | heat +label_tune_ext_templow:Eingestellte Temparatur zu niedrig!\nMinimum Temparatur: %d C +label_tune_ext_desiredval:Temparatur hat noch nicht den gewünschten Wert erreicht +label_tune_ext_mark120mm:Markiere 120 mm am Filament\nDrücke '%s' wenn sie bereit sind\nMessen sie die Länge erneut\nnach der Extrusion +label_tune_ext_heatoff:Heizung abschalten? +label_tune_ext_adj_esteps:E-Steps einstellen +label_tune_ext_esteps_saved:Neue E-steps gespeichert!\nDenken Sie daran die Werte\nim EEPROM abzuspeichern\nNew value: %0.2f +label_tune_ext_measured:Restliche Länge: +label_tune_ext_old_estep:Alte e-steps: %0.2f +label_tune_ext_new_estep:Neue e-steps: %0.2f +label_connection_settings:Verbindung +label_offset_tool:Offset 2te Spitze label_hybrid_threshold:TMC HybridThreshold -label_notifications:Notifications +label_notifications:Benachrichtigungen diff --git a/Copy to SD Card root directory to update/Language Packs/language_de.ini b/Copy to SD Card root directory to update/Language Packs/language_de.ini index e7ba8cfe1f..e86d2ae783 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_de.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_de.ini @@ -16,9 +16,9 @@ label_screen_settings:Bildschirm label_machine_settings:Drucker label_feature_settings:Feature label_sound:Sound -label_touch_sound:Touch sounds -label_toast_sound:Toast Notifications -label_alert_sound:Popups and Alerts +label_touch_sound:Touch Töne +label_toast_sound:Toast Benachrichtigung +label_alert_sound:Popups und Alarme label_shut_down:Auschalten (PS_ON) label_rgb_settings:LED Farbe label_rgb_off:LED Aus @@ -30,26 +30,26 @@ label_point_2:Punkt 2 label_point_3:Punkt 3 label_point_4:Punkt 4 label_point_5:Punkt 5 -label_bed_leveling:Bed Level -label_bl_complete:Bed Leveling Complete -label_bl_smart_fill:Missing probe points\nhave been smart filled.\n \nNote: remember to save! -label_bl_enable:BL: on -label_bl_disable:BL: off +label_bed_leveling:Bett Level +label_bl_complete:Bett Leveling fertiggestellt +label_bl_smart_fill:Fehlende Messpunkte\nwurden intelligent gefüllt.\n \nHinweis: Denken Sie daran, zu speichern! +label_bl_enable:BL: An +label_bl_disable:BL: Aus label_abl:ABL label_bbl:BBL label_ubl:UBL label_mbl:MBL -label_mbl_settings:Mesh Bed Leveling -label_abl_settings:Auto Bed Leveling -label_abl_settings_bbl:Bilinear Bed Leveling -label_abl_settings_ubl:Unified Bed Leveling -label_abl_settings_ubl_save:Save to slot -label_abl_settings_ubl_load:Load from slot +label_mbl_settings:Mesh Bett Leveling +label_abl_settings:Auto Bett Leveling +label_abl_settings_bbl:Bilinear Bett Leveling +label_abl_settings_ubl:Unified Bett Leveling +label_abl_settings_ubl_save:Speichern im Slot +label_abl_settings_ubl_load:Lade vom Slot label_abl_slot0:Slot 0 label_abl_slot1:Slot 1 label_abl_slot2:Slot 2 label_abl_slot3:Slot 3 -label_abl_slot_eeprom:Remember slot for next\nreboot? (Save EEPROM) +label_abl_slot_eeprom:Slot für den nächsten\nRestart merken?(Im EEPROM speichern) label_abl_z:Z Fade label_bltouch:BLTouch label_bltouch_test:Testen @@ -57,27 +57,27 @@ label_bltouch_deploy:Ausfahren label_bltouch_stow:Einfahren label_bltouch_repeat:Widerholen label_z_offset:Z Offset -label_probe_offset:Probe Offset -label_confirmation:Are you sure? -label_down:Down -label_up:Up +label_probe_offset:Mess Offset +label_confirmation:Sind Sie sicher? +label_down:Ab +label_up:Auf label_save:Speichern -label_restore:Restore +label_restore:Wiederherstellen label_reset:Resetten -label_default:Default -label_clear:Clear -label_next:Next -label_distance:Distance -label_invalid_value:Invalid value(s) -label_timeout_reached:Timeout reached! -label_process_running:Process already running! -label_process_completed:Process completed! -label_process_aborted:Process aborted! +label_default:Standard +label_clear:Löschen +label_next:Nächste +label_distance:Entfernung +label_invalid_value:Ungültig(e) Wert(e) +label_timeout_reached:Timeout erreicht! +label_process_running:Prozess läuft bereits! +label_process_completed:Prozess fertiggestellt! +label_process_aborted:Prozess abgebrochen! label_inc:Erhöhen label_dec:Verringern label_nozzle:Düse label_bed:Heizbett -label_chamber:Chamber +label_chamber:Kammer label_start:Start label_stop:Stop label_back:Zurück @@ -97,8 +97,8 @@ label_touchscreen_adjust:TSC kalib. label_more:Mehr label_screen_info:Info label_status:Status -label_simulator_bg_color:Marlin simulator background color -label_simulator_font_color:Marlin simulator font color +label_simulator_bg_color:Marlin Simulator Hintergrundfarbe +label_simulator_font_color:Marlin Simulator Schriftfarbe label_white:Weiß label_black:Schwarz label_blue:Blau @@ -121,7 +121,7 @@ label_disconnect:Trennen label_baudrate:BaudRate label_percentage:Prozent label_babystep:BabyStep -label_percentage_speed:Speed +label_percentage_speed:Geschwindigkeit label_percentage_flow:Flow label_value_zero:Null label_1_degree:1℃ @@ -191,28 +191,29 @@ label_parameter_setting:Parameter label_on:AN label_off:AUS label_smart:SMART -label_terminal_ack:Show ACK in Terminal +label_terminal_ack:Zeige ACK im Terminal label_invert_xaxis:Invertiere X-Achse label_invert_yaxis:Invertiere Y-Achse label_invert_zaxis:Invertiere Z-Achse label_move_speed:Geschwindigkeit (XYZ) label_knob_led:Drehknopf LED Farbe -label_knob_led_idle:Rotary Knob LED idle +label_knob_led_idle:Drehknopf LED idle Farbe label_m0_pause:Pause durch M0 kommando label_send_start_gcode:Start-Gcode vor Druck label_send_end_gcode:End-Gcode nach Druck -label_send_cancel_gcode:Cancel Gcode +label_send_cancel_gcode:Gcode abbrechen label_persistent_status_info:Speicherungs-status Information label_file_listmode:Datei-Ansicht als Liste -label_current_setting:Driver Current (mA) +label_current_setting:Treiber Strom (mA) label_steps_setting:Steps per mm -label_maxfeedrate:Max Feed Rate -label_maxacceleration:Max Acceleration -label_acceleration:Acceleration -label_print_acceleration:Print Acceleration -label_retract_acceleration:Retract Acceleration -label_travel_acceleration:Travel Acceleration +label_maxfeedrate:Maximale Vorschubgeschwindigkeit +label_maxacceleration:Maximale Beschleunigung +label_acceleration:Beschleunigung +label_print_acceleration:Beschleunigung beim Druck +label_retract_acceleration:Beschleunigung reduzieren +label_travel_acceleration:Beschleunigung bei der Fahrt label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -230,47 +231,47 @@ label_60_seconds:1 Min. label_120_seconds:2 Min. label_300_seconds:5 Min. label_custom_seconds:Benutz. -label_st7920_fullscreen:Marlin mode in fullscreen -label_plr_en:Power loss recovery -label_setting_save:Save settings -label_setting_reset:Reset default settings -label_setting_restore:Restore settings +label_st7920_fullscreen:Marlin Mode im Vollbild +label_plr_en:Wiederherstellung nach Stromausfall +label_setting_save:Einstellungen speichern +label_setting_reset:Einstellungen zurücksetzten +label_setting_restore:Einstellungen wiederherstellen label_eeprom_settings:EEPROM -label_eeprom_save_info:Save printer settings\nto EEPROM? -label_eeprom_restore_info:Reload settings from\nEEPROM? -label_eeprom_reset_info:Reset EEPROM to stock printer settings? -label_retract_feedrate:Retract feedrate -label_retract_length:Retract length -label_retract_swap_length:Retract swap length -label_retract_z_lift:Z lift on retraction -label_retract_auto:Auto Firmware Retract +label_eeprom_save_info:Einstellungen im\nEEPROM speichern? +label_eeprom_restore_info:Einstellungen aus\nEEPROM laden? +label_eeprom_reset_info:Standardeinstellungen des Druckers wiederherstellen? +label_retract_feedrate:Rückzugsgeschwindigkeit +label_retract_length:Rückzugslänge +label_retract_swap_length:Rückzugs Swap Länge +label_retract_z_lift:Z-Anhebung beim Rückzug +label_retract_auto:Auto-Rückzug über Firmware label_recover_feedrate:Recover feedrate label_swap_recover_feedrate:Swap recover feedrate label_recover_length:Extra recover length label_swap_recover_length:Extra recover swap length -label_start_print:Start Printing:\n %s? -label_ack_notification:ACK notification style -label_leveling_edge_distance:Bed edge distance +label_start_print:Druck starten:\n %s? +label_ack_notification:ACK Benachrichtigungs-Style +label_leveling_edge_distance:Bettecken-Abstand label_xy_unlock:Schalte XY frei label_tuning:Tuning label_pid:PID label_pid_title:PID autotune -label_pid_start_info:PID autotune may take\nsome time to complete.\nContinue? -label_pid_start_info_2:PID autotune in progress! -label_pid_start_info_3:Do not touch the screen until completed (green LED ON)! +label_pid_start_info:PID autotune benötigt\neinige Zeit.\nWeitermachen? +label_pid_start_info_2:PID autotune in läuft! +label_pid_start_info_3:Berühren Sie den Bildschirm erst bei Fertigstellung (Grüne LED AN)! label_tune_extruder:Tune steps label_tune_ext_extrude_100:Ext. 100mm -label_tune_ext_temp:Extruder tuning | Heat -label_tune_ext_templow:Desired temperature too low!\nMinimum temperature: %d C -label_tune_ext_desiredval:Temperature is not yet at the desired value -label_tune_ext_mark120mm:Mark 120 mm on your fillament\nPress '%s' when ready\nMeasure remaining length\nafter extruding -label_tune_ext_heatoff:Turn the heater off? -label_tune_ext_adj_esteps:Adjust E-Steps -label_tune_ext_esteps_saved:New E-steps saved!\nDon't forget to\nsave it in EEPROM\nNew value: %0.2f -label_tune_ext_measured:Length remaining: -label_tune_ext_old_estep:Old e-steps: %0.2f -label_tune_ext_new_estep:New e-steps: %0.2f -label_connection_settings:Connection -label_offset_tool:Offset 2nd Nozzle +label_tune_ext_temp:Extruder Tuning | heat +label_tune_ext_templow:Eingestellte Temparatur zu niedrig!\nMinimum Temparatur: %d C +label_tune_ext_desiredval:Temparatur hat noch nicht den gewünschten Wert erreicht +label_tune_ext_mark120mm:Markiere 120 mm am Filament\nDrücke '%s' wenn sie bereit sind\nMessen sie die Länge erneut\nnach der Extrusion +label_tune_ext_heatoff:Heizung abschalten? +label_tune_ext_adj_esteps:E-Steps einstellen +label_tune_ext_esteps_saved:Neue E-steps gespeichert!\nDenken Sie daran die Werte\nim EEPROM abzuspeichern\nNew value: %0.2f +label_tune_ext_measured:Restliche Länge: +label_tune_ext_old_estep:Alte e-steps: %0.2f +label_tune_ext_new_estep:Neue e-steps: %0.2f +label_connection_settings:Verbindung +label_offset_tool:Offset 2te Spitze label_hybrid_threshold:TMC HybridThreshold -label_notifications:Notifications +label_notifications:Benachrichtigungen diff --git a/TFT/src/User/API/Language/language_de.h b/TFT/src/User/API/Language/language_de.h index 185c3f67eb..5d74f49596 100644 --- a/TFT/src/User/API/Language/language_de.h +++ b/TFT/src/User/API/Language/language_de.h @@ -14,9 +14,9 @@ #define STRING_MACHINE_SETTINGS "Drucker" #define STRING_FEATURE_SETTINGS "Feature" #define STRING_SOUND "Sound" - #define STRING_TOUCH_SOUND "Touch sounds" - #define STRING_TOAST_SOUND "Toast Notifications" - #define STRING_ALERT_SOUND "Popups and Alerts" + #define STRING_TOUCH_SOUND "Touch Töne" + #define STRING_TOAST_SOUND "Toast Benachrichtigung" + #define STRING_ALERT_SOUND "Popups und Alarme" #define STRING_SHUT_DOWN "Auschalten (PS_ON)" #define STRING_RGB_SETTINGS "LED Farbe" #define STRING_RGB_OFF "LED Aus" @@ -28,26 +28,26 @@ #define STRING_POINT_3 "Punkt 3" #define STRING_POINT_4 "Punkt 4" #define STRING_POINT_5 "Punkt 5" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Bed Leveling Complete" - #define STRING_BL_SMART_FILL "Missing probe points\nhave been smart filled.\n \nNote: remember to save!" - #define STRING_BL_ENABLE "BL: on" - #define STRING_BL_DISABLE "BL: off" + #define STRING_BED_LEVELING "Bett Level" + #define STRING_BL_COMPLETE "Bett Leveling fertiggestellt" + #define STRING_BL_SMART_FILL "Fehlende Messpunkte\nwurden intelligent gefüllt.\n \nHinweis: Denken Sie daran, zu speichern!" + #define STRING_BL_ENABLE "BL: An" + #define STRING_BL_DISABLE "BL: Aus" #define STRING_ABL "ABL" #define STRING_BBL "BBL" #define STRING_UBL "UBL" #define STRING_MBL "MBL" - #define STRING_MBL_SETTINGS "Mesh Bed Leveling" - #define STRING_ABL_SETTINGS "Auto Bed Leveling" - #define STRING_ABL_SETTINGS_BBL "Bilinear Bed Leveling" - #define STRING_ABL_SETTINGS_UBL "Unified Bed Leveling" - #define STRING_ABL_SETTINGS_UBL_SAVE "Save to slot" - #define STRING_ABL_SETTINGS_UBL_LOAD "Load from slot" + #define STRING_MBL_SETTINGS "Mesh Bett Leveling" + #define STRING_ABL_SETTINGS "Auto Bett Leveling" + #define STRING_ABL_SETTINGS_BBL "Bilinear Bett Leveling" + #define STRING_ABL_SETTINGS_UBL "Unified Bett Leveling" + #define STRING_ABL_SETTINGS_UBL_SAVE "Speichern im Slot" + #define STRING_ABL_SETTINGS_UBL_LOAD "Lade vom Slot" #define STRING_ABL_SLOT0 "Slot 0" #define STRING_ABL_SLOT1 "Slot 1" #define STRING_ABL_SLOT2 "Slot 2" #define STRING_ABL_SLOT3 "Slot 3" - #define STRING_ABL_SLOT_EEPROM "Remember slot for next\nreboot? (Save EEPROM)" + #define STRING_ABL_SLOT_EEPROM "Slot für den nächsten\nRestart merken?(Im EEPROM speichern)" #define STRING_ABL_Z "Z Fade" #define STRING_BLTOUCH "BLTouch" #define STRING_BLTOUCH_TEST "Testen" @@ -55,27 +55,27 @@ #define STRING_BLTOUCH_STOW "Einfahren" #define STRING_BLTOUCH_REPEAT "Widerholen" #define STRING_Z_OFFSET "Z Offset" - #define STRING_PROBE_OFFSET "Probe Offset" - #define STRING_CONFIRMATION "Are you sure?" - #define STRING_DOWN "Down" - #define STRING_UP "Up" + #define STRING_PROBE_OFFSET "Mess Offset" + #define STRING_CONFIRMATION "Sind Sie sicher?" + #define STRING_DOWN "Ab" + #define STRING_UP "Auf" #define STRING_SAVE "Speichern" - #define STRING_RESTORE "Restore" + #define STRING_RESTORE "Wiederherstellen" #define STRING_RESET "Resetten" - #define STRING_DEFAULT "Default" - #define STRING_CLEAR "Clear" - #define STRING_NEXT "Next" - #define STRING_DISTANCE "Distance" - #define STRING_INVALID_VALUE "Invalid value(s)" - #define STRING_TIMEOUT_REACHED "Timeout reached!" - #define STRING_PROCESS_RUNNING "Process already running!" - #define STRING_PROCESS_COMPLETED "Process completed!" - #define STRING_PROCESS_ABORTED "Process aborted!" + #define STRING_DEFAULT "Standard" + #define STRING_CLEAR "Löschen" + #define STRING_NEXT "Nächste" + #define STRING_DISTANCE "Entfernung" + #define STRING_INVALID_VALUE "Ungültig(e) Wert(e)" + #define STRING_TIMEOUT_REACHED "Timeout erreicht!" + #define STRING_PROCESS_RUNNING "Prozess läuft bereits!" + #define STRING_PROCESS_COMPLETED "Prozess fertiggestellt!" + #define STRING_PROCESS_ABORTED "Prozess abgebrochen!" #define STRING_INC "Erhöhen" #define STRING_DEC "Verringern" #define STRING_NOZZLE "Düse" #define STRING_BED "Heizbett" - #define STRING_CHAMBER "Chamber" + #define STRING_CHAMBER "Kammer" #define STRING_START "Start" #define STRING_STOP "Stop" #define STRING_BACK "Zurück" @@ -95,8 +95,8 @@ #define STRING_MORE "Mehr" #define STRING_SCREEN_INFO "Info" #define STRING_STATUS "Status" - #define STRING_SIMULATOR_BG_COLOR "Marlin simulator background color" - #define STRING_SIMULATOR_FONT_COLOR "Marlin simulator font color" + #define STRING_SIMULATOR_BG_COLOR "Marlin Simulator Hintergrundfarber" + #define STRING_SIMULATOR_FONT_COLOR "Marlin Simulator Schriftfarbe" #define STRING_WHITE "Weiß" #define STRING_BLACK "Schwarz" #define STRING_BLUE "Blau" @@ -119,7 +119,7 @@ #define STRING_BAUDRATE "BaudRate" #define STRING_PERCENTAGE "Prozent" #define STRING_BABYSTEP "BabyStep" - #define STRING_PERCENTAGE_SPEED "Speed" + #define STRING_PERCENTAGE_SPEED "Geschwindigkeit" #define STRING_PERCENTAGE_FLOW "Flow" #define STRING_VALUE_ZERO "Null" #define STRING_1_DEGREE "1℃" @@ -189,27 +189,27 @@ #define STRING_ON "AN" #define STRING_OFF "AUS" #define STRING_SMART "SMART" - #define STRING_TERMINAL_ACK "Show ACK in Terminal" + #define STRING_TERMINAL_ACK "Zeige ACK im Terminal" #define STRING_INVERT_XAXIS "Invertiere X-Achse" #define STRING_INVERT_YAXIS "Invertiere Y-Achse" #define STRING_INVERT_ZAXIS "Invertiere Z-Achse" #define STRING_MOVE_SPEED "Geschwindigkeit (XYZ)" #define STRING_KNOB_LED "Drehknopf LED Farbe" - #define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" + #define STRING_KNOB_LED_IDLE "Drehknopf LED idle Farbe" #define STRING_M0_PAUSE "Pause durch M0 kommando" #define STRING_SEND_START_GCODE "Start-Gcode vor Druck" #define STRING_SEND_END_GCODE "End-Gcode nach Druck" - #define STRING_SEND_CANCEL_GCODE "Cancel Gcode" + #define STRING_SEND_CANCEL_GCODE "Gcode abbrechen" #define STRING_PERSISTENT_STATUS_INFO "Speicherungs-status Information" #define STRING_FILE_LISTMODE "Datei-Ansicht als Liste" - #define STRING_CURRENT_SETTING "Driver Current (mA)" + #define STRING_CURRENT_SETTING "Treiber Strom (mA)" #define STRING_STEPS_SETTING "Steps per mm" - #define STRING_MAXFEEDRATE "Max Feed Rate" - #define STRING_MAXACCELERATION "Max Acceleration" - #define STRING_ACCELERATION "Acceleration" - #define STRING_PRINT_ACCELERATION "Print Acceleration" - #define STRING_RETRACT_ACCELERATION "Retract Acceleration" - #define STRING_TRAVEL_ACCELERATION "Travel Acceleration" + #define STRING_MAXFEEDRATE "Maximale Vorschubgeschwindigkeit" + #define STRING_MAXACCELERATION "Maximale Beschleunigung" + #define STRING_ACCELERATION "Beschleunigung" + #define STRING_PRINT_ACCELERATION "Beschleunigung beim Druck" + #define STRING_RETRACT_ACCELERATION "Beschleunigung reduzieren" + #define STRING_TRAVEL_ACCELERATION "Beschleunigung bei der Fahrt" #define STRING_JERK "Jerk" #define STRING_JUNCTION_DEVIATION "Junction Deviation" #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" @@ -229,49 +229,49 @@ #define STRING_120_SECONDS "2 Min." #define STRING_300_SECONDS "5 Min." #define STRING_CUSTOM_SECONDS "Benutz." - #define STRING_ST7920_FULLSCREEN "Marlin mode in fullscreen" - #define STRING_PLR_EN "Power loss recovery" - #define STRING_SETTING_SAVE "Save settings" - #define STRING_SETTING_RESET "Reset default settings" - #define STRING_SETTING_RESTORE "Restore settings" + #define STRING_ST7920_FULLSCREEN "Marlin Mode im Vollbild" + #define STRING_PLR_EN "Wiederherstellung nach Stromausfall" + #define STRING_SETTING_SAVE "Einstellungen speichern" + #define STRING_SETTING_RESET "Einstellungen zurücksetzten" + #define STRING_SETTING_RESTORE "Einstellungen wiederherstellen" #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_EEPROM_SAVE_INFO "Save printer settings\nto EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Reload settings from\nEEPROM?" - #define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" - #define STRING_RETRACT_FEEDRATE "Retract feedrate" - #define STRING_RETRACT_LENGTH "Retract length" - #define STRING_RETRACT_SWAP_LENGTH "Retract swap length" - #define STRING_RETRACT_Z_LIFT "Z lift on retraction" - #define STRING_RETRACT_AUTO "Auto Firmware Retract" + #define STRING_EEPROM_SAVE_INFO "Einstellungen im\nEEPROM speichern?" + #define STRING_EEPROM_RESTORE_INFO "Einstellungen aus\nEEPROM laden?" + #define STRING_EEPROM_RESET_INFO "Standardeinstellungen des Druckers wiederherstellen?" + #define STRING_RETRACT_FEEDRATE "Rückzugsgeschwindigkeit" + #define STRING_RETRACT_LENGTH "Rückzugslänge" + #define STRING_RETRACT_SWAP_LENGTH "Rückzugs Swap Länge" + #define STRING_RETRACT_Z_LIFT "Z-Anhebung beim Rückzug" + #define STRING_RETRACT_AUTO "Auto-Rückzug über Firmware" #define STRING_RECOVER_FEEDRATE "Recover feedrate" #define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" #define STRING_RECOVER_LENGTH "Extra recover length" #define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" - #define STRING_START_PRINT "Start Printing:\n %s?" - #define STRING_ACK_NOTIFICATION "ACK notification style" - #define STRING_LEVELING_EDGE_DISTANCE "Bed edge distance" + #define STRING_START_PRINT "Druck starten:\n %s?" + #define STRING_ACK_NOTIFICATION "ACK Benachrichtigungs-Style" + #define STRING_LEVELING_EDGE_DISTANCE "Bettecken-Abstand" #define STRING_XY_UNLOCK "Schalte XY frei" #define STRING_TUNING "Tuning" #define STRING_PID "PID" #define STRING_PID_TITLE "PID autotune" - #define STRING_PID_START_INFO "PID autotune may take\nsome time to complete.\nContinue?" - #define STRING_PID_START_INFO_2 "PID autotune in progress!" - #define STRING_PID_START_INFO_3 "Do not touch the screen until completed (green LED ON)!" + #define STRING_PID_START_INFO "PID autotune benötigt\neinige Zeit.\nWeitermachen?" + #define STRING_PID_START_INFO_2 "PID autotune läuft!" + #define STRING_PID_START_INFO_3 "Berühren Sie den Bildschirm erst bei Fertigstellung (Grüne LED AN)!" #define STRING_TUNE_EXTRUDER "Tune steps" #define STRING_TUNE_EXT_EXTRUDE_100 "Ext. 100mm" - #define STRING_TUNE_EXT_TEMP "Extruder tuning | Heat" - #define STRING_TUNE_EXT_TEMPLOW "Desired temperature too low!\nMinimum temperature: %d C" - #define STRING_TUNE_EXT_DESIREDVAL "Temperature is not yet at the desired value" - #define STRING_TUNE_EXT_MARK120MM "Mark 120 mm on your fillament\nPress '%s' when ready\nMeasure remaining length\nafter extruding" - #define STRING_TUNE_EXT_HEATOFF "Turn the heater off?" - #define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps saved!\nDon't forget to\nsave it in EEPROM\nNew value: %0.2f" - #define STRING_TUNE_EXT_MEASURED "Length remaining:" - #define STRING_TUNE_EXT_OLD_ESTEP "Old e-steps: %0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "New e-steps: %0.2f" - #define STRING_CONNECTION_SETTINGS "Connection" - #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" + #define STRING_TUNE_EXT_TEMP "Extruder Tuning | heat" + #define STRING_TUNE_EXT_TEMPLOW "Eingestellte Temparatur zu niedrig!\nMinimum Temparatur: %d C" + #define STRING_TUNE_EXT_DESIREDVAL "Temparatur hat noch nicht den gewünschten Wert erreicht" + #define STRING_TUNE_EXT_MARK120MM "Markiere 120 mm am Filament\nDrücke '%s' wenn sie bereit sind\nMessen sie die Länge erneut\nnach der Extrusion" + #define STRING_TUNE_EXT_HEATOFF "Heizung abschalten?" + #define STRING_TUNE_EXT_ADJ_ESTEPS "E-Steps einstellen" + #define STRING_TUNE_EXT_ESTEPS_SAVED "Neue E-steps gespeichert!\nDenken Sie daran die Werte\nim EEPROM abzuspeichern\nNew value: %0.2f" + #define STRING_TUNE_EXT_MEASURED "Restliche Länge:" + #define STRING_TUNE_EXT_OLD_ESTEP "Alte e-steps: %0.2f" + #define STRING_TUNE_EXT_NEW_ESTEP "Neue e-steps: %0.2f" + #define STRING_CONNECTION_SETTINGS "Verbindung" + #define STRING_OFFSET_TOOL "Offset 2te Spitze" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_NOTIFICATIONS "Notifications" + #define STRING_NOTIFICATIONS "Benachrichtigungen" #endif diff --git a/TFT/src/User/Language Packs/language_de.ini b/TFT/src/User/Language Packs/language_de.ini index 5f1bf6e2f2..e86d2ae783 100644 --- a/TFT/src/User/Language Packs/language_de.ini +++ b/TFT/src/User/Language Packs/language_de.ini @@ -16,9 +16,9 @@ label_screen_settings:Bildschirm label_machine_settings:Drucker label_feature_settings:Feature label_sound:Sound -label_touch_sound:Touch sounds -label_toast_sound:Toast Notifications -label_alert_sound:Popups and Alerts +label_touch_sound:Touch Töne +label_toast_sound:Toast Benachrichtigung +label_alert_sound:Popups und Alarme label_shut_down:Auschalten (PS_ON) label_rgb_settings:LED Farbe label_rgb_off:LED Aus @@ -30,26 +30,26 @@ label_point_2:Punkt 2 label_point_3:Punkt 3 label_point_4:Punkt 4 label_point_5:Punkt 5 -label_bed_leveling:Bed Level -label_bl_complete:Bed Leveling Complete -label_bl_smart_fill:Missing probe points\nhave been smart filled.\n \nNote: remember to save! -label_bl_enable:BL: on -label_bl_disable:BL: off +label_bed_leveling:Bett Level +label_bl_complete:Bett Leveling fertiggestellt +label_bl_smart_fill:Fehlende Messpunkte\nwurden intelligent gefüllt.\n \nHinweis: Denken Sie daran, zu speichern! +label_bl_enable:BL: An +label_bl_disable:BL: Aus label_abl:ABL label_bbl:BBL label_ubl:UBL label_mbl:MBL -label_mbl_settings:Mesh Bed Leveling -label_abl_settings:Auto Bed Leveling -label_abl_settings_bbl:Bilinear Bed Leveling -label_abl_settings_ubl:Unified Bed Leveling -label_abl_settings_ubl_save:Save to slot -label_abl_settings_ubl_load:Load from slot +label_mbl_settings:Mesh Bett Leveling +label_abl_settings:Auto Bett Leveling +label_abl_settings_bbl:Bilinear Bett Leveling +label_abl_settings_ubl:Unified Bett Leveling +label_abl_settings_ubl_save:Speichern im Slot +label_abl_settings_ubl_load:Lade vom Slot label_abl_slot0:Slot 0 label_abl_slot1:Slot 1 label_abl_slot2:Slot 2 label_abl_slot3:Slot 3 -label_abl_slot_eeprom:Remember slot for next\nreboot? (Save EEPROM) +label_abl_slot_eeprom:Slot für den nächsten\nRestart merken?(Im EEPROM speichern) label_abl_z:Z Fade label_bltouch:BLTouch label_bltouch_test:Testen @@ -57,27 +57,27 @@ label_bltouch_deploy:Ausfahren label_bltouch_stow:Einfahren label_bltouch_repeat:Widerholen label_z_offset:Z Offset -label_probe_offset:Probe Offset -label_confirmation:Are you sure? -label_down:Down -label_up:Up +label_probe_offset:Mess Offset +label_confirmation:Sind Sie sicher? +label_down:Ab +label_up:Auf label_save:Speichern -label_restore:Restore +label_restore:Wiederherstellen label_reset:Resetten -label_default:Default -label_clear:Clear -label_next:Next -label_distance:Distance -label_invalid_value:Invalid value(s) -label_timeout_reached:Timeout reached! -label_process_running:Process already running! -label_process_completed:Process completed! -label_process_aborted:Process aborted! +label_default:Standard +label_clear:Löschen +label_next:Nächste +label_distance:Entfernung +label_invalid_value:Ungültig(e) Wert(e) +label_timeout_reached:Timeout erreicht! +label_process_running:Prozess läuft bereits! +label_process_completed:Prozess fertiggestellt! +label_process_aborted:Prozess abgebrochen! label_inc:Erhöhen label_dec:Verringern label_nozzle:Düse label_bed:Heizbett -label_chamber:Chamber +label_chamber:Kammer label_start:Start label_stop:Stop label_back:Zurück @@ -97,8 +97,8 @@ label_touchscreen_adjust:TSC kalib. label_more:Mehr label_screen_info:Info label_status:Status -label_simulator_bg_color:Marlin simulator background color -label_simulator_font_color:Marlin simulator font color +label_simulator_bg_color:Marlin Simulator Hintergrundfarbe +label_simulator_font_color:Marlin Simulator Schriftfarbe label_white:Weiß label_black:Schwarz label_blue:Blau @@ -121,7 +121,7 @@ label_disconnect:Trennen label_baudrate:BaudRate label_percentage:Prozent label_babystep:BabyStep -label_percentage_speed:Speed +label_percentage_speed:Geschwindigkeit label_percentage_flow:Flow label_value_zero:Null label_1_degree:1℃ @@ -191,27 +191,27 @@ label_parameter_setting:Parameter label_on:AN label_off:AUS label_smart:SMART -label_terminal_ack:Show ACK in Terminal +label_terminal_ack:Zeige ACK im Terminal label_invert_xaxis:Invertiere X-Achse label_invert_yaxis:Invertiere Y-Achse label_invert_zaxis:Invertiere Z-Achse label_move_speed:Geschwindigkeit (XYZ) label_knob_led:Drehknopf LED Farbe -label_knob_led_idle:Rotary Knob LED idle +label_knob_led_idle:Drehknopf LED idle Farbe label_m0_pause:Pause durch M0 kommando label_send_start_gcode:Start-Gcode vor Druck label_send_end_gcode:End-Gcode nach Druck -label_send_cancel_gcode:Cancel Gcode +label_send_cancel_gcode:Gcode abbrechen label_persistent_status_info:Speicherungs-status Information label_file_listmode:Datei-Ansicht als Liste -label_current_setting:Driver Current (mA) +label_current_setting:Treiber Strom (mA) label_steps_setting:Steps per mm -label_maxfeedrate:Max Feed Rate -label_maxacceleration:Max Acceleration -label_acceleration:Acceleration -label_print_acceleration:Print Acceleration -label_retract_acceleration:Retract Acceleration -label_travel_acceleration:Travel Acceleration +label_maxfeedrate:Maximale Vorschubgeschwindigkeit +label_maxacceleration:Maximale Beschleunigung +label_acceleration:Beschleunigung +label_print_acceleration:Beschleunigung beim Druck +label_retract_acceleration:Beschleunigung reduzieren +label_travel_acceleration:Beschleunigung bei der Fahrt label_jerk:Jerk label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity @@ -231,47 +231,47 @@ label_60_seconds:1 Min. label_120_seconds:2 Min. label_300_seconds:5 Min. label_custom_seconds:Benutz. -label_st7920_fullscreen:Marlin mode in fullscreen -label_plr_en:Power loss recovery -label_setting_save:Save settings -label_setting_reset:Reset default settings -label_setting_restore:Restore settings +label_st7920_fullscreen:Marlin Mode im Vollbild +label_plr_en:Wiederherstellung nach Stromausfall +label_setting_save:Einstellungen speichern +label_setting_reset:Einstellungen zurücksetzten +label_setting_restore:Einstellungen wiederherstellen label_eeprom_settings:EEPROM -label_eeprom_save_info:Save printer settings\nto EEPROM? -label_eeprom_restore_info:Reload settings from\nEEPROM? -label_eeprom_reset_info:Reset EEPROM to stock printer settings? -label_retract_feedrate:Retract feedrate -label_retract_length:Retract length -label_retract_swap_length:Retract swap length -label_retract_z_lift:Z lift on retraction -label_retract_auto:Auto Firmware Retract +label_eeprom_save_info:Einstellungen im\nEEPROM speichern? +label_eeprom_restore_info:Einstellungen aus\nEEPROM laden? +label_eeprom_reset_info:Standardeinstellungen des Druckers wiederherstellen? +label_retract_feedrate:Rückzugsgeschwindigkeit +label_retract_length:Rückzugslänge +label_retract_swap_length:Rückzugs Swap Länge +label_retract_z_lift:Z-Anhebung beim Rückzug +label_retract_auto:Auto-Rückzug über Firmware label_recover_feedrate:Recover feedrate label_swap_recover_feedrate:Swap recover feedrate label_recover_length:Extra recover length label_swap_recover_length:Extra recover swap length -label_start_print:Start Printing:\n %s? -label_ack_notification:ACK notification style -label_leveling_edge_distance:Bed edge distance +label_start_print:Druck starten:\n %s? +label_ack_notification:ACK Benachrichtigungs-Style +label_leveling_edge_distance:Bettecken-Abstand label_xy_unlock:Schalte XY frei label_tuning:Tuning label_pid:PID label_pid_title:PID autotune -label_pid_start_info:PID autotune may take\nsome time to complete.\nContinue? -label_pid_start_info_2:PID autotune in progress! -label_pid_start_info_3:Do not touch the screen until completed (green LED ON)! +label_pid_start_info:PID autotune benötigt\neinige Zeit.\nWeitermachen? +label_pid_start_info_2:PID autotune in läuft! +label_pid_start_info_3:Berühren Sie den Bildschirm erst bei Fertigstellung (Grüne LED AN)! label_tune_extruder:Tune steps label_tune_ext_extrude_100:Ext. 100mm -label_tune_ext_temp:Extruder tuning | Heat -label_tune_ext_templow:Desired temperature too low!\nMinimum temperature: %d C -label_tune_ext_desiredval:Temperature is not yet at the desired value -label_tune_ext_mark120mm:Mark 120 mm on your fillament\nPress '%s' when ready\nMeasure remaining length\nafter extruding -label_tune_ext_heatoff:Turn the heater off? -label_tune_ext_adj_esteps:Adjust E-Steps -label_tune_ext_esteps_saved:New E-steps saved!\nDon't forget to\nsave it in EEPROM\nNew value: %0.2f -label_tune_ext_measured:Length remaining: -label_tune_ext_old_estep:Old e-steps: %0.2f -label_tune_ext_new_estep:New e-steps: %0.2f -label_connection_settings:Connection -label_offset_tool:Offset 2nd Nozzle +label_tune_ext_temp:Extruder Tuning | heat +label_tune_ext_templow:Eingestellte Temparatur zu niedrig!\nMinimum Temparatur: %d C +label_tune_ext_desiredval:Temparatur hat noch nicht den gewünschten Wert erreicht +label_tune_ext_mark120mm:Markiere 120 mm am Filament\nDrücke '%s' wenn sie bereit sind\nMessen sie die Länge erneut\nnach der Extrusion +label_tune_ext_heatoff:Heizung abschalten? +label_tune_ext_adj_esteps:E-Steps einstellen +label_tune_ext_esteps_saved:Neue E-steps gespeichert!\nDenken Sie daran die Werte\nim EEPROM abzuspeichern\nNew value: %0.2f +label_tune_ext_measured:Restliche Länge: +label_tune_ext_old_estep:Alte e-steps: %0.2f +label_tune_ext_new_estep:Neue e-steps: %0.2f +label_connection_settings:Verbindung +label_offset_tool:Offset 2te Spitze label_hybrid_threshold:TMC HybridThreshold -label_notifications:Notifications +label_notifications:Benachrichtigungen From df413fcd56a46102d09362af0339a6c163213f21 Mon Sep 17 00:00:00 2001 From: digant73 <64427768+digant73@users.noreply.github.com> Date: Wed, 28 Oct 2020 13:22:08 +0100 Subject: [PATCH 7/9] Mesh Editor + improvements + bugfix (replace PR #1154) (#1188) * minor fix for a bug causing a freeze during configuration update * fixed bug on MBL menu for some Marlin FW not automatically disabling software endstops during MBL process * updated UP, DOWN, LEFT and RIGHT symbols --- .../Language Packs/language_am.ini | 3 + .../Language Packs/language_ca.ini | 3 + .../Language Packs/language_cn.ini | 3 + .../Language Packs/language_cz.ini | 3 + .../Language Packs/language_de.ini | 2 + .../Language Packs/language_du.ini | 3 + .../Language Packs/language_en.ini | 3 + .../Language Packs/language_es.ini | 3 + .../Language Packs/language_fr.ini | 3 + .../Language Packs/language_gr.ini | 3 + .../Language Packs/language_hu.ini | 3 + .../Language Packs/language_it.ini | 3 + .../Language Packs/language_jp.ini | 3 + .../Language Packs/language_pl.ini | 3 + .../Language Packs/language_pt.ini | 3 + .../Language Packs/language_ru.ini | 3 + .../Language Packs/language_sk.ini | 3 + .../Language Packs/language_sl.ini | 3 + .../Language Packs/language_tc.ini | 3 + .../Language Packs/language_tr.ini | 3 + .../config.ini | 6 + .../Language Packs/language_am.ini | 3 + .../Language Packs/language_ca.ini | 3 + .../Language Packs/language_cn.ini | 3 + .../Language Packs/language_cz.ini | 3 + .../Language Packs/language_de.ini | 2 + .../Language Packs/language_du.ini | 3 + .../Language Packs/language_en.ini | 3 + .../Language Packs/language_es.ini | 3 + .../Language Packs/language_fr.ini | 3 + .../Language Packs/language_gr.ini | 3 + .../Language Packs/language_hu.ini | 3 + .../Language Packs/language_it.ini | 3 + .../Language Packs/language_jp.ini | 3 + .../Language Packs/language_pl.ini | 3 + .../Language Packs/language_pt.ini | 3 + .../Language Packs/language_ru.ini | 3 + .../Language Packs/language_sk.ini | 3 + .../Language Packs/language_sl.ini | 3 + .../Language Packs/language_tc.ini | 3 + .../Language Packs/language_tr.ini | 3 + .../config.ini | 6 + TFT/src/User/API/BabystepControl.c | 29 +- TFT/src/User/API/BabystepControl.h | 4 +- TFT/src/User/API/Language/Language.inc | 2 + TFT/src/User/API/Language/language_am.h | 2 + TFT/src/User/API/Language/language_ca.h | 2 + TFT/src/User/API/Language/language_cn.h | 2 + TFT/src/User/API/Language/language_cz.h | 2 + TFT/src/User/API/Language/language_de.h | 2 + TFT/src/User/API/Language/language_du.h | 2 + TFT/src/User/API/Language/language_en.h | 2 + TFT/src/User/API/Language/language_es.h | 2 + TFT/src/User/API/Language/language_fr.h | 2 + TFT/src/User/API/Language/language_gr.h | 2 + TFT/src/User/API/Language/language_hu.h | 2 + TFT/src/User/API/Language/language_it.h | 2 + TFT/src/User/API/Language/language_jp.h | 2 + TFT/src/User/API/Language/language_keywords.h | 3 +- TFT/src/User/API/Language/language_pl.h | 2 + TFT/src/User/API/Language/language_pt.h | 2 + TFT/src/User/API/Language/language_ru.h | 2 + TFT/src/User/API/Language/language_sk.h | 2 + TFT/src/User/API/Language/language_sl.h | 2 + TFT/src/User/API/Language/language_tc.h | 2 + TFT/src/User/API/Language/language_tr.h | 2 + TFT/src/User/API/Notification.c | 14 +- TFT/src/User/API/ProbeHeightControl.c | 63 ++ TFT/src/User/API/ProbeHeightControl.h | 36 + TFT/src/User/API/ProbeOffsetControl.c | 56 +- TFT/src/User/API/ProbeOffsetControl.h | 7 +- TFT/src/User/API/Settings.c | 3 + TFT/src/User/API/Settings.h | 3 + TFT/src/User/API/config.c | 8 + TFT/src/User/API/config.h | 2 + TFT/src/User/API/config.inc | 2 + TFT/src/User/API/flashStore.c | 6 +- TFT/src/User/API/flashStore.h | 2 +- TFT/src/User/API/icon_list.inc | 1 + TFT/src/User/API/interfaceCmd.c | 4 +- TFT/src/User/API/menu.c | 39 +- TFT/src/User/API/menu.h | 6 +- TFT/src/User/API/parseACK.c | 47 +- TFT/src/User/Configuration.h | 30 +- TFT/src/User/Language Packs/language_am.ini | 2 + TFT/src/User/Language Packs/language_ca.ini | 2 + TFT/src/User/Language Packs/language_cn.ini | 2 + TFT/src/User/Language Packs/language_cz.ini | 2 + TFT/src/User/Language Packs/language_de.ini | 2 + TFT/src/User/Language Packs/language_du.ini | 2 + TFT/src/User/Language Packs/language_en.ini | 2 + TFT/src/User/Language Packs/language_es.ini | 2 + TFT/src/User/Language Packs/language_fr.ini | 2 + TFT/src/User/Language Packs/language_gr.ini | 2 + TFT/src/User/Language Packs/language_hu.ini | 2 + TFT/src/User/Language Packs/language_it.ini | 3 + TFT/src/User/Language Packs/language_jp.ini | 2 + TFT/src/User/Language Packs/language_pl.ini | 2 + TFT/src/User/Language Packs/language_pt.ini | 2 + TFT/src/User/Language Packs/language_ru.ini | 2 + TFT/src/User/Language Packs/language_sk.ini | 2 + TFT/src/User/Language Packs/language_sl.ini | 2 + TFT/src/User/Language Packs/language_tc.ini | 2 + TFT/src/User/Language Packs/language_tr.ini | 2 + TFT/src/User/Menu/ABL.c | 79 +- TFT/src/User/Menu/ABL.h | 4 + TFT/src/User/Menu/Babystep.c | 69 +- TFT/src/User/Menu/BedLeveling.c | 11 +- TFT/src/User/Menu/Leveling.c | 28 +- TFT/src/User/Menu/MBL.c | 156 +-- TFT/src/User/Menu/MBL.h | 1 + TFT/src/User/Menu/MachineSettings.c | 58 +- TFT/src/User/Menu/MeshEditor.c | 960 ++++++++++++++++++ TFT/src/User/Menu/MeshEditor.h | 21 + TFT/src/User/Menu/MeshTuner.c | 181 ++++ TFT/src/User/Menu/MeshTuner.h | 16 + TFT/src/User/Menu/Pid.c | 125 +-- TFT/src/User/Menu/Pid.h | 1 + TFT/src/User/Menu/ProbeOffset.c | 80 +- TFT/src/User/Menu/TuneExtruder.c | 76 +- TFT/src/User/Menu/TuneExtruder.h | 7 - TFT/src/User/SanityCheck.c | 18 +- TFT/src/User/SanityCheck.h | 45 +- TFT/src/User/config.ini | 6 + TFT/src/User/includes.h | 3 + 125 files changed, 2115 insertions(+), 408 deletions(-) create mode 100644 TFT/src/User/API/ProbeHeightControl.c create mode 100644 TFT/src/User/API/ProbeHeightControl.h create mode 100644 TFT/src/User/Menu/MeshEditor.c create mode 100644 TFT/src/User/Menu/MeshEditor.h create mode 100644 TFT/src/User/Menu/MeshTuner.c create mode 100644 TFT/src/User/Menu/MeshTuner.h diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_am.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_am.ini index ca25f6dca9..a36d4ac55f 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_am.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_am.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_ca.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_ca.ini index 6bd5926515..8a457da711 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_ca.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_ca.ini @@ -213,6 +213,7 @@ label_print_acceleration:Acceleració Impressió label_retract_acceleration:Acceleració Retracció label_travel_acceleration:Acceleració Viatge label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:Sensibilitat al topall TMC label_fwretract:Retracció de FW label_fwrecover:Recuperació de Retracció de FW @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_cn.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_cn.ini index 48e8a1bf37..e1964fcaa4 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_cn.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_cn.ini @@ -213,6 +213,7 @@ label_print_acceleration:打印加速度 label_retract_acceleration:回抽加速度 label_travel_acceleration:空载加速度 label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC堵转检测灵敏度 label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,4 +275,6 @@ label_connection_settings:连接 label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_cz.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_cz.ini index c5fc956e54..c98c05c424 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_cz.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_cz.ini @@ -213,6 +213,7 @@ label_print_acceleration:Zrychlení při tisku label_retract_acceleration:Zrychlení retrakcí label_travel_acceleration:Zrychlení při přesunu label_jerk:Jerk-trhnutí +label_junction_deviation:Junction Deviation label_bump_sensitivity:Citlivost nárazu TMC label_fwretract:FW Zatažení label_fwrecover:FW Obnovení @@ -274,4 +275,6 @@ label_connection_settings:Připojení label_offset_tool:Offset 2.trysky label_hybrid_threshold:TMC Hybridní práh label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_de.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_de.ini index e86d2ae783..7fdc00039a 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_de.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_de.ini @@ -275,3 +275,5 @@ label_connection_settings:Verbindung label_offset_tool:Offset 2te Spitze label_hybrid_threshold:TMC HybridThreshold label_notifications:Benachrichtigungen +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_du.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_du.ini index cd362099e2..0ee8161a17 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_du.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_du.ini @@ -213,6 +213,7 @@ label_print_acceleration:Afdruk Acceleratie label_retract_acceleration:Retract Acceleratie label_travel_acceleration:Travel Acceleratie label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitiviteit label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,4 +275,6 @@ label_connection_settings:Connecties label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_en.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_en.ini index d85867a008..78c0c4000b 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_en.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_en.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_es.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_es.ini index 4762207530..a310c649e7 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_es.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_es.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_fr.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_fr.ini index 5d2bb6519a..27b3e75217 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_fr.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_fr.ini @@ -213,6 +213,7 @@ label_print_acceleration:Impression label_retract_acceleration:Rétraction label_travel_acceleration:Déplacements label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:Sensibilité TMC label_fwretract:Rétraction FW label_fwrecover:Récupération FW @@ -274,3 +275,5 @@ label_connection_settings:Connexion label_offset_tool:Offset 2ème Buse label_hybrid_threshold:Seuil Hybride TMC label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_gr.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_gr.ini index 622747835a..eb325e3aa4 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_gr.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_gr.ini @@ -213,6 +213,7 @@ label_print_acceleration:Επιτάχυνση εκτύπωσης label_retract_acceleration:Eπιτάχυνση ανάκλησης label_travel_acceleration:Επιτάχυνση ταξιδιού label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC ευαισθησία χτυπήματος label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_hu.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_hu.ini index f4191a2f6f..821b635d62 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_hu.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_hu.ini @@ -213,6 +213,7 @@ label_print_acceleration:Nyomtatás Gyorsulás label_retract_acceleration:Adagoló Gyorsulása label_travel_acceleration:Utazási Gyorsulás label_jerk:Rántás +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC ütközés érzékenység label_fwretract:FW Visszahúzás label_fwrecover:FW Visszahúzás helyreáll. @@ -274,3 +275,5 @@ label_connection_settings:Kapcsolat label_offset_tool:Második fej eltolása label_hybrid_threshold:TMC Hibrid Küszöbérték label_notifications:Értesítések +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_it.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_it.ini index 3509235e0d..3804978daf 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_it.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_it.ini @@ -213,6 +213,7 @@ label_print_acceleration:Accel. Stampa label_retract_acceleration:Accel. Ritrazione label_travel_acceleration:Accel. Spostamenti label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC Sensibilità Urto label_fwretract:FW Retrazione label_fwrecover:FW Recupero Retrazione @@ -274,3 +275,5 @@ label_connection_settings:Imp.Conn. label_offset_tool:Offset 2nd Ugello label_hybrid_threshold:TMC Soglia Modo Ibrido label_notifications:Notifiche +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_jp.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_jp.ini index 694c47c5ed..4f54ab1444 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_jp.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_jp.ini @@ -213,6 +213,7 @@ label_print_acceleration:印刷加速度 label_retract_acceleration:引き戻し加速度 label_travel_acceleration:空振り加速度 label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC バンプ感度 label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,4 +275,6 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_pl.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_pl.ini index 06e0ce8c2a..4a3b39038b 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_pl.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_pl.ini @@ -214,6 +214,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -275,3 +276,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_pt.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_pt.ini index b349b40bca..2b559ff889 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_pt.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_pt.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_ru.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_ru.ini index 3c844a2c0e..b0cde15f3d 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_ru.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_ru.ini @@ -213,6 +213,7 @@ label_print_acceleration:Печати label_retract_acceleration:Ретракта label_travel_acceleration:Перемещения label_jerk:Рывок +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC чувствительность удара label_fwretract:M207 ретракт label_fwrecover:M208 восстановление ретракта @@ -274,3 +275,5 @@ label_connection_settings:Соединение label_offset_tool:Смещение 2-го сопла label_hybrid_threshold:TMC гибридный порог label_notifications:Уведомления +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_sk.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_sk.ini index 6b407a7d04..24ff555401 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_sk.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_sk.ini @@ -213,6 +213,7 @@ label_print_acceleration:Akcelerácia pri tlači label_retract_acceleration:Akcelerácia retrakcie label_travel_acceleration:Akcelerácia presunu label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump citlivosť label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_sl.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_sl.ini index 4f38434286..bf832671ce 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_sl.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_sl.ini @@ -213,6 +213,7 @@ label_print_acceleration:Pospešek tiska label_retract_acceleration:Pospešek privleka fil. label_travel_acceleration:Pospešek pomika label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC občutljivost trka label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_tc.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_tc.ini index dde9ff9a70..339c956ce9 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_tc.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_tc.ini @@ -213,6 +213,7 @@ label_print_acceleration:列印加速度 label_retract_acceleration:回抽加速度 label_travel_acceleration:空跑加速度 label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:堵料檢測靈敏度 label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:连接 label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_tr.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_tr.ini index 953c4880dd..969badd339 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_tr.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/Language Packs/language_tr.ini @@ -213,6 +213,7 @@ label_print_acceleration:Baskı İvmelenmesi label_retract_acceleration:Geriçekme İvmelenmesi label_travel_acceleration:Gezinti İvmelenmesi label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC çarpma hassasiyeti label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/config.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/config.ini index 6f69383dda..13a0a04a3f 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/config.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/config.ini @@ -71,6 +71,12 @@ list_border_color:15 # List View button background color list_button_bg_color:15 +# Color used by the Mesh Editor for drawing the mesh with the minimun value in the grid +mesh_min_color:7 + +# Color used by the Mesh Editor for drawing the mesh with the maximum value in the grid +mesh_max_color:2 + #### Rotate UI 180 degrees # Options: [enable: 1, disable: 0] rotate_ui:0 diff --git a/Copy to SD Card root directory to update/Language Packs/language_am.ini b/Copy to SD Card root directory to update/Language Packs/language_am.ini index ca25f6dca9..a36d4ac55f 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_am.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_am.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_ca.ini b/Copy to SD Card root directory to update/Language Packs/language_ca.ini index 6bd5926515..8a457da711 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_ca.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_ca.ini @@ -213,6 +213,7 @@ label_print_acceleration:Acceleració Impressió label_retract_acceleration:Acceleració Retracció label_travel_acceleration:Acceleració Viatge label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:Sensibilitat al topall TMC label_fwretract:Retracció de FW label_fwrecover:Recuperació de Retracció de FW @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_cn.ini b/Copy to SD Card root directory to update/Language Packs/language_cn.ini index 48e8a1bf37..e1964fcaa4 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_cn.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_cn.ini @@ -213,6 +213,7 @@ label_print_acceleration:打印加速度 label_retract_acceleration:回抽加速度 label_travel_acceleration:空载加速度 label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC堵转检测灵敏度 label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,4 +275,6 @@ label_connection_settings:连接 label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_cz.ini b/Copy to SD Card root directory to update/Language Packs/language_cz.ini index c5fc956e54..c98c05c424 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_cz.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_cz.ini @@ -213,6 +213,7 @@ label_print_acceleration:Zrychlení při tisku label_retract_acceleration:Zrychlení retrakcí label_travel_acceleration:Zrychlení při přesunu label_jerk:Jerk-trhnutí +label_junction_deviation:Junction Deviation label_bump_sensitivity:Citlivost nárazu TMC label_fwretract:FW Zatažení label_fwrecover:FW Obnovení @@ -274,4 +275,6 @@ label_connection_settings:Připojení label_offset_tool:Offset 2.trysky label_hybrid_threshold:TMC Hybridní práh label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_de.ini b/Copy to SD Card root directory to update/Language Packs/language_de.ini index e86d2ae783..7fdc00039a 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_de.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_de.ini @@ -275,3 +275,5 @@ label_connection_settings:Verbindung label_offset_tool:Offset 2te Spitze label_hybrid_threshold:TMC HybridThreshold label_notifications:Benachrichtigungen +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_du.ini b/Copy to SD Card root directory to update/Language Packs/language_du.ini index cd362099e2..0ee8161a17 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_du.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_du.ini @@ -213,6 +213,7 @@ label_print_acceleration:Afdruk Acceleratie label_retract_acceleration:Retract Acceleratie label_travel_acceleration:Travel Acceleratie label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitiviteit label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,4 +275,6 @@ label_connection_settings:Connecties label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_en.ini b/Copy to SD Card root directory to update/Language Packs/language_en.ini index d85867a008..78c0c4000b 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_en.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_en.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_es.ini b/Copy to SD Card root directory to update/Language Packs/language_es.ini index 4762207530..a310c649e7 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_es.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_es.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_fr.ini b/Copy to SD Card root directory to update/Language Packs/language_fr.ini index 5d2bb6519a..27b3e75217 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_fr.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_fr.ini @@ -213,6 +213,7 @@ label_print_acceleration:Impression label_retract_acceleration:Rétraction label_travel_acceleration:Déplacements label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:Sensibilité TMC label_fwretract:Rétraction FW label_fwrecover:Récupération FW @@ -274,3 +275,5 @@ label_connection_settings:Connexion label_offset_tool:Offset 2ème Buse label_hybrid_threshold:Seuil Hybride TMC label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_gr.ini b/Copy to SD Card root directory to update/Language Packs/language_gr.ini index 622747835a..eb325e3aa4 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_gr.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_gr.ini @@ -213,6 +213,7 @@ label_print_acceleration:Επιτάχυνση εκτύπωσης label_retract_acceleration:Eπιτάχυνση ανάκλησης label_travel_acceleration:Επιτάχυνση ταξιδιού label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC ευαισθησία χτυπήματος label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_hu.ini b/Copy to SD Card root directory to update/Language Packs/language_hu.ini index f4191a2f6f..821b635d62 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_hu.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_hu.ini @@ -213,6 +213,7 @@ label_print_acceleration:Nyomtatás Gyorsulás label_retract_acceleration:Adagoló Gyorsulása label_travel_acceleration:Utazási Gyorsulás label_jerk:Rántás +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC ütközés érzékenység label_fwretract:FW Visszahúzás label_fwrecover:FW Visszahúzás helyreáll. @@ -274,3 +275,5 @@ label_connection_settings:Kapcsolat label_offset_tool:Második fej eltolása label_hybrid_threshold:TMC Hibrid Küszöbérték label_notifications:Értesítések +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_it.ini b/Copy to SD Card root directory to update/Language Packs/language_it.ini index 3509235e0d..3804978daf 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_it.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_it.ini @@ -213,6 +213,7 @@ label_print_acceleration:Accel. Stampa label_retract_acceleration:Accel. Ritrazione label_travel_acceleration:Accel. Spostamenti label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC Sensibilità Urto label_fwretract:FW Retrazione label_fwrecover:FW Recupero Retrazione @@ -274,3 +275,5 @@ label_connection_settings:Imp.Conn. label_offset_tool:Offset 2nd Ugello label_hybrid_threshold:TMC Soglia Modo Ibrido label_notifications:Notifiche +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_jp.ini b/Copy to SD Card root directory to update/Language Packs/language_jp.ini index 694c47c5ed..4f54ab1444 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_jp.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_jp.ini @@ -213,6 +213,7 @@ label_print_acceleration:印刷加速度 label_retract_acceleration:引き戻し加速度 label_travel_acceleration:空振り加速度 label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC バンプ感度 label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,4 +275,6 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_pl.ini b/Copy to SD Card root directory to update/Language Packs/language_pl.ini index 06e0ce8c2a..4a3b39038b 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_pl.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_pl.ini @@ -214,6 +214,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -275,3 +276,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_pt.ini b/Copy to SD Card root directory to update/Language Packs/language_pt.ini index b349b40bca..2b559ff889 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_pt.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_pt.ini @@ -213,6 +213,7 @@ label_print_acceleration:Print Acceleration label_retract_acceleration:Retract Acceleration label_travel_acceleration:Travel Acceleration label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump sensitivity label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_ru.ini b/Copy to SD Card root directory to update/Language Packs/language_ru.ini index 3c844a2c0e..b0cde15f3d 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_ru.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_ru.ini @@ -213,6 +213,7 @@ label_print_acceleration:Печати label_retract_acceleration:Ретракта label_travel_acceleration:Перемещения label_jerk:Рывок +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC чувствительность удара label_fwretract:M207 ретракт label_fwrecover:M208 восстановление ретракта @@ -274,3 +275,5 @@ label_connection_settings:Соединение label_offset_tool:Смещение 2-го сопла label_hybrid_threshold:TMC гибридный порог label_notifications:Уведомления +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_sk.ini b/Copy to SD Card root directory to update/Language Packs/language_sk.ini index 6b407a7d04..24ff555401 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_sk.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_sk.ini @@ -213,6 +213,7 @@ label_print_acceleration:Akcelerácia pri tlači label_retract_acceleration:Akcelerácia retrakcie label_travel_acceleration:Akcelerácia presunu label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC bump citlivosť label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_sl.ini b/Copy to SD Card root directory to update/Language Packs/language_sl.ini index 4f38434286..bf832671ce 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_sl.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_sl.ini @@ -213,6 +213,7 @@ label_print_acceleration:Pospešek tiska label_retract_acceleration:Pospešek privleka fil. label_travel_acceleration:Pospešek pomika label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC občutljivost trka label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_tc.ini b/Copy to SD Card root directory to update/Language Packs/language_tc.ini index dde9ff9a70..339c956ce9 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_tc.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_tc.ini @@ -213,6 +213,7 @@ label_print_acceleration:列印加速度 label_retract_acceleration:回抽加速度 label_travel_acceleration:空跑加速度 label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:堵料檢測靈敏度 label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:连接 label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/Language Packs/language_tr.ini b/Copy to SD Card root directory to update/Language Packs/language_tr.ini index 953c4880dd..969badd339 100644 --- a/Copy to SD Card root directory to update/Language Packs/language_tr.ini +++ b/Copy to SD Card root directory to update/Language Packs/language_tr.ini @@ -213,6 +213,7 @@ label_print_acceleration:Baskı İvmelenmesi label_retract_acceleration:Geriçekme İvmelenmesi label_travel_acceleration:Gezinti İvmelenmesi label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC çarpma hassasiyeti label_fwretract:FW Retraction label_fwrecover:FW Retraction Recover @@ -274,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/Copy to SD Card root directory to update/config.ini b/Copy to SD Card root directory to update/config.ini index a045963014..1ff9d39430 100644 --- a/Copy to SD Card root directory to update/config.ini +++ b/Copy to SD Card root directory to update/config.ini @@ -71,6 +71,12 @@ list_border_color:15 # List View button background color list_button_bg_color:15 +# Color used by the Mesh Editor for drawing the mesh with the minimun value in the grid +mesh_min_color:7 + +# Color used by the Mesh Editor for drawing the mesh with the maximum value in the grid +mesh_max_color:2 + #### Rotate UI 180 degrees # Options: [enable: 1, disable: 0] rotate_ui:0 diff --git a/TFT/src/User/API/BabystepControl.c b/TFT/src/User/API/BabystepControl.c index ca3b8f974a..dc2df22fd4 100644 --- a/TFT/src/User/API/BabystepControl.c +++ b/TFT/src/User/API/BabystepControl.c @@ -7,6 +7,7 @@ static float babystep_value = BABYSTEP_DEFAULT_VALUE; float babystepReset(void) { babystep_value = BABYSTEP_DEFAULT_VALUE; + return babystep_value; } @@ -27,12 +28,14 @@ float babystepResetValue(void) float processed_baby_step = 0.0f; int8_t neg = 1; - if (babystep_value < 0.0f) neg = -1; + if (babystep_value < 0.0f) + neg = -1; step_count = (babystep_value * neg) / BABYSTEP_MAX_UNIT; for (; step_count > 0; step_count--) { mustStoreCmd("M290 Z%.2f\n", -(BABYSTEP_MAX_UNIT * neg)); + processed_baby_step += BABYSTEP_MAX_UNIT; } @@ -40,6 +43,7 @@ float babystepResetValue(void) if (last_unit > 0.0f) { mustStoreCmd("M290 Z%.2f\n", -(last_unit * neg)); + processed_baby_step += last_unit; } @@ -54,8 +58,11 @@ float babystepDecreaseValue(float unit) if (babystep_value > BABYSTEP_MIN_VALUE) { float diff = babystep_value - BABYSTEP_MIN_VALUE; + unit = (diff > unit) ? unit : diff; + mustStoreCmd("M290 Z-%.2f\n", unit); + babystep_value -= unit; } @@ -68,8 +75,11 @@ float babystepIncreaseValue(float unit) if (babystep_value < BABYSTEP_MAX_VALUE) { float diff = BABYSTEP_MAX_VALUE - babystep_value; + unit = (diff > unit) ? unit : diff; + mustStoreCmd("M290 Z%.2f\n", unit); + babystep_value += unit; } @@ -77,19 +87,14 @@ float babystepIncreaseValue(float unit) } // Update babystep value by encoder -float babystepUpdateValueByEncoder(float unit) +float babystepUpdateValueByEncoder(float unit, int8_t direction) { -#if LCD_ENCODER_SUPPORT - if (encoderPosition) - { - float overall_unit = (encoderPosition < 0.0f) ? (-1 * unit * encoderPosition) : (unit * encoderPosition); // always positive unit + float overall_unit = (direction > 0) ? (direction * unit) : (-direction * unit); // always positive unit - if (encoderPosition < 0.0) // if negative encoder value, decrease the value. Otherwise increase the value - babystepDecreaseValue(overall_unit); - else - babystepIncreaseValue(overall_unit); - } -#endif + if (direction < 0) // if negative encoder value, decrease the value. Otherwise increase the value + babystepDecreaseValue(overall_unit); + else + babystepIncreaseValue(overall_unit); return babystep_value; } diff --git a/TFT/src/User/API/BabystepControl.h b/TFT/src/User/API/BabystepControl.h index f5c88b8a82..36a7e6d8e9 100644 --- a/TFT/src/User/API/BabystepControl.h +++ b/TFT/src/User/API/BabystepControl.h @@ -5,6 +5,8 @@ extern "C" { #endif +#include + /* Reset only babystep value to default value */ float babystepReset(void); @@ -21,7 +23,7 @@ float babystepDecreaseValue(float unit); float babystepIncreaseValue(float unit); // Update babystep value by encoder -float babystepUpdateValueByEncoder(float unit); +float babystepUpdateValueByEncoder(float unit, int8_t direction); #ifdef __cplusplus } diff --git a/TFT/src/User/API/Language/Language.inc b/TFT/src/User/API/Language/Language.inc index b7c5c7e6aa..64f5d51a22 100644 --- a/TFT/src/User/API/Language/Language.inc +++ b/TFT/src/User/API/Language/Language.inc @@ -270,3 +270,5 @@ X_WORD (CONNECTION_SETTINGS) X_WORD (OFFSET_TOOL) X_WORD (HYBRID_THRESHOLD) X_WORD (NOTIFICATIONS) +X_WORD (MESH_EDITOR) +X_WORD (MESH_TUNER) diff --git a/TFT/src/User/API/Language/language_am.h b/TFT/src/User/API/Language/language_am.h index fda6100295..cad8fdf95e 100644 --- a/TFT/src/User/API/Language/language_am.h +++ b/TFT/src/User/API/Language/language_am.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_ca.h b/TFT/src/User/API/Language/language_ca.h index 76ea6f2b44..8453f44e5a 100644 --- a/TFT/src/User/API/Language/language_ca.h +++ b/TFT/src/User/API/Language/language_ca.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_cn.h b/TFT/src/User/API/Language/language_cn.h index 00028dd06b..25122352b0 100644 --- a/TFT/src/User/API/Language/language_cn.h +++ b/TFT/src/User/API/Language/language_cn.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_cz.h b/TFT/src/User/API/Language/language_cz.h index dbd723c93d..eb4b8493e1 100644 --- a/TFT/src/User/API/Language/language_cz.h +++ b/TFT/src/User/API/Language/language_cz.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2.trysky" #define STRING_HYBRID_THRESHOLD "TMC Hybridní práh" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_de.h b/TFT/src/User/API/Language/language_de.h index 5d74f49596..2cab33e48b 100644 --- a/TFT/src/User/API/Language/language_de.h +++ b/TFT/src/User/API/Language/language_de.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2te Spitze" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Benachrichtigungen" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_du.h b/TFT/src/User/API/Language/language_du.h index 8c2a158495..436e9f5a84 100644 --- a/TFT/src/User/API/Language/language_du.h +++ b/TFT/src/User/API/Language/language_du.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_en.h b/TFT/src/User/API/Language/language_en.h index 909967e51e..89c19750f5 100644 --- a/TFT/src/User/API/Language/language_en.h +++ b/TFT/src/User/API/Language/language_en.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_es.h b/TFT/src/User/API/Language/language_es.h index 15d38323b0..7978dcc683 100644 --- a/TFT/src/User/API/Language/language_es.h +++ b/TFT/src/User/API/Language/language_es.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_fr.h b/TFT/src/User/API/Language/language_fr.h index 316fa2d069..9082261cb6 100644 --- a/TFT/src/User/API/Language/language_fr.h +++ b/TFT/src/User/API/Language/language_fr.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2ème Buse" #define STRING_HYBRID_THRESHOLD "Seuil Hybride TMC" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_gr.h b/TFT/src/User/API/Language/language_gr.h index 936d95330b..9fed6d1869 100644 --- a/TFT/src/User/API/Language/language_gr.h +++ b/TFT/src/User/API/Language/language_gr.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_hu.h b/TFT/src/User/API/Language/language_hu.h index 330be7f489..2851e0d504 100644 --- a/TFT/src/User/API/Language/language_hu.h +++ b/TFT/src/User/API/Language/language_hu.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Második fej eltolása" #define STRING_HYBRID_THRESHOLD "TMC Hibrid Küszöbérték" #define STRING_NOTIFICATIONS "Értesítések" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_it.h b/TFT/src/User/API/Language/language_it.h index 034176c886..d04a993553 100644 --- a/TFT/src/User/API/Language/language_it.h +++ b/TFT/src/User/API/Language/language_it.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Ugello" #define STRING_HYBRID_THRESHOLD "TMC Soglia Modo Ibrido" #define STRING_NOTIFICATIONS "Notifiche" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_jp.h b/TFT/src/User/API/Language/language_jp.h index 5ba5eadb28..6b3d4edd35 100644 --- a/TFT/src/User/API/Language/language_jp.h +++ b/TFT/src/User/API/Language/language_jp.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_keywords.h b/TFT/src/User/API/Language/language_keywords.h index 4edbd48c77..ae7b981e6f 100644 --- a/TFT/src/User/API/Language/language_keywords.h +++ b/TFT/src/User/API/Language/language_keywords.h @@ -280,7 +280,8 @@ extern "C" { #define LANG_KEY_OFFSET_TOOL "label_offset_tool:" #define LANG_KEY_HYBRID_THRESHOLD "label_hybrid_threshold:" #define LANG_KEY_NOTIFICATIONS "label_notifications:" - +#define LANG_KEY_MESH_EDITOR "label_mesh_editor:" +#define LANG_KEY_MESH_TUNER "label_mesh_tuner:" #ifdef __cplusplus } diff --git a/TFT/src/User/API/Language/language_pl.h b/TFT/src/User/API/Language/language_pl.h index 4691ac7e9c..2728d7aecb 100644 --- a/TFT/src/User/API/Language/language_pl.h +++ b/TFT/src/User/API/Language/language_pl.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_pt.h b/TFT/src/User/API/Language/language_pt.h index 08938db60a..69fbfeb062 100644 --- a/TFT/src/User/API/Language/language_pt.h +++ b/TFT/src/User/API/Language/language_pt.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_ru.h b/TFT/src/User/API/Language/language_ru.h index f6d60b07bc..49dc375101 100644 --- a/TFT/src/User/API/Language/language_ru.h +++ b/TFT/src/User/API/Language/language_ru.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Смещение 2-го сопла" #define STRING_HYBRID_THRESHOLD "TMC гибридный порог" #define STRING_NOTIFICATIONS "Уведомления" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_sk.h b/TFT/src/User/API/Language/language_sk.h index 06c22928b9..10166a525a 100644 --- a/TFT/src/User/API/Language/language_sk.h +++ b/TFT/src/User/API/Language/language_sk.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_sl.h b/TFT/src/User/API/Language/language_sl.h index 660fe02546..7b34f3d602 100644 --- a/TFT/src/User/API/Language/language_sl.h +++ b/TFT/src/User/API/Language/language_sl.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_tc.h b/TFT/src/User/API/Language/language_tc.h index b3441906ac..1db9e98988 100644 --- a/TFT/src/User/API/Language/language_tc.h +++ b/TFT/src/User/API/Language/language_tc.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Language/language_tr.h b/TFT/src/User/API/Language/language_tr.h index d2a1ec6157..d6fa86138c 100644 --- a/TFT/src/User/API/Language/language_tr.h +++ b/TFT/src/User/API/Language/language_tr.h @@ -273,5 +273,7 @@ #define STRING_OFFSET_TOOL "Offset 2nd Nozzle" #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" #define STRING_NOTIFICATIONS "Notifications" + #define STRING_MESH_EDITOR "Mesh edit" + #define STRING_MESH_TUNER "Mesh tuner" #endif diff --git a/TFT/src/User/API/Notification.c b/TFT/src/User/API/Notification.c index 99507ba199..68c011e75f 100644 --- a/TFT/src/User/API/Notification.c +++ b/TFT/src/User/API/Notification.c @@ -120,10 +120,16 @@ void loopToast(void) } else if(_toastRunning == true) { - _toastRunning = false; - GUI_ClearPrect(&toastIconRect); - GUI_ClearPrect(&toastRect); - menuReDrawCurTitle(); + _toastRunning = false; + + if (getMenuType() == MENU_TYPE_CUSTOM) + menuRedrawCustom(); + else + { + GUI_ClearPrect(&toastIconRect); + GUI_ClearPrect(&toastRect); + menuReDrawCurTitle(); + } } } } diff --git a/TFT/src/User/API/ProbeHeightControl.c b/TFT/src/User/API/ProbeHeightControl.c new file mode 100644 index 0000000000..8a3f76e731 --- /dev/null +++ b/TFT/src/User/API/ProbeHeightControl.c @@ -0,0 +1,63 @@ +#include "ProbeHeightControl.h" +#include "includes.h" + +static bool curSoftwareEndstops = true; +static u32 nextTime = 0; +static u32 updateTime = 200; // 1 seconds is 1000 + +/* Enable probe height + * Temporary disable software endstops + */ +void probeHeightEnable(void) +{ + curSoftwareEndstops = infoMachineSettings.softwareEndstops; + + if (curSoftwareEndstops) // if software endstops is enabled, disable it temporary + mustStoreCmd("M211 S0\n"); // disable software endstops to move nozzle minus Zero (Z0) if necessary +} + +/* Disable probe height + * Restore original software endstops state + */ +void probeHeightDisable(void) +{ + if (curSoftwareEndstops) // if software endstops was originally enabled, enable it again + mustStoreCmd("M211 S1\n"); // enable software endstops +} + +/* Start probe height */ +void probeHeightStart(void) +{ + mustStoreCmd("G90\n"); // set absolute position mode + mustStoreCmd("G1 Z0\n"); // move nozzle to Z0 absolute point + + mustStoreCmd("G91\n"); // set relative position mode +} + +/* Stop probe height */ +void probeHeightStop(void) +{ + mustStoreCmd("G91\n"); // set relative position mode + mustStoreCmd("G1 Z%.2f F%d\n", + infoSettings.pause_z_raise, + infoSettings.axis_speed[infoSettings.move_speed]); // raise Z and set feedrate + + mustStoreCmd("G90\n"); // set absolute position mode +} + +/* Change probe height */ +void probeHeightMove(float unit, int8_t direction) +{ + // if invert is true, 'direction' multiplied by -1 + storeCmd("G1 Z%.2f F%d\n", (infoSettings.invert_axis[Z_AXIS] ? -direction : direction) * unit, infoSettings.axis_speed[infoSettings.move_speed]); +} + +/* Query for new coordinates */ +void probeHeightQueryCoord(void) +{ + if (OS_GetTimeMs() > nextTime) + { + coordinateQuery(); + nextTime = OS_GetTimeMs() + updateTime; + } +} diff --git a/TFT/src/User/API/ProbeHeightControl.h b/TFT/src/User/API/ProbeHeightControl.h new file mode 100644 index 0000000000..9ca817fd9f --- /dev/null +++ b/TFT/src/User/API/ProbeHeightControl.h @@ -0,0 +1,36 @@ +#ifndef _PROBE_HEIGHT_CONTROL_H_ +#define _PROBE_HEIGHT_CONTROL_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +/* Enable probe height + * Temporary disable software endstops + */ +void probeHeightEnable(void); + +/* Disable probe height + * Restore original software endstops state + */ +void probeHeightDisable(void); + +/* Start probe height */ +void probeHeightStart(void); + +/* Stop probe height */ +void probeHeightStop(void); + +/* Change probe height */ +void probeHeightMove(float unit, int8_t direction); + +/* Query for new coordinates */ +void probeHeightQueryCoord(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TFT/src/User/API/ProbeOffsetControl.c b/TFT/src/User/API/ProbeOffsetControl.c index 3be8a5a8e0..ee3ea7cbf1 100644 --- a/TFT/src/User/API/ProbeOffsetControl.c +++ b/TFT/src/User/API/ProbeOffsetControl.c @@ -9,17 +9,20 @@ void probeOffsetEnable(void) { probe_offset_enabled = true; + probeHeightEnable(); // temporary disable software endstops + // Z offset gcode sequence start - mustStoreCmd("M211 S0\n"); // disable Software Endstop to move nozzle minus Zero (Z0) if necessary mustStoreCmd("G28\n"); // home printer + + probeHeightStop(); // raise nozzle + mustStoreCmd("G91\n"); // set relative position mode - mustStoreCmd("G1 X%.2f Y%.2f\n", + mustStoreCmd("G1 X%.2f Y%.2f F%d\n", getParameter(P_PROBE_OFFSET, X_STEPPER), - getParameter(P_PROBE_OFFSET, Y_STEPPER)); // move nozzle to XY probing point - mustStoreCmd("G90\n"); // set absolute position mode - mustStoreCmd("G1 Z0 F%d\n", // move nozzle to Z0 absolute point and set feedrate - infoSettings.axis_speed[infoSettings.move_speed]); - mustStoreCmd("G91\n"); // set relative position mode + getParameter(P_PROBE_OFFSET, Y_STEPPER), + infoSettings.axis_speed[infoSettings.move_speed]); // move nozzle to X and Y probing coordinates and set feedrate + + probeHeightStart(); // lower nozzle to Z0 point } /* Disable probe offset */ @@ -29,10 +32,10 @@ void probeOffsetDisable(void) // Z offset gcode sequence stop mustStoreCmd("G28\n"); // home printer - mustStoreCmd("G91\n"); // set relative position mode - mustStoreCmd("G1 Z%.2f\n", infoSettings.pause_z_raise ); // raise Z - mustStoreCmd("G90\n"); // set absolute position mode - mustStoreCmd("M211 S1\n"); // enable Software Endstop + + probeHeightStop(); // raise nozzle + + probeHeightDisable(); // restore original software endstops state } /* Get probe offset status */ @@ -60,15 +63,15 @@ float probeOffsetGetValue(void) } /* Reset Z offset value to default value */ -float probeOffsetResetValue() +float probeOffsetResetValue(void) { if (z_offset_value == PROBE_OFFSET_DEFAULT_VALUE) // if already default value, nothing to do return z_offset_value; float unit = z_offset_value - PROBE_OFFSET_DEFAULT_VALUE; - mustStoreCmd("M851 Z%.2f\n", PROBE_OFFSET_DEFAULT_VALUE);// set the Z offset value - mustStoreCmd("G1 Z%.2f\n", -unit); // move the nozzle + mustStoreCmd("M851 Z%.2f\n", PROBE_OFFSET_DEFAULT_VALUE);// set Z offset value + mustStoreCmd("G1 Z%.2f\n", -unit); // move nozzle z_offset_value = PROBE_OFFSET_DEFAULT_VALUE; @@ -84,8 +87,8 @@ float probeOffsetDecreaseValue(float unit) unit = (diff > unit) ? unit : diff; - mustStoreCmd("M851 Z%.2f\n", z_offset_value - unit); // set the Z offset value - mustStoreCmd("G1 Z%.2f\n", -unit); // move the nozzle + mustStoreCmd("M851 Z%.2f\n", z_offset_value - unit); // set Z offset value + mustStoreCmd("G1 Z%.2f\n", -unit); // move nozzle z_offset_value -= unit; } @@ -102,8 +105,8 @@ float probeOffsetIncreaseValue(float unit) unit = (diff > unit) ? unit : diff; - mustStoreCmd("M851 Z%.2f\n", z_offset_value + unit); // set the Z offset value - mustStoreCmd("G1 Z%.2f\n", unit); // move the nozzle + mustStoreCmd("M851 Z%.2f\n", z_offset_value + unit); // set Z offset value + mustStoreCmd("G1 Z%.2f\n", unit); // move nozzle z_offset_value += unit; } @@ -112,19 +115,14 @@ float probeOffsetIncreaseValue(float unit) } // Update Z offset value by encoder -float probeOffsetUpdateValueByEncoder(float unit) +float probeOffsetUpdateValueByEncoder(float unit, int8_t direction) { -#if LCD_ENCODER_SUPPORT - if (encoderPosition) - { - float overall_unit = (encoderPosition < 0.0f) ? (-1 * unit * encoderPosition) : (unit * encoderPosition); // always positive unit + float overall_unit = (direction > 0) ? (direction * unit) : (-direction * unit); // always positive unit - if (encoderPosition < 0.0) // if negative encoder value, decrease the value. Otherwise increase the value - probeOffsetDecreaseValue(overall_unit); - else - probeOffsetIncreaseValue(overall_unit); - } -#endif + if (direction < 0) // if negative encoder value, decrease the value. Otherwise increase the value + probeOffsetDecreaseValue(overall_unit); + else + probeOffsetIncreaseValue(overall_unit); return z_offset_value; } diff --git a/TFT/src/User/API/ProbeOffsetControl.h b/TFT/src/User/API/ProbeOffsetControl.h index 400a79d924..74fecadb48 100644 --- a/TFT/src/User/API/ProbeOffsetControl.h +++ b/TFT/src/User/API/ProbeOffsetControl.h @@ -5,7 +5,8 @@ extern "C" { #endif -#include "stdbool.h" +#include +#include /* Enable probe offset */ void probeOffsetEnable(void); @@ -23,7 +24,7 @@ float probeOffsetSetValue(float value); float probeOffsetGetValue(void); /* Reset Z offset value to default value */ -float probeOffsetResetValue(); +float probeOffsetResetValue(void); // Decrease Z offset value float probeOffsetDecreaseValue(float unit); @@ -32,7 +33,7 @@ float probeOffsetDecreaseValue(float unit); float probeOffsetIncreaseValue(float unit); // Update Z offset value by encoder -float probeOffsetUpdateValueByEncoder(float unit); +float probeOffsetUpdateValueByEncoder(float unit, int8_t direction); #ifdef __cplusplus } diff --git a/TFT/src/User/API/Settings.c b/TFT/src/User/API/Settings.c index 45c8643bd7..2aad11a6e2 100644 --- a/TFT/src/User/API/Settings.c +++ b/TFT/src/User/API/Settings.c @@ -32,6 +32,8 @@ void infoSettingsReset(void) infoSettings.status_xyz_bg_color = lcd_colors[STATUS_XYZ_BG_COLOR]; infoSettings.list_border_color = lcd_colors[LISTVIEW_BORDER_COLOR]; infoSettings.list_button_color = lcd_colors[LISTVIEW_ICON_COLOR]; + infoSettings.mesh_min_color = lcd_colors[MESH_MIN_COLOR]; + infoSettings.mesh_max_color = lcd_colors[MESH_MAX_COLOR]; infoSettings.terminalACK = DISABLED; infoSettings.persistent_info = ENABLED; @@ -162,6 +164,7 @@ void initMachineSetting(void){ infoMachineSettings.autoReportSDStatus = DISABLED; infoMachineSettings.long_filename_support = DISABLED; infoMachineSettings.babyStepping = DISABLED; + infoMachineSettings.softwareEndstops = ENABLED; } void setupMachine(void) diff --git a/TFT/src/User/API/Settings.h b/TFT/src/User/API/Settings.h index 0e6aa575a5..661921a47b 100644 --- a/TFT/src/User/API/Settings.h +++ b/TFT/src/User/API/Settings.h @@ -86,6 +86,8 @@ typedef struct uint16_t status_xyz_bg_color; uint16_t list_border_color; uint16_t list_button_color; + uint16_t mesh_min_color; + uint16_t mesh_max_color; uint8_t rotate_ui; uint8_t terminalACK; @@ -220,6 +222,7 @@ typedef struct uint8_t autoReportSDStatus; uint8_t long_filename_support; uint8_t babyStepping; + uint8_t softwareEndstops; }MACHINESETTINGS; diff --git a/TFT/src/User/API/config.c b/TFT/src/User/API/config.c index d7589a0186..3ee5c778da 100644 --- a/TFT/src/User/API/config.c +++ b/TFT/src/User/API/config.c @@ -558,6 +558,14 @@ void parseConfigKey(u16 index) config_set_color(&infoSettings.list_button_color); break; + case C_INDEX_MESH_MIN_COLOR: + config_set_color(&infoSettings.mesh_min_color); + break; + + case C_INDEX_MESH_MAX_COLOR: + config_set_color(&infoSettings.mesh_max_color); + break; + case C_INDEX_ROTATE_UI: if (infoSettings.rotate_ui != getOnOff()) scheduleRotate = true; diff --git a/TFT/src/User/API/config.h b/TFT/src/User/API/config.h index 0699cab379..f3a99310ac 100644 --- a/TFT/src/User/API/config.h +++ b/TFT/src/User/API/config.h @@ -28,6 +28,8 @@ extern "C" { #define CONFIG_SS_XYZ_BG_COLOR "status_xyz_bg_color:" #define CONFIG_LIST_BORDER_COLOR "list_border_color:" #define CONFIG_LIST_BUTTON_BG_COLOR "list_button_bg_color:" +#define CONFIG_MESH_MIN_COLOR "mesh_min_color:" +#define CONFIG_MESH_MAX_COLOR "mesh_max_color:" #define CONFIG_ROTATE_UI "rotate_ui:" #define CONFIG_TERMINAL_ACK "terminal_ack:" diff --git a/TFT/src/User/API/config.inc b/TFT/src/User/API/config.inc index 70daa8254a..a09a6b7889 100644 --- a/TFT/src/User/API/config.inc +++ b/TFT/src/User/API/config.inc @@ -18,6 +18,8 @@ X_CONFIG(SD_NOTIFY_COLOR) X_CONFIG(SS_XYZ_BG_COLOR) X_CONFIG(LIST_BORDER_COLOR) X_CONFIG(LIST_BUTTON_BG_COLOR) +X_CONFIG(MESH_MIN_COLOR) +X_CONFIG(MESH_MAX_COLOR) X_CONFIG(ROTATE_UI) X_CONFIG(TERMINAL_ACK) X_CONFIG(INVERT_AXIS) diff --git a/TFT/src/User/API/flashStore.c b/TFT/src/User/API/flashStore.c index 92f87936c4..ee93463721 100644 --- a/TFT/src/User/API/flashStore.c +++ b/TFT/src/User/API/flashStore.c @@ -2,7 +2,7 @@ #include "STM32_Flash.h" #define TSC_SIGN 0x20200512 // DO NOT MODIFY -#define PARA_SIGN 0x20201020 // (YYYYMMDD) If a new setting parameter is added, +#define PARA_SIGN 0x20201021 // (YYYYMMDD) If a new setting parameter is added, // modify here and initialize the initial value // in the "infoSettingsReset()" function @@ -84,6 +84,8 @@ void readStoredPara(void) infoSettings.status_xyz_bg_color = byteToWord(data + (index += 4), 4); infoSettings.list_border_color = byteToWord(data + (index += 4), 4); infoSettings.list_button_color = byteToWord(data + (index += 4), 4); + infoSettings.mesh_min_color = byteToWord(data + (index += 4), 4); + infoSettings.mesh_max_color = byteToWord(data + (index += 4), 4); infoSettings.touchSound = byteToWord(data + (index += 4), 4); infoSettings.toastSound = byteToWord(data + (index += 4), 4); @@ -220,6 +222,8 @@ void storePara(void) wordToByte(infoSettings.status_xyz_bg_color, data + (index += 4)); wordToByte(infoSettings.list_border_color, data + (index += 4)); wordToByte(infoSettings.list_button_color, data + (index += 4)); + wordToByte(infoSettings.mesh_min_color, data + (index += 4)); + wordToByte(infoSettings.mesh_max_color, data + (index += 4)); wordToByte(infoSettings.touchSound, data + (index += 4)); wordToByte(infoSettings.toastSound, data + (index += 4)); diff --git a/TFT/src/User/API/flashStore.h b/TFT/src/User/API/flashStore.h index 87d02c1f50..7471b3d03c 100644 --- a/TFT/src/User/API/flashStore.h +++ b/TFT/src/User/API/flashStore.h @@ -9,7 +9,7 @@ extern "C" { #include "variants.h" #include "Settings.h" -#define PARA_SIZE 512 //bytes +#define PARA_SIZE 768 //bytes void readStoredPara(void); void storePara(void); diff --git a/TFT/src/User/API/icon_list.inc b/TFT/src/User/API/icon_list.inc index 66123f13fe..1ad1222cc8 100644 --- a/TFT/src/User/API/icon_list.inc +++ b/TFT/src/User/API/icon_list.inc @@ -25,6 +25,7 @@ X_ICON (CHAMBER) X_ICON (1_DEGREE) X_ICON (5_DEGREE) X_ICON (10_DEGREE) +X_ICON (APPLY) X_ICON (STOP) X_ICON (BACK) X_ICON (X_INC) diff --git a/TFT/src/User/API/interfaceCmd.c b/TFT/src/User/API/interfaceCmd.c index 0743c2147b..be1da43540 100644 --- a/TFT/src/User/API/interfaceCmd.c +++ b/TFT/src/User/API/interfaceCmd.c @@ -811,7 +811,7 @@ void sendQueueCmd(void) case 28: //G28 coordinateSetKnown(true); - babyReset(); + babystepReset(); storeCmd("M503 S0\n"); break; @@ -831,7 +831,7 @@ void sendQueueCmd(void) } break; #endif - + case 90: //G90 coorSetRelative(false); break; diff --git a/TFT/src/User/API/menu.c b/TFT/src/User/API/menu.c index c8b043194b..78a90586d3 100644 --- a/TFT/src/User/API/menu.c +++ b/TFT/src/User/API/menu.c @@ -198,8 +198,11 @@ void GUI_RestoreColorDefault(void){ } static const MENUITEMS *curMenuItems = NULL; //current menu + static const LISTITEMS *curListItems = NULL; //current listmenu +static const void (* curMenuCustom)(void) = NULL; //current custom menu + static MENU_TYPE menuType = MENU_TYPE_ICON; static LABEL * curTitle = NULL; static const GUI_RECT *curRect = NULL; //current menu layout grid @@ -293,6 +296,18 @@ void setMenu(MENU_TYPE menu_type, LABEL * title, u16 rectCount, const GUI_RECT * TSC_ReDrawIcon = action_redraw; } +void setMenuTypeCustom(void (* redrawCallback)(void)) +{ + menuType = MENU_TYPE_CUSTOM; + curMenuCustom = redrawCallback; +} + +void menuRedrawCustom() +{ + if (menuType == MENU_TYPE_CUSTOM && curMenuCustom != NULL) + curMenuCustom(); +} + void reminderSetUnConnected(void) { reminder.status = STATUS_UNCONNECT; @@ -365,7 +380,11 @@ void loopReminderClear(void) /* Clear warning message */ reminder.status = STATUS_IDLE; - menuReDrawCurTitle(); + + if (menuType == MENU_TYPE_CUSTOM) + menuRedrawCustom(); + else + menuReDrawCurTitle(); } void loopVolumeReminderClear(void) @@ -382,7 +401,11 @@ void loopVolumeReminderClear(void) /* Clear warning message */ volumeReminder.status = STATUS_IDLE; - menuReDrawCurTitle(); + + if (menuType == MENU_TYPE_CUSTOM) + menuRedrawCustom(); + else + menuReDrawCurTitle(); } void loopBusySignClear(void) @@ -400,9 +423,15 @@ void loopBusySignClear(void) /* End Busy display sing */ busySign.status = STATUS_IDLE; - GUI_SetColor(infoSettings.title_bg_color); - GUI_FillCircle(busySign.rect.x0, (busySign.rect.y1 - busySign.rect.y0) / 2, (busySign.rect.x1-busySign.rect.x0)/2); - GUI_SetColor(infoSettings.font_color); + + if (menuType == MENU_TYPE_CUSTOM) + menuRedrawCustom(); + else + { + GUI_SetColor(infoSettings.title_bg_color); + GUI_FillCircle(busySign.rect.x0, (busySign.rect.y1 - busySign.rect.y0) / 2, (busySign.rect.x1-busySign.rect.x0)/2); + GUI_SetColor(infoSettings.font_color); + } } void notificationDot(void) diff --git a/TFT/src/User/API/menu.h b/TFT/src/User/API/menu.h index 691cb6c7e0..b3162fed39 100644 --- a/TFT/src/User/API/menu.h +++ b/TFT/src/User/API/menu.h @@ -52,7 +52,8 @@ typedef enum MENU_TYPE_LISTVIEW, MENU_TYPE_DIALOG, MENU_TYPE_FULLSCREEN, - MENU_TYPE_OTHER + MENU_TYPE_OTHER, + MENU_TYPE_CUSTOM } MENU_TYPE; typedef union @@ -145,6 +146,9 @@ extern const GUI_RECT rect_of_titleBar[1]; void setMenuType(MENU_TYPE type); MENU_TYPE getMenuType(void); +void setMenuTypeCustom(void (* redrawCallback)(void)); +void menuRedrawCustom(); + void reminderSetUnConnected(void); void reminderMessage(int16_t inf, SYS_STATUS status); void volumeReminderMessage(int16_t inf, SYS_STATUS status); diff --git a/TFT/src/User/API/parseACK.c b/TFT/src/User/API/parseACK.c index 29f0df5f83..d8ff0acfb9 100644 --- a/TFT/src/User/API/parseACK.c +++ b/TFT/src/User/API/parseACK.c @@ -31,7 +31,6 @@ const ECHO knownEcho[] = { {ECHO_NOTIFY_NONE, "Cap:"}, //M115 {ECHO_NOTIFY_NONE, "Config:"}, //M360 {ECHO_NOTIFY_TOAST, "Settings Stored"}, //M500 - {ECHO_NOTIFY_TOAST, "echo:Soft endstops"}, //M211 {ECHO_NOTIFY_TOAST, "echo:Bed"}, //M420 {ECHO_NOTIFY_TOAST, "echo:Fade"}, //M420 {ECHO_NOTIFY_TOAST, "echo:Active Extruder"}, //Tool Change @@ -95,7 +94,6 @@ static float ack_second_value() void ackPopupInfo(const char *info) { - bool show_dialog = true; if (infoMenu.menu[infoMenu.cur] == menuTerminal || (infoMenu.menu[infoMenu.cur] == menuStatus && info == echomagic)) @@ -278,10 +276,11 @@ void parseACK(void) infoHost.connected = true; if(infoMachineSettings.isMarlinFirmware == -1) // if never connected to the printer since boot { - storeCmd("M503\n");// Query detailed printer capabilities - storeCmd("M92\n"); // Steps/mm of extruder is an important parameter for Smart filament runout - // Avoid can't getting this parameter due to disabled M503 in Marlin + storeCmd("M503\n"); // Query detailed printer capabilities + storeCmd("M92\n"); // Steps/mm of extruder is an important parameter for Smart filament runout + // Avoid can't getting this parameter due to disabled M503 in Marlin storeCmd("M115\n"); + storeCmd("M211\n"); // retrieve the software endstops state } } @@ -492,6 +491,19 @@ void parseACK(void) else if(ack_seen("M209 S")){ setParameter(P_AUTO_RETRACT, 0, ack_value()); } + //parse and store the software endstops state (M211) + else if (ack_seen("Soft endstops")) + { + uint8_t curValue = infoMachineSettings.softwareEndstops; + + if (ack_seen("ON")) + infoMachineSettings.softwareEndstops = ENABLED; + else + infoMachineSettings.softwareEndstops = DISABLED; + + if (curValue != infoMachineSettings.softwareEndstops) // send a notification only if status is changed + addToast(DIALOG_TYPE_INFO, dmaL2Cache); + } //parse and store Offset 2nd Nozzle else if(ack_seen("M218 T1 X")){ setParameter(P_OFFSET_TOOL, 0, ack_value()); @@ -561,7 +573,6 @@ void parseACK(void) else if (ack_seen("Mesh Bed Leveling")) infoMachineSettings.leveling = BL_MBL; #endif - // Parse ABL state else if(ack_seen("echo:Bed Leveling")) { @@ -605,7 +616,7 @@ void parseACK(void) { if (MIXING_EXTRUDER == 0) { - infoSettings.ext_count = ack_value(); + infoSettings.ext_count = ack_value(); } string_end = ack_index - sizeof("EXTRUDER_COUNT:"); } @@ -644,6 +655,10 @@ void parseACK(void) { infoMachineSettings.caseLightsBrightness = ack_value(); } + else if(ack_seen("Cap:EMERGENCY_PARSER:")) + { + infoMachineSettings.emergencyParser = ack_value(); + } else if(ack_seen("Cap:PROMPT_SUPPORT:")) { infoMachineSettings.promptSupport = ack_value(); @@ -660,6 +675,10 @@ void parseACK(void) { infoMachineSettings.long_filename_support = ack_value(); } + else if(ack_seen("Cap:BABYSTEPPING:")) + { + infoMachineSettings.babyStepping = ack_value(); + } else if(ack_seen("Cap:CHAMBER_TEMPERATURE:")) { infoSettings.chamber_en = ack_value(); @@ -751,6 +770,20 @@ void parseACK(void) { mblUpdateStatus(true); } + // Parse Mesh data + else if (meshIsWaitingFirstData() && ( + ack_seen("Mesh Bed Level data:") || // MBL + ack_seen("Bed Topography Report for CSV:") || // UBL + ack_seen("Bilinear Leveling Grid:") || // ABL Bilinear + ack_seen("Bed Level Correction Matrix:") || // ABL Linear or 3-Point + ack_seen("Invalid mesh"))) // error echo + { + meshUpdateData(dmaL2Cache); // start data updating + } + else if (meshIsWaitingData()) + { + meshUpdateData(dmaL2Cache); // continue data updating + } // Parse PID Autotune finished message else if(ack_seen("PID Autotune finished")) { diff --git a/TFT/src/User/Configuration.h b/TFT/src/User/Configuration.h index 85439b2240..57a8bf7e55 100644 --- a/TFT/src/User/Configuration.h +++ b/TFT/src/User/Configuration.h @@ -269,7 +269,7 @@ #define ENABLE_BL_VALUE 1 /** - * Enable friendly probe offset language. + * Enable friendly probe offset language * * Decrease/increase and "-" & "+" icons are replaced with down/up and friendly icons * @@ -330,6 +330,34 @@ #define BABYSTEP_DEFAULT_VALUE 0.0f #define BABYSTEP_MAX_UNIT 1.0f +/** + * Mesh Editor settings + */ + +// Set the maximum number of grid points per dimension +// +// NOTE: It must be in range 1 - 15 +// +#define MESH_GRID_MAX_POINTS_X 10 +#define MESH_GRID_MAX_POINTS_Y 10 + +// Set the color used for drawing the mesh with the minimun and maximum value in the grid +// +// Options: 0: WHITE, 1: BLACK, 2: RED, 3: GREEN, 4: BLUE, 5: CYAN, +// 6: MAGENTA, 7: YELLOW, 8: ORANGE, 9: PURPLE, 10: LIME, 11: BROWN, +// 12: DARKBLUE, 13: DARKGREEN, 14: GRAY, 15: DARKGRAY +// +#define MESH_MIN_COLOR 7 +#define MESH_MAX_COLOR 2 + +// Enable keyboard drawn on left side +// +// If disabled, the keyboard is drawn on right side +// +// Options: 0: Disabled 1: Enabled +// +#define MESH_LEFT_KEYBOARD 0 + /** * PID autotune */ diff --git a/TFT/src/User/Language Packs/language_am.ini b/TFT/src/User/Language Packs/language_am.ini index aaf0e0f8c1..a36d4ac55f 100644 --- a/TFT/src/User/Language Packs/language_am.ini +++ b/TFT/src/User/Language Packs/language_am.ini @@ -275,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_ca.ini b/TFT/src/User/Language Packs/language_ca.ini index ca0ad4edf5..8a457da711 100644 --- a/TFT/src/User/Language Packs/language_ca.ini +++ b/TFT/src/User/Language Packs/language_ca.ini @@ -275,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_cn.ini b/TFT/src/User/Language Packs/language_cn.ini index 4bec66569c..e1964fcaa4 100644 --- a/TFT/src/User/Language Packs/language_cn.ini +++ b/TFT/src/User/Language Packs/language_cn.ini @@ -275,4 +275,6 @@ label_connection_settings:连接 label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_cz.ini b/TFT/src/User/Language Packs/language_cz.ini index d7d37c53cc..c98c05c424 100644 --- a/TFT/src/User/Language Packs/language_cz.ini +++ b/TFT/src/User/Language Packs/language_cz.ini @@ -275,4 +275,6 @@ label_connection_settings:Připojení label_offset_tool:Offset 2.trysky label_hybrid_threshold:TMC Hybridní práh label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_de.ini b/TFT/src/User/Language Packs/language_de.ini index e86d2ae783..7fdc00039a 100644 --- a/TFT/src/User/Language Packs/language_de.ini +++ b/TFT/src/User/Language Packs/language_de.ini @@ -275,3 +275,5 @@ label_connection_settings:Verbindung label_offset_tool:Offset 2te Spitze label_hybrid_threshold:TMC HybridThreshold label_notifications:Benachrichtigungen +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_du.ini b/TFT/src/User/Language Packs/language_du.ini index faf061b807..0ee8161a17 100644 --- a/TFT/src/User/Language Packs/language_du.ini +++ b/TFT/src/User/Language Packs/language_du.ini @@ -275,4 +275,6 @@ label_connection_settings:Connecties label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_en.ini b/TFT/src/User/Language Packs/language_en.ini index 02ff46d872..78c0c4000b 100644 --- a/TFT/src/User/Language Packs/language_en.ini +++ b/TFT/src/User/Language Packs/language_en.ini @@ -275,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_es.ini b/TFT/src/User/Language Packs/language_es.ini index f2b4b02d52..a310c649e7 100644 --- a/TFT/src/User/Language Packs/language_es.ini +++ b/TFT/src/User/Language Packs/language_es.ini @@ -275,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_fr.ini b/TFT/src/User/Language Packs/language_fr.ini index 75865e5b17..27b3e75217 100644 --- a/TFT/src/User/Language Packs/language_fr.ini +++ b/TFT/src/User/Language Packs/language_fr.ini @@ -275,3 +275,5 @@ label_connection_settings:Connexion label_offset_tool:Offset 2ème Buse label_hybrid_threshold:Seuil Hybride TMC label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_gr.ini b/TFT/src/User/Language Packs/language_gr.ini index 138ab9ca7a..eb325e3aa4 100644 --- a/TFT/src/User/Language Packs/language_gr.ini +++ b/TFT/src/User/Language Packs/language_gr.ini @@ -275,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_hu.ini b/TFT/src/User/Language Packs/language_hu.ini index 609d2b959e..821b635d62 100644 --- a/TFT/src/User/Language Packs/language_hu.ini +++ b/TFT/src/User/Language Packs/language_hu.ini @@ -275,3 +275,5 @@ label_connection_settings:Kapcsolat label_offset_tool:Második fej eltolása label_hybrid_threshold:TMC Hibrid Küszöbérték label_notifications:Értesítések +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_it.ini b/TFT/src/User/Language Packs/language_it.ini index 3509235e0d..3804978daf 100644 --- a/TFT/src/User/Language Packs/language_it.ini +++ b/TFT/src/User/Language Packs/language_it.ini @@ -213,6 +213,7 @@ label_print_acceleration:Accel. Stampa label_retract_acceleration:Accel. Ritrazione label_travel_acceleration:Accel. Spostamenti label_jerk:Jerk +label_junction_deviation:Junction Deviation label_bump_sensitivity:TMC Sensibilità Urto label_fwretract:FW Retrazione label_fwrecover:FW Recupero Retrazione @@ -274,3 +275,5 @@ label_connection_settings:Imp.Conn. label_offset_tool:Offset 2nd Ugello label_hybrid_threshold:TMC Soglia Modo Ibrido label_notifications:Notifiche +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_jp.ini b/TFT/src/User/Language Packs/language_jp.ini index 6e646a1c05..4f54ab1444 100644 --- a/TFT/src/User/Language Packs/language_jp.ini +++ b/TFT/src/User/Language Packs/language_jp.ini @@ -275,4 +275,6 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_pl.ini b/TFT/src/User/Language Packs/language_pl.ini index 8d22a49886..4a3b39038b 100644 --- a/TFT/src/User/Language Packs/language_pl.ini +++ b/TFT/src/User/Language Packs/language_pl.ini @@ -276,3 +276,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_pt.ini b/TFT/src/User/Language Packs/language_pt.ini index dbe27053a5..2b559ff889 100644 --- a/TFT/src/User/Language Packs/language_pt.ini +++ b/TFT/src/User/Language Packs/language_pt.ini @@ -275,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_ru.ini b/TFT/src/User/Language Packs/language_ru.ini index cf8a9114f9..b0cde15f3d 100644 --- a/TFT/src/User/Language Packs/language_ru.ini +++ b/TFT/src/User/Language Packs/language_ru.ini @@ -275,3 +275,5 @@ label_connection_settings:Соединение label_offset_tool:Смещение 2-го сопла label_hybrid_threshold:TMC гибридный порог label_notifications:Уведомления +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_sk.ini b/TFT/src/User/Language Packs/language_sk.ini index d188f5b7ee..24ff555401 100644 --- a/TFT/src/User/Language Packs/language_sk.ini +++ b/TFT/src/User/Language Packs/language_sk.ini @@ -275,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_sl.ini b/TFT/src/User/Language Packs/language_sl.ini index 492c848c37..bf832671ce 100644 --- a/TFT/src/User/Language Packs/language_sl.ini +++ b/TFT/src/User/Language Packs/language_sl.ini @@ -275,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_tc.ini b/TFT/src/User/Language Packs/language_tc.ini index 1b231e9f2d..339c956ce9 100644 --- a/TFT/src/User/Language Packs/language_tc.ini +++ b/TFT/src/User/Language Packs/language_tc.ini @@ -275,3 +275,5 @@ label_connection_settings:连接 label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Language Packs/language_tr.ini b/TFT/src/User/Language Packs/language_tr.ini index 065980b2a9..969badd339 100644 --- a/TFT/src/User/Language Packs/language_tr.ini +++ b/TFT/src/User/Language Packs/language_tr.ini @@ -275,3 +275,5 @@ label_connection_settings:Connection label_offset_tool:Offset 2nd Nozzle label_hybrid_threshold:TMC HybridThreshold label_notifications:Notifications +label_mesh_editor:Mesh edit +label_mesh_tuner:Mesh tuner diff --git a/TFT/src/User/Menu/ABL.c b/TFT/src/User/Menu/ABL.c index 23f46d1983..e490f7a1ea 100644 --- a/TFT/src/User/Menu/ABL.c +++ b/TFT/src/User/Menu/ABL.c @@ -1,71 +1,73 @@ #include "ABL.h" #include "includes.h" -static uint8_t slot; -static bool _isSaving = true; -static bool slotSaved = false; +static uint8_t ublSlot; +static bool ublIsSaving = true; +static bool ublSlotSaved = false; +/* called by parseAck() to notify ABL process status */ void ablUpdateStatus(bool succeeded) { - bool savingEnabled = false; + bool savingEnabled = true; - init_label(labelTitle); - labelTitle.index = LABEL_ABL_SETTINGS; - labelChar(tempmsg, LABEL_BL_COMPLETE); + init_label(tempTitle); + tempTitle.index = LABEL_ABL_SETTINGS; + labelChar(tempMsg, LABEL_BL_COMPLETE); switch (infoMachineSettings.leveling) { case BL_BBL: { - labelTitle.index = LABEL_ABL_SETTINGS_BBL; - loadLabelText((u8*)tempmsg, LABEL_BL_COMPLETE); - savingEnabled = true; + tempTitle.index = LABEL_ABL_SETTINGS_BBL; break; } case BL_UBL: { - labelTitle.index = LABEL_ABL_SETTINGS_UBL; - labelChar(temptxt1, LABEL_BL_COMPLETE); - labelChar(temptxt2, LABEL_BL_SMART_FILL); - sprintf(tempmsg, "%s\n %s", temptxt1, temptxt2); + tempTitle.index = LABEL_ABL_SETTINGS_UBL; + + sprintf(&tempMsg[strlen(tempMsg)], "\n %s", textSelect(LABEL_BL_SMART_FILL)); + + savingEnabled = false; break; } default: - savingEnabled = true; break; } - if (succeeded) // if bed leveling process successfully terminated, allow to save to EEPROM + if (succeeded) // if bed leveling process successfully terminated, allow to save to EEPROM { BUZZER_PLAY(sound_success); + if (savingEnabled && infoMachineSettings.EEPROM == 1) { - sprintf(tempmsg, "%s\n %s", tempmsg, textSelect(LABEL_EEPROM_SAVE_INFO)); - setDialogText(labelTitle.index, (u8 *)tempmsg, LABEL_CONFIRM, LABEL_CANCEL); + sprintf(&tempMsg[strlen(tempMsg)], "\n %s", textSelect(LABEL_EEPROM_SAVE_INFO)); + + setDialogText(tempTitle.index, (u8 *) tempMsg, LABEL_CONFIRM, LABEL_CANCEL); showDialog(DIALOG_TYPE_SUCCESS, saveEepromSettings, NULL, NULL); } else { - popupReminder(DIALOG_TYPE_SUCCESS, labelTitle.index, (u8*)tempmsg); + popupReminder(DIALOG_TYPE_SUCCESS, tempTitle.index, (u8 *) tempMsg); } } - else // if if bed leveling process failed, provide an error dialog + else // if bed leveling process failed, provide an error dialog { BUZZER_PLAY(sound_error); - popupReminder(DIALOG_TYPE_ERROR, labelTitle.index, LABEL_PROCESS_ABORTED); + + popupReminder(DIALOG_TYPE_ERROR, tempTitle.index, LABEL_PROCESS_ABORTED); } } void ublSaveloadConfirm(void) { - if (!_isSaving) + if (!ublIsSaving) { - storeCmd("G29 L%d\n", slot); + storeCmd("G29 L%d\n", ublSlot); } else { - storeCmd("G29 S%d\n", slot); - slotSaved = true; + storeCmd("G29 S%d\n", ublSlot); + ublSlotSaved = true; } } @@ -87,7 +89,7 @@ void menuUBLSaveLoad(void) KEY_VALUES key_num = KEY_IDLE; - if (!_isSaving) + if (!ublIsSaving) { UBLSaveLoadItems.title.index = LABEL_ABL_SETTINGS_UBL_LOAD; for (int i = 0; i < 4; i++) @@ -107,21 +109,24 @@ void menuUBLSaveLoad(void) case KEY_ICON_1: case KEY_ICON_2: case KEY_ICON_3: - slot = key_num; + ublSlot = key_num; + setDialogText(UBLSaveLoadItems.title.index, LABEL_CONFIRMATION, LABEL_CONFIRM, LABEL_CANCEL); showDialog(DIALOG_TYPE_QUESTION, ublSaveloadConfirm, NULL, NULL); break; case KEY_ICON_7: - if (slotSaved == true && infoMachineSettings.EEPROM == 1) + if (ublSlotSaved == true && infoMachineSettings.EEPROM == 1) { - slotSaved = false; + ublSlotSaved = false; + setDialogText(LABEL_ABL_SETTINGS_UBL, LABEL_ABL_SLOT_EEPROM, LABEL_CONFIRM, LABEL_CANCEL); showDialog(DIALOG_TYPE_QUESTION, saveEepromSettings, NULL, NULL); } else { - slotSaved = false; + ublSlotSaved = false; + infoMenu.cur--; } break; @@ -134,9 +139,15 @@ void menuUBLSaveLoad(void) } } -void ublSaveLoad(bool isSaving) +void menuUBLSave(void) +{ + ublIsSaving = true; + infoMenu.menu[++infoMenu.cur] = menuUBLSaveLoad; +} + +void menuUBLLoad(void) { - _isSaving = isSaving; + ublIsSaving = false; infoMenu.menu[++infoMenu.cur] = menuUBLSaveLoad; } @@ -208,12 +219,12 @@ void menuABL(void) case KEY_ICON_1: if (infoMachineSettings.leveling == BL_UBL) - ublSaveLoad(true); + menuUBLSave(); break; case KEY_ICON_2: if (infoMachineSettings.leveling == BL_UBL) - ublSaveLoad(false); + menuUBLLoad(); break; case KEY_ICON_4: diff --git a/TFT/src/User/Menu/ABL.h b/TFT/src/User/Menu/ABL.h index 5c40f2b789..aeabe47ae0 100644 --- a/TFT/src/User/Menu/ABL.h +++ b/TFT/src/User/Menu/ABL.h @@ -7,8 +7,12 @@ extern "C" { #include +/* called by parseAck() to notify ABL process status */ void ablUpdateStatus(bool succeeded); +void menuUBLSave(void); +void menuUBLLoad(void); + void menuABL(void); #ifdef __cplusplus diff --git a/TFT/src/User/Menu/Babystep.c b/TFT/src/User/Menu/Babystep.c index 93a7623c73..a42c6e1c8b 100644 --- a/TFT/src/User/Menu/Babystep.c +++ b/TFT/src/User/Menu/Babystep.c @@ -3,33 +3,9 @@ #define ITEM_BABYSTEP_UNIT_NUM 3 -const ITEM itemBabyStepUnit[ITEM_BABYSTEP_UNIT_NUM] = { - // icon label - {ICON_001_MM, LABEL_001_MM}, - {ICON_01_MM, LABEL_01_MM}, - {ICON_1_MM, LABEL_1_MM}, -}; - -const float babystep_unit[ITEM_BABYSTEP_UNIT_NUM] = {0.01f, 0.1f, 1}; static u8 curUnit = 0; -static float babystep; -static float orig_z_offset; - -/* Initialize Z offset */ -void babyInitZOffset(void) -{ - orig_z_offset = probeOffsetGetValue() - babystep; -} - -/* Reset to default */ -void babyReset(void) -{ - babystepReset(); - babyInitZOffset(); -} - -void babyReDraw(bool skip_header) +void babyReDraw(float babystep, float z_offset, bool skip_header) { if (!skip_header) { @@ -45,16 +21,25 @@ void babyReDraw(bool skip_header) setLargeFont(true); sprintf(tempstr, "% 6.2f", babystep); - GUI_DispStringRight(point_bs.x, point_bs.y, (u8 *)tempstr); + GUI_DispStringRight(point_bs.x, point_bs.y, (u8 *) tempstr); - sprintf(tempstr, "% 6.2f", orig_z_offset + babystep); - GUI_DispStringRight(point_of.x, point_of.y, (u8 *)tempstr); + sprintf(tempstr, "% 6.2f", z_offset); + GUI_DispStringRight(point_of.x, point_of.y, (u8 *) tempstr); setLargeFont(false); } void menuBabystep(void) { + const ITEM itemBabyStepUnit[ITEM_BABYSTEP_UNIT_NUM] = { + // icon label + {ICON_001_MM, LABEL_001_MM}, + {ICON_01_MM, LABEL_01_MM}, + {ICON_1_MM, LABEL_1_MM}, + }; + + const float babystep_unit[ITEM_BABYSTEP_UNIT_NUM] = {0.01f, 0.1f, 1}; + // 1 title, ITEM_PER_PAGE items (icon + label) MENUITEMS babyStepItems = { // title @@ -78,10 +63,12 @@ void menuBabystep(void) #endif KEY_VALUES key_num = KEY_IDLE; - float now = babystep = babystepGetValue(); + float now_babystep, babystep; + float now_z_offset, z_offset; float unit; - babyInitZOffset(); + now_babystep = babystep = babystepGetValue(); + now_z_offset = z_offset = probeOffsetGetValue(); if (infoMachineSettings.EEPROM == 1) { @@ -92,7 +79,7 @@ void menuBabystep(void) babyStepItems.items[KEY_ICON_5] = itemBabyStepUnit[curUnit]; menuDrawPage(&babyStepItems); - babyReDraw(false); + babyReDraw(now_babystep, now_z_offset, false); #if LCD_ENCODER_SUPPORT encoderPosition = 0; @@ -102,6 +89,9 @@ void menuBabystep(void) { unit = babystep_unit[curUnit]; + babystep = babystepGetValue(); // always load current babystep + z_offset = probeOffsetGetValue(); // always load current Z offset + key_num = menuKeyGetValue(); switch (key_num) { @@ -119,16 +109,19 @@ void menuBabystep(void) case KEY_ICON_4: if (infoMachineSettings.EEPROM == 1) { - probeOffsetSetValue(orig_z_offset + babystep); // apply Z offset + probeOffsetSetValue(z_offset); // set new Z offset + setDialogText(babyStepItems.title.index, LABEL_EEPROM_SAVE_INFO, LABEL_CONFIRM, LABEL_CANCEL); showDialog(DIALOG_TYPE_QUESTION, saveEepromSettings, NULL, NULL); } break; - // change step unit + // change unit case KEY_ICON_5: curUnit = (curUnit + 1) % ITEM_BABYSTEP_UNIT_NUM; + babyStepItems.items[key_num] = itemBabyStepUnit[curUnit]; + menuDrawItem(&babyStepItems.items[key_num], key_num); break; @@ -145,17 +138,19 @@ void menuBabystep(void) #if LCD_ENCODER_SUPPORT if (encoderPosition) { - babystep = babystepUpdateValueByEncoder(unit); + babystep = babystepUpdateValueByEncoder(unit, encoderPosition > 0 ? 1 : -1); + encoderPosition = 0; } #endif break; } - if (now != babystep) + if (now_babystep != babystep || now_z_offset != z_offset) { - now = babystep; - babyReDraw(true); + now_babystep = babystep; + now_z_offset = z_offset; + babyReDraw(now_babystep, now_z_offset, true); } loopProcess(); diff --git a/TFT/src/User/Menu/BedLeveling.c b/TFT/src/User/Menu/BedLeveling.c index ab00b67887..597438a992 100644 --- a/TFT/src/User/Menu/BedLeveling.c +++ b/TFT/src/User/Menu/BedLeveling.c @@ -23,7 +23,7 @@ void menuBedLeveling(void) LABEL_ABL_SETTINGS, // icon label {{ICON_LEVELING, LABEL_ABL}, - {ICON_BACKGROUND, LABEL_BACKGROUND}, + {ICON_LEVELING, LABEL_MESH_EDITOR}, {ICON_BACKGROUND, LABEL_BACKGROUND}, {ICON_BACKGROUND, LABEL_BACKGROUND}, {ICON_PROBE_OFFSET, LABEL_Z_OFFSET}, @@ -81,6 +81,10 @@ void menuBedLeveling(void) infoMenu.menu[++infoMenu.cur] = menuBL; break; + case KEY_ICON_1: + infoMenu.menu[++infoMenu.cur] = menuMeshEditor; + break; + case KEY_ICON_4: storeCmd("M851\n"); infoMenu.menu[++infoMenu.cur] = menuProbeOffset; @@ -89,8 +93,11 @@ void menuBedLeveling(void) case KEY_ICON_5: { char tempstr[30]; + sprintf(tempstr, "%Min:%.2f | Max:%.2f", Z_FADE_MIN_VALUE, Z_FADE_MAX_VALUE); + float val = numPadFloat((u8 *) tempstr, getParameter(P_ABL_STATE, 1), 0.0f, false); + storeCmd("M420 Z%.2f\n", NOBEYOND(Z_FADE_MIN_VALUE, val, Z_FADE_MAX_VALUE)); menuDrawPage(&bedLevelingItems); @@ -120,7 +127,7 @@ void menuBedLeveling(void) { levelStateOld = getParameter(P_ABL_STATE, 0); blUpdateState(&bedLevelingItems); - }; + } loopProcess(); } diff --git a/TFT/src/User/Menu/Leveling.c b/TFT/src/User/Menu/Leveling.c index 6f80edaa71..0604988d9c 100644 --- a/TFT/src/User/Menu/Leveling.c +++ b/TFT/src/User/Menu/Leveling.c @@ -1,20 +1,6 @@ #include "Leveling.h" #include "includes.h" -const MENUITEMS manualLevelingItems = { - // title - LABEL_LEVELING, - // icon label - {{ICON_POINT_1, LABEL_POINT_1}, - {ICON_POINT_2, LABEL_POINT_2}, - {ICON_POINT_3, LABEL_POINT_3}, - {ICON_POINT_4, LABEL_POINT_4}, - {ICON_POINT_5, LABEL_POINT_5}, - {ICON_LEVEL_EDGE_DISTANCE, LABEL_DISTANCE}, - {ICON_DISABLE_STEPPERS, LABEL_XY_UNLOCK}, - {ICON_BACK, LABEL_BACK},} -}; - void moveToLevelingPoint(u8 point) { s16 pointPosition[5][2] = { @@ -37,6 +23,20 @@ void moveToLevelingPoint(u8 point) void menuManualLeveling(void) { + MENUITEMS manualLevelingItems = { + // title + LABEL_LEVELING, + // icon label + {{ICON_POINT_1, LABEL_POINT_1}, + {ICON_POINT_2, LABEL_POINT_2}, + {ICON_POINT_3, LABEL_POINT_3}, + {ICON_POINT_4, LABEL_POINT_4}, + {ICON_POINT_5, LABEL_POINT_5}, + {ICON_LEVEL_EDGE_DISTANCE, LABEL_DISTANCE}, + {ICON_DISABLE_STEPPERS, LABEL_XY_UNLOCK}, + {ICON_BACK, LABEL_BACK},} + }; + KEY_VALUES key_num = KEY_IDLE; menuDrawPage(&manualLevelingItems); diff --git a/TFT/src/User/Menu/MBL.c b/TFT/src/User/Menu/MBL.c index 62532d58b8..29631ff325 100644 --- a/TFT/src/User/Menu/MBL.c +++ b/TFT/src/User/Menu/MBL.c @@ -3,44 +3,35 @@ #define ITEM_MBL_UNIT_NUM 3 -const ITEM itemMblUnit[ITEM_MBL_UNIT_NUM] = { - // icon label - {ICON_001_MM, LABEL_001_MM}, - {ICON_01_MM, LABEL_01_MM}, - {ICON_1_MM, LABEL_1_MM}, -}; - -const float mblUnit[ITEM_MBL_UNIT_NUM] = {0.01f, 0.1f, 1}; -static u8 curUnit = 0; - -static float babystep; +static u8 curUnit = 0; u8 mblPoint = 0; bool mblRunning = false; +/* called by parseAck() to notify MBL process status */ void mblUpdateStatus(bool succeeded) { mblRunning = false; - if (succeeded) // if bed leveling process successfully terminated, allow to save to EEPROM + if (succeeded) // if bed leveling process successfully terminated, allow to save to EEPROM { BUZZER_PLAY(sound_success); + labelChar(tempMsg, LABEL_BL_COMPLETE); + if (infoMachineSettings.EEPROM == 1) { - char tmpBuf[120]; - labelChar(tempstr1, LABEL_BL_COMPLETE); - labelChar(tempstr2, LABEL_EEPROM_SAVE_INFO); - sprintf(tmpBuf, "%s\n %s", tempstr1, tempstr2); - setDialogText(LABEL_MBL_SETTINGS, (u8*) tmpBuf, LABEL_CONFIRM, LABEL_CANCEL); + sprintf(&tempMsg[strlen(tempMsg)], "\n %s", textSelect(LABEL_EEPROM_SAVE_INFO)); + + setDialogText(LABEL_MBL_SETTINGS, (u8 *) tempMsg, LABEL_CONFIRM, LABEL_CANCEL); showDialog(DIALOG_TYPE_SUCCESS, saveEepromSettings, NULL, NULL); } else { - popupReminder(DIALOG_TYPE_SUCCESS, LABEL_MBL_SETTINGS, LABEL_BL_COMPLETE); + popupReminder(DIALOG_TYPE_SUCCESS, LABEL_MBL_SETTINGS, (u8 *) tempMsg); } } - else // if if bed leveling process failed, provide an error dialog + else // if bed leveling process failed, provide an error dialog { BUZZER_PLAY(sound_error); @@ -48,14 +39,14 @@ void mblUpdateStatus(bool succeeded) } } -/* Show an eror message notification */ +/* Show an error notification */ void mblNotifyError(void) { - char tmpBuf[120]; - labelChar(tempstr1, LABEL_MBL); - labelChar(tempstr2, LABEL_OFF); - sprintf(tmpBuf, "%s %s", tempstr1, tempstr2); - addToast(DIALOG_TYPE_ERROR, tmpBuf); + labelChar(tempMsg, LABEL_MBL); + + sprintf(&tempMsg[strlen(tempMsg)], " %s", textSelect(LABEL_OFF)); + + addToast(DIALOG_TYPE_ERROR, tempMsg); } /* Start MBL */ @@ -64,15 +55,28 @@ void mblStart(void) mblRunning = true; mblPoint = 0; + probeHeightEnable(); // temporary disable software endstops + // MBL gcode sequence start - mustStoreCmd("G29 S1\n"); // to move to the first point for Z adjustment + mustStoreCmd("G29 S1\n"); // home and move to first point for Z height adjustment + + probeHeightStart(); // lower nozzle to Z0 point } /* Stop MBL */ void mblStop(void) { mblRunning = false; + + // MBL gcode sequence stop + mustStoreCmd("G29 S5\n"); // reset and disable mesh + + probeHeightStop(); // raise nozzle + + probeHeightDisable(); // restore original software endstops state + BUZZER_PLAY(sound_error); + popupReminder(DIALOG_TYPE_ERROR, LABEL_MBL_SETTINGS, LABEL_PROCESS_ABORTED); } @@ -83,16 +87,17 @@ void mblDrawHeader(u8 *point) if (point != NULL) { sprintf(tempstr, "P%d ", *point); + GUI_SetColor(infoSettings.sd_reminder_color); } else { - labelChar(tempstr1, LABEL_OFF); - sprintf(tempstr, "%s ", tempstr1); + sprintf(tempstr, "%s ", textSelect(LABEL_OFF)); + GUI_SetColor(infoSettings.reminder_color); } - GUI_DispString(exhibitRect.x0, exhibitRect.y0, (u8 *)tempstr); + GUI_DispString(exhibitRect.x0, exhibitRect.y0, (u8 *) tempstr); GUI_SetColor(infoSettings.font_color); } @@ -103,12 +108,21 @@ void mblDrawValue(float val) sprintf(tempstr, " %.2f ", val); setLargeFont(true); - GUI_DispStringInPrect(&exhibitRect, (u8 *)tempstr); + GUI_DispStringInPrect(&exhibitRect, (u8 *) tempstr); setLargeFont(false); } void menuMBL(void) { + const ITEM itemMblUnit[ITEM_MBL_UNIT_NUM] = { + // icon label + {ICON_001_MM, LABEL_001_MM}, + {ICON_01_MM, LABEL_01_MM}, + {ICON_1_MM, LABEL_1_MM}, + }; + + const float mblUnit[ITEM_MBL_UNIT_NUM] = {0.01f, 0.1f, 1}; + // 1 title, ITEM_PER_PAGE items (icon + label) MENUITEMS mblItems = { // title @@ -118,9 +132,9 @@ void menuMBL(void) {ICON_BACKGROUND, LABEL_BACKGROUND}, {ICON_BACKGROUND, LABEL_BACKGROUND}, {ICON_INC, LABEL_INC}, - {ICON_RESUME, LABEL_START}, {ICON_001_MM, LABEL_001_MM}, {ICON_RESET_VALUE, LABEL_RESET}, + {ICON_RESUME, LABEL_START}, {ICON_BACK, LABEL_BACK},} }; @@ -132,13 +146,21 @@ void menuMBL(void) #endif KEY_VALUES key_num = KEY_IDLE; - float now = babystep = babystepGetValue(); + float now, curValue; float unit; - mblItems.items[KEY_ICON_5] = itemMblUnit[curUnit]; + now = curValue = coordinateGetAxisActual(Z_AXIS); + + mblItems.items[KEY_ICON_4] = itemMblUnit[curUnit]; + + if (mblRunning) + { + mblItems.items[KEY_ICON_6].icon = ICON_PAGE_DOWN; + mblItems.items[KEY_ICON_6].label.index = LABEL_NEXT; + } menuDrawPage(&mblItems); - mblDrawHeader(NULL); + mblDrawHeader(!mblRunning ? NULL : &mblPoint); mblDrawValue(now); #if LCD_ENCODER_SUPPORT @@ -149,29 +171,48 @@ void menuMBL(void) { unit = mblUnit[curUnit]; + curValue = coordinateGetAxisActual(Z_AXIS); + key_num = menuKeyGetValue(); switch (key_num) { - // decrease babystep + // decrease Z height case KEY_ICON_0: if (!mblRunning) mblNotifyError(); else - babystep = babystepDecreaseValue(unit); + probeHeightMove(unit, -1); break; - // increase babystep + // increase Z height case KEY_ICON_3: if (!mblRunning) mblNotifyError(); else - babystep = babystepIncreaseValue(unit); + probeHeightMove(unit, 1); break; - // start MBL or probe the next mesh point + // change unit case KEY_ICON_4: + curUnit = (curUnit + 1) % ITEM_MBL_UNIT_NUM; + + mblItems.items[key_num] = itemMblUnit[curUnit]; + + menuDrawItem(&mblItems.items[key_num], key_num); + break; + + // reset Z height to 0 + case KEY_ICON_5: if (!mblRunning) - { + mblNotifyError(); + else + probeHeightMove(curValue, -1); + break; + + // start MBL or move to next mesh point + case KEY_ICON_6: + if (!mblRunning) + { // start MBL mblStart(); mblItems.items[key_num].icon = ICON_PAGE_DOWN; @@ -184,40 +225,19 @@ void menuMBL(void) } else { - storeCmd("G29 S2\n"); // to save the Z value and move to the next point + storeCmd("G29 S2\n"); // save Z height and move to next mesh point + + probeHeightStart(); // lower nozzle to Z0 point ++mblPoint; mblDrawHeader(&mblPoint); - - babystep = babystepResetValue(); // always reset babystep to default value } break; - // change unit - case KEY_ICON_5: - curUnit = (curUnit + 1) % ITEM_MBL_UNIT_NUM; - - mblItems.items[key_num] = itemMblUnit[curUnit]; - - menuDrawItem(&mblItems.items[key_num], key_num); - break; - - // reset babystep to default value - case KEY_ICON_6: - if (!mblRunning) - mblNotifyError(); - else - babystep = babystepResetValue(); - break; - case KEY_ICON_7: if (mblRunning) - { mblStop(); - babystep = babystepResetValue(); // always reset offset to default value - } - infoMenu.cur--; break; @@ -228,7 +248,7 @@ void menuMBL(void) if (!mblRunning) mblNotifyError(); else - babystep = babystepUpdateValueByEncoder(unit); + probeHeightMove(unit, encoderPosition > 0 ? 1 : -1); encoderPosition = 0; } @@ -236,12 +256,14 @@ void menuMBL(void) break; } - if (now != babystep) + if (now != curValue) { - now = babystep; + now = curValue; mblDrawValue(now); } + probeHeightQueryCoord(); + loopProcess(); } } diff --git a/TFT/src/User/Menu/MBL.h b/TFT/src/User/Menu/MBL.h index 55d16e0156..2ef4991d87 100644 --- a/TFT/src/User/Menu/MBL.h +++ b/TFT/src/User/Menu/MBL.h @@ -7,6 +7,7 @@ extern "C" { #include +/* called by parseAck() to notify MBL process status */ void mblUpdateStatus(bool succeeded); void menuMBL(void); diff --git a/TFT/src/User/Menu/MachineSettings.c b/TFT/src/User/Menu/MachineSettings.c index 615c166dc0..b44fc3e977 100644 --- a/TFT/src/User/Menu/MachineSettings.c +++ b/TFT/src/User/Menu/MachineSettings.c @@ -209,39 +209,39 @@ void menuEepromSettings(void) key_num = menuKeyGetValue(); switch(key_num) { - case KEY_ICON_0: - // save to EEPROM - if (infoMachineSettings.EEPROM == 1) - { - setDialogText(eepromSettingsItems.title.index, LABEL_EEPROM_SAVE_INFO, LABEL_CONFIRM, LABEL_CANCEL); - showDialog(DIALOG_TYPE_QUESTION, saveEepromSettings, NULL, NULL); - } - break; + case KEY_ICON_0: + // save to EEPROM + if (infoMachineSettings.EEPROM == 1) + { + setDialogText(eepromSettingsItems.title.index, LABEL_EEPROM_SAVE_INFO, LABEL_CONFIRM, LABEL_CANCEL); + showDialog(DIALOG_TYPE_QUESTION, saveEepromSettings, NULL, NULL); + } + break; - case KEY_ICON_1: - // restore from EEPROM - if (infoMachineSettings.EEPROM == 1) - { - setDialogText(eepromSettingsItems.title.index, LABEL_EEPROM_RESTORE_INFO, LABEL_CONFIRM, LABEL_CANCEL); - showDialog(DIALOG_TYPE_QUESTION, restoreEepromSettings, NULL, NULL); - } - break; + case KEY_ICON_1: + // restore from EEPROM + if (infoMachineSettings.EEPROM == 1) + { + setDialogText(eepromSettingsItems.title.index, LABEL_EEPROM_RESTORE_INFO, LABEL_CONFIRM, LABEL_CANCEL); + showDialog(DIALOG_TYPE_QUESTION, restoreEepromSettings, NULL, NULL); + } + break; - case KEY_ICON_2: - // reset EEPROM - if (infoMachineSettings.EEPROM == 1) - { - setDialogText(eepromSettingsItems.title.index, LABEL_EEPROM_RESET_INFO, LABEL_CONFIRM, LABEL_CANCEL); - showDialog(DIALOG_TYPE_QUESTION, resetEepromSettings, NULL, NULL); - } - break; + case KEY_ICON_2: + // reset EEPROM + if (infoMachineSettings.EEPROM == 1) + { + setDialogText(eepromSettingsItems.title.index, LABEL_EEPROM_RESET_INFO, LABEL_CONFIRM, LABEL_CANCEL); + showDialog(DIALOG_TYPE_QUESTION, resetEepromSettings, NULL, NULL); + } + break; - case KEY_ICON_7: - infoMenu.cur--; - break; + case KEY_ICON_7: + infoMenu.cur--; + break; - default: - break; + default: + break; } loopProcess(); diff --git a/TFT/src/User/Menu/MeshEditor.c b/TFT/src/User/Menu/MeshEditor.c new file mode 100644 index 0000000000..7e288d8bd6 --- /dev/null +++ b/TFT/src/User/Menu/MeshEditor.c @@ -0,0 +1,960 @@ +#include "MeshEditor.h" +#include "includes.h" + +#define MESH_GRID_SIZE (MESH_GRID_MAX_POINTS_X * MESH_GRID_MAX_POINTS_Y) +#define MESH_MAX_PARSED_ROWS 30 // Set the maximum number of data rows to parse for retrieving the mesh + // grid from the "M420 T1 V1" command output provided by the Marlin FW +#define MESH_LINE_EDGE_DISTANCE 4 + +typedef struct +{ + const uint8_t colsToSkip; + const uint8_t rowsToSkip; + const bool rowsInverted; + const char *const echoMsg; +} MESH_DATA_FORMAT; + +const MESH_DATA_FORMAT meshDataFormat[] = { + {1, 4, 1, "Mesh Bed Level data:"}, // MBL + {0, 2, 0, "Bed Topography Report for CSV:"}, // UBL + {1, 2, 1, "Bilinear Leveling Grid:"}, // ABL Bilinear + {0, 1, 1, "Bed Level Correction Matrix:"}, // ABL Linear or 3-Point +}; + +void (*meshSaveCallbackPtr)(void) = NULL; + +typedef enum +{ + ME_DATA_IDLE = 0, + ME_DATA_EMPTY, + ME_DATA_WAITING, + ME_DATA_FULL, + ME_DATA_FAILED, +} MESH_DATA_STATUS; + +typedef struct +{ + float dataOrig[MESH_GRID_SIZE]; // data grid of original Z height + float data[MESH_GRID_SIZE]; // data grid of current Z height data grid + + uint16_t dataSize; // number of data present in the data grid + uint16_t colsNum; // number of points per X axis (number of columns in the data grid) + uint16_t rowsNum; // number of points per Y axis (number of rows in the data grid) + + uint16_t index; // current index in the data grid + uint16_t col; // current column in the data grid + uint16_t row; // current row in the data grid + + bool initValueMinMax; // force to init valueMin and valueMax + float valueMin; // minimum data value in the data grid + float valueMax; // maximum data value in the data grid + float valueDelta; // valueMax - valueMin + + uint16_t rStart; // RGB red component for drawing the minimum data value in the data grid + uint16_t gStart; // RGB green component for drawing the minimum data value in the data grid + uint16_t bStart; // RGB blue component for drawing the minimum data value in the data grid + uint16_t rEnd; // RGB green component for drawing the maximum data value in the data grid + uint16_t gEnd; // RGB red component for drawing the maximum data value in the data grid + uint16_t bEnd; // RGB blue component for drawing the maximum data value in the data grid + float rDelta; // rEnd - rStart + float gDelta; // gEnd - gStart + float bDelta; // bEnd - bStart + + MESH_DATA_STATUS status; // current status of dataOrig/data + + uint16_t parsedRows; + + uint16_t colsToSkip; + uint16_t rowsToSkip; + bool rowsInverted; + + char saveTitle[120]; +} MESH_DATA; + +static MESH_DATA *meshData = NULL; + +#define MESH_GRID_HEIGHT (LCD_HEIGHT - ICON_START_Y) +#define MESH_GRID_WIDTH MESH_GRID_HEIGHT +#define MESH_POINT_MIN_RATIO 3.0f +#define MESH_POINT_MED_RATIO 5.0f +#define MESH_POINT_MAX_RATIO 8.0f + +#define MESH_INFO_ROW_NUM 1 +#define MESH_INFO_COL_NUM 3 +#define MESH_INFO_HEIGHT (ICON_START_Y / MESH_INFO_ROW_NUM) +#define MESH_INFO_WIDTH (MESH_GRID_WIDTH / MESH_INFO_COL_NUM) + +#define MESH_KEY_ROW_NUM 6 +#define MESH_KEY_COL_NUM 2 +#define MESH_KEY_HEIGHT (LCD_HEIGHT / MESH_KEY_ROW_NUM) +#define MESH_KEY_WIDTH (LCD_WIDTH - MESH_GRID_WIDTH) / MESH_KEY_COL_NUM + +#if MESH_LEFT_KEYBOARD == 1 + #define MESH_GRID_X0 (LCD_WIDTH - MESH_GRID_WIDTH) + #define MESH_GRID_Y0 ICON_START_Y + #define MESH_INFO_X0 (LCD_WIDTH - MESH_GRID_WIDTH) + #define MESH_INFO_Y0 0 + #define MESH_KEY_X0 0 + #define MESH_KEY_Y0 0 +#else + #define MESH_GRID_X0 0 + #define MESH_GRID_Y0 ICON_START_Y + #define MESH_INFO_X0 0 + #define MESH_INFO_Y0 0 + #define MESH_KEY_X0 MESH_GRID_WIDTH + #define MESH_KEY_Y0 0 +#endif + +#define MESH_INFO_NUM 4 +#define MESH_KEY_NUM 9 +#define MESH_AREA_NUM 3 + +typedef enum +{ + ME_INFO_MIN = 0, + ME_INFO_MAX, + ME_INFO_ORIG, + ME_INFO_CUR, + ME_INFO_IDLE = IDLE_TOUCH, +} MESH_INFO_VALUES; + +typedef enum +{ + ME_KEY_SAVE = 0, + ME_KEY_OK, + ME_KEY_RESET, + ME_KEY_HOME, + ME_KEY_EDIT, + ME_KEY_UP, + ME_KEY_PREV, + ME_KEY_NEXT, + ME_KEY_DOWN, + ME_KEY_IDLE = IDLE_TOUCH, +} MESH_KEY_VALUES; + +typedef enum +{ + ME_AREA_GRID = 0, + ME_AREA_INFO, + ME_AREA_KEY, + ME_AREA_IDLE = IDLE_TOUCH, +} MESH_AREA_VALUES; + +const GUI_RECT meshGridRect = {MESH_GRID_X0, MESH_GRID_Y0, MESH_GRID_X0 + MESH_GRID_WIDTH, MESH_GRID_Y0 + MESH_GRID_HEIGHT}; + +const GUI_RECT meshInfoRect[MESH_INFO_NUM] = { +#if MESH_LEFT_KEYBOARD == 1 + {MESH_INFO_X0 + 1 * MESH_INFO_WIDTH, MESH_INFO_Y0 + 0 * MESH_INFO_HEIGHT, MESH_INFO_X0 + 2 * MESH_INFO_WIDTH, MESH_INFO_Y0 + 1 * MESH_INFO_HEIGHT},// min value + {MESH_INFO_X0 + 2 * MESH_INFO_WIDTH, MESH_INFO_Y0 + 0 * MESH_INFO_HEIGHT, MESH_INFO_X0 + 3 * MESH_INFO_WIDTH, MESH_INFO_Y0 + 1 * MESH_INFO_HEIGHT},// max value + {MESH_INFO_X0 + 0 * MESH_INFO_WIDTH, MESH_INFO_Y0 + 0 * MESH_INFO_HEIGHT, MESH_INFO_X0 + 1 * MESH_INFO_WIDTH, MESH_INFO_Y0 + 1 * MESH_INFO_HEIGHT},// original value +#else + {MESH_INFO_X0 + 0 * MESH_INFO_WIDTH, MESH_INFO_Y0 + 0 * MESH_INFO_HEIGHT, MESH_INFO_X0 + 1 * MESH_INFO_WIDTH, MESH_INFO_Y0 + 1 * MESH_INFO_HEIGHT},// min value + {MESH_INFO_X0 + 1 * MESH_INFO_WIDTH, MESH_INFO_Y0 + 0 * MESH_INFO_HEIGHT, MESH_INFO_X0 + 2 * MESH_INFO_WIDTH, MESH_INFO_Y0 + 1 * MESH_INFO_HEIGHT},// max value + {MESH_INFO_X0 + 2 * MESH_INFO_WIDTH, MESH_INFO_Y0 + 0 * MESH_INFO_HEIGHT, MESH_INFO_X0 + 3 * MESH_INFO_WIDTH, MESH_INFO_Y0 + 1 * MESH_INFO_HEIGHT},// original value +#endif + {MESH_KEY_X0 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 2 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 2 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 3 * MESH_KEY_HEIGHT}, // current value +}; + +const GUI_RECT meshKeyRect[MESH_KEY_NUM] = { +#if MESH_LEFT_KEYBOARD == 1 + {MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 0 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 2 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 1 * MESH_KEY_HEIGHT}, // SAVE + {MESH_KEY_X0 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 0 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 1 * MESH_KEY_HEIGHT}, // OK + {MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 1 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 2 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 2 * MESH_KEY_HEIGHT}, // RESET + {MESH_KEY_X0 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 1 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 2 * MESH_KEY_HEIGHT}, // HOME +#else + {MESH_KEY_X0 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 0 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 1 * MESH_KEY_HEIGHT}, // SAVE + {MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 0 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 2 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 1 * MESH_KEY_HEIGHT}, // OK + {MESH_KEY_X0 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 1 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 2 * MESH_KEY_HEIGHT}, // RESET + {MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 1 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 2 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 2 * MESH_KEY_HEIGHT}, // HOME +#endif + {MESH_KEY_X0 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 2 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 2 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 3 * MESH_KEY_HEIGHT}, // EDIT + {MESH_KEY_X0 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 3 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 2 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 4 * MESH_KEY_HEIGHT}, // UP + {MESH_KEY_X0 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 4 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 5 * MESH_KEY_HEIGHT}, // PREV + {MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 4 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 2 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 5 * MESH_KEY_HEIGHT}, // NEXT + {MESH_KEY_X0 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 5 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 2 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 6 * MESH_KEY_HEIGHT}, // DOWN +}; + +const char *const meshKeyString[MESH_KEY_NUM] = { + "\u08A7", // SAVE + "\u0894", // OK + "\u08A5", // RESET + "\u08A3", // HOME + "", // EDIT + "\u02C4", // UP + "\u02C2", // PREV + "\u02C3", // NEXT + "\u02C5", // DOWN +}; + +const GUI_RECT meshAreaRect[MESH_AREA_NUM] = { + {MESH_GRID_X0, MESH_GRID_Y0, MESH_GRID_X0 + MESH_GRID_WIDTH, MESH_GRID_Y0 + MESH_GRID_HEIGHT}, // grid area + {MESH_INFO_X0, MESH_INFO_Y0, MESH_INFO_X0 + MESH_GRID_WIDTH, MESH_INFO_Y0 + ICON_START_Y}, // info area + {MESH_KEY_X0, MESH_KEY_Y0, MESH_KEY_X0 + (LCD_WIDTH - MESH_GRID_WIDTH), MESH_KEY_Y0 + LCD_HEIGHT}, // keyboard area +}; + +void meshInitData(void) +{ + if (meshData == NULL) + return; + + meshData->dataSize = 0; + meshData->colsNum = 0; + meshData->rowsNum = 0; + + meshData->index = 0; + meshData->col= 0; + meshData->row = 0; + + meshData->initValueMinMax = true; + meshData->valueMin = 0.0f; + meshData->valueMax = 0.0f; + meshData->valueDelta = 0.0f; + + uint16_t rgbStart = infoSettings.mesh_min_color; // RGB color in RGB 565 16 bit format + uint16_t rgbEnd = infoSettings.mesh_max_color; // RGB color in RGB 565 16 bit format + + meshData->rStart = (rgbStart >> 11) & 0b0000000000011111; + meshData->gStart = (rgbStart >> 5) & 0b0000000000111111; + meshData->bStart = (rgbStart) & 0b0000000000011111; + meshData->rEnd = (rgbEnd >> 11) & 0b0000000000011111; + meshData->gEnd = (rgbEnd >> 5) & 0b0000000000111111; + meshData->bEnd = (rgbEnd) & 0b0000000000011111; + meshData->rDelta = (float) (meshData->rEnd) - meshData->rStart; + meshData->gDelta = (float) (meshData->gEnd) - meshData->gStart; + meshData->bDelta = (float) (meshData->bEnd) - meshData->bStart; + + meshData->status = ME_DATA_IDLE; + + meshData->parsedRows = 0; + + meshSaveCallbackPtr = NULL; +} + +void meshAllocData(void) +{ + if (meshData != NULL) // if data already exist (e.g. when the menu is reloaded), continue to use the existing data + return; + + meshData = (MESH_DATA *) malloc(sizeof(MESH_DATA)); + + meshInitData(); + + probeHeightEnable(); // temporary disable software endstops +} + +void meshDeallocData(void) +{ + if (meshData == NULL) + return; + + free(meshData); + + meshData = NULL; + + probeHeightDisable(); // restore original software endstops state +} + +bool processKnownDataFormat(char *dataRow) +{ + bool isKnown = false; + u8 i; + + for (i = 0; i < COUNT(meshDataFormat); i++) + { + if (strstr(dataRow, meshDataFormat[i].echoMsg)) + { + isKnown = true; + break; + } + } + + if (isKnown) + { + meshData->colsToSkip = meshDataFormat[i].colsToSkip; + meshData->rowsToSkip = meshDataFormat[i].rowsToSkip; + meshData->rowsInverted = meshDataFormat[i].rowsInverted; + + meshSaveCallbackPtr = saveEepromSettings; + + switch (infoMachineSettings.leveling) + { + case BL_BBL: + sprintf(meshData->saveTitle, "%s", textSelect(LABEL_ABL_SETTINGS_BBL)); + break; + + case BL_UBL: + meshSaveCallbackPtr = menuUBLSave; + + sprintf(meshData->saveTitle, "%s", textSelect(LABEL_ABL_SETTINGS_UBL)); + break; + + case BL_MBL: + sprintf(meshData->saveTitle, "%s", textSelect(LABEL_MBL_SETTINGS)); + break; + + default: + sprintf(meshData->saveTitle, "%s", textSelect(LABEL_ABL_SETTINGS)); + break; + } + } + + return isKnown; +} + +void meshSaveCallback(void) +{ + if (meshSaveCallbackPtr != NULL) + meshSaveCallbackPtr(); + + meshDeallocData(); // deallocate mesh data. It forces data reloading during Mesh Editor menu reloading +} + +bool meshGetStatus(void) +{ + if (meshData->status != ME_DATA_FULL) + return false; + + return true; +} + +uint16_t meshGetSize(void) +{ + if (!meshGetStatus()) + return 0; + + return meshData->dataSize; +} + +uint16_t meshGetColsNum(void) +{ + if (!meshGetStatus()) + return 0; + + return meshData->colsNum; +} + +uint16_t meshGetRowsNum(void) +{ + if (!meshGetStatus()) + return 0; + + return meshData->rowsNum; +} + +uint16_t meshGetIndex(void) +{ + return meshData->index; +} + +uint16_t meshGetCol(void) +{ + return meshData->col; +} + +uint16_t meshGetRow(void) +{ + return meshData->row; +} + +uint16_t meshSetIndex(int32_t index) +{ + if (meshGetStatus()) + { + index = NOBEYOND(0, index, meshData->dataSize - 1); + + meshData->index = index; + meshData->col = meshData->index % meshData->colsNum; + meshData->row = meshData->index / meshData->rowsNum;; + } + + return meshData->index; +} + +uint16_t meshSetIndexByCol(int32_t col) +{ + if (meshGetStatus()) + { + col = NOBEYOND(0, col, meshData->colsNum - 1); + + meshData->col = col; + meshData->index = meshData->row * meshData->colsNum + meshData->col; + } + + return meshData->index; +} + +uint16_t meshSetIndexByRow(int32_t row) +{ + if (meshGetStatus()) + { + row = NOBEYOND(0, row, meshData->rowsNum - 1); + + meshData->row = row; + meshData->index = meshData->row * meshData->colsNum + meshData->col; + } + + return meshData->index; +} + +uint16_t meshGetJ() +{ + return (meshData->rowsNum - 1) - meshData->row; +} + +uint16_t meshGetValueRow(uint16_t index) +{ + if (meshData->rowsInverted) + return (meshData->rowsNum - 1) - (index / meshData->colsNum); + else + return (index / meshData->colsNum); +} + +float meshGetValueOrig(uint16_t index) +{ + return meshData->dataOrig[(meshGetValueRow(index) * meshData->colsNum) + (index % meshData->colsNum)]; +} + +float meshGetValue(uint16_t index) +{ + return meshData->data[(meshGetValueRow(index) * meshData->colsNum) + (index % meshData->colsNum)]; +} + +bool meshSetValue(float value) +{ + meshData->data[(meshGetValueRow(meshData->index) * meshData->colsNum) + meshData->col] = value; + + storeCmd("M421 I%d J%d Z%.3f\n", meshData->col, meshGetJ(), value); + + return true; +} + +float meshGetValueMin(void) +{ + return meshData->valueMin; +} + +float meshGetValueMax(void) +{ + return meshData->valueMax; +} + +bool meshUpdateValueMinMax(float value) +{ + bool isValueChanged = false; + + if (meshData->initValueMinMax) + { + meshData->valueMin = meshData->valueMax = value; + meshData->initValueMinMax = false; + + isValueChanged = true; + } + else if (value < meshData->valueMin) + { + meshData->valueMin = value; + + isValueChanged = true; + } + else if (value > meshData->valueMax) + { + meshData->valueMax = value; + + isValueChanged = true; + } + + if (isValueChanged) + meshData->valueDelta = meshData->valueMax - meshData->valueMin; + + return isValueChanged; +} + +void meshFullUpdateValueMinMax(void) +{ + if (!meshGetStatus()) + return; + + meshData->initValueMinMax = true; + + for (uint16_t i = 0; i < meshData->dataSize; i++) + { + meshUpdateValueMinMax(meshData->data[i]); + } +} + +uint16_t meshGetRGBColor(float value) +{ + if (meshData->valueDelta == 0) + return (meshData->rStart << 11) | (meshData->gStart << 5) | (meshData->bStart); + + float valueDiff; + uint16_t r, g, b; + + valueDiff = value - meshData->valueMin; + + r = meshData->rStart + valueDiff * (meshData->rDelta / meshData->valueDelta); + g = meshData->gStart + valueDiff * (meshData->gDelta / meshData->valueDelta); + b = meshData->bStart + valueDiff * (meshData->bDelta / meshData->valueDelta); + + return (r << 11) | (g << 5) | (b); +} + +void meshDrawGridCell(uint16_t index, uint16_t edgeDistance, bool clearBkGround) +{ + float value = meshGetValue(index); + uint16_t col = index % meshGetColsNum(); + uint16_t row = index / meshGetColsNum(); + uint16_t cellWidth = MESH_GRID_WIDTH / meshGetColsNum(); + uint16_t cellHeight = MESH_GRID_HEIGHT / meshGetRowsNum(); + uint16_t radius = cellWidth / MESH_POINT_MAX_RATIO; + + if (index == meshGetIndex()) + radius = MIN(cellWidth, cellHeight) / MESH_POINT_MIN_RATIO; + else if (value == meshGetValueMin() || value == meshGetValueMax()) + radius = MIN(cellWidth, cellHeight) / MESH_POINT_MED_RATIO; + + if (clearBkGround) + GUI_ClearRect(meshGridRect.x0 + col * cellWidth + 1, meshGridRect.y0 + row * cellHeight + 1, + meshGridRect.x0 + (col + 1) * cellWidth - 1, meshGridRect.y0 + (row + 1) * cellHeight - 1); + + GUI_SetColor(infoSettings.list_border_color); + + GUI_DrawLine(meshGridRect.x0 + col * cellWidth + edgeDistance, meshGridRect.y0 + row * cellHeight + cellHeight / 2, + meshGridRect.x0 + (col + 1) * cellWidth - edgeDistance, meshGridRect.y0 + row * cellHeight + cellHeight / 2); + + GUI_DrawLine(meshGridRect.x0 + col * cellWidth + cellWidth / 2, meshGridRect.y0 + row * cellHeight + edgeDistance, + meshGridRect.x0 + col * cellWidth + cellWidth / 2, meshGridRect.y0 + (row + 1) * cellHeight - edgeDistance); + + GUI_SetColor(meshGetRGBColor(value)); + + GUI_FillCircle(meshGridRect.x0 + col * cellWidth + cellWidth / 2, meshGridRect.y0 + row * cellHeight + cellHeight / 2, radius); + + GUI_SetColor(infoSettings.font_color); +} + +void meshDrawGrid(void) +{ + meshFullUpdateValueMinMax(); + + GUI_ClearRect(meshGridRect.x0 + 1, meshGridRect.y0 + 1, meshGridRect.x1 - 1, meshGridRect.y1 - 1); + + uint16_t size = meshGetSize(); + for (uint16_t i = 0; i < size; i++) + { + meshDrawGridCell(i, MESH_LINE_EDGE_DISTANCE, false); + } +} + +void meshDrawInfoCell(const GUI_RECT *rect, float *val, bool largeFont, uint16_t color, uint16_t bkColor, uint16_t edgeDistance, bool clearBkGround) +{ + uint16_t origBkColor = GUI_GetBkColor(); + + if (val != NULL || clearBkGround) + { + GUI_SetBkColor(bkColor); + GUI_ClearRect(rect->x0 + edgeDistance, rect->y0 + edgeDistance, rect->x1 - edgeDistance, rect->y1 - edgeDistance); + } + + if (val != NULL) + { + char tempstr[20]; + + sprintf(tempstr, "%.3f", *val); + + if (largeFont) + setLargeFont(true); + + GUI_SetColor(color); + GUI_DispStringInPrect(rect, (u8 *) tempstr); + + setLargeFont(false); + } + + GUI_SetColor(infoSettings.font_color); + GUI_SetBkColor(origBkColor); +} + +void meshDrawInfo(float *minVal, float *maxVal, float *origVal, float *curVal) +{ + if (minVal != NULL) + meshDrawInfoCell(&meshInfoRect[ME_INFO_MIN], minVal, false, meshGetRGBColor(*minVal), infoSettings.bg_color, 1, false); + + if (maxVal != NULL) + meshDrawInfoCell(&meshInfoRect[ME_INFO_MAX], maxVal, false, meshGetRGBColor(*maxVal), infoSettings.bg_color, 1, false); + + meshDrawInfoCell(&meshInfoRect[ME_INFO_ORIG], origVal, false, infoSettings.font_color, infoSettings.bg_color, 1, false); + meshDrawInfoCell(&meshInfoRect[ME_INFO_CUR], curVal, true, infoSettings.font_color, infoSettings.status_xyz_bg_color, 2, false); +} + +void meshDrawFullInfo(void) +{ + float minValue = meshGetValueMin(); + float maxValue = meshGetValueMax(); + float origValue = meshGetValueOrig(meshGetIndex()); + float curValue = meshGetValue(meshGetIndex()); + + meshDrawInfo(&minValue, &maxValue, &origValue, &curValue); +} + +// Get keypress for Mesh Editor +MESH_KEY_VALUES meshGetKeyValue(void) +{ + return (MESH_KEY_VALUES) KEY_GetValue(COUNT(meshKeyRect), meshKeyRect); +} + +void meshKeyPress(u8 index, u8 isPressed) +{ + if (index < MESH_KEY_NUM) + { + if (!isPressed) + GUI_SetColor(infoSettings.bg_color); + else + GUI_SetColor(infoSettings.list_border_color); + + GUI_DrawRect(meshKeyRect[index].x0 + 2, meshKeyRect[index].y0 + 2, meshKeyRect[index].x1 - 2, meshKeyRect[index].y1 - 2); + GUI_SetColor(infoSettings.font_color); + } +} + +void meshDrawKeyboard(void) +{ + TSC_ReDrawIcon = meshKeyPress; + + setLargeFont(true); + + GUI_SetTextMode(GUI_TEXTMODE_TRANS); + + for (uint8_t i = 0; i < MESH_KEY_NUM; i++) + { + if (!(i == ME_KEY_SAVE || i == ME_KEY_OK || i == ME_KEY_RESET || i == ME_KEY_HOME)) // if not a unicode string + GUI_DispStringInPrect(&meshKeyRect[i], (u8 *) meshKeyString[i]); + } + + if (infoMachineSettings.EEPROM == 1) + DrawCharIcon(&meshKeyRect[ME_KEY_SAVE], MIDDLE, ICONCHAR_SAVE, false, 0); + DrawCharIcon(&meshKeyRect[ME_KEY_OK], MIDDLE, ICONCHAR_OK, false, 0); + DrawCharIcon(&meshKeyRect[ME_KEY_RESET], MIDDLE, ICONCHAR_RESET, false, 0); + DrawCharIcon(&meshKeyRect[ME_KEY_HOME], MIDDLE, ICONCHAR_MOVE, false, 0); + + GUI_RestoreColorDefault(); + + setLargeFont(false); +} + +void meshDrawMenu(void) +{ + GUI_Clear(infoSettings.bg_color); // clear screen + + GUI_SetColor(infoSettings.list_border_color); + + GUI_DrawPrect(&meshAreaRect[ME_AREA_GRID]); // draw grid area borders + GUI_DrawPrect(&meshAreaRect[ME_AREA_INFO]); // draw info area borders + GUI_DrawPrect(&meshAreaRect[ME_AREA_KEY]); // draw key borders + + GUI_SetColor(infoSettings.font_color); + + GUI_DrawRect(meshInfoRect[ME_INFO_CUR].x0 + 1, meshInfoRect[ME_INFO_CUR].y0 + 1, + meshInfoRect[ME_INFO_CUR].x1 - 1, meshInfoRect[ME_INFO_CUR].y1 - 1); // draw value area borders + + GUI_SetColor(infoSettings.font_color); + + meshDrawGrid(); + meshDrawKeyboard(); + + if (meshGetStatus()) + { + float minValue = meshGetValueMin(); + float maxValue = meshGetValueMax(); + float origValue = meshGetValueOrig(meshGetIndex()); + float curValue = meshGetValue(meshGetIndex()); + + meshDrawInfo(&minValue, &maxValue, &origValue, &curValue); + } +} + +void meshSave(bool saveOnChange) +{ + if (!meshGetStatus() || + (saveOnChange && !memcmp(&meshData->data, &meshData->dataOrig, sizeof(meshData->dataOrig)))) // if no changes, nothing to do + return; + + if (infoMachineSettings.EEPROM == 1) + { + setDialogText((u8 *) meshData->saveTitle, LABEL_EEPROM_SAVE_INFO, LABEL_CONFIRM, LABEL_CANCEL); + showDialog(DIALOG_TYPE_QUESTION, meshSaveCallback, NULL, NULL); + } +} + +bool meshIsWaitingFirstData(void) +{ + if (meshData == NULL || + meshData->status != ME_DATA_IDLE) // if mesh editor is not running or is already handling data + return false; + + return true; +} + +bool meshIsWaitingData(void) +{ + if (meshData == NULL || + meshData->status == ME_DATA_IDLE || + meshData->status == ME_DATA_FULL || + meshData->status == ME_DATA_FAILED) // if mesh editor is not running or is not waiting for data + return false; + + return true; +} + +uint16_t meshParseDataRow(char *dataRow, float *dataGrid, uint16_t maxCount) +{ + if (meshData->parsedRows < meshData->rowsToSkip) + return 0; + + uint16_t curCount; + uint16_t validCount; + char *curPtr; + char *nextPtr; + float value; + + curCount = validCount = 0; + curPtr = nextPtr = dataRow; + + value = strtod(curPtr, &nextPtr); + + if (nextPtr != curPtr) // if a valid float value is parsed + { + do + { + if (curCount >= meshData->colsToSkip) + { + dataGrid[validCount] = value; + validCount++; + } + + curCount++; + curPtr = nextPtr; + + value = strtod(curPtr, &nextPtr); + } + while (nextPtr != curPtr && validCount < maxCount); + } + + return validCount; +} + +void meshUpdateData(char *dataRow) +{ + bool failed = false; + + if (meshIsWaitingFirstData()) // if waiting for first data + { + if (processKnownDataFormat(dataRow)) // if known data format, change state to EMPTY and proceed with data handling + meshData->status = ME_DATA_EMPTY; + else + failed = true; + } + else if (!meshIsWaitingData()) // if not waiting for data, nothing to do + return; + + if (!failed) + { + uint16_t count; + + if (meshData->status == ME_DATA_EMPTY) // if data grid is empty, parse the data row and set the data grid columns number + { + count = meshParseDataRow(dataRow, &(meshData->dataOrig[0]), MESH_GRID_MAX_POINTS_X); + + if (count > 0) // if number of columns in the parsed data row is at least 1, set the data grid columns number + { + meshData->colsNum = count; + meshData->rowsNum = 1; + + meshData->status = ME_DATA_WAITING; + } + } + else // if data grid is waiting for the remaining rows, parse the data rows + { + count = meshParseDataRow(dataRow, &(meshData->dataOrig[meshData->rowsNum * meshData->colsNum]), meshData->colsNum); + + if (count == meshData->colsNum) // if number of columns in the parsed data row matches the data grid columns number, update the data grid rows number + { + meshData->rowsNum++; + } + } + + meshData->parsedRows++; + + if ((meshData->rowsNum >=1 && count == 0) || + meshData->rowsNum == MESH_GRID_MAX_POINTS_Y || + meshData->parsedRows >= MESH_MAX_PARSED_ROWS) // if zero columns are read or maximun rows numnber or maximum parsed rows number is reached + { + if (meshData->colsNum != 0 && meshData->rowsNum != 0)// if mesh grid is at least a 1x1 matrix, data grid is marked as full + { + meshData->dataSize = meshData->rowsNum * meshData->colsNum; + meshData->status = ME_DATA_FULL; + + memcpy(&meshData->data, &meshData->dataOrig, sizeof(meshData->dataOrig)); + } + else // if mesh grid is smaller than a 1x1 matrix, data grid is marked as failed + failed = true; + } + } + + if (failed) + { + meshData->status = ME_DATA_FAILED; + + labelChar(tempMsg, LABEL_PROCESS_ABORTED); + + sprintf(&tempMsg[strlen(tempMsg)], "\n %s", dataRow); + + popupReminder(DIALOG_TYPE_ERROR, LABEL_MESH_EDITOR, (u8 *) tempMsg); + + infoMenu.cur--; // exit from mesh editor menu. it avoids to loop in case of persistent error + + meshDeallocData(); // deallocate mesh data + } +} + +void menuMeshEditor(void) +{ + MESH_KEY_VALUES key_num = ME_KEY_IDLE; + bool oldStatus, curStatus; + uint16_t oldIndex, curIndex; + float origValue, curValue; + bool forceHoming; + bool forceExit; + + meshAllocData(); // allocates and initialize mesh data if not already allocated and initialized + + mustStoreCmd("M420 V1 T1\n"); // retrieve the mesh data + + oldStatus = curStatus = meshGetStatus(); + oldIndex = curIndex = meshGetIndex(); + forceHoming = true; + forceExit = false; + + setMenuTypeCustom(&meshDrawMenu); + + meshDrawMenu(); + +#if LCD_ENCODER_SUPPORT + encoderPosition = 0; +#endif + + while (infoMenu.menu[infoMenu.cur] == menuMeshEditor) + { + curStatus = meshGetStatus(); // always load current status + curIndex = meshGetIndex(); // always load current index + + key_num = meshGetKeyValue(); + switch (key_num) + { + case ME_KEY_UP: + curIndex = meshSetIndexByRow(meshGetRow() - 1); + break; + + case ME_KEY_DOWN: + curIndex = meshSetIndexByRow(meshGetRow() + 1); + break; + + case ME_KEY_PREV: + curIndex = meshSetIndex(curIndex - 1); + break; + + case ME_KEY_NEXT: + curIndex = meshSetIndex(curIndex + 1); + break; + + case ME_KEY_EDIT: + if (meshGetStatus()) + { + if (forceHoming) + { + forceHoming = false; + + mustStoreCmd("G28\n"); // only the first time, home the printer + } + + curValue = menuMeshTuner(meshGetCol(), meshGetJ(), meshGetValue(meshGetIndex())); + meshSetValue(curValue); + + meshDrawMenu(); + } + break; + + case ME_KEY_RESET: + if (meshGetStatus()) + { + if (meshGetValue(meshGetIndex()) != meshGetValueOrig(meshGetIndex())) + { + curValue = meshSetValue(meshGetValueOrig(meshGetIndex())); + + meshDrawGrid(); + meshDrawFullInfo(); + } + } + break; + + case ME_KEY_HOME: + forceHoming = false; + + mustStoreCmd("G28\n"); // force homing (e.g. if steppers are disarmed) + break; + + case ME_KEY_SAVE: + meshSave(false); + break; + + case ME_KEY_OK: + forceExit = true; + + infoMenu.cur--; + break; + + default: + #if LCD_ENCODER_SUPPORT + if (encoderPosition) + { + curIndex = meshSetIndex(curIndex + encoderPosition); + + encoderPosition = 0; + } + #endif + break; + } + + if (meshGetStatus() && (oldStatus != curStatus || oldIndex != curIndex)) + { + if (oldStatus != curStatus) + { + meshDrawGrid(); + meshDrawFullInfo(); + } + else + { + meshDrawGridCell(oldIndex, MESH_LINE_EDGE_DISTANCE, true); // draw point with old index + meshDrawGridCell(curIndex, MESH_LINE_EDGE_DISTANCE, true); // draw point with new index + + origValue = meshGetValueOrig(meshGetIndex()); + curValue = meshGetValue(meshGetIndex()); + + meshDrawInfo(NULL, NULL, &origValue, &curValue); + } + + oldStatus = curStatus; + oldIndex = curIndex; + } + + loopBackEnd(); + loopProcess(); + } + + if (forceExit) + { + meshSave(true); // check for changes and ask to save on eeprom + + meshDeallocData(); // deallocate mesh data + + setMenuTypeCustom(NULL); + } +} diff --git a/TFT/src/User/Menu/MeshEditor.h b/TFT/src/User/Menu/MeshEditor.h new file mode 100644 index 0000000000..ae2f4029d1 --- /dev/null +++ b/TFT/src/User/Menu/MeshEditor.h @@ -0,0 +1,21 @@ +#ifndef _MESH_EDITOR_H_ +#define _MESH_EDITOR_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +/* called by parseAck() */ +bool meshIsWaitingFirstData(void); +bool meshIsWaitingData(void); +void meshUpdateData(char *dataRow); + +void menuMeshEditor(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TFT/src/User/Menu/MeshTuner.c b/TFT/src/User/Menu/MeshTuner.c new file mode 100644 index 0000000000..7c69831aa3 --- /dev/null +++ b/TFT/src/User/Menu/MeshTuner.c @@ -0,0 +1,181 @@ +#include "MeshTuner.h" +#include "includes.h" + +#define ITEM_MESH_TUNER_UNIT_NUM 3 + +static u8 curUnit = 0; + +/* Init mesh point */ +void meshInitPoint(uint16_t col, uint16_t row, float value) +{ +// probeHeightEnable(); // temporary disable software endstops + + probeHeightStop(); // raise nozzle + + mustStoreCmd("G42 I%d J%d\n", col, row); // move nozzle to X and Y coordinates corresponding + // to the column and row in the bed leveling mesh grid + probeHeightStart(); // lower nozzle to Z0 point + + probeHeightMove(value, 1); // move nozzle to Z height +} + +/* Reset mesh point */ +void meshResetPoint(void) +{ + probeHeightStop(); // raise nozzle + +// probeHeightDisable(); // restore original software endstops state +} + +void meshDrawHeader(uint16_t col, uint16_t row) +{ + char tempstr[20]; + + sprintf(tempstr, "I: %d J: %d", col, row); + + GUI_SetColor(infoSettings.sd_reminder_color); + GUI_DispString(exhibitRect.x0, exhibitRect.y0, (u8 *) tempstr); + GUI_SetColor(infoSettings.font_color); +} + +void meshDrawValue(float val) +{ + char tempstr[20]; + + sprintf(tempstr, " %.3f ", val); + + setLargeFont(true); + GUI_DispStringInPrect(&exhibitRect, (u8 *) tempstr); + setLargeFont(false); +} + +float menuMeshTuner(uint16_t col, uint16_t row, float value) +{ + const ITEM itemMeshUnit[ITEM_MESH_TUNER_UNIT_NUM] = { + // icon label + {ICON_001_MM, LABEL_001_MM}, + {ICON_01_MM, LABEL_01_MM}, + {ICON_1_MM, LABEL_1_MM}, + }; + + const float meshUnit[ITEM_MESH_TUNER_UNIT_NUM] = {0.01f, 0.1f, 1}; + + // 1 title, ITEM_PER_PAGE items (icon + label) + MENUITEMS meshItems = { + // title + LABEL_MESH_TUNER, + // icon label + {{ICON_DEC, LABEL_DEC}, + {ICON_BACKGROUND, LABEL_BACKGROUND}, + {ICON_BACKGROUND, LABEL_BACKGROUND}, + {ICON_INC, LABEL_INC}, + {ICON_001_MM, LABEL_001_MM}, + {ICON_RESET_VALUE, LABEL_RESET}, + {ICON_APPLY, LABEL_CONFIRM}, + {ICON_STOP, LABEL_CANCEL},} + }; + + #if FRIENDLY_PROBE_OFFSET_LANGUAGE == 1 + meshItems.items[0].icon = ICON_NOZZLE_DOWN; + meshItems.items[0].label.index = LABEL_DOWN; + meshItems.items[3].icon = ICON_NOZZLE_UP; + meshItems.items[3].label.index = LABEL_UP; + #endif + + KEY_VALUES key_num = KEY_IDLE; + float now, curValue; + float unit; + + meshInitPoint(col, row, value); // initialize mesh point + + now = curValue = coordinateGetAxisActual(Z_AXIS); + + meshItems.items[KEY_ICON_4] = itemMeshUnit[curUnit]; + + menuDrawPage(&meshItems); + meshDrawHeader(col, row); + meshDrawValue(now); + +#if LCD_ENCODER_SUPPORT + encoderPosition = 0; +#endif + + while (true) + { + unit = meshUnit[curUnit]; + + curValue = coordinateGetAxisActual(Z_AXIS); + + key_num = menuKeyGetValue(); + switch (key_num) + { + // decrease Z height + case KEY_ICON_0: + probeHeightMove(unit, -1); + break; + + // increase Z height + case KEY_ICON_3: + probeHeightMove(unit, 1); + break; + + // change unit + case KEY_ICON_4: + curUnit = (curUnit + 1) % ITEM_MESH_TUNER_UNIT_NUM; + + meshItems.items[key_num] = itemMeshUnit[curUnit]; + + menuDrawItem(&meshItems.items[key_num], key_num); + break; + + // reset Z height to 0 + case KEY_ICON_5: + probeHeightMove(curValue, -1); + break; + + // return new Z height + case KEY_ICON_6: + meshResetPoint(); // reset mesh point + + return curValue; // return current Z height + break; + + // return original Z height + case KEY_ICON_7: + meshResetPoint(); // reset mesh point + + return value; // return original Z height + break; + + default: + #if LCD_ENCODER_SUPPORT + if (encoderPosition) + { + probeHeightMove(unit, encoderPosition > 0 ? 1 : -1); + + encoderPosition = 0; + } + #endif + break; + } + + if (now != curValue) + { + now = curValue; + meshDrawValue(now); + } + + probeHeightQueryCoord(); + + loopProcess(); + + if (infoMenu.menu[infoMenu.cur] != menuMeshEditor) + { + infoMenu.menu[infoMenu.cur](); + + menuDrawPage(&meshItems); + meshDrawHeader(col, row); + meshDrawValue(now); + } + } +} diff --git a/TFT/src/User/Menu/MeshTuner.h b/TFT/src/User/Menu/MeshTuner.h new file mode 100644 index 0000000000..422d71210f --- /dev/null +++ b/TFT/src/User/Menu/MeshTuner.h @@ -0,0 +1,16 @@ +#ifndef _MESH_TUNER_H_ +#define _MESH_TUNER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +float menuMeshTuner(uint16_t col, uint16_t row, float value); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/TFT/src/User/Menu/Pid.c b/TFT/src/User/Menu/Pid.c index 77a990c4fb..c2008dbf5d 100644 --- a/TFT/src/User/Menu/Pid.c +++ b/TFT/src/User/Menu/Pid.c @@ -2,29 +2,8 @@ #include "includes.h" //#define ENABLE_PID_STATUS_UPDATE_NOTIFICATION - -const ITEM itemPidTool[] = { - // icon label - {ICON_NOZZLE, LABEL_NOZZLE}, - {ICON_NOZZLE, LABEL_NOZZLE}, - {ICON_NOZZLE, LABEL_NOZZLE}, - {ICON_NOZZLE, LABEL_NOZZLE}, - {ICON_NOZZLE, LABEL_NOZZLE}, - {ICON_NOZZLE, LABEL_NOZZLE}, - {ICON_BED, LABEL_BED}, - {ICON_CHAMBER, LABEL_CHAMBER}, // that will never be displayed because no PID is provided for chamber -}; - #define ITEM_PID_DEGREE_NUM 3 -const ITEM itemPidDegree[ITEM_PID_DEGREE_NUM] = { - // icon label - {ICON_1_DEGREE, LABEL_1_DEGREE}, - {ICON_5_DEGREE, LABEL_5_DEGREE}, - {ICON_10_DEGREE, LABEL_10_DEGREE}, -}; - -const u8 pidDegree[ITEM_PID_DEGREE_NUM] = {1, 5, 10}; static u8 curDegree = 1; const char* const pidDisplayID[] = HEAT_DISPLAY_ID; @@ -37,91 +16,96 @@ bool pidSucceeded = false; bool pidRunning = false; bool pidInitialized = false; +/* called by parseAck() to notify PID process status */ void pidUpdateStatus(bool succeeded) { if (pidCounter > 0) pidCounter--; - if (!succeeded) // if one PID process fails, the overall PID process must be marked as failed so no save to EEPROM will be allowed + if (!succeeded) // if one PID process fails, the overall PID process must be marked as failed so no save to EEPROM will be allowed pidSucceeded = false; - if (pidCounter > 0) // if all the PID processes were still not terminated, simply provide a notification + if (pidCounter > 0) // if all the PID processes were still not terminated, simply provide a notification { #ifdef ENABLE_PID_STATUS_UPDATE_NOTIFICATION - char tmpBuf[120]; + labelChar(tempMsg, LABEL_PID_TITLE); if (succeeded) { - labelChar(temptitle, LABEL_PID_TITLE); - labelChar(tempmsg, LABEL_PROCESS_COMPLETED); - sprintf(tmpBuf, "%s %s", temptitle, tempmsg); + sprintf(&tempMsg[strlen(tempMsg)], " %s", textSelect(LABEL_PROCESS_COMPLETED)); + BUZZER_PLAY(sound_notify); - addToast(DIALOG_TYPE_INFO, tmpBuf); + + addToast(DIALOG_TYPE_INFO, tempMsg); } else { - labelChar(temptitle, LABEL_PID_TITLE); - labelChar(tempmsg, LABEL_PROCESS_ABORTED); - sprintf(tmpBuf, "%s %s", temptitle, tempmsg); + sprintf(&tempMsg[strlen(tempMsg)], " %s", textSelect(LABEL_PROCESS_ABORTED)); + BUZZER_PLAY(sound_error); - addToast(DIALOG_TYPE_ERROR, tmpBuf); + + addToast(DIALOG_TYPE_ERROR, tempMsg); } #endif } - else // if all the PID processes terminated, provide the final dialog + else // if all the PID processes terminated, provide the final dialog { pidRunning = false; - if (pidSucceeded) // if all the PID processes successfully terminated, allow to save to EEPROM + if (pidSucceeded) // if all the PID processes successfully terminated, allow to save to EEPROM { BUZZER_PLAY(sound_success); + labelChar(tempMsg, LABEL_PROCESS_COMPLETED); + if (infoMachineSettings.EEPROM == 1) { - char tmpBuf[120]; - labelChar(tempstr1, LABEL_PROCESS_COMPLETED); - labelChar(tempstr2, LABEL_EEPROM_SAVE_INFO); - sprintf(tmpBuf, "%s\n %s", tempstr1, tempstr2); - setDialogText(LABEL_PID_TITLE, (u8 *) tmpBuf, LABEL_CONFIRM, LABEL_CANCEL); + sprintf(&tempMsg[strlen(tempMsg)], "\n %s", textSelect(LABEL_EEPROM_SAVE_INFO)); + + setDialogText(LABEL_PID_TITLE, (u8 *) tempMsg, LABEL_CONFIRM, LABEL_CANCEL); showDialog(DIALOG_TYPE_SUCCESS, saveEepromSettings, NULL, NULL); } else { - popupReminder(DIALOG_TYPE_SUCCESS, LABEL_PID_TITLE, LABEL_PROCESS_COMPLETED); + popupReminder(DIALOG_TYPE_SUCCESS, LABEL_PID_TITLE, (u8 *) tempMsg); } } - else // if at least a PID process failed, provide an error dialog + else // if at least a PID process failed, provide an error dialog { BUZZER_PLAY(sound_error); + popupReminder(DIALOG_TYPE_ERROR, LABEL_PID_TITLE, LABEL_PROCESS_ABORTED); } } } -void pidCheckTimeout() +void pidCheckTimeout(void) { if (pidRunning) { if (OS_GetTimeMs() > pidTimeout) { pidRunning = false; -// u8 pidCounter = 0; // we voluntary don't reset (commented out the code) also pidCounter and pidSucceeded to let the -// pidSucceeded = false; // pidUpdateStatus function allow to handle status updates eventually arriving after the timeout - char tmpBuf[120]; - labelChar(tempmsg1, LABEL_TIMEOUT_REACHED); - labelChar(tempmsg2, LABEL_PROCESS_ABORTED); - sprintf(tmpBuf, "%s\n %s", tempmsg1, tempmsg2); + +// u8 pidCounter = 0; // we voluntary don't reset (commented out the code) also pidCounter and pidSucceeded to let the +// pidSucceeded = false; // pidUpdateStatus function allow to handle status updates eventually arriving after the timeout + + labelChar(tempMsg, LABEL_TIMEOUT_REACHED); + + sprintf(&tempMsg[strlen(tempMsg)], "\n %s", textSelect(LABEL_PROCESS_ABORTED)); + BUZZER_PLAY(sound_error); - popupReminder(DIALOG_TYPE_ERROR, LABEL_PID_TITLE, (u8 *) tmpBuf); + + popupReminder(DIALOG_TYPE_ERROR, LABEL_PID_TITLE, (u8 *) tempMsg); } } } -void pidUpdateCounter() +void pidUpdateCounter(void) { pidCounter = 0; - for (uint8_t i = 0; i < MAX_HEATER_COUNT; i++) // hotends + bed + chamber + for (uint8_t i = 0; i < MAX_HEATER_COUNT; i++) // hotends + bed + chamber { if (pidHeater.T[i].target > 0) pidCounter++; @@ -155,12 +139,12 @@ void menuPidWait(void) while (infoMenu.menu[infoMenu.cur] == menuPidWait) { - if (!isPressed) // if touch screen is not yet pressed + if (!isPressed) // if touch screen is not yet pressed { - if (isPress()) // if touch screen is now pressed + if (isPress()) // if touch screen is now pressed isPressed = true; } - else if (!isPress()) // if touch screen is now released + else if (!isPress()) // if touch screen is now released { isReleased = true; } @@ -223,6 +207,27 @@ void pidTemperatureReDraw(bool skip_header) void menuPid(void) { + const ITEM itemPidTool[] = { + // icon label + {ICON_NOZZLE, LABEL_NOZZLE}, + {ICON_NOZZLE, LABEL_NOZZLE}, + {ICON_NOZZLE, LABEL_NOZZLE}, + {ICON_NOZZLE, LABEL_NOZZLE}, + {ICON_NOZZLE, LABEL_NOZZLE}, + {ICON_NOZZLE, LABEL_NOZZLE}, + {ICON_BED, LABEL_BED}, + {ICON_CHAMBER, LABEL_CHAMBER}, // that will never be displayed because no PID is provided for chamber + }; + + const ITEM itemPidDegree[ITEM_PID_DEGREE_NUM] = { + // icon label + {ICON_1_DEGREE, LABEL_1_DEGREE}, + {ICON_5_DEGREE, LABEL_5_DEGREE}, + {ICON_10_DEGREE, LABEL_10_DEGREE}, + }; + + const u8 pidDegree[ITEM_PID_DEGREE_NUM] = {1, 5, 10}; + // 1 title, ITEM_PER_PAGE items (icon + label) MENUITEMS pidItems = { // title @@ -240,8 +245,8 @@ void menuPid(void) KEY_VALUES key_num = KEY_IDLE; - if (!pidInitialized) // in order to keep the current set values even when reloading the menu - { // we initialize the data structure only the first time the menu is loaded + if (!pidInitialized) // in order to keep the current set values even when reloading the menu + { // we initialize the data structure only the first time the menu is loaded for (uint8_t i = NOZZLE0; i < MAX_HEATER_COUNT; i++) { pidHeater.T[i].target = 0; @@ -311,7 +316,7 @@ void menuPid(void) { pidUpdateCounter(); - if (pidCounter == 0) // if no temperature was set to a value > 0 + if (pidCounter == 0) // if no temperature was set to a value > 0 { addToast(DIALOG_TYPE_ERROR, (char *) textSelect(LABEL_INVALID_VALUE)); } @@ -329,14 +334,14 @@ void menuPid(void) default: #if LCD_ENCODER_SUPPORT - if(encoderPosition) + if (encoderPosition) { - if(encoderPosition > 0) + if (encoderPosition > 0) if (pidHeater.T[pidHeater.toolIndex].target < infoSettings.max_temp[pidHeater.toolIndex]) pidHeater.T[pidHeater.toolIndex].target = NOBEYOND(0, pidHeater.T[pidHeater.toolIndex].target + pidDegree[curDegree], infoSettings.max_temp[pidHeater.toolIndex]); - if(encoderPosition < 0) + if (encoderPosition < 0) if (pidHeater.T[pidHeater.toolIndex].target > 0) pidHeater.T[pidHeater.toolIndex].target = NOBEYOND(0, pidHeater.T[pidHeater.toolIndex].target - pidDegree[curDegree], infoSettings.max_temp[pidHeater.toolIndex]); diff --git a/TFT/src/User/Menu/Pid.h b/TFT/src/User/Menu/Pid.h index 257e69d72d..f37742f410 100644 --- a/TFT/src/User/Menu/Pid.h +++ b/TFT/src/User/Menu/Pid.h @@ -7,6 +7,7 @@ extern "C" { #include +/* called by parseAck() to notify PID process status */ void pidUpdateStatus(bool succeeded); void menuPid(void); diff --git a/TFT/src/User/Menu/ProbeOffset.c b/TFT/src/User/Menu/ProbeOffset.c index 25f554bbb6..a856746d84 100644 --- a/TFT/src/User/Menu/ProbeOffset.c +++ b/TFT/src/User/Menu/ProbeOffset.c @@ -2,57 +2,34 @@ #include "includes.h" #define ITEM_PROBE_OFFSET_UNIT_NUM 3 - -const ITEM itemProbeOffsetUnit[ITEM_PROBE_OFFSET_UNIT_NUM] = { - // icon label - {ICON_001_MM, LABEL_001_MM}, - {ICON_01_MM, LABEL_01_MM}, - {ICON_1_MM, LABEL_1_MM}, -}; - -const float probeOffset_unit[ITEM_PROBE_OFFSET_UNIT_NUM] = {0.01f, 0.1f, 1}; -static u8 curUnit = 0; - #define ITEM_PROBE_OFFSET_SUBMENU_NUM 4 -ITEM itemProbeOffsetSubmenu[ITEM_PROBE_OFFSET_SUBMENU_NUM] = { - // icon label - {ICON_01_MM, LABEL_01_MM}, - {ICON_RESET_VALUE, LABEL_RESET}, - {ICON_EEPROM_SAVE, LABEL_SAVE}, - {ICON_DISABLE_STEPPERS, LABEL_XY_UNLOCK}, -}; - +static u8 curUnit = 0; static u8 curSubmenu = 0; -static float z_offset; - -/* Show an eror message notification */ +/* Show an error notification */ void probeNotifyError(void) { - char tmpBuf[120]; - labelChar(templabel1, LABEL_Z_OFFSET); - labelChar(templabel2, LABEL_OFF); - sprintf(tmpBuf, "%s %s", templabel1, templabel2); - addToast(DIALOG_TYPE_ERROR, tmpBuf); + labelChar(tempMsg, LABEL_Z_OFFSET); + + sprintf(&tempMsg[strlen(tempMsg)], " %s", textSelect(LABEL_OFF)); + + addToast(DIALOG_TYPE_ERROR, tempMsg); } void probeDrawStatus(u8 *status) { char tempstr[20]; - if (status != NULL) - { - sprintf(tempstr, "%s ", status); + sprintf(tempstr, "%s ", status); - if (!probeOffsetGetStatus()) - GUI_SetColor(infoSettings.reminder_color); - else - GUI_SetColor(infoSettings.sd_reminder_color); + if (!probeOffsetGetStatus()) + GUI_SetColor(infoSettings.reminder_color); + else + GUI_SetColor(infoSettings.sd_reminder_color); - GUI_DispString(exhibitRect.x0, exhibitRect.y0, (u8 *) tempstr); - GUI_SetColor(infoSettings.font_color); - } + GUI_DispString(exhibitRect.x0, exhibitRect.y0, (u8 *) tempstr); + GUI_SetColor(infoSettings.font_color); } void probeDrawValue(float val) @@ -68,6 +45,23 @@ void probeDrawValue(float val) void menuProbeOffset(void) { + const ITEM itemProbeOffsetUnit[ITEM_PROBE_OFFSET_UNIT_NUM] = { + // icon label + {ICON_001_MM, LABEL_001_MM}, + {ICON_01_MM, LABEL_01_MM}, + {ICON_1_MM, LABEL_1_MM}, + }; + + const float probeOffset_unit[ITEM_PROBE_OFFSET_UNIT_NUM] = {0.01f, 0.1f, 1}; + + ITEM itemProbeOffsetSubmenu[ITEM_PROBE_OFFSET_SUBMENU_NUM] = { + // icon label + {ICON_01_MM, LABEL_01_MM}, + {ICON_RESET_VALUE, LABEL_RESET}, + {ICON_EEPROM_SAVE, LABEL_SAVE}, + {ICON_DISABLE_STEPPERS, LABEL_XY_UNLOCK}, + }; + // 1 title, ITEM_PER_PAGE items (icon + label) MENUITEMS probeOffsetItems = { // title @@ -91,9 +85,11 @@ void menuProbeOffset(void) #endif KEY_VALUES key_num = KEY_IDLE; - float now = z_offset = probeOffsetGetValue(); + float now, z_offset; float unit; + now = z_offset = probeOffsetGetValue(); + if (!probeOffsetGetStatus()) probeOffsetItems.items[KEY_ICON_4].label.index = LABEL_OFF; else @@ -114,7 +110,7 @@ void menuProbeOffset(void) { unit = probeOffset_unit[curUnit]; - z_offset = probeOffsetGetValue(); // always load the current Z offset + z_offset = probeOffsetGetValue(); // always load current Z offset key_num = menuKeyGetValue(); switch (key_num) @@ -221,7 +217,7 @@ void menuProbeOffset(void) if (!probeOffsetGetStatus()) probeNotifyError(); else - z_offset = probeOffsetUpdateValueByEncoder(unit); + z_offset = probeOffsetUpdateValueByEncoder(unit, encoderPosition > 0 ? 1 : -1); encoderPosition = 0; } @@ -234,8 +230,8 @@ void menuProbeOffset(void) now = z_offset; probeDrawValue(now); - // babystep is reset every time Z offset changes otherwise the set babystep value will not be aligned with the new Z offset - babyReset(); + // reset babystep every time Z offset is changed otherwise the set babystep value will not be aligned with the new Z offset + babystepReset(); } loopProcess(); diff --git a/TFT/src/User/Menu/TuneExtruder.c b/TFT/src/User/Menu/TuneExtruder.c index 2e36e34d27..b2ddc03cde 100644 --- a/TFT/src/User/Menu/TuneExtruder.c +++ b/TFT/src/User/Menu/TuneExtruder.c @@ -2,17 +2,10 @@ #include "includes.h" #define EXTRUDE_DEGREE_NUM 3 +#define ITEM_TUNE_EXTRUDER_LEN_NUM 3 -const ITEM extruderDegree[EXTRUDE_DEGREE_NUM] = { -// icon label - {ICON_1_DEGREE, LABEL_1_DEGREE}, - {ICON_5_DEGREE, LABEL_5_DEGREE}, - {ICON_10_DEGREE, LABEL_10_DEGREE}, -}; - -const u8 extrude_degree[EXTRUDE_DEGREE_NUM] = {1, 5, 10}; static u8 extrude_degree_i = 1; - +static u8 curLen = 0; static uint8_t c_heater = NOZZLE0; // Show/draw temperature in heat menu @@ -59,7 +52,7 @@ void showNewESteps(const float measured_length, const float old_esteps, float * GUI_DispString(exhibitRect.x0, BYTE_HEIGHT * 6, (u8 *)tempstr); } -void extrudeFilament() +void extrudeFilament(void) { storeCmd("G28\n"); // Home extruder mustStoreScript("G90\nG0 F3000 X0 Y0 Z100\n"); // present extruder @@ -70,6 +63,15 @@ void extrudeFilament() void menuTuneExtruder(void) { + const ITEM extruderDegree[EXTRUDE_DEGREE_NUM] = { + // icon label + {ICON_1_DEGREE, LABEL_1_DEGREE}, + {ICON_5_DEGREE, LABEL_5_DEGREE}, + {ICON_10_DEGREE, LABEL_10_DEGREE}, + }; + + const u8 extrude_degree[EXTRUDE_DEGREE_NUM] = {1, 5, 10}; + MENUITEMS tuneExtruderItems = { // title LABEL_TUNE_EXT_TEMP, @@ -134,13 +136,15 @@ void menuTuneExtruder(void) case KEY_ICON_6: { - char tmpBuf[120]; + char tempMsg[120]; if (heatGetTargetTemp(c_heater) < infoSettings.min_ext_temp) { - labelChar(templabel, LABEL_TUNE_EXT_TEMPLOW); - sprintf(tmpBuf, templabel, infoSettings.min_ext_temp); - popupReminder(DIALOG_TYPE_ALERT, tuneExtruderItems.title.index, (u8*) tmpBuf); + labelChar(tempStr, LABEL_TUNE_EXT_TEMPLOW); + + sprintf(tempMsg, tempStr, infoSettings.min_ext_temp); + + popupReminder(DIALOG_TYPE_ALERT, tuneExtruderItems.title.index, (u8 *) tempMsg); break; } if (heatGetCurrentTemp(c_heater) < heatGetTargetTemp(c_heater) - 1) @@ -150,10 +154,11 @@ void menuTuneExtruder(void) } else { - labelChar(tempmsg1, LABEL_TUNE_EXT_MARK120MM); - labelChar(tempmsg2, LABEL_EXTRUDE); - sprintf(tmpBuf, tempmsg1, tempmsg2); - setDialogText( tuneExtruderItems.title.index, (u8*) tmpBuf, LABEL_EXTRUDE, LABEL_CANCEL); + labelChar(tempStr, LABEL_TUNE_EXT_MARK120MM); + + sprintf(tempMsg, tempStr, textSelect(LABEL_EXTRUDE)); + + setDialogText(tuneExtruderItems.title.index, (u8 *) tempMsg, LABEL_EXTRUDE, LABEL_CANCEL); showDialog(DIALOG_TYPE_QUESTION, extrudeFilament, NULL, NULL); } } @@ -197,20 +202,17 @@ void menuTuneExtruder(void) heatSetUpdateTime(TEMPERATURE_QUERY_SLOW_DURATION); } -#define ITEM_TUNE_EXTRUDER_LEN_NUM 3 - -const ITEM itemTuneExtruderLen[ITEM_TUNE_EXTRUDER_LEN_NUM] = { - // icon label - {ICON_E_1_MM, LABEL_1_MM}, - {ICON_E_5_MM, LABEL_5_MM}, - {ICON_E_10_MM, LABEL_10_MM}, -}; - -const float tuneExtruder_len[ITEM_TUNE_EXTRUDER_LEN_NUM] = {1.0f, 5.0f, 10.0f}; -static u8 curLen = 0; - void menuNewExtruderESteps(void) { + const ITEM itemTuneExtruderLen[ITEM_TUNE_EXTRUDER_LEN_NUM] = { + // icon label + {ICON_E_1_MM, LABEL_1_MM}, + {ICON_E_5_MM, LABEL_5_MM}, + {ICON_E_10_MM, LABEL_10_MM}, + }; + + const float tuneExtruder_len[ITEM_TUNE_EXTRUDER_LEN_NUM] = {1.0f, 5.0f, 10.0f}; + // Extruder steps are not correct. Ask user for the amount that's extruded // Automaticaly calculate new steps/mm when changing the measured distance // When pressing save to eeprom the new steps will be saved. @@ -262,16 +264,22 @@ void menuNewExtruderESteps(void) case KEY_ICON_4: { storeCmd("M92 T0 E%0.2f\n", new_esteps); - char tmpBuf[120]; - labelChar(tempmsg, LABEL_TUNE_EXT_ESTEPS_SAVED) - sprintf(tmpBuf, tempmsg, new_esteps); - popupReminder(DIALOG_TYPE_QUESTION, newExtruderESteps.title.index, (u8*) tmpBuf); + + char tempMsg[120]; + + labelChar(tempStr, LABEL_TUNE_EXT_ESTEPS_SAVED); + + sprintf(tempMsg, tempStr, new_esteps); + + popupReminder(DIALOG_TYPE_QUESTION, newExtruderESteps.title.index, (u8 *) tempMsg); } break; case KEY_ICON_5: curLen = (curLen + 1) % ITEM_TUNE_EXTRUDER_LEN_NUM; + newExtruderESteps.items[key_num] = itemTuneExtruderLen[curLen]; + menuDrawItem(&newExtruderESteps.items[key_num], key_num); break; diff --git a/TFT/src/User/Menu/TuneExtruder.h b/TFT/src/User/Menu/TuneExtruder.h index a200de59b1..84a22ccda2 100644 --- a/TFT/src/User/Menu/TuneExtruder.h +++ b/TFT/src/User/Menu/TuneExtruder.h @@ -5,13 +5,6 @@ extern "C" { #endif -#include -#include - -#include "Configuration.h" -#include "Settings.h" -#include "Temperature.h" - void menuTuneExtruder(void); void menuNewExtruderESteps(void); diff --git a/TFT/src/User/SanityCheck.c b/TFT/src/User/SanityCheck.c index 0cbc8e2e24..7446f1a0f1 100644 --- a/TFT/src/User/SanityCheck.c +++ b/TFT/src/User/SanityCheck.c @@ -1,12 +1,12 @@ #include "SanityCheck.h" -//Main settings -void sizecheck(void){ -// if error shows 'the size of an array must be greater than zero' -// then the size of the array is larger tha allocated size in flash. -SIZE_CHECK( sizeof(SETTINGS) > PARA_SIZE); //Size of infoSettings is larger tha allocated size in flash. -SIZE_CHECK( sizeof(STRINGS_STORE) > STRINGS_STORE_MAX_SIZE); // check size of strings_store is larger tha allocated size in flash. -SIZE_CHECK( sizeof(CUSTOM_GCODES) > CUSTOM_GCODE_MAX_SIZE); // check size of custom_gcodes is larger tha allocated size in flash. -SIZE_CHECK( sizeof(PRINT_GCODES) > PRINT_GCODES_MAX_SIZE); // check size of print_gcodes is larger tha allocated size in flash. - +// Main settings +void sizecheck(void) +{ + // if error shows 'the size of an array must be greater than zero' + // then the size of the array is larger than allocated size in flash. + SIZE_CHECK(sizeof(SETTINGS) > PARA_SIZE); // Size of infoSettings is larger than allocated size in flash. + SIZE_CHECK(sizeof(STRINGS_STORE) > STRINGS_STORE_MAX_SIZE); // check size of strings_store is larger than allocated size in flash. + SIZE_CHECK(sizeof(CUSTOM_GCODES) > CUSTOM_GCODE_MAX_SIZE); // check size of custom_gcodes is larger than allocated size in flash. + SIZE_CHECK(sizeof(PRINT_GCODES) > PRINT_GCODES_MAX_SIZE); // check size of print_gcodes is larger than allocated size in flash. } diff --git a/TFT/src/User/SanityCheck.h b/TFT/src/User/SanityCheck.h index e5a4ff0ec6..e29e4c7663 100644 --- a/TFT/src/User/SanityCheck.h +++ b/TFT/src/User/SanityCheck.h @@ -5,11 +5,11 @@ #include "Configuration.h" #include "flashStore.h" #include "Settings.h" + // //check size of settings against max allocated size at compile time #define SIZE_CHECK(object) ((void)sizeof(char[1 - 2*!!(object)])) - #if CONFIG_VERSION != CONFIG_SUPPPORT #error "the Configuration.h is old. please use the latest Configuration.h file" #endif @@ -28,8 +28,6 @@ #endif #endif - - #ifdef LED_COLOR_PIN #ifdef STARTUP_KNOB_LED_COLOR #if STARTUP_KNOB_LED_COLOR < 0 @@ -99,6 +97,45 @@ #define QUICK_EEPROM_BUTTON 0 #endif +#ifdef MESH_GRID_MAX_POINTS_X + #if MESH_GRID_MAX_POINTS_X > 15 + #error "MESH_GRID_MAX_POINTS_X cannot be greater than 15" + #endif + + #if MESH_GRID_MAX_POINTS_X < 1 + #error "MESH_GRID_MAX_POINTS_X cannot be less than 1" + #endif +#endif +#ifndef MESH_GRID_MAX_POINTS_X + #define MESH_GRID_MAX_POINTS_X 10 +#endif + +#ifdef MESH_GRID_MAX_POINTS_Y + #if MESH_GRID_MAX_POINTS_Y > 15 + #error "MESH_GRID_MAX_POINTS_Y cannot be greater than 15" + #endif + + #if MESH_GRID_MAX_POINTS_Y < 1 + #error "MESH_GRID_MAX_POINTS_Y cannot be less than 1" + #endif +#endif +#ifndef MESH_GRID_MAX_POINTS_Y + #define MESH_GRID_MAX_POINTS_Y 10 +#endif + +#ifdef MESH_LEFT_KEYBOARD + #if MESH_LEFT_KEYBOARD > 1 + #error "MESH_LEFT_KEYBOARD cannot be greater than 1" + #endif + + #if MESH_LEFT_KEYBOARD < 0 + #error "MESH_LEFT_KEYBOARD cannot be less than 0" + #endif +#endif +#ifndef MESH_LEFT_KEYBOARD + #define MESH_LEFT_KEYBOARD 1 +#endif + #ifdef CANCEL_PRINT_GCODE #error "CANCEL_PRINT_GCODE is now PRINT_CANCEL_GCODE. Please update your Configuration.h file." #endif @@ -243,7 +280,6 @@ #define CUSTOM_14_GCODE "" #endif - #define CUSTOM_GCODE_ENABLED {ENABLE_CUSTOM0, ENABLE_CUSTOM1, ENABLE_CUSTOM2, ENABLE_CUSTOM3, ENABLE_CUSTOM4,\ ENABLE_CUSTOM5, ENABLE_CUSTOM6, ENABLE_CUSTOM7, ENABLE_CUSTOM8, ENABLE_CUSTOM9,\ ENABLE_CUSTOM10,ENABLE_CUSTOM11,ENABLE_CUSTOM12,ENABLE_CUSTOM13,ENABLE_CUSTOM14} @@ -256,5 +292,4 @@ CUSTOM_5_LABEL, CUSTOM_6_LABEL, CUSTOM_7_LABEL, CUSTOM_8_LABEL, CUSTOM_9_LABEL,\ CUSTOM_10_LABEL,CUSTOM_11_LABEL,CUSTOM_12_LABEL,CUSTOM_13_LABEL,CUSTOM_14_LABEL } - #endif //_SANITYCHECK_H_ diff --git a/TFT/src/User/config.ini b/TFT/src/User/config.ini index 6f69383dda..13a0a04a3f 100644 --- a/TFT/src/User/config.ini +++ b/TFT/src/User/config.ini @@ -71,6 +71,12 @@ list_border_color:15 # List View button background color list_button_bg_color:15 +# Color used by the Mesh Editor for drawing the mesh with the minimun value in the grid +mesh_min_color:7 + +# Color used by the Mesh Editor for drawing the mesh with the maximum value in the grid +mesh_max_color:2 + #### Rotate UI 180 degrees # Options: [enable: 1, disable: 0] rotate_ui:0 diff --git a/TFT/src/User/includes.h b/TFT/src/User/includes.h index ebbac014ee..d45137ffa3 100644 --- a/TFT/src/User/includes.h +++ b/TFT/src/User/includes.h @@ -65,6 +65,7 @@ #include "SpeedControl.h" #include "BabystepControl.h" #include "ProbeOffsetControl.h" +#include "ProbeHeightControl.h" #include "extend.h" #include "menu.h" @@ -116,6 +117,8 @@ #include "Pid.h" #include "TuneExtruder.h" #include "ConnectionSettings.h" +#include "MeshTuner.h" +#include "MeshEditor.h" #define MAX_MENU_DEPTH 10 // max sub menu depth typedef void (*FP_MENU)(void); From 3a0f4d67b54ba862acffe5b405e7a34638bc9b0a Mon Sep 17 00:00:00 2001 From: Erkan Colak Date: Thu, 29 Oct 2020 03:46:20 +0100 Subject: [PATCH 8/9] MarlinBft - custom short (8+3) firmware name and bin output support (#1037) * Custom short firmware name * Expand HARDWARE_SHORT descriptions to all env --- TFT/src/User/API/boot.c | 8 ++++ TFT/src/User/API/boot.h | 1 + buildroot/scripts/short_out_filename.py | 15 ++++++++ platformio.ini | 49 +++++++++++++++++-------- 4 files changed, 58 insertions(+), 15 deletions(-) create mode 100644 buildroot/scripts/short_out_filename.py diff --git a/TFT/src/User/API/boot.c b/TFT/src/User/API/boot.c index 00e7f776e7..b460a97ca6 100644 --- a/TFT/src/User/API/boot.c +++ b/TFT/src/User/API/boot.c @@ -303,6 +303,14 @@ void scanRenameUpdate(void) { } f_rename(FIRMWARE_NAME ".bin", FIRMWARE_NAME ".CUR"); } + + if (f_file_exists(FIRMWARE_NAME_SHORT ".NEW")) { // firmware exists + if (f_file_exists(FIRMWARE_NAME ".bin")) { // long firmware also exists ? should not be + f_unlink(FIRMWARE_NAME ".bin"); + } + f_rename(FIRMWARE_NAME_SHORT ".NEW", FIRMWARE_NAME ".bin"); + } + if (f_file_exists(CONFIG_FILE_PATH)) { // config exists if (f_file_exists(CONFIG_FILE_PATH ".CUR")) diff --git a/TFT/src/User/API/boot.h b/TFT/src/User/API/boot.h index 17145ef740..fa773d984e 100644 --- a/TFT/src/User/API/boot.h +++ b/TFT/src/User/API/boot.h @@ -48,6 +48,7 @@ extern "C" { #define ADMIN_MODE_FILE "0:admin.txt" #define FIRMWARE_NAME STRINGIFY(HARDWARE) "." STRINGIFY(SOFTWARE_VERSION) +#define FIRMWARE_NAME_SHORT STRINGIFY(HARDWARE_SHORT) STRINGIFY(SOFTWARE_VERSION_SHORT) #define BMP_ROOT_DIR "0:" ROOT_DIR "/bmp" #define FONT_ROOT_DIR "0:" ROOT_DIR "/font" #define TFT_RESET_FILE "0:reset.txt" diff --git a/buildroot/scripts/short_out_filename.py b/buildroot/scripts/short_out_filename.py new file mode 100644 index 0000000000..713b304187 --- /dev/null +++ b/buildroot/scripts/short_out_filename.py @@ -0,0 +1,15 @@ +Import("env") +import shutil + +def make_short_file(source, target, env): + print("Generating firmware with short file name...") + buildDir = env.subst('$BUILD_DIR') + build_flags = env.ParseFlags(env['BUILD_FLAGS']) + flags = {k: v for (k, v) in build_flags.get("CPPDEFINES")} + filename = flags.get("HARDWARE") + "." + flags.get("SOFTWARE_VERSION") + filename_short = flags.get("HARDWARE_SHORT") + flags.get("SOFTWARE_VERSION_SHORT") + # do some actions + shutil.copyfile(buildDir+"/"+filename+".bin", buildDir+"/"+filename_short+".new") + print("Done.") + +env.AddPostAction("buildprog", make_short_file) diff --git a/platformio.ini b/platformio.ini index b5d12142fb..f10a5ac1aa 100644 --- a/platformio.ini +++ b/platformio.ini @@ -55,6 +55,10 @@ build_flags = -fmax-errors=5 -ITFT/src/User/Hal/STM32_USB_HOST_Library/Usr/inc -ITFT/src/User/Hal/STM32_USB_OTG_Driver/inc -DSOFTWARE_VERSION=26.x + -DSOFTWARE_VERSION_SHORT=26 +extra_scripts = post:buildroot/scripts/short_out_filename.py + pre:buildroot/scripts/custom_filename.py + [stm32f10x] default_src_filter = ${common.default_src_filter} + + + @@ -91,14 +95,15 @@ framework = stm32cube board = STM32F103VC upload_protocol = cmsis-dap src_filter = ${stm32f10x.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f10x_0x6000_iap.py build_flags = ${stm32f10x.build_flags} -DSTM32F10X_HD= -DHSE_VALUE=16000000ul -DVECT_TAB_FLASH=0x08006000 -DHARDWARE="BIQU_TFT35_V1.0" - -DTFT35_V1_0= + -DHARDWARE_SHORT="B35V10" + -DTFT35_V1_0="B35V10" # # BIGTREE TFT35 V1.1 @@ -109,13 +114,14 @@ framework = stm32cube board = STM32F103VC upload_protocol = cmsis-dap src_filter = ${stm32f10x.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f10x_0x6000_iap.py build_flags = ${stm32f10x.build_flags} -DSTM32F10X_HD= -DHSE_VALUE=16000000ul -DVECT_TAB_FLASH=0x08006000 -DHARDWARE="BIQU_TFT35_V1.1" + -DHARDWARE_SHORT="B35V11" -DTFT35_V1_1= # @@ -127,13 +133,14 @@ framework = stm32cube board = STM32F103VC upload_protocol = cmsis-dap src_filter = ${stm32f10x.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f10x_0x6000_iap.py build_flags = ${stm32f10x.build_flags} -DSTM32F10X_HD= -DHSE_VALUE=16000000ul -DVECT_TAB_FLASH=0x08006000 -DHARDWARE="BIQU_TFT35_V1.2" + -DHARDWARE_SHORT="B35V12" -DTFT35_V1_2= # @@ -145,13 +152,14 @@ framework = stm32cube board = STM32F103VC upload_protocol = cmsis-dap src_filter = ${stm32f10x.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f10x_0x3000_iap.py build_flags = ${stm32f10x.build_flags} -DSTM32F10X_HD= -DHSE_VALUE=16000000ul -DVECT_TAB_FLASH=0x08003000 -DHARDWARE="BIQU_TFT35_APP1_V2.0" + -DHARDWARE_SHORT="B35V20" -DTFT35_V2_0= monitor_speed = 250000 @@ -164,13 +172,14 @@ framework = stm32cube board = STM32F103VC upload_protocol = cmsis-dap src_filter = ${stm32f2xx.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f2xx_0x8000_iap.py build_flags = ${stm32f2xx.build_flags} -DSTM32F2XX= -DHSE_VALUE=8000000ul -DVECT_TAB_FLASH=0x08008000 -DHARDWARE="BIGTREE_TFT35_V3.0" + -DHARDWARE_SHORT="B35V30" -DTFT35_V3_0= # @@ -182,13 +191,15 @@ framework = stm32cube board = STM32F103VC upload_protocol = cmsis-dap src_filter = ${stm32f2xx.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f2xx_0x8000_iap.py + build_flags = ${stm32f2xx.build_flags} -DSTM32F2XX= -DHSE_VALUE=8000000ul -DVECT_TAB_FLASH=0x08008000 -DHARDWARE="BIGTREE_TFT35_V3.0_E3" + -DHARDWARE_SHORT="35V3E3" -DTFT35_E3_V3_0= # @@ -200,13 +211,14 @@ framework = stm32cube board = STM32F103VC upload_protocol = cmsis-dap src_filter = ${stm32f2xx.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f2xx_0x8000_iap.py build_flags = ${stm32f2xx.build_flags} -DSTM32F2XX= -DHSE_VALUE=8000000ul -DVECT_TAB_FLASH=0x08008000 -DHARDWARE="BIGTREE_TFT43_V3.0" + -DHARDWARE_SHORT="B43V30" -DTFT43_V3_0= # @@ -218,13 +230,14 @@ framework = stm32cube board = STM32F103VC upload_protocol = cmsis-dap src_filter = ${stm32f2xx.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f2xx_0x8000_iap.py build_flags = ${stm32f2xx.build_flags} -DSTM32F2XX= -DHSE_VALUE=8000000ul -DVECT_TAB_FLASH=0x08008000 -DHARDWARE="BIGTREE_TFT50_V3.0" + -DHARDWARE_SHORT="B50V30" -DTFT50_V3_0= # @@ -236,13 +249,14 @@ framework = stm32cube board = STM32F103VC upload_protocol = cmsis-dap src_filter = ${stm32f4xx.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f4xx_0x8000_iap.py build_flags = ${stm32f4xx.build_flags} -DSTM32F40_41xxx= -DHSE_VALUE=8000000ul -DVECT_TAB_FLASH=0x08008000 -DHARDWARE="BIGTREE_TFT70_V3.0" + -DHARDWARE_SHORT="B70V30" -DTFT70_V3_0= # @@ -254,13 +268,14 @@ framework = stm32cube board = STM32F103VC upload_protocol = cmsis-dap src_filter = ${stm32f10x.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f10x_0x6000_iap.py build_flags = ${stm32f10x.build_flags} -DSTM32F10X_HD= -DHSE_VALUE=16000000ul -DVECT_TAB_FLASH=0x08006000 -DHARDWARE="BIQU_TFT28_V1.0" + -DHARDWARE_SHORT="B28V10" -DTFT28_V1_0= # @@ -272,13 +287,14 @@ framework = stm32cube board = STM32F103VC upload_protocol = cmsis-dap src_filter = ${stm32f2xx.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f2xx_0x8000_iap.py build_flags = ${stm32f2xx.build_flags} -DSTM32F2XX= -DHSE_VALUE=8000000ul -DVECT_TAB_FLASH=0x08008000 -DHARDWARE="BIGTREE_TFT28_V3.0" + -DHARDWARE_SHORT="B28V30" -DTFT28_V3_0= # @@ -290,13 +306,14 @@ framework = stm32cube board = STM32F105RC upload_protocol = cmsis-dap src_filter = ${stm32f10x.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f10x_0x6000_iap.py build_flags = ${stm32f10x.build_flags} -DSTM32F10X_CL= -DHSE_VALUE=8000000ul -DVECT_TAB_FLASH=0x08006000 -DHARDWARE="BIGTREE_TFT24_V1.1" + -DHARDWARE_SHORT="B24V11" -DTFT24_V1_1= # @@ -309,13 +326,14 @@ board = STM32F107VC upload_protocol = stlink debug_tool = stlink src_filter = ${stm32f10x.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f10x_0x7000_iap.py build_flags = ${stm32f10x.build_flags} -DSTM32F10X_CL= -DHSE_VALUE=25000000ul -DVECT_TAB_FLASH=0x08007000 -DHARDWARE="MKS_32_V1_4" + -DHARDWARE_SHORT="M32V14" -DMKS_32_V1_4= # @@ -328,11 +346,12 @@ board = STM32F107VC upload_protocol = stlink debug_tool = stlink src_filter = ${stm32f10x.default_src_filter} + -extra_scripts = pre:buildroot/scripts/custom_filename.py +extra_scripts = ${common.extra_scripts} buildroot/scripts/stm32f10x_0x0000_iap.py build_flags = ${stm32f10x.build_flags} -DSTM32F10X_CL= -DHSE_VALUE=25000000ul -DVECT_TAB_FLASH=0x08000000 -DHARDWARE="MKS_32_V1_4" + -DHARDWARE_SHORT="M32V14" -DMKS_32_V1_4= From 8a5b9a1ccb0f3c2d3f6b2d14bfdd2e015a6ea0c8 Mon Sep 17 00:00:00 2001 From: Cyril Date: Thu, 29 Oct 2020 11:57:04 +0100 Subject: [PATCH 9/9] Fix to display M117 messages in info area (#1189) Fix to display M117 messages send by Octoprint plugin like DisplayLayerProgress in info area. --- .../config.ini | 2 +- Copy to SD Card root directory to update/config.ini | 4 ++-- TFT/src/User/API/parseACK.c | 6 ++++++ TFT/src/User/config.ini | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Copy to SD Card root directory to update - Unified Menu Material theme/config.ini b/Copy to SD Card root directory to update - Unified Menu Material theme/config.ini index 13a0a04a3f..083f8b6c2c 100644 --- a/Copy to SD Card root directory to update - Unified Menu Material theme/config.ini +++ b/Copy to SD Card root directory to update - Unified Menu Material theme/config.ini @@ -444,4 +444,4 @@ end_gcode:M104 S0\nM140 S0\nM18\n #### Cancel G-code - run this G-code after canceling print # maximum length 50 characters -cancel_gcode:M104 S0\nM140 S0\nG28 XY R10\n +cancel_gcode:M104 S0\nM140 S0\nG28 XY R10\n \ No newline at end of file diff --git a/Copy to SD Card root directory to update/config.ini b/Copy to SD Card root directory to update/config.ini index 1ff9d39430..083f8b6c2c 100644 --- a/Copy to SD Card root directory to update/config.ini +++ b/Copy to SD Card root directory to update/config.ini @@ -29,7 +29,7 @@ #### UNIFIED MENU / CLASSIC MENU # Select a UI Menu flavour # Options: [Unified Menu: 1, Classic Menu: 0] -unified_menu:0 +unified_menu:1 #### Baudrate # Options: [2400: 0, 9600: 1, 19200: 2, 38400: 3, 57600: 4, 115200: 5, 250000: 6, 500000: 7, 1000000: 8] @@ -444,4 +444,4 @@ end_gcode:M104 S0\nM140 S0\nM18\n #### Cancel G-code - run this G-code after canceling print # maximum length 50 characters -cancel_gcode:M104 S0\nM140 S0\nG28 XY R10\n +cancel_gcode:M104 S0\nM140 S0\nG28 XY R10\n \ No newline at end of file diff --git a/TFT/src/User/API/parseACK.c b/TFT/src/User/API/parseACK.c index d8ff0acfb9..55987e03f8 100644 --- a/TFT/src/User/API/parseACK.c +++ b/TFT/src/User/API/parseACK.c @@ -189,6 +189,12 @@ void hostActionCommands(void) { char *find = strchr(dmaL2Cache + ack_index, '\n'); *find = '\0'; + if(ack_seen("notification ")) + { + strcpy(hostAction.prompt_begin, dmaL2Cache + ack_index); + statusScreen_setMsg((u8 *)echomagic, (u8 *)dmaL2Cache + ack_index); + } + if(ack_seen("prompt_begin ")) { hostAction.button = 0; diff --git a/TFT/src/User/config.ini b/TFT/src/User/config.ini index 13a0a04a3f..083f8b6c2c 100644 --- a/TFT/src/User/config.ini +++ b/TFT/src/User/config.ini @@ -444,4 +444,4 @@ end_gcode:M104 S0\nM140 S0\nM18\n #### Cancel G-code - run this G-code after canceling print # maximum length 50 characters -cancel_gcode:M104 S0\nM140 S0\nG28 XY R10\n +cancel_gcode:M104 S0\nM140 S0\nG28 XY R10\n \ No newline at end of file