diff --git a/TFT/src/User/API/AddonHardware.c b/TFT/src/User/API/AddonHardware.c index 203f4eb5e..d3b36ea09 100644 --- a/TFT/src/User/API/AddonHardware.c +++ b/TFT/src/User/API/AddonHardware.c @@ -48,11 +48,11 @@ static bool sfs_alive = false; // use an encoder disc to toggles the runout. Su void FIL_Runout_Init(void) { GPIO_MODE pull = - #if defined(MKS_TFT) - MGPIO_MODE_IPN; // MKS TFTs already have an external pull-up resistor on PB0 and PB1 pins - #else - (GET_BIT(infoSettings.runout, RUNOUT_INVERTED) ^ GET_BIT(infoSettings.runout, RUNOUT_NO_NC)) ? MGPIO_MODE_IPD : MGPIO_MODE_IPU; - #endif + #if defined(MKS_TFT) + MGPIO_MODE_IPN; // MKS TFTs already have an external pull-up resistor on PB0 and PB1 pins + #else + (GET_BIT(infoSettings.runout, RUNOUT_INVERTED) ^ GET_BIT(infoSettings.runout, RUNOUT_NO_NC)) ? MGPIO_MODE_IPD : MGPIO_MODE_IPU; + #endif GPIO_InitSet(FIL_RUNOUT_PIN, pull, 0); diff --git a/TFT/src/User/API/BabystepControl.c b/TFT/src/User/API/BabystepControl.c index b033b19ae..ad103022b 100644 --- a/TFT/src/User/API/BabystepControl.c +++ b/TFT/src/User/API/BabystepControl.c @@ -1,24 +1,24 @@ #include "BabystepControl.h" #include "includes.h" -static float babystep_value = BABYSTEP_DEFAULT_VALUE; - #define BABYSTEP_CMD "M290 Z%.2f\n" #define BABYSTEP_CMD_SMW "G43.2 Z%.2f\n" -// Set current babystep value +static float babystep_value = BABYSTEP_DEFAULT_VALUE; + +// set current babystep value void babystepSetValue(float value) { babystep_value = value; } -// Get current babystep value +// get current babystep value float babystepGetValue(void) { return babystep_value; } -// Reset babystep value to default value +// reset babystep value to default value float babystepResetValue(void) { if (babystep_value != BABYSTEP_DEFAULT_VALUE) // if already default value, nothing to do @@ -39,10 +39,9 @@ float babystepResetValue(void) } last_unit = (BABYSTEP_DEFAULT_VALUE - babystep_value) - (BABYSTEP_MAX_STEP * step_count * direction); + if (last_unit != 0.0f) - { mustStoreCmd(babyStepCmd, last_unit); - } babystep_value = BABYSTEP_DEFAULT_VALUE; } @@ -50,7 +49,7 @@ float babystepResetValue(void) return babystep_value; } -// Update babystep value +// update babystep value float babystepUpdateValue(float unit) { unit = NOBEYOND(BABYSTEP_MIN_VALUE, babystep_value + unit, BABYSTEP_MAX_VALUE) - babystep_value; diff --git a/TFT/src/User/API/BabystepControl.h b/TFT/src/User/API/BabystepControl.h index d30bce8a0..13c1153f9 100644 --- a/TFT/src/User/API/BabystepControl.h +++ b/TFT/src/User/API/BabystepControl.h @@ -7,17 +7,10 @@ extern "C" { #include -// Set current babystep value -void babystepSetValue(float value); - -// Get current babystep value -float babystepGetValue(void); - -// Reset babystep value to default value -float babystepResetValue(void); - -// Update babystep value -float babystepUpdateValue(float unit); +void babystepSetValue(float value); // set current babystep value +float babystepGetValue(void); // get current babystep value +float babystepResetValue(void); // reset babystep value to default value +float babystepUpdateValue(float unit); // update babystep value #ifdef __cplusplus } diff --git a/TFT/src/User/API/FlashStore.c b/TFT/src/User/API/FlashStore.c index f8380a114..908c255e9 100644 --- a/TFT/src/User/API/FlashStore.c +++ b/TFT/src/User/API/FlashStore.c @@ -51,11 +51,11 @@ void readStoredPara(void) uint32_t index = 0; uint32_t sign = 0; -#ifdef I2C_EEPROM // added I2C_EEPROM suppport for MKS_TFT35_V1_0 - EEPROM_FlashRead(data, PARA_SIZE); -#else - HAL_FlashRead(data, PARA_SIZE); -#endif + #ifdef I2C_EEPROM // added I2C_EEPROM suppport for MKS_TFT35_V1_0 + EEPROM_FlashRead(data, PARA_SIZE); + #else + HAL_FlashRead(data, PARA_SIZE); + #endif sign = byteToWord(data + (index += 4), 4); @@ -98,11 +98,11 @@ void storePara(void) wordToByte(PARA_SIGN, data + (index += 4)); memcpy(data + (index += 4), &infoSettings, sizeof(SETTINGS)); -#ifdef I2C_EEPROM // added I2C_EEPROM suppport for MKS_TFT35_V1_0 - EEPROM_FlashWrite(data, PARA_SIZE); // store settings in I2C_EEPROM -#else - HAL_FlashWrite(data, PARA_SIZE); -#endif + #ifdef I2C_EEPROM // added I2C_EEPROM suppport for MKS_TFT35_V1_0 + EEPROM_FlashWrite(data, PARA_SIZE); // store settings in I2C_EEPROM + #else + HAL_FlashWrite(data, PARA_SIZE); + #endif } bool readIsTSCExist(void) diff --git a/TFT/src/User/API/HomeOffsetControl.c b/TFT/src/User/API/HomeOffsetControl.c index 5508c6cda..a361024fe 100644 --- a/TFT/src/User/API/HomeOffsetControl.c +++ b/TFT/src/User/API/HomeOffsetControl.c @@ -4,7 +4,7 @@ static float z_offset_value = HOME_Z_OFFSET_DEFAULT_VALUE; static bool home_offset_enabled = false; -// Enable home offset +// enable home offset void homeOffsetEnable(float shim) { home_offset_enabled = true; @@ -17,7 +17,7 @@ void homeOffsetEnable(float shim) probeHeightRelative(); // set relative position mode } -// Disable home offset +// disable home offset void homeOffsetDisable(void) { home_offset_enabled = false; @@ -29,13 +29,13 @@ void homeOffsetDisable(void) probeHeightDisable(); // restore original software endstops state and ABL state } -// Get home offset status +// get home offset status bool homeOffsetGetStatus(void) { return home_offset_enabled; } -// Set Z offset value +// set Z offset value float homeOffsetSetValue(float value) { sendParameterCmd(P_HOME_OFFSET, AXIS_INDEX_Z, value); @@ -45,7 +45,7 @@ float homeOffsetSetValue(float value) return z_offset_value; } -// Get current Z offset value +// get current Z offset value float homeOffsetGetValue(void) { z_offset_value = getParameter(P_HOME_OFFSET, AXIS_INDEX_Z); @@ -53,7 +53,7 @@ float homeOffsetGetValue(void) return z_offset_value; } -// Reset Z offset value to default value +// reset Z offset value to default value float homeOffsetResetValue(void) { if (z_offset_value != HOME_Z_OFFSET_DEFAULT_VALUE) // if not default value @@ -67,7 +67,7 @@ float homeOffsetResetValue(void) return z_offset_value; } -// Update Z offset value +// update Z offset value float homeOffsetUpdateValue(float unit) { unit = z_offset_value - NOBEYOND(HOME_Z_OFFSET_MIN_VALUE, z_offset_value - unit, HOME_Z_OFFSET_MAX_VALUE); diff --git a/TFT/src/User/API/HomeOffsetControl.h b/TFT/src/User/API/HomeOffsetControl.h index dc311252f..331ccea6e 100644 --- a/TFT/src/User/API/HomeOffsetControl.h +++ b/TFT/src/User/API/HomeOffsetControl.h @@ -8,26 +8,13 @@ extern "C" { #include #include -// Enable home offset -void homeOffsetEnable(float shim); - -// Disable home offset -void homeOffsetDisable(void); - -// Get home offset status -bool homeOffsetGetStatus(void); - -// Set Z offset value -float homeOffsetSetValue(float value); - -// Get current Z offset value -float homeOffsetGetValue(void); - -// Reset Z offset value to default value -float homeOffsetResetValue(void); - -// Update Z offset value -float homeOffsetUpdateValue(float unit); +void homeOffsetEnable(float shim); // enable home offset +void homeOffsetDisable(void); // disable home offset +bool homeOffsetGetStatus(void); // get home offset status +float homeOffsetSetValue(float value); // set Z offset value +float homeOffsetGetValue(void); // get current Z offset value +float homeOffsetResetValue(void); // reset Z offset value to default value +float homeOffsetUpdateValue(float unit); // update Z offset value #ifdef __cplusplus } diff --git a/TFT/src/User/API/LCD_Dimming.c b/TFT/src/User/API/LCD_Dimming.c index b3615a03f..f365048e0 100644 --- a/TFT/src/User/API/LCD_Dimming.c +++ b/TFT/src/User/API/LCD_Dimming.c @@ -95,9 +95,7 @@ void LCD_Wake(void) #ifdef KNOB_LED_COLOR_PIN if (infoSettings.knob_led_idle) - { Knob_LED_SetColor(knob_led_colors[infoSettings.knob_led_color], infoSettings.neopixel_pixels); - } #endif } @@ -126,9 +124,7 @@ void LCD_CheckDimming(void) #ifdef KNOB_LED_COLOR_PIN if (infoSettings.knob_led_idle) - { Knob_LED_SetColor(knob_led_colors[KNOB_LED_OFF], infoSettings.neopixel_pixels); - } #endif return; @@ -152,9 +148,7 @@ void LCD_CheckDimming(void) #ifdef KNOB_LED_COLOR_PIN if (infoSettings.knob_led_idle) - { Knob_LED_SetColor(knob_led_colors[infoSettings.knob_led_color], infoSettings.neopixel_pixels); - } #endif } diff --git a/TFT/src/User/API/LED_Colors.c b/TFT/src/User/API/LED_Colors.c index 503acc5bd..8e77bd640 100644 --- a/TFT/src/User/API/LED_Colors.c +++ b/TFT/src/User/API/LED_Colors.c @@ -30,11 +30,11 @@ const LABEL knob_led_color_names[KNOB_LED_COLOR_COUNT] = { #endif // KNOB_LED_COLOR_PIN -const LED_COLOR ledRed = {0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF}; +const LED_COLOR ledRed = {0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF}; const LED_COLOR ledGreen = {0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF}; -const LED_COLOR ledBlue = {0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF}; +const LED_COLOR ledBlue = {0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF}; const LED_COLOR ledWhite = {0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF}; -const LED_COLOR ledOff = {0x00, 0x00, 0x00, 0x00, 0x00, 0xFF}; +const LED_COLOR ledOff = {0x00, 0x00, 0x00, 0x00, 0x00, 0xFF}; LED_COLOR ledColor = {0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF}; diff --git a/TFT/src/User/API/LED_Colors.h b/TFT/src/User/API/LED_Colors.h index a792afc8d..922aaa0c8 100644 --- a/TFT/src/User/API/LED_Colors.h +++ b/TFT/src/User/API/LED_Colors.h @@ -11,154 +11,154 @@ extern "C" { #ifdef KNOB_LED_COLOR_PIN - // 24bit // G R B - #define GRB_OFF 0x00000000 - #define GRB_WHITE 0x00FFFFFF - #define GRB_RED 0x0000FF00 - #define GRB_ORANGE 0x008CFF00 - #define GRB_YELLOW 0x00FFFF00 - #define GRB_GREEN 0x00FF0000 - #define GRB_BLUE 0x000000FF - #define GRB_INDIGO 0x00004B82 - #define GRB_VIOLET 0x0000FEFE + // 24bit // G R B + #define GRB_OFF 0x00000000 + #define GRB_WHITE 0x00FFFFFF + #define GRB_RED 0x0000FF00 + #define GRB_ORANGE 0x008CFF00 + #define GRB_YELLOW 0x00FFFF00 + #define GRB_GREEN 0x00FF0000 + #define GRB_BLUE 0x000000FF + #define GRB_INDIGO 0x00004B82 + #define GRB_VIOLET 0x0000FEFE - // color macro // 颜色宏定 // R G B - #define COLOR_LIGHTPINK 0xFFB6C1 // 浅粉 - #define COLOR_PINK 0xFFC0CB // 粉红 - #define COLOR_CRIMSON 0xDC143C // 猩红 - #define COLOR_LAVENDERBLUSH 0xFFF0F5 // 脸红的淡 - #define COLOR_PALEVIOLETRED 0xDB7093 // 苍白的紫罗兰红色 - #define COLOR_HOTPINK 0xFF69B4 // 情的粉红 - #define COLOR_DEEPPINK 0xFF1493 // 深粉 - #define COLOR_MEDIUMVIOLETRED 0xC71585 // 适中的紫罗兰红色 - #define COLOR_ORCHID 0xDA70D6 // 兰花的紫 - #define COLOR_THISTLE 0xD8BFD8 - #define COLOR_PLUM 0xDDA0DD // 李子 - #define COLOR_VIOLET 0xEE82EE // 罗兰 - #define COLOR_MAGENTA 0xFF00FF // 洋红 - #define COLOR_FUCHSIA 0xFF00FF // 笼海(红色) - #define COLOR_DARKMAGENTA 0x8B008B // 深洋红色 - #define COLOR_PURPLE 0x800080 - #define COLOR_MEDIUMORCHID 0xBA55D3 // 适中的兰花紫 - #define COLOR_DARKVOILET 0x9400D3 // 深紫罗兰 - #define COLOR_DARKORCHID 0x9932CC // 深兰花紫 - #define COLOR_INDIGO 0x4B0082 // 靛青 - #define COLOR_BLUEVIOLET 0x8A2BE2 // 深紫罗兰的蓝 - #define COLOR_MEDIUMPURPLE 0x9370DB // 适中的紫 - #define COLOR_MEDIUMSLATEBLUE 0x7B68EE // 适中的板岩暗蓝灰 - #define COLOR_SLATEBLUE 0x6A5ACD // 板岩暗蓝灰色 - #define COLOR_DARKSLATEBLUE 0x483D8B // 深岩暗蓝灰色 - #define COLOR_LAVENDER 0xE6E6FA // 熏衣草花的淡 - #define COLOR_GHOSTWHITE 0xF8F8FF // 幽灵的白 - #define COLOR_BLUE 0x0000FF - #define COLOR_MEDIUMBLUE 0x0000CD // 适中的蓝 - #define COLOR_MIDNIGHTBLUE 0x191970 // 午的蓝色 - #define COLOR_DARKBLUE 0x00008B // 深蓝 - #define COLOR_NAVY 0x000080 // 海军 - #define COLOR_ROYALBLUE 0x4169E1 // 皇蓝 - #define COLOR_CORNFLOWERBLUE 0x6495ED // 矢车菊的蓝色 - #define COLOR_LIGHTSTEELBLUE 0xB0C4DE // 淡钢 - #define COLOR_LIGHTSLATEGRAY 0x778899 // 浅石板灰 - #define COLOR_SLATEGRAY 0x708090 // 石板 - #define COLOR_DODERBLUE 0x1E90FF // 道蓝 - #define COLOR_ALICEBLUE 0xF0F8FF // 爱丽丝蓝 - #define COLOR_STEELBLUE 0x4682B4 // 钢蓝 - #define COLOR_LIGHTSKYBLUE 0x87CEFA // 淡蓝 - #define COLOR_SKYBLUE 0x87CEEB // 天蓝 - #define COLOR_DEEPSKYBLUE 0x00BFFF // 深天 - #define COLOR_LIGHTBLUE 0xADD8E6 // 淡蓝 - #define COLOR_POWDERBLUE 0xB0E0E6 - #define COLOR_CADETBLUE 0x5F9EA0 // 军校 - #define COLOR_AZURE 0xF0FFFF // 蔚蓝 - #define COLOR_LIGHTCYAN 0xE1FFFF // 淡青 - #define COLOR_PALETURQUOISE 0xAFEEEE // 苍白的绿宝石 - #define COLOR_CYAN 0x00FFFF // 青色 - #define COLOR_AQUA 0x00FFFF // 水绿 - #define COLOR_DARKTURQUOISE 0x00CED1 // 深绿宝石 - #define COLOR_DARKSLATEGRAY 0x2F4F4F // 深石板灰 - #define COLOR_DARKCYAN 0x008B8B // 深青 - #define COLOR_TEAL 0x008080 // 水鸭 - #define COLOR_MEDIUMTURQUOISE 0x48D1CC // 适中的绿宝石 - #define COLOR_LIGHTSEAGREEN 0x20B2AA // 浅海洋绿 - #define COLOR_TURQUOISE 0x40E0D0 // 绿宝 - #define COLOR_AUQAMARIN 0x7FFFAA // 绿玉\碧绿 - #define COLOR_MEDIUMAQUAMARINE 0x00FA9A // 适中的碧绿色 - #define COLOR_MEDIUMSPRINGGREEN 0x00FF7F // 适中的春天的绿色 - #define COLOR_MINTCREAM 0xF5FFFA // 薄荷奶油 - #define COLOR_SPRINGGREEN 0x3CB371 // 春天的绿 - #define COLOR_SEAGREEN 0x2E8B57 // 海洋 - #define COLOR_HONEYDEW 0xF0FFF0 // 蜂蜜 - #define COLOR_LIGHTGREEN 0x90EE90 // 淡绿 - #define COLOR_PALEGREEN 0x98FB98 // 苍白的绿 - #define COLOR_DARKSEAGREEN 0x8FBC8F // 深海洋绿 - #define COLOR_LIMEGREEN 0x32CD32 // 酸绿 - #define COLOR_LIME 0x00FF00 // 酸色 - #define COLOR_FORESTGREEN 0x228B22 // 林绿 - #define COLOR_GREEN 0x008000 - #define COLOR_DARKGREEN 0x006400 // 深绿 - #define COLOR_CHARTREUSE 0x7FFF00 // 查特酒绿 - #define COLOR_LAWNGREEN 0x7CFC00 // 草坪 - #define COLOR_GREENYELLOW 0xADFF2F // 绿黄 - #define COLOR_OLIVEDRAB 0x556B2F // 橄土褐色 - #define COLOR_BEIGE 0xF5F5DC // 米色(浅色) - #define COLOR_LIGHTGOLDENRODYELLOW 0xFAFAD2 // 浅麒麟黄 - #define COLOR_IVORY 0xFFFFF0 // 象牙 - #define COLOR_LIGHTYELLOW 0xFFFFE0 // 浅黄 - #define COLOR_YELLOW 0xFFFF00 - #define COLOR_OLIVE 0x808000 // 橄 - #define COLOR_DARKKHAKI 0xBDB76B // 深卡其布 - #define COLOR_LEMONCHIFFON 0xFFFACD // 柠?薄纱 - #define COLOR_PALEGODENROD 0xEEE8AA // 灰麒 - #define COLOR_KHAKI 0xF0E68C // 卡其 - #define COLOR_GOLD 0xFFD700 - #define COLOR_CORNISLK 0xFFF8DC // 玉米 - #define COLOR_GOLDENROD 0xDAA520 // 秋麒 - #define COLOR_FLORALWHITE 0xFFFAF0 // 花的白色 - #define COLOR_OLDLACE 0xFDF5E6 // 老饰 - #define COLOR_WHEAT 0xF5DEB3 // 小麦 - #define COLOR_MOCCASIN 0xFFE4B5 // 鹿皮 - #define COLOR_ORANGE 0xFFA500 // 橙色 - #define COLOR_PAPAYAWHIP 0xFFEFD5 // 木瓜 - #define COLOR_BLANCHEDALMOND 0xFFEBCD // 漂白的杏 - #define COLOR_NAVAJOWHITE 0xFFDEAD // 纳瓦霍白 - #define COLOR_ANTIQUEWHITE 0xFAEBD7 // 古代的白 - #define COLOR_TAN 0xD2B48C // 晒黑 - #define COLOR_BRULYWOOD 0xDEB887 // 结实的树 - #define COLOR_BISQUE 0xFFE4C4 // (浓汤)乳脂,茄等 - #define COLOR_DARKORANGE 0xFF8C00 // 深色 - #define COLOR_LINEN 0xFAF0E6 // 亚麻 - #define COLOR_PERU 0xCD853F // 秘鲁 - #define COLOR_PEACHPUFF 0xFFDAB9 // 桃色 - #define COLOR_SANDYBROWN 0xF4A460 // 沙色 - #define COLOR_CHOCOLATE 0xD2691E // 巧克 - #define COLOR_SADDLEBROWN 0x8B4513 // 鞍色 - #define COLOR_SEASHELL 0xFFF5EE // 海贝 - #define COLOR_SIENNA 0xA0522D // 黄土 - #define COLOR_LIGHTSALMON 0xFFA07A // 浅鲜(鲑鱼) - #define COLOR_CORAL 0xFF7F50 // 珊瑚 - #define COLOR_ORANGERED 0xFF4500 // 橙红 - #define COLOR_DARKSALMON 0xE9967A // 深鲜(鲑鱼) - #define COLOR_TOMATO 0xFF6347 - #define COLOR_MISTYROSE 0xFFE4E1 // 薄雾 - #define COLOR_SALMON 0xFA8072 // 鲜肉(鲑鱼) - #define COLOR_SNOW 0xFFFAFA - #define COLOR_LIGHTCORAL 0xF08080 // 淡珊瑚色 - #define COLOR_ROSYBROWN 0xBC8F8F // 瑰色 - #define COLOR_INDIANRED 0xCD5C5C // 印度 - #define COLOR_RED 0xFF0000 - #define COLOR_BROWN 0xA52A2A // 棕色 - #define COLOR_FIREBRICK 0xB22222 // 耐火 - #define COLOR_DARKRED 0x8B0000 // 深红 - #define COLOR_MAROON 0x800000 // 栗色 - #define COLOR_WHITE 0xFFFFFF - #define COLOR_WHITESMOKE 0xF5F5F5 // 白烟 - #define COLOR_GAINSBORO 0xDCDCDC // 灰色 - #define COLOR_LIGHTGREY 0xD3D3D3 // 浅灰 - #define COLOR_SILVER 0xC0C0C0 // 银白 - #define COLOR_DARKGRAY 0xA9A9A9 // 深灰 - #define COLOR_GRAY 0x808080 // 灰色 - #define COLOR_DIMGRAY 0x696969 // 暗淡的灰 - #define COLOR_BLACK 0x000000 + // color macro // 颜色宏定 // R G B + #define COLOR_LIGHTPINK 0xFFB6C1 // 浅粉 + #define COLOR_PINK 0xFFC0CB // 粉红 + #define COLOR_CRIMSON 0xDC143C // 猩红 + #define COLOR_LAVENDERBLUSH 0xFFF0F5 // 脸红的淡 + #define COLOR_PALEVIOLETRED 0xDB7093 // 苍白的紫罗兰红色 + #define COLOR_HOTPINK 0xFF69B4 // 情的粉红 + #define COLOR_DEEPPINK 0xFF1493 // 深粉 + #define COLOR_MEDIUMVIOLETRED 0xC71585 // 适中的紫罗兰红色 + #define COLOR_ORCHID 0xDA70D6 // 兰花的紫 + #define COLOR_THISTLE 0xD8BFD8 + #define COLOR_PLUM 0xDDA0DD // 李子 + #define COLOR_VIOLET 0xEE82EE // 罗兰 + #define COLOR_MAGENTA 0xFF00FF // 洋红 + #define COLOR_FUCHSIA 0xFF00FF // 笼海(红色) + #define COLOR_DARKMAGENTA 0x8B008B // 深洋红色 + #define COLOR_PURPLE 0x800080 + #define COLOR_MEDIUMORCHID 0xBA55D3 // 适中的兰花紫 + #define COLOR_DARKVOILET 0x9400D3 // 深紫罗兰 + #define COLOR_DARKORCHID 0x9932CC // 深兰花紫 + #define COLOR_INDIGO 0x4B0082 // 靛青 + #define COLOR_BLUEVIOLET 0x8A2BE2 // 深紫罗兰的蓝 + #define COLOR_MEDIUMPURPLE 0x9370DB // 适中的紫 + #define COLOR_MEDIUMSLATEBLUE 0x7B68EE // 适中的板岩暗蓝灰 + #define COLOR_SLATEBLUE 0x6A5ACD // 板岩暗蓝灰色 + #define COLOR_DARKSLATEBLUE 0x483D8B // 深岩暗蓝灰色 + #define COLOR_LAVENDER 0xE6E6FA // 熏衣草花的淡 + #define COLOR_GHOSTWHITE 0xF8F8FF // 幽灵的白 + #define COLOR_BLUE 0x0000FF + #define COLOR_MEDIUMBLUE 0x0000CD // 适中的蓝 + #define COLOR_MIDNIGHTBLUE 0x191970 // 午的蓝色 + #define COLOR_DARKBLUE 0x00008B // 深蓝 + #define COLOR_NAVY 0x000080 // 海军 + #define COLOR_ROYALBLUE 0x4169E1 // 皇蓝 + #define COLOR_CORNFLOWERBLUE 0x6495ED // 矢车菊的蓝色 + #define COLOR_LIGHTSTEELBLUE 0xB0C4DE // 淡钢 + #define COLOR_LIGHTSLATEGRAY 0x778899 // 浅石板灰 + #define COLOR_SLATEGRAY 0x708090 // 石板 + #define COLOR_DODERBLUE 0x1E90FF // 道蓝 + #define COLOR_ALICEBLUE 0xF0F8FF // 爱丽丝蓝 + #define COLOR_STEELBLUE 0x4682B4 // 钢蓝 + #define COLOR_LIGHTSKYBLUE 0x87CEFA // 淡蓝 + #define COLOR_SKYBLUE 0x87CEEB // 天蓝 + #define COLOR_DEEPSKYBLUE 0x00BFFF // 深天 + #define COLOR_LIGHTBLUE 0xADD8E6 // 淡蓝 + #define COLOR_POWDERBLUE 0xB0E0E6 + #define COLOR_CADETBLUE 0x5F9EA0 // 军校 + #define COLOR_AZURE 0xF0FFFF // 蔚蓝 + #define COLOR_LIGHTCYAN 0xE1FFFF // 淡青 + #define COLOR_PALETURQUOISE 0xAFEEEE // 苍白的绿宝石 + #define COLOR_CYAN 0x00FFFF // 青色 + #define COLOR_AQUA 0x00FFFF // 水绿 + #define COLOR_DARKTURQUOISE 0x00CED1 // 深绿宝石 + #define COLOR_DARKSLATEGRAY 0x2F4F4F // 深石板灰 + #define COLOR_DARKCYAN 0x008B8B // 深青 + #define COLOR_TEAL 0x008080 // 水鸭 + #define COLOR_MEDIUMTURQUOISE 0x48D1CC // 适中的绿宝石 + #define COLOR_LIGHTSEAGREEN 0x20B2AA // 浅海洋绿 + #define COLOR_TURQUOISE 0x40E0D0 // 绿宝 + #define COLOR_AUQAMARIN 0x7FFFAA // 绿玉\碧绿 + #define COLOR_MEDIUMAQUAMARINE 0x00FA9A // 适中的碧绿色 + #define COLOR_MEDIUMSPRINGGREEN 0x00FF7F // 适中的春天的绿色 + #define COLOR_MINTCREAM 0xF5FFFA // 薄荷奶油 + #define COLOR_SPRINGGREEN 0x3CB371 // 春天的绿 + #define COLOR_SEAGREEN 0x2E8B57 // 海洋 + #define COLOR_HONEYDEW 0xF0FFF0 // 蜂蜜 + #define COLOR_LIGHTGREEN 0x90EE90 // 淡绿 + #define COLOR_PALEGREEN 0x98FB98 // 苍白的绿 + #define COLOR_DARKSEAGREEN 0x8FBC8F // 深海洋绿 + #define COLOR_LIMEGREEN 0x32CD32 // 酸绿 + #define COLOR_LIME 0x00FF00 // 酸色 + #define COLOR_FORESTGREEN 0x228B22 // 林绿 + #define COLOR_GREEN 0x008000 + #define COLOR_DARKGREEN 0x006400 // 深绿 + #define COLOR_CHARTREUSE 0x7FFF00 // 查特酒绿 + #define COLOR_LAWNGREEN 0x7CFC00 // 草坪 + #define COLOR_GREENYELLOW 0xADFF2F // 绿黄 + #define COLOR_OLIVEDRAB 0x556B2F // 橄土褐色 + #define COLOR_BEIGE 0xF5F5DC // 米色(浅色) + #define COLOR_LIGHTGOLDENRODYELLOW 0xFAFAD2 // 浅麒麟黄 + #define COLOR_IVORY 0xFFFFF0 // 象牙 + #define COLOR_LIGHTYELLOW 0xFFFFE0 // 浅黄 + #define COLOR_YELLOW 0xFFFF00 + #define COLOR_OLIVE 0x808000 // 橄 + #define COLOR_DARKKHAKI 0xBDB76B // 深卡其布 + #define COLOR_LEMONCHIFFON 0xFFFACD // 柠?薄纱 + #define COLOR_PALEGODENROD 0xEEE8AA // 灰麒 + #define COLOR_KHAKI 0xF0E68C // 卡其 + #define COLOR_GOLD 0xFFD700 + #define COLOR_CORNISLK 0xFFF8DC // 玉米 + #define COLOR_GOLDENROD 0xDAA520 // 秋麒 + #define COLOR_FLORALWHITE 0xFFFAF0 // 花的白色 + #define COLOR_OLDLACE 0xFDF5E6 // 老饰 + #define COLOR_WHEAT 0xF5DEB3 // 小麦 + #define COLOR_MOCCASIN 0xFFE4B5 // 鹿皮 + #define COLOR_ORANGE 0xFFA500 // 橙色 + #define COLOR_PAPAYAWHIP 0xFFEFD5 // 木瓜 + #define COLOR_BLANCHEDALMOND 0xFFEBCD // 漂白的杏 + #define COLOR_NAVAJOWHITE 0xFFDEAD // 纳瓦霍白 + #define COLOR_ANTIQUEWHITE 0xFAEBD7 // 古代的白 + #define COLOR_TAN 0xD2B48C // 晒黑 + #define COLOR_BRULYWOOD 0xDEB887 // 结实的树 + #define COLOR_BISQUE 0xFFE4C4 // (浓汤)乳脂,茄等 + #define COLOR_DARKORANGE 0xFF8C00 // 深色 + #define COLOR_LINEN 0xFAF0E6 // 亚麻 + #define COLOR_PERU 0xCD853F // 秘鲁 + #define COLOR_PEACHPUFF 0xFFDAB9 // 桃色 + #define COLOR_SANDYBROWN 0xF4A460 // 沙色 + #define COLOR_CHOCOLATE 0xD2691E // 巧克 + #define COLOR_SADDLEBROWN 0x8B4513 // 鞍色 + #define COLOR_SEASHELL 0xFFF5EE // 海贝 + #define COLOR_SIENNA 0xA0522D // 黄土 + #define COLOR_LIGHTSALMON 0xFFA07A // 浅鲜(鲑鱼) + #define COLOR_CORAL 0xFF7F50 // 珊瑚 + #define COLOR_ORANGERED 0xFF4500 // 橙红 + #define COLOR_DARKSALMON 0xE9967A // 深鲜(鲑鱼) + #define COLOR_TOMATO 0xFF6347 + #define COLOR_MISTYROSE 0xFFE4E1 // 薄雾 + #define COLOR_SALMON 0xFA8072 // 鲜肉(鲑鱼) + #define COLOR_SNOW 0xFFFAFA + #define COLOR_LIGHTCORAL 0xF08080 // 淡珊瑚色 + #define COLOR_ROSYBROWN 0xBC8F8F // 瑰色 + #define COLOR_INDIANRED 0xCD5C5C // 印度 + #define COLOR_RED 0xFF0000 + #define COLOR_BROWN 0xA52A2A // 棕色 + #define COLOR_FIREBRICK 0xB22222 // 耐火 + #define COLOR_DARKRED 0x8B0000 // 深红 + #define COLOR_MAROON 0x800000 // 栗色 + #define COLOR_WHITE 0xFFFFFF + #define COLOR_WHITESMOKE 0xF5F5F5 // 白烟 + #define COLOR_GAINSBORO 0xDCDCDC // 灰色 + #define COLOR_LIGHTGREY 0xD3D3D3 // 浅灰 + #define COLOR_SILVER 0xC0C0C0 // 银白 + #define COLOR_DARKGRAY 0xA9A9A9 // 深灰 + #define COLOR_GRAY 0x808080 // 灰色 + #define COLOR_DIMGRAY 0x696969 // 暗淡的灰 + #define COLOR_BLACK 0x000000 typedef enum { diff --git a/TFT/src/User/API/Language/Language.c b/TFT/src/User/API/Language/Language.c index 4dfb2bb01..374116a04 100644 --- a/TFT/src/User/API/Language/Language.c +++ b/TFT/src/User/API/Language/Language.c @@ -51,19 +51,18 @@ #else #error "Error: invalid language defined" #endif -// add new keywords in Language.inc file only static uint8_t tempLabelString[MAX_LANG_LABEL_LENGTH]; -const char *const default_pack[LABEL_NUM] = { +// this list is Auto-Generated. Please add new keywords in Language.inc file only +const char * const default_pack[LABEL_NUM] = { #define X_WORD(NAME) STRING_##NAME , #include "Language.inc" #undef X_WORD }; -// keyword list for language.ini -const char *const lang_key_list[LABEL_NUM] = -{ +// this list is Auto-Generated. Please add new keywords in Language.inc file only +const char * const lang_key_list[LABEL_NUM] = { #define X_WORD(NAME) LANG_KEY_##NAME , #include "Language.inc" #undef X_WORD @@ -77,7 +76,7 @@ uint32_t getLabelFlashAddr(uint16_t index) return (LANGUAGE_ADDR + (MAX_LANG_LABEL_LENGTH * index)); } -uint8_t *textSelect(uint16_t index) +uint8_t * textSelect(uint16_t index) { switch (infoSettings.language) { diff --git a/TFT/src/User/API/Language/Language.h b/TFT/src/User/API/Language/Language.h index 543b97077..76eb4f468 100644 --- a/TFT/src/User/API/Language/Language.h +++ b/TFT/src/User/API/Language/Language.h @@ -10,29 +10,29 @@ extern "C" { #define MAX_LANG_LABEL_LENGTH W25QXX_SPI_PAGESIZE -#define ENGLISH 0 -#define CHINESE 1 -#define RUSSIAN 2 -#define JAPANESE 3 -#define ARMENIAN 4 -#define GERMAN 5 -#define CZECH 6 -#define SPANISH 7 -#define FRENCH 8 -#define PORTUGUESE 9 -#define ITALIAN 10 -#define POLISH 11 -#define SLOVAK 12 -#define DUTCH 13 -#define HUNGARIAN 14 -#define TURKISH 15 -#define GREEK 16 -#define SLOVENIAN 17 -#define CATALAN 18 -#define TRAD_CHINESE 19 -#define UKRAINIAN 20 -#define BRAZIL 21 -#define CROATIAN 22 +#define ENGLISH 0 +#define CHINESE 1 +#define RUSSIAN 2 +#define JAPANESE 3 +#define ARMENIAN 4 +#define GERMAN 5 +#define CZECH 6 +#define SPANISH 7 +#define FRENCH 8 +#define PORTUGUESE 9 +#define ITALIAN 10 +#define POLISH 11 +#define SLOVAK 12 +#define DUTCH 13 +#define HUNGARIAN 14 +#define TURKISH 15 +#define GREEK 16 +#define SLOVENIAN 17 +#define CATALAN 18 +#define TRAD_CHINESE 19 +#define UKRAINIAN 20 +#define BRAZIL 21 +#define CROATIAN 22 enum { @@ -41,12 +41,13 @@ enum LANGUAGE_NUM, }; -enum { +// this list is Auto-Generated. Please add new keywords in Language.inc file only +enum +{ #define X_WORD(NAME) LABEL_##NAME , #include "Language.inc" #undef X_WORD - // add new keywords in 'Language.inc' file only // keep the following always at the end of this list LABEL_NUM, LABEL_NULL, @@ -54,8 +55,8 @@ enum { LABEL_CUSTOM_VALUE, }; -extern const char *const default_pack[LABEL_NUM]; -extern const char *const lang_key_list[LABEL_NUM]; +extern const char * const default_pack[LABEL_NUM]; +extern const char * const lang_key_list[LABEL_NUM]; // use only once in any function call. Calling multiple times will overwrite previous text uint8_t * textSelect(uint16_t sel); @@ -67,7 +68,7 @@ uint32_t getLabelFlashAddr(uint16_t index); bool loadLabelText(uint8_t * buf, uint16_t index); // initialize and preload label text -#define LABELCHAR(x, i) char x[MAX_LANG_LABEL_LENGTH]; loadLabelText((uint8_t*)&x, i); +#define LABELCHAR(x, i) char x[MAX_LANG_LABEL_LENGTH]; loadLabelText((uint8_t *)&x, i); #ifdef __cplusplus } diff --git a/TFT/src/User/API/Language/language_am.h b/TFT/src/User/API/Language/language_am.h index cbc48d8c6..69ec135a9 100644 --- a/TFT/src/User/API/Language/language_am.h +++ b/TFT/src/User/API/Language/language_am.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_AM_H_ #define _LANGUAGE_AM_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Հայերեն" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "Rotate UI" - #define STRING_ACK_NOTIFICATION "ACK notification style" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "Files viewer List Mode" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" - #define STRING_PERSISTENT_INFO "Persistent Status Info" - #define STRING_TERMINAL_ACK "Show ACK in Terminal" - #define STRING_SERIAL_ALWAYS_ON "Serial Always ON" - #define STRING_MARLIN_FULLSCREEN "Marlin mode in fullscreen" - #define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "Move speed(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "Auto shutdown" - #define STRING_FIL_RUNOUT "Filament sensor" - #define STRING_PL_RECOVERY "Power loss recovery" - #define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" - #define STRING_BTT_MINI_UPS "BTT UPS Support" - #define STRING_TOUCH_SOUND "Touch sounds" - #define STRING_TOAST_SOUND "Toast Notifications" - #define STRING_ALERT_SOUND "Popups and Alerts" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "Brightness" - #define STRING_LCD_IDLE_BRIGHTNESS "Idle brightness" - #define STRING_LCD_IDLE_TIME "Idle timeout" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "Rotary Knob LED" - #define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" - #define STRING_START_GCODE_ENABLED "Start Gcode before print" - #define STRING_END_GCODE_ENABLED "End Gcode after print" - #define STRING_CANCEL_GCODE_ENABLED "Cancel Gcode" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Հայերեն" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "Rotate UI" +#define STRING_ACK_NOTIFICATION "ACK notification style" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "Files viewer List Mode" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" +#define STRING_PERSISTENT_INFO "Persistent Status Info" +#define STRING_TERMINAL_ACK "Show ACK in Terminal" +#define STRING_SERIAL_ALWAYS_ON "Serial Always ON" +#define STRING_MARLIN_FULLSCREEN "Marlin mode in fullscreen" +#define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "Move speed(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "Auto shutdown" +#define STRING_FIL_RUNOUT "Filament sensor" +#define STRING_PL_RECOVERY "Power loss recovery" +#define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" +#define STRING_BTT_MINI_UPS "BTT UPS Support" +#define STRING_TOUCH_SOUND "Touch sounds" +#define STRING_TOAST_SOUND "Toast Notifications" +#define STRING_ALERT_SOUND "Popups and Alerts" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "Brightness" +#define STRING_LCD_IDLE_BRIGHTNESS "Idle brightness" +#define STRING_LCD_IDLE_TIME "Idle timeout" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "Rotary Knob LED" +#define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" +#define STRING_START_GCODE_ENABLED "Start Gcode before print" +#define STRING_END_GCODE_ENABLED "End Gcode after print" +#define STRING_CANCEL_GCODE_ENABLED "Cancel Gcode" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Steps per mm" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "Max Acceleration" - #define STRING_MAXFEEDRATE "Max Feed Rate" - #define STRING_ACCELERATION "Acceleration" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home Offset" - #define STRING_FWRETRACT "FW Retraction" - #define STRING_FWRECOVER "FW Retraction Recover" - #define STRING_RETRACT_AUTO "Auto Firmware Retract" - #define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Probe Offset" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "Driver Current (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Steps per mm" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "Max Acceleration" +#define STRING_MAXFEEDRATE "Max Feed Rate" +#define STRING_ACCELERATION "Acceleration" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home Offset" +#define STRING_FWRETRACT "FW Retraction" +#define STRING_FWRECOVER "FW Retraction Recover" +#define STRING_RETRACT_AUTO "Auto Firmware Retract" +#define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Probe Offset" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "Driver Current (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Print Acceleration" - #define STRING_RETRACT_ACCELERATION "Retract Acceleration" - #define STRING_TRAVEL_ACCELERATION "Travel Acceleration" - #define STRING_RETRACT_LENGTH "Retract length" - #define STRING_RETRACT_SWAP_LENGTH "Retract swap length" - #define STRING_RETRACT_FEEDRATE "Retract feedrate" - #define STRING_RETRACT_Z_LIFT "Z lift on retraction" - #define STRING_RECOVER_LENGTH "Extra recover length" - #define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" - #define STRING_RECOVER_FEEDRATE "Recover feedrate" - #define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Print Acceleration" +#define STRING_RETRACT_ACCELERATION "Retract Acceleration" +#define STRING_TRAVEL_ACCELERATION "Travel Acceleration" +#define STRING_RETRACT_LENGTH "Retract length" +#define STRING_RETRACT_SWAP_LENGTH "Retract swap length" +#define STRING_RETRACT_FEEDRATE "Retract feedrate" +#define STRING_RETRACT_Z_LIFT "Z lift on retraction" +#define STRING_RECOVER_LENGTH "Extra recover length" +#define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" +#define STRING_RECOVER_FEEDRATE "Recover feedrate" +#define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" - // Save / Load - #define STRING_SAVE "Save" - #define STRING_RESTORE "Restore" - #define STRING_RESET "Reset" - #define STRING_EEPROM_SAVE_INFO "Save printer settings to EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Reload settings from EEPROM?" - #define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" - #define STRING_SETTINGS_SAVE "Save settings" - #define STRING_SETTINGS_RESTORE "Restore settings" - #define STRING_SETTINGS_RESET "Reset default settings" - #define STRING_SETTINGS_RESET_INFO "Reset all settings to default values?" - #define STRING_SETTINGS_RESET_DONE "Reset all settings successful.\nPlease restart the device." +// Save / Load +#define STRING_SAVE "Save" +#define STRING_RESTORE "Restore" +#define STRING_RESET "Reset" +#define STRING_EEPROM_SAVE_INFO "Save printer settings to EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Reload settings from EEPROM?" +#define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" +#define STRING_SETTINGS_SAVE "Save settings" +#define STRING_SETTINGS_RESTORE "Restore settings" +#define STRING_SETTINGS_RESET "Reset default settings" +#define STRING_SETTINGS_RESET_INFO "Reset all settings to default values?" +#define STRING_SETTINGS_RESET_DONE "Reset all settings successful.\nPlease restart the device." - // Navigation Buttons - #define STRING_PAGE_UP "Վերեւ" - #define STRING_PAGE_DOWN "Ներքեւ" - #define STRING_UP "Up" - #define STRING_DOWN "Down" - #define STRING_NEXT "Next" - #define STRING_BACK "Հետ" +// Navigation Buttons +#define STRING_PAGE_UP "Վերեւ" +#define STRING_PAGE_DOWN "Ներքեւ" +#define STRING_UP "Up" +#define STRING_DOWN "Down" +#define STRING_NEXT "Next" +#define STRING_BACK "Հետ" - // Value Buttons - #define STRING_INC "Ավելացնել" - #define STRING_DEC "Նվազեցնել" - #define STRING_LOAD "Load" - #define STRING_UNLOAD "Unload" - #define STRING_ON "ON" - #define STRING_OFF "OFF" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Դանդաղ" - #define STRING_NORMAL "Նորմալ" - #define STRING_FAST "Արագ" - #define STRING_ZERO "Zero" - #define STRING_HALF "Կիսատ" - #define STRING_FULL "Ամբողջը" - #define STRING_CUSTOM "Custom" - #define STRING_CLEAR "Clear" - #define STRING_DEFAULT "Default" +// Value Buttons +#define STRING_INC "Ավելացնել" +#define STRING_DEC "Նվազեցնել" +#define STRING_LOAD "Load" +#define STRING_UNLOAD "Unload" +#define STRING_ON "ON" +#define STRING_OFF "OFF" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Դանդաղ" +#define STRING_NORMAL "Նորմալ" +#define STRING_FAST "Արագ" +#define STRING_ZERO "Zero" +#define STRING_HALF "Կիսատ" +#define STRING_FULL "Ամբողջը" +#define STRING_CUSTOM "Custom" +#define STRING_CLEAR "Clear" +#define STRING_DEFAULT "Default" - // Action Buttons - #define STRING_START "Start" - #define STRING_STOP "Դադարեցնել" - #define STRING_PAUSE "Կանգնեցնել" - #define STRING_RESUME "Շարունակել" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Անջատել" - #define STRING_SHUT_DOWN "Shut Down" - #define STRING_FORCE_SHUT_DOWN "Force" - #define STRING_EMERGENCYSTOP "EM. STOP" - #define STRING_PREHEAT "Preheat" - #define STRING_PREHEAT_BOTH "Both" - #define STRING_COOLDOWN "Cool Down" +// Action Buttons +#define STRING_START "Start" +#define STRING_STOP "Դադարեցնել" +#define STRING_PAUSE "Կանգնեցնել" +#define STRING_RESUME "Շարունակել" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Անջատել" +#define STRING_SHUT_DOWN "Shut Down" +#define STRING_FORCE_SHUT_DOWN "Force" +#define STRING_EMERGENCYSTOP "EM. STOP" +#define STRING_PREHEAT "Preheat" +#define STRING_PREHEAT_BOTH "Both" +#define STRING_COOLDOWN "Cool Down" - // Dialog Buttons - #define STRING_CONFIRM "Confirm" - #define STRING_CANCEL "Չեղարկել" - #define STRING_WARNING "Warning" - #define STRING_CONTINUE "Շարունակել" - #define STRING_CONFIRMATION "Are you sure?" +// Dialog Buttons +#define STRING_CONFIRM "Confirm" +#define STRING_CANCEL "Չեղարկել" +#define STRING_WARNING "Warning" +#define STRING_CONTINUE "Շարունակել" +#define STRING_CONFIRMATION "Are you sure?" - // Process Status - #define STRING_STATUS "Status" - #define STRING_READY "Պատրաստ" - #define STRING_BUSY "Ծանրաբեռնված է" - #define STRING_LOADING "Բեռնում է..." - #define STRING_UNCONNECTED "Տպիչը կցված չէ" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "Status" +#define STRING_READY "Պատրաստ" +#define STRING_BUSY "Ծանրաբեռնված է" +#define STRING_LOADING "Բեռնում է..." +#define STRING_UNCONNECTED "Տպիչը կցված չէ" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "Info" - #define STRING_INVALID_VALUE "Invalid value(s)" - #define STRING_TIMEOUT_REACHED "Timeout reached!" - #define STRING_DISCONNECT_INFO "Now you can control the printer by your computer!" - #define STRING_SHUTTING_DOWN "Shutting down..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Wait for the temperature of hotend to be lower than %d℃" // Wait for the temperature of hotend to be lower than 50℃ - #define STRING_POWER_FAILED "Տպելը չի ավարտվել, շարունակե՞լ" - #define STRING_PROCESS_COMPLETED "Process completed!" - #define STRING_PROCESS_ABORTED "Process aborted!" +// Process Info +#define STRING_INFO "Info" +#define STRING_INVALID_VALUE "Invalid value(s)" +#define STRING_TIMEOUT_REACHED "Timeout reached!" +#define STRING_DISCONNECT_INFO "Now you can control the printer by your computer!" +#define STRING_SHUTTING_DOWN "Shutting down..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Wait for the temperature of hotend to be lower than %d℃" // Wait for the temperature of hotend to be lower than 50℃ +#define STRING_POWER_FAILED "Տպելը չի ավարտվել, շարունակե՞լ" +#define STRING_PROCESS_COMPLETED "Process completed!" +#define STRING_PROCESS_ABORTED "Process aborted!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT SD" - #define STRING_TFT_SD_INSERTED "SD card inserted" - #define STRING_TFT_SD_REMOVED "SD card removed" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "SD card հիշողության սարքը չկա" - #define STRING_TFT_USB "TFT USB" - #define STRING_TFT_USB_INSERTED "USB disk inserted" - #define STRING_TFT_USB_REMOVED "USB disk removed" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "USB disk հիշողության սարքը չկա" - #define STRING_ONBOARD_SD "Onboard SD" - #define STRING_ONBOARD_USB "OnboardUSB" - #define STRING_ONBOARD_SD_READ_ERROR "Onboard հիշողության սարքը չկա" - #define STRING_FILAMENT_RUNOUT "Filament runout!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT SD" +#define STRING_TFT_SD_INSERTED "SD card inserted" +#define STRING_TFT_SD_REMOVED "SD card removed" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "SD card հիշողության սարքը չկա" +#define STRING_TFT_USB "TFT USB" +#define STRING_TFT_USB_INSERTED "USB disk inserted" +#define STRING_TFT_USB_REMOVED "USB disk removed" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "USB disk հիշողության սարքը չկա" +#define STRING_ONBOARD_SD "Onboard SD" +#define STRING_ONBOARD_USB "OnboardUSB" +#define STRING_ONBOARD_SD_READ_ERROR "Onboard հիշողության սարքը չկա" +#define STRING_FILAMENT_RUNOUT "Filament runout!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Disarm All" - #define STRING_XY_UNLOCK "Disarm XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Disarm All" +#define STRING_XY_UNLOCK "Disarm XY" - #define STRING_START_PRINT "Start printing:\n%s?" - #define STRING_STOP_PRINT "Stop printing?" - #define STRING_IS_PAUSE "Unable to extrude when printing.\nPause printing?" - #define STRING_M0_PAUSE "Paused by M0 command" +#define STRING_START_PRINT "Start printing:\n%s?" +#define STRING_STOP_PRINT "Stop printing?" +#define STRING_IS_PAUSE "Unable to extrude when printing.\nPause printing?" +#define STRING_M0_PAUSE "Paused by M0 command" - #define STRING_TEST "Test" - #define STRING_DEPLOY "Deploy" - #define STRING_STOW "Stow" - #define STRING_REPEAT "Repeat" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Test" +#define STRING_DEPLOY "Deploy" +#define STRING_STOW "Stow" +#define STRING_REPEAT "Repeat" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Գլխիկ" - #define STRING_BED "Տախտակ" - #define STRING_CHAMBER "Chamber" - #define STRING_FAN "Հովացնել" +// Printer Tools +#define STRING_NOZZLE "Գլխիկ" +#define STRING_BED "Տախտակ" +#define STRING_CHAMBER "Chamber" +#define STRING_FAN "Հովացնել" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 Sec." - #define STRING_10_SECONDS "10 Sec." - #define STRING_30_SECONDS "30 Sec." - #define STRING_60_SECONDS "1 Min." - #define STRING_120_SECONDS "2 Min." - #define STRING_300_SECONDS "5 Min." +#define STRING_5_SECONDS "5 Sec." +#define STRING_10_SECONDS "10 Sec." +#define STRING_30_SECONDS "30 Sec." +#define STRING_60_SECONDS "1 Min." +#define STRING_120_SECONDS "2 Min." +#define STRING_300_SECONDS "5 Min." - // Colors - #define STRING_WHITE "White" - #define STRING_BLACK "Black" - #define STRING_BLUE "Blue" - #define STRING_RED "Red" - #define STRING_GREEN "Green" - #define STRING_CYAN "Cyan" - #define STRING_YELLOW "Yellow" - #define STRING_BROWN "Brown" - #define STRING_GRAY "Gray" - #define STRING_ORANGE "Orange" - #define STRING_INDIGO "Indigo" - #define STRING_VIOLET "Violet" - #define STRING_MAGENTA "Magenta" - #define STRING_PURPLE "Purple" - #define STRING_LIME "Lime" - #define STRING_DARKBLUE "DarkBlue" - #define STRING_DARKGREEN "DarkGreen" - #define STRING_DARKGRAY "DarkGray" +// Colors +#define STRING_WHITE "White" +#define STRING_BLACK "Black" +#define STRING_BLUE "Blue" +#define STRING_RED "Red" +#define STRING_GREEN "Green" +#define STRING_CYAN "Cyan" +#define STRING_YELLOW "Yellow" +#define STRING_BROWN "Brown" +#define STRING_GRAY "Gray" +#define STRING_ORANGE "Orange" +#define STRING_INDIGO "Indigo" +#define STRING_VIOLET "Violet" +#define STRING_MAGENTA "Magenta" +#define STRING_PURPLE "Purple" +#define STRING_LIME "Lime" +#define STRING_DARKBLUE "DarkBlue" +#define STRING_DARKGREEN "DarkGreen" +#define STRING_DARKGRAY "DarkGray" - // Menus - #define STRING_HEAT "Ջերմություն" - #define STRING_MOVE "Շարժել" - #define STRING_HOME "Սկզբնական" - #define STRING_PRINT "Տպել" - #define STRING_EXTRUDE "Հալել" - #define STRING_SETTINGS "Կարգավորումներ" - #define STRING_SCREEN_SETTINGS "Screen" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Sound" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Machine" - #define STRING_PARAMETER_SETTINGS "Պարամետր" - #define STRING_FEATURE_SETTINGS "Feature" - #define STRING_CONNECTION_SETTINGS "Connection" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "BaudRate" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "LED Color" - #define STRING_RGB_OFF "LED Off" - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "Leveling" - #define STRING_POINT_1 "Point 1" - #define STRING_POINT_2 "Point 2" - #define STRING_POINT_3 "Point 3" - #define STRING_POINT_4 "Point 4" - #define STRING_POINT_5 "Point 5" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Bed Leveling Complete" - #define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" - #define STRING_BL_ENABLE "BL: on" - #define STRING_BL_DISABLE "BL: off" - #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_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 "Save the mesh to EEPROM to load after reboot?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Distance" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Load/Unload" // needs translation - #define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation - #define STRING_TOUCHSCREEN_ADJUST "TSC Adjust" - #define STRING_MORE "More" - #define STRING_SCREEN_INFO "Info" - #define STRING_BG_COLOR "Background color" - #define STRING_FONT_COLOR "Font color" - #define STRING_PERCENTAGE "Percentage" - #define STRING_PERCENTAGE_SPEED "Արագություն" - #define STRING_PERCENTAGE_FLOW "Flow" - #define STRING_BABYSTEP "Դանդաղ" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Էկրանի կարգավորում" - #define STRING_ADJUST_INFO "Please click on the red dot" - #define STRING_ADJUST_OK "Adjustment Success" - #define STRING_ADJUST_FAILED "Adjustment failed, Please Try Again." - #define STRING_UNIFIEDMOVE "Movement" - #define STRING_UNIFIEDHEAT "Heat&Fan" - #define STRING_TOUCH_TO_EXIT "Touch anywhere to exit" - #define STRING_MAINMENU "Menu" - #define STRING_TUNING "Tuning" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC autotune" - #define STRING_MPC_METHOD "Method:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID autotune" - #define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" - #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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" - #define STRING_MESH_EDITOR "Mesh edit" - #define STRING_MESH_TUNER "Mesh tuner" - #define STRING_CASE_LIGHT "Case light" - #define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed - #define STRING_PRINT_FINISHED " Print\n finished" - #define STRING_MAIN_SCREEN "Main" - #define STRING_PREVIOUS_PRINT_DATA "Brief" - #define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament cost: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament data not available." - #define STRING_CLICK_FOR_MORE "Click for summary" - #define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." - #define STRING_HEAT_HOTEND "Heat hotend to %d℃?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "Ջերմություն" +#define STRING_MOVE "Շարժել" +#define STRING_HOME "Սկզբնական" +#define STRING_PRINT "Տպել" +#define STRING_EXTRUDE "Հալել" +#define STRING_SETTINGS "Կարգավորումներ" +#define STRING_SCREEN_SETTINGS "Screen" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Sound" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Machine" +#define STRING_PARAMETER_SETTINGS "Պարամետր" +#define STRING_FEATURE_SETTINGS "Feature" +#define STRING_CONNECTION_SETTINGS "Connection" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "BaudRate" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "LED Color" +#define STRING_RGB_OFF "LED Off" +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "Leveling" +#define STRING_POINT_1 "Point 1" +#define STRING_POINT_2 "Point 2" +#define STRING_POINT_3 "Point 3" +#define STRING_POINT_4 "Point 4" +#define STRING_POINT_5 "Point 5" +#define STRING_BED_LEVELING "Bed Level" +#define STRING_BL_COMPLETE "Bed Leveling Complete" +#define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" +#define STRING_BL_ENABLE "BL: on" +#define STRING_BL_DISABLE "BL: off" +#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_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 "Save the mesh to EEPROM to load after reboot?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Distance" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Load/Unload" // needs translation +#define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation +#define STRING_TOUCHSCREEN_ADJUST "TSC Adjust" +#define STRING_MORE "More" +#define STRING_SCREEN_INFO "Info" +#define STRING_BG_COLOR "Background color" +#define STRING_FONT_COLOR "Font color" +#define STRING_PERCENTAGE "Percentage" +#define STRING_PERCENTAGE_SPEED "Արագություն" +#define STRING_PERCENTAGE_FLOW "Flow" +#define STRING_BABYSTEP "Դանդաղ" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Էկրանի կարգավորում" +#define STRING_ADJUST_INFO "Please click on the red dot" +#define STRING_ADJUST_OK "Adjustment Success" +#define STRING_ADJUST_FAILED "Adjustment failed, Please Try Again." +#define STRING_UNIFIEDMOVE "Movement" +#define STRING_UNIFIEDHEAT "Heat&Fan" +#define STRING_TOUCH_TO_EXIT "Touch anywhere to exit" +#define STRING_MAINMENU "Menu" +#define STRING_TUNING "Tuning" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC autotune" +#define STRING_MPC_METHOD "Method:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID autotune" +#define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" +#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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" +#define STRING_MESH_EDITOR "Mesh edit" +#define STRING_MESH_TUNER "Mesh tuner" +#define STRING_CASE_LIGHT "Case light" +#define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed +#define STRING_PRINT_FINISHED " Print\n finished" +#define STRING_MAIN_SCREEN "Main" +#define STRING_PREVIOUS_PRINT_DATA "Brief" +#define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament cost: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament data not available." +#define STRING_CLICK_FOR_MORE "Click for summary" +#define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." +#define STRING_HEAT_HOTEND "Heat hotend to %d℃?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_br.h b/TFT/src/User/API/Language/language_br.h index c9f3dd679..305cdaa9c 100644 --- a/TFT/src/User/API/Language/language_br.h +++ b/TFT/src/User/API/Language/language_br.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_BR_H_ #define _LANGUAGE_BR_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Português BRASIL" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "M600 emulado" - #define STRING_EMULATED_M109_M190 "M109 / M190 emulado" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "Análise de comentários em arquivos" - #define STRING_ROTATED_UI "Girar" - #define STRING_ACK_NOTIFICATION "Tipo de pop-up" - #define STRING_FILES_SORT_BY "Lista arqui. por" - #define STRING_FILES_LIST_MODE "Arquivo em modo de lista" - #define STRING_FILENAME_EXTENSION "Mostra ext. dos arquivos" - #define STRING_FAN_SPEED_PERCENTAGE "FAN em porcentagem" - #define STRING_PERSISTENT_INFO "Mostra barra de status" - #define STRING_TERMINAL_ACK "Mostra ACK no console" - #define STRING_SERIAL_ALWAYS_ON "Serial sempre ligada" - #define STRING_MARLIN_FULLSCREEN "Marlin Tela Cheia" - #define STRING_MARLIN_SHOW_TITLE "Mostra título em Marlin" - #define STRING_MARLIN_TYPE "Modo Marlin" - #define STRING_MOVE_SPEED "Velocidade (X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto salva/carrega Nivel." - #define STRING_PROBING_Z_OFFSET "Offset Z" - #define STRING_Z_STEPPERS_ALIGNMENT "Auto Alinhamento do eixo Z" - #define STRING_PS_AUTO_SHUTDOWN "Desliga automático" - #define STRING_FIL_RUNOUT "Sensor de filamento" - #define STRING_PL_RECOVERY "Recuperação de queda de energia" - #define STRING_PL_RECOVERY_HOME "Home após queda de energia" - #define STRING_BTT_MINI_UPS "Suporte para BTT UPS" - #define STRING_TOUCH_SOUND "Som de toque" - #define STRING_TOAST_SOUND "Notificações do sistema" - #define STRING_ALERT_SOUND "Popups e avisos" - #define STRING_HEATER_SOUND "Notificar temperatura" - #define STRING_LCD_BRIGHTNESS "Brilho" - #define STRING_LCD_IDLE_BRIGHTNESS "Brilho em descanso" - #define STRING_LCD_IDLE_TIME "Timer do brilho" - #define STRING_LCD_LOCK_ON_IDLE "Bloq. LCD em IDLE" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "Knob LED" - #define STRING_KNOB_LED_IDLE "Knob LED IDLE" - #define STRING_START_GCODE_ENABLED "Gcode antes imp." - #define STRING_END_GCODE_ENABLED "Gcode pós impressão" - #define STRING_CANCEL_GCODE_ENABLED "Gcode de cancelamento" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Português BRASIL" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "M600 emulado" +#define STRING_EMULATED_M109_M190 "M109 / M190 emulado" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "Análise de comentários em arquivos" +#define STRING_ROTATED_UI "Girar" +#define STRING_ACK_NOTIFICATION "Tipo de pop-up" +#define STRING_FILES_SORT_BY "Lista arqui. por" +#define STRING_FILES_LIST_MODE "Arquivo em modo de lista" +#define STRING_FILENAME_EXTENSION "Mostra ext. dos arquivos" +#define STRING_FAN_SPEED_PERCENTAGE "FAN em porcentagem" +#define STRING_PERSISTENT_INFO "Mostra barra de status" +#define STRING_TERMINAL_ACK "Mostra ACK no console" +#define STRING_SERIAL_ALWAYS_ON "Serial sempre ligada" +#define STRING_MARLIN_FULLSCREEN "Marlin Tela Cheia" +#define STRING_MARLIN_SHOW_TITLE "Mostra título em Marlin" +#define STRING_MARLIN_TYPE "Modo Marlin" +#define STRING_MOVE_SPEED "Velocidade (X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto salva/carrega Nivel." +#define STRING_PROBING_Z_OFFSET "Offset Z" +#define STRING_Z_STEPPERS_ALIGNMENT "Auto Alinhamento do eixo Z" +#define STRING_PS_AUTO_SHUTDOWN "Desliga automático" +#define STRING_FIL_RUNOUT "Sensor de filamento" +#define STRING_PL_RECOVERY "Recuperação de queda de energia" +#define STRING_PL_RECOVERY_HOME "Home após queda de energia" +#define STRING_BTT_MINI_UPS "Suporte para BTT UPS" +#define STRING_TOUCH_SOUND "Som de toque" +#define STRING_TOAST_SOUND "Notificações do sistema" +#define STRING_ALERT_SOUND "Popups e avisos" +#define STRING_HEATER_SOUND "Notificar temperatura" +#define STRING_LCD_BRIGHTNESS "Brilho" +#define STRING_LCD_IDLE_BRIGHTNESS "Brilho em descanso" +#define STRING_LCD_IDLE_TIME "Timer do brilho" +#define STRING_LCD_LOCK_ON_IDLE "Bloq. LCD em IDLE" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "Knob LED" +#define STRING_KNOB_LED_IDLE "Knob LED IDLE" +#define STRING_START_GCODE_ENABLED "Gcode antes imp." +#define STRING_END_GCODE_ENABLED "Gcode pós impressão" +#define STRING_CANCEL_GCODE_ENABLED "Gcode de cancelamento" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Passos por mm" - #define STRING_FILAMENT_SETTING "Diâmetro do filamento" - #define STRING_MAXACCELERATION "Aceleração máxima" - #define STRING_MAXFEEDRATE "Avanço máximo" - #define STRING_ACCELERATION "Aceleração" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Desvio de junção" - #define STRING_HOME_OFFSET "Deslocamento inicial" - #define STRING_FWRETRACT "Retração de firmware" - #define STRING_FWRECOVER "Firmware retraction rec." // TRADUZIR - #define STRING_RETRACT_AUTO "Retração de Firmware Auto." - #define STRING_HOTEND_OFFSET "Offset de acordo com hotend" // - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Configuração Delta" - #define STRING_DELTA_TOWER_ANGLE "Guarnição do ângulo da torre" // - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Ajustes de fim de curso" - #define STRING_PROBE_OFFSET "OFFSET da Sonda" - #define STRING_LIN_ADVANCE "Avanço linear" - #define STRING_CURRENT_SETTING "Corrente do driver (mA)" - #define STRING_HYBRID_THRESHOLD "HYBRID_THRESHOLD" // - #define STRING_BUMP_SENSITIVITY "Sensibilidade sensorless homing" // - #define STRING_MBL_OFFSET "MBL Offset" // +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Passos por mm" +#define STRING_FILAMENT_SETTING "Diâmetro do filamento" +#define STRING_MAXACCELERATION "Aceleração máxima" +#define STRING_MAXFEEDRATE "Avanço máximo" +#define STRING_ACCELERATION "Aceleração" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Desvio de junção" +#define STRING_HOME_OFFSET "Deslocamento inicial" +#define STRING_FWRETRACT "Retração de firmware" +#define STRING_FWRECOVER "Firmware retraction rec." // TRADUZIR +#define STRING_RETRACT_AUTO "Retração de Firmware Auto." +#define STRING_HOTEND_OFFSET "Offset de acordo com hotend" // +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Configuração Delta" +#define STRING_DELTA_TOWER_ANGLE "Guarnição do ângulo da torre" // +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Ajustes de fim de curso" +#define STRING_PROBE_OFFSET "OFFSET da Sonda" +#define STRING_LIN_ADVANCE "Avanço linear" +#define STRING_CURRENT_SETTING "Corrente do driver (mA)" +#define STRING_HYBRID_THRESHOLD "HYBRID_THRESHOLD" // +#define STRING_BUMP_SENSITIVITY "Sensibilidade sensorless homing" // +#define STRING_MBL_OFFSET "MBL Offset" // - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Aceleração na impressão" - #define STRING_RETRACT_ACCELERATION "Aceleração na Retração" - #define STRING_TRAVEL_ACCELERATION "Aceleração TRAVEL" - #define STRING_RETRACT_LENGTH "Comprimento de retração" - #define STRING_RETRACT_SWAP_LENGTH "Exchange retr. comprimento"// - #define STRING_RETRACT_FEEDRATE "Taxa de avanço de retração" - #define STRING_RETRACT_Z_LIFT "Levantar Z na retração" - #define STRING_RECOVER_LENGTH "Avanço Extra de retração"// - #define STRING_SWAP_RECOVER_LENGTH "Comprimento extra de recuperação de troca" - #define STRING_RECOVER_FEEDRATE "Avanço de recuperação" - #define STRING_SWAP_RECOVER_FEEDRATE "Exchange Rec.feedrate" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Aceleração na impressão" +#define STRING_RETRACT_ACCELERATION "Aceleração na Retração" +#define STRING_TRAVEL_ACCELERATION "Aceleração TRAVEL" +#define STRING_RETRACT_LENGTH "Comprimento de retração" +#define STRING_RETRACT_SWAP_LENGTH "Exchange retr. comprimento"// +#define STRING_RETRACT_FEEDRATE "Taxa de avanço de retração" +#define STRING_RETRACT_Z_LIFT "Levantar Z na retração" +#define STRING_RECOVER_LENGTH "Avanço Extra de retração"// +#define STRING_SWAP_RECOVER_LENGTH "Comprimento extra de recuperação de troca" +#define STRING_RECOVER_FEEDRATE "Avanço de recuperação" +#define STRING_SWAP_RECOVER_FEEDRATE "Exchange Rec.feedrate" - // Save / Load - #define STRING_SAVE "Salvar" - #define STRING_RESTORE "Restaurar" - #define STRING_RESET "Resetar" - #define STRING_EEPROM_SAVE_INFO "Salva config. na EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Restaura config. da EEPROM?" - #define STRING_EEPROM_RESET_INFO "Reseta a EEPROM para padrão?" - #define STRING_SETTINGS_SAVE "Salvar configurações" - #define STRING_SETTINGS_RESTORE "Restaurar configurações" - #define STRING_SETTINGS_RESET "Redefinir configurações" - #define STRING_SETTINGS_RESET_INFO "Redefinir todas as configurações p/ padrão?" - #define STRING_SETTINGS_RESET_DONE "Configurações Redefinidas com sucesso. \ nReinicie a impressora." +// Save / Load +#define STRING_SAVE "Salvar" +#define STRING_RESTORE "Restaurar" +#define STRING_RESET "Resetar" +#define STRING_EEPROM_SAVE_INFO "Salva config. na EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Restaura config. da EEPROM?" +#define STRING_EEPROM_RESET_INFO "Reseta a EEPROM para padrão?" +#define STRING_SETTINGS_SAVE "Salvar configurações" +#define STRING_SETTINGS_RESTORE "Restaurar configurações" +#define STRING_SETTINGS_RESET "Redefinir configurações" +#define STRING_SETTINGS_RESET_INFO "Redefinir todas as configurações p/ padrão?" +#define STRING_SETTINGS_RESET_DONE "Configurações Redefinidas com sucesso. \ nReinicie a impressora." - // Navigation Buttons - #define STRING_PAGE_UP "Retorna" - #define STRING_PAGE_DOWN "Avança" - #define STRING_UP "Sobe" - #define STRING_DOWN "Desce" - #define STRING_NEXT "Próximo" - #define STRING_BACK "Voltar" +// Navigation Buttons +#define STRING_PAGE_UP "Retorna" +#define STRING_PAGE_DOWN "Avança" +#define STRING_UP "Sobe" +#define STRING_DOWN "Desce" +#define STRING_NEXT "Próximo" +#define STRING_BACK "Voltar" - // Value Buttons - #define STRING_INC "Incrementa" - #define STRING_DEC "Diminui" - #define STRING_LOAD "Carrega" - #define STRING_UNLOAD "Descarrega" - #define STRING_ON "Ligado" - #define STRING_OFF "Desligado" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Lento" - #define STRING_NORMAL "Normal" - #define STRING_FAST "Rápido" - #define STRING_ZERO "Zero" - #define STRING_HALF "50%" - #define STRING_FULL "100%" - #define STRING_CUSTOM "Custom." - #define STRING_CLEAR "Cancel." - #define STRING_DEFAULT "Padrão" +// Value Buttons +#define STRING_INC "Incrementa" +#define STRING_DEC "Diminui" +#define STRING_LOAD "Carrega" +#define STRING_UNLOAD "Descarrega" +#define STRING_ON "Ligado" +#define STRING_OFF "Desligado" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Lento" +#define STRING_NORMAL "Normal" +#define STRING_FAST "Rápido" +#define STRING_ZERO "Zero" +#define STRING_HALF "50%" +#define STRING_FULL "100%" +#define STRING_CUSTOM "Custom." +#define STRING_CLEAR "Cancel." +#define STRING_DEFAULT "Padrão" - // Action Buttons - #define STRING_START "Iniciar" - #define STRING_STOP "Para" - #define STRING_PAUSE "Pausa" - #define STRING_RESUME "Resume" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Desconectar" - #define STRING_SHUT_DOWN "Desligar" - #define STRING_FORCE_SHUT_DOWN "Força desligamento" - #define STRING_EMERGENCYSTOP "Emergência" - #define STRING_PREHEAT "Pré-aquece" - #define STRING_PREHEAT_BOTH "Ambos" - #define STRING_COOLDOWN "Esfria" +// Action Buttons +#define STRING_START "Iniciar" +#define STRING_STOP "Para" +#define STRING_PAUSE "Pausa" +#define STRING_RESUME "Resume" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Desconectar" +#define STRING_SHUT_DOWN "Desligar" +#define STRING_FORCE_SHUT_DOWN "Força desligamento" +#define STRING_EMERGENCYSTOP "Emergência" +#define STRING_PREHEAT "Pré-aquece" +#define STRING_PREHEAT_BOTH "Ambos" +#define STRING_COOLDOWN "Esfria" - // Dialog Buttons - #define STRING_CONFIRM "Confirma" - #define STRING_CANCEL "Cancela" - #define STRING_WARNING "Aviso" - #define STRING_CONTINUE "Continua" - #define STRING_CONFIRMATION "Tem certeza?" +// Dialog Buttons +#define STRING_CONFIRM "Confirma" +#define STRING_CANCEL "Cancela" +#define STRING_WARNING "Aviso" +#define STRING_CONTINUE "Continua" +#define STRING_CONFIRMATION "Tem certeza?" - // Process Status - #define STRING_STATUS "Status" - #define STRING_READY "Pronto" - #define STRING_BUSY "Impressora ocupada, aguarde ..." - #define STRING_LOADING "Carregando ..." - #define STRING_UNCONNECTED "Impressora não conectada" - #define STRING_LISTENING "TFT em modo de escuta!" +// Process Status +#define STRING_STATUS "Status" +#define STRING_READY "Pronto" +#define STRING_BUSY "Impressora ocupada, aguarde ..." +#define STRING_LOADING "Carregando ..." +#define STRING_UNCONNECTED "Impressora não conectada" +#define STRING_LISTENING "TFT em modo de escuta!" - // Process Info - #define STRING_INFO "Informações" - #define STRING_INVALID_VALUE "Valores inválidos!" - #define STRING_TIMEOUT_REACHED "Timeout atingido!" - #define STRING_DISCONNECT_INFO "Você pode controlar a impressora de seu PC!" - #define STRING_SHUTTING_DOWN "Desligar ..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Espere que a temperatura do hotend seja inferior a %d℃" - #define STRING_POWER_FAILED "Continuar imprimindo?" - #define STRING_PROCESS_COMPLETED "Processo concluído!" - #define STRING_PROCESS_ABORTED "Processo cancelado!" +// Process Info +#define STRING_INFO "Informações" +#define STRING_INVALID_VALUE "Valores inválidos!" +#define STRING_TIMEOUT_REACHED "Timeout atingido!" +#define STRING_DISCONNECT_INFO "Você pode controlar a impressora de seu PC!" +#define STRING_SHUTTING_DOWN "Desligar ..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Espere que a temperatura do hotend seja inferior a %d℃" +#define STRING_POWER_FAILED "Continuar imprimindo?" +#define STRING_PROCESS_COMPLETED "Processo concluído!" +#define STRING_PROCESS_ABORTED "Processo cancelado!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "SD TFT" - #define STRING_TFT_SD_INSERTED "SD card inserido" - #define STRING_TFT_SD_REMOVED "SD card removido" - #define STRING_TFT_SD_NOT_DETECTED "SD card não detectado!" - #define STRING_TFT_SD_READ_ERROR "Erro de leitura do SD card!" - #define STRING_TFT_USB "Pen Drive" - #define STRING_TFT_USB_INSERTED "Pen drive inserido" - #define STRING_TFT_USB_REMOVED "Pen drive removido" - #define STRING_TFT_USB_NOT_DETECTED "Pen drive não detectado!" - #define STRING_TFT_USB_READ_ERROR "Erro de leitura do pen drive!" - #define STRING_ONBOARD_SD "SD Onboard" - #define STRING_ONBOARD_USB "USB Onboard" - #define STRING_ONBOARD_SD_READ_ERROR "Erro de leitura do onboard media!" - #define STRING_FILAMENT_RUNOUT "Filamento acabou!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "SD TFT" +#define STRING_TFT_SD_INSERTED "SD card inserido" +#define STRING_TFT_SD_REMOVED "SD card removido" +#define STRING_TFT_SD_NOT_DETECTED "SD card não detectado!" +#define STRING_TFT_SD_READ_ERROR "Erro de leitura do SD card!" +#define STRING_TFT_USB "Pen Drive" +#define STRING_TFT_USB_INSERTED "Pen drive inserido" +#define STRING_TFT_USB_REMOVED "Pen drive removido" +#define STRING_TFT_USB_NOT_DETECTED "Pen drive não detectado!" +#define STRING_TFT_USB_READ_ERROR "Erro de leitura do pen drive!" +#define STRING_ONBOARD_SD "SD Onboard" +#define STRING_ONBOARD_USB "USB Onboard" +#define STRING_ONBOARD_SD_READ_ERROR "Erro de leitura do onboard media!" +#define STRING_FILAMENT_RUNOUT "Filamento acabou!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Des. Motor" - #define STRING_XY_UNLOCK "Desliga XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Des. Motor" +#define STRING_XY_UNLOCK "Desliga XY" - #define STRING_START_PRINT "Inicia impressão:\n%s?" - #define STRING_STOP_PRINT "Para impressão?" - #define STRING_IS_PAUSE "Ação não permitida durante a impressão,\n\nPausa impressão?" - #define STRING_M0_PAUSE "Pausado pelo comando M0" +#define STRING_START_PRINT "Inicia impressão:\n%s?" +#define STRING_STOP_PRINT "Para impressão?" +#define STRING_IS_PAUSE "Ação não permitida durante a impressão,\n\nPausa impressão?" +#define STRING_M0_PAUSE "Pausado pelo comando M0" - #define STRING_TEST "Teste" - #define STRING_DEPLOY "Lança" - #define STRING_STOW "Retrai" - #define STRING_REPEAT "Repete" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Teste" +#define STRING_DEPLOY "Lança" +#define STRING_STOW "Retrai" +#define STRING_REPEAT "Repete" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Hotend" - #define STRING_BED "Mesa" - #define STRING_CHAMBER "Chamber" - #define STRING_FAN "Fan" +// Printer Tools +#define STRING_NOZZLE "Hotend" +#define STRING_BED "Mesa" +#define STRING_CHAMBER "Chamber" +#define STRING_FAN "Fan" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 seg." - #define STRING_10_SECONDS "10 seg." - #define STRING_30_SECONDS "30 seg." - #define STRING_60_SECONDS "1 min." - #define STRING_120_SECONDS "2 min." - #define STRING_300_SECONDS "5 min." +#define STRING_5_SECONDS "5 seg." +#define STRING_10_SECONDS "10 seg." +#define STRING_30_SECONDS "30 seg." +#define STRING_60_SECONDS "1 min." +#define STRING_120_SECONDS "2 min." +#define STRING_300_SECONDS "5 min." - // Colors - #define STRING_WHITE "Branco" - #define STRING_BLACK "Preto" - #define STRING_BLUE "Azul" - #define STRING_RED "Vermelho" - #define STRING_GREEN "Verde" - #define STRING_CYAN "Ciano" - #define STRING_YELLOW "Amarelo" - #define STRING_BROWN "Marrom" - #define STRING_GRAY "Cinza" - #define STRING_ORANGE "Laranja" - #define STRING_INDIGO "Indigo" - #define STRING_VIOLET "Roxo" - #define STRING_MAGENTA "Magenta" - #define STRING_PURPLE "Roxo" - #define STRING_LIME "Lima" - #define STRING_DARKBLUE "Azul Escuro" - #define STRING_DARKGREEN "Verde Escuro" - #define STRING_DARKGRAY "Cinza Escuro" +// Colors +#define STRING_WHITE "Branco" +#define STRING_BLACK "Preto" +#define STRING_BLUE "Azul" +#define STRING_RED "Vermelho" +#define STRING_GREEN "Verde" +#define STRING_CYAN "Ciano" +#define STRING_YELLOW "Amarelo" +#define STRING_BROWN "Marrom" +#define STRING_GRAY "Cinza" +#define STRING_ORANGE "Laranja" +#define STRING_INDIGO "Indigo" +#define STRING_VIOLET "Roxo" +#define STRING_MAGENTA "Magenta" +#define STRING_PURPLE "Roxo" +#define STRING_LIME "Lima" +#define STRING_DARKBLUE "Azul Escuro" +#define STRING_DARKGREEN "Verde Escuro" +#define STRING_DARKGRAY "Cinza Escuro" - // Menus - #define STRING_HEAT "Aquece" - #define STRING_MOVE "Mover" - #define STRING_HOME "Home" - #define STRING_PRINT "Imprimir" - #define STRING_EXTRUDE "Extrusão" - #define STRING_SETTINGS "Configs." - #define STRING_SCREEN_SETTINGS "Tela" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Som" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Impressora" - #define STRING_PARAMETER_SETTINGS "Parâmetros" - #define STRING_FEATURE_SETTINGS "Config." - #define STRING_CONNECTION_SETTINGS "Conexões" - #define STRING_SERIAL_PORTS "Porta S." - #define STRING_BAUDRATE "Baudrate" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "Cor LED" - #define STRING_RGB_OFF "Des. LED" - #define STRING_TERMINAL "Console" - #define STRING_LEVELING "Calibrar" - #define STRING_POINT_1 "Ponto 1" - #define STRING_POINT_2 "Ponto 2" - #define STRING_POINT_3 "Ponto 3" - #define STRING_POINT_4 "Ponto 4" - #define STRING_POINT_5 "Ponto 5" - #define STRING_BED_LEVELING "ABL" - #define STRING_BL_COMPLETE "Nivelamento automático concluído" - #define STRING_BL_SMART_FILL "Alguns pontos ausentes. Malha reconstruída com função inteligente.\n\nNota:Lembre-se de salvar!"// PONTOS DO ABL AUSENTES ? - #define STRING_BL_ENABLE "ABL: On" - #define STRING_BL_DISABLE "ABL: Off" - #define STRING_ABL "ABL" - #define STRING_BBL "BBL" - #define STRING_UBL "UBL" - #define STRING_MBL "MBL" - #define STRING_MBL_SETTINGS "Nivelamento da malha da mesa" - #define STRING_ABL_SETTINGS "Nivelamento automático da mesa" - #define STRING_ABL_SETTINGS_BBL "Bilinear ABL" - #define STRING_ABL_SETTINGS_UBL "ABL unificado" - #define STRING_ABL_SETTINGS_UBL_SAVE "Salvar no slot" - #define STRING_ABL_SETTINGS_UBL_LOAD "Carregar do 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 "Salva MESH na EEPROM para ler após inicialização?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "Cantos" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Distância" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Carrega/Descarrega" - #define STRING_LOAD_UNLOAD_SHORT "Filamento" - #define STRING_TOUCHSCREEN_ADJUST "Cal. Touch" - #define STRING_MORE "Mais" - #define STRING_SCREEN_INFO "Info. MEM." - #define STRING_BG_COLOR "Cor de fundo" - #define STRING_FONT_COLOR "Cor da fonte" - #define STRING_PERCENTAGE "Porcentagem" - #define STRING_PERCENTAGE_SPEED "Velo." - #define STRING_PERCENTAGE_FLOW "Fluxo" - #define STRING_BABYSTEP "Babystep" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Calibragem Touch Screen" - #define STRING_ADJUST_INFO "Pressione nos pontos vermelhos" - #define STRING_ADJUST_OK "Ajuste concluído!" - #define STRING_ADJUST_FAILED "O ajuste falhou. Tente novamente!" - #define STRING_UNIFIEDMOVE "Movimento" - #define STRING_UNIFIEDHEAT "TEMP/FAN" - #define STRING_TOUCH_TO_EXIT "Toque p/ sair" - #define STRING_MAINMENU "Menu" - #define STRING_TUNING "Ajuste"// TRADUZIR MELHOR - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "Auto Ajuste do MPC" - #define STRING_MPC_METHOD "Método:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "Auto Ajuste do PID" - #define STRING_TUNE_START_INFO "O Auto Ajuste começará. Isso pode demorar. \nContinua?" - #define STRING_TUNE_EXTRUDER "Passos/mm E" - #define STRING_TUNE_EXT_EXTRUDE_100 "Extr. 100mm" - #define STRING_TUNE_EXT_TEMP "Extr. ajuste | Aquece" - #define STRING_TUNE_EXT_MARK120MM "Marque o filamento em 120mm \nPressione '%s' quando estiver pronto \nMeça o comprimento marcado após a extrusão" - #define STRING_TUNE_EXT_ADJ_ESTEPS "Ajustar passos/mm E" - #define STRING_TUNE_EXT_ESTEPS_SAVED "Novos passos/mm E definidos\nNão se esqueça de salvar na EEPROM\nNovo valor: %0.2f" - #define STRING_TUNE_EXT_MEASURED "Comprimento restante:" - #define STRING_TUNE_EXT_OLD_ESTEP "Passos/mm E: %0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "Novos passos/mm E: %0.2f" - #define STRING_NOTIFICATIONS "Notificações" - #define STRING_MESH_EDITOR "Edita Malha" - #define STRING_MESH_TUNER "Ajuste Malha" - #define STRING_CASE_LIGHT "Luzes Gabinete" - #define STRING_LOAD_STARTED "Carregando filamento... \nAguarde até terminar." - #define STRING_UNLOAD_STARTED "Descarregando filamento... \nAguarde até terminar." - #define STRING_HEATERS_ON "Alguns aquecedores ainda estão ligados \nDeseja desligá-los?" - #define STRING_PRINT_FINISHED "Impressão concluída." - #define STRING_MAIN_SCREEN "Menu" - #define STRING_PREVIOUS_PRINT_DATA "Última impressão" - #define STRING_PRINT_TIME "Tempo de impressão: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nTamanho do filamento: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nPeso do filamento: %1.2fg" - #define STRING_FILAMENT_COST "\nCusto do filamento: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nSem estatística de filamento." - #define STRING_CLICK_FOR_MORE "Clique p/ resumo" - #define STRING_EXT_TEMPLOW "A temperatura HOTEND está abaixo da temperatura mínima (%d℃)." - #define STRING_HEAT_HOTEND "Aquecer HOTEND para %d℃" - #define STRING_DESIRED_TEMPLOW "Temperatura do HOTEND está abaixo da temperatura programada (%d℃)." - #define STRING_WAIT_HEAT_UP "Aguardando aquecer." - #define STRING_Z_ALIGN "Alinhar Z" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Validação de malha" - #define STRING_CONNECT_PROBE "Abaixe a sonda antes de iniciar o ajuste. Levante após terminar." - #define STRING_DISCONNECT_PROBE "Certifique-se de que a sonda esteja levantada antes de usar este recurso." - #define STRING_CALIBRATION "Calibrar" +// Menus +#define STRING_HEAT "Aquece" +#define STRING_MOVE "Mover" +#define STRING_HOME "Home" +#define STRING_PRINT "Imprimir" +#define STRING_EXTRUDE "Extrusão" +#define STRING_SETTINGS "Configs." +#define STRING_SCREEN_SETTINGS "Tela" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Som" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Impressora" +#define STRING_PARAMETER_SETTINGS "Parâmetros" +#define STRING_FEATURE_SETTINGS "Config." +#define STRING_CONNECTION_SETTINGS "Conexões" +#define STRING_SERIAL_PORTS "Porta S." +#define STRING_BAUDRATE "Baudrate" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "Cor LED" +#define STRING_RGB_OFF "Des. LED" +#define STRING_TERMINAL "Console" +#define STRING_LEVELING "Calibrar" +#define STRING_POINT_1 "Ponto 1" +#define STRING_POINT_2 "Ponto 2" +#define STRING_POINT_3 "Ponto 3" +#define STRING_POINT_4 "Ponto 4" +#define STRING_POINT_5 "Ponto 5" +#define STRING_BED_LEVELING "ABL" +#define STRING_BL_COMPLETE "Nivelamento automático concluído" +#define STRING_BL_SMART_FILL "Alguns pontos ausentes. Malha reconstruída com função inteligente.\n\nNota:Lembre-se de salvar!"// PONTOS DO ABL AUSENTES ? +#define STRING_BL_ENABLE "ABL: On" +#define STRING_BL_DISABLE "ABL: Off" +#define STRING_ABL "ABL" +#define STRING_BBL "BBL" +#define STRING_UBL "UBL" +#define STRING_MBL "MBL" +#define STRING_MBL_SETTINGS "Nivelamento da malha da mesa" +#define STRING_ABL_SETTINGS "Nivelamento automático da mesa" +#define STRING_ABL_SETTINGS_BBL "Bilinear ABL" +#define STRING_ABL_SETTINGS_UBL "ABL unificado" +#define STRING_ABL_SETTINGS_UBL_SAVE "Salvar no slot" +#define STRING_ABL_SETTINGS_UBL_LOAD "Carregar do 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 "Salva MESH na EEPROM para ler após inicialização?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "Cantos" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Distância" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Carrega/Descarrega" +#define STRING_LOAD_UNLOAD_SHORT "Filamento" +#define STRING_TOUCHSCREEN_ADJUST "Cal. Touch" +#define STRING_MORE "Mais" +#define STRING_SCREEN_INFO "Info. MEM." +#define STRING_BG_COLOR "Cor de fundo" +#define STRING_FONT_COLOR "Cor da fonte" +#define STRING_PERCENTAGE "Porcentagem" +#define STRING_PERCENTAGE_SPEED "Velo." +#define STRING_PERCENTAGE_FLOW "Fluxo" +#define STRING_BABYSTEP "Babystep" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Calibragem Touch Screen" +#define STRING_ADJUST_INFO "Pressione nos pontos vermelhos" +#define STRING_ADJUST_OK "Ajuste concluído!" +#define STRING_ADJUST_FAILED "O ajuste falhou. Tente novamente!" +#define STRING_UNIFIEDMOVE "Movimento" +#define STRING_UNIFIEDHEAT "TEMP/FAN" +#define STRING_TOUCH_TO_EXIT "Toque p/ sair" +#define STRING_MAINMENU "Menu" +#define STRING_TUNING "Ajuste"// TRADUZIR MELHOR +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "Auto Ajuste do MPC" +#define STRING_MPC_METHOD "Método:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "Auto Ajuste do PID" +#define STRING_TUNE_START_INFO "O Auto Ajuste começará. Isso pode demorar. \nContinua?" +#define STRING_TUNE_EXTRUDER "Passos/mm E" +#define STRING_TUNE_EXT_EXTRUDE_100 "Extr. 100mm" +#define STRING_TUNE_EXT_TEMP "Extr. ajuste | Aquece" +#define STRING_TUNE_EXT_MARK120MM "Marque o filamento em 120mm \nPressione '%s' quando estiver pronto \nMeça o comprimento marcado após a extrusão" +#define STRING_TUNE_EXT_ADJ_ESTEPS "Ajustar passos/mm E" +#define STRING_TUNE_EXT_ESTEPS_SAVED "Novos passos/mm E definidos\nNão se esqueça de salvar na EEPROM\nNovo valor: %0.2f" +#define STRING_TUNE_EXT_MEASURED "Comprimento restante:" +#define STRING_TUNE_EXT_OLD_ESTEP "Passos/mm E: %0.2f" +#define STRING_TUNE_EXT_NEW_ESTEP "Novos passos/mm E: %0.2f" +#define STRING_NOTIFICATIONS "Notificações" +#define STRING_MESH_EDITOR "Edita Malha" +#define STRING_MESH_TUNER "Ajuste Malha" +#define STRING_CASE_LIGHT "Luzes Gabinete" +#define STRING_LOAD_STARTED "Carregando filamento... \nAguarde até terminar." +#define STRING_UNLOAD_STARTED "Descarregando filamento... \nAguarde até terminar." +#define STRING_HEATERS_ON "Alguns aquecedores ainda estão ligados \nDeseja desligá-los?" +#define STRING_PRINT_FINISHED "Impressão concluída." +#define STRING_MAIN_SCREEN "Menu" +#define STRING_PREVIOUS_PRINT_DATA "Última impressão" +#define STRING_PRINT_TIME "Tempo de impressão: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nTamanho do filamento: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nPeso do filamento: %1.2fg" +#define STRING_FILAMENT_COST "\nCusto do filamento: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nSem estatística de filamento." +#define STRING_CLICK_FOR_MORE "Clique p/ resumo" +#define STRING_EXT_TEMPLOW "A temperatura HOTEND está abaixo da temperatura mínima (%d℃)." +#define STRING_HEAT_HOTEND "Aquecer HOTEND para %d℃" +#define STRING_DESIRED_TEMPLOW "Temperatura do HOTEND está abaixo da temperatura programada (%d℃)." +#define STRING_WAIT_HEAT_UP "Aguardando aquecer." +#define STRING_Z_ALIGN "Alinhar Z" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Validação de malha" +#define STRING_CONNECT_PROBE "Abaixe a sonda antes de iniciar o ajuste. Levante após terminar." +#define STRING_DISCONNECT_PROBE "Certifique-se de que a sonda esteja levantada antes de usar este recurso." +#define STRING_CALIBRATION "Calibrar" #endif diff --git a/TFT/src/User/API/Language/language_ca.h b/TFT/src/User/API/Language/language_ca.h index 510433c06..79bdac9a4 100644 --- a/TFT/src/User/API/Language/language_ca.h +++ b/TFT/src/User/API/Language/language_ca.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_CA_H_ #define _LANGUAGE_CA_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Català" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "Rotar" - #define STRING_ACK_NOTIFICATION "ACK notification style" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "Mode de visualització de fitxers" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" - #define STRING_PERSISTENT_INFO "Informació d'estat persistent" - #define STRING_TERMINAL_ACK "Mostra ACK a la terminal" - #define STRING_SERIAL_ALWAYS_ON "Serial Always ON" - #define STRING_MARLIN_FULLSCREEN "Mode Marlin a pantalla completa" - #define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "Velocitat de moviment(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "Auto shutdown" - #define STRING_FIL_RUNOUT "Sensor de filament" - #define STRING_PL_RECOVERY "Recuperació de pèrdua d’energia" - #define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" - #define STRING_BTT_MINI_UPS "BTT UPS Support" - #define STRING_TOUCH_SOUND "Touch sounds" - #define STRING_TOAST_SOUND "Toast Notifications" - #define STRING_ALERT_SOUND "Popups and Alerts" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "Lluminositat" - #define STRING_LCD_IDLE_BRIGHTNESS "Dim Lluminositat LCD" - #define STRING_LCD_IDLE_TIME "Temporitzador inactiu LCD" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "Perilla rotativa LED" - #define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" - #define STRING_START_GCODE_ENABLED "Enviar Gcode inicial" - #define STRING_END_GCODE_ENABLED "Enviar Gcode final" - #define STRING_CANCEL_GCODE_ENABLED "Cancel · lar Gcode" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Català" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "Rotar" +#define STRING_ACK_NOTIFICATION "ACK notification style" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "Mode de visualització de fitxers" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" +#define STRING_PERSISTENT_INFO "Informació d'estat persistent" +#define STRING_TERMINAL_ACK "Mostra ACK a la terminal" +#define STRING_SERIAL_ALWAYS_ON "Serial Always ON" +#define STRING_MARLIN_FULLSCREEN "Mode Marlin a pantalla completa" +#define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "Velocitat de moviment(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "Auto shutdown" +#define STRING_FIL_RUNOUT "Sensor de filament" +#define STRING_PL_RECOVERY "Recuperació de pèrdua d’energia" +#define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" +#define STRING_BTT_MINI_UPS "BTT UPS Support" +#define STRING_TOUCH_SOUND "Touch sounds" +#define STRING_TOAST_SOUND "Toast Notifications" +#define STRING_ALERT_SOUND "Popups and Alerts" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "Lluminositat" +#define STRING_LCD_IDLE_BRIGHTNESS "Dim Lluminositat LCD" +#define STRING_LCD_IDLE_TIME "Temporitzador inactiu LCD" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "Perilla rotativa LED" +#define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" +#define STRING_START_GCODE_ENABLED "Enviar Gcode inicial" +#define STRING_END_GCODE_ENABLED "Enviar Gcode final" +#define STRING_CANCEL_GCODE_ENABLED "Cancel · lar Gcode" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Passos per MM" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "Max Acceleració" - #define STRING_MAXFEEDRATE "Max Feed Rate" - #define STRING_ACCELERATION "Acceleració" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home Offset" - #define STRING_FWRETRACT "Retracció de FW" - #define STRING_FWRECOVER "Recuperació de Retracció de FW" - #define STRING_RETRACT_AUTO "Auto Firmware Retract" - #define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Sonda Compensar" - #define STRING_LIN_ADVANCE "Avanç Lineal" - #define STRING_CURRENT_SETTING "Corrent del Driver (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "Sensibilitat al topall TMC" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Passos per MM" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "Max Acceleració" +#define STRING_MAXFEEDRATE "Max Feed Rate" +#define STRING_ACCELERATION "Acceleració" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home Offset" +#define STRING_FWRETRACT "Retracció de FW" +#define STRING_FWRECOVER "Recuperació de Retracció de FW" +#define STRING_RETRACT_AUTO "Auto Firmware Retract" +#define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Sonda Compensar" +#define STRING_LIN_ADVANCE "Avanç Lineal" +#define STRING_CURRENT_SETTING "Corrent del Driver (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "Sensibilitat al topall TMC" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Acceleració Impressió" - #define STRING_RETRACT_ACCELERATION "Acceleració Retracció" - #define STRING_TRAVEL_ACCELERATION "Acceleració Viatge" - #define STRING_RETRACT_LENGTH "Longitud Retracció" - #define STRING_RETRACT_SWAP_LENGTH "Distància retracció intercanvi" - #define STRING_RETRACT_FEEDRATE "Velocitat Retracció" - #define STRING_RETRACT_Z_LIFT "Z aixecament a la retracció" - #define STRING_RECOVER_LENGTH "Distancia recuperació extra" - #define STRING_SWAP_RECOVER_LENGTH "Distancia recuperació intercanvi extra" - #define STRING_RECOVER_FEEDRATE "Velocitat recuperació" - #define STRING_SWAP_RECOVER_FEEDRATE "Velocitat recuperació intercanvi" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Acceleració Impressió" +#define STRING_RETRACT_ACCELERATION "Acceleració Retracció" +#define STRING_TRAVEL_ACCELERATION "Acceleració Viatge" +#define STRING_RETRACT_LENGTH "Longitud Retracció" +#define STRING_RETRACT_SWAP_LENGTH "Distància retracció intercanvi" +#define STRING_RETRACT_FEEDRATE "Velocitat Retracció" +#define STRING_RETRACT_Z_LIFT "Z aixecament a la retracció" +#define STRING_RECOVER_LENGTH "Distancia recuperació extra" +#define STRING_SWAP_RECOVER_LENGTH "Distancia recuperació intercanvi extra" +#define STRING_RECOVER_FEEDRATE "Velocitat recuperació" +#define STRING_SWAP_RECOVER_FEEDRATE "Velocitat recuperació intercanvi" - // Save / Load - #define STRING_SAVE "Gravar" - #define STRING_RESTORE "Restore" - #define STRING_RESET "Reset" - #define STRING_EEPROM_SAVE_INFO "Desa la configuració de la impressora a la EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Carregar la configuració de EEPROM?" - #define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" - #define STRING_SETTINGS_SAVE "Save settings" - #define STRING_SETTINGS_RESTORE "Restaura la configuració" - #define STRING_SETTINGS_RESET "Restableix la configuració" - #define STRING_SETTINGS_RESET_INFO "Restableix tota la configuració a valors predeterminats?" - #define STRING_SETTINGS_RESET_DONE "Restableix tota la configuració aconseguit.\nreinicieu el dispositiu." +// Save / Load +#define STRING_SAVE "Gravar" +#define STRING_RESTORE "Restore" +#define STRING_RESET "Reset" +#define STRING_EEPROM_SAVE_INFO "Desa la configuració de la impressora a la EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Carregar la configuració de EEPROM?" +#define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" +#define STRING_SETTINGS_SAVE "Save settings" +#define STRING_SETTINGS_RESTORE "Restaura la configuració" +#define STRING_SETTINGS_RESET "Restableix la configuració" +#define STRING_SETTINGS_RESET_INFO "Restableix tota la configuració a valors predeterminats?" +#define STRING_SETTINGS_RESET_DONE "Restableix tota la configuració aconseguit.\nreinicieu el dispositiu." - // Navigation Buttons - #define STRING_PAGE_UP "Retrocedir" - #define STRING_PAGE_DOWN "Avançar" - #define STRING_UP "Amunt" - #define STRING_DOWN "Avall" - #define STRING_NEXT "Next" - #define STRING_BACK "Tornar" +// Navigation Buttons +#define STRING_PAGE_UP "Retrocedir" +#define STRING_PAGE_DOWN "Avançar" +#define STRING_UP "Amunt" +#define STRING_DOWN "Avall" +#define STRING_NEXT "Next" +#define STRING_BACK "Tornar" - // Value Buttons - #define STRING_INC "Augmentar" - #define STRING_DEC "Disminur" - #define STRING_LOAD "Carregar" - #define STRING_UNLOAD "Descarregar" - #define STRING_ON "ON" - #define STRING_OFF "OFF" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Lent" - #define STRING_NORMAL "Normal" - #define STRING_FAST "Ràpid" - #define STRING_ZERO "Zero" - #define STRING_HALF "Meitat" - #define STRING_FULL "Màxim" - #define STRING_CUSTOM "Personalitzar" - #define STRING_CLEAR "Clear" - #define STRING_DEFAULT "Default" +// Value Buttons +#define STRING_INC "Augmentar" +#define STRING_DEC "Disminur" +#define STRING_LOAD "Carregar" +#define STRING_UNLOAD "Descarregar" +#define STRING_ON "ON" +#define STRING_OFF "OFF" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Lent" +#define STRING_NORMAL "Normal" +#define STRING_FAST "Ràpid" +#define STRING_ZERO "Zero" +#define STRING_HALF "Meitat" +#define STRING_FULL "Màxim" +#define STRING_CUSTOM "Personalitzar" +#define STRING_CLEAR "Clear" +#define STRING_DEFAULT "Default" - // Action Buttons - #define STRING_START "Començar" - #define STRING_STOP "Parar" - #define STRING_PAUSE "Pausar" - #define STRING_RESUME "Continuar" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Desconnectar" - #define STRING_SHUT_DOWN "Apagar" - #define STRING_FORCE_SHUT_DOWN "Forçar Apagat" - #define STRING_EMERGENCYSTOP "PARADA EMERGENCIA" - #define STRING_PREHEAT "Preescalfar" - #define STRING_PREHEAT_BOTH "Tots dos" - #define STRING_COOLDOWN "Refredar" +// Action Buttons +#define STRING_START "Començar" +#define STRING_STOP "Parar" +#define STRING_PAUSE "Pausar" +#define STRING_RESUME "Continuar" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Desconnectar" +#define STRING_SHUT_DOWN "Apagar" +#define STRING_FORCE_SHUT_DOWN "Forçar Apagat" +#define STRING_EMERGENCYSTOP "PARADA EMERGENCIA" +#define STRING_PREHEAT "Preescalfar" +#define STRING_PREHEAT_BOTH "Tots dos" +#define STRING_COOLDOWN "Refredar" - // Dialog Buttons - #define STRING_CONFIRM "Confirmar" - #define STRING_CANCEL "Cancel · lar" - #define STRING_WARNING "Advertència" - #define STRING_CONTINUE "Continuar" - #define STRING_CONFIRMATION "Estàs segur?" +// Dialog Buttons +#define STRING_CONFIRM "Confirmar" +#define STRING_CANCEL "Cancel · lar" +#define STRING_WARNING "Advertència" +#define STRING_CONTINUE "Continuar" +#define STRING_CONFIRMATION "Estàs segur?" - // Process Status - #define STRING_STATUS "Estat" - #define STRING_READY "A punt!!" - #define STRING_BUSY "Processament ocupat, si us plau esperi ..." - #define STRING_LOADING "Carregant ..." - #define STRING_UNCONNECTED "No hi ha comunicació amb impressora!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "Estat" +#define STRING_READY "A punt!!" +#define STRING_BUSY "Processament ocupat, si us plau esperi ..." +#define STRING_LOADING "Carregant ..." +#define STRING_UNCONNECTED "No hi ha comunicació amb impressora!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "Informació" - #define STRING_INVALID_VALUE "Invalid value(s)" - #define STRING_TIMEOUT_REACHED "Timeout reached!" - #define STRING_DISCONNECT_INFO "Ara pot controlar la impressora des del seu ordinador!" - #define STRING_SHUTTING_DOWN "Apagant..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Espereu que la temperatura del hotend sigui inferior a %d℃" // Wait for the temperature of hotend to be lower than 50℃ - #define STRING_POWER_FAILED "¿Continuar imprimint?" - #define STRING_PROCESS_COMPLETED "Process completed!" - #define STRING_PROCESS_ABORTED "Process aborted!" +// Process Info +#define STRING_INFO "Informació" +#define STRING_INVALID_VALUE "Invalid value(s)" +#define STRING_TIMEOUT_REACHED "Timeout reached!" +#define STRING_DISCONNECT_INFO "Ara pot controlar la impressora des del seu ordinador!" +#define STRING_SHUTTING_DOWN "Apagant..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Espereu que la temperatura del hotend sigui inferior a %d℃" // Wait for the temperature of hotend to be lower than 50℃ +#define STRING_POWER_FAILED "¿Continuar imprimint?" +#define STRING_PROCESS_COMPLETED "Process completed!" +#define STRING_PROCESS_ABORTED "Process aborted!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "SD TFT" - #define STRING_TFT_SD_INSERTED "¡Targeta inserida" - #define STRING_TFT_SD_REMOVED "¡Targeta extreta" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "Error a la targeta SD!" - #define STRING_TFT_USB "Pendrive" - #define STRING_TFT_USB_INSERTED "¡Pendrive inserit" - #define STRING_TFT_USB_REMOVED "¡Pendrive extret" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "¡Error al pendrive!" - #define STRING_ONBOARD_SD "SD Placa" - #define STRING_ONBOARD_USB "USB Placa" - #define STRING_ONBOARD_SD_READ_ERROR "Error a la targeta SD de la placa!" - #define STRING_FILAMENT_RUNOUT "¡Filament esgotat!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "SD TFT" +#define STRING_TFT_SD_INSERTED "¡Targeta inserida" +#define STRING_TFT_SD_REMOVED "¡Targeta extreta" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "Error a la targeta SD!" +#define STRING_TFT_USB "Pendrive" +#define STRING_TFT_USB_INSERTED "¡Pendrive inserit" +#define STRING_TFT_USB_REMOVED "¡Pendrive extret" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "¡Error al pendrive!" +#define STRING_ONBOARD_SD "SD Placa" +#define STRING_ONBOARD_USB "USB Placa" +#define STRING_ONBOARD_SD_READ_ERROR "Error a la targeta SD de la placa!" +#define STRING_FILAMENT_RUNOUT "¡Filament esgotat!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Disarm All" - #define STRING_XY_UNLOCK "Disarm XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Disarm All" +#define STRING_XY_UNLOCK "Disarm XY" - #define STRING_START_PRINT "Comenceu a imprimir:\n%s?" - #define STRING_STOP_PRINT "Voleu aturar la impressió?" - #define STRING_IS_PAUSE "No es pot extruir al imprimir,¿\nPausar la impressió?" - #define STRING_M0_PAUSE "En pausa per l'ordre M0" +#define STRING_START_PRINT "Comenceu a imprimir:\n%s?" +#define STRING_STOP_PRINT "Voleu aturar la impressió?" +#define STRING_IS_PAUSE "No es pot extruir al imprimir,¿\nPausar la impressió?" +#define STRING_M0_PAUSE "En pausa per l'ordre M0" - #define STRING_TEST "Provar" - #define STRING_DEPLOY "Desplegar" - #define STRING_STOW "Plegar" - #define STRING_REPEAT "Repetir" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Provar" +#define STRING_DEPLOY "Desplegar" +#define STRING_STOW "Plegar" +#define STRING_REPEAT "Repetir" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Nozzle" - #define STRING_BED "Llit" - #define STRING_CHAMBER "Cambra" - #define STRING_FAN "Ventilar" +// Printer Tools +#define STRING_NOZZLE "Nozzle" +#define STRING_BED "Llit" +#define STRING_CHAMBER "Cambra" +#define STRING_FAN "Ventilar" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 Sec." - #define STRING_10_SECONDS "10 Sec." - #define STRING_30_SECONDS "30 Sec." - #define STRING_60_SECONDS "1 Min." - #define STRING_120_SECONDS "2 Min." - #define STRING_300_SECONDS "5 Min." +#define STRING_5_SECONDS "5 Sec." +#define STRING_10_SECONDS "10 Sec." +#define STRING_30_SECONDS "30 Sec." +#define STRING_60_SECONDS "1 Min." +#define STRING_120_SECONDS "2 Min." +#define STRING_300_SECONDS "5 Min." - // Colors - #define STRING_WHITE "Blanc" - #define STRING_BLACK "Negre" - #define STRING_BLUE "Blau" - #define STRING_RED "Vermell" - #define STRING_GREEN "Verd" - #define STRING_CYAN "Cian" - #define STRING_YELLOW "groc" - #define STRING_BROWN "marró" - #define STRING_GRAY "Gris" - #define STRING_ORANGE "taronja" - #define STRING_INDIGO "Índigo" - #define STRING_VIOLET "violeta" - #define STRING_MAGENTA "Magenta" - #define STRING_PURPLE "Porpra" - #define STRING_LIME "Llima" - #define STRING_DARKBLUE "Blau fosc" - #define STRING_DARKGREEN "Verd fosc" - #define STRING_DARKGRAY "Gris fosc" +// Colors +#define STRING_WHITE "Blanc" +#define STRING_BLACK "Negre" +#define STRING_BLUE "Blau" +#define STRING_RED "Vermell" +#define STRING_GREEN "Verd" +#define STRING_CYAN "Cian" +#define STRING_YELLOW "groc" +#define STRING_BROWN "marró" +#define STRING_GRAY "Gris" +#define STRING_ORANGE "taronja" +#define STRING_INDIGO "Índigo" +#define STRING_VIOLET "violeta" +#define STRING_MAGENTA "Magenta" +#define STRING_PURPLE "Porpra" +#define STRING_LIME "Llima" +#define STRING_DARKBLUE "Blau fosc" +#define STRING_DARKGREEN "Verd fosc" +#define STRING_DARKGRAY "Gris fosc" - // Menus - #define STRING_HEAT "Escalfar" - #define STRING_MOVE "Moure" - #define STRING_HOME "Origen" - #define STRING_PRINT "Imprimir" - #define STRING_EXTRUDE "Extruir" - #define STRING_SETTINGS "Configura" - #define STRING_SCREEN_SETTINGS "Pantalla" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Sound" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Màquina" - #define STRING_PARAMETER_SETTINGS "Paràmetre" - #define STRING_FEATURE_SETTINGS "Afegits" - #define STRING_CONNECTION_SETTINGS "Connection" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "Velocitat de transmissió" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "Color LED" - #define STRING_RGB_OFF "Apagar LED" - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "Anivellar" - #define STRING_POINT_1 "Punt 1" - #define STRING_POINT_2 "Punt 2" - #define STRING_POINT_3 "Punt 3" - #define STRING_POINT_4 "Punt 4" - #define STRING_POINT_5 "Punt 5" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Nivellat del llit completat" - #define STRING_BL_SMART_FILL "Falten punts de prova s'han omplert de forma intel·ligent.\n\nNota: recordeu guardar!" - #define STRING_BL_ENABLE "BL: on" - #define STRING_BL_DISABLE "BL: off" - #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 "Nivellament del llit Bilinear" - #define STRING_ABL_SETTINGS_UBL "Nivellament de llit unificat" - #define STRING_ABL_SETTINGS_UBL_SAVE "Desa a la ranura" - #define STRING_ABL_SETTINGS_UBL_LOAD "Carrega des de la ranura" - #define STRING_ABL_SLOT0 "Ranura 0" - #define STRING_ABL_SLOT1 "Ranura 1" - #define STRING_ABL_SLOT2 "Ranura 2" - #define STRING_ABL_SLOT3 "Ranura 3" - #define STRING_ABL_SLOT_EEPROM "Recordar la ranura per al proper reinici? (Guardar EEPROM)" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Distance" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Load/Unload" // needs translation - #define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation - #define STRING_TOUCHSCREEN_ADJUST "Calibrar" - #define STRING_MORE "Més" - #define STRING_SCREEN_INFO "Informar" - #define STRING_BG_COLOR "Color de fons" - #define STRING_FONT_COLOR "Color de lletra" - #define STRING_PERCENTAGE "Percentatge" - #define STRING_PERCENTAGE_SPEED "Velocitat" - #define STRING_PERCENTAGE_FLOW "Flux" - #define STRING_BABYSTEP "BabyStep" - #define STRING_X_INC "+X" - #define STRING_Y_INC "+Y" - #define STRING_Z_INC "+Z" - #define STRING_X_DEC "-X" - #define STRING_Y_DEC "-Y" - #define STRING_Z_DEC "-Z" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "¡Calibrar la pantalla tàctil" - #define STRING_ADJUST_INFO "Si us plau feu clic al punt vermell" - #define STRING_ADJUST_OK "Ajust correcte" - #define STRING_ADJUST_FAILED "Ajust fallit, si us plau intenteu de nou" - #define STRING_UNIFIEDMOVE "Moviment" - #define STRING_UNIFIEDHEAT "Calor/Ventilador" - #define STRING_TOUCH_TO_EXIT "Toca qualsevol lloc per sortir" - #define STRING_MAINMENU "Menú" - #define STRING_TUNING "Tuning" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC autotune" - #define STRING_MPC_METHOD "Method:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID autotune" - #define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" - #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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" - #define STRING_MESH_EDITOR "Mesh edit" - #define STRING_MESH_TUNER "Mesh tuner" - #define STRING_CASE_LIGHT "Case light" - #define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed - #define STRING_PRINT_FINISHED " Print\n finished" - #define STRING_MAIN_SCREEN "Main" - #define STRING_PREVIOUS_PRINT_DATA "Brief" - #define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament cost: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament data not available." - #define STRING_CLICK_FOR_MORE "Click for summary" - #define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." - #define STRING_HEAT_HOTEND "Heat hotend to %d℃?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "Escalfar" +#define STRING_MOVE "Moure" +#define STRING_HOME "Origen" +#define STRING_PRINT "Imprimir" +#define STRING_EXTRUDE "Extruir" +#define STRING_SETTINGS "Configura" +#define STRING_SCREEN_SETTINGS "Pantalla" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Sound" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Màquina" +#define STRING_PARAMETER_SETTINGS "Paràmetre" +#define STRING_FEATURE_SETTINGS "Afegits" +#define STRING_CONNECTION_SETTINGS "Connection" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "Velocitat de transmissió" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "Color LED" +#define STRING_RGB_OFF "Apagar LED" +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "Anivellar" +#define STRING_POINT_1 "Punt 1" +#define STRING_POINT_2 "Punt 2" +#define STRING_POINT_3 "Punt 3" +#define STRING_POINT_4 "Punt 4" +#define STRING_POINT_5 "Punt 5" +#define STRING_BED_LEVELING "Bed Level" +#define STRING_BL_COMPLETE "Nivellat del llit completat" +#define STRING_BL_SMART_FILL "Falten punts de prova s'han omplert de forma intel·ligent.\n\nNota: recordeu guardar!" +#define STRING_BL_ENABLE "BL: on" +#define STRING_BL_DISABLE "BL: off" +#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 "Nivellament del llit Bilinear" +#define STRING_ABL_SETTINGS_UBL "Nivellament de llit unificat" +#define STRING_ABL_SETTINGS_UBL_SAVE "Desa a la ranura" +#define STRING_ABL_SETTINGS_UBL_LOAD "Carrega des de la ranura" +#define STRING_ABL_SLOT0 "Ranura 0" +#define STRING_ABL_SLOT1 "Ranura 1" +#define STRING_ABL_SLOT2 "Ranura 2" +#define STRING_ABL_SLOT3 "Ranura 3" +#define STRING_ABL_SLOT_EEPROM "Recordar la ranura per al proper reinici? (Guardar EEPROM)" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Distance" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Load/Unload" // needs translation +#define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation +#define STRING_TOUCHSCREEN_ADJUST "Calibrar" +#define STRING_MORE "Més" +#define STRING_SCREEN_INFO "Informar" +#define STRING_BG_COLOR "Color de fons" +#define STRING_FONT_COLOR "Color de lletra" +#define STRING_PERCENTAGE "Percentatge" +#define STRING_PERCENTAGE_SPEED "Velocitat" +#define STRING_PERCENTAGE_FLOW "Flux" +#define STRING_BABYSTEP "BabyStep" +#define STRING_X_INC "+X" +#define STRING_Y_INC "+Y" +#define STRING_Z_INC "+Z" +#define STRING_X_DEC "-X" +#define STRING_Y_DEC "-Y" +#define STRING_Z_DEC "-Z" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "¡Calibrar la pantalla tàctil" +#define STRING_ADJUST_INFO "Si us plau feu clic al punt vermell" +#define STRING_ADJUST_OK "Ajust correcte" +#define STRING_ADJUST_FAILED "Ajust fallit, si us plau intenteu de nou" +#define STRING_UNIFIEDMOVE "Moviment" +#define STRING_UNIFIEDHEAT "Calor/Ventilador" +#define STRING_TOUCH_TO_EXIT "Toca qualsevol lloc per sortir" +#define STRING_MAINMENU "Menú" +#define STRING_TUNING "Tuning" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC autotune" +#define STRING_MPC_METHOD "Method:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID autotune" +#define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" +#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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" +#define STRING_MESH_EDITOR "Mesh edit" +#define STRING_MESH_TUNER "Mesh tuner" +#define STRING_CASE_LIGHT "Case light" +#define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed +#define STRING_PRINT_FINISHED " Print\n finished" +#define STRING_MAIN_SCREEN "Main" +#define STRING_PREVIOUS_PRINT_DATA "Brief" +#define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament cost: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament data not available." +#define STRING_CLICK_FOR_MORE "Click for summary" +#define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." +#define STRING_HEAT_HOTEND "Heat hotend to %d℃?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_cn.h b/TFT/src/User/API/Language/language_cn.h index dba6a6d7d..3cfb070fa 100644 --- a/TFT/src/User/API/Language/language_cn.h +++ b/TFT/src/User/API/Language/language_cn.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_CN_H_ #define _LANGUAGE_CN_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "简体中文" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "模拟M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "Gcode注释解析" - #define STRING_ROTATED_UI "旋转界面" - #define STRING_ACK_NOTIFICATION "ACK 弹窗类型" - #define STRING_FILES_SORT_BY "Gcode排序" - #define STRING_FILES_LIST_MODE "文件浏览列表模式" - #define STRING_FILENAME_EXTENSION "显示文件扩展名" - #define STRING_FAN_SPEED_PERCENTAGE "百分比显示风扇速度" - #define STRING_PERSISTENT_INFO "顶部温度信息" - #define STRING_TERMINAL_ACK "在G-code终端中显示温度信息" - #define STRING_SERIAL_ALWAYS_ON "串口常开" - #define STRING_MARLIN_FULLSCREEN "全屏显示Marlin模式" - #define STRING_MARLIN_SHOW_TITLE "Marlin模式显示标题" - #define STRING_MARLIN_TYPE "Marlin模式类型" - #define STRING_MOVE_SPEED "移动速度(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "自动保存/加载调平数据" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z轴多电机自动对齐" - #define STRING_PS_AUTO_SHUTDOWN "自动关机" - #define STRING_FIL_RUNOUT "耗材检测传感器" - #define STRING_PL_RECOVERY "断电续打" - #define STRING_PL_RECOVERY_HOME "断电续打前归零" - #define STRING_BTT_MINI_UPS "启用BTT UPS" - #define STRING_TOUCH_SOUND "按钮声音" - #define STRING_TOAST_SOUND "Toast 提示声音" - #define STRING_ALERT_SOUND "弹窗和提示声音" - #define STRING_HEATER_SOUND "加热提示音" - #define STRING_LCD_BRIGHTNESS "LCD背光亮度" - #define STRING_LCD_IDLE_BRIGHTNESS "LCD睡眠背光亮度" - #define STRING_LCD_IDLE_TIME "LCD自动睡眠时间" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "旋钮LED颜色" - #define STRING_KNOB_LED_IDLE "旋钮LED自动睡眠" - #define STRING_START_GCODE_ENABLED "执行打印前起始Gcode" - #define STRING_END_GCODE_ENABLED "执行打印后结束Gcode" - #define STRING_CANCEL_GCODE_ENABLED "中断打印Gcode" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "简体中文" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "模拟M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "Gcode注释解析" +#define STRING_ROTATED_UI "旋转界面" +#define STRING_ACK_NOTIFICATION "ACK 弹窗类型" +#define STRING_FILES_SORT_BY "Gcode排序" +#define STRING_FILES_LIST_MODE "文件浏览列表模式" +#define STRING_FILENAME_EXTENSION "显示文件扩展名" +#define STRING_FAN_SPEED_PERCENTAGE "百分比显示风扇速度" +#define STRING_PERSISTENT_INFO "顶部温度信息" +#define STRING_TERMINAL_ACK "在G-code终端中显示温度信息" +#define STRING_SERIAL_ALWAYS_ON "串口常开" +#define STRING_MARLIN_FULLSCREEN "全屏显示Marlin模式" +#define STRING_MARLIN_SHOW_TITLE "Marlin模式显示标题" +#define STRING_MARLIN_TYPE "Marlin模式类型" +#define STRING_MOVE_SPEED "移动速度(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "自动保存/加载调平数据" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z轴多电机自动对齐" +#define STRING_PS_AUTO_SHUTDOWN "自动关机" +#define STRING_FIL_RUNOUT "耗材检测传感器" +#define STRING_PL_RECOVERY "断电续打" +#define STRING_PL_RECOVERY_HOME "断电续打前归零" +#define STRING_BTT_MINI_UPS "启用BTT UPS" +#define STRING_TOUCH_SOUND "按钮声音" +#define STRING_TOAST_SOUND "Toast 提示声音" +#define STRING_ALERT_SOUND "弹窗和提示声音" +#define STRING_HEATER_SOUND "加热提示音" +#define STRING_LCD_BRIGHTNESS "LCD背光亮度" +#define STRING_LCD_IDLE_BRIGHTNESS "LCD睡眠背光亮度" +#define STRING_LCD_IDLE_TIME "LCD自动睡眠时间" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "旋钮LED颜色" +#define STRING_KNOB_LED_IDLE "旋钮LED自动睡眠" +#define STRING_START_GCODE_ENABLED "执行打印前起始Gcode" +#define STRING_END_GCODE_ENABLED "执行打印后结束Gcode" +#define STRING_CANCEL_GCODE_ENABLED "中断打印Gcode" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "电机每毫米脉冲数(Steps/mm)" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "最大加速度" - #define STRING_MAXFEEDRATE "最大移动速度" - #define STRING_ACCELERATION "加速度" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "原点偏移量" - #define STRING_FWRETRACT "FW Retraction" - #define STRING_FWRECOVER "FW Retraction Recover" - #define STRING_RETRACT_AUTO "FW自动回抽" - #define STRING_HOTEND_OFFSET "第2个喷头的偏移量" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "探针偏移量" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "TMC驱动电流设置" - #define STRING_HYBRID_THRESHOLD "TMC混合阈值" - #define STRING_BUMP_SENSITIVITY "TMC堵转检测灵敏度" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "电机每毫米脉冲数(Steps/mm)" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "最大加速度" +#define STRING_MAXFEEDRATE "最大移动速度" +#define STRING_ACCELERATION "加速度" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "原点偏移量" +#define STRING_FWRETRACT "FW Retraction" +#define STRING_FWRECOVER "FW Retraction Recover" +#define STRING_RETRACT_AUTO "FW自动回抽" +#define STRING_HOTEND_OFFSET "第2个喷头的偏移量" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "探针偏移量" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "TMC驱动电流设置" +#define STRING_HYBRID_THRESHOLD "TMC混合阈值" +#define STRING_BUMP_SENSITIVITY "TMC堵转检测灵敏度" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "打印加速度" - #define STRING_RETRACT_ACCELERATION "回抽加速度" - #define STRING_TRAVEL_ACCELERATION "空载加速度" - #define STRING_RETRACT_LENGTH "FW回抽长度" - #define STRING_RETRACT_SWAP_LENGTH "换料时回抽的长度" - #define STRING_RETRACT_FEEDRATE "FW回抽速度" - #define STRING_RETRACT_Z_LIFT "回抽时Z轴抬升的高度" - #define STRING_RECOVER_LENGTH "额外挤出的长度" - #define STRING_SWAP_RECOVER_LENGTH "换料时额外挤出的长度" - #define STRING_RECOVER_FEEDRATE "FW挤出速度" - #define STRING_SWAP_RECOVER_FEEDRATE "换料时挤出的速度" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "打印加速度" +#define STRING_RETRACT_ACCELERATION "回抽加速度" +#define STRING_TRAVEL_ACCELERATION "空载加速度" +#define STRING_RETRACT_LENGTH "FW回抽长度" +#define STRING_RETRACT_SWAP_LENGTH "换料时回抽的长度" +#define STRING_RETRACT_FEEDRATE "FW回抽速度" +#define STRING_RETRACT_Z_LIFT "回抽时Z轴抬升的高度" +#define STRING_RECOVER_LENGTH "额外挤出的长度" +#define STRING_SWAP_RECOVER_LENGTH "换料时额外挤出的长度" +#define STRING_RECOVER_FEEDRATE "FW挤出速度" +#define STRING_SWAP_RECOVER_FEEDRATE "换料时挤出的速度" - // Save / Load - #define STRING_SAVE "保存参数" - #define STRING_RESTORE "恢复" - #define STRING_RESET "重置" - #define STRING_EEPROM_SAVE_INFO "是否保存打印机设置到EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "是否从EEPROM加载设置?" - #define STRING_EEPROM_RESET_INFO "重置EEPROM到出厂设置?" - #define STRING_SETTINGS_SAVE "保存设置" - #define STRING_SETTINGS_RESTORE "保存设置" - #define STRING_SETTINGS_RESET "重置设置" - #define STRING_SETTINGS_RESET_INFO "所有的设置会被重置为默认值, 是否继续?" - #define STRING_SETTINGS_RESET_DONE "重置所有参数成功! 重启设备后生效." +// Save / Load +#define STRING_SAVE "保存参数" +#define STRING_RESTORE "恢复" +#define STRING_RESET "重置" +#define STRING_EEPROM_SAVE_INFO "是否保存打印机设置到EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "是否从EEPROM加载设置?" +#define STRING_EEPROM_RESET_INFO "重置EEPROM到出厂设置?" +#define STRING_SETTINGS_SAVE "保存设置" +#define STRING_SETTINGS_RESTORE "保存设置" +#define STRING_SETTINGS_RESET "重置设置" +#define STRING_SETTINGS_RESET_INFO "所有的设置会被重置为默认值, 是否继续?" +#define STRING_SETTINGS_RESET_DONE "重置所有参数成功! 重启设备后生效." - // Navigation Buttons - #define STRING_PAGE_UP "上一页" - #define STRING_PAGE_DOWN "下一页" - #define STRING_UP "抬升" - #define STRING_DOWN "降低" - #define STRING_NEXT "下一个" - #define STRING_BACK "返回" +// Navigation Buttons +#define STRING_PAGE_UP "上一页" +#define STRING_PAGE_DOWN "下一页" +#define STRING_UP "抬升" +#define STRING_DOWN "降低" +#define STRING_NEXT "下一个" +#define STRING_BACK "返回" - // Value Buttons - #define STRING_INC "增加" - #define STRING_DEC "减少" - #define STRING_LOAD "进料" - #define STRING_UNLOAD "退料" - #define STRING_ON "开启" - #define STRING_OFF "关闭" - #define STRING_AUTO "AUTO" - #define STRING_SMART "智能" - #define STRING_SLOW "慢速" - #define STRING_NORMAL "常速" - #define STRING_FAST "快速" - #define STRING_ZERO "清零" - #define STRING_HALF "半速" - #define STRING_FULL "全速" - #define STRING_CUSTOM "自定义" - #define STRING_CLEAR "清除" - #define STRING_DEFAULT "默认" +// Value Buttons +#define STRING_INC "增加" +#define STRING_DEC "减少" +#define STRING_LOAD "进料" +#define STRING_UNLOAD "退料" +#define STRING_ON "开启" +#define STRING_OFF "关闭" +#define STRING_AUTO "AUTO" +#define STRING_SMART "智能" +#define STRING_SLOW "慢速" +#define STRING_NORMAL "常速" +#define STRING_FAST "快速" +#define STRING_ZERO "清零" +#define STRING_HALF "半速" +#define STRING_FULL "全速" +#define STRING_CUSTOM "自定义" +#define STRING_CLEAR "清除" +#define STRING_DEFAULT "默认" - // Action Buttons - #define STRING_START "开始" - #define STRING_STOP "停止" - #define STRING_PAUSE "暂停" - #define STRING_RESUME "继续" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "断开连接" - #define STRING_SHUT_DOWN "关闭电源" - #define STRING_FORCE_SHUT_DOWN "强制关机" - #define STRING_EMERGENCYSTOP "紧急停止" - #define STRING_PREHEAT "一键预热" - #define STRING_PREHEAT_BOTH "全部" - #define STRING_COOLDOWN "冷却" +// Action Buttons +#define STRING_START "开始" +#define STRING_STOP "停止" +#define STRING_PAUSE "暂停" +#define STRING_RESUME "继续" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "断开连接" +#define STRING_SHUT_DOWN "关闭电源" +#define STRING_FORCE_SHUT_DOWN "强制关机" +#define STRING_EMERGENCYSTOP "紧急停止" +#define STRING_PREHEAT "一键预热" +#define STRING_PREHEAT_BOTH "全部" +#define STRING_COOLDOWN "冷却" - // Dialog Buttons - #define STRING_CONFIRM "确定" - #define STRING_CANCEL "取消" - #define STRING_WARNING "警告" - #define STRING_CONTINUE "继续" - #define STRING_CONFIRMATION "请确认是否执行?" +// Dialog Buttons +#define STRING_CONFIRM "确定" +#define STRING_CANCEL "取消" +#define STRING_WARNING "警告" +#define STRING_CONTINUE "继续" +#define STRING_CONFIRMATION "请确认是否执行?" - // Process Status - #define STRING_STATUS "状态" - #define STRING_READY "准备打印" - #define STRING_BUSY "系统繁忙,请稍候..." - #define STRING_LOADING "加载中..." - #define STRING_UNCONNECTED "未连接到打印机!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "状态" +#define STRING_READY "准备打印" +#define STRING_BUSY "系统繁忙,请稍候..." +#define STRING_LOADING "加载中..." +#define STRING_UNCONNECTED "未连接到打印机!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "提示" - #define STRING_INVALID_VALUE "没有有效的条件!" - #define STRING_TIMEOUT_REACHED "已超时!" - #define STRING_DISCONNECT_INFO "现在可以用电脑控制打印机" - #define STRING_SHUTTING_DOWN "正在关机..." - #define STRING_WAIT_TEMP_SHUT_DOWN "喷头温度正在降温,等待低于%d℃后自动关机" // 喷头温度正在降温,等待低于50℃后自动关机 - #define STRING_POWER_FAILED "是否继续打印?" - #define STRING_PROCESS_COMPLETED "处理已完成!" - #define STRING_PROCESS_ABORTED "处理已被中断!" +// Process Info +#define STRING_INFO "提示" +#define STRING_INVALID_VALUE "没有有效的条件!" +#define STRING_TIMEOUT_REACHED "已超时!" +#define STRING_DISCONNECT_INFO "现在可以用电脑控制打印机" +#define STRING_SHUTTING_DOWN "正在关机..." +#define STRING_WAIT_TEMP_SHUT_DOWN "喷头温度正在降温,等待低于%d℃后自动关机" // 喷头温度正在降温,等待低于50℃后自动关机 +#define STRING_POWER_FAILED "是否继续打印?" +#define STRING_PROCESS_COMPLETED "处理已完成!" +#define STRING_PROCESS_ABORTED "处理已被中断!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT SD" - #define STRING_TFT_SD_INSERTED "SD卡已插入" - #define STRING_TFT_SD_REMOVED "SD卡已拔出" - #define STRING_TFT_SD_NOT_DETECTED "没有检测到SD卡!" - #define STRING_TFT_SD_READ_ERROR "读SD卡出错!" - #define STRING_TFT_USB "U盘" - #define STRING_TFT_USB_INSERTED "U盘已插入" - #define STRING_TFT_USB_REMOVED "U盘已拔出" - #define STRING_TFT_USB_NOT_DETECTED "没有检测到U盘!" - #define STRING_TFT_USB_READ_ERROR "读U盘出错!" - #define STRING_ONBOARD_SD "板载SD" - #define STRING_ONBOARD_USB "板载U盘" - #define STRING_ONBOARD_SD_READ_ERROR "主板SD卡读取失败!" - #define STRING_FILAMENT_RUNOUT "耗材已用尽,请更换耗材!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT SD" +#define STRING_TFT_SD_INSERTED "SD卡已插入" +#define STRING_TFT_SD_REMOVED "SD卡已拔出" +#define STRING_TFT_SD_NOT_DETECTED "没有检测到SD卡!" +#define STRING_TFT_SD_READ_ERROR "读SD卡出错!" +#define STRING_TFT_USB "U盘" +#define STRING_TFT_USB_INSERTED "U盘已插入" +#define STRING_TFT_USB_REMOVED "U盘已拔出" +#define STRING_TFT_USB_NOT_DETECTED "没有检测到U盘!" +#define STRING_TFT_USB_READ_ERROR "读U盘出错!" +#define STRING_ONBOARD_SD "板载SD" +#define STRING_ONBOARD_USB "板载U盘" +#define STRING_ONBOARD_SD_READ_ERROR "主板SD卡读取失败!" +#define STRING_FILAMENT_RUNOUT "耗材已用尽,请更换耗材!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "解锁电机" - #define STRING_XY_UNLOCK "解锁XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "解锁电机" +#define STRING_XY_UNLOCK "解锁XY" - #define STRING_START_PRINT "是否开始打印:\n%s?" - #define STRING_STOP_PRINT "是否停止打印?" - #define STRING_IS_PAUSE "打印中无法挤出耗材, 是否暂停打印?" - #define STRING_M0_PAUSE "M0暂停" +#define STRING_START_PRINT "是否开始打印:\n%s?" +#define STRING_STOP_PRINT "是否停止打印?" +#define STRING_IS_PAUSE "打印中无法挤出耗材, 是否暂停打印?" +#define STRING_M0_PAUSE "M0暂停" - #define STRING_TEST "BL自检" - #define STRING_DEPLOY "探针弹出" - #define STRING_STOW "探针收回" - #define STRING_REPEAT "精度测试" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "BL自检" +#define STRING_DEPLOY "探针弹出" +#define STRING_STOW "探针收回" +#define STRING_REPEAT "精度测试" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "喷头" - #define STRING_BED "热床" - #define STRING_CHAMBER "机箱" - #define STRING_FAN "风扇" +// Printer Tools +#define STRING_NOZZLE "喷头" +#define STRING_BED "热床" +#define STRING_CHAMBER "机箱" +#define STRING_FAN "风扇" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5秒" - #define STRING_10_SECONDS "10秒" - #define STRING_30_SECONDS "30秒" - #define STRING_60_SECONDS "1分钟" - #define STRING_120_SECONDS "2分钟" - #define STRING_300_SECONDS "5分钟" +#define STRING_5_SECONDS "5秒" +#define STRING_10_SECONDS "10秒" +#define STRING_30_SECONDS "30秒" +#define STRING_60_SECONDS "1分钟" +#define STRING_120_SECONDS "2分钟" +#define STRING_300_SECONDS "5分钟" - // Colors - #define STRING_WHITE "白色" - #define STRING_BLACK "黑色" - #define STRING_BLUE "蓝色" - #define STRING_RED "红色" - #define STRING_GREEN "绿色" - #define STRING_CYAN "青色" - #define STRING_YELLOW "黄色" - #define STRING_BROWN "棕色" - #define STRING_GRAY "灰色" - #define STRING_ORANGE "橙色" - #define STRING_INDIGO "靛" - #define STRING_VIOLET "紫罗兰色" - #define STRING_MAGENTA "桃红色" - #define STRING_PURPLE "紫色" - #define STRING_LIME "青柠色" - #define STRING_DARKBLUE "暗蓝色" - #define STRING_DARKGREEN "暗绿色" - #define STRING_DARKGRAY "暗灰色" +// Colors +#define STRING_WHITE "白色" +#define STRING_BLACK "黑色" +#define STRING_BLUE "蓝色" +#define STRING_RED "红色" +#define STRING_GREEN "绿色" +#define STRING_CYAN "青色" +#define STRING_YELLOW "黄色" +#define STRING_BROWN "棕色" +#define STRING_GRAY "灰色" +#define STRING_ORANGE "橙色" +#define STRING_INDIGO "靛" +#define STRING_VIOLET "紫罗兰色" +#define STRING_MAGENTA "桃红色" +#define STRING_PURPLE "紫色" +#define STRING_LIME "青柠色" +#define STRING_DARKBLUE "暗蓝色" +#define STRING_DARKGREEN "暗绿色" +#define STRING_DARKGRAY "暗灰色" - // Menus - #define STRING_HEAT "加热" - #define STRING_MOVE "移动" - #define STRING_HOME "回原点" - #define STRING_PRINT "打印" - #define STRING_EXTRUDE "挤出" - #define STRING_SETTINGS "设置" - #define STRING_SCREEN_SETTINGS "屏幕设置" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "声音" - #define STRING_MARLIN_MODE_SETTINGS "Marlin模式" - #define STRING_MACHINE_SETTINGS "机器设置" - #define STRING_PARAMETER_SETTINGS "参数设置" - #define STRING_FEATURE_SETTINGS "功能设置" - #define STRING_CONNECTION_SETTINGS "连接" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "波特率" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "灯光颜色" - #define STRING_RGB_OFF "熄灭灯光" - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "调平" - #define STRING_POINT_1 "第一点" - #define STRING_POINT_2 "第二点" - #define STRING_POINT_3 "第三点" - #define STRING_POINT_4 "第四点" - #define STRING_POINT_5 "第五点" - #define STRING_BED_LEVELING "平台调平" - #define STRING_BL_COMPLETE "平台调平完成!" - #define STRING_BL_SMART_FILL "部分点未探测,已被自动填充, 需要手动保存!" - #define STRING_BL_ENABLE "BL:已开启" - #define STRING_BL_DISABLE "BL:已关闭" - #define STRING_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_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 "Save the mesh to EEPROM to load after reboot?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "距离" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "挤出/回抽耗材" // needs translation - #define STRING_LOAD_UNLOAD_SHORT "进/退料" // needs translation - #define STRING_TOUCHSCREEN_ADJUST "触屏校准" - #define STRING_MORE "更多" - #define STRING_SCREEN_INFO "关于" - #define STRING_BG_COLOR "背景颜色" - #define STRING_FONT_COLOR "字体颜色" - #define STRING_PERCENTAGE "百分比" - #define STRING_PERCENTAGE_SPEED "速度百分比" - #define STRING_PERCENTAGE_FLOW "流量百分比" - #define STRING_BABYSTEP "Z-微调" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "触屏校准" - #define STRING_ADJUST_INFO "请点击红点中心位置" - #define STRING_ADJUST_OK "校准成功" - #define STRING_ADJUST_FAILED "校准失败,请重试" - #define STRING_UNIFIEDMOVE "运动" - #define STRING_UNIFIEDHEAT "温度" - #define STRING_TOUCH_TO_EXIT "触摸任意点退出当前界面" - #define STRING_MAINMENU "菜单" - #define STRING_TUNING "调整" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC自动整定" - #define STRING_MPC_METHOD "方法:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID自动整定" - #define STRING_TUNE_START_INFO "开始自动整定,需要几分钟来完成,是否继续?" - #define STRING_TUNE_EXTRUDER "微调E-Steps" - #define STRING_TUNE_EXT_EXTRUDE_100 "挤出100mm" - #define STRING_TUNE_EXT_TEMP "挤出机微调 | 加热" - #define STRING_TUNE_EXT_MARK120MM "在耗材上标记120mm\n标记完成后点击 '%s'\n挤出完成后测量剩余长度" - #define STRING_TUNE_EXT_ADJ_ESTEPS "调整E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "新的E-Steps已生效,需要手动保存到EEPROM\n新E-Steps: %0.2f" - #define STRING_TUNE_EXT_MEASURED "剩余的长度:" - #define STRING_TUNE_EXT_OLD_ESTEP "旧的E-Steps: %0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "新的E-Steps: %0.2f" - #define STRING_NOTIFICATIONS "通知" - #define STRING_MESH_EDITOR "Mesh edit" - #define STRING_MESH_TUNER "Mesh tuner" - #define STRING_CASE_LIGHT "机箱灯光" - #define STRING_LOAD_STARTED "正在挤出耗材, 请等待挤出完成." - #define STRING_UNLOAD_STARTED "正在回抽耗材, 请等待回抽完成." - #define STRING_HEATERS_ON "喷头仍在加热, 是否要停止加热?" - #define STRING_PRINT_FINISHED " 打印 完成" - #define STRING_MAIN_SCREEN "主界面" - #define STRING_PREVIOUS_PRINT_DATA "打印统计" - #define STRING_PRINT_TIME "打印耗时: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\n使用耗材长度: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\n已使用耗材重量: %1.2fg" - #define STRING_FILAMENT_COST "\n已使用耗材成本: %1.2f" - #define STRING_NO_FILAMENT_STATS "\n无耗材历史数据" - #define STRING_CLICK_FOR_MORE "点击查看详情" - #define STRING_EXT_TEMPLOW "喷头温度低于最小挤出温度 (%d℃)." - #define STRING_HEAT_HOTEND "加热喷头到%d℃?" - #define STRING_DESIRED_TEMPLOW "喷头温度过低\n设置的温度为 (%d℃)." - #define STRING_WAIT_HEAT_UP "等待加热完成." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "宏指令" - #define STRING_MESH_VALID "调平测试" - #define STRING_CONNECT_PROBE "开启此操作前请先连接探头, 操作完成后请断开连接" - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "校准" +// Menus +#define STRING_HEAT "加热" +#define STRING_MOVE "移动" +#define STRING_HOME "回原点" +#define STRING_PRINT "打印" +#define STRING_EXTRUDE "挤出" +#define STRING_SETTINGS "设置" +#define STRING_SCREEN_SETTINGS "屏幕设置" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "声音" +#define STRING_MARLIN_MODE_SETTINGS "Marlin模式" +#define STRING_MACHINE_SETTINGS "机器设置" +#define STRING_PARAMETER_SETTINGS "参数设置" +#define STRING_FEATURE_SETTINGS "功能设置" +#define STRING_CONNECTION_SETTINGS "连接" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "波特率" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "灯光颜色" +#define STRING_RGB_OFF "熄灭灯光" +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "调平" +#define STRING_POINT_1 "第一点" +#define STRING_POINT_2 "第二点" +#define STRING_POINT_3 "第三点" +#define STRING_POINT_4 "第四点" +#define STRING_POINT_5 "第五点" +#define STRING_BED_LEVELING "平台调平" +#define STRING_BL_COMPLETE "平台调平完成!" +#define STRING_BL_SMART_FILL "部分点未探测,已被自动填充, 需要手动保存!" +#define STRING_BL_ENABLE "BL:已开启" +#define STRING_BL_DISABLE "BL:已关闭" +#define STRING_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_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 "Save the mesh to EEPROM to load after reboot?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "距离" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "挤出/回抽耗材" // needs translation +#define STRING_LOAD_UNLOAD_SHORT "进/退料" // needs translation +#define STRING_TOUCHSCREEN_ADJUST "触屏校准" +#define STRING_MORE "更多" +#define STRING_SCREEN_INFO "关于" +#define STRING_BG_COLOR "背景颜色" +#define STRING_FONT_COLOR "字体颜色" +#define STRING_PERCENTAGE "百分比" +#define STRING_PERCENTAGE_SPEED "速度百分比" +#define STRING_PERCENTAGE_FLOW "流量百分比" +#define STRING_BABYSTEP "Z-微调" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "触屏校准" +#define STRING_ADJUST_INFO "请点击红点中心位置" +#define STRING_ADJUST_OK "校准成功" +#define STRING_ADJUST_FAILED "校准失败,请重试" +#define STRING_UNIFIEDMOVE "运动" +#define STRING_UNIFIEDHEAT "温度" +#define STRING_TOUCH_TO_EXIT "触摸任意点退出当前界面" +#define STRING_MAINMENU "菜单" +#define STRING_TUNING "调整" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC自动整定" +#define STRING_MPC_METHOD "方法:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID自动整定" +#define STRING_TUNE_START_INFO "开始自动整定,需要几分钟来完成,是否继续?" +#define STRING_TUNE_EXTRUDER "微调E-Steps" +#define STRING_TUNE_EXT_EXTRUDE_100 "挤出100mm" +#define STRING_TUNE_EXT_TEMP "挤出机微调 | 加热" +#define STRING_TUNE_EXT_MARK120MM "在耗材上标记120mm\n标记完成后点击 '%s'\n挤出完成后测量剩余长度" +#define STRING_TUNE_EXT_ADJ_ESTEPS "调整E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "新的E-Steps已生效,需要手动保存到EEPROM\n新E-Steps: %0.2f" +#define STRING_TUNE_EXT_MEASURED "剩余的长度:" +#define STRING_TUNE_EXT_OLD_ESTEP "旧的E-Steps: %0.2f" +#define STRING_TUNE_EXT_NEW_ESTEP "新的E-Steps: %0.2f" +#define STRING_NOTIFICATIONS "通知" +#define STRING_MESH_EDITOR "Mesh edit" +#define STRING_MESH_TUNER "Mesh tuner" +#define STRING_CASE_LIGHT "机箱灯光" +#define STRING_LOAD_STARTED "正在挤出耗材, 请等待挤出完成." +#define STRING_UNLOAD_STARTED "正在回抽耗材, 请等待回抽完成." +#define STRING_HEATERS_ON "喷头仍在加热, 是否要停止加热?" +#define STRING_PRINT_FINISHED " 打印 完成" +#define STRING_MAIN_SCREEN "主界面" +#define STRING_PREVIOUS_PRINT_DATA "打印统计" +#define STRING_PRINT_TIME "打印耗时: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\n使用耗材长度: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\n已使用耗材重量: %1.2fg" +#define STRING_FILAMENT_COST "\n已使用耗材成本: %1.2f" +#define STRING_NO_FILAMENT_STATS "\n无耗材历史数据" +#define STRING_CLICK_FOR_MORE "点击查看详情" +#define STRING_EXT_TEMPLOW "喷头温度低于最小挤出温度 (%d℃)." +#define STRING_HEAT_HOTEND "加热喷头到%d℃?" +#define STRING_DESIRED_TEMPLOW "喷头温度过低\n设置的温度为 (%d℃)." +#define STRING_WAIT_HEAT_UP "等待加热完成." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "宏指令" +#define STRING_MESH_VALID "调平测试" +#define STRING_CONNECT_PROBE "开启此操作前请先连接探头, 操作完成后请断开连接" +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "校准" #endif diff --git a/TFT/src/User/API/Language/language_cz.h b/TFT/src/User/API/Language/language_cz.h index 3618a6d24..fc7c53455 100644 --- a/TFT/src/User/API/Language/language_cz.h +++ b/TFT/src/User/API/Language/language_cz.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_CZ_H_ #define _LANGUAGE_CZ_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Čeština" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Kontrolní součet" - #define STRING_EMULATED_M600 "Emulace M600" - #define STRING_EMULATED_M109_M190 "Emulace M109 / M190" - #define STRING_EVENT_LED "LED události" - #define STRING_FILE_COMMENT_PARSING "Analýzovat komentáře" - #define STRING_ROTATED_UI "Otočit" - #define STRING_ACK_NOTIFICATION "Styl oznámení ACK" - #define STRING_FILES_SORT_BY "Řazení souboru" - #define STRING_FILES_LIST_MODE "Soubory jako seznam" - #define STRING_FILENAME_EXTENSION "Zobrazit příponu souboru" - #define STRING_FAN_SPEED_PERCENTAGE "Rychlost ventilátoru v %" - #define STRING_PERSISTENT_INFO "Zobrazení stavových ikon" - #define STRING_TERMINAL_ACK "zobrazit ACK Terminálu" - #define STRING_SERIAL_ALWAYS_ON "Sériový port vždy ON" - #define STRING_MARLIN_FULLSCREEN "Fullscreen režim Marlin" - #define STRING_MARLIN_SHOW_TITLE "Zobrazit tytulek Marlin" - #define STRING_MARLIN_TYPE "Typ Marlin Modu" - #define STRING_MOVE_SPEED "Rychlost pohybu X Y Z" - #define STRING_AUTO_LOAD_LEVELING "Automaticky Leveling" - #define STRING_PROBING_Z_OFFSET "Sondování pro Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z motor Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "Auto.vypnutí" - #define STRING_FIL_RUNOUT "Senzor filamentu" - #define STRING_PL_RECOVERY "Obnova po ztrátě napájení" - #define STRING_PL_RECOVERY_HOME "Spuštění obnovení napájení" - #define STRING_BTT_MINI_UPS "Podpora BTT UPS" - #define STRING_TOUCH_SOUND "Zvuk při dotyku" - #define STRING_TOAST_SOUND "Zvuk oznámení" - #define STRING_ALERT_SOUND "Zvuk popup okna" - #define STRING_HEATER_SOUND "Zvuk při dosažení teploty" - #define STRING_LCD_BRIGHTNESS "LCD jas" - #define STRING_LCD_IDLE_BRIGHTNESS "LCD snížení jasu" - #define STRING_LCD_IDLE_TIME "LCD snížení jasu po" - #define STRING_LCD_LOCK_ON_IDLE "Blok. dotek při zatmavení" - #define STRING_LED_ALWAYS_ON "LED vždy zapnuto" - #define STRING_KNOB_LED_COLOR "Rotační knob LED" - #define STRING_KNOB_LED_IDLE "Rotační knob LED idle" - #define STRING_START_GCODE_ENABLED "Spustit Gcode před tiskem" - #define STRING_END_GCODE_ENABLED "Spustit Gcode po tisku" - #define STRING_CANCEL_GCODE_ENABLED "Spustit Gcode po stornu" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Čeština" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Kontrolní součet" +#define STRING_EMULATED_M600 "Emulace M600" +#define STRING_EMULATED_M109_M190 "Emulace M109 / M190" +#define STRING_EVENT_LED "LED události" +#define STRING_FILE_COMMENT_PARSING "Analýzovat komentáře" +#define STRING_ROTATED_UI "Otočit" +#define STRING_ACK_NOTIFICATION "Styl oznámení ACK" +#define STRING_FILES_SORT_BY "Řazení souboru" +#define STRING_FILES_LIST_MODE "Soubory jako seznam" +#define STRING_FILENAME_EXTENSION "Zobrazit příponu souboru" +#define STRING_FAN_SPEED_PERCENTAGE "Rychlost ventilátoru v %" +#define STRING_PERSISTENT_INFO "Zobrazení stavových ikon" +#define STRING_TERMINAL_ACK "zobrazit ACK Terminálu" +#define STRING_SERIAL_ALWAYS_ON "Sériový port vždy ON" +#define STRING_MARLIN_FULLSCREEN "Fullscreen režim Marlin" +#define STRING_MARLIN_SHOW_TITLE "Zobrazit tytulek Marlin" +#define STRING_MARLIN_TYPE "Typ Marlin Modu" +#define STRING_MOVE_SPEED "Rychlost pohybu X Y Z" +#define STRING_AUTO_LOAD_LEVELING "Automaticky Leveling" +#define STRING_PROBING_Z_OFFSET "Sondování pro Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z motor Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "Auto.vypnutí" +#define STRING_FIL_RUNOUT "Senzor filamentu" +#define STRING_PL_RECOVERY "Obnova po ztrátě napájení" +#define STRING_PL_RECOVERY_HOME "Spuštění obnovení napájení" +#define STRING_BTT_MINI_UPS "Podpora BTT UPS" +#define STRING_TOUCH_SOUND "Zvuk při dotyku" +#define STRING_TOAST_SOUND "Zvuk oznámení" +#define STRING_ALERT_SOUND "Zvuk popup okna" +#define STRING_HEATER_SOUND "Zvuk při dosažení teploty" +#define STRING_LCD_BRIGHTNESS "LCD jas" +#define STRING_LCD_IDLE_BRIGHTNESS "LCD snížení jasu" +#define STRING_LCD_IDLE_TIME "LCD snížení jasu po" +#define STRING_LCD_LOCK_ON_IDLE "Blok. dotek při zatmavení" +#define STRING_LED_ALWAYS_ON "LED vždy zapnuto" +#define STRING_KNOB_LED_COLOR "Rotační knob LED" +#define STRING_KNOB_LED_IDLE "Rotační knob LED idle" +#define STRING_START_GCODE_ENABLED "Spustit Gcode před tiskem" +#define STRING_END_GCODE_ENABLED "Spustit Gcode po tisku" +#define STRING_CANCEL_GCODE_ENABLED "Spustit Gcode po stornu" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Kroky/mm" - #define STRING_FILAMENT_SETTING "Pruměr Filamentu" - #define STRING_MAXACCELERATION "Max zrychlení" - #define STRING_MAXFEEDRATE "Max rychlost" - #define STRING_ACCELERATION "Zrychlení" - #define STRING_JERK "Jerk-trhnutí" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home Offset" - #define STRING_FWRETRACT "FW Zatažení" - #define STRING_FWRECOVER "FW Obnovení" - #define STRING_RETRACT_AUTO "Auto Firmware Retract" - #define STRING_HOTEND_OFFSET "Offset 2.trysky" - #define STRING_HOTEND_PID "PID trysky" - #define STRING_BED_PID "PID podložky" - #define STRING_STEALTH_CHOP "TMC Tichý režim" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta konfigurace" - #define STRING_DELTA_TOWER_ANGLE "Úhel věže" - #define STRING_DELTA_DIAGONAL_ROD "Diagonální tyč" - #define STRING_DELTA_ENDSTOP "Nastavení dorazu" - #define STRING_PROBE_OFFSET "Offset sondy" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "TMC Proud motoru(mA)" - #define STRING_HYBRID_THRESHOLD "TMC Hybridní práh" - #define STRING_BUMP_SENSITIVITY "TMC Citlivost dorazu" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Kroky/mm" +#define STRING_FILAMENT_SETTING "Pruměr Filamentu" +#define STRING_MAXACCELERATION "Max zrychlení" +#define STRING_MAXFEEDRATE "Max rychlost" +#define STRING_ACCELERATION "Zrychlení" +#define STRING_JERK "Jerk-trhnutí" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home Offset" +#define STRING_FWRETRACT "FW Zatažení" +#define STRING_FWRECOVER "FW Obnovení" +#define STRING_RETRACT_AUTO "Auto Firmware Retract" +#define STRING_HOTEND_OFFSET "Offset 2.trysky" +#define STRING_HOTEND_PID "PID trysky" +#define STRING_BED_PID "PID podložky" +#define STRING_STEALTH_CHOP "TMC Tichý režim" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta konfigurace" +#define STRING_DELTA_TOWER_ANGLE "Úhel věže" +#define STRING_DELTA_DIAGONAL_ROD "Diagonální tyč" +#define STRING_DELTA_ENDSTOP "Nastavení dorazu" +#define STRING_PROBE_OFFSET "Offset sondy" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "TMC Proud motoru(mA)" +#define STRING_HYBRID_THRESHOLD "TMC Hybridní práh" +#define STRING_BUMP_SENSITIVITY "TMC Citlivost dorazu" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Zrychlení při tisku" - #define STRING_RETRACT_ACCELERATION "Zrychlení retrakcí" - #define STRING_TRAVEL_ACCELERATION "Zrychlení při přesunu" - #define STRING_RETRACT_LENGTH "Délka zatažení" - #define STRING_RETRACT_SWAP_LENGTH "Délka zatažení Swap" - #define STRING_RETRACT_FEEDRATE "Rychlost zatažení" - #define STRING_RETRACT_Z_LIFT "Z zvýšení při zatažení" - #define STRING_RECOVER_LENGTH "Délka obnovení" - #define STRING_SWAP_RECOVER_LENGTH "Délka obnovení Swap" - #define STRING_RECOVER_FEEDRATE "Rychlost obnovení" - #define STRING_SWAP_RECOVER_FEEDRATE "Rychlost obnovení Swap" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Zrychlení při tisku" +#define STRING_RETRACT_ACCELERATION "Zrychlení retrakcí" +#define STRING_TRAVEL_ACCELERATION "Zrychlení při přesunu" +#define STRING_RETRACT_LENGTH "Délka zatažení" +#define STRING_RETRACT_SWAP_LENGTH "Délka zatažení Swap" +#define STRING_RETRACT_FEEDRATE "Rychlost zatažení" +#define STRING_RETRACT_Z_LIFT "Z zvýšení při zatažení" +#define STRING_RECOVER_LENGTH "Délka obnovení" +#define STRING_SWAP_RECOVER_LENGTH "Délka obnovení Swap" +#define STRING_RECOVER_FEEDRATE "Rychlost obnovení" +#define STRING_SWAP_RECOVER_FEEDRATE "Rychlost obnovení Swap" - // Save / Load - #define STRING_SAVE "Uložit" - #define STRING_RESTORE "Obnovit" - #define STRING_RESET "Reset" - #define STRING_EEPROM_SAVE_INFO "Uložit nastavení tiskárny do EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Obnovit nastavení z EEPROM?" - #define STRING_EEPROM_RESET_INFO "Reset EEPROM na výchozí hodnoty?" - #define STRING_SETTINGS_SAVE "Uložení nastavení" - #define STRING_SETTINGS_RESTORE "Obnovení nastavení" - #define STRING_SETTINGS_RESET "Reset nastavení" - #define STRING_SETTINGS_RESET_INFO "Obnovit všechna nastavení na výchozí hodnoty?" - #define STRING_SETTINGS_RESET_DONE "Obnovení všech nastavení bylo úspěšně provedeno.\nRestartujte zařízení." +// Save / Load +#define STRING_SAVE "Uložit" +#define STRING_RESTORE "Obnovit" +#define STRING_RESET "Reset" +#define STRING_EEPROM_SAVE_INFO "Uložit nastavení tiskárny do EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Obnovit nastavení z EEPROM?" +#define STRING_EEPROM_RESET_INFO "Reset EEPROM na výchozí hodnoty?" +#define STRING_SETTINGS_SAVE "Uložení nastavení" +#define STRING_SETTINGS_RESTORE "Obnovení nastavení" +#define STRING_SETTINGS_RESET "Reset nastavení" +#define STRING_SETTINGS_RESET_INFO "Obnovit všechna nastavení na výchozí hodnoty?" +#define STRING_SETTINGS_RESET_DONE "Obnovení všech nastavení bylo úspěšně provedeno.\nRestartujte zařízení." - // Navigation Buttons - #define STRING_PAGE_UP "Další" - #define STRING_PAGE_DOWN "Předchozí" - #define STRING_UP "Nahoru" - #define STRING_DOWN "Dolu" - #define STRING_NEXT "Další" - #define STRING_BACK "Zpět" +// Navigation Buttons +#define STRING_PAGE_UP "Další" +#define STRING_PAGE_DOWN "Předchozí" +#define STRING_UP "Nahoru" +#define STRING_DOWN "Dolu" +#define STRING_NEXT "Další" +#define STRING_BACK "Zpět" - // Value Buttons - #define STRING_INC "Přidat" - #define STRING_DEC "Ubrat" - #define STRING_LOAD "Zavést" - #define STRING_UNLOAD "Vysunout" - #define STRING_ON "ON" - #define STRING_OFF "OFF" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Pomalu" - #define STRING_NORMAL "Normál" - #define STRING_FAST "Rychle" - #define STRING_ZERO "Vynulovat" - #define STRING_HALF "Poloviční" - #define STRING_FULL "Plný" - #define STRING_CUSTOM "Vlastní" - #define STRING_CLEAR "Vymaž" - #define STRING_DEFAULT "Výchozí" +// Value Buttons +#define STRING_INC "Přidat" +#define STRING_DEC "Ubrat" +#define STRING_LOAD "Zavést" +#define STRING_UNLOAD "Vysunout" +#define STRING_ON "ON" +#define STRING_OFF "OFF" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Pomalu" +#define STRING_NORMAL "Normál" +#define STRING_FAST "Rychle" +#define STRING_ZERO "Vynulovat" +#define STRING_HALF "Poloviční" +#define STRING_FULL "Plný" +#define STRING_CUSTOM "Vlastní" +#define STRING_CLEAR "Vymaž" +#define STRING_DEFAULT "Výchozí" - // Action Buttons - #define STRING_START "Start" - #define STRING_STOP "Stop" - #define STRING_PAUSE "Pauza" - #define STRING_RESUME "Obnovit" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Odpojit" - #define STRING_SHUT_DOWN "Vypnout" - #define STRING_FORCE_SHUT_DOWN "Vynutit" - #define STRING_EMERGENCYSTOP "!!STOP!!" - #define STRING_PREHEAT "Zahřát" - #define STRING_PREHEAT_BOTH "Vše" - #define STRING_COOLDOWN "Zchladit" +// Action Buttons +#define STRING_START "Start" +#define STRING_STOP "Stop" +#define STRING_PAUSE "Pauza" +#define STRING_RESUME "Obnovit" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Odpojit" +#define STRING_SHUT_DOWN "Vypnout" +#define STRING_FORCE_SHUT_DOWN "Vynutit" +#define STRING_EMERGENCYSTOP "!!STOP!!" +#define STRING_PREHEAT "Zahřát" +#define STRING_PREHEAT_BOTH "Vše" +#define STRING_COOLDOWN "Zchladit" - // Dialog Buttons - #define STRING_CONFIRM "Potvrdit" - #define STRING_CANCEL "Zrušit" - #define STRING_WARNING "Varování" - #define STRING_CONTINUE "Pokračovat" - #define STRING_CONFIRMATION "Jste si jistý?" +// Dialog Buttons +#define STRING_CONFIRM "Potvrdit" +#define STRING_CANCEL "Zrušit" +#define STRING_WARNING "Varování" +#define STRING_CONTINUE "Pokračovat" +#define STRING_CONFIRMATION "Jste si jistý?" - // Process Status - #define STRING_STATUS "Status" - #define STRING_READY "Připraven" - #define STRING_BUSY "Zpracovávám, čekejte prosím..." - #define STRING_LOADING "Nahrávám..." - #define STRING_UNCONNECTED "Tiskárna není připojena!" - #define STRING_LISTENING "TFT v režimu naslouchání!" +// Process Status +#define STRING_STATUS "Status" +#define STRING_READY "Připraven" +#define STRING_BUSY "Zpracovávám, čekejte prosím..." +#define STRING_LOADING "Nahrávám..." +#define STRING_UNCONNECTED "Tiskárna není připojena!" +#define STRING_LISTENING "TFT v režimu naslouchání!" - // Process Info - #define STRING_INFO "Info" - #define STRING_INVALID_VALUE "Neplatná hodnota/y!" - #define STRING_TIMEOUT_REACHED "Časový limit vypršel!" - #define STRING_DISCONNECT_INFO "Nyní mužete tiskárnu ovládat z počítače!" - #define STRING_SHUTTING_DOWN "Vypínám se..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Čekám na zchladnutí trysky pod %d℃" // Wait for the temperature of hotend to be lower than 50℃ - #define STRING_POWER_FAILED "Obnovit tisk?" - #define STRING_PROCESS_COMPLETED "Proces dokončen!" - #define STRING_PROCESS_ABORTED "Proces přerušen!" +// Process Info +#define STRING_INFO "Info" +#define STRING_INVALID_VALUE "Neplatná hodnota/y!" +#define STRING_TIMEOUT_REACHED "Časový limit vypršel!" +#define STRING_DISCONNECT_INFO "Nyní mužete tiskárnu ovládat z počítače!" +#define STRING_SHUTTING_DOWN "Vypínám se..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Čekám na zchladnutí trysky pod %d℃" // Wait for the temperature of hotend to be lower than 50℃ +#define STRING_POWER_FAILED "Obnovit tisk?" +#define STRING_PROCESS_COMPLETED "Proces dokončen!" +#define STRING_PROCESS_ABORTED "Proces přerušen!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT SD" - #define STRING_TFT_SD_INSERTED "SD karta vložena" - #define STRING_TFT_SD_REMOVED "SD karta vyjmuta" - #define STRING_TFT_SD_NOT_DETECTED "SD karta nedetekována!" - #define STRING_TFT_SD_READ_ERROR "Chyba při čtení SD karty!" - #define STRING_TFT_USB "USB Disk" - #define STRING_TFT_USB_INSERTED "USB disk vložen" - #define STRING_TFT_USB_REMOVED "USB disk vyjmut" - #define STRING_TFT_USB_NOT_DETECTED "USB disk nedetekován!" - #define STRING_TFT_USB_READ_ERROR "Chyba při čtení USB disku!" - #define STRING_ONBOARD_SD "Onboard SD" - #define STRING_ONBOARD_USB "Onboard USB" - #define STRING_ONBOARD_SD_READ_ERROR "Chyba při čtení Onboard media!" - #define STRING_FILAMENT_RUNOUT "Došel filament!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT SD" +#define STRING_TFT_SD_INSERTED "SD karta vložena" +#define STRING_TFT_SD_REMOVED "SD karta vyjmuta" +#define STRING_TFT_SD_NOT_DETECTED "SD karta nedetekována!" +#define STRING_TFT_SD_READ_ERROR "Chyba při čtení SD karty!" +#define STRING_TFT_USB "USB Disk" +#define STRING_TFT_USB_INSERTED "USB disk vložen" +#define STRING_TFT_USB_REMOVED "USB disk vyjmut" +#define STRING_TFT_USB_NOT_DETECTED "USB disk nedetekován!" +#define STRING_TFT_USB_READ_ERROR "Chyba při čtení USB disku!" +#define STRING_ONBOARD_SD "Onboard SD" +#define STRING_ONBOARD_USB "Onboard USB" +#define STRING_ONBOARD_SD_READ_ERROR "Chyba při čtení Onboard media!" +#define STRING_FILAMENT_RUNOUT "Došel filament!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Motory" - #define STRING_XY_UNLOCK "Uvolnit XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Motory" +#define STRING_XY_UNLOCK "Uvolnit XY" - #define STRING_START_PRINT "Spustit tisk:\n%s?" - #define STRING_STOP_PRINT "Zastavit tisk?" - #define STRING_IS_PAUSE "Během tisku nelze extrudovat.\n\nPozastavit tisk?" - #define STRING_M0_PAUSE "Pauza po příkazu M0" +#define STRING_START_PRINT "Spustit tisk:\n%s?" +#define STRING_STOP_PRINT "Zastavit tisk?" +#define STRING_IS_PAUSE "Během tisku nelze extrudovat.\n\nPozastavit tisk?" +#define STRING_M0_PAUSE "Pauza po příkazu M0" - #define STRING_TEST "Test" - #define STRING_DEPLOY "Vysunout" - #define STRING_STOW "Zasunout" - #define STRING_REPEAT "Přesnost" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Test" +#define STRING_DEPLOY "Vysunout" +#define STRING_STOW "Zasunout" +#define STRING_REPEAT "Přesnost" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Tryska" - #define STRING_BED "Stolek" - #define STRING_CHAMBER "Komora" - #define STRING_FAN "Ofuk" +// Printer Tools +#define STRING_NOZZLE "Tryska" +#define STRING_BED "Stolek" +#define STRING_CHAMBER "Komora" +#define STRING_FAN "Ofuk" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 sec." - #define STRING_10_SECONDS "10 sec." - #define STRING_30_SECONDS "30 sec." - #define STRING_60_SECONDS "1 min." - #define STRING_120_SECONDS "2 min." - #define STRING_300_SECONDS "5 min." +#define STRING_5_SECONDS "5 sec." +#define STRING_10_SECONDS "10 sec." +#define STRING_30_SECONDS "30 sec." +#define STRING_60_SECONDS "1 min." +#define STRING_120_SECONDS "2 min." +#define STRING_300_SECONDS "5 min." - // Colors - #define STRING_WHITE "Bílá" - #define STRING_BLACK "Černá" - #define STRING_BLUE "Modrá" - #define STRING_RED "Červená" - #define STRING_GREEN "Zelená" - #define STRING_CYAN "Tyrkys" - #define STRING_YELLOW "Žlutá" - #define STRING_BROWN "Hnědá" - #define STRING_GRAY "Šedá" - #define STRING_ORANGE "Oranžová" - #define STRING_INDIGO "Indigo" - #define STRING_VIOLET "Fialová" - #define STRING_MAGENTA "Purpurová" - #define STRING_PURPLE "Nachová" - #define STRING_LIME "Limetková" - #define STRING_DARKBLUE "Tmavá Modrá" - #define STRING_DARKGREEN "Tmavá Červená" - #define STRING_DARKGRAY "Tmavá Šedá" +// Colors +#define STRING_WHITE "Bílá" +#define STRING_BLACK "Černá" +#define STRING_BLUE "Modrá" +#define STRING_RED "Červená" +#define STRING_GREEN "Zelená" +#define STRING_CYAN "Tyrkys" +#define STRING_YELLOW "Žlutá" +#define STRING_BROWN "Hnědá" +#define STRING_GRAY "Šedá" +#define STRING_ORANGE "Oranžová" +#define STRING_INDIGO "Indigo" +#define STRING_VIOLET "Fialová" +#define STRING_MAGENTA "Purpurová" +#define STRING_PURPLE "Nachová" +#define STRING_LIME "Limetková" +#define STRING_DARKBLUE "Tmavá Modrá" +#define STRING_DARKGREEN "Tmavá Červená" +#define STRING_DARKGRAY "Tmavá Šedá" - // Menus - #define STRING_HEAT "Teplota" - #define STRING_MOVE "Posunout" - #define STRING_HOME "Domu" - #define STRING_PRINT "Tisknout" - #define STRING_EXTRUDE "Filament" - #define STRING_SETTINGS "Nastavení" - #define STRING_SCREEN_SETTINGS "Displej" - #define STRING_UI_SETTINGS "Parametry" - #define STRING_SOUND "Zvuk" - #define STRING_MARLIN_MODE_SETTINGS "Marlin Mod" - #define STRING_MACHINE_SETTINGS "Tiskárna" - #define STRING_PARAMETER_SETTINGS "Parametry" - #define STRING_FEATURE_SETTINGS "Vlastnosti" - #define STRING_CONNECTION_SETTINGS "Připojení" - #define STRING_SERIAL_PORTS "SerialPort" - #define STRING_BAUDRATE "Rychlost" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "Barva LED" - #define STRING_RGB_OFF "LED vyp." - #define STRING_TERMINAL "Terminál" - #define STRING_LEVELING "Srovnat" - #define STRING_POINT_1 "Bod 1" - #define STRING_POINT_2 "Bod 2" - #define STRING_POINT_3 "Bod 3" - #define STRING_POINT_4 "Bod 4" - #define STRING_POINT_5 "Bod 5" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Vyrovnání kompletní" - #define STRING_BL_SMART_FILL "Chybějící body sondy byly vyplněny inteligentně.\n\nPozn: Nezapomeň uložit!" - #define STRING_BL_ENABLE "BL: on" - #define STRING_BL_DISABLE "BL: off" - #define STRING_ABL "Vyrovnat" - #define STRING_BBL "BBL" - #define STRING_UBL "UBL" - #define STRING_MBL "MBL" - #define STRING_MBL_SETTINGS "Ruční vyrovnání" - #define STRING_ABL_SETTINGS "Auto vyrovnání" - #define STRING_ABL_SETTINGS_BBL "Bilineární vyrovnání" - #define STRING_ABL_SETTINGS_UBL "UBL vyrovnání" - #define STRING_ABL_SETTINGS_UBL_SAVE "Uložit do slotu" - #define STRING_ABL_SETTINGS_UBL_LOAD "Nahrát ze slotu" - #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 "Uložit síť do EEPROM a načíst po restartu?" - #define STRING_ABL_Z "Z-Slábnutí" - #define STRING_LEVEL_CORNER "Sonda Rohu" - #define STRING_LEVEL_CORNER_INFO "Vzdálenost od okraje je menší než offset sondy X/Y a některé body nemusí být dosažitelné.\nPoužít bezpečnou vzdálenost od okraje?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Od okraje" - #define STRING_SHIM "Měrka" - #define STRING_LOAD_UNLOAD "Vysunout/Zavést" - #define STRING_LOAD_UNLOAD_SHORT "Vysunout" - #define STRING_TOUCHSCREEN_ADJUST "Kalibrovat" - #define STRING_MORE "Více" - #define STRING_SCREEN_INFO "Info" - #define STRING_BG_COLOR "Barva pozadí" - #define STRING_FONT_COLOR "Barva písma" - #define STRING_PERCENTAGE "Procenta" - #define STRING_PERCENTAGE_SPEED "Rychlost" - #define STRING_PERCENTAGE_FLOW "Prutok" - #define STRING_BABYSTEP "BabyStep" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Kalibrace dotykové obrazovky" - #define STRING_ADJUST_INFO "Dotkněte se postupně všech bodu" - #define STRING_ADJUST_OK "Kalibrace úspěšná" - #define STRING_ADJUST_FAILED "Kalibrace selhala, zopakujte znovu" - #define STRING_UNIFIEDMOVE "Pohyb" - #define STRING_UNIFIEDHEAT "Teplota" - #define STRING_TOUCH_TO_EXIT "Pro návrat se dotkněte obrazovky..." - #define STRING_MAINMENU "Menu" - #define STRING_TUNING "Kalibrace" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC autokalibrace" - #define STRING_MPC_METHOD "Metoda:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID autokalibrace" - #define STRING_TUNE_START_INFO "Spuštěna kalibrace vytápění. Bude to chvíli trvat.\nPokračovat?" - #define STRING_TUNE_EXTRUDER "E-Krok" - #define STRING_TUNE_EXT_EXTRUDE_100 "100mm Vysunutí" - #define STRING_TUNE_EXT_TEMP "Kalibrace extruderu, ohřev" - #define STRING_TUNE_EXT_MARK120MM "Označ 120mm na filamentu\nStlač '%s' pokud jsi připraven.\nZměř zbývající délku po vytlačení." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Nastavení E-Kroku" - #define STRING_TUNE_EXT_ESTEPS_SAVED "Nové E-kroky nastaveny!\nNezapmeň uložit do EEPROM.\nNová hodnota: %0.2f" - #define STRING_TUNE_EXT_MEASURED "Zbývající délka:" - #define STRING_TUNE_EXT_OLD_ESTEP "Staré E-kroky: %0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "Nové E-kroky: %0.2f" - #define STRING_NOTIFICATIONS "Oznámení" - #define STRING_MESH_EDITOR "Mesh síť" - #define STRING_MESH_TUNER "Mesh nastavení" - #define STRING_CASE_LIGHT "Osvětlení" - #define STRING_LOAD_STARTED "Zavádění filamentu.\nPočkejte na dokončení procesu." - #define STRING_UNLOAD_STARTED "Vysunování filamentu.\nPočkejte na dokončení procesu." - #define STRING_HEATERS_ON "Topení jsou stále zapnutá.\nChcete je vypnout?" - #define STRING_PRINT_FINISHED " Tisk\n dokončen" - #define STRING_MAIN_SCREEN "Nabídka" - #define STRING_PREVIOUS_PRINT_DATA "Info.tisku" - #define STRING_PRINT_TIME "Čas tisku: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nDélka filamentu: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nVáha filamentu: %1.2fg" - #define STRING_FILAMENT_COST "\nCena filamentu: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nStatistika není k dispozici." - #define STRING_CLICK_FOR_MORE "Klikni pro více." - #define STRING_EXT_TEMPLOW "Teplota trysky je pod minimální teplotou (%d℃)." - #define STRING_HEAT_HOTEND "Zahřát trysku na %d℃?" - #define STRING_DESIRED_TEMPLOW "Teplota trysky je pod požadovanou teplotou (%d℃)." - #define STRING_WAIT_HEAT_UP "Počkej na cílovou teplotu." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Makro" - #define STRING_MESH_VALID "Test sítě" - #define STRING_CONNECT_PROBE "Před zahájením procesu připojte sondu. Poté ji nezapomeňte odpojit." - #define STRING_DISCONNECT_PROBE "Před použitím této funkce se ujistěte, že jste odpojili sondu" - #define STRING_CALIBRATION "Kalibrace" +// Menus +#define STRING_HEAT "Teplota" +#define STRING_MOVE "Posunout" +#define STRING_HOME "Domu" +#define STRING_PRINT "Tisknout" +#define STRING_EXTRUDE "Filament" +#define STRING_SETTINGS "Nastavení" +#define STRING_SCREEN_SETTINGS "Displej" +#define STRING_UI_SETTINGS "Parametry" +#define STRING_SOUND "Zvuk" +#define STRING_MARLIN_MODE_SETTINGS "Marlin Mod" +#define STRING_MACHINE_SETTINGS "Tiskárna" +#define STRING_PARAMETER_SETTINGS "Parametry" +#define STRING_FEATURE_SETTINGS "Vlastnosti" +#define STRING_CONNECTION_SETTINGS "Připojení" +#define STRING_SERIAL_PORTS "SerialPort" +#define STRING_BAUDRATE "Rychlost" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "Barva LED" +#define STRING_RGB_OFF "LED vyp." +#define STRING_TERMINAL "Terminál" +#define STRING_LEVELING "Srovnat" +#define STRING_POINT_1 "Bod 1" +#define STRING_POINT_2 "Bod 2" +#define STRING_POINT_3 "Bod 3" +#define STRING_POINT_4 "Bod 4" +#define STRING_POINT_5 "Bod 5" +#define STRING_BED_LEVELING "Bed Level" +#define STRING_BL_COMPLETE "Vyrovnání kompletní" +#define STRING_BL_SMART_FILL "Chybějící body sondy byly vyplněny inteligentně.\n\nPozn: Nezapomeň uložit!" +#define STRING_BL_ENABLE "BL: on" +#define STRING_BL_DISABLE "BL: off" +#define STRING_ABL "Vyrovnat" +#define STRING_BBL "BBL" +#define STRING_UBL "UBL" +#define STRING_MBL "MBL" +#define STRING_MBL_SETTINGS "Ruční vyrovnání" +#define STRING_ABL_SETTINGS "Auto vyrovnání" +#define STRING_ABL_SETTINGS_BBL "Bilineární vyrovnání" +#define STRING_ABL_SETTINGS_UBL "UBL vyrovnání" +#define STRING_ABL_SETTINGS_UBL_SAVE "Uložit do slotu" +#define STRING_ABL_SETTINGS_UBL_LOAD "Nahrát ze slotu" +#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 "Uložit síť do EEPROM a načíst po restartu?" +#define STRING_ABL_Z "Z-Slábnutí" +#define STRING_LEVEL_CORNER "Sonda Rohu" +#define STRING_LEVEL_CORNER_INFO "Vzdálenost od okraje je menší než offset sondy X/Y a některé body nemusí být dosažitelné.\nPoužít bezpečnou vzdálenost od okraje?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Od okraje" +#define STRING_SHIM "Měrka" +#define STRING_LOAD_UNLOAD "Vysunout/Zavést" +#define STRING_LOAD_UNLOAD_SHORT "Vysunout" +#define STRING_TOUCHSCREEN_ADJUST "Kalibrovat" +#define STRING_MORE "Více" +#define STRING_SCREEN_INFO "Info" +#define STRING_BG_COLOR "Barva pozadí" +#define STRING_FONT_COLOR "Barva písma" +#define STRING_PERCENTAGE "Procenta" +#define STRING_PERCENTAGE_SPEED "Rychlost" +#define STRING_PERCENTAGE_FLOW "Prutok" +#define STRING_BABYSTEP "BabyStep" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Kalibrace dotykové obrazovky" +#define STRING_ADJUST_INFO "Dotkněte se postupně všech bodu" +#define STRING_ADJUST_OK "Kalibrace úspěšná" +#define STRING_ADJUST_FAILED "Kalibrace selhala, zopakujte znovu" +#define STRING_UNIFIEDMOVE "Pohyb" +#define STRING_UNIFIEDHEAT "Teplota" +#define STRING_TOUCH_TO_EXIT "Pro návrat se dotkněte obrazovky..." +#define STRING_MAINMENU "Menu" +#define STRING_TUNING "Kalibrace" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC autokalibrace" +#define STRING_MPC_METHOD "Metoda:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID autokalibrace" +#define STRING_TUNE_START_INFO "Spuštěna kalibrace vytápění. Bude to chvíli trvat.\nPokračovat?" +#define STRING_TUNE_EXTRUDER "E-Krok" +#define STRING_TUNE_EXT_EXTRUDE_100 "100mm Vysunutí" +#define STRING_TUNE_EXT_TEMP "Kalibrace extruderu, ohřev" +#define STRING_TUNE_EXT_MARK120MM "Označ 120mm na filamentu\nStlač '%s' pokud jsi připraven.\nZměř zbývající délku po vytlačení." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Nastavení E-Kroku" +#define STRING_TUNE_EXT_ESTEPS_SAVED "Nové E-kroky nastaveny!\nNezapmeň uložit do EEPROM.\nNová hodnota: %0.2f" +#define STRING_TUNE_EXT_MEASURED "Zbývající délka:" +#define STRING_TUNE_EXT_OLD_ESTEP "Staré E-kroky: %0.2f" +#define STRING_TUNE_EXT_NEW_ESTEP "Nové E-kroky: %0.2f" +#define STRING_NOTIFICATIONS "Oznámení" +#define STRING_MESH_EDITOR "Mesh síť" +#define STRING_MESH_TUNER "Mesh nastavení" +#define STRING_CASE_LIGHT "Osvětlení" +#define STRING_LOAD_STARTED "Zavádění filamentu.\nPočkejte na dokončení procesu." +#define STRING_UNLOAD_STARTED "Vysunování filamentu.\nPočkejte na dokončení procesu." +#define STRING_HEATERS_ON "Topení jsou stále zapnutá.\nChcete je vypnout?" +#define STRING_PRINT_FINISHED " Tisk\n dokončen" +#define STRING_MAIN_SCREEN "Nabídka" +#define STRING_PREVIOUS_PRINT_DATA "Info.tisku" +#define STRING_PRINT_TIME "Čas tisku: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nDélka filamentu: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nVáha filamentu: %1.2fg" +#define STRING_FILAMENT_COST "\nCena filamentu: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nStatistika není k dispozici." +#define STRING_CLICK_FOR_MORE "Klikni pro více." +#define STRING_EXT_TEMPLOW "Teplota trysky je pod minimální teplotou (%d℃)." +#define STRING_HEAT_HOTEND "Zahřát trysku na %d℃?" +#define STRING_DESIRED_TEMPLOW "Teplota trysky je pod požadovanou teplotou (%d℃)." +#define STRING_WAIT_HEAT_UP "Počkej na cílovou teplotu." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Makro" +#define STRING_MESH_VALID "Test sítě" +#define STRING_CONNECT_PROBE "Před zahájením procesu připojte sondu. Poté ji nezapomeňte odpojit." +#define STRING_DISCONNECT_PROBE "Před použitím této funkce se ujistěte, že jste odpojili sondu" +#define STRING_CALIBRATION "Kalibrace" #endif diff --git a/TFT/src/User/API/Language/language_de.h b/TFT/src/User/API/Language/language_de.h index d041bee0c..3bf6b1177 100644 --- a/TFT/src/User/API/Language/language_de.h +++ b/TFT/src/User/API/Language/language_de.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_DE_H_ #define _LANGUAGE_DE_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Deutsch" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emuliere M600" - #define STRING_EMULATED_M109_M190 "Emuliere M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "UI drehen" - #define STRING_ACK_NOTIFICATION "ACK - Stil" - #define STRING_FILES_SORT_BY "Sortiere Dateien nach" - #define STRING_FILES_LIST_MODE "Dateien als Liste" - #define STRING_FILENAME_EXTENSION "Dateierweiterung anzeigen" - #define STRING_FAN_SPEED_PERCENTAGE "Lüft. Geschw. in Prozent" - #define STRING_PERSISTENT_INFO "Persistente Status Info" - #define STRING_TERMINAL_ACK "Zeige ACK im Terminal" - #define STRING_SERIAL_ALWAYS_ON "Seriell Verbind. immer an" - #define STRING_MARLIN_FULLSCREEN "Marlin Vollbild" - #define STRING_MARLIN_SHOW_TITLE "Marlin Titel anz." - #define STRING_MARLIN_TYPE "Marlin Modus Typ" - #define STRING_MOVE_SPEED "Geschwindigkeit (XYZ)" - #define STRING_AUTO_LOAD_LEVELING "Auto Laden/Speichern Leveling" - #define STRING_PROBING_Z_OFFSET "Abtasten des Z-Offsets" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Stepper Auto-Justierung" - #define STRING_PS_AUTO_SHUTDOWN "Auto-aus (PS_ON)" - #define STRING_FIL_RUNOUT "Filament Sensor" - #define STRING_PL_RECOVERY "Weitermachen (Stromausfall)" - #define STRING_PL_RECOVERY_HOME "Achsen nullen (Stromausfall)" - #define STRING_BTT_MINI_UPS "BTT UPS Unterstützung" - #define STRING_TOUCH_SOUND "Eingabetöne" - #define STRING_TOAST_SOUND "Toasts-Töne" - #define STRING_ALERT_SOUND "Popups & Alarme" - #define STRING_HEATER_SOUND "Ton bei erreichter Temp." - #define STRING_LCD_BRIGHTNESS "LCD-Helligkeit" - #define STRING_LCD_IDLE_BRIGHTNESS "LCD-Timeout-Helligkeit" - #define STRING_LCD_IDLE_TIME "LCD-Timeout" - #define STRING_LCD_LOCK_ON_IDLE "Kein Touch im Standby" - #define STRING_LED_ALWAYS_ON "LED immer ein" - #define STRING_KNOB_LED_COLOR "Drehknopf LED Farbe" - #define STRING_KNOB_LED_IDLE "Drehknopf LED idle Farbe" - #define STRING_START_GCODE_ENABLED "Gcode vor Druck" - #define STRING_END_GCODE_ENABLED "Gcode nach Druck" - #define STRING_CANCEL_GCODE_ENABLED "Gcode bei Abbruch" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Deutsch" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emuliere M600" +#define STRING_EMULATED_M109_M190 "Emuliere M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "UI drehen" +#define STRING_ACK_NOTIFICATION "ACK - Stil" +#define STRING_FILES_SORT_BY "Sortiere Dateien nach" +#define STRING_FILES_LIST_MODE "Dateien als Liste" +#define STRING_FILENAME_EXTENSION "Dateierweiterung anzeigen" +#define STRING_FAN_SPEED_PERCENTAGE "Lüft. Geschw. in Prozent" +#define STRING_PERSISTENT_INFO "Persistente Status Info" +#define STRING_TERMINAL_ACK "Zeige ACK im Terminal" +#define STRING_SERIAL_ALWAYS_ON "Seriell Verbind. immer an" +#define STRING_MARLIN_FULLSCREEN "Marlin Vollbild" +#define STRING_MARLIN_SHOW_TITLE "Marlin Titel anz." +#define STRING_MARLIN_TYPE "Marlin Modus Typ" +#define STRING_MOVE_SPEED "Geschwindigkeit (XYZ)" +#define STRING_AUTO_LOAD_LEVELING "Auto Laden/Speichern Leveling" +#define STRING_PROBING_Z_OFFSET "Abtasten des Z-Offsets" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Stepper Auto-Justierung" +#define STRING_PS_AUTO_SHUTDOWN "Auto-aus (PS_ON)" +#define STRING_FIL_RUNOUT "Filament Sensor" +#define STRING_PL_RECOVERY "Weitermachen (Stromausfall)" +#define STRING_PL_RECOVERY_HOME "Achsen nullen (Stromausfall)" +#define STRING_BTT_MINI_UPS "BTT UPS Unterstützung" +#define STRING_TOUCH_SOUND "Eingabetöne" +#define STRING_TOAST_SOUND "Toasts-Töne" +#define STRING_ALERT_SOUND "Popups & Alarme" +#define STRING_HEATER_SOUND "Ton bei erreichter Temp." +#define STRING_LCD_BRIGHTNESS "LCD-Helligkeit" +#define STRING_LCD_IDLE_BRIGHTNESS "LCD-Timeout-Helligkeit" +#define STRING_LCD_IDLE_TIME "LCD-Timeout" +#define STRING_LCD_LOCK_ON_IDLE "Kein Touch im Standby" +#define STRING_LED_ALWAYS_ON "LED immer ein" +#define STRING_KNOB_LED_COLOR "Drehknopf LED Farbe" +#define STRING_KNOB_LED_IDLE "Drehknopf LED idle Farbe" +#define STRING_START_GCODE_ENABLED "Gcode vor Druck" +#define STRING_END_GCODE_ENABLED "Gcode nach Druck" +#define STRING_CANCEL_GCODE_ENABLED "Gcode bei Abbruch" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Schritte pro mm" - #define STRING_FILAMENT_SETTING "Filament Durchmesser" - #define STRING_MAXACCELERATION "max. Beschleunigung" - #define STRING_MAXFEEDRATE "max. Feed Geschwindig." - #define STRING_ACCELERATION "Beschleunigung" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Nullpunkt Versatz" - #define STRING_FWRETRACT "FW Rückzug" - #define STRING_FWRECOVER "FW Rückeinschub" - #define STRING_RETRACT_AUTO "Auto-Rückzug (Firmware)" - #define STRING_HOTEND_OFFSET "Abstand 2te Düse" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Konfiguration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Einstellungen" - #define STRING_PROBE_OFFSET "Sensor Versatz" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "Treiber Strom (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "TMC Empfindlichkeit" - #define STRING_MBL_OFFSET "MBL Versatz" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Schritte pro mm" +#define STRING_FILAMENT_SETTING "Filament Durchmesser" +#define STRING_MAXACCELERATION "max. Beschleunigung" +#define STRING_MAXFEEDRATE "max. Feed Geschwindig." +#define STRING_ACCELERATION "Beschleunigung" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Nullpunkt Versatz" +#define STRING_FWRETRACT "FW Rückzug" +#define STRING_FWRECOVER "FW Rückeinschub" +#define STRING_RETRACT_AUTO "Auto-Rückzug (Firmware)" +#define STRING_HOTEND_OFFSET "Abstand 2te Düse" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Konfiguration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Einstellungen" +#define STRING_PROBE_OFFSET "Sensor Versatz" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "Treiber Strom (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "TMC Empfindlichkeit" +#define STRING_MBL_OFFSET "MBL Versatz" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Druck Beschl." - #define STRING_RETRACT_ACCELERATION "Rückzug Beschl." - #define STRING_TRAVEL_ACCELERATION "Fahrt Beschl." - #define STRING_RETRACT_LENGTH "Rückzug Länge" - #define STRING_RETRACT_SWAP_LENGTH "Rückzug Länge (Wechsel)" - #define STRING_RETRACT_FEEDRATE "Geschwindigkeit" - #define STRING_RETRACT_Z_LIFT "Z-Anhebung" - #define STRING_RECOVER_LENGTH "extra Länge" - #define STRING_SWAP_RECOVER_LENGTH "extra Länge (Wechsel)" - #define STRING_RECOVER_FEEDRATE "Geschwindigkeit" - #define STRING_SWAP_RECOVER_FEEDRATE "Geschwindigkeit (Wechsel)" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Druck Beschl." +#define STRING_RETRACT_ACCELERATION "Rückzug Beschl." +#define STRING_TRAVEL_ACCELERATION "Fahrt Beschl." +#define STRING_RETRACT_LENGTH "Rückzug Länge" +#define STRING_RETRACT_SWAP_LENGTH "Rückzug Länge (Wechsel)" +#define STRING_RETRACT_FEEDRATE "Geschwindigkeit" +#define STRING_RETRACT_Z_LIFT "Z-Anhebung" +#define STRING_RECOVER_LENGTH "extra Länge" +#define STRING_SWAP_RECOVER_LENGTH "extra Länge (Wechsel)" +#define STRING_RECOVER_FEEDRATE "Geschwindigkeit" +#define STRING_SWAP_RECOVER_FEEDRATE "Geschwindigkeit (Wechsel)" - // Save / Load - #define STRING_SAVE "Speichern" - #define STRING_RESTORE "Laden" - #define STRING_RESET "zurückset." - #define STRING_EEPROM_SAVE_INFO "Einstellungen im EEPROM speichern?" - #define STRING_EEPROM_RESTORE_INFO "Einstellungen aus EEPROM laden?" - #define STRING_EEPROM_RESET_INFO "Standardeinstellungen des Druckers wiederherstellen?" - #define STRING_SETTINGS_SAVE "Einstellungen speichern" - #define STRING_SETTINGS_RESTORE "Einstellungen wiederherst." - #define STRING_SETTINGS_RESET "Einstellungen zurücksetzen" - #define STRING_SETTINGS_RESET_INFO "Hiermit werden alle Einstellungen zurückgesetzt!\nFortfahren?" - #define STRING_SETTINGS_RESET_DONE "Einstellungen wurden erfolgreich zurückgesetzt.\nBitte neustarten." +// Save / Load +#define STRING_SAVE "Speichern" +#define STRING_RESTORE "Laden" +#define STRING_RESET "zurückset." +#define STRING_EEPROM_SAVE_INFO "Einstellungen im EEPROM speichern?" +#define STRING_EEPROM_RESTORE_INFO "Einstellungen aus EEPROM laden?" +#define STRING_EEPROM_RESET_INFO "Standardeinstellungen des Druckers wiederherstellen?" +#define STRING_SETTINGS_SAVE "Einstellungen speichern" +#define STRING_SETTINGS_RESTORE "Einstellungen wiederherst." +#define STRING_SETTINGS_RESET "Einstellungen zurücksetzen" +#define STRING_SETTINGS_RESET_INFO "Hiermit werden alle Einstellungen zurückgesetzt!\nFortfahren?" +#define STRING_SETTINGS_RESET_DONE "Einstellungen wurden erfolgreich zurückgesetzt.\nBitte neustarten." - // Navigation Buttons - #define STRING_PAGE_UP "Seite hoch" - #define STRING_PAGE_DOWN "Seite runter" - #define STRING_UP "auf" - #define STRING_DOWN "ab" - #define STRING_NEXT "weiter" - #define STRING_BACK "zurück" +// Navigation Buttons +#define STRING_PAGE_UP "Seite hoch" +#define STRING_PAGE_DOWN "Seite runter" +#define STRING_UP "auf" +#define STRING_DOWN "ab" +#define STRING_NEXT "weiter" +#define STRING_BACK "zurück" - // Value Buttons - #define STRING_INC "erhöhen" - #define STRING_DEC "verringern" - #define STRING_LOAD "Laden" - #define STRING_UNLOAD "Entladen" - #define STRING_ON "an" - #define STRING_OFF "aus" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "langsam" - #define STRING_NORMAL "normal" - #define STRING_FAST "schnell" - #define STRING_ZERO "0" - #define STRING_HALF "halb" - #define STRING_FULL "voll" - #define STRING_CUSTOM "Extras" - #define STRING_CLEAR "löschen" - #define STRING_DEFAULT "Standard" +// Value Buttons +#define STRING_INC "erhöhen" +#define STRING_DEC "verringern" +#define STRING_LOAD "Laden" +#define STRING_UNLOAD "Entladen" +#define STRING_ON "an" +#define STRING_OFF "aus" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "langsam" +#define STRING_NORMAL "normal" +#define STRING_FAST "schnell" +#define STRING_ZERO "0" +#define STRING_HALF "halb" +#define STRING_FULL "voll" +#define STRING_CUSTOM "Extras" +#define STRING_CLEAR "löschen" +#define STRING_DEFAULT "Standard" - // Action Buttons - #define STRING_START "Start" - #define STRING_STOP "Stop" - #define STRING_PAUSE "Pause" - #define STRING_RESUME "Wiederaufnahme" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Trennen" - #define STRING_SHUT_DOWN "aus" - #define STRING_FORCE_SHUT_DOWN "erzwinge" - #define STRING_EMERGENCYSTOP "NOT-AUS!" - #define STRING_PREHEAT "Vorheizen" - #define STRING_PREHEAT_BOTH "Bett+Düse" - #define STRING_COOLDOWN "Abkühlen" +// Action Buttons +#define STRING_START "Start" +#define STRING_STOP "Stop" +#define STRING_PAUSE "Pause" +#define STRING_RESUME "Wiederaufnahme" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Trennen" +#define STRING_SHUT_DOWN "aus" +#define STRING_FORCE_SHUT_DOWN "erzwinge" +#define STRING_EMERGENCYSTOP "NOT-AUS!" +#define STRING_PREHEAT "Vorheizen" +#define STRING_PREHEAT_BOTH "Bett+Düse" +#define STRING_COOLDOWN "Abkühlen" - // Dialog Buttons - #define STRING_CONFIRM "OK" //Confirm Sign - #define STRING_CANCEL "Abbruch" //Cancel Sign - #define STRING_WARNING "Warnung" //Exclamation Sign - #define STRING_CONTINUE "Fortsetzen" - #define STRING_CONFIRMATION "Sicher?" +// Dialog Buttons +#define STRING_CONFIRM "OK" //Confirm Sign +#define STRING_CANCEL "Abbruch" //Cancel Sign +#define STRING_WARNING "Warnung" //Exclamation Sign +#define STRING_CONTINUE "Fortsetzen" +#define STRING_CONFIRMATION "Sicher?" - // Process Status - #define STRING_STATUS "Status" - #define STRING_READY "Bereit" - #define STRING_BUSY "Bitte warten ..." - #define STRING_LOADING "Lade ..." - #define STRING_UNCONNECTED "Keine Verbindung zum Drucker!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "Status" +#define STRING_READY "Bereit" +#define STRING_BUSY "Bitte warten ..." +#define STRING_LOADING "Lade ..." +#define STRING_UNCONNECTED "Keine Verbindung zum Drucker!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "Info" //Info Sign - #define STRING_INVALID_VALUE "Ungültige(r) Wert(e)!" - #define STRING_TIMEOUT_REACHED "Zeit überschritten!" - #define STRING_DISCONNECT_INFO "Verbindung getrennt!" - #define STRING_SHUTTING_DOWN "Fahre herunter..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Warte bis Düsentemperatur unter\n%d℃ fällt." // Wait for the temperature of hotend to be lower than 50℃ - #define STRING_POWER_FAILED "Druck fortsetzen?" //Question Sign - #define STRING_PROCESS_COMPLETED "Prozess fertiggestellt!" - #define STRING_PROCESS_ABORTED "Prozess abgebrochen!" +// Process Info +#define STRING_INFO "Info" //Info Sign +#define STRING_INVALID_VALUE "Ungültige(r) Wert(e)!" +#define STRING_TIMEOUT_REACHED "Zeit überschritten!" +#define STRING_DISCONNECT_INFO "Verbindung getrennt!" +#define STRING_SHUTTING_DOWN "Fahre herunter..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Warte bis Düsentemperatur unter\n%d℃ fällt." // Wait for the temperature of hotend to be lower than 50℃ +#define STRING_POWER_FAILED "Druck fortsetzen?" //Question Sign +#define STRING_PROCESS_COMPLETED "Prozess fertiggestellt!" +#define STRING_PROCESS_ABORTED "Prozess abgebrochen!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT SD" - #define STRING_TFT_SD_INSERTED "SD-Karte eingesteckt" - #define STRING_TFT_SD_REMOVED "SD-Karte entfernt" - #define STRING_TFT_SD_NOT_DETECTED "Keine SD-Karte erkannt!" - #define STRING_TFT_SD_READ_ERROR "SD-Karte lesefehler!" - #define STRING_TFT_USB "USB-Stick" - #define STRING_TFT_USB_INSERTED "USB-Stick eingesteckt" - #define STRING_TFT_USB_REMOVED "USB-Stick entfernt" - #define STRING_TFT_USB_NOT_DETECTED "Kein USB-Stick erkannt!" - #define STRING_TFT_USB_READ_ERROR "USB-Stick Lesefehler!" - #define STRING_ONBOARD_SD "Onboard SD" - #define STRING_ONBOARD_USB "Onboard USB" - #define STRING_ONBOARD_SD_READ_ERROR "Onboard Media Lesefehler!" - #define STRING_FILAMENT_RUNOUT "Filament prüfen!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT SD" +#define STRING_TFT_SD_INSERTED "SD-Karte eingesteckt" +#define STRING_TFT_SD_REMOVED "SD-Karte entfernt" +#define STRING_TFT_SD_NOT_DETECTED "Keine SD-Karte erkannt!" +#define STRING_TFT_SD_READ_ERROR "SD-Karte lesefehler!" +#define STRING_TFT_USB "USB-Stick" +#define STRING_TFT_USB_INSERTED "USB-Stick eingesteckt" +#define STRING_TFT_USB_REMOVED "USB-Stick entfernt" +#define STRING_TFT_USB_NOT_DETECTED "Kein USB-Stick erkannt!" +#define STRING_TFT_USB_READ_ERROR "USB-Stick Lesefehler!" +#define STRING_ONBOARD_SD "Onboard SD" +#define STRING_ONBOARD_USB "Onboard USB" +#define STRING_ONBOARD_SD_READ_ERROR "Onboard Media Lesefehler!" +#define STRING_FILAMENT_RUNOUT "Filament prüfen!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "alle lösen" - #define STRING_XY_UNLOCK "löse XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "alle lösen" +#define STRING_XY_UNLOCK "löse XY" - #define STRING_START_PRINT "Druck starten:\n%s?" - #define STRING_STOP_PRINT "Druck abbrechen?" - #define STRING_IS_PAUSE "während Druckvorgang nicht möglich!\nDruck pausieren?" - #define STRING_M0_PAUSE "Pause durch M0 Befehl" +#define STRING_START_PRINT "Druck starten:\n%s?" +#define STRING_STOP_PRINT "Druck abbrechen?" +#define STRING_IS_PAUSE "während Druckvorgang nicht möglich!\nDruck pausieren?" +#define STRING_M0_PAUSE "Pause durch M0 Befehl" - #define STRING_TEST "Sensortest" - #define STRING_DEPLOY "ausfahren" - #define STRING_STOW "einziehen" - #define STRING_REPEAT "Präzision" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Sensortest" +#define STRING_DEPLOY "ausfahren" +#define STRING_STOW "einziehen" +#define STRING_REPEAT "Präzision" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Düse" - #define STRING_BED "Heizbett" - #define STRING_CHAMBER "Kammer" - #define STRING_FAN "Lüfter" +// Printer Tools +#define STRING_NOZZLE "Düse" +#define STRING_BED "Heizbett" +#define STRING_CHAMBER "Kammer" +#define STRING_FAN "Lüfter" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 Sek." - #define STRING_10_SECONDS "10 Sek." - #define STRING_30_SECONDS "30 Sek." - #define STRING_60_SECONDS "1 Min." - #define STRING_120_SECONDS "2 Min." - #define STRING_300_SECONDS "5 Min." +#define STRING_5_SECONDS "5 Sek." +#define STRING_10_SECONDS "10 Sek." +#define STRING_30_SECONDS "30 Sek." +#define STRING_60_SECONDS "1 Min." +#define STRING_120_SECONDS "2 Min." +#define STRING_300_SECONDS "5 Min." - // Colors - #define STRING_WHITE "weiß" - #define STRING_BLACK "schwarz" - #define STRING_BLUE "blau" - #define STRING_RED "rot" - #define STRING_GREEN "grün" - #define STRING_CYAN "cyan" - #define STRING_YELLOW "gelb" - #define STRING_BROWN "braun" - #define STRING_GRAY "grau" - #define STRING_ORANGE "orange" - #define STRING_INDIGO "indigo" - #define STRING_VIOLET "violet" - #define STRING_MAGENTA "magenta" - #define STRING_PURPLE "lila" - #define STRING_LIME "grüngelb" - #define STRING_DARKBLUE "dunkelblau" - #define STRING_DARKGREEN "dunkelgrün" - #define STRING_DARKGRAY "dunkelgrau" +// Colors +#define STRING_WHITE "weiß" +#define STRING_BLACK "schwarz" +#define STRING_BLUE "blau" +#define STRING_RED "rot" +#define STRING_GREEN "grün" +#define STRING_CYAN "cyan" +#define STRING_YELLOW "gelb" +#define STRING_BROWN "braun" +#define STRING_GRAY "grau" +#define STRING_ORANGE "orange" +#define STRING_INDIGO "indigo" +#define STRING_VIOLET "violet" +#define STRING_MAGENTA "magenta" +#define STRING_PURPLE "lila" +#define STRING_LIME "grüngelb" +#define STRING_DARKBLUE "dunkelblau" +#define STRING_DARKGREEN "dunkelgrün" +#define STRING_DARKGRAY "dunkelgrau" - // Menus - #define STRING_HEAT "Heizen" - #define STRING_MOVE "Verfahren" - #define STRING_HOME "Grundst.fahrt" - #define STRING_PRINT "Drucken" - #define STRING_EXTRUDE "Extruder" - #define STRING_SETTINGS "Parameter" - #define STRING_SCREEN_SETTINGS "Bildschirm" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Töne" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Drucker" - #define STRING_PARAMETER_SETTINGS "Parameter" - #define STRING_FEATURE_SETTINGS "Andere" - #define STRING_CONNECTION_SETTINGS "Verbindung" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "Baudrate" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "LED Farbe" - #define STRING_RGB_OFF "LED aus" - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "Leveln" - #define STRING_POINT_1 "Punkt 1" - #define STRING_POINT_2 "Punkt 2" - #define STRING_POINT_3 "Punkt 3" - #define STRING_POINT_4 "Punkt 4" - #define STRING_POINT_5 "Punkt 5" - #define STRING_BED_LEVELING "Vermessen" - #define STRING_BL_COMPLETE "Bett-Vermessung ausgeführt." - #define STRING_BL_SMART_FILL "Fehlende Messpunkte wurden berechent.\n\nBitte 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 "Bett Level (Raster)" - #define STRING_ABL_SETTINGS "Bett Level (auto)" - #define STRING_ABL_SETTINGS_BBL "Bett Level (bilinear)" - #define STRING_ABL_SETTINGS_UBL "Bett Level (Unified)" - #define STRING_ABL_SETTINGS_UBL_SAVE "im Slot speichern" - #define STRING_ABL_SETTINGS_UBL_LOAD "aus Slot laden" - #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 "Mesh im EEPROM speichern? (laden nach Neustart)" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Der Kantenabstand liegt unter dem Sondenversatz X/Y und einige Zielpunkte könnten nicht erreichbar sein.\nMöchten Sie einen sicheren Kantenabstand verwenden?" - #define STRING_P_OFFSET "P Versatz" - #define STRING_H_OFFSET "H Versatz" - #define STRING_DISTANCE "Abstand" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Laden/Entladen" - #define STRING_LOAD_UNLOAD_SHORT "(ent)laden" - #define STRING_TOUCHSCREEN_ADJUST "TSC kalib." - #define STRING_MORE "Mehr" - #define STRING_SCREEN_INFO "Info" - #define STRING_BG_COLOR "Hintergrundfarbe" - #define STRING_FONT_COLOR "Schriftfarbe" - #define STRING_PERCENTAGE "Prozent" - #define STRING_PERCENTAGE_SPEED "Geschw." - #define STRING_PERCENTAGE_FLOW "Fluss" - #define STRING_BABYSTEP "BabyStep" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Touchscreen kalibrieren" - #define STRING_ADJUST_INFO "Roten Punkt antippen" - #define STRING_ADJUST_OK "Erfolgreich kalibriert!" - #define STRING_ADJUST_FAILED "Kalibrierung fehlgeschlagen!\nErneut versuchen?" - #define STRING_UNIFIEDMOVE "Bewegung" - #define STRING_UNIFIEDHEAT "Heiz.Lüft." - #define STRING_TOUCH_TO_EXIT "Zum Verlassen, Bildschirm berühren." - #define STRING_MAINMENU "Menü" - #define STRING_TUNING "Justage" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC autotune" - #define STRING_MPC_METHOD "Methode:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID autotune" - #define STRING_TUNE_START_INFO "Autotune dauert einige Zeit.\nWeitermachen?" - #define STRING_TUNE_EXTRUDER "Schritte" - #define STRING_TUNE_EXT_EXTRUDE_100 "100mm ext." - #define STRING_TUNE_EXT_TEMP "Düsentemperatur" - #define STRING_TUNE_EXT_MARK120MM "Filament 120 mm über Einlass markieren,\ndann '%s' drücken & nach Extrusion\nerneut messen." - #define STRING_TUNE_EXT_ADJ_ESTEPS "E-Schritte einstellen" - #define STRING_TUNE_EXT_ESTEPS_SAVED "Neue E-Schritte gespeichert! Bitte auch im EEPROM speichern.\nNeuer Wert: %0.2f" - #define STRING_TUNE_EXT_MEASURED "Restlänge:" - #define STRING_TUNE_EXT_OLD_ESTEP "alte E-Schritte: %0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "neue E-Schritte: %0.2f" - #define STRING_NOTIFICATIONS "Benachrichtigungen" - #define STRING_MESH_EDITOR "Mesh edit." - #define STRING_MESH_TUNER "Mesh anp." - #define STRING_CASE_LIGHT "Bauraumbeleuchtung" - #define STRING_LOAD_STARTED "Lade Filament.\nBitte warten, bis der Vorgang beendet ist." - #define STRING_UNLOAD_STARTED "Entlade Filament.\nBitte warten, bis der Vorgang beendet ist." - #define STRING_HEATERS_ON "Heizung noch aktiv.\nSoll das Heizen beendet werden?" - #define STRING_PRINT_FINISHED "Druck beendet!" - #define STRING_MAIN_SCREEN "Hauptmenü" - #define STRING_PREVIOUS_PRINT_DATA "Info" - #define STRING_PRINT_TIME "Druck Zeit: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament Länge: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament Gewicht: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament Kosten: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament Daten nicht verfügbar." - #define STRING_CLICK_FOR_MORE "Klick für Statistik" - #define STRING_EXT_TEMPLOW "Temperatur der Düse liegt unter dem Minimum (%d℃)." - #define STRING_HEAT_HOTEND "Heize Düse auf %d℃?" - #define STRING_DESIRED_TEMPLOW "Temperatur der Düse liegt unter\nder gewünschten Temperatur (%d℃)." - #define STRING_WAIT_HEAT_UP "Bitte warten, bis Temperatur erreicht." - #define STRING_Z_ALIGN "Z ausr." - #define STRING_MACROS "Makros" - #define STRING_MESH_VALID "Mesh Validierung" - #define STRING_CONNECT_PROBE "Bitte Sensor anschließen, bevor der Vorgang gestartet wird. Danach bitte Sensor wieder trennen." - #define STRING_DISCONNECT_PROBE "Bitte sicherstellen, dass vor Nutzung dieser Funktion der Sensor getrennt wurde." - #define STRING_CALIBRATION "Kalibrierung" +// Menus +#define STRING_HEAT "Heizen" +#define STRING_MOVE "Verfahren" +#define STRING_HOME "Grundst.fahrt" +#define STRING_PRINT "Drucken" +#define STRING_EXTRUDE "Extruder" +#define STRING_SETTINGS "Parameter" +#define STRING_SCREEN_SETTINGS "Bildschirm" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Töne" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Drucker" +#define STRING_PARAMETER_SETTINGS "Parameter" +#define STRING_FEATURE_SETTINGS "Andere" +#define STRING_CONNECTION_SETTINGS "Verbindung" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "Baudrate" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "LED Farbe" +#define STRING_RGB_OFF "LED aus" +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "Leveln" +#define STRING_POINT_1 "Punkt 1" +#define STRING_POINT_2 "Punkt 2" +#define STRING_POINT_3 "Punkt 3" +#define STRING_POINT_4 "Punkt 4" +#define STRING_POINT_5 "Punkt 5" +#define STRING_BED_LEVELING "Vermessen" +#define STRING_BL_COMPLETE "Bett-Vermessung ausgeführt." +#define STRING_BL_SMART_FILL "Fehlende Messpunkte wurden berechent.\n\nBitte 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 "Bett Level (Raster)" +#define STRING_ABL_SETTINGS "Bett Level (auto)" +#define STRING_ABL_SETTINGS_BBL "Bett Level (bilinear)" +#define STRING_ABL_SETTINGS_UBL "Bett Level (Unified)" +#define STRING_ABL_SETTINGS_UBL_SAVE "im Slot speichern" +#define STRING_ABL_SETTINGS_UBL_LOAD "aus Slot laden" +#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 "Mesh im EEPROM speichern? (laden nach Neustart)" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Der Kantenabstand liegt unter dem Sondenversatz X/Y und einige Zielpunkte könnten nicht erreichbar sein.\nMöchten Sie einen sicheren Kantenabstand verwenden?" +#define STRING_P_OFFSET "P Versatz" +#define STRING_H_OFFSET "H Versatz" +#define STRING_DISTANCE "Abstand" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Laden/Entladen" +#define STRING_LOAD_UNLOAD_SHORT "(ent)laden" +#define STRING_TOUCHSCREEN_ADJUST "TSC kalib." +#define STRING_MORE "Mehr" +#define STRING_SCREEN_INFO "Info" +#define STRING_BG_COLOR "Hintergrundfarbe" +#define STRING_FONT_COLOR "Schriftfarbe" +#define STRING_PERCENTAGE "Prozent" +#define STRING_PERCENTAGE_SPEED "Geschw." +#define STRING_PERCENTAGE_FLOW "Fluss" +#define STRING_BABYSTEP "BabyStep" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Touchscreen kalibrieren" +#define STRING_ADJUST_INFO "Roten Punkt antippen" +#define STRING_ADJUST_OK "Erfolgreich kalibriert!" +#define STRING_ADJUST_FAILED "Kalibrierung fehlgeschlagen!\nErneut versuchen?" +#define STRING_UNIFIEDMOVE "Bewegung" +#define STRING_UNIFIEDHEAT "Heiz.Lüft." +#define STRING_TOUCH_TO_EXIT "Zum Verlassen, Bildschirm berühren." +#define STRING_MAINMENU "Menü" +#define STRING_TUNING "Justage" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC autotune" +#define STRING_MPC_METHOD "Methode:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID autotune" +#define STRING_TUNE_START_INFO "Autotune dauert einige Zeit.\nWeitermachen?" +#define STRING_TUNE_EXTRUDER "Schritte" +#define STRING_TUNE_EXT_EXTRUDE_100 "100mm ext." +#define STRING_TUNE_EXT_TEMP "Düsentemperatur" +#define STRING_TUNE_EXT_MARK120MM "Filament 120 mm über Einlass markieren,\ndann '%s' drücken & nach Extrusion\nerneut messen." +#define STRING_TUNE_EXT_ADJ_ESTEPS "E-Schritte einstellen" +#define STRING_TUNE_EXT_ESTEPS_SAVED "Neue E-Schritte gespeichert! Bitte auch im EEPROM speichern.\nNeuer Wert: %0.2f" +#define STRING_TUNE_EXT_MEASURED "Restlänge:" +#define STRING_TUNE_EXT_OLD_ESTEP "alte E-Schritte: %0.2f" +#define STRING_TUNE_EXT_NEW_ESTEP "neue E-Schritte: %0.2f" +#define STRING_NOTIFICATIONS "Benachrichtigungen" +#define STRING_MESH_EDITOR "Mesh edit." +#define STRING_MESH_TUNER "Mesh anp." +#define STRING_CASE_LIGHT "Bauraumbeleuchtung" +#define STRING_LOAD_STARTED "Lade Filament.\nBitte warten, bis der Vorgang beendet ist." +#define STRING_UNLOAD_STARTED "Entlade Filament.\nBitte warten, bis der Vorgang beendet ist." +#define STRING_HEATERS_ON "Heizung noch aktiv.\nSoll das Heizen beendet werden?" +#define STRING_PRINT_FINISHED "Druck beendet!" +#define STRING_MAIN_SCREEN "Hauptmenü" +#define STRING_PREVIOUS_PRINT_DATA "Info" +#define STRING_PRINT_TIME "Druck Zeit: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament Länge: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament Gewicht: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament Kosten: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament Daten nicht verfügbar." +#define STRING_CLICK_FOR_MORE "Klick für Statistik" +#define STRING_EXT_TEMPLOW "Temperatur der Düse liegt unter dem Minimum (%d℃)." +#define STRING_HEAT_HOTEND "Heize Düse auf %d℃?" +#define STRING_DESIRED_TEMPLOW "Temperatur der Düse liegt unter\nder gewünschten Temperatur (%d℃)." +#define STRING_WAIT_HEAT_UP "Bitte warten, bis Temperatur erreicht." +#define STRING_Z_ALIGN "Z ausr." +#define STRING_MACROS "Makros" +#define STRING_MESH_VALID "Mesh Validierung" +#define STRING_CONNECT_PROBE "Bitte Sensor anschließen, bevor der Vorgang gestartet wird. Danach bitte Sensor wieder trennen." +#define STRING_DISCONNECT_PROBE "Bitte sicherstellen, dass vor Nutzung dieser Funktion der Sensor getrennt wurde." +#define STRING_CALIBRATION "Kalibrierung" #endif diff --git a/TFT/src/User/API/Language/language_en.h b/TFT/src/User/API/Language/language_en.h index 94c0cb34f..07aafea4c 100644 --- a/TFT/src/User/API/Language/language_en.h +++ b/TFT/src/User/API/Language/language_en.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_EN_H_ #define _LANGUAGE_EN_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "English" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "Rotate UI" - #define STRING_ACK_NOTIFICATION "ACK notification style" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "Files viewer List Mode" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Fan Speed in Percentage" - #define STRING_PERSISTENT_INFO "Persistent Status Info" - #define STRING_TERMINAL_ACK "Show ACK in Terminal" - #define STRING_SERIAL_ALWAYS_ON "Serial Always ON" - #define STRING_MARLIN_FULLSCREEN "Fullscreen Mode" - #define STRING_MARLIN_SHOW_TITLE "Show Title" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "Move speed(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "Auto shutdown" - #define STRING_FIL_RUNOUT "Filament sensor" - #define STRING_PL_RECOVERY "Power loss recovery" - #define STRING_PL_RECOVERY_HOME "Home after power loss" - #define STRING_BTT_MINI_UPS "BTT UPS Support" - #define STRING_TOUCH_SOUND "Touch sounds" - #define STRING_TOAST_SOUND "Toast Notifications" - #define STRING_ALERT_SOUND "Popups and Alerts" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "Brightness" - #define STRING_LCD_IDLE_BRIGHTNESS "Idle brightness" - #define STRING_LCD_IDLE_TIME "Idle timeout" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "Rotary Knob LED" - #define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" - #define STRING_START_GCODE_ENABLED "Start Gcode before print" - #define STRING_END_GCODE_ENABLED "End Gcode after print" - #define STRING_CANCEL_GCODE_ENABLED "Cancel Gcode" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "English" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "Rotate UI" +#define STRING_ACK_NOTIFICATION "ACK notification style" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "Files viewer List Mode" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Fan Speed in Percentage" +#define STRING_PERSISTENT_INFO "Persistent Status Info" +#define STRING_TERMINAL_ACK "Show ACK in Terminal" +#define STRING_SERIAL_ALWAYS_ON "Serial Always ON" +#define STRING_MARLIN_FULLSCREEN "Fullscreen Mode" +#define STRING_MARLIN_SHOW_TITLE "Show Title" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "Move speed(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "Auto shutdown" +#define STRING_FIL_RUNOUT "Filament sensor" +#define STRING_PL_RECOVERY "Power loss recovery" +#define STRING_PL_RECOVERY_HOME "Home after power loss" +#define STRING_BTT_MINI_UPS "BTT UPS Support" +#define STRING_TOUCH_SOUND "Touch sounds" +#define STRING_TOAST_SOUND "Toast Notifications" +#define STRING_ALERT_SOUND "Popups and Alerts" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "Brightness" +#define STRING_LCD_IDLE_BRIGHTNESS "Idle brightness" +#define STRING_LCD_IDLE_TIME "Idle timeout" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "Rotary Knob LED" +#define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" +#define STRING_START_GCODE_ENABLED "Start Gcode before print" +#define STRING_END_GCODE_ENABLED "End Gcode after print" +#define STRING_CANCEL_GCODE_ENABLED "Cancel Gcode" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Steps per mm" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "Max Acceleration" - #define STRING_MAXFEEDRATE "Max Feed Rate" - #define STRING_ACCELERATION "Acceleration" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home Offset" - #define STRING_FWRETRACT "FW Retraction" - #define STRING_FWRECOVER "FW Retraction Recover" - #define STRING_RETRACT_AUTO "Auto Firmware Retract" - #define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Probe Offset" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "Driver Current (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Steps per mm" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "Max Acceleration" +#define STRING_MAXFEEDRATE "Max Feed Rate" +#define STRING_ACCELERATION "Acceleration" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home Offset" +#define STRING_FWRETRACT "FW Retraction" +#define STRING_FWRECOVER "FW Retraction Recover" +#define STRING_RETRACT_AUTO "Auto Firmware Retract" +#define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Probe Offset" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "Driver Current (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Print Acceleration" - #define STRING_RETRACT_ACCELERATION "Retract Acceleration" - #define STRING_TRAVEL_ACCELERATION "Travel Acceleration" - #define STRING_RETRACT_LENGTH "Retract length" - #define STRING_RETRACT_SWAP_LENGTH "Retract swap length" - #define STRING_RETRACT_FEEDRATE "Retract feedrate" - #define STRING_RETRACT_Z_LIFT "Z lift on retraction" - #define STRING_RECOVER_LENGTH "Extra recover length" - #define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" - #define STRING_RECOVER_FEEDRATE "Recover feedrate" - #define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Print Acceleration" +#define STRING_RETRACT_ACCELERATION "Retract Acceleration" +#define STRING_TRAVEL_ACCELERATION "Travel Acceleration" +#define STRING_RETRACT_LENGTH "Retract length" +#define STRING_RETRACT_SWAP_LENGTH "Retract swap length" +#define STRING_RETRACT_FEEDRATE "Retract feedrate" +#define STRING_RETRACT_Z_LIFT "Z lift on retraction" +#define STRING_RECOVER_LENGTH "Extra recover length" +#define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" +#define STRING_RECOVER_FEEDRATE "Recover feedrate" +#define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" - // Save / Load - #define STRING_SAVE "Save" - #define STRING_RESTORE "Restore" - #define STRING_RESET "Reset" - #define STRING_EEPROM_SAVE_INFO "Save printer settings to EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Reload settings from EEPROM?" - #define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" - #define STRING_SETTINGS_SAVE "Save settings" - #define STRING_SETTINGS_RESTORE "Restore settings" - #define STRING_SETTINGS_RESET "Reset default settings" - #define STRING_SETTINGS_RESET_INFO "Reset all settings to default values?" - #define STRING_SETTINGS_RESET_DONE "Reset all settings successful.\nPlease restart the device." +// Save / Load +#define STRING_SAVE "Save" +#define STRING_RESTORE "Restore" +#define STRING_RESET "Reset" +#define STRING_EEPROM_SAVE_INFO "Save printer settings to EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Reload settings from EEPROM?" +#define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" +#define STRING_SETTINGS_SAVE "Save settings" +#define STRING_SETTINGS_RESTORE "Restore settings" +#define STRING_SETTINGS_RESET "Reset default settings" +#define STRING_SETTINGS_RESET_INFO "Reset all settings to default values?" +#define STRING_SETTINGS_RESET_DONE "Reset all settings successful.\nPlease restart the device." - // Navigation Buttons - #define STRING_PAGE_UP "Page up" - #define STRING_PAGE_DOWN "Page down" - #define STRING_UP "Up" - #define STRING_DOWN "Down" - #define STRING_NEXT "Next" - #define STRING_BACK "Back" +// Navigation Buttons +#define STRING_PAGE_UP "Page up" +#define STRING_PAGE_DOWN "Page down" +#define STRING_UP "Up" +#define STRING_DOWN "Down" +#define STRING_NEXT "Next" +#define STRING_BACK "Back" - // Value Buttons - #define STRING_INC "Increase" - #define STRING_DEC "Decrease" - #define STRING_LOAD "Load" - #define STRING_UNLOAD "Unload" - #define STRING_ON "ON" - #define STRING_OFF "OFF" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Slow" - #define STRING_NORMAL "Normal" - #define STRING_FAST "Fast" - #define STRING_ZERO "Zero" - #define STRING_HALF "Half" - #define STRING_FULL "Full" - #define STRING_CUSTOM "Custom" - #define STRING_CLEAR "Clear" - #define STRING_DEFAULT "Default" +// Value Buttons +#define STRING_INC "Increase" +#define STRING_DEC "Decrease" +#define STRING_LOAD "Load" +#define STRING_UNLOAD "Unload" +#define STRING_ON "ON" +#define STRING_OFF "OFF" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Slow" +#define STRING_NORMAL "Normal" +#define STRING_FAST "Fast" +#define STRING_ZERO "Zero" +#define STRING_HALF "Half" +#define STRING_FULL "Full" +#define STRING_CUSTOM "Custom" +#define STRING_CLEAR "Clear" +#define STRING_DEFAULT "Default" - // Action Buttons - #define STRING_START "Start" - #define STRING_STOP "Stop" - #define STRING_PAUSE "Pause" - #define STRING_RESUME "Resume" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Disconnect" - #define STRING_SHUT_DOWN "Shut down" - #define STRING_FORCE_SHUT_DOWN "Force" - #define STRING_EMERGENCYSTOP "EM. STOP" - #define STRING_PREHEAT "Preheat" - #define STRING_PREHEAT_BOTH "Both" - #define STRING_COOLDOWN "Cool down" +// Action Buttons +#define STRING_START "Start" +#define STRING_STOP "Stop" +#define STRING_PAUSE "Pause" +#define STRING_RESUME "Resume" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Disconnect" +#define STRING_SHUT_DOWN "Shut down" +#define STRING_FORCE_SHUT_DOWN "Force" +#define STRING_EMERGENCYSTOP "EM. STOP" +#define STRING_PREHEAT "Preheat" +#define STRING_PREHEAT_BOTH "Both" +#define STRING_COOLDOWN "Cool down" - // Dialog Buttons - #define STRING_CONFIRM "\u088E OK" // Confirm Sign - #define STRING_CANCEL "\u088F Cancel" // Cancel Sign - #define STRING_WARNING "Warning" // Exclamation Sign - #define STRING_CONTINUE "Continue" - #define STRING_CONFIRMATION "Are you sure?" +// Dialog Buttons +#define STRING_CONFIRM "\u088E OK" // Confirm Sign +#define STRING_CANCEL "\u088F Cancel" // Cancel Sign +#define STRING_WARNING "Warning" // Exclamation Sign +#define STRING_CONTINUE "Continue" +#define STRING_CONFIRMATION "Are you sure?" - // Process Status - #define STRING_STATUS "Status" - #define STRING_READY "Ready" - #define STRING_BUSY "Busy processing, please wait..." - #define STRING_LOADING "Loading..." - #define STRING_UNCONNECTED "No printer attached!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "Status" +#define STRING_READY "Ready" +#define STRING_BUSY "Busy processing, please wait..." +#define STRING_LOADING "Loading..." +#define STRING_UNCONNECTED "No printer attached!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "Info" // Info Sign - #define STRING_INVALID_VALUE "Invalid value(s)" - #define STRING_TIMEOUT_REACHED "Timeout reached!" - #define STRING_DISCONNECT_INFO "Now you can control the printer by your computer!" - #define STRING_SHUTTING_DOWN "Shutting down..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Wait for the hotend temperature to be lower than %d℃" - #define STRING_POWER_FAILED "Continue printing?" // Question Sign - #define STRING_PROCESS_COMPLETED "Process completed!" - #define STRING_PROCESS_ABORTED "Process aborted!" +// Process Info +#define STRING_INFO "Info" // Info Sign +#define STRING_INVALID_VALUE "Invalid value(s)" +#define STRING_TIMEOUT_REACHED "Timeout reached!" +#define STRING_DISCONNECT_INFO "Now you can control the printer by your computer!" +#define STRING_SHUTTING_DOWN "Shutting down..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Wait for the hotend temperature to be lower than %d℃" +#define STRING_POWER_FAILED "Continue printing?" // Question Sign +#define STRING_PROCESS_COMPLETED "Process completed!" +#define STRING_PROCESS_ABORTED "Process aborted!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT SD" - #define STRING_TFT_SD_INSERTED "SD card inserted" - #define STRING_TFT_SD_REMOVED "SD card removed" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "SD card reading error!" - #define STRING_TFT_USB "TFT USB" - #define STRING_TFT_USB_INSERTED "USB disk inserted" - #define STRING_TFT_USB_REMOVED "USB disk removed" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "USB disk reading error!" - #define STRING_ONBOARD_SD "Onboard SD" - #define STRING_ONBOARD_USB "OnboardUSB" - #define STRING_ONBOARD_SD_READ_ERROR "Onboard media reading error!" - #define STRING_FILAMENT_RUNOUT "Filament runout!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT SD" +#define STRING_TFT_SD_INSERTED "SD card inserted" +#define STRING_TFT_SD_REMOVED "SD card removed" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "SD card reading error!" +#define STRING_TFT_USB "TFT USB" +#define STRING_TFT_USB_INSERTED "USB disk inserted" +#define STRING_TFT_USB_REMOVED "USB disk removed" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "USB disk reading error!" +#define STRING_ONBOARD_SD "Onboard SD" +#define STRING_ONBOARD_USB "OnboardUSB" +#define STRING_ONBOARD_SD_READ_ERROR "Onboard media reading error!" +#define STRING_FILAMENT_RUNOUT "Filament runout!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Disarm All" - #define STRING_XY_UNLOCK "Disarm XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Disarm All" +#define STRING_XY_UNLOCK "Disarm XY" - #define STRING_START_PRINT "Start printing:\n%s?" - #define STRING_STOP_PRINT "Stop printing?" - #define STRING_IS_PAUSE "Action not allowed while printing.\n\nPause printing?" - #define STRING_M0_PAUSE "Paused by M0 command" +#define STRING_START_PRINT "Start printing:\n%s?" +#define STRING_STOP_PRINT "Stop printing?" +#define STRING_IS_PAUSE "Action not allowed while printing.\n\nPause printing?" +#define STRING_M0_PAUSE "Paused by M0 command" - #define STRING_TEST "Test" - #define STRING_DEPLOY "Deploy" - #define STRING_STOW "Stow" - #define STRING_REPEAT "Repeat" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Test" +#define STRING_DEPLOY "Deploy" +#define STRING_STOW "Stow" +#define STRING_REPEAT "Repeat" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Nozzle" - #define STRING_BED "Hotbed" - #define STRING_CHAMBER "Chamber" - #define STRING_FAN "Fan" +// Printer Tools +#define STRING_NOZZLE "Nozzle" +#define STRING_BED "Hotbed" +#define STRING_CHAMBER "Chamber" +#define STRING_FAN "Fan" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 Sec." - #define STRING_10_SECONDS "10 Sec." - #define STRING_30_SECONDS "30 Sec." - #define STRING_60_SECONDS "1 Min." - #define STRING_120_SECONDS "2 Min." - #define STRING_300_SECONDS "5 Min." +#define STRING_5_SECONDS "5 Sec." +#define STRING_10_SECONDS "10 Sec." +#define STRING_30_SECONDS "30 Sec." +#define STRING_60_SECONDS "1 Min." +#define STRING_120_SECONDS "2 Min." +#define STRING_300_SECONDS "5 Min." - // Colors - #define STRING_WHITE "White" - #define STRING_BLACK "Black" - #define STRING_BLUE "Blue" - #define STRING_RED "Red" - #define STRING_GREEN "Green" - #define STRING_CYAN "Cyan" - #define STRING_YELLOW "Yellow" - #define STRING_BROWN "Brown" - #define STRING_GRAY "Gray" - #define STRING_ORANGE "Orange" - #define STRING_INDIGO "Indigo" - #define STRING_VIOLET "Violet" - #define STRING_MAGENTA "Magenta" - #define STRING_PURPLE "Purple" - #define STRING_LIME "Lime" - #define STRING_DARKBLUE "DarkBlue" - #define STRING_DARKGREEN "DarkGreen" - #define STRING_DARKGRAY "DarkGray" +// Colors +#define STRING_WHITE "White" +#define STRING_BLACK "Black" +#define STRING_BLUE "Blue" +#define STRING_RED "Red" +#define STRING_GREEN "Green" +#define STRING_CYAN "Cyan" +#define STRING_YELLOW "Yellow" +#define STRING_BROWN "Brown" +#define STRING_GRAY "Gray" +#define STRING_ORANGE "Orange" +#define STRING_INDIGO "Indigo" +#define STRING_VIOLET "Violet" +#define STRING_MAGENTA "Magenta" +#define STRING_PURPLE "Purple" +#define STRING_LIME "Lime" +#define STRING_DARKBLUE "DarkBlue" +#define STRING_DARKGREEN "DarkGreen" +#define STRING_DARKGRAY "DarkGray" - // Menus - #define STRING_HEAT "Heat" - #define STRING_MOVE "Move" - #define STRING_HOME "Home" - #define STRING_PRINT "Print" - #define STRING_EXTRUDE "Extrude" - #define STRING_SETTINGS "Settings" - #define STRING_SCREEN_SETTINGS "Screen" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Sound" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Machine" - #define STRING_PARAMETER_SETTINGS "Settings" - #define STRING_FEATURE_SETTINGS "Feature" - #define STRING_CONNECTION_SETTINGS "Connection" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "BaudRate" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "LED Color" - #define STRING_RGB_OFF "LED Off" - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "Leveling" - #define STRING_POINT_1 "Point 1" - #define STRING_POINT_2 "Point 2" - #define STRING_POINT_3 "Point 3" - #define STRING_POINT_4 "Point 4" - #define STRING_POINT_5 "Point 5" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Bed Leveling Complete" - #define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" - #define STRING_BL_ENABLE "BL: on" - #define STRING_BL_DISABLE "BL: off" - #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_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 "Save the mesh to EEPROM to load after reboot?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Distance" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Load/Unload" - #define STRING_LOAD_UNLOAD_SHORT "(Un)Load" - #define STRING_TOUCHSCREEN_ADJUST "TSC Adjust" - #define STRING_MORE "More" - #define STRING_SCREEN_INFO "Info" - #define STRING_BG_COLOR "Background color" - #define STRING_FONT_COLOR "Font color" - #define STRING_PERCENTAGE "Percentage" - #define STRING_PERCENTAGE_SPEED "Speed" - #define STRING_PERCENTAGE_FLOW "Flow" - #define STRING_BABYSTEP "BabyStep" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Touch Screen Calibration" - #define STRING_ADJUST_INFO "Please click on the red dot" - #define STRING_ADJUST_OK "Adjustment success" - #define STRING_ADJUST_FAILED "Adjustment failed, please try again." - #define STRING_UNIFIEDMOVE "Movement" - #define STRING_UNIFIEDHEAT "Heat/Fan" - #define STRING_TOUCH_TO_EXIT "Touch anywhere to exit" - #define STRING_MAINMENU "Menu" - #define STRING_TUNING "Tuning" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC autotune" - #define STRING_MPC_METHOD "Method:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID autotune" - #define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" - #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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" - #define STRING_MESH_EDITOR "Mesh edit" - #define STRING_MESH_TUNER "Mesh tuner" - #define STRING_CASE_LIGHT "Case light" - #define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." - #define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." - #define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" - #define STRING_PRINT_FINISHED "Print finished" - #define STRING_MAIN_SCREEN "Main" - #define STRING_PREVIOUS_PRINT_DATA "Brief" - #define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament cost: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament data not available." - #define STRING_CLICK_FOR_MORE "Click for summary" - #define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." - #define STRING_HEAT_HOTEND "Heat hotend to %d℃?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below desired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "Heat" +#define STRING_MOVE "Move" +#define STRING_HOME "Home" +#define STRING_PRINT "Print" +#define STRING_EXTRUDE "Extrude" +#define STRING_SETTINGS "Settings" +#define STRING_SCREEN_SETTINGS "Screen" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Sound" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Machine" +#define STRING_PARAMETER_SETTINGS "Settings" +#define STRING_FEATURE_SETTINGS "Feature" +#define STRING_CONNECTION_SETTINGS "Connection" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "BaudRate" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "LED Color" +#define STRING_RGB_OFF "LED Off" +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "Leveling" +#define STRING_POINT_1 "Point 1" +#define STRING_POINT_2 "Point 2" +#define STRING_POINT_3 "Point 3" +#define STRING_POINT_4 "Point 4" +#define STRING_POINT_5 "Point 5" +#define STRING_BED_LEVELING "Bed Level" +#define STRING_BL_COMPLETE "Bed Leveling Complete" +#define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" +#define STRING_BL_ENABLE "BL: on" +#define STRING_BL_DISABLE "BL: off" +#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_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 "Save the mesh to EEPROM to load after reboot?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Distance" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Load/Unload" +#define STRING_LOAD_UNLOAD_SHORT "(Un)Load" +#define STRING_TOUCHSCREEN_ADJUST "TSC Adjust" +#define STRING_MORE "More" +#define STRING_SCREEN_INFO "Info" +#define STRING_BG_COLOR "Background color" +#define STRING_FONT_COLOR "Font color" +#define STRING_PERCENTAGE "Percentage" +#define STRING_PERCENTAGE_SPEED "Speed" +#define STRING_PERCENTAGE_FLOW "Flow" +#define STRING_BABYSTEP "BabyStep" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Touch Screen Calibration" +#define STRING_ADJUST_INFO "Please click on the red dot" +#define STRING_ADJUST_OK "Adjustment success" +#define STRING_ADJUST_FAILED "Adjustment failed, please try again." +#define STRING_UNIFIEDMOVE "Movement" +#define STRING_UNIFIEDHEAT "Heat/Fan" +#define STRING_TOUCH_TO_EXIT "Touch anywhere to exit" +#define STRING_MAINMENU "Menu" +#define STRING_TUNING "Tuning" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC autotune" +#define STRING_MPC_METHOD "Method:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID autotune" +#define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" +#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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" +#define STRING_MESH_EDITOR "Mesh edit" +#define STRING_MESH_TUNER "Mesh tuner" +#define STRING_CASE_LIGHT "Case light" +#define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." +#define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." +#define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" +#define STRING_PRINT_FINISHED "Print finished" +#define STRING_MAIN_SCREEN "Main" +#define STRING_PREVIOUS_PRINT_DATA "Brief" +#define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament cost: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament data not available." +#define STRING_CLICK_FOR_MORE "Click for summary" +#define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." +#define STRING_HEAT_HOTEND "Heat hotend to %d℃?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below desired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_es.h b/TFT/src/User/API/Language/language_es.h index 6828c34f9..1689d882b 100644 --- a/TFT/src/User/API/Language/language_es.h +++ b/TFT/src/User/API/Language/language_es.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_ES_H_ #define _LANGUAGE_ES_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Español" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "Rotar" - #define STRING_ACK_NOTIFICATION "ACK notification style" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "Files viewer List Mode" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" - #define STRING_PERSISTENT_INFO "Persistent Status Info" - #define STRING_TERMINAL_ACK "Show ACK in Terminal" - #define STRING_SERIAL_ALWAYS_ON "Serial Always ON" - #define STRING_MARLIN_FULLSCREEN "Marlin mode in fullscreen" - #define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "Move speed(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "Apag. aut." - #define STRING_FIL_RUNOUT "Filament sensor" - #define STRING_PL_RECOVERY "Power loss recovery" - #define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" - #define STRING_BTT_MINI_UPS "BTT UPS Support" - #define STRING_TOUCH_SOUND "Touch sounds" - #define STRING_TOAST_SOUND "Toast Notifications" - #define STRING_ALERT_SOUND "Popups and Alerts" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "Brightness" - #define STRING_LCD_IDLE_BRIGHTNESS "Idle brightness" - #define STRING_LCD_IDLE_TIME "Idle timeout" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "Rotary Knob LED" - #define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" - #define STRING_START_GCODE_ENABLED "Start Gcode before print" - #define STRING_END_GCODE_ENABLED "End Gcode after print" - #define STRING_CANCEL_GCODE_ENABLED "Cancel Gcode" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Español" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "Rotar" +#define STRING_ACK_NOTIFICATION "ACK notification style" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "Files viewer List Mode" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" +#define STRING_PERSISTENT_INFO "Persistent Status Info" +#define STRING_TERMINAL_ACK "Show ACK in Terminal" +#define STRING_SERIAL_ALWAYS_ON "Serial Always ON" +#define STRING_MARLIN_FULLSCREEN "Marlin mode in fullscreen" +#define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "Move speed(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "Apag. aut." +#define STRING_FIL_RUNOUT "Filament sensor" +#define STRING_PL_RECOVERY "Power loss recovery" +#define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" +#define STRING_BTT_MINI_UPS "BTT UPS Support" +#define STRING_TOUCH_SOUND "Touch sounds" +#define STRING_TOAST_SOUND "Toast Notifications" +#define STRING_ALERT_SOUND "Popups and Alerts" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "Brightness" +#define STRING_LCD_IDLE_BRIGHTNESS "Idle brightness" +#define STRING_LCD_IDLE_TIME "Idle timeout" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "Rotary Knob LED" +#define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" +#define STRING_START_GCODE_ENABLED "Start Gcode before print" +#define STRING_END_GCODE_ENABLED "End Gcode after print" +#define STRING_CANCEL_GCODE_ENABLED "Cancel Gcode" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Steps per mm" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "Max Acceleration" - #define STRING_MAXFEEDRATE "Max Feed Rate" - #define STRING_ACCELERATION "Acceleration" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home Offset" - #define STRING_FWRETRACT "FW Retraction" - #define STRING_FWRECOVER "FW Retraction Recover" - #define STRING_RETRACT_AUTO "Auto Firmware Retract" - #define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Sonda Compensar" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "Driver Current (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Steps per mm" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "Max Acceleration" +#define STRING_MAXFEEDRATE "Max Feed Rate" +#define STRING_ACCELERATION "Acceleration" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home Offset" +#define STRING_FWRETRACT "FW Retraction" +#define STRING_FWRECOVER "FW Retraction Recover" +#define STRING_RETRACT_AUTO "Auto Firmware Retract" +#define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Sonda Compensar" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "Driver Current (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Print Acceleration" - #define STRING_RETRACT_ACCELERATION "Retract Acceleration" - #define STRING_TRAVEL_ACCELERATION "Travel Acceleration" - #define STRING_RETRACT_LENGTH "Retract length" - #define STRING_RETRACT_SWAP_LENGTH "Retract swap length" - #define STRING_RETRACT_FEEDRATE "Retract feedrate" - #define STRING_RETRACT_Z_LIFT "Z lift on retraction" - #define STRING_RECOVER_LENGTH "Extra recover length" - #define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" - #define STRING_RECOVER_FEEDRATE "Recover feedrate" - #define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Print Acceleration" +#define STRING_RETRACT_ACCELERATION "Retract Acceleration" +#define STRING_TRAVEL_ACCELERATION "Travel Acceleration" +#define STRING_RETRACT_LENGTH "Retract length" +#define STRING_RETRACT_SWAP_LENGTH "Retract swap length" +#define STRING_RETRACT_FEEDRATE "Retract feedrate" +#define STRING_RETRACT_Z_LIFT "Z lift on retraction" +#define STRING_RECOVER_LENGTH "Extra recover length" +#define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" +#define STRING_RECOVER_FEEDRATE "Recover feedrate" +#define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" - // Save / Load - #define STRING_SAVE "Grabar" - #define STRING_RESTORE "Restore" - #define STRING_RESET "Reset" - #define STRING_EEPROM_SAVE_INFO "Save printer settings to EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Reload settings from EEPROM?" - #define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" - #define STRING_SETTINGS_SAVE "Save settings" - #define STRING_SETTINGS_RESTORE "Restore settings" - #define STRING_SETTINGS_RESET "Reset default settings" - #define STRING_SETTINGS_RESET_INFO "Reset all settings to default values?" - #define STRING_SETTINGS_RESET_DONE "Reset all settings successful.\nplease restart the device." +// Save / Load +#define STRING_SAVE "Grabar" +#define STRING_RESTORE "Restore" +#define STRING_RESET "Reset" +#define STRING_EEPROM_SAVE_INFO "Save printer settings to EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Reload settings from EEPROM?" +#define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" +#define STRING_SETTINGS_SAVE "Save settings" +#define STRING_SETTINGS_RESTORE "Restore settings" +#define STRING_SETTINGS_RESET "Reset default settings" +#define STRING_SETTINGS_RESET_INFO "Reset all settings to default values?" +#define STRING_SETTINGS_RESET_DONE "Reset all settings successful.\nplease restart the device." - // Navigation Buttons - #define STRING_PAGE_UP "Retroceder" - #define STRING_PAGE_DOWN "Avanzar" - #define STRING_UP "Up" - #define STRING_DOWN "Down" - #define STRING_NEXT "Next" - #define STRING_BACK "Volver" +// Navigation Buttons +#define STRING_PAGE_UP "Retroceder" +#define STRING_PAGE_DOWN "Avanzar" +#define STRING_UP "Up" +#define STRING_DOWN "Down" +#define STRING_NEXT "Next" +#define STRING_BACK "Volver" - // Value Buttons - #define STRING_INC "Aumentar" - #define STRING_DEC "Disminur" - #define STRING_LOAD "Cargar" - #define STRING_UNLOAD "Descargar" - #define STRING_ON "ON" - #define STRING_OFF "OFF" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Despacio" - #define STRING_NORMAL "Normal" - #define STRING_FAST "Rápido" - #define STRING_ZERO "Cero" - #define STRING_HALF "Mitad" - #define STRING_FULL "Todo" - #define STRING_CUSTOM "Personalizar" - #define STRING_CLEAR "Clear" - #define STRING_DEFAULT "Default" +// Value Buttons +#define STRING_INC "Aumentar" +#define STRING_DEC "Disminur" +#define STRING_LOAD "Cargar" +#define STRING_UNLOAD "Descargar" +#define STRING_ON "ON" +#define STRING_OFF "OFF" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Despacio" +#define STRING_NORMAL "Normal" +#define STRING_FAST "Rápido" +#define STRING_ZERO "Cero" +#define STRING_HALF "Mitad" +#define STRING_FULL "Todo" +#define STRING_CUSTOM "Personalizar" +#define STRING_CLEAR "Clear" +#define STRING_DEFAULT "Default" - // Action Buttons - #define STRING_START "Start" - #define STRING_STOP "Parar" - #define STRING_PAUSE "Pausar" - #define STRING_RESUME "Continuar" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Desconectar" - #define STRING_SHUT_DOWN "Apagar" - #define STRING_FORCE_SHUT_DOWN "Forzar Apagado" - #define STRING_EMERGENCYSTOP "PARADA EMERGENCIA" - #define STRING_PREHEAT "Precalentar" - #define STRING_PREHEAT_BOTH "Ambos" - #define STRING_COOLDOWN "Enfriarse" +// Action Buttons +#define STRING_START "Start" +#define STRING_STOP "Parar" +#define STRING_PAUSE "Pausar" +#define STRING_RESUME "Continuar" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Desconectar" +#define STRING_SHUT_DOWN "Apagar" +#define STRING_FORCE_SHUT_DOWN "Forzar Apagado" +#define STRING_EMERGENCYSTOP "PARADA EMERGENCIA" +#define STRING_PREHEAT "Precalentar" +#define STRING_PREHEAT_BOTH "Ambos" +#define STRING_COOLDOWN "Enfriarse" - // Dialog Buttons - #define STRING_CONFIRM "Confirmar" - #define STRING_CANCEL "Cancelar" - #define STRING_WARNING "Advertencia" - #define STRING_CONTINUE "Continuar" - #define STRING_CONFIRMATION "Are you sure?" +// Dialog Buttons +#define STRING_CONFIRM "Confirmar" +#define STRING_CANCEL "Cancelar" +#define STRING_WARNING "Advertencia" +#define STRING_CONTINUE "Continuar" +#define STRING_CONFIRMATION "Are you sure?" - // Process Status - #define STRING_STATUS "Status" - #define STRING_READY "Preparado" - #define STRING_BUSY "Procesamiento ocupado, por favor espere..." - #define STRING_LOADING "Cargando..." - #define STRING_UNCONNECTED "¡No hay comunicación con impresora!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "Status" +#define STRING_READY "Preparado" +#define STRING_BUSY "Procesamiento ocupado, por favor espere..." +#define STRING_LOADING "Cargando..." +#define STRING_UNCONNECTED "¡No hay comunicación con impresora!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "Info" - #define STRING_INVALID_VALUE "Invalid value(s)" - #define STRING_TIMEOUT_REACHED "Timeout reached!" - #define STRING_DISCONNECT_INFO "¡Ahora puede controlar la impresora desde su ordenador!" - #define STRING_SHUTTING_DOWN "Apagando..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Espere a que la temperatura del hotend sea inferior a %d℃" // Wait for the temperature of hotend to be lower than 50℃ - #define STRING_POWER_FAILED "¿Continuar imprimiendo?" - #define STRING_PROCESS_COMPLETED "Process completed!" - #define STRING_PROCESS_ABORTED "Process aborted!" +// Process Info +#define STRING_INFO "Info" +#define STRING_INVALID_VALUE "Invalid value(s)" +#define STRING_TIMEOUT_REACHED "Timeout reached!" +#define STRING_DISCONNECT_INFO "¡Ahora puede controlar la impresora desde su ordenador!" +#define STRING_SHUTTING_DOWN "Apagando..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Espere a que la temperatura del hotend sea inferior a %d℃" // Wait for the temperature of hotend to be lower than 50℃ +#define STRING_POWER_FAILED "¿Continuar imprimiendo?" +#define STRING_PROCESS_COMPLETED "Process completed!" +#define STRING_PROCESS_ABORTED "Process aborted!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "SD TFT" - #define STRING_TFT_SD_INSERTED "¡Tarjeta insertada" - #define STRING_TFT_SD_REMOVED "¡Tarjeta extraida" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "¡Error en la tarjeta SD!" - #define STRING_TFT_USB "Pendrive" - #define STRING_TFT_USB_INSERTED "¡Pendrive insertado" - #define STRING_TFT_USB_REMOVED "¡Pendrive extraido" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "¡Error en el pendrive!" - #define STRING_ONBOARD_SD "SD Placa" - #define STRING_ONBOARD_USB "USB Placa" - #define STRING_ONBOARD_SD_READ_ERROR "¡Error en la tarjeta media de la placa!" - #define STRING_FILAMENT_RUNOUT "¡Filamento agotado!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "SD TFT" +#define STRING_TFT_SD_INSERTED "¡Tarjeta insertada" +#define STRING_TFT_SD_REMOVED "¡Tarjeta extraida" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "¡Error en la tarjeta SD!" +#define STRING_TFT_USB "Pendrive" +#define STRING_TFT_USB_INSERTED "¡Pendrive insertado" +#define STRING_TFT_USB_REMOVED "¡Pendrive extraido" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "¡Error en el pendrive!" +#define STRING_ONBOARD_SD "SD Placa" +#define STRING_ONBOARD_USB "USB Placa" +#define STRING_ONBOARD_SD_READ_ERROR "¡Error en la tarjeta media de la placa!" +#define STRING_FILAMENT_RUNOUT "¡Filamento agotado!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Disarm All" - #define STRING_XY_UNLOCK "Desbloquear XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Disarm All" +#define STRING_XY_UNLOCK "Desbloquear XY" - #define STRING_START_PRINT "Start printing:\n%s?" - #define STRING_STOP_PRINT "¿Desea parar la impresión?" - #define STRING_IS_PAUSE "No se puede extruir al imprimir,¿\nPausar la impresión?" - #define STRING_M0_PAUSE "Paused by M0 command" +#define STRING_START_PRINT "Start printing:\n%s?" +#define STRING_STOP_PRINT "¿Desea parar la impresión?" +#define STRING_IS_PAUSE "No se puede extruir al imprimir,¿\nPausar la impresión?" +#define STRING_M0_PAUSE "Paused by M0 command" - #define STRING_TEST "Probar" - #define STRING_DEPLOY "Desplegar" - #define STRING_STOW "Plegar" - #define STRING_REPEAT "Repetir" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Probar" +#define STRING_DEPLOY "Desplegar" +#define STRING_STOW "Plegar" +#define STRING_REPEAT "Repetir" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Punta" - #define STRING_BED "Cama" - #define STRING_CHAMBER "Chamber" - #define STRING_FAN "Ventilar" +// Printer Tools +#define STRING_NOZZLE "Punta" +#define STRING_BED "Cama" +#define STRING_CHAMBER "Chamber" +#define STRING_FAN "Ventilar" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 Sec." - #define STRING_10_SECONDS "10 Sec." - #define STRING_30_SECONDS "30 Sec." - #define STRING_60_SECONDS "1 Min." - #define STRING_120_SECONDS "2 Min." - #define STRING_300_SECONDS "5 Min." +#define STRING_5_SECONDS "5 Sec." +#define STRING_10_SECONDS "10 Sec." +#define STRING_30_SECONDS "30 Sec." +#define STRING_60_SECONDS "1 Min." +#define STRING_120_SECONDS "2 Min." +#define STRING_300_SECONDS "5 Min." - // Colors - #define STRING_WHITE "Blanco" - #define STRING_BLACK "Negro" - #define STRING_BLUE "Azul" - #define STRING_RED "Rojo" - #define STRING_GREEN "Verde" - #define STRING_CYAN "Cyan" - #define STRING_YELLOW "Amarillo" - #define STRING_BROWN "Marrón" - #define STRING_GRAY "Gris" - #define STRING_ORANGE "Orange" - #define STRING_INDIGO "Indigo" - #define STRING_VIOLET "Violet" - #define STRING_MAGENTA "Magenta" - #define STRING_PURPLE "Purple" - #define STRING_LIME "Lime" - #define STRING_DARKBLUE "DarkBlue" - #define STRING_DARKGREEN "DarkGreen" - #define STRING_DARKGRAY "DarkGray" +// Colors +#define STRING_WHITE "Blanco" +#define STRING_BLACK "Negro" +#define STRING_BLUE "Azul" +#define STRING_RED "Rojo" +#define STRING_GREEN "Verde" +#define STRING_CYAN "Cyan" +#define STRING_YELLOW "Amarillo" +#define STRING_BROWN "Marrón" +#define STRING_GRAY "Gris" +#define STRING_ORANGE "Orange" +#define STRING_INDIGO "Indigo" +#define STRING_VIOLET "Violet" +#define STRING_MAGENTA "Magenta" +#define STRING_PURPLE "Purple" +#define STRING_LIME "Lime" +#define STRING_DARKBLUE "DarkBlue" +#define STRING_DARKGREEN "DarkGreen" +#define STRING_DARKGRAY "DarkGray" - // Menus - #define STRING_HEAT "Calentar" - #define STRING_MOVE "Mover" - #define STRING_HOME "Origen" - #define STRING_PRINT "Imprimir" - #define STRING_EXTRUDE "Extruir" - #define STRING_SETTINGS "Configurar" - #define STRING_SCREEN_SETTINGS "Pantalla" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Sound" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Máquina" - #define STRING_PARAMETER_SETTINGS "Parámetro" - #define STRING_FEATURE_SETTINGS "Añadidos" - #define STRING_CONNECTION_SETTINGS "Connection" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "BaudRate" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "Color LED" - #define STRING_RGB_OFF "Apagar LED" - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "Nivelar" - #define STRING_POINT_1 "Punto 1" - #define STRING_POINT_2 "Punto 2" - #define STRING_POINT_3 "Punto 3" - #define STRING_POINT_4 "Punto 4" - #define STRING_POINT_5 "Punto 5" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Bed Leveling Complete" - #define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" - #define STRING_BL_ENABLE "BL: on" - #define STRING_BL_DISABLE "BL: off" - #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_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 "Save the mesh to EEPROM to load after reboot?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Distance" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Load/Unload" // needs translation - #define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation - #define STRING_TOUCHSCREEN_ADJUST "Calibrar" - #define STRING_MORE "Más" - #define STRING_SCREEN_INFO "Informar" - #define STRING_BG_COLOR "Background color" - #define STRING_FONT_COLOR "Font color" - #define STRING_PERCENTAGE "Porcentaje" - #define STRING_PERCENTAGE_SPEED "Velocidad" - #define STRING_PERCENTAGE_FLOW "Flujo" - #define STRING_BABYSTEP "BabyStep" - #define STRING_X_INC "+X" - #define STRING_Y_INC "+Y" - #define STRING_Z_INC "+Z" - #define STRING_X_DEC "-X" - #define STRING_Y_DEC "-Y" - #define STRING_Z_DEC "-Z" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "¡Calibrar la pantalla táctil" - #define STRING_ADJUST_INFO "Por favor haga clic en el punto rojo" - #define STRING_ADJUST_OK "Ajuste correcto" - #define STRING_ADJUST_FAILED "Ajuste fallido, por favor intentelo de nuevo" - #define STRING_UNIFIEDMOVE "Movimiento" - #define STRING_UNIFIEDHEAT "Calor/Ventilador" - #define STRING_TOUCH_TO_EXIT "Toca cualquier lugar para salir" - #define STRING_MAINMENU "Menu" - #define STRING_TUNING "Tuning" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC autotune" - #define STRING_MPC_METHOD "Método:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID autotune" - #define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" - #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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" - #define STRING_MESH_EDITOR "Mesh edit" - #define STRING_MESH_TUNER "Mesh tuner" - #define STRING_CASE_LIGHT "Case light" - #define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed - #define STRING_PRINT_FINISHED " Print\n finished" - #define STRING_MAIN_SCREEN "Main" - #define STRING_PREVIOUS_PRINT_DATA "Brief" - #define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament cost: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament data not available." - #define STRING_CLICK_FOR_MORE "Click for summary" - #define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." - #define STRING_HEAT_HOTEND "Heat hotend to %d℃?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "Calentar" +#define STRING_MOVE "Mover" +#define STRING_HOME "Origen" +#define STRING_PRINT "Imprimir" +#define STRING_EXTRUDE "Extruir" +#define STRING_SETTINGS "Configurar" +#define STRING_SCREEN_SETTINGS "Pantalla" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Sound" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Máquina" +#define STRING_PARAMETER_SETTINGS "Parámetro" +#define STRING_FEATURE_SETTINGS "Añadidos" +#define STRING_CONNECTION_SETTINGS "Connection" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "BaudRate" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "Color LED" +#define STRING_RGB_OFF "Apagar LED" +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "Nivelar" +#define STRING_POINT_1 "Punto 1" +#define STRING_POINT_2 "Punto 2" +#define STRING_POINT_3 "Punto 3" +#define STRING_POINT_4 "Punto 4" +#define STRING_POINT_5 "Punto 5" +#define STRING_BED_LEVELING "Bed Level" +#define STRING_BL_COMPLETE "Bed Leveling Complete" +#define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" +#define STRING_BL_ENABLE "BL: on" +#define STRING_BL_DISABLE "BL: off" +#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_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 "Save the mesh to EEPROM to load after reboot?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Distance" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Load/Unload" // needs translation +#define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation +#define STRING_TOUCHSCREEN_ADJUST "Calibrar" +#define STRING_MORE "Más" +#define STRING_SCREEN_INFO "Informar" +#define STRING_BG_COLOR "Background color" +#define STRING_FONT_COLOR "Font color" +#define STRING_PERCENTAGE "Porcentaje" +#define STRING_PERCENTAGE_SPEED "Velocidad" +#define STRING_PERCENTAGE_FLOW "Flujo" +#define STRING_BABYSTEP "BabyStep" +#define STRING_X_INC "+X" +#define STRING_Y_INC "+Y" +#define STRING_Z_INC "+Z" +#define STRING_X_DEC "-X" +#define STRING_Y_DEC "-Y" +#define STRING_Z_DEC "-Z" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "¡Calibrar la pantalla táctil" +#define STRING_ADJUST_INFO "Por favor haga clic en el punto rojo" +#define STRING_ADJUST_OK "Ajuste correcto" +#define STRING_ADJUST_FAILED "Ajuste fallido, por favor intentelo de nuevo" +#define STRING_UNIFIEDMOVE "Movimiento" +#define STRING_UNIFIEDHEAT "Calor/Ventilador" +#define STRING_TOUCH_TO_EXIT "Toca cualquier lugar para salir" +#define STRING_MAINMENU "Menu" +#define STRING_TUNING "Tuning" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC autotune" +#define STRING_MPC_METHOD "Método:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID autotune" +#define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" +#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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" +#define STRING_MESH_EDITOR "Mesh edit" +#define STRING_MESH_TUNER "Mesh tuner" +#define STRING_CASE_LIGHT "Case light" +#define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed +#define STRING_PRINT_FINISHED " Print\n finished" +#define STRING_MAIN_SCREEN "Main" +#define STRING_PREVIOUS_PRINT_DATA "Brief" +#define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament cost: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament data not available." +#define STRING_CLICK_FOR_MORE "Click for summary" +#define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." +#define STRING_HEAT_HOTEND "Heat hotend to %d℃?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_fr.h b/TFT/src/User/API/Language/language_fr.h index da7a776b8..796441308 100644 --- a/TFT/src/User/API/Language/language_fr.h +++ b/TFT/src/User/API/Language/language_fr.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_FR_H_ #define _LANGUAGE_FR_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Français" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emuler M600" - #define STRING_EMULATED_M109_M190 "Emuler M109 / M190" - #define STRING_EVENT_LED "LED Neopixel" - #define STRING_FILE_COMMENT_PARSING "Analyse commentaires Gcode" - #define STRING_ROTATED_UI "Rotation" - #define STRING_ACK_NOTIFICATION "Style de notification ACK" - #define STRING_FILES_SORT_BY "Trier les fichiers par" - #define STRING_FILES_LIST_MODE "Fichiers en mode liste" - #define STRING_FILENAME_EXTENSION "Extensions des fichiers" - #define STRING_FAN_SPEED_PERCENTAGE "Vitesse ventilateur en %" - #define STRING_PERSISTENT_INFO "Temp. toujours affichées" - #define STRING_TERMINAL_ACK "Afficher ACK sur Terminal" - #define STRING_SERIAL_ALWAYS_ON "Serial toujours actif" - #define STRING_MARLIN_FULLSCREEN "Mode Marlin plein écran" - #define STRING_MARLIN_SHOW_TITLE "Titre en Mode Marlin" - #define STRING_MARLIN_TYPE "Type du Mode Marlin" - #define STRING_MOVE_SPEED "Vitesse de déplacement (X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto-Sauvegarde Leveling" - #define STRING_PROBING_Z_OFFSET "Palpeur pour Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Auto-Alignement moteurs Z" - #define STRING_PS_AUTO_SHUTDOWN "Extinction automatique" - #define STRING_FIL_RUNOUT "Capteur de filament" - #define STRING_PL_RECOVERY "Reprise après coupure" - #define STRING_PL_RECOVERY_HOME "Home avant reprise" - #define STRING_BTT_MINI_UPS "Support BTT UPS" - #define STRING_TOUCH_SOUND "Son des touches" - #define STRING_TOAST_SOUND "Notifications" - #define STRING_ALERT_SOUND "Popups et alertes" - #define STRING_HEATER_SOUND "Notification de chauffe" - #define STRING_LCD_BRIGHTNESS "Luminosité" - #define STRING_LCD_IDLE_BRIGHTNESS "Diminution luminosité" - #define STRING_LCD_IDLE_TIME "Durée avant diminution" - #define STRING_LCD_LOCK_ON_IDLE "Bloquer touches en veille" - #define STRING_LED_ALWAYS_ON "LED toujours allumées" - #define STRING_KNOB_LED_COLOR "LED du bouton rotatif" - #define STRING_KNOB_LED_IDLE "Veille du bouton rotatif" - #define STRING_START_GCODE_ENABLED "Gcode avant l'impression" - #define STRING_END_GCODE_ENABLED "Gcode après l'impression" - #define STRING_CANCEL_GCODE_ENABLED "Gcode d'annulation" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Français" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emuler M600" +#define STRING_EMULATED_M109_M190 "Emuler M109 / M190" +#define STRING_EVENT_LED "LED Neopixel" +#define STRING_FILE_COMMENT_PARSING "Analyse commentaires Gcode" +#define STRING_ROTATED_UI "Rotation" +#define STRING_ACK_NOTIFICATION "Style de notification ACK" +#define STRING_FILES_SORT_BY "Trier les fichiers par" +#define STRING_FILES_LIST_MODE "Fichiers en mode liste" +#define STRING_FILENAME_EXTENSION "Extensions des fichiers" +#define STRING_FAN_SPEED_PERCENTAGE "Vitesse ventilateur en %" +#define STRING_PERSISTENT_INFO "Temp. toujours affichées" +#define STRING_TERMINAL_ACK "Afficher ACK sur Terminal" +#define STRING_SERIAL_ALWAYS_ON "Serial toujours actif" +#define STRING_MARLIN_FULLSCREEN "Mode Marlin plein écran" +#define STRING_MARLIN_SHOW_TITLE "Titre en Mode Marlin" +#define STRING_MARLIN_TYPE "Type du Mode Marlin" +#define STRING_MOVE_SPEED "Vitesse de déplacement (X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto-Sauvegarde Leveling" +#define STRING_PROBING_Z_OFFSET "Palpeur pour Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Auto-Alignement moteurs Z" +#define STRING_PS_AUTO_SHUTDOWN "Extinction automatique" +#define STRING_FIL_RUNOUT "Capteur de filament" +#define STRING_PL_RECOVERY "Reprise après coupure" +#define STRING_PL_RECOVERY_HOME "Home avant reprise" +#define STRING_BTT_MINI_UPS "Support BTT UPS" +#define STRING_TOUCH_SOUND "Son des touches" +#define STRING_TOAST_SOUND "Notifications" +#define STRING_ALERT_SOUND "Popups et alertes" +#define STRING_HEATER_SOUND "Notification de chauffe" +#define STRING_LCD_BRIGHTNESS "Luminosité" +#define STRING_LCD_IDLE_BRIGHTNESS "Diminution luminosité" +#define STRING_LCD_IDLE_TIME "Durée avant diminution" +#define STRING_LCD_LOCK_ON_IDLE "Bloquer touches en veille" +#define STRING_LED_ALWAYS_ON "LED toujours allumées" +#define STRING_KNOB_LED_COLOR "LED du bouton rotatif" +#define STRING_KNOB_LED_IDLE "Veille du bouton rotatif" +#define STRING_START_GCODE_ENABLED "Gcode avant l'impression" +#define STRING_END_GCODE_ENABLED "Gcode après l'impression" +#define STRING_CANCEL_GCODE_ENABLED "Gcode d'annulation" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Steps par mm" - #define STRING_FILAMENT_SETTING "Diamètre filament" - #define STRING_MAXACCELERATION "Accélérations maximales" - #define STRING_MAXFEEDRATE "Vitesses maximales" - #define STRING_ACCELERATION "Accélérations" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Ecart de jonction" - #define STRING_HOME_OFFSET "Décalage Home" - #define STRING_FWRETRACT "Rétraction firmware" - #define STRING_FWRECOVER "Récupération firmware" - #define STRING_RETRACT_AUTO "Rétraction firmware auto" - #define STRING_HOTEND_OFFSET "Décalage 2ème buse" - #define STRING_HOTEND_PID "PID Buse" - #define STRING_BED_PID "PID Plateau" - #define STRING_STEALTH_CHOP "StealthChop TMC" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Réglages Delta" - #define STRING_DELTA_TOWER_ANGLE "Corrections d'angle des tours" - #define STRING_DELTA_DIAGONAL_ROD "Ajustements Diagonal Rod" - #define STRING_DELTA_ENDSTOP "Ajustements Endstop" - #define STRING_PROBE_OFFSET "Décalage palpeur" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "Courant drivers (mA)" - #define STRING_HYBRID_THRESHOLD "Seuil Hybride TMC" - #define STRING_BUMP_SENSITIVITY "Sensibilité TMC" - #define STRING_MBL_OFFSET "Décalage MBL" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Steps par mm" +#define STRING_FILAMENT_SETTING "Diamètre filament" +#define STRING_MAXACCELERATION "Accélérations maximales" +#define STRING_MAXFEEDRATE "Vitesses maximales" +#define STRING_ACCELERATION "Accélérations" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Ecart de jonction" +#define STRING_HOME_OFFSET "Décalage Home" +#define STRING_FWRETRACT "Rétraction firmware" +#define STRING_FWRECOVER "Récupération firmware" +#define STRING_RETRACT_AUTO "Rétraction firmware auto" +#define STRING_HOTEND_OFFSET "Décalage 2ème buse" +#define STRING_HOTEND_PID "PID Buse" +#define STRING_BED_PID "PID Plateau" +#define STRING_STEALTH_CHOP "StealthChop TMC" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Réglages Delta" +#define STRING_DELTA_TOWER_ANGLE "Corrections d'angle des tours" +#define STRING_DELTA_DIAGONAL_ROD "Ajustements Diagonal Rod" +#define STRING_DELTA_ENDSTOP "Ajustements Endstop" +#define STRING_PROBE_OFFSET "Décalage palpeur" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "Courant drivers (mA)" +#define STRING_HYBRID_THRESHOLD "Seuil Hybride TMC" +#define STRING_BUMP_SENSITIVITY "Sensibilité TMC" +#define STRING_MBL_OFFSET "Décalage MBL" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Impression" - #define STRING_RETRACT_ACCELERATION "Rétraction" - #define STRING_TRAVEL_ACCELERATION "Déplacements" - #define STRING_RETRACT_LENGTH "Longueur" - #define STRING_RETRACT_SWAP_LENGTH "Longueur (multi-extrudeurs)" - #define STRING_RETRACT_FEEDRATE "Vitesse (mm/min)" - #define STRING_RETRACT_Z_LIFT "Décalage en Z" - #define STRING_RECOVER_LENGTH "Longueur supplémentaire" - #define STRING_SWAP_RECOVER_LENGTH "Longueur (multi-extrudeurs)" - #define STRING_RECOVER_FEEDRATE "Vitesse (mm/min)" - #define STRING_SWAP_RECOVER_FEEDRATE "Vitesse (multi-extrudeurs)" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Impression" +#define STRING_RETRACT_ACCELERATION "Rétraction" +#define STRING_TRAVEL_ACCELERATION "Déplacements" +#define STRING_RETRACT_LENGTH "Longueur" +#define STRING_RETRACT_SWAP_LENGTH "Longueur (multi-extrudeurs)" +#define STRING_RETRACT_FEEDRATE "Vitesse (mm/min)" +#define STRING_RETRACT_Z_LIFT "Décalage en Z" +#define STRING_RECOVER_LENGTH "Longueur supplémentaire" +#define STRING_SWAP_RECOVER_LENGTH "Longueur (multi-extrudeurs)" +#define STRING_RECOVER_FEEDRATE "Vitesse (mm/min)" +#define STRING_SWAP_RECOVER_FEEDRATE "Vitesse (multi-extrudeurs)" - // Save / Load - #define STRING_SAVE "Sauver" - #define STRING_RESTORE "Restaurer" - #define STRING_RESET "Reset" - #define STRING_EEPROM_SAVE_INFO "Enregistrer les paramètres dans l'EEPROM ?" - #define STRING_EEPROM_RESTORE_INFO "Restaurer les paramètres de l'EEPROM ?" - #define STRING_EEPROM_RESET_INFO "Réinitialiser l'EEPROM aux paramètres d'origine du firmware ?" - #define STRING_SETTINGS_SAVE "Sauvegarder paramètres" - #define STRING_SETTINGS_RESTORE "Restaurer paramètres" - #define STRING_SETTINGS_RESET "RàZ des paramètres" - #define STRING_SETTINGS_RESET_INFO "Réinitialiser tous les paramètres aux valeurs par défaut ?" - #define STRING_SETTINGS_RESET_DONE "Réinitialisation des paramètres réalisé avec succès.\nVeuillez redémarrer l'imprimante." +// Save / Load +#define STRING_SAVE "Sauver" +#define STRING_RESTORE "Restaurer" +#define STRING_RESET "Reset" +#define STRING_EEPROM_SAVE_INFO "Enregistrer les paramètres dans l'EEPROM ?" +#define STRING_EEPROM_RESTORE_INFO "Restaurer les paramètres de l'EEPROM ?" +#define STRING_EEPROM_RESET_INFO "Réinitialiser l'EEPROM aux paramètres d'origine du firmware ?" +#define STRING_SETTINGS_SAVE "Sauvegarder paramètres" +#define STRING_SETTINGS_RESTORE "Restaurer paramètres" +#define STRING_SETTINGS_RESET "RàZ des paramètres" +#define STRING_SETTINGS_RESET_INFO "Réinitialiser tous les paramètres aux valeurs par défaut ?" +#define STRING_SETTINGS_RESET_DONE "Réinitialisation des paramètres réalisé avec succès.\nVeuillez redémarrer l'imprimante." - // Navigation Buttons - #define STRING_PAGE_UP "Précédent" - #define STRING_PAGE_DOWN "Suivant" - #define STRING_UP "Monter" - #define STRING_DOWN "Descendre" - #define STRING_NEXT "Suivant" - #define STRING_BACK "Retour" +// Navigation Buttons +#define STRING_PAGE_UP "Précédent" +#define STRING_PAGE_DOWN "Suivant" +#define STRING_UP "Monter" +#define STRING_DOWN "Descendre" +#define STRING_NEXT "Suivant" +#define STRING_BACK "Retour" - // Value Buttons - #define STRING_INC "Plus" - #define STRING_DEC "Moins" - #define STRING_LOAD "Charger" - #define STRING_UNLOAD "Décharger" - #define STRING_ON "ON" - #define STRING_OFF "OFF" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Lent" - #define STRING_NORMAL "Normal" - #define STRING_FAST "Rapide" - #define STRING_ZERO "Zéro" - #define STRING_HALF "Moitié" - #define STRING_FULL "Max" - #define STRING_CUSTOM "Custom" - #define STRING_CLEAR "Suppr." - #define STRING_DEFAULT "Défaut" +// Value Buttons +#define STRING_INC "Plus" +#define STRING_DEC "Moins" +#define STRING_LOAD "Charger" +#define STRING_UNLOAD "Décharger" +#define STRING_ON "ON" +#define STRING_OFF "OFF" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Lent" +#define STRING_NORMAL "Normal" +#define STRING_FAST "Rapide" +#define STRING_ZERO "Zéro" +#define STRING_HALF "Moitié" +#define STRING_FULL "Max" +#define STRING_CUSTOM "Custom" +#define STRING_CLEAR "Suppr." +#define STRING_DEFAULT "Défaut" - // Action Buttons - #define STRING_START "Démarrer" - #define STRING_STOP "Stopper" - #define STRING_PAUSE "Pause" - #define STRING_RESUME "Reprendre" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Libérer" - #define STRING_SHUT_DOWN "Eteindre" - #define STRING_FORCE_SHUT_DOWN "Forcer l'extinction" - #define STRING_EMERGENCYSTOP "Urgence" - #define STRING_PREHEAT "Préparer" - #define STRING_PREHEAT_BOTH "Global" - #define STRING_COOLDOWN "Refroidir" +// Action Buttons +#define STRING_START "Démarrer" +#define STRING_STOP "Stopper" +#define STRING_PAUSE "Pause" +#define STRING_RESUME "Reprendre" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Libérer" +#define STRING_SHUT_DOWN "Eteindre" +#define STRING_FORCE_SHUT_DOWN "Forcer l'extinction" +#define STRING_EMERGENCYSTOP "Urgence" +#define STRING_PREHEAT "Préparer" +#define STRING_PREHEAT_BOTH "Global" +#define STRING_COOLDOWN "Refroidir" - // Dialog Buttons - #define STRING_CONFIRM "Confirmer" - #define STRING_CANCEL "Annuler" - #define STRING_WARNING "Attention" - #define STRING_CONTINUE "Continuer" - #define STRING_CONFIRMATION "Êtes-vous sûr ?" +// Dialog Buttons +#define STRING_CONFIRM "Confirmer" +#define STRING_CANCEL "Annuler" +#define STRING_WARNING "Attention" +#define STRING_CONTINUE "Continuer" +#define STRING_CONFIRMATION "Êtes-vous sûr ?" - // Process Status - #define STRING_STATUS "Statut" - #define STRING_READY "Prête" - #define STRING_BUSY "Occupée, veuillez patienter..." - #define STRING_LOADING "Chargement..." - #define STRING_UNCONNECTED "Aucune imprimante connectée !" - #define STRING_LISTENING "TFT en mode écoute !" +// Process Status +#define STRING_STATUS "Statut" +#define STRING_READY "Prête" +#define STRING_BUSY "Occupée, veuillez patienter..." +#define STRING_LOADING "Chargement..." +#define STRING_UNCONNECTED "Aucune imprimante connectée !" +#define STRING_LISTENING "TFT en mode écoute !" - // Process Info - #define STRING_INFO "Infos" - #define STRING_INVALID_VALUE "Aucune valeur valide fournie !" - #define STRING_TIMEOUT_REACHED "Délai d'attente dépassé !" - #define STRING_DISCONNECT_INFO "Vous pouvez maintenant contrôler l'imprimante depuis votre ordinateur !" - #define STRING_SHUTTING_DOWN "Extinction en cours..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Attendez que la température de la buse soit inférieure à %d℃" - #define STRING_POWER_FAILED "Continuer l'impression ?" - #define STRING_PROCESS_COMPLETED "Processus terminé !" - #define STRING_PROCESS_ABORTED "Processus annulé !" +// Process Info +#define STRING_INFO "Infos" +#define STRING_INVALID_VALUE "Aucune valeur valide fournie !" +#define STRING_TIMEOUT_REACHED "Délai d'attente dépassé !" +#define STRING_DISCONNECT_INFO "Vous pouvez maintenant contrôler l'imprimante depuis votre ordinateur !" +#define STRING_SHUTTING_DOWN "Extinction en cours..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Attendez que la température de la buse soit inférieure à %d℃" +#define STRING_POWER_FAILED "Continuer l'impression ?" +#define STRING_PROCESS_COMPLETED "Processus terminé !" +#define STRING_PROCESS_ABORTED "Processus annulé !" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "SD TFT" - #define STRING_TFT_SD_INSERTED "Carte SD insérée" - #define STRING_TFT_SD_REMOVED "Carte SD retirée" - #define STRING_TFT_SD_NOT_DETECTED "Aucune carte SD détectée !" - #define STRING_TFT_SD_READ_ERROR "Erreur de lecture de la carte SD !" - #define STRING_TFT_USB "USB TFT" - #define STRING_TFT_USB_INSERTED "Clé USB insérée" - #define STRING_TFT_USB_REMOVED "Clé USB retirée" - #define STRING_TFT_USB_NOT_DETECTED "Aucune clé USB détectée !" - #define STRING_TFT_USB_READ_ERROR "Erreur de lecture de la clé USB !" - #define STRING_ONBOARD_SD "microSD CM" - #define STRING_ONBOARD_USB "USB CM" - #define STRING_ONBOARD_SD_READ_ERROR "Erreur de lecture du port de la carte mère !" - #define STRING_FILAMENT_RUNOUT "Fin de Filament !" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "SD TFT" +#define STRING_TFT_SD_INSERTED "Carte SD insérée" +#define STRING_TFT_SD_REMOVED "Carte SD retirée" +#define STRING_TFT_SD_NOT_DETECTED "Aucune carte SD détectée !" +#define STRING_TFT_SD_READ_ERROR "Erreur de lecture de la carte SD !" +#define STRING_TFT_USB "USB TFT" +#define STRING_TFT_USB_INSERTED "Clé USB insérée" +#define STRING_TFT_USB_REMOVED "Clé USB retirée" +#define STRING_TFT_USB_NOT_DETECTED "Aucune clé USB détectée !" +#define STRING_TFT_USB_READ_ERROR "Erreur de lecture de la clé USB !" +#define STRING_ONBOARD_SD "microSD CM" +#define STRING_ONBOARD_USB "USB CM" +#define STRING_ONBOARD_SD_READ_ERROR "Erreur de lecture du port de la carte mère !" +#define STRING_FILAMENT_RUNOUT "Fin de Filament !" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Moteurs" - #define STRING_XY_UNLOCK "Moteurs XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Moteurs" +#define STRING_XY_UNLOCK "Moteurs XY" - #define STRING_START_PRINT "Démarrer l'impression :\n%s ?" - #define STRING_STOP_PRINT "Arrêter l'impression ?" - #define STRING_IS_PAUSE "Extrusion impossible quand l'impression est en cours.\nMettre l'impression en pause ?" - #define STRING_M0_PAUSE "Suspendu par la commande M0" +#define STRING_START_PRINT "Démarrer l'impression :\n%s ?" +#define STRING_STOP_PRINT "Arrêter l'impression ?" +#define STRING_IS_PAUSE "Extrusion impossible quand l'impression est en cours.\nMettre l'impression en pause ?" +#define STRING_M0_PAUSE "Suspendu par la commande M0" - #define STRING_TEST "Tester" - #define STRING_DEPLOY "Déployer" - #define STRING_STOW "Rentrer" - #define STRING_REPEAT "Répéter" - #define STRING_HS_ON "HS On" - #define STRING_HS_OFF "HS Off" +#define STRING_TEST "Tester" +#define STRING_DEPLOY "Déployer" +#define STRING_STOW "Rentrer" +#define STRING_REPEAT "Répéter" +#define STRING_HS_ON "HS On" +#define STRING_HS_OFF "HS Off" - // Printer Tools - #define STRING_NOZZLE "Buse" - #define STRING_BED "Plateau" - #define STRING_CHAMBER "Caisson" - #define STRING_FAN "Ventiler" +// Printer Tools +#define STRING_NOZZLE "Buse" +#define STRING_BED "Plateau" +#define STRING_CHAMBER "Caisson" +#define STRING_FAN "Ventiler" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 Sec." - #define STRING_10_SECONDS "10 Sec." - #define STRING_30_SECONDS "30 Sec." - #define STRING_60_SECONDS "1 Min." - #define STRING_120_SECONDS "2 Min." - #define STRING_300_SECONDS "5 Min." +#define STRING_5_SECONDS "5 Sec." +#define STRING_10_SECONDS "10 Sec." +#define STRING_30_SECONDS "30 Sec." +#define STRING_60_SECONDS "1 Min." +#define STRING_120_SECONDS "2 Min." +#define STRING_300_SECONDS "5 Min." - // Colors - #define STRING_WHITE "Blanc" - #define STRING_BLACK "Noir" - #define STRING_BLUE "Bleu" - #define STRING_RED "Rouge" - #define STRING_GREEN "Vert" - #define STRING_CYAN "Cyan" - #define STRING_YELLOW "Jaune" - #define STRING_BROWN "Marron" - #define STRING_GRAY "Gris" - #define STRING_ORANGE "Orange" - #define STRING_INDIGO "Indigo" - #define STRING_VIOLET "Violette" - #define STRING_MAGENTA "Magenta" - #define STRING_PURPLE "Violet" - #define STRING_LIME "Lime" - #define STRING_DARKBLUE "Bleu Foncé" - #define STRING_DARKGREEN "Vert Foncé" - #define STRING_DARKGRAY "Gris Foncé" +// Colors +#define STRING_WHITE "Blanc" +#define STRING_BLACK "Noir" +#define STRING_BLUE "Bleu" +#define STRING_RED "Rouge" +#define STRING_GREEN "Vert" +#define STRING_CYAN "Cyan" +#define STRING_YELLOW "Jaune" +#define STRING_BROWN "Marron" +#define STRING_GRAY "Gris" +#define STRING_ORANGE "Orange" +#define STRING_INDIGO "Indigo" +#define STRING_VIOLET "Violette" +#define STRING_MAGENTA "Magenta" +#define STRING_PURPLE "Violet" +#define STRING_LIME "Lime" +#define STRING_DARKBLUE "Bleu Foncé" +#define STRING_DARKGREEN "Vert Foncé" +#define STRING_DARKGRAY "Gris Foncé" - // Menus - #define STRING_HEAT "Chauffer" - #define STRING_MOVE "Déplacer" - #define STRING_HOME "Home" - #define STRING_PRINT "Imprimer" - #define STRING_EXTRUDE "Extruder" - #define STRING_SETTINGS "Options" - #define STRING_SCREEN_SETTINGS "Écran" - #define STRING_UI_SETTINGS "Interface" - #define STRING_SOUND "Son" - #define STRING_MARLIN_MODE_SETTINGS "Marlin" - #define STRING_MACHINE_SETTINGS "Machine" - #define STRING_PARAMETER_SETTINGS "Réglages" - #define STRING_FEATURE_SETTINGS "Paramètres" - #define STRING_CONNECTION_SETTINGS "Connexion" - #define STRING_SERIAL_PORTS "Ports S." - #define STRING_BAUDRATE "Vitesse" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "LED" - #define STRING_RGB_OFF "LED Off" - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "Niveaux" - #define STRING_POINT_1 "Point 1" - #define STRING_POINT_2 "Point 2" - #define STRING_POINT_3 "Point 3" - #define STRING_POINT_4 "Point 4" - #define STRING_POINT_5 "Point 5" - #define STRING_BED_LEVELING "ABL" - #define STRING_BL_COMPLETE "Nivellement terminé" - #define STRING_BL_SMART_FILL "Les points de sonde manquants ont été intelligemment remplis.\n\nNote : n'oubliez pas de sauvegarder !" - #define STRING_BL_ENABLE "BL On" - #define STRING_BL_DISABLE "BL Off" - #define STRING_ABL "ABL" - #define STRING_BBL "BBL" - #define STRING_UBL "UBL" - #define STRING_MBL "MBL" - #define STRING_MBL_SETTINGS "Nivellement Mesh" - #define STRING_ABL_SETTINGS "Nivellement Auto" - #define STRING_ABL_SETTINGS_BBL "Nivellement Bilinéaire" - #define STRING_ABL_SETTINGS_UBL "Nivellement Unifié" - #define STRING_ABL_SETTINGS_UBL_SAVE "Enregistrer dans l'emplacement" - #define STRING_ABL_SETTINGS_UBL_LOAD "Charger depuis l'emplacement" - #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 "Se souvenir de l'emplacement au prochain redémarrage ?\n(Sauvegarde EEPROM)" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L Corner" - #define STRING_LEVEL_CORNER_INFO "Distance de bord inférieure au décalage X/Y du palpeur, certains points cibles pourraient être inaccessibles.\nVoulez-vous utiliser une distance de bord adéquate ?" - #define STRING_P_OFFSET "Z Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Distance" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Charger/Décharger" - #define STRING_LOAD_UNLOAD_SHORT "Dé/Charger" - #define STRING_TOUCHSCREEN_ADJUST "Ajuster" - #define STRING_MORE "Plus" - #define STRING_SCREEN_INFO "Infos" - #define STRING_BG_COLOR "Arrière-plan" - #define STRING_FONT_COLOR "Police" - #define STRING_PERCENTAGE "Avancement" - #define STRING_PERCENTAGE_SPEED "Vitesse" - #define STRING_PERCENTAGE_FLOW "Débit" - #define STRING_BABYSTEP "BabyStep" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Calibration écran tactile" - #define STRING_ADJUST_INFO "Veuillez toucher le point rouge" - #define STRING_ADJUST_OK "Succès de l'ajustement" - #define STRING_ADJUST_FAILED "Ajustement incorrect, veuillez réessayer" - #define STRING_UNIFIEDMOVE "Mouvement" - #define STRING_UNIFIEDHEAT "Chauffer" - #define STRING_TOUCH_TO_EXIT "Toucher n'importe où pour quitter" - #define STRING_MAINMENU "Menu" - #define STRING_TUNING "Tuning" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "Autocalibrage MPC" - #define STRING_MPC_METHOD "Méthode:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "Autocalibrage PID" - #define STRING_TUNE_START_INFO "L'autocalibrage va être lancé. Cela peut prendre quelques minutes.\nContinuer ?" - #define STRING_TUNE_EXTRUDER "Extrudeur" - #define STRING_TUNE_EXT_EXTRUDE_100 "Ext. 100mm" - #define STRING_TUNE_EXT_TEMP "Réglage de l'extrudeur" - #define STRING_TUNE_EXT_MARK120MM "Marquer 120 mm sur le filament\nAppuyer ensuite sur '%s'\nMesurer la longueur restante" - #define STRING_TUNE_EXT_ADJ_ESTEPS "Ajustement E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "Nouveau E-steps enregistré !" - #define STRING_TUNE_EXT_MEASURED "Longueur restante" - #define STRING_TUNE_EXT_OLD_ESTEP "Ancien : %0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "Nouveau : %0.2f" - #define STRING_NOTIFICATIONS "Notifications" - #define STRING_MESH_EDITOR "Maillage" - #define STRING_MESH_TUNER "Edition du maillage" - #define STRING_CASE_LIGHT "Caisson" - #define STRING_LOAD_STARTED "Chargement du filament en cours.\nVeuillez attendre la fin du processus." - #define STRING_UNLOAD_STARTED "Déchargement du filament en cours.\nVeuillez attendre la fin du processus." - #define STRING_HEATERS_ON "Certains éléments sont toujours en chauffe.\nVoulez-vous les arrêter ?" - #define STRING_PRINT_FINISHED " Impression\n terminée" - #define STRING_MAIN_SCREEN "Menu" - #define STRING_PREVIOUS_PRINT_DATA "Résumé" - #define STRING_PRINT_TIME "Durée : %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nLongueur du filament : %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nPoids du filament : %1.2fg" - #define STRING_FILAMENT_COST "\nCoût du filament : %1.2f" - #define STRING_NO_FILAMENT_STATS "\nAucune statistique de filament." - #define STRING_CLICK_FOR_MORE "Afficher résumé" - #define STRING_EXT_TEMPLOW "La température de la buse est inférieure à la température minimale (%d℃)." - #define STRING_HEAT_HOTEND "Chauffer la buse à %d℃ ?" - #define STRING_DESIRED_TEMPLOW "La température de la buse est inférieure à la température désirée (%d℃)." - #define STRING_WAIT_HEAT_UP "Attendre la chauffe." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Test Mesh" - #define STRING_CONNECT_PROBE "Connectez le palpeur avant de démarrer le processus. Veillez à le déconnecter ensuite." - #define STRING_DISCONNECT_PROBE "Assurez-vous d'avoir déconnecté le palpeur avant d'utiliser cette fonctionnalité." - #define STRING_CALIBRATION "Calibrer" +// Menus +#define STRING_HEAT "Chauffer" +#define STRING_MOVE "Déplacer" +#define STRING_HOME "Home" +#define STRING_PRINT "Imprimer" +#define STRING_EXTRUDE "Extruder" +#define STRING_SETTINGS "Options" +#define STRING_SCREEN_SETTINGS "Écran" +#define STRING_UI_SETTINGS "Interface" +#define STRING_SOUND "Son" +#define STRING_MARLIN_MODE_SETTINGS "Marlin" +#define STRING_MACHINE_SETTINGS "Machine" +#define STRING_PARAMETER_SETTINGS "Réglages" +#define STRING_FEATURE_SETTINGS "Paramètres" +#define STRING_CONNECTION_SETTINGS "Connexion" +#define STRING_SERIAL_PORTS "Ports S." +#define STRING_BAUDRATE "Vitesse" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "LED" +#define STRING_RGB_OFF "LED Off" +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "Niveaux" +#define STRING_POINT_1 "Point 1" +#define STRING_POINT_2 "Point 2" +#define STRING_POINT_3 "Point 3" +#define STRING_POINT_4 "Point 4" +#define STRING_POINT_5 "Point 5" +#define STRING_BED_LEVELING "ABL" +#define STRING_BL_COMPLETE "Nivellement terminé" +#define STRING_BL_SMART_FILL "Les points de sonde manquants ont été intelligemment remplis.\n\nNote : n'oubliez pas de sauvegarder !" +#define STRING_BL_ENABLE "BL On" +#define STRING_BL_DISABLE "BL Off" +#define STRING_ABL "ABL" +#define STRING_BBL "BBL" +#define STRING_UBL "UBL" +#define STRING_MBL "MBL" +#define STRING_MBL_SETTINGS "Nivellement Mesh" +#define STRING_ABL_SETTINGS "Nivellement Auto" +#define STRING_ABL_SETTINGS_BBL "Nivellement Bilinéaire" +#define STRING_ABL_SETTINGS_UBL "Nivellement Unifié" +#define STRING_ABL_SETTINGS_UBL_SAVE "Enregistrer dans l'emplacement" +#define STRING_ABL_SETTINGS_UBL_LOAD "Charger depuis l'emplacement" +#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 "Se souvenir de l'emplacement au prochain redémarrage ?\n(Sauvegarde EEPROM)" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L Corner" +#define STRING_LEVEL_CORNER_INFO "Distance de bord inférieure au décalage X/Y du palpeur, certains points cibles pourraient être inaccessibles.\nVoulez-vous utiliser une distance de bord adéquate ?" +#define STRING_P_OFFSET "Z Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Distance" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Charger/Décharger" +#define STRING_LOAD_UNLOAD_SHORT "Dé/Charger" +#define STRING_TOUCHSCREEN_ADJUST "Ajuster" +#define STRING_MORE "Plus" +#define STRING_SCREEN_INFO "Infos" +#define STRING_BG_COLOR "Arrière-plan" +#define STRING_FONT_COLOR "Police" +#define STRING_PERCENTAGE "Avancement" +#define STRING_PERCENTAGE_SPEED "Vitesse" +#define STRING_PERCENTAGE_FLOW "Débit" +#define STRING_BABYSTEP "BabyStep" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Calibration écran tactile" +#define STRING_ADJUST_INFO "Veuillez toucher le point rouge" +#define STRING_ADJUST_OK "Succès de l'ajustement" +#define STRING_ADJUST_FAILED "Ajustement incorrect, veuillez réessayer" +#define STRING_UNIFIEDMOVE "Mouvement" +#define STRING_UNIFIEDHEAT "Chauffer" +#define STRING_TOUCH_TO_EXIT "Toucher n'importe où pour quitter" +#define STRING_MAINMENU "Menu" +#define STRING_TUNING "Tuning" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "Autocalibrage MPC" +#define STRING_MPC_METHOD "Méthode:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "Autocalibrage PID" +#define STRING_TUNE_START_INFO "L'autocalibrage va être lancé. Cela peut prendre quelques minutes.\nContinuer ?" +#define STRING_TUNE_EXTRUDER "Extrudeur" +#define STRING_TUNE_EXT_EXTRUDE_100 "Ext. 100mm" +#define STRING_TUNE_EXT_TEMP "Réglage de l'extrudeur" +#define STRING_TUNE_EXT_MARK120MM "Marquer 120 mm sur le filament\nAppuyer ensuite sur '%s'\nMesurer la longueur restante" +#define STRING_TUNE_EXT_ADJ_ESTEPS "Ajustement E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "Nouveau E-steps enregistré !" +#define STRING_TUNE_EXT_MEASURED "Longueur restante" +#define STRING_TUNE_EXT_OLD_ESTEP "Ancien : %0.2f" +#define STRING_TUNE_EXT_NEW_ESTEP "Nouveau : %0.2f" +#define STRING_NOTIFICATIONS "Notifications" +#define STRING_MESH_EDITOR "Maillage" +#define STRING_MESH_TUNER "Edition du maillage" +#define STRING_CASE_LIGHT "Caisson" +#define STRING_LOAD_STARTED "Chargement du filament en cours.\nVeuillez attendre la fin du processus." +#define STRING_UNLOAD_STARTED "Déchargement du filament en cours.\nVeuillez attendre la fin du processus." +#define STRING_HEATERS_ON "Certains éléments sont toujours en chauffe.\nVoulez-vous les arrêter ?" +#define STRING_PRINT_FINISHED " Impression\n terminée" +#define STRING_MAIN_SCREEN "Menu" +#define STRING_PREVIOUS_PRINT_DATA "Résumé" +#define STRING_PRINT_TIME "Durée : %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nLongueur du filament : %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nPoids du filament : %1.2fg" +#define STRING_FILAMENT_COST "\nCoût du filament : %1.2f" +#define STRING_NO_FILAMENT_STATS "\nAucune statistique de filament." +#define STRING_CLICK_FOR_MORE "Afficher résumé" +#define STRING_EXT_TEMPLOW "La température de la buse est inférieure à la température minimale (%d℃)." +#define STRING_HEAT_HOTEND "Chauffer la buse à %d℃ ?" +#define STRING_DESIRED_TEMPLOW "La température de la buse est inférieure à la température désirée (%d℃)." +#define STRING_WAIT_HEAT_UP "Attendre la chauffe." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Test Mesh" +#define STRING_CONNECT_PROBE "Connectez le palpeur avant de démarrer le processus. Veillez à le déconnecter ensuite." +#define STRING_DISCONNECT_PROBE "Assurez-vous d'avoir déconnecté le palpeur avant d'utiliser cette fonctionnalité." +#define STRING_CALIBRATION "Calibrer" #endif diff --git a/TFT/src/User/API/Language/language_gr.h b/TFT/src/User/API/Language/language_gr.h index 17786dde7..9d8092918 100644 --- a/TFT/src/User/API/Language/language_gr.h +++ b/TFT/src/User/API/Language/language_gr.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_GR_H_ #define _LANGUAGE_GR_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Ελληνικά" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "Περιστροφή UI" - #define STRING_ACK_NOTIFICATION "ACK notification style" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "Λειτουργία λίστας προβολής αρχείων" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" - #define STRING_PERSISTENT_INFO "Πληροφορίες μόνιμης κατάστασης" - #define STRING_TERMINAL_ACK "Εμφάνιση ACK στο τερματικό" - #define STRING_SERIAL_ALWAYS_ON "Serial Always ON" - #define STRING_MARLIN_FULLSCREEN "Λειτουργία Marlin σε πλήρη οθόνη" - #define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "Ταχύτητα κίνησης(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "Αυτόματη απενεργοποίηση" - #define STRING_FIL_RUNOUT "Αισθητήρας νήματος" - #define STRING_PL_RECOVERY "Power loss recovery" - #define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" - #define STRING_BTT_MINI_UPS "BTT UPS Support" - #define STRING_TOUCH_SOUND "Touch sounds" - #define STRING_TOAST_SOUND "Toast Notifications" - #define STRING_ALERT_SOUND "Popups and Alerts" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "Φωτεινότητα" - #define STRING_LCD_IDLE_BRIGHTNESS "Φωτεινότητα LCD σκοτεινή" - #define STRING_LCD_IDLE_TIME "Xρονομετρητής αδράνειας οθόνης" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "LED περιστροφικού κουμπιού" - #define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" - #define STRING_START_GCODE_ENABLED "Αρχικό Gcode προ εκτύπωσης" - #define STRING_END_GCODE_ENABLED "Τερματικό Gcode εφότου εκτύπωσης" - #define STRING_CANCEL_GCODE_ENABLED "Ματαίωση Gcode" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Ελληνικά" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "Περιστροφή UI" +#define STRING_ACK_NOTIFICATION "ACK notification style" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "Λειτουργία λίστας προβολής αρχείων" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" +#define STRING_PERSISTENT_INFO "Πληροφορίες μόνιμης κατάστασης" +#define STRING_TERMINAL_ACK "Εμφάνιση ACK στο τερματικό" +#define STRING_SERIAL_ALWAYS_ON "Serial Always ON" +#define STRING_MARLIN_FULLSCREEN "Λειτουργία Marlin σε πλήρη οθόνη" +#define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "Ταχύτητα κίνησης(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "Αυτόματη απενεργοποίηση" +#define STRING_FIL_RUNOUT "Αισθητήρας νήματος" +#define STRING_PL_RECOVERY "Power loss recovery" +#define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" +#define STRING_BTT_MINI_UPS "BTT UPS Support" +#define STRING_TOUCH_SOUND "Touch sounds" +#define STRING_TOAST_SOUND "Toast Notifications" +#define STRING_ALERT_SOUND "Popups and Alerts" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "Φωτεινότητα" +#define STRING_LCD_IDLE_BRIGHTNESS "Φωτεινότητα LCD σκοτεινή" +#define STRING_LCD_IDLE_TIME "Xρονομετρητής αδράνειας οθόνης" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "LED περιστροφικού κουμπιού" +#define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" +#define STRING_START_GCODE_ENABLED "Αρχικό Gcode προ εκτύπωσης" +#define STRING_END_GCODE_ENABLED "Τερματικό Gcode εφότου εκτύπωσης" +#define STRING_CANCEL_GCODE_ENABLED "Ματαίωση Gcode" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Βήματα ανά χιλ" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "Μέγιστη επιτάχυνση" - #define STRING_MAXFEEDRATE "Μέγιστο ποσοστό τροφοδοσίας" - #define STRING_ACCELERATION "Eπιτάχυνση" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home Offset" - #define STRING_FWRETRACT "FW Retraction" - #define STRING_FWRECOVER "FW Retraction Recover" - #define STRING_RETRACT_AUTO "Auto Firmware Retract" - #define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Αντιστάθμιση Καθετήρας" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "Ένταση η. ρεύ. οδηγού(mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "TMC ευαισθησία χτυπήματος" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Βήματα ανά χιλ" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "Μέγιστη επιτάχυνση" +#define STRING_MAXFEEDRATE "Μέγιστο ποσοστό τροφοδοσίας" +#define STRING_ACCELERATION "Eπιτάχυνση" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home Offset" +#define STRING_FWRETRACT "FW Retraction" +#define STRING_FWRECOVER "FW Retraction Recover" +#define STRING_RETRACT_AUTO "Auto Firmware Retract" +#define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Αντιστάθμιση Καθετήρας" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "Ένταση η. ρεύ. οδηγού(mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "TMC ευαισθησία χτυπήματος" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Επιτάχυνση εκτύπωσης" - #define STRING_RETRACT_ACCELERATION "Eπιτάχυνση ανάκλησης" - #define STRING_TRAVEL_ACCELERATION "Επιτάχυνση ταξιδιού" - #define STRING_RETRACT_LENGTH "Retract length" - #define STRING_RETRACT_SWAP_LENGTH "Retract swap length" - #define STRING_RETRACT_FEEDRATE "Retract feedrate" - #define STRING_RETRACT_Z_LIFT "Z lift on retraction" - #define STRING_RECOVER_LENGTH "Extra recover length" - #define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" - #define STRING_RECOVER_FEEDRATE "Recover feedrate" - #define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Επιτάχυνση εκτύπωσης" +#define STRING_RETRACT_ACCELERATION "Eπιτάχυνση ανάκλησης" +#define STRING_TRAVEL_ACCELERATION "Επιτάχυνση ταξιδιού" +#define STRING_RETRACT_LENGTH "Retract length" +#define STRING_RETRACT_SWAP_LENGTH "Retract swap length" +#define STRING_RETRACT_FEEDRATE "Retract feedrate" +#define STRING_RETRACT_Z_LIFT "Z lift on retraction" +#define STRING_RECOVER_LENGTH "Extra recover length" +#define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" +#define STRING_RECOVER_FEEDRATE "Recover feedrate" +#define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" - // Save / Load - #define STRING_SAVE "Αποθήκευση" - #define STRING_RESTORE "Restore" - #define STRING_RESET "Επαναφορά" - #define STRING_EEPROM_SAVE_INFO "Save printer settings to EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Reload settings from EEPROM?" - #define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" - #define STRING_SETTINGS_SAVE "Save settings" - #define STRING_SETTINGS_RESTORE "Restore settings" - #define STRING_SETTINGS_RESET "Reset default settings" - #define STRING_SETTINGS_RESET_INFO "Όλες οι ρυθμίσεις θα επαναφερθούν στις προεπιλεγμένες τιμές. Συνεχίσει?" - #define STRING_SETTINGS_RESET_DONE "Η επαναφορά όλων των ρυθμίσεων ολοκληρώθηκε με επιτυχία. \nΓια πλήρη εφαρμογή,\nπαρακάλω επανεκκινήστε τη συσκευή σας." +// Save / Load +#define STRING_SAVE "Αποθήκευση" +#define STRING_RESTORE "Restore" +#define STRING_RESET "Επαναφορά" +#define STRING_EEPROM_SAVE_INFO "Save printer settings to EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Reload settings from EEPROM?" +#define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" +#define STRING_SETTINGS_SAVE "Save settings" +#define STRING_SETTINGS_RESTORE "Restore settings" +#define STRING_SETTINGS_RESET "Reset default settings" +#define STRING_SETTINGS_RESET_INFO "Όλες οι ρυθμίσεις θα επαναφερθούν στις προεπιλεγμένες τιμές. Συνεχίσει?" +#define STRING_SETTINGS_RESET_DONE "Η επαναφορά όλων των ρυθμίσεων ολοκληρώθηκε με επιτυχία. \nΓια πλήρη εφαρμογή,\nπαρακάλω επανεκκινήστε τη συσκευή σας." - // Navigation Buttons - #define STRING_PAGE_UP "Σελίδα πάνω" - #define STRING_PAGE_DOWN "Σελίδα κάτω" - #define STRING_UP "Up" - #define STRING_DOWN "Down" - #define STRING_NEXT "Next" - #define STRING_BACK "Πίσω" +// Navigation Buttons +#define STRING_PAGE_UP "Σελίδα πάνω" +#define STRING_PAGE_DOWN "Σελίδα κάτω" +#define STRING_UP "Up" +#define STRING_DOWN "Down" +#define STRING_NEXT "Next" +#define STRING_BACK "Πίσω" - // Value Buttons - #define STRING_INC "Αύξηση" - #define STRING_DEC "Μείωση" - #define STRING_LOAD "Φόρτωση" - #define STRING_UNLOAD "Ξεφόρτωση" - #define STRING_ON "Ενεργό" - #define STRING_OFF "Σβηστό" - #define STRING_AUTO "AUTO" - #define STRING_SMART "ΈΞΥΠΝΟ" - #define STRING_SLOW "Αργά" - #define STRING_NORMAL "Κανονικά" - #define STRING_FAST "Γρήγορα" - #define STRING_ZERO "Μηδέν" - #define STRING_HALF "Μισή ταχύτητα" - #define STRING_FULL "Ολοταχώς" - #define STRING_CUSTOM "Τροποποιημένο" - #define STRING_CLEAR "Clear" - #define STRING_DEFAULT "Default" +// Value Buttons +#define STRING_INC "Αύξηση" +#define STRING_DEC "Μείωση" +#define STRING_LOAD "Φόρτωση" +#define STRING_UNLOAD "Ξεφόρτωση" +#define STRING_ON "Ενεργό" +#define STRING_OFF "Σβηστό" +#define STRING_AUTO "AUTO" +#define STRING_SMART "ΈΞΥΠΝΟ" +#define STRING_SLOW "Αργά" +#define STRING_NORMAL "Κανονικά" +#define STRING_FAST "Γρήγορα" +#define STRING_ZERO "Μηδέν" +#define STRING_HALF "Μισή ταχύτητα" +#define STRING_FULL "Ολοταχώς" +#define STRING_CUSTOM "Τροποποιημένο" +#define STRING_CLEAR "Clear" +#define STRING_DEFAULT "Default" - // Action Buttons - #define STRING_START "Start" - #define STRING_STOP "Τερμάτιση" - #define STRING_PAUSE "Παύση" - #define STRING_RESUME "Ξαναρχίσει" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Αποσυνδέσει" - #define STRING_SHUT_DOWN "Απενεργοποίηση" - #define STRING_FORCE_SHUT_DOWN "Αναγκαστική απενεργοποίηση" - #define STRING_EMERGENCYSTOP "Σταμάτημα έκτακτης ανάγκης" - #define STRING_PREHEAT "Προθέρμανση" - #define STRING_PREHEAT_BOTH "Και τα δυο" - #define STRING_COOLDOWN "Κρυώσει" +// Action Buttons +#define STRING_START "Start" +#define STRING_STOP "Τερμάτιση" +#define STRING_PAUSE "Παύση" +#define STRING_RESUME "Ξαναρχίσει" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Αποσυνδέσει" +#define STRING_SHUT_DOWN "Απενεργοποίηση" +#define STRING_FORCE_SHUT_DOWN "Αναγκαστική απενεργοποίηση" +#define STRING_EMERGENCYSTOP "Σταμάτημα έκτακτης ανάγκης" +#define STRING_PREHEAT "Προθέρμανση" +#define STRING_PREHEAT_BOTH "Και τα δυο" +#define STRING_COOLDOWN "Κρυώσει" - // Dialog Buttons - #define STRING_CONFIRM "\u088E Εντάξει" //Confirm Sign - #define STRING_CANCEL "\u088F Ματαίωση" //Cancel Sign - #define STRING_WARNING "Προειδοποίηση" - #define STRING_CONTINUE "Συνέχεια" - #define STRING_CONFIRMATION "Are you sure?" +// Dialog Buttons +#define STRING_CONFIRM "\u088E Εντάξει" //Confirm Sign +#define STRING_CANCEL "\u088F Ματαίωση" //Cancel Sign +#define STRING_WARNING "Προειδοποίηση" +#define STRING_CONTINUE "Συνέχεια" +#define STRING_CONFIRMATION "Are you sure?" - // Process Status - #define STRING_STATUS "ΚΑΤΑΣΤΑΣΗ" - #define STRING_READY "Έτοιμο" - #define STRING_BUSY "Απασχολημένη επεξεργασία, παρακάλω περιμένετε ..." - #define STRING_LOADING "Φόρτωση..." - #define STRING_UNCONNECTED "Δεν υπάρχει συνδεδεμένος εκτυπωτής!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "ΚΑΤΑΣΤΑΣΗ" +#define STRING_READY "Έτοιμο" +#define STRING_BUSY "Απασχολημένη επεξεργασία, παρακάλω περιμένετε ..." +#define STRING_LOADING "Φόρτωση..." +#define STRING_UNCONNECTED "Δεν υπάρχει συνδεδεμένος εκτυπωτής!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "\u0884 Πληροφορίες" //Info Sign - #define STRING_INVALID_VALUE "Invalid value(s)" - #define STRING_TIMEOUT_REACHED "Timeout reached!" - #define STRING_DISCONNECT_INFO "Τώρα μπορείτε να ελέγξετε τον εκτυπωτή από τον υπολογιστή σας!" - #define STRING_SHUTTING_DOWN "Απενεργοποίηση..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Περιμένετε για την θερμοκρασία του hotend να πέσει χαμηλότερα απο %d℃" // The length of the info line is 24 characters, so the "temperatureof" will automatically be divided into "temperature of..." - #define STRING_POWER_FAILED "Συνέχεια εκτύπωσης;" - #define STRING_PROCESS_COMPLETED "Process completed!" - #define STRING_PROCESS_ABORTED "Process aborted!" +// Process Info +#define STRING_INFO "\u0884 Πληροφορίες" //Info Sign +#define STRING_INVALID_VALUE "Invalid value(s)" +#define STRING_TIMEOUT_REACHED "Timeout reached!" +#define STRING_DISCONNECT_INFO "Τώρα μπορείτε να ελέγξετε τον εκτυπωτή από τον υπολογιστή σας!" +#define STRING_SHUTTING_DOWN "Απενεργοποίηση..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Περιμένετε για την θερμοκρασία του hotend να πέσει χαμηλότερα απο %d℃" // The length of the info line is 24 characters, so the "temperatureof" will automatically be divided into "temperature of..." +#define STRING_POWER_FAILED "Συνέχεια εκτύπωσης;" +#define STRING_PROCESS_COMPLETED "Process completed!" +#define STRING_PROCESS_ABORTED "Process aborted!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT SD" - #define STRING_TFT_SD_INSERTED "Η κάρτα έχει εισαχθεί" - #define STRING_TFT_SD_REMOVED "Η κάρτα αφαιρέθηκε" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "Σφάλμα ανάγνωσης κάρτας SD οθόνης!" - #define STRING_TFT_USB "USB Δίσκος" - #define STRING_TFT_USB_INSERTED "Ο USB Δίσκος έχει εισαχθεί" - #define STRING_TFT_USB_REMOVED "Ο USB Δίσκος αφαιρέθηκε" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "Σφάλμα ανάγνωσης USB Δίσκου!" - #define STRING_ONBOARD_SD "Ενσωματωμένη κάρτα SD" - #define STRING_ONBOARD_USB "Ενσωματωμένη κάρτα USB" - #define STRING_ONBOARD_SD_READ_ERROR "Σφάλμα ανάγνωσης ενσωματωμένης κάρτας SD!" - #define STRING_FILAMENT_RUNOUT "τελείωσε το νημά!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT SD" +#define STRING_TFT_SD_INSERTED "Η κάρτα έχει εισαχθεί" +#define STRING_TFT_SD_REMOVED "Η κάρτα αφαιρέθηκε" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "Σφάλμα ανάγνωσης κάρτας SD οθόνης!" +#define STRING_TFT_USB "USB Δίσκος" +#define STRING_TFT_USB_INSERTED "Ο USB Δίσκος έχει εισαχθεί" +#define STRING_TFT_USB_REMOVED "Ο USB Δίσκος αφαιρέθηκε" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "Σφάλμα ανάγνωσης USB Δίσκου!" +#define STRING_ONBOARD_SD "Ενσωματωμένη κάρτα SD" +#define STRING_ONBOARD_USB "Ενσωματωμένη κάρτα USB" +#define STRING_ONBOARD_SD_READ_ERROR "Σφάλμα ανάγνωσης ενσωματωμένης κάρτας SD!" +#define STRING_FILAMENT_RUNOUT "τελείωσε το νημά!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Disarm All" - #define STRING_XY_UNLOCK "Disarm XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Disarm All" +#define STRING_XY_UNLOCK "Disarm XY" - #define STRING_START_PRINT "Start printing:\n%s?" - #define STRING_STOP_PRINT "Διακοπή εκτύπωσης?" - #define STRING_IS_PAUSE "Δεν είναι δυνατή η εξώθηση κατα τη δυάρκεια εκτύπωσης.\nΠαύση εκτύπωσης?" - #define STRING_M0_PAUSE "Διακόπηκε λόγω M0 εντολής" +#define STRING_START_PRINT "Start printing:\n%s?" +#define STRING_STOP_PRINT "Διακοπή εκτύπωσης?" +#define STRING_IS_PAUSE "Δεν είναι δυνατή η εξώθηση κατα τη δυάρκεια εκτύπωσης.\nΠαύση εκτύπωσης?" +#define STRING_M0_PAUSE "Διακόπηκε λόγω M0 εντολής" - #define STRING_TEST "Δοκιμή" - #define STRING_DEPLOY "Επέκταση" - #define STRING_STOW "Aπόσυρση" - #define STRING_REPEAT "Επανάληψη" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Δοκιμή" +#define STRING_DEPLOY "Επέκταση" +#define STRING_STOW "Aπόσυρση" +#define STRING_REPEAT "Επανάληψη" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Στόμιο" - #define STRING_BED "Θερμή Βάση" - #define STRING_CHAMBER "Chamber" - #define STRING_FAN "Ανεμιστήρας" +// Printer Tools +#define STRING_NOZZLE "Στόμιο" +#define STRING_BED "Θερμή Βάση" +#define STRING_CHAMBER "Chamber" +#define STRING_FAN "Ανεμιστήρας" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01χιλ" - #define STRING_01_MM "0.1χιλ" - #define STRING_1_MM "1χιλ" - #define STRING_5_MM "5χιλ" - #define STRING_10_MM "10χιλ" - #define STRING_100_MM "100χιλ" - #define STRING_200_MM "200χιλ" +#define STRING_001_MM "0.01χιλ" +#define STRING_01_MM "0.1χιλ" +#define STRING_1_MM "1χιλ" +#define STRING_5_MM "5χιλ" +#define STRING_10_MM "10χιλ" +#define STRING_100_MM "100χιλ" +#define STRING_200_MM "200χιλ" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 Δευτ." - #define STRING_10_SECONDS "10 Δευτ." - #define STRING_30_SECONDS "30 Δευτ." - #define STRING_60_SECONDS "1 Λεπτό" - #define STRING_120_SECONDS "2 Λεπτά" - #define STRING_300_SECONDS "5 Λεπτά" +#define STRING_5_SECONDS "5 Δευτ." +#define STRING_10_SECONDS "10 Δευτ." +#define STRING_30_SECONDS "30 Δευτ." +#define STRING_60_SECONDS "1 Λεπτό" +#define STRING_120_SECONDS "2 Λεπτά" +#define STRING_300_SECONDS "5 Λεπτά" - // Colors - #define STRING_WHITE "Άσπρο" - #define STRING_BLACK "Μάυρο" - #define STRING_BLUE "Μπλέ" - #define STRING_RED "Κόκκινο" - #define STRING_GREEN "Πράσινο" - #define STRING_CYAN "Κυανό" - #define STRING_YELLOW "Κίτρινο" - #define STRING_BROWN "Καφέ" - #define STRING_GRAY "Γκρί" - #define STRING_ORANGE "Πορτοκάλι" - #define STRING_INDIGO "Ινδικό" - #define STRING_VIOLET "Βιολετί" - #define STRING_MAGENTA "Πορφύρα" - #define STRING_PURPLE "Μωβ" - #define STRING_LIME "Πρασινοκίτρινο" - #define STRING_DARKBLUE "Σκούρο μπλε" - #define STRING_DARKGREEN "Σκούρο πράσινο" - #define STRING_DARKGRAY "Σκούρο γκρίζο" +// Colors +#define STRING_WHITE "Άσπρο" +#define STRING_BLACK "Μάυρο" +#define STRING_BLUE "Μπλέ" +#define STRING_RED "Κόκκινο" +#define STRING_GREEN "Πράσινο" +#define STRING_CYAN "Κυανό" +#define STRING_YELLOW "Κίτρινο" +#define STRING_BROWN "Καφέ" +#define STRING_GRAY "Γκρί" +#define STRING_ORANGE "Πορτοκάλι" +#define STRING_INDIGO "Ινδικό" +#define STRING_VIOLET "Βιολετί" +#define STRING_MAGENTA "Πορφύρα" +#define STRING_PURPLE "Μωβ" +#define STRING_LIME "Πρασινοκίτρινο" +#define STRING_DARKBLUE "Σκούρο μπλε" +#define STRING_DARKGREEN "Σκούρο πράσινο" +#define STRING_DARKGRAY "Σκούρο γκρίζο" - // Menus - #define STRING_HEAT "Θέρμανση" - #define STRING_MOVE "Μετακίνηση" - #define STRING_HOME "Αυτο-Κατεύθυνση" - #define STRING_PRINT "Εκτύπωση" - #define STRING_EXTRUDE "Εκβολή" - #define STRING_SETTINGS "Ρυθμίσεις" - #define STRING_SCREEN_SETTINGS "Οθόνη" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Sound" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Μηχανήματος" - #define STRING_PARAMETER_SETTINGS "Ρυθμίσεις παραμέτρων" - #define STRING_FEATURE_SETTINGS "Χαρακτηριστικών" - #define STRING_CONNECTION_SETTINGS "Connection" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "BaudRate" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "Χρώμα LED" - #define STRING_RGB_OFF "Απενεργοποίηση LED" - #define STRING_TERMINAL "Τερματικό" - #define STRING_LEVELING "Ισοπέδωση" - #define STRING_POINT_1 "Σημείο 1" - #define STRING_POINT_2 "Σημείο 2" - #define STRING_POINT_3 "Σημείο 3" - #define STRING_POINT_4 "Σημείο 4" - #define STRING_POINT_5 "Σημείο 5" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Bed Leveling Complete" - #define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" - #define STRING_BL_ENABLE "BL: on" - #define STRING_BL_DISABLE "BL: off" - #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_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 "Save the mesh to EEPROM to load after reboot?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "Αντιστάθμιση P" - #define STRING_H_OFFSET "Αντιστάθμιση H" - #define STRING_DISTANCE "Distance" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Load/Unload" // needs translation - #define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation - #define STRING_TOUCHSCREEN_ADJUST "Προσαρμογή TOUCH" - #define STRING_MORE "Περισσότερα" - #define STRING_SCREEN_INFO "Πληροφορίες" - #define STRING_BG_COLOR "Background color" - #define STRING_FONT_COLOR "Font color" - #define STRING_PERCENTAGE "Ποσοστό" - #define STRING_PERCENTAGE_SPEED "Ταχύτητα" - #define STRING_PERCENTAGE_FLOW "Ροή" - #define STRING_BABYSTEP "Μικροβήμα" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Βαθμονόμηση οθόνης αφής" - #define STRING_ADJUST_INFO "Κάντε κλικ στην κόκκινη κουκκίδα" - #define STRING_ADJUST_OK "Επιτυχία προσαρμογής" - #define STRING_ADJUST_FAILED "Η προσαρμογή απέτυχε. Δοκιμάστε ξανά" - #define STRING_UNIFIEDMOVE "Κίνηση" - #define STRING_UNIFIEDHEAT "Θέρμανση/Ανεμιστήρας" - #define STRING_TOUCH_TO_EXIT "Αγγίξτε οπουδήποτε για έξοδο" - #define STRING_MAINMENU "Μενού" - #define STRING_TUNING "Tuning" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC autotune" - #define STRING_MPC_METHOD "Mέθoδoς:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID autotune" - #define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" - #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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" - #define STRING_MESH_EDITOR "Mesh edit" - #define STRING_MESH_TUNER "Mesh tuner" - #define STRING_CASE_LIGHT "Case light" - #define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed - #define STRING_PRINT_FINISHED " Print\n finished" - #define STRING_MAIN_SCREEN "Main" - #define STRING_PREVIOUS_PRINT_DATA "Brief" - #define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament cost: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament data not available." - #define STRING_CLICK_FOR_MORE "Click for summary" - #define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." - #define STRING_HEAT_HOTEND "Heat hotend to %d℃?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "Θέρμανση" +#define STRING_MOVE "Μετακίνηση" +#define STRING_HOME "Αυτο-Κατεύθυνση" +#define STRING_PRINT "Εκτύπωση" +#define STRING_EXTRUDE "Εκβολή" +#define STRING_SETTINGS "Ρυθμίσεις" +#define STRING_SCREEN_SETTINGS "Οθόνη" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Sound" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Μηχανήματος" +#define STRING_PARAMETER_SETTINGS "Ρυθμίσεις παραμέτρων" +#define STRING_FEATURE_SETTINGS "Χαρακτηριστικών" +#define STRING_CONNECTION_SETTINGS "Connection" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "BaudRate" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "Χρώμα LED" +#define STRING_RGB_OFF "Απενεργοποίηση LED" +#define STRING_TERMINAL "Τερματικό" +#define STRING_LEVELING "Ισοπέδωση" +#define STRING_POINT_1 "Σημείο 1" +#define STRING_POINT_2 "Σημείο 2" +#define STRING_POINT_3 "Σημείο 3" +#define STRING_POINT_4 "Σημείο 4" +#define STRING_POINT_5 "Σημείο 5" +#define STRING_BED_LEVELING "Bed Level" +#define STRING_BL_COMPLETE "Bed Leveling Complete" +#define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" +#define STRING_BL_ENABLE "BL: on" +#define STRING_BL_DISABLE "BL: off" +#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_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 "Save the mesh to EEPROM to load after reboot?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "Αντιστάθμιση P" +#define STRING_H_OFFSET "Αντιστάθμιση H" +#define STRING_DISTANCE "Distance" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Load/Unload" // needs translation +#define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation +#define STRING_TOUCHSCREEN_ADJUST "Προσαρμογή TOUCH" +#define STRING_MORE "Περισσότερα" +#define STRING_SCREEN_INFO "Πληροφορίες" +#define STRING_BG_COLOR "Background color" +#define STRING_FONT_COLOR "Font color" +#define STRING_PERCENTAGE "Ποσοστό" +#define STRING_PERCENTAGE_SPEED "Ταχύτητα" +#define STRING_PERCENTAGE_FLOW "Ροή" +#define STRING_BABYSTEP "Μικροβήμα" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Βαθμονόμηση οθόνης αφής" +#define STRING_ADJUST_INFO "Κάντε κλικ στην κόκκινη κουκκίδα" +#define STRING_ADJUST_OK "Επιτυχία προσαρμογής" +#define STRING_ADJUST_FAILED "Η προσαρμογή απέτυχε. Δοκιμάστε ξανά" +#define STRING_UNIFIEDMOVE "Κίνηση" +#define STRING_UNIFIEDHEAT "Θέρμανση/Ανεμιστήρας" +#define STRING_TOUCH_TO_EXIT "Αγγίξτε οπουδήποτε για έξοδο" +#define STRING_MAINMENU "Μενού" +#define STRING_TUNING "Tuning" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC autotune" +#define STRING_MPC_METHOD "Mέθoδoς:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID autotune" +#define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" +#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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" +#define STRING_MESH_EDITOR "Mesh edit" +#define STRING_MESH_TUNER "Mesh tuner" +#define STRING_CASE_LIGHT "Case light" +#define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed +#define STRING_PRINT_FINISHED " Print\n finished" +#define STRING_MAIN_SCREEN "Main" +#define STRING_PREVIOUS_PRINT_DATA "Brief" +#define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament cost: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament data not available." +#define STRING_CLICK_FOR_MORE "Click for summary" +#define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." +#define STRING_HEAT_HOTEND "Heat hotend to %d℃?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_hr.h b/TFT/src/User/API/Language/language_hr.h index b4795a7c7..f7e7d1018 100644 --- a/TFT/src/User/API/Language/language_hr.h +++ b/TFT/src/User/API/Language/language_hr.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_HR_H_ #define _LANGUAGE_HR_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Hrvatski" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emuliraj M600" - #define STRING_EMULATED_M109_M190 "Emuliraj M109 / M190" - #define STRING_EVENT_LED "LED event" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "OkreniTFT" - #define STRING_ACK_NOTIFICATION "ACK stil obavjesti" - #define STRING_FILES_SORT_BY "Razvrstaj datoteke po" - #define STRING_FILES_LIST_MODE "Način popisa datoteka" - #define STRING_FILENAME_EXTENSION "Prikaži nastavak naziva" - #define STRING_FAN_SPEED_PERCENTAGE "Brzina ventilatora u %" - #define STRING_PERSISTENT_INFO "Stalno prikazuj status" - #define STRING_TERMINAL_ACK "Prikaži ACK u terminalu" - #define STRING_SERIAL_ALWAYS_ON "Serijski uvijek UKLJUČEN" - #define STRING_MARLIN_FULLSCREEN "Preko cijelog zaslona" - #define STRING_MARLIN_SHOW_TITLE "Marlin prikaži naslov" - #define STRING_MARLIN_TYPE "Marlin verzija" - #define STRING_MOVE_SPEED "Brzina pomaka (X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto učitaj izravnanje" - #define STRING_PROBING_Z_OFFSET "Mjerenje Z odmaka" - #define STRING_Z_STEPPERS_ALIGNMENT "Z steperi auto poravnanje" - #define STRING_PS_AUTO_SHUTDOWN "Auto isključivanje" - #define STRING_FIL_RUNOUT "Senzor filamenta" - #define STRING_PL_RECOVERY "Oporavak od gubitka struje" - #define STRING_PL_RECOVERY_HOME "Home nakon gubitka stuje" - #define STRING_BTT_MINI_UPS "BTT UPS podrška" - #define STRING_TOUCH_SOUND "Zvuk dodira" - #define STRING_TOAST_SOUND "Zvuk obavijesti" - #define STRING_ALERT_SOUND "Zvuk upozorenja" - #define STRING_HEATER_SOUND "Zvuk obavijesti grijača" - #define STRING_LCD_BRIGHTNESS "Svjetlina" - #define STRING_LCD_IDLE_BRIGHTNESS "LCD mirujuća svjetlina" - #define STRING_LCD_IDLE_TIME "Vrijeme do zatamnjena" - #define STRING_LCD_LOCK_ON_IDLE "Zaključavanje u mirovanju" - #define STRING_LED_ALWAYS_ON "LED uvijek UKLJUČEN" - #define STRING_KNOB_LED_COLOR "LED boja gumba" - #define STRING_KNOB_LED_IDLE "LED gumba u mirovanju" - #define STRING_START_GCODE_ENABLED "Pokreni Gcode prije ispisa" - #define STRING_END_GCODE_ENABLED "Završi Gcode nakon ispisa" - #define STRING_CANCEL_GCODE_ENABLED "Otkaži Gcode" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Hrvatski" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emuliraj M600" +#define STRING_EMULATED_M109_M190 "Emuliraj M109 / M190" +#define STRING_EVENT_LED "LED event" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "OkreniTFT" +#define STRING_ACK_NOTIFICATION "ACK stil obavjesti" +#define STRING_FILES_SORT_BY "Razvrstaj datoteke po" +#define STRING_FILES_LIST_MODE "Način popisa datoteka" +#define STRING_FILENAME_EXTENSION "Prikaži nastavak naziva" +#define STRING_FAN_SPEED_PERCENTAGE "Brzina ventilatora u %" +#define STRING_PERSISTENT_INFO "Stalno prikazuj status" +#define STRING_TERMINAL_ACK "Prikaži ACK u terminalu" +#define STRING_SERIAL_ALWAYS_ON "Serijski uvijek UKLJUČEN" +#define STRING_MARLIN_FULLSCREEN "Preko cijelog zaslona" +#define STRING_MARLIN_SHOW_TITLE "Marlin prikaži naslov" +#define STRING_MARLIN_TYPE "Marlin verzija" +#define STRING_MOVE_SPEED "Brzina pomaka (X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto učitaj izravnanje" +#define STRING_PROBING_Z_OFFSET "Mjerenje Z odmaka" +#define STRING_Z_STEPPERS_ALIGNMENT "Z steperi auto poravnanje" +#define STRING_PS_AUTO_SHUTDOWN "Auto isključivanje" +#define STRING_FIL_RUNOUT "Senzor filamenta" +#define STRING_PL_RECOVERY "Oporavak od gubitka struje" +#define STRING_PL_RECOVERY_HOME "Home nakon gubitka stuje" +#define STRING_BTT_MINI_UPS "BTT UPS podrška" +#define STRING_TOUCH_SOUND "Zvuk dodira" +#define STRING_TOAST_SOUND "Zvuk obavijesti" +#define STRING_ALERT_SOUND "Zvuk upozorenja" +#define STRING_HEATER_SOUND "Zvuk obavijesti grijača" +#define STRING_LCD_BRIGHTNESS "Svjetlina" +#define STRING_LCD_IDLE_BRIGHTNESS "LCD mirujuća svjetlina" +#define STRING_LCD_IDLE_TIME "Vrijeme do zatamnjena" +#define STRING_LCD_LOCK_ON_IDLE "Zaključavanje u mirovanju" +#define STRING_LED_ALWAYS_ON "LED uvijek UKLJUČEN" +#define STRING_KNOB_LED_COLOR "LED boja gumba" +#define STRING_KNOB_LED_IDLE "LED gumba u mirovanju" +#define STRING_START_GCODE_ENABLED "Pokreni Gcode prije ispisa" +#define STRING_END_GCODE_ENABLED "Završi Gcode nakon ispisa" +#define STRING_CANCEL_GCODE_ENABLED "Otkaži Gcode" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Koraci po mm" - #define STRING_FILAMENT_SETTING "Promjer filamenta" - #define STRING_MAXACCELERATION "Maksimalno ubrzanje" - #define STRING_MAXFEEDRATE "Max brzina snabdijevanja" - #define STRING_ACCELERATION "Ubrzanje" - #define STRING_JERK "Trzaj" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home odstupanje" - #define STRING_FWRETRACT "FW uvlačenje" - #define STRING_FWRECOVER "FW oporavak uvlačenja" - #define STRING_RETRACT_AUTO "Auto Firmware uvlačenje" - #define STRING_HOTEND_OFFSET "odstupanje 2. mlaznice" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Hotbed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta konfiguracija" - #define STRING_DELTA_TOWER_ANGLE "Delta kut tornja" - #define STRING_DELTA_DIAGONAL_ROD "Dijagonalni trim šipke" - #define STRING_DELTA_ENDSTOP "Podešavanje graničnika" - #define STRING_PROBE_OFFSET "Odmak Ticala" - #define STRING_LIN_ADVANCE "Linearno napredovanje" - #define STRING_CURRENT_SETTING "Struja drajvera (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "TMC osjetljivost na graničnik" - #define STRING_MBL_OFFSET "MBL odmak" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Koraci po mm" +#define STRING_FILAMENT_SETTING "Promjer filamenta" +#define STRING_MAXACCELERATION "Maksimalno ubrzanje" +#define STRING_MAXFEEDRATE "Max brzina snabdijevanja" +#define STRING_ACCELERATION "Ubrzanje" +#define STRING_JERK "Trzaj" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home odstupanje" +#define STRING_FWRETRACT "FW uvlačenje" +#define STRING_FWRECOVER "FW oporavak uvlačenja" +#define STRING_RETRACT_AUTO "Auto Firmware uvlačenje" +#define STRING_HOTEND_OFFSET "odstupanje 2. mlaznice" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Hotbed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta konfiguracija" +#define STRING_DELTA_TOWER_ANGLE "Delta kut tornja" +#define STRING_DELTA_DIAGONAL_ROD "Dijagonalni trim šipke" +#define STRING_DELTA_ENDSTOP "Podešavanje graničnika" +#define STRING_PROBE_OFFSET "Odmak Ticala" +#define STRING_LIN_ADVANCE "Linearno napredovanje" +#define STRING_CURRENT_SETTING "Struja drajvera (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "TMC osjetljivost na graničnik" +#define STRING_MBL_OFFSET "MBL odmak" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Ubrzanje istiskivanja" - #define STRING_RETRACT_ACCELERATION "Ubrzanje uvlačenja" - #define STRING_TRAVEL_ACCELERATION "Ubrzanje pomicanja" - #define STRING_RETRACT_LENGTH "Dužina uvlačenja" - #define STRING_RETRACT_SWAP_LENGTH "Dužina swap uvlačenja" - #define STRING_RETRACT_FEEDRATE "Uvlačenje snabdjevanja" - #define STRING_RETRACT_Z_LIFT "Z podizanje pri uvlačenju" - #define STRING_RECOVER_LENGTH "Dodatna dužina oporavka" - #define STRING_SWAP_RECOVER_LENGTH "Dodatna dužina swap oporavka" - #define STRING_RECOVER_FEEDRATE "Vrati snabdjevanje" - #define STRING_SWAP_RECOVER_FEEDRATE "Vrati swap snabdjevanje" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Ubrzanje istiskivanja" +#define STRING_RETRACT_ACCELERATION "Ubrzanje uvlačenja" +#define STRING_TRAVEL_ACCELERATION "Ubrzanje pomicanja" +#define STRING_RETRACT_LENGTH "Dužina uvlačenja" +#define STRING_RETRACT_SWAP_LENGTH "Dužina swap uvlačenja" +#define STRING_RETRACT_FEEDRATE "Uvlačenje snabdjevanja" +#define STRING_RETRACT_Z_LIFT "Z podizanje pri uvlačenju" +#define STRING_RECOVER_LENGTH "Dodatna dužina oporavka" +#define STRING_SWAP_RECOVER_LENGTH "Dodatna dužina swap oporavka" +#define STRING_RECOVER_FEEDRATE "Vrati snabdjevanje" +#define STRING_SWAP_RECOVER_FEEDRATE "Vrati swap snabdjevanje" - // Save / Load - #define STRING_SAVE "Spremi" - #define STRING_RESTORE "Vrati" - #define STRING_RESET "Resetiraj" - #define STRING_EEPROM_SAVE_INFO "Spremiti postavke printera u EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Učitaj postavke iz EEPROM-a?" - #define STRING_EEPROM_RESET_INFO "Resetiraj EEPROM na zadane postavke?" - #define STRING_SETTINGS_SAVE "Spremi postavke" - #define STRING_SETTINGS_RESTORE "Vrati postavke" - #define STRING_SETTINGS_RESET "Reset na zadane postavke" - #define STRING_SETTINGS_RESET_INFO "Resetiraj sve postavke na zadano?" - #define STRING_SETTINGS_RESET_DONE "Resetiranje svih postavki uspješno.\nMolimo restartajte printer." +// Save / Load +#define STRING_SAVE "Spremi" +#define STRING_RESTORE "Vrati" +#define STRING_RESET "Resetiraj" +#define STRING_EEPROM_SAVE_INFO "Spremiti postavke printera u EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Učitaj postavke iz EEPROM-a?" +#define STRING_EEPROM_RESET_INFO "Resetiraj EEPROM na zadane postavke?" +#define STRING_SETTINGS_SAVE "Spremi postavke" +#define STRING_SETTINGS_RESTORE "Vrati postavke" +#define STRING_SETTINGS_RESET "Reset na zadane postavke" +#define STRING_SETTINGS_RESET_INFO "Resetiraj sve postavke na zadano?" +#define STRING_SETTINGS_RESET_DONE "Resetiranje svih postavki uspješno.\nMolimo restartajte printer." - // Navigation Buttons - #define STRING_PAGE_UP "Str.gore" - #define STRING_PAGE_DOWN "Str.dolje" - #define STRING_UP "Gore" - #define STRING_DOWN "Dolje" - #define STRING_NEXT "Sljedeće" - #define STRING_BACK "Nazad" +// Navigation Buttons +#define STRING_PAGE_UP "Str.gore" +#define STRING_PAGE_DOWN "Str.dolje" +#define STRING_UP "Gore" +#define STRING_DOWN "Dolje" +#define STRING_NEXT "Sljedeće" +#define STRING_BACK "Nazad" - // Value Buttons - #define STRING_INC "Povećaj" - #define STRING_DEC "Smanji" - #define STRING_LOAD "Napuni" - #define STRING_UNLOAD "Isprazni" - #define STRING_ON "UKLJUČI" - #define STRING_OFF "ISKLJUČI" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Sporo" - #define STRING_NORMAL "Normalno" - #define STRING_FAST "Brzo" - #define STRING_ZERO "Nula" - #define STRING_HALF "50%" - #define STRING_FULL "100%" - #define STRING_CUSTOM "Prilagodi" - #define STRING_CLEAR "Očisti" - #define STRING_DEFAULT "Zadano" +// Value Buttons +#define STRING_INC "Povećaj" +#define STRING_DEC "Smanji" +#define STRING_LOAD "Napuni" +#define STRING_UNLOAD "Isprazni" +#define STRING_ON "UKLJUČI" +#define STRING_OFF "ISKLJUČI" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Sporo" +#define STRING_NORMAL "Normalno" +#define STRING_FAST "Brzo" +#define STRING_ZERO "Nula" +#define STRING_HALF "50%" +#define STRING_FULL "100%" +#define STRING_CUSTOM "Prilagodi" +#define STRING_CLEAR "Očisti" +#define STRING_DEFAULT "Zadano" - // Action Buttons - #define STRING_START "Pokreni" - #define STRING_STOP "Zaustavi" - #define STRING_PAUSE "Pauziraj" - #define STRING_RESUME "Nastavi" - #define STRING_INIT "Početni" - #define STRING_DISCONNECT "Odspoji" - #define STRING_SHUT_DOWN "Ugasi" - #define STRING_FORCE_SHUT_DOWN "Prisilno ugasi" - #define STRING_EMERGENCYSTOP "PREKIDAJ" - #define STRING_PREHEAT "Predgrij" - #define STRING_PREHEAT_BOTH "Predgrijavanje obadva" - #define STRING_COOLDOWN "Rashladi" +// Action Buttons +#define STRING_START "Pokreni" +#define STRING_STOP "Zaustavi" +#define STRING_PAUSE "Pauziraj" +#define STRING_RESUME "Nastavi" +#define STRING_INIT "Početni" +#define STRING_DISCONNECT "Odspoji" +#define STRING_SHUT_DOWN "Ugasi" +#define STRING_FORCE_SHUT_DOWN "Prisilno ugasi" +#define STRING_EMERGENCYSTOP "PREKIDAJ" +#define STRING_PREHEAT "Predgrij" +#define STRING_PREHEAT_BOTH "Predgrijavanje obadva" +#define STRING_COOLDOWN "Rashladi" - // Dialog Buttons - #define STRING_CONFIRM "Potvrdi" - #define STRING_CANCEL "Odustani" - #define STRING_WARNING "Upozorenje" - #define STRING_CONTINUE "Nastavi" - #define STRING_CONFIRMATION "Jeste li sigurni?" +// Dialog Buttons +#define STRING_CONFIRM "Potvrdi" +#define STRING_CANCEL "Odustani" +#define STRING_WARNING "Upozorenje" +#define STRING_CONTINUE "Nastavi" +#define STRING_CONFIRMATION "Jeste li sigurni?" - // Process Status - #define STRING_STATUS "Status" - #define STRING_READY "Spreman" - #define STRING_BUSY "Zauzet procesiranjem, pričekajte..." - #define STRING_LOADING "Učitavanje..." - #define STRING_UNCONNECTED "Nije priključen pisač!" - #define STRING_LISTENING "TFT u Slušajućem Modu!" +// Process Status +#define STRING_STATUS "Status" +#define STRING_READY "Spreman" +#define STRING_BUSY "Zauzet procesiranjem, pričekajte..." +#define STRING_LOADING "Učitavanje..." +#define STRING_UNCONNECTED "Nije priključen pisač!" +#define STRING_LISTENING "TFT u Slušajućem Modu!" - // Process Info - #define STRING_INFO "Info" - #define STRING_INVALID_VALUE "Nevažeća vrijednost(s)" - #define STRING_TIMEOUT_REACHED "Isteklo vrijeme čekanja" - #define STRING_DISCONNECT_INFO "Sada možete kontrolirati pisač putem svog računala!" - #define STRING_SHUTTING_DOWN "Isključivanje..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Pričekajte da temperatura hotenda bude niža od %d℃" - #define STRING_POWER_FAILED "Nastaviti s ispisom?" - #define STRING_PROCESS_COMPLETED "Proces završen!" - #define STRING_PROCESS_ABORTED "Proces prekinut!" +// Process Info +#define STRING_INFO "Info" +#define STRING_INVALID_VALUE "Nevažeća vrijednost(s)" +#define STRING_TIMEOUT_REACHED "Isteklo vrijeme čekanja" +#define STRING_DISCONNECT_INFO "Sada možete kontrolirati pisač putem svog računala!" +#define STRING_SHUTTING_DOWN "Isključivanje..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Pričekajte da temperatura hotenda bude niža od %d℃" +#define STRING_POWER_FAILED "Nastaviti s ispisom?" +#define STRING_PROCESS_COMPLETED "Proces završen!" +#define STRING_PROCESS_ABORTED "Proces prekinut!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT SD" - #define STRING_TFT_SD_INSERTED "Kartica je umetnuta" - #define STRING_TFT_SD_REMOVED "Kartica uklonjena" - #define STRING_TFT_SD_NOT_DETECTED "SD kartica nije otkrivena!" - #define STRING_TFT_SD_READ_ERROR "Pogreška čitanja TFT SD kartice!" - #define STRING_TFT_USB "TFT USB" - #define STRING_TFT_USB_INSERTED "USB umetnut" - #define STRING_TFT_USB_REMOVED "USB uklonjen" - #define STRING_TFT_USB_NOT_DETECTED "USB nije otkriven!" - #define STRING_TFT_USB_READ_ERROR "Pogreška čitanja USB-a!" - #define STRING_ONBOARD_SD "Matična SD" - #define STRING_ONBOARD_USB "Matična USB" - #define STRING_ONBOARD_SD_READ_ERROR "Pogreška čitanja SD na matičnoj!" - #define STRING_FILAMENT_RUNOUT "Nedostatak filamenta!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT SD" +#define STRING_TFT_SD_INSERTED "Kartica je umetnuta" +#define STRING_TFT_SD_REMOVED "Kartica uklonjena" +#define STRING_TFT_SD_NOT_DETECTED "SD kartica nije otkrivena!" +#define STRING_TFT_SD_READ_ERROR "Pogreška čitanja TFT SD kartice!" +#define STRING_TFT_USB "TFT USB" +#define STRING_TFT_USB_INSERTED "USB umetnut" +#define STRING_TFT_USB_REMOVED "USB uklonjen" +#define STRING_TFT_USB_NOT_DETECTED "USB nije otkriven!" +#define STRING_TFT_USB_READ_ERROR "Pogreška čitanja USB-a!" +#define STRING_ONBOARD_SD "Matična SD" +#define STRING_ONBOARD_USB "Matična USB" +#define STRING_ONBOARD_SD_READ_ERROR "Pogreška čitanja SD na matičnoj!" +#define STRING_FILAMENT_RUNOUT "Nedostatak filamenta!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "OtpustiSve" - #define STRING_XY_UNLOCK "OtpustiXY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "OtpustiSve" +#define STRING_XY_UNLOCK "OtpustiXY" - #define STRING_START_PRINT "Započni printanje:\n%s?" - #define STRING_STOP_PRINT "Zaustavi printanje?" - #define STRING_IS_PAUSE "Radnja nije dopuštena tijekom printanja.\n\nPauzirati print?" - #define STRING_M0_PAUSE "Pauzirano naredbom M0" +#define STRING_START_PRINT "Započni printanje:\n%s?" +#define STRING_STOP_PRINT "Zaustavi printanje?" +#define STRING_IS_PAUSE "Radnja nije dopuštena tijekom printanja.\n\nPauzirati print?" +#define STRING_M0_PAUSE "Pauzirano naredbom M0" - #define STRING_TEST "Test" - #define STRING_DEPLOY "Postavi" - #define STRING_STOW "Sakrij" - #define STRING_REPEAT "Ponovi" - #define STRING_HS_ON "HS:UKLJUČENO" - #define STRING_HS_OFF "HS:ISKLJUČENO" +#define STRING_TEST "Test" +#define STRING_DEPLOY "Postavi" +#define STRING_STOW "Sakrij" +#define STRING_REPEAT "Ponovi" +#define STRING_HS_ON "HS:UKLJUČENO" +#define STRING_HS_OFF "HS:ISKLJUČENO" - // Printer Tools - #define STRING_NOZZLE "Mlaznica" - #define STRING_BED "Hotbed" - #define STRING_CHAMBER "Komora" - #define STRING_FAN "Ventilator" +// Printer Tools +#define STRING_NOZZLE "Mlaznica" +#define STRING_BED "Hotbed" +#define STRING_CHAMBER "Komora" +#define STRING_FAN "Ventilator" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 sek." - #define STRING_10_SECONDS "10 sek." - #define STRING_30_SECONDS "30 sek." - #define STRING_60_SECONDS "1 min." - #define STRING_120_SECONDS "2 min." - #define STRING_300_SECONDS "5 min." +#define STRING_5_SECONDS "5 sek." +#define STRING_10_SECONDS "10 sek." +#define STRING_30_SECONDS "30 sek." +#define STRING_60_SECONDS "1 min." +#define STRING_120_SECONDS "2 min." +#define STRING_300_SECONDS "5 min." - // Colors - #define STRING_WHITE "Bijelo" - #define STRING_BLACK "Crno" - #define STRING_BLUE "Plavo" - #define STRING_RED "Crveno" - #define STRING_GREEN "Zeleno" - #define STRING_CYAN "Modrozeleno" - #define STRING_YELLOW "Žuto" - #define STRING_BROWN "Smeđe" - #define STRING_GRAY "Sivo" - #define STRING_ORANGE "Narančasto" - #define STRING_INDIGO "Indigo" - #define STRING_VIOLET "Violetno" - #define STRING_MAGENTA "Magenta" - #define STRING_PURPLE "Ljubičasto" - #define STRING_LIME "Limeta" - #define STRING_DARKBLUE "Tamnoplava" - #define STRING_DARKGREEN "Tamnozeleno" - #define STRING_DARKGRAY "Tamnosiva" +// Colors +#define STRING_WHITE "Bijelo" +#define STRING_BLACK "Crno" +#define STRING_BLUE "Plavo" +#define STRING_RED "Crveno" +#define STRING_GREEN "Zeleno" +#define STRING_CYAN "Modrozeleno" +#define STRING_YELLOW "Žuto" +#define STRING_BROWN "Smeđe" +#define STRING_GRAY "Sivo" +#define STRING_ORANGE "Narančasto" +#define STRING_INDIGO "Indigo" +#define STRING_VIOLET "Violetno" +#define STRING_MAGENTA "Magenta" +#define STRING_PURPLE "Ljubičasto" +#define STRING_LIME "Limeta" +#define STRING_DARKBLUE "Tamnoplava" +#define STRING_DARKGREEN "Tamnozeleno" +#define STRING_DARKGRAY "Tamnosiva" - // Menus - #define STRING_HEAT "Toplina" - #define STRING_MOVE "Pomicanje" - #define STRING_HOME "Home" - #define STRING_PRINT "Printaj" - #define STRING_EXTRUDE "Ekstrudaj" - #define STRING_SETTINGS "Postavke" - #define STRING_SCREEN_SETTINGS "Zaslon" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Zvuk" - #define STRING_MARLIN_MODE_SETTINGS "MarlinSet" - #define STRING_MACHINE_SETTINGS "Printer" - #define STRING_PARAMETER_SETTINGS "Parametri" - #define STRING_FEATURE_SETTINGS "Funkcije" - #define STRING_CONNECTION_SETTINGS "Veza" - #define STRING_SERIAL_PORTS "Priključci" - #define STRING_BAUDRATE "BaudRate" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "LED Boja " - #define STRING_RGB_OFF "LED Isk." - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "Izravnaj" - #define STRING_POINT_1 "D-L" - #define STRING_POINT_2 "D-D" - #define STRING_POINT_3 "G-D" - #define STRING_POINT_4 "G-L" - #define STRING_POINT_5 "Centar" - #define STRING_BED_LEVELING "Hotbed izravnaj" - #define STRING_BL_COMPLETE "Hotbed izravnanje završeno" - #define STRING_BL_SMART_FILL "Nedostajuće točke ticala su pametno nadpunjene.\n\nNapomena: ne zaboravite spremiti!" - #define STRING_BL_ENABLE "BL: UKLJUČI" - #define STRING_BL_DISABLE "BL: ISKLJUČI" - #define STRING_ABL "ABL" - #define STRING_BBL "BBL" - #define STRING_UBL "UBL" - #define STRING_MBL "MBL" - #define STRING_MBL_SETTINGS "Izravnavanje mreže hotbeda" - #define STRING_ABL_SETTINGS "Auto izravnanje hotbeda" - #define STRING_ABL_SETTINGS_BBL "Bilinearno izravnanje hotbeda" - #define STRING_ABL_SETTINGS_UBL "Jedinstveno izravnanje hotbeda" - #define STRING_ABL_SETTINGS_UBL_SAVE "Spremi u memoriju" - #define STRING_ABL_SETTINGS_UBL_LOAD "Učitaj sa memoriju" - #define STRING_ABL_SLOT0 "Save 0" - #define STRING_ABL_SLOT1 "Save 1" - #define STRING_ABL_SLOT2 "Save 2" - #define STRING_ABL_SLOT3 "Save 3" - #define STRING_ABL_SLOT_EEPROM "Spremi mrežu u EEPROM za učitavanje nakon ponovnog pokretanja?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L kuta" - #define STRING_LEVEL_CORNER_INFO "Rubna udaljenost je ispod odmaka ticala X/Y i neke ciljane točke možda neće biti dostupne.\nŽelite li koristiti sigurnu rubnu udaljenost?" - #define STRING_P_OFFSET "T odmak" - #define STRING_H_OFFSET "H odmak" - #define STRING_DISTANCE "Udalji" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Učitaj/Isprazni" - #define STRING_LOAD_UNLOAD_SHORT "Ekstrudaj" - #define STRING_TOUCHSCREEN_ADJUST "Kalibriraj" - #define STRING_MORE "Više" - #define STRING_SCREEN_INFO "Info" - #define STRING_BG_COLOR "Boja pozadine" - #define STRING_FONT_COLOR "Boja fonta" - #define STRING_PERCENTAGE "Postotak" - #define STRING_PERCENTAGE_SPEED "Brzina" - #define STRING_PERCENTAGE_FLOW "Protok" - #define STRING_BABYSTEP "MaliKorak" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X os" - #define STRING_Y "Y os" - #define STRING_Z "Z os" - #define STRING_ADJUST_TITLE "Kalibracia zaslona" - #define STRING_ADJUST_INFO "Molimo kliknite na crvenu točku" - #define STRING_ADJUST_OK "Kalibracija je uspjela" - #define STRING_ADJUST_FAILED "Nije uspjelo, pokušajte ponovno" - #define STRING_UNIFIEDMOVE "Pomicanje" - #define STRING_UNIFIEDHEAT "Grijanje" - #define STRING_TOUCH_TO_EXIT "Dodirnite bilo gdje za izlaz" - #define STRING_MAINMENU "Izbornik" - #define STRING_TUNING "Podesi" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC auto" - #define STRING_MPC_METHOD "Metoda:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID auto" - #define STRING_TUNE_START_INFO "Automatsko podešavanje može potrajati neko vrijeme.\nNastaviti?" - #define STRING_TUNE_EXTRUDER "Podesi Ext" - #define STRING_TUNE_EXT_EXTRUDE_100 "Ekst.100 mm" - #define STRING_TUNE_EXT_TEMP "Ekstruder podešavanje | Toplina" - #define STRING_TUNE_EXT_MARK120MM "Označite 120 mm na filamentu.\nPritisnite '%s' kada budete spremni.\nIzmjerite preostalu duljinu nakon ekstruzije." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Podesite E-korake" - #define STRING_TUNE_EXT_ESTEPS_SAVED "Primijenjeni novi E-koraci.\nNe zaboravite ih spremiti u EEPROM.\nNova vrijednost: %0.2f" - #define STRING_TUNE_EXT_MEASURED "Preostala duljina:" - #define STRING_TUNE_EXT_OLD_ESTEP "Stari E-koraci: %0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "Novi E-koraci: %0.2f" - #define STRING_NOTIFICATIONS "Obavijesti" - #define STRING_MESH_EDITOR "Uređivanje mreže" - #define STRING_MESH_TUNER "Uglađivanje mreže" - #define STRING_CASE_LIGHT "Svjetlo kućišta" - #define STRING_LOAD_STARTED "Učitavanje filamenta.\nMolimo pričekajte da se proces završi." - #define STRING_UNLOAD_STARTED "Pražnjenje filamenta.\nMolimo pričekajte da se proces završi." - #define STRING_HEATERS_ON "Neki grijači su još uvijek UKLJUČENI.\nŽelite li ih zaustaviti?" - #define STRING_PRINT_FINISHED " Print\n završen" - #define STRING_MAIN_SCREEN "Početni zaslon" - #define STRING_PREVIOUS_PRINT_DATA "Info" - #define STRING_PRINT_TIME "Vrijeme printanja: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nDuljina filamenta: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nTežina filamenta: %1.2fg" - #define STRING_FILAMENT_COST "\nCijena filamenta: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nPodaci o filamentu nisu dostupni" - #define STRING_CLICK_FOR_MORE "Kliknite za više" - #define STRING_EXT_TEMPLOW "Temperatura hotenda je ispod minimalne temperature (%d℃)." - #define STRING_HEAT_HOTEND "Zagrijati hotend na %d℃?" - #define STRING_DESIRED_TEMPLOW "Temperatura hotenda je ispod postavljene temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Pričekajte da se zagrije" - #define STRING_Z_ALIGN "Z poravnanje" - #define STRING_MACROS "Makronaredbe" - #define STRING_MESH_VALID "Provjera mreže" - #define STRING_CONNECT_PROBE "Povežite ticalo prije pokretanja procesa. Obavezno ga odspojite nakon toga." - #define STRING_DISCONNECT_PROBE "Provjerite jeste li odspojili ticalo prije korištenja ove funkcije." - #define STRING_CALIBRATION "Kalibriraj" +// Menus +#define STRING_HEAT "Toplina" +#define STRING_MOVE "Pomicanje" +#define STRING_HOME "Home" +#define STRING_PRINT "Printaj" +#define STRING_EXTRUDE "Ekstrudaj" +#define STRING_SETTINGS "Postavke" +#define STRING_SCREEN_SETTINGS "Zaslon" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Zvuk" +#define STRING_MARLIN_MODE_SETTINGS "MarlinSet" +#define STRING_MACHINE_SETTINGS "Printer" +#define STRING_PARAMETER_SETTINGS "Parametri" +#define STRING_FEATURE_SETTINGS "Funkcije" +#define STRING_CONNECTION_SETTINGS "Veza" +#define STRING_SERIAL_PORTS "Priključci" +#define STRING_BAUDRATE "BaudRate" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "LED Boja " +#define STRING_RGB_OFF "LED Isk." +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "Izravnaj" +#define STRING_POINT_1 "D-L" +#define STRING_POINT_2 "D-D" +#define STRING_POINT_3 "G-D" +#define STRING_POINT_4 "G-L" +#define STRING_POINT_5 "Centar" +#define STRING_BED_LEVELING "Hotbed izravnaj" +#define STRING_BL_COMPLETE "Hotbed izravnanje završeno" +#define STRING_BL_SMART_FILL "Nedostajuće točke ticala su pametno nadpunjene.\n\nNapomena: ne zaboravite spremiti!" +#define STRING_BL_ENABLE "BL: UKLJUČI" +#define STRING_BL_DISABLE "BL: ISKLJUČI" +#define STRING_ABL "ABL" +#define STRING_BBL "BBL" +#define STRING_UBL "UBL" +#define STRING_MBL "MBL" +#define STRING_MBL_SETTINGS "Izravnavanje mreže hotbeda" +#define STRING_ABL_SETTINGS "Auto izravnanje hotbeda" +#define STRING_ABL_SETTINGS_BBL "Bilinearno izravnanje hotbeda" +#define STRING_ABL_SETTINGS_UBL "Jedinstveno izravnanje hotbeda" +#define STRING_ABL_SETTINGS_UBL_SAVE "Spremi u memoriju" +#define STRING_ABL_SETTINGS_UBL_LOAD "Učitaj sa memoriju" +#define STRING_ABL_SLOT0 "Save 0" +#define STRING_ABL_SLOT1 "Save 1" +#define STRING_ABL_SLOT2 "Save 2" +#define STRING_ABL_SLOT3 "Save 3" +#define STRING_ABL_SLOT_EEPROM "Spremi mrežu u EEPROM za učitavanje nakon ponovnog pokretanja?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L kuta" +#define STRING_LEVEL_CORNER_INFO "Rubna udaljenost je ispod odmaka ticala X/Y i neke ciljane točke možda neće biti dostupne.\nŽelite li koristiti sigurnu rubnu udaljenost?" +#define STRING_P_OFFSET "T odmak" +#define STRING_H_OFFSET "H odmak" +#define STRING_DISTANCE "Udalji" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Učitaj/Isprazni" +#define STRING_LOAD_UNLOAD_SHORT "Ekstrudaj" +#define STRING_TOUCHSCREEN_ADJUST "Kalibriraj" +#define STRING_MORE "Više" +#define STRING_SCREEN_INFO "Info" +#define STRING_BG_COLOR "Boja pozadine" +#define STRING_FONT_COLOR "Boja fonta" +#define STRING_PERCENTAGE "Postotak" +#define STRING_PERCENTAGE_SPEED "Brzina" +#define STRING_PERCENTAGE_FLOW "Protok" +#define STRING_BABYSTEP "MaliKorak" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X os" +#define STRING_Y "Y os" +#define STRING_Z "Z os" +#define STRING_ADJUST_TITLE "Kalibracia zaslona" +#define STRING_ADJUST_INFO "Molimo kliknite na crvenu točku" +#define STRING_ADJUST_OK "Kalibracija je uspjela" +#define STRING_ADJUST_FAILED "Nije uspjelo, pokušajte ponovno" +#define STRING_UNIFIEDMOVE "Pomicanje" +#define STRING_UNIFIEDHEAT "Grijanje" +#define STRING_TOUCH_TO_EXIT "Dodirnite bilo gdje za izlaz" +#define STRING_MAINMENU "Izbornik" +#define STRING_TUNING "Podesi" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC auto" +#define STRING_MPC_METHOD "Metoda:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID auto" +#define STRING_TUNE_START_INFO "Automatsko podešavanje može potrajati neko vrijeme.\nNastaviti?" +#define STRING_TUNE_EXTRUDER "Podesi Ext" +#define STRING_TUNE_EXT_EXTRUDE_100 "Ekst.100 mm" +#define STRING_TUNE_EXT_TEMP "Ekstruder podešavanje | Toplina" +#define STRING_TUNE_EXT_MARK120MM "Označite 120 mm na filamentu.\nPritisnite '%s' kada budete spremni.\nIzmjerite preostalu duljinu nakon ekstruzije." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Podesite E-korake" +#define STRING_TUNE_EXT_ESTEPS_SAVED "Primijenjeni novi E-koraci.\nNe zaboravite ih spremiti u EEPROM.\nNova vrijednost: %0.2f" +#define STRING_TUNE_EXT_MEASURED "Preostala duljina:" +#define STRING_TUNE_EXT_OLD_ESTEP "Stari E-koraci: %0.2f" +#define STRING_TUNE_EXT_NEW_ESTEP "Novi E-koraci: %0.2f" +#define STRING_NOTIFICATIONS "Obavijesti" +#define STRING_MESH_EDITOR "Uređivanje mreže" +#define STRING_MESH_TUNER "Uglađivanje mreže" +#define STRING_CASE_LIGHT "Svjetlo kućišta" +#define STRING_LOAD_STARTED "Učitavanje filamenta.\nMolimo pričekajte da se proces završi." +#define STRING_UNLOAD_STARTED "Pražnjenje filamenta.\nMolimo pričekajte da se proces završi." +#define STRING_HEATERS_ON "Neki grijači su još uvijek UKLJUČENI.\nŽelite li ih zaustaviti?" +#define STRING_PRINT_FINISHED " Print\n završen" +#define STRING_MAIN_SCREEN "Početni zaslon" +#define STRING_PREVIOUS_PRINT_DATA "Info" +#define STRING_PRINT_TIME "Vrijeme printanja: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nDuljina filamenta: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nTežina filamenta: %1.2fg" +#define STRING_FILAMENT_COST "\nCijena filamenta: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nPodaci o filamentu nisu dostupni" +#define STRING_CLICK_FOR_MORE "Kliknite za više" +#define STRING_EXT_TEMPLOW "Temperatura hotenda je ispod minimalne temperature (%d℃)." +#define STRING_HEAT_HOTEND "Zagrijati hotend na %d℃?" +#define STRING_DESIRED_TEMPLOW "Temperatura hotenda je ispod postavljene temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Pričekajte da se zagrije" +#define STRING_Z_ALIGN "Z poravnanje" +#define STRING_MACROS "Makronaredbe" +#define STRING_MESH_VALID "Provjera mreže" +#define STRING_CONNECT_PROBE "Povežite ticalo prije pokretanja procesa. Obavezno ga odspojite nakon toga." +#define STRING_DISCONNECT_PROBE "Provjerite jeste li odspojili ticalo prije korištenja ove funkcije." +#define STRING_CALIBRATION "Kalibriraj" #endif diff --git a/TFT/src/User/API/Language/language_hu.h b/TFT/src/User/API/Language/language_hu.h index 342ae898d..ff0a46cff 100644 --- a/TFT/src/User/API/Language/language_hu.h +++ b/TFT/src/User/API/Language/language_hu.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_HU_H_ #define _LANGUAGE_HU_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Magyar" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulált M600" - #define STRING_EMULATED_M109_M190 "Emulált M109 / M190" - #define STRING_EVENT_LED "Esemény LED" - #define STRING_FILE_COMMENT_PARSING "Fájl megjegyzés elemzése" - #define STRING_ROTATED_UI "Forgatás" - #define STRING_ACK_NOTIFICATION "ACK Értesítési stílus" - #define STRING_FILES_SORT_BY "Fájlok rendezése" - #define STRING_FILES_LIST_MODE "Fájlnéző listamód" - #define STRING_FILENAME_EXTENSION "Fájlkiterj. megjelenítése" - #define STRING_FAN_SPEED_PERCENTAGE "Ventilátor sebesség %-ban" - #define STRING_PERSISTENT_INFO "Állandó állapotinfó" - #define STRING_TERMINAL_ACK "ACK Megjelenítése" - #define STRING_SERIAL_ALWAYS_ON "Soros port mindig" - #define STRING_MARLIN_FULLSCREEN "Nagyképernyős Marlin mód" - #define STRING_MARLIN_SHOW_TITLE "Marlin mód cím támogatás" - #define STRING_MARLIN_TYPE "Marlin mód típusa" - #define STRING_MOVE_SPEED "Mozgás seb. (X-Y-Z)" - #define STRING_AUTO_LOAD_LEVELING "Szint. auto-mentés/töltés" - #define STRING_PROBING_Z_OFFSET "X-Y Végpont tapintás tám." - #define STRING_Z_STEPPERS_ALIGNMENT "Z Motorok automata igazí." - #define STRING_PS_AUTO_SHUTDOWN "Automata kikapcsolás" - #define STRING_FIL_RUNOUT "Szál érzékelő" - #define STRING_PL_RECOVERY "Energiavesztés helyreáll." - #define STRING_PL_RECOVERY_HOME "Áramkimaradás helyreáll." - #define STRING_BTT_MINI_UPS "BTT UPS Támogatás" - #define STRING_TOUCH_SOUND "Érintés hang" - #define STRING_TOAST_SOUND "Értesítés hang" - #define STRING_ALERT_SOUND "Riasztás hang" - #define STRING_HEATER_SOUND "Fűtés hang" - #define STRING_LCD_BRIGHTNESS "Fényerősség" - #define STRING_LCD_IDLE_BRIGHTNESS "LCD Halványítás" - #define STRING_LCD_IDLE_TIME "LCD Halványítási idő" - #define STRING_LCD_LOCK_ON_IDLE "Érintés tiltás alapjáraton" - #define STRING_LED_ALWAYS_ON "LED mindig BE" - #define STRING_KNOB_LED_COLOR "Forgatógomb LED" - #define STRING_KNOB_LED_IDLE "Forgatógomb tétlen" - #define STRING_START_GCODE_ENABLED "Kezdő G-Kód" - #define STRING_END_GCODE_ENABLED "Befejező G-Kód" - #define STRING_CANCEL_GCODE_ENABLED "Leállító G-Kód" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Magyar" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulált M600" +#define STRING_EMULATED_M109_M190 "Emulált M109 / M190" +#define STRING_EVENT_LED "Esemény LED" +#define STRING_FILE_COMMENT_PARSING "Fájl megjegyzés elemzése" +#define STRING_ROTATED_UI "Forgatás" +#define STRING_ACK_NOTIFICATION "ACK Értesítési stílus" +#define STRING_FILES_SORT_BY "Fájlok rendezése" +#define STRING_FILES_LIST_MODE "Fájlnéző listamód" +#define STRING_FILENAME_EXTENSION "Fájlkiterj. megjelenítése" +#define STRING_FAN_SPEED_PERCENTAGE "Ventilátor sebesség %-ban" +#define STRING_PERSISTENT_INFO "Állandó állapotinfó" +#define STRING_TERMINAL_ACK "ACK Megjelenítése" +#define STRING_SERIAL_ALWAYS_ON "Soros port mindig" +#define STRING_MARLIN_FULLSCREEN "Nagyképernyős Marlin mód" +#define STRING_MARLIN_SHOW_TITLE "Marlin mód cím támogatás" +#define STRING_MARLIN_TYPE "Marlin mód típusa" +#define STRING_MOVE_SPEED "Mozgás seb. (X-Y-Z)" +#define STRING_AUTO_LOAD_LEVELING "Szint. auto-mentés/töltés" +#define STRING_PROBING_Z_OFFSET "X-Y Végpont tapintás tám." +#define STRING_Z_STEPPERS_ALIGNMENT "Z Motorok automata igazí." +#define STRING_PS_AUTO_SHUTDOWN "Automata kikapcsolás" +#define STRING_FIL_RUNOUT "Szál érzékelő" +#define STRING_PL_RECOVERY "Energiavesztés helyreáll." +#define STRING_PL_RECOVERY_HOME "Áramkimaradás helyreáll." +#define STRING_BTT_MINI_UPS "BTT UPS Támogatás" +#define STRING_TOUCH_SOUND "Érintés hang" +#define STRING_TOAST_SOUND "Értesítés hang" +#define STRING_ALERT_SOUND "Riasztás hang" +#define STRING_HEATER_SOUND "Fűtés hang" +#define STRING_LCD_BRIGHTNESS "Fényerősség" +#define STRING_LCD_IDLE_BRIGHTNESS "LCD Halványítás" +#define STRING_LCD_IDLE_TIME "LCD Halványítási idő" +#define STRING_LCD_LOCK_ON_IDLE "Érintés tiltás alapjáraton" +#define STRING_LED_ALWAYS_ON "LED mindig BE" +#define STRING_KNOB_LED_COLOR "Forgatógomb LED" +#define STRING_KNOB_LED_IDLE "Forgatógomb tétlen" +#define STRING_START_GCODE_ENABLED "Kezdő G-Kód" +#define STRING_END_GCODE_ENABLED "Befejező G-Kód" +#define STRING_CANCEL_GCODE_ENABLED "Leállító G-Kód" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Lépés beállítás" - #define STRING_FILAMENT_SETTING "Filament átmérő" - #define STRING_MAXACCELERATION "Max gyorsulás" - #define STRING_MAXFEEDRATE "Max előtolási sebesség" - #define STRING_ACCELERATION "Gyorsulás" - #define STRING_JERK "Rántás" - #define STRING_JUNCTION_DEVIATION "Keresztezés eltérés" - #define STRING_HOME_OFFSET "Kezdőpont eltolás" - #define STRING_FWRETRACT "FW Visszahúzás" - #define STRING_FWRECOVER "FW Visszanyomás" - #define STRING_RETRACT_AUTO "Automata visszahúz." - #define STRING_HOTEND_OFFSET "Második fej eltolása" - #define STRING_HOTEND_PID "Fej PID" - #define STRING_BED_PID "Ágy PID" - #define STRING_STEALTH_CHOP "TMC Halk üzemmód" - #define STRING_INPUT_SHAPING "Rezgés kompenzálás" - #define STRING_DELTA_CONFIGURATION "Delta konfiguráció" - #define STRING_DELTA_TOWER_ANGLE "Torony szögvágás" - #define STRING_DELTA_DIAGONAL_ROD "Átlós rúd igazítás" - #define STRING_DELTA_ENDSTOP "Végállás beállítások" - #define STRING_PROBE_OFFSET "Szonda eltolás" - #define STRING_LIN_ADVANCE "Lineáris haladás" - #define STRING_CURRENT_SETTING "Motoráramok beállítása" - #define STRING_HYBRID_THRESHOLD "TMC Hibrid küszöbérték" - #define STRING_BUMP_SENSITIVITY "TMC Ütközés érzékenység" - #define STRING_MBL_OFFSET "MBL Eltolás" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Lépés beállítás" +#define STRING_FILAMENT_SETTING "Filament átmérő" +#define STRING_MAXACCELERATION "Max gyorsulás" +#define STRING_MAXFEEDRATE "Max előtolási sebesség" +#define STRING_ACCELERATION "Gyorsulás" +#define STRING_JERK "Rántás" +#define STRING_JUNCTION_DEVIATION "Keresztezés eltérés" +#define STRING_HOME_OFFSET "Kezdőpont eltolás" +#define STRING_FWRETRACT "FW Visszahúzás" +#define STRING_FWRECOVER "FW Visszanyomás" +#define STRING_RETRACT_AUTO "Automata visszahúz." +#define STRING_HOTEND_OFFSET "Második fej eltolása" +#define STRING_HOTEND_PID "Fej PID" +#define STRING_BED_PID "Ágy PID" +#define STRING_STEALTH_CHOP "TMC Halk üzemmód" +#define STRING_INPUT_SHAPING "Rezgés kompenzálás" +#define STRING_DELTA_CONFIGURATION "Delta konfiguráció" +#define STRING_DELTA_TOWER_ANGLE "Torony szögvágás" +#define STRING_DELTA_DIAGONAL_ROD "Átlós rúd igazítás" +#define STRING_DELTA_ENDSTOP "Végállás beállítások" +#define STRING_PROBE_OFFSET "Szonda eltolás" +#define STRING_LIN_ADVANCE "Lineáris haladás" +#define STRING_CURRENT_SETTING "Motoráramok beállítása" +#define STRING_HYBRID_THRESHOLD "TMC Hibrid küszöbérték" +#define STRING_BUMP_SENSITIVITY "TMC Ütközés érzékenység" +#define STRING_MBL_OFFSET "MBL Eltolás" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Nyomtatás gyorsulás" - #define STRING_RETRACT_ACCELERATION "Visszahúzás gyorsulás" - #define STRING_TRAVEL_ACCELERATION "Utazási gyorsulás" - #define STRING_RETRACT_LENGTH "Visszahúzás hossz" - #define STRING_RETRACT_SWAP_LENGTH "Csere hossz vissza." - #define STRING_RETRACT_FEEDRATE "Visszahúzás előtol." - #define STRING_RETRACT_Z_LIFT "Z Emelése visszahú." - #define STRING_RECOVER_LENGTH "Hossz javítás" - #define STRING_SWAP_RECOVER_LENGTH "Cserehossz javítás" - #define STRING_RECOVER_FEEDRATE "Előtolás javítás" - #define STRING_SWAP_RECOVER_FEEDRATE "Csere előtolás jav." +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Nyomtatás gyorsulás" +#define STRING_RETRACT_ACCELERATION "Visszahúzás gyorsulás" +#define STRING_TRAVEL_ACCELERATION "Utazási gyorsulás" +#define STRING_RETRACT_LENGTH "Visszahúzás hossz" +#define STRING_RETRACT_SWAP_LENGTH "Csere hossz vissza." +#define STRING_RETRACT_FEEDRATE "Visszahúzás előtol." +#define STRING_RETRACT_Z_LIFT "Z Emelése visszahú." +#define STRING_RECOVER_LENGTH "Hossz javítás" +#define STRING_SWAP_RECOVER_LENGTH "Cserehossz javítás" +#define STRING_RECOVER_FEEDRATE "Előtolás javítás" +#define STRING_SWAP_RECOVER_FEEDRATE "Csere előtolás jav." - // Save / Load - #define STRING_SAVE "Mentés" - #define STRING_RESTORE "Visszaállítás" - #define STRING_RESET "Alapállítás" - #define STRING_EEPROM_SAVE_INFO "Mented a megváltozott beállításokat az EEPROM-ba?" - #define STRING_EEPROM_RESTORE_INFO "Betöltöd a beállításokat az EEPROM-ból?" - #define STRING_EEPROM_RESET_INFO "Visszaállítod az EEPROM-ot a gyári beállításokra?" - #define STRING_SETTINGS_SAVE "Beállítások mentése" - #define STRING_SETTINGS_RESTORE "Beállítások újratöltése" - #define STRING_SETTINGS_RESET "Beállítások visszaáll." - #define STRING_SETTINGS_RESET_INFO "Minden beállítás vissza fog állni alapértelmezett értékre. Folytatod?" - #define STRING_SETTINGS_RESET_DONE "A beállítások visszaállítása sikeresen megtörtént.\nAz aktiváláshoz indítsd újra az eszközt." +// Save / Load +#define STRING_SAVE "Mentés" +#define STRING_RESTORE "Visszaállítás" +#define STRING_RESET "Alapállítás" +#define STRING_EEPROM_SAVE_INFO "Mented a megváltozott beállításokat az EEPROM-ba?" +#define STRING_EEPROM_RESTORE_INFO "Betöltöd a beállításokat az EEPROM-ból?" +#define STRING_EEPROM_RESET_INFO "Visszaállítod az EEPROM-ot a gyári beállításokra?" +#define STRING_SETTINGS_SAVE "Beállítások mentése" +#define STRING_SETTINGS_RESTORE "Beállítások újratöltése" +#define STRING_SETTINGS_RESET "Beállítások visszaáll." +#define STRING_SETTINGS_RESET_INFO "Minden beállítás vissza fog állni alapértelmezett értékre. Folytatod?" +#define STRING_SETTINGS_RESET_DONE "A beállítások visszaállítása sikeresen megtörtént.\nAz aktiváláshoz indítsd újra az eszközt." - // Navigation Buttons - #define STRING_PAGE_UP "Oldal fel" - #define STRING_PAGE_DOWN "Oldal le" - #define STRING_UP "Fel" - #define STRING_DOWN "Le" - #define STRING_NEXT "Tovább" - #define STRING_BACK "Vissza" +// Navigation Buttons +#define STRING_PAGE_UP "Oldal fel" +#define STRING_PAGE_DOWN "Oldal le" +#define STRING_UP "Fel" +#define STRING_DOWN "Le" +#define STRING_NEXT "Tovább" +#define STRING_BACK "Vissza" - // Value Buttons - #define STRING_INC "Növel" - #define STRING_DEC "Csökkent" - #define STRING_LOAD "Betöltés" - #define STRING_UNLOAD "Kiadás" - #define STRING_ON "BE" - #define STRING_OFF "KI" - #define STRING_AUTO "AUTO" - #define STRING_SMART "OKOS" - #define STRING_SLOW "Lassú" - #define STRING_NORMAL "Normál" - #define STRING_FAST "Gyors" - #define STRING_ZERO "Nulla" - #define STRING_HALF "Fél" - #define STRING_FULL "Teljes" - #define STRING_CUSTOM "Egyedi" - #define STRING_CLEAR "Törlés" - #define STRING_DEFAULT "Alapért." +// Value Buttons +#define STRING_INC "Növel" +#define STRING_DEC "Csökkent" +#define STRING_LOAD "Betöltés" +#define STRING_UNLOAD "Kiadás" +#define STRING_ON "BE" +#define STRING_OFF "KI" +#define STRING_AUTO "AUTO" +#define STRING_SMART "OKOS" +#define STRING_SLOW "Lassú" +#define STRING_NORMAL "Normál" +#define STRING_FAST "Gyors" +#define STRING_ZERO "Nulla" +#define STRING_HALF "Fél" +#define STRING_FULL "Teljes" +#define STRING_CUSTOM "Egyedi" +#define STRING_CLEAR "Törlés" +#define STRING_DEFAULT "Alapért." - // Action Buttons - #define STRING_START "Kezdés" - #define STRING_STOP "Állj" - #define STRING_PAUSE "Szünet" - #define STRING_RESUME "Folytatás" - #define STRING_INIT "Kezdet" - #define STRING_DISCONNECT "Leválaszt" - #define STRING_SHUT_DOWN "Leállítás" - #define STRING_FORCE_SHUT_DOWN "Kényszerít" - #define STRING_EMERGENCYSTOP "Vész-STOP" - #define STRING_PREHEAT "Előfűtés" - #define STRING_PREHEAT_BOTH "Mindkettő" - #define STRING_COOLDOWN "Hűtés" +// Action Buttons +#define STRING_START "Kezdés" +#define STRING_STOP "Állj" +#define STRING_PAUSE "Szünet" +#define STRING_RESUME "Folytatás" +#define STRING_INIT "Kezdet" +#define STRING_DISCONNECT "Leválaszt" +#define STRING_SHUT_DOWN "Leállítás" +#define STRING_FORCE_SHUT_DOWN "Kényszerít" +#define STRING_EMERGENCYSTOP "Vész-STOP" +#define STRING_PREHEAT "Előfűtés" +#define STRING_PREHEAT_BOTH "Mindkettő" +#define STRING_COOLDOWN "Hűtés" - // Dialog Buttons - #define STRING_CONFIRM "\u088E Oké" - #define STRING_CANCEL "\u088F Mégse" - #define STRING_WARNING "Figyelem!" - #define STRING_CONTINUE "Folytatás" - #define STRING_CONFIRMATION "Biztos vagy benne?" +// Dialog Buttons +#define STRING_CONFIRM "\u088E Oké" +#define STRING_CANCEL "\u088F Mégse" +#define STRING_WARNING "Figyelem!" +#define STRING_CONTINUE "Folytatás" +#define STRING_CONFIRMATION "Biztos vagy benne?" - // Process Status - #define STRING_STATUS "Státusz" - #define STRING_READY "Kész" - #define STRING_BUSY "Feldolgozás alatt, kérlek várj..." - #define STRING_LOADING "Betöltés..." - #define STRING_UNCONNECTED "Nincs nyomtató csatlakoztatva!" - #define STRING_LISTENING "TFT figyelő módban!" +// Process Status +#define STRING_STATUS "Státusz" +#define STRING_READY "Kész" +#define STRING_BUSY "Feldolgozás alatt, kérlek várj..." +#define STRING_LOADING "Betöltés..." +#define STRING_UNCONNECTED "Nincs nyomtató csatlakoztatva!" +#define STRING_LISTENING "TFT figyelő módban!" - // Process Info - #define STRING_INFO "Infó" - #define STRING_INVALID_VALUE "Nincs érvényes érték megadva" - #define STRING_TIMEOUT_REACHED "Időkorlát elérve!" - #define STRING_DISCONNECT_INFO "Most a számítógépről vezérelheted a nyomtatót!" - #define STRING_SHUTTING_DOWN "Leállítás..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Várd meg a fej visszahűlését.%d℃" - #define STRING_POWER_FAILED "Folytatod a nyomtatást?" - #define STRING_PROCESS_COMPLETED "Folyamat befejezve!" - #define STRING_PROCESS_ABORTED "Folyamat megszakítva!" +// Process Info +#define STRING_INFO "Infó" +#define STRING_INVALID_VALUE "Nincs érvényes érték megadva" +#define STRING_TIMEOUT_REACHED "Időkorlát elérve!" +#define STRING_DISCONNECT_INFO "Most a számítógépről vezérelheted a nyomtatót!" +#define STRING_SHUTTING_DOWN "Leállítás..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Várd meg a fej visszahűlését.%d℃" +#define STRING_POWER_FAILED "Folytatod a nyomtatást?" +#define STRING_PROCESS_COMPLETED "Folyamat befejezve!" +#define STRING_PROCESS_ABORTED "Folyamat megszakítva!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT-SD" - #define STRING_TFT_SD_INSERTED "SD-Kártya behelyezve" - #define STRING_TFT_SD_REMOVED "SD-Kártya eltávolítva" - #define STRING_TFT_SD_NOT_DETECTED "Nem észlelhető SD-Kártya!" - #define STRING_TFT_SD_READ_ERROR "TFT-SD olvasási hiba!" - #define STRING_TFT_USB "USB Tár" - #define STRING_TFT_USB_INSERTED "USB behelyezve" - #define STRING_TFT_USB_REMOVED "USB eltávolítva" - #define STRING_TFT_USB_NOT_DETECTED "Nem észlelhető USB-lemez!" - #define STRING_TFT_USB_READ_ERROR "USB olvasási hiba!" - #define STRING_ONBOARD_SD "Lap-SD" - #define STRING_ONBOARD_USB "Lap-USB" - #define STRING_ONBOARD_SD_READ_ERROR "Alaplap média olvasási hiba!" - #define STRING_FILAMENT_RUNOUT "Szál kifutás!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT-SD" +#define STRING_TFT_SD_INSERTED "SD-Kártya behelyezve" +#define STRING_TFT_SD_REMOVED "SD-Kártya eltávolítva" +#define STRING_TFT_SD_NOT_DETECTED "Nem észlelhető SD-Kártya!" +#define STRING_TFT_SD_READ_ERROR "TFT-SD olvasási hiba!" +#define STRING_TFT_USB "USB Tár" +#define STRING_TFT_USB_INSERTED "USB behelyezve" +#define STRING_TFT_USB_REMOVED "USB eltávolítva" +#define STRING_TFT_USB_NOT_DETECTED "Nem észlelhető USB-lemez!" +#define STRING_TFT_USB_READ_ERROR "USB olvasási hiba!" +#define STRING_ONBOARD_SD "Lap-SD" +#define STRING_ONBOARD_USB "Lap-USB" +#define STRING_ONBOARD_SD_READ_ERROR "Alaplap média olvasási hiba!" +#define STRING_FILAMENT_RUNOUT "Szál kifutás!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Mot.tilt" - #define STRING_XY_UNLOCK "X-Y Felold" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Mot.tilt" +#define STRING_XY_UNLOCK "X-Y Felold" - #define STRING_START_PRINT "%s\nfájl kiválasztva.\nElindítod a nyomtatását?" - #define STRING_STOP_PRINT "Leállítod a nyomtatást?" - #define STRING_IS_PAUSE "Nyomtatás idején a művelet tiltott.\nSzünetelteted a nyomtatást?" - #define STRING_M0_PAUSE "Szünetelés M0 paranccsal" +#define STRING_START_PRINT "%s\nfájl kiválasztva.\nElindítod a nyomtatását?" +#define STRING_STOP_PRINT "Leállítod a nyomtatást?" +#define STRING_IS_PAUSE "Nyomtatás idején a művelet tiltott.\nSzünetelteted a nyomtatást?" +#define STRING_M0_PAUSE "Szünetelés M0 paranccsal" - #define STRING_TEST "Teszt" - #define STRING_DEPLOY "Kilökés" - #define STRING_STOW "Behúzás" - #define STRING_REPEAT "Ismétlés" - #define STRING_HS_ON "HS: Be" - #define STRING_HS_OFF "HS: Ki" +#define STRING_TEST "Teszt" +#define STRING_DEPLOY "Kilökés" +#define STRING_STOW "Behúzás" +#define STRING_REPEAT "Ismétlés" +#define STRING_HS_ON "HS: Be" +#define STRING_HS_OFF "HS: Ki" - // Printer Tools - #define STRING_NOZZLE "Fej" - #define STRING_BED "Ágy" - #define STRING_CHAMBER "Gépház" - #define STRING_FAN "Ventilátor" +// Printer Tools +#define STRING_NOZZLE "Fej" +#define STRING_BED "Ágy" +#define STRING_CHAMBER "Gépház" +#define STRING_FAN "Ventilátor" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 mp." - #define STRING_10_SECONDS "10 mp." - #define STRING_30_SECONDS "30 mp." - #define STRING_60_SECONDS "1 perc" - #define STRING_120_SECONDS "2 perc" - #define STRING_300_SECONDS "5 perc" +#define STRING_5_SECONDS "5 mp." +#define STRING_10_SECONDS "10 mp." +#define STRING_30_SECONDS "30 mp." +#define STRING_60_SECONDS "1 perc" +#define STRING_120_SECONDS "2 perc" +#define STRING_300_SECONDS "5 perc" - // Colors - #define STRING_WHITE "Fehér" - #define STRING_BLACK "Fekete" - #define STRING_BLUE "Kék" - #define STRING_RED "Piros" - #define STRING_GREEN "Zöld" - #define STRING_CYAN "Cián" - #define STRING_YELLOW "Sárga" - #define STRING_BROWN "Barna" - #define STRING_GRAY "Szürke" - #define STRING_ORANGE "Narancs" - #define STRING_INDIGO "Indigó" - #define STRING_VIOLET "Viola" - #define STRING_MAGENTA "Bíborvörös" - #define STRING_PURPLE "Lila" - #define STRING_LIME "Mész" - #define STRING_DARKBLUE "Sötétkék" - #define STRING_DARKGREEN "Sötétzöld" - #define STRING_DARKGRAY "Sötétszürke" +// Colors +#define STRING_WHITE "Fehér" +#define STRING_BLACK "Fekete" +#define STRING_BLUE "Kék" +#define STRING_RED "Piros" +#define STRING_GREEN "Zöld" +#define STRING_CYAN "Cián" +#define STRING_YELLOW "Sárga" +#define STRING_BROWN "Barna" +#define STRING_GRAY "Szürke" +#define STRING_ORANGE "Narancs" +#define STRING_INDIGO "Indigó" +#define STRING_VIOLET "Viola" +#define STRING_MAGENTA "Bíborvörös" +#define STRING_PURPLE "Lila" +#define STRING_LIME "Mész" +#define STRING_DARKBLUE "Sötétkék" +#define STRING_DARKGREEN "Sötétzöld" +#define STRING_DARKGRAY "Sötétszürke" - // Menus - #define STRING_HEAT "Fűtés" - #define STRING_MOVE "Mozgás" - #define STRING_HOME "Végállás" - #define STRING_PRINT "Nyomtatás" - #define STRING_EXTRUDE "Adagolás" - #define STRING_SETTINGS "Opciók" - #define STRING_SCREEN_SETTINGS "Kijelző" - #define STRING_UI_SETTINGS "Felület" - #define STRING_SOUND "Hangok" - #define STRING_MARLIN_MODE_SETTINGS "Marlin mód" - #define STRING_MACHINE_SETTINGS "Gép" - #define STRING_PARAMETER_SETTINGS "Tényezők" - #define STRING_FEATURE_SETTINGS "Funkciók" - #define STRING_CONNECTION_SETTINGS "Kapcsolat" - #define STRING_SERIAL_PORTS "S. portok" - #define STRING_BAUDRATE "Baud-érték" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "LED Szín" - #define STRING_RGB_OFF "LED Ki" - #define STRING_TERMINAL "Terminál" - #define STRING_LEVELING "Szintezés" - #define STRING_POINT_1 "1. pont" - #define STRING_POINT_2 "2. pont" - #define STRING_POINT_3 "3. pont" - #define STRING_POINT_4 "4. pont" - #define STRING_POINT_5 "5. pont" - #define STRING_BED_LEVELING "Ágyszint" - #define STRING_BL_COMPLETE "Ágy szintezése sikeres." - #define STRING_BL_SMART_FILL "A hiányzó szonda pontok kitöltésre kerültek.\nMegjegyzés: Mentsd el!" - #define STRING_BL_ENABLE "BL: be" - #define STRING_BL_DISABLE "BL: ki" - #define STRING_ABL "ABL" - #define STRING_BBL "BBL" - #define STRING_UBL "UBL" - #define STRING_MBL "MBL" - #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" - #define STRING_ABL_SLOT1 "Szlot 1" - #define STRING_ABL_SLOT2 "Szlot 2" - #define STRING_ABL_SLOT3 "Szlot 3" - #define STRING_ABL_SLOT_EEPROM "Emlékezzen a következő újraindításnál? (EEPROM Mentése)" - #define STRING_ABL_Z "Z Áttűnés" - #define STRING_LEVEL_CORNER "Sarok szint" - #define STRING_LEVEL_CORNER_INFO "Az ágyszél távolsága a szonda X/Y eltolása alatt van, egyes célpontok nem érhetők el.\nAkarsz biztonságos ágyszél távolságot használni?" - #define STRING_P_OFFSET "P Eltolás" - #define STRING_H_OFFSET "H Eltolás" - #define STRING_DISTANCE "Távolság" - #define STRING_SHIM "Alátét" - #define STRING_LOAD_UNLOAD "Betöltés/Kiadás" - #define STRING_LOAD_UNLOAD_SHORT "Be/Ki" - #define STRING_TOUCHSCREEN_ADJUST "Igazítás" - #define STRING_MORE "Több" - #define STRING_SCREEN_INFO "Infó" - #define STRING_BG_COLOR "Háttérszín" - #define STRING_FONT_COLOR "Betűszín" - #define STRING_PERCENTAGE "Százalék" - #define STRING_PERCENTAGE_SPEED "Sebesség" - #define STRING_PERCENTAGE_FLOW "Hozam" - #define STRING_BABYSTEP "Mikrolépés" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Érintőképernyő kalibrálása." - #define STRING_ADJUST_INFO "Kattints a piros pontra." - #define STRING_ADJUST_OK "Kalibrálás sikeres." - #define STRING_ADJUST_FAILED "A kalibrálás sikertelen, próbáld újra." - #define STRING_UNIFIEDMOVE "Mozgás" - #define STRING_UNIFIEDHEAT "Fűt/Hűt" - #define STRING_TOUCH_TO_EXIT "Érintsd meg a kilépéshez." - #define STRING_MAINMENU "Főmenü" - #define STRING_TUNING "Hangolás" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC önhangolás" - #define STRING_MPC_METHOD "Módszer:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID önhangolás" - #define STRING_TUNE_START_INFO "Az önhangolása elindul. Percekig is eltarthat.\nFolytatod?" - #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_MARK120MM "A 120mm-t jelöld be a szálon\nNyomd '%s' ha kész\nMérd meg a hátralévő hosszt adagolás után." - #define STRING_TUNE_EXT_ADJ_ESTEPS "E-lépés állítás" - #define STRING_TUNE_EXT_ESTEPS_SAVED "Új E-lépés mentve!\nNe felejtsd el menteni EEPROM-ba.\nÚj érték: %0.2f" - #define STRING_TUNE_EXT_MEASURED "Hátramaradt hossz:" - #define STRING_TUNE_EXT_OLD_ESTEP "Régi e-lépés: %0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "Új e-lépés: %0.2f" - #define STRING_NOTIFICATIONS "Értesítések" - #define STRING_MESH_EDITOR "Háló szerkesztő" - #define STRING_MESH_TUNER "Háló hangoló" - #define STRING_CASE_LIGHT "Gépház világítás" - #define STRING_LOAD_STARTED "A szál betöltése folyamatban van,\nnem lehetséges további művelet, míg véget nem ér.\nKérlek várj!" - #define STRING_UNLOAD_STARTED "A szál kiadása folyamatban van,\nnem lehetséges további művelet, míg véget nem ér.\nKérlek várj!" - #define STRING_HEATERS_ON "Néhány fűtőelem még üzemel.\nKikapcsolod a őket?" - #define STRING_PRINT_FINISHED " Nyomtatás\n elkészült!" - #define STRING_MAIN_SCREEN "Főoldal" - #define STRING_PREVIOUS_PRINT_DATA "Összegzés" - #define STRING_PRINT_TIME "Nyomtatási idő: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nSzál hossza: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nSzál súlya: %1.2fg" - #define STRING_FILAMENT_COST "\nSzál költség: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nNincs szál statisztika." - #define STRING_CLICK_FOR_MORE "Kattints az összegzésért." - #define STRING_EXT_TEMPLOW "Fejhőfok alacsonyabb, mint a minimális hőfok (%d℃)." - #define STRING_HEAT_HOTEND "Fűtöd a fejet %d℃-ra?" - #define STRING_DESIRED_TEMPLOW "Fejhőfok alacsonyabb, mint a\nkívánt hőfok (%d℃)." - #define STRING_WAIT_HEAT_UP "Várj, míg felmelegszik." - #define STRING_Z_ALIGN "Z Igazítás" - #define STRING_MACROS "Makrók" - #define STRING_MESH_VALID "Háló ellenőrzése" - #define STRING_CONNECT_PROBE "A folyamat megkezdése előtt\ncsatlakoztassa a szondát.\nGyőződjön meg róla,\nhogy utána lekapcsolja." - #define STRING_DISCONNECT_PROBE "A funkció használata előtt\ngyőződjön meg arról, hogy\nleválasztotta a szondát." - #define STRING_CALIBRATION "Kalibráció" +// Menus +#define STRING_HEAT "Fűtés" +#define STRING_MOVE "Mozgás" +#define STRING_HOME "Végállás" +#define STRING_PRINT "Nyomtatás" +#define STRING_EXTRUDE "Adagolás" +#define STRING_SETTINGS "Opciók" +#define STRING_SCREEN_SETTINGS "Kijelző" +#define STRING_UI_SETTINGS "Felület" +#define STRING_SOUND "Hangok" +#define STRING_MARLIN_MODE_SETTINGS "Marlin mód" +#define STRING_MACHINE_SETTINGS "Gép" +#define STRING_PARAMETER_SETTINGS "Tényezők" +#define STRING_FEATURE_SETTINGS "Funkciók" +#define STRING_CONNECTION_SETTINGS "Kapcsolat" +#define STRING_SERIAL_PORTS "S. portok" +#define STRING_BAUDRATE "Baud-érték" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "LED Szín" +#define STRING_RGB_OFF "LED Ki" +#define STRING_TERMINAL "Terminál" +#define STRING_LEVELING "Szintezés" +#define STRING_POINT_1 "1. pont" +#define STRING_POINT_2 "2. pont" +#define STRING_POINT_3 "3. pont" +#define STRING_POINT_4 "4. pont" +#define STRING_POINT_5 "5. pont" +#define STRING_BED_LEVELING "Ágyszint" +#define STRING_BL_COMPLETE "Ágy szintezése sikeres." +#define STRING_BL_SMART_FILL "A hiányzó szonda pontok kitöltésre kerültek.\nMegjegyzés: Mentsd el!" +#define STRING_BL_ENABLE "BL: be" +#define STRING_BL_DISABLE "BL: ki" +#define STRING_ABL "ABL" +#define STRING_BBL "BBL" +#define STRING_UBL "UBL" +#define STRING_MBL "MBL" +#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" +#define STRING_ABL_SLOT1 "Szlot 1" +#define STRING_ABL_SLOT2 "Szlot 2" +#define STRING_ABL_SLOT3 "Szlot 3" +#define STRING_ABL_SLOT_EEPROM "Emlékezzen a következő újraindításnál? (EEPROM Mentése)" +#define STRING_ABL_Z "Z Áttűnés" +#define STRING_LEVEL_CORNER "Sarok szint" +#define STRING_LEVEL_CORNER_INFO "Az ágyszél távolsága a szonda X/Y eltolása alatt van, egyes célpontok nem érhetők el.\nAkarsz biztonságos ágyszél távolságot használni?" +#define STRING_P_OFFSET "P Eltolás" +#define STRING_H_OFFSET "H Eltolás" +#define STRING_DISTANCE "Távolság" +#define STRING_SHIM "Alátét" +#define STRING_LOAD_UNLOAD "Betöltés/Kiadás" +#define STRING_LOAD_UNLOAD_SHORT "Be/Ki" +#define STRING_TOUCHSCREEN_ADJUST "Igazítás" +#define STRING_MORE "Több" +#define STRING_SCREEN_INFO "Infó" +#define STRING_BG_COLOR "Háttérszín" +#define STRING_FONT_COLOR "Betűszín" +#define STRING_PERCENTAGE "Százalék" +#define STRING_PERCENTAGE_SPEED "Sebesség" +#define STRING_PERCENTAGE_FLOW "Hozam" +#define STRING_BABYSTEP "Mikrolépés" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Érintőképernyő kalibrálása." +#define STRING_ADJUST_INFO "Kattints a piros pontra." +#define STRING_ADJUST_OK "Kalibrálás sikeres." +#define STRING_ADJUST_FAILED "A kalibrálás sikertelen, próbáld újra." +#define STRING_UNIFIEDMOVE "Mozgás" +#define STRING_UNIFIEDHEAT "Fűt/Hűt" +#define STRING_TOUCH_TO_EXIT "Érintsd meg a kilépéshez." +#define STRING_MAINMENU "Főmenü" +#define STRING_TUNING "Hangolás" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC önhangolás" +#define STRING_MPC_METHOD "Módszer:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID önhangolás" +#define STRING_TUNE_START_INFO "Az önhangolása elindul. Percekig is eltarthat.\nFolytatod?" +#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_MARK120MM "A 120mm-t jelöld be a szálon\nNyomd '%s' ha kész\nMérd meg a hátralévő hosszt adagolás után." +#define STRING_TUNE_EXT_ADJ_ESTEPS "E-lépés állítás" +#define STRING_TUNE_EXT_ESTEPS_SAVED "Új E-lépés mentve!\nNe felejtsd el menteni EEPROM-ba.\nÚj érték: %0.2f" +#define STRING_TUNE_EXT_MEASURED "Hátramaradt hossz:" +#define STRING_TUNE_EXT_OLD_ESTEP "Régi e-lépés: %0.2f" +#define STRING_TUNE_EXT_NEW_ESTEP "Új e-lépés: %0.2f" +#define STRING_NOTIFICATIONS "Értesítések" +#define STRING_MESH_EDITOR "Háló szerkesztő" +#define STRING_MESH_TUNER "Háló hangoló" +#define STRING_CASE_LIGHT "Gépház világítás" +#define STRING_LOAD_STARTED "A szál betöltése folyamatban van,\nnem lehetséges további művelet, míg véget nem ér.\nKérlek várj!" +#define STRING_UNLOAD_STARTED "A szál kiadása folyamatban van,\nnem lehetséges további művelet, míg véget nem ér.\nKérlek várj!" +#define STRING_HEATERS_ON "Néhány fűtőelem még üzemel.\nKikapcsolod a őket?" +#define STRING_PRINT_FINISHED " Nyomtatás\n elkészült!" +#define STRING_MAIN_SCREEN "Főoldal" +#define STRING_PREVIOUS_PRINT_DATA "Összegzés" +#define STRING_PRINT_TIME "Nyomtatási idő: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nSzál hossza: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nSzál súlya: %1.2fg" +#define STRING_FILAMENT_COST "\nSzál költség: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nNincs szál statisztika." +#define STRING_CLICK_FOR_MORE "Kattints az összegzésért." +#define STRING_EXT_TEMPLOW "Fejhőfok alacsonyabb, mint a minimális hőfok (%d℃)." +#define STRING_HEAT_HOTEND "Fűtöd a fejet %d℃-ra?" +#define STRING_DESIRED_TEMPLOW "Fejhőfok alacsonyabb, mint a\nkívánt hőfok (%d℃)." +#define STRING_WAIT_HEAT_UP "Várj, míg felmelegszik." +#define STRING_Z_ALIGN "Z Igazítás" +#define STRING_MACROS "Makrók" +#define STRING_MESH_VALID "Háló ellenőrzése" +#define STRING_CONNECT_PROBE "A folyamat megkezdése előtt\ncsatlakoztassa a szondát.\nGyőződjön meg róla,\nhogy utána lekapcsolja." +#define STRING_DISCONNECT_PROBE "A funkció használata előtt\ngyőződjön meg arról, hogy\nleválasztotta a szondát." +#define STRING_CALIBRATION "Kalibráció" #endif diff --git a/TFT/src/User/API/Language/language_it.h b/TFT/src/User/API/Language/language_it.h index ac2ecc161..41f7de8ea 100644 --- a/TFT/src/User/API/Language/language_it.h +++ b/TFT/src/User/API/Language/language_it.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_IT_H_ #define _LANGUAGE_IT_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Italiano" - #define STRING_ADVANCED_OK "OK avanzato" - #define STRING_COMMAND_CHECKSUM "Checksum comando" - #define STRING_EMULATED_M600 "M600 emulato" - #define STRING_EMULATED_M109_M190 "M109 / M190 emulati" - #define STRING_EVENT_LED "LED evento" - #define STRING_FILE_COMMENT_PARSING "Analisi commenti su file" - #define STRING_ROTATED_UI "Ruota" - #define STRING_ACK_NOTIFICATION "Tipo di popup" - #define STRING_FILES_SORT_BY "Ordina file per" - #define STRING_FILES_LIST_MODE "File in modalità lista" - #define STRING_FILENAME_EXTENSION "Mostra estensione file" - #define STRING_FAN_SPEED_PERCENTAGE "Ventola in percentuale" - #define STRING_PERSISTENT_INFO "Mostra barra di stato" - #define STRING_TERMINAL_ACK "Mostra ACK in console" - #define STRING_SERIAL_ALWAYS_ON "Seriale sempre accesa" - #define STRING_MARLIN_FULLSCREEN "Marlin a schermo intero" - #define STRING_MARLIN_SHOW_TITLE "Mostra titolo in Marlin" - #define STRING_MARLIN_TYPE "Modalità Marlin" - #define STRING_MOVE_SPEED "Vel. movimenti(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto carica livellam." - #define STRING_PROBING_Z_OFFSET "Sondare per Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Auto allineamento asse Z" - #define STRING_PS_AUTO_SHUTDOWN "Auto spegnimento" - #define STRING_FIL_RUNOUT "Sensore filamento" - #define STRING_PL_RECOVERY "Power loss recovery" - #define STRING_PL_RECOVERY_HOME "Power loss rec. homing" - #define STRING_BTT_MINI_UPS "Supporto a BTT UPS" - #define STRING_TOUCH_SOUND "Suono al tocco" - #define STRING_TOAST_SOUND "Notifiche toast" - #define STRING_ALERT_SOUND "Popup e avvisi" - #define STRING_HEATER_SOUND "Notifica temperatura" - #define STRING_LCD_BRIGHTNESS "Luminosità" - #define STRING_LCD_IDLE_BRIGHTNESS "Luminosità in idle" - #define STRING_LCD_IDLE_TIME "Timer luminosità" - #define STRING_LCD_LOCK_ON_IDLE "Blocco LCD in idle" - #define STRING_LED_ALWAYS_ON "LED sempre acceso" - #define STRING_KNOB_LED_COLOR "LED manopola " - #define STRING_KNOB_LED_IDLE "LED manopola spento" - #define STRING_START_GCODE_ENABLED "Inserisci start gcode" - #define STRING_END_GCODE_ENABLED "Inserisci end gcode" - #define STRING_CANCEL_GCODE_ENABLED "Script canc. stampa" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Italiano" +#define STRING_ADVANCED_OK "OK avanzato" +#define STRING_COMMAND_CHECKSUM "Checksum comando" +#define STRING_EMULATED_M600 "M600 emulato" +#define STRING_EMULATED_M109_M190 "M109 / M190 emulati" +#define STRING_EVENT_LED "LED evento" +#define STRING_FILE_COMMENT_PARSING "Analisi commenti su file" +#define STRING_ROTATED_UI "Ruota" +#define STRING_ACK_NOTIFICATION "Tipo di popup" +#define STRING_FILES_SORT_BY "Ordina file per" +#define STRING_FILES_LIST_MODE "File in modalità lista" +#define STRING_FILENAME_EXTENSION "Mostra estensione file" +#define STRING_FAN_SPEED_PERCENTAGE "Ventola in percentuale" +#define STRING_PERSISTENT_INFO "Mostra barra di stato" +#define STRING_TERMINAL_ACK "Mostra ACK in console" +#define STRING_SERIAL_ALWAYS_ON "Seriale sempre accesa" +#define STRING_MARLIN_FULLSCREEN "Marlin a schermo intero" +#define STRING_MARLIN_SHOW_TITLE "Mostra titolo in Marlin" +#define STRING_MARLIN_TYPE "Modalità Marlin" +#define STRING_MOVE_SPEED "Vel. movimenti(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto carica livellam." +#define STRING_PROBING_Z_OFFSET "Sondare per Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Auto allineamento asse Z" +#define STRING_PS_AUTO_SHUTDOWN "Auto spegnimento" +#define STRING_FIL_RUNOUT "Sensore filamento" +#define STRING_PL_RECOVERY "Power loss recovery" +#define STRING_PL_RECOVERY_HOME "Power loss rec. homing" +#define STRING_BTT_MINI_UPS "Supporto a BTT UPS" +#define STRING_TOUCH_SOUND "Suono al tocco" +#define STRING_TOAST_SOUND "Notifiche toast" +#define STRING_ALERT_SOUND "Popup e avvisi" +#define STRING_HEATER_SOUND "Notifica temperatura" +#define STRING_LCD_BRIGHTNESS "Luminosità" +#define STRING_LCD_IDLE_BRIGHTNESS "Luminosità in idle" +#define STRING_LCD_IDLE_TIME "Timer luminosità" +#define STRING_LCD_LOCK_ON_IDLE "Blocco LCD in idle" +#define STRING_LED_ALWAYS_ON "LED sempre acceso" +#define STRING_KNOB_LED_COLOR "LED manopola " +#define STRING_KNOB_LED_IDLE "LED manopola spento" +#define STRING_START_GCODE_ENABLED "Inserisci start gcode" +#define STRING_END_GCODE_ENABLED "Inserisci end gcode" +#define STRING_CANCEL_GCODE_ENABLED "Script canc. stampa" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Step per mm" - #define STRING_FILAMENT_SETTING "Diametro filamento" - #define STRING_MAXACCELERATION "Accelerazione massima" - #define STRING_MAXFEEDRATE "Feedrate massimo" - #define STRING_ACCELERATION "Accelerazione" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction deviation" - #define STRING_HOME_OFFSET "Home offset" - #define STRING_FWRETRACT "Retrazione firmware" - #define STRING_FWRECOVER "Retrazione firmware rec." - #define STRING_RETRACT_AUTO "Retrazione firmware" - #define STRING_HOTEND_OFFSET "Offset secondo hotend" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Probe offset" - #define STRING_LIN_ADVANCE "Linear advance" - #define STRING_CURRENT_SETTING "Corrente driver (mA)" - #define STRING_HYBRID_THRESHOLD "Hybrid threshold" - #define STRING_BUMP_SENSITIVITY "Sens.sensorless homing" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Step per mm" +#define STRING_FILAMENT_SETTING "Diametro filamento" +#define STRING_MAXACCELERATION "Accelerazione massima" +#define STRING_MAXFEEDRATE "Feedrate massimo" +#define STRING_ACCELERATION "Accelerazione" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction deviation" +#define STRING_HOME_OFFSET "Home offset" +#define STRING_FWRETRACT "Retrazione firmware" +#define STRING_FWRECOVER "Retrazione firmware rec." +#define STRING_RETRACT_AUTO "Retrazione firmware" +#define STRING_HOTEND_OFFSET "Offset secondo hotend" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Probe offset" +#define STRING_LIN_ADVANCE "Linear advance" +#define STRING_CURRENT_SETTING "Corrente driver (mA)" +#define STRING_HYBRID_THRESHOLD "Hybrid threshold" +#define STRING_BUMP_SENSITIVITY "Sens.sensorless homing" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Acc. in stampa" - #define STRING_RETRACT_ACCELERATION "Acc. retrazione" - #define STRING_TRAVEL_ACCELERATION "Acc. spostamenti" - #define STRING_RETRACT_LENGTH "Lunghezza retrazione" - #define STRING_RETRACT_SWAP_LENGTH "Lunghezza retr. scambio" - #define STRING_RETRACT_FEEDRATE "Feedrate retrazione" - #define STRING_RETRACT_Z_LIFT "Alza Z in retrazione" - #define STRING_RECOVER_LENGTH "Lung. di recupero extra" - #define STRING_SWAP_RECOVER_LENGTH "Lung. di recupero scambio extra" - #define STRING_RECOVER_FEEDRATE "Feedrate recupero" - #define STRING_SWAP_RECOVER_FEEDRATE "Rec.feedrate di scambio" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Acc. in stampa" +#define STRING_RETRACT_ACCELERATION "Acc. retrazione" +#define STRING_TRAVEL_ACCELERATION "Acc. spostamenti" +#define STRING_RETRACT_LENGTH "Lunghezza retrazione" +#define STRING_RETRACT_SWAP_LENGTH "Lunghezza retr. scambio" +#define STRING_RETRACT_FEEDRATE "Feedrate retrazione" +#define STRING_RETRACT_Z_LIFT "Alza Z in retrazione" +#define STRING_RECOVER_LENGTH "Lung. di recupero extra" +#define STRING_SWAP_RECOVER_LENGTH "Lung. di recupero scambio extra" +#define STRING_RECOVER_FEEDRATE "Feedrate recupero" +#define STRING_SWAP_RECOVER_FEEDRATE "Rec.feedrate di scambio" - // Save / Load - #define STRING_SAVE "Salva" - #define STRING_RESTORE "Ripristina" - #define STRING_RESET "Reset" - #define STRING_EEPROM_SAVE_INFO "Salvo le impostazioni nella EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Ricarico le impostazioni dalla EEPROM?" - #define STRING_EEPROM_RESET_INFO "Resetto la EEPROM ai valori di fabbrica?" - #define STRING_SETTINGS_SAVE "Salva impostazioni" - #define STRING_SETTINGS_RESTORE "Ripristina impostazioni" - #define STRING_SETTINGS_RESET "Resetta impostazioni" - #define STRING_SETTINGS_RESET_INFO "Resettare tutte le impostazioni ai valori di default?" - #define STRING_SETTINGS_RESET_DONE "Reset delle impostazioni avvenuto con successo.\nRiavviare la stampante prego." +// Save / Load +#define STRING_SAVE "Salva" +#define STRING_RESTORE "Ripristina" +#define STRING_RESET "Reset" +#define STRING_EEPROM_SAVE_INFO "Salvo le impostazioni nella EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Ricarico le impostazioni dalla EEPROM?" +#define STRING_EEPROM_RESET_INFO "Resetto la EEPROM ai valori di fabbrica?" +#define STRING_SETTINGS_SAVE "Salva impostazioni" +#define STRING_SETTINGS_RESTORE "Ripristina impostazioni" +#define STRING_SETTINGS_RESET "Resetta impostazioni" +#define STRING_SETTINGS_RESET_INFO "Resettare tutte le impostazioni ai valori di default?" +#define STRING_SETTINGS_RESET_DONE "Reset delle impostazioni avvenuto con successo.\nRiavviare la stampante prego." - // Navigation Buttons - #define STRING_PAGE_UP "Pagina sù" - #define STRING_PAGE_DOWN "Pagina giù" - #define STRING_UP "Sù" - #define STRING_DOWN "Giù" - #define STRING_NEXT "Prossimo" - #define STRING_BACK "Indietro" +// Navigation Buttons +#define STRING_PAGE_UP "Pagina sù" +#define STRING_PAGE_DOWN "Pagina giù" +#define STRING_UP "Sù" +#define STRING_DOWN "Giù" +#define STRING_NEXT "Prossimo" +#define STRING_BACK "Indietro" - // Value Buttons - #define STRING_INC "Incrementa" - #define STRING_DEC "Decrementa" - #define STRING_LOAD "Carica" - #define STRING_UNLOAD "Scarica" - #define STRING_ON "Acceso" - #define STRING_OFF "Spento" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Lento" - #define STRING_NORMAL "Normale" - #define STRING_FAST "Veloce" - #define STRING_ZERO "Zero" - #define STRING_HALF "50%" - #define STRING_FULL "100%" - #define STRING_CUSTOM "Macro" - #define STRING_CLEAR "Canc." - #define STRING_DEFAULT "Predefinito" +// Value Buttons +#define STRING_INC "Incrementa" +#define STRING_DEC "Decrementa" +#define STRING_LOAD "Carica" +#define STRING_UNLOAD "Scarica" +#define STRING_ON "Acceso" +#define STRING_OFF "Spento" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Lento" +#define STRING_NORMAL "Normale" +#define STRING_FAST "Veloce" +#define STRING_ZERO "Zero" +#define STRING_HALF "50%" +#define STRING_FULL "100%" +#define STRING_CUSTOM "Macro" +#define STRING_CLEAR "Canc." +#define STRING_DEFAULT "Predefinito" - // Action Buttons - #define STRING_START "Inizia" - #define STRING_STOP "Stop" - #define STRING_PAUSE "Pausa" - #define STRING_RESUME "Riprendi" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Scollega" - #define STRING_SHUT_DOWN "Spegni" - #define STRING_FORCE_SHUT_DOWN "Forza spegnimento" - #define STRING_EMERGENCYSTOP "Emergenza" - #define STRING_PREHEAT "Preriscalda" - #define STRING_PREHEAT_BOTH "Entrambi" - #define STRING_COOLDOWN "Raffredda" +// Action Buttons +#define STRING_START "Inizia" +#define STRING_STOP "Stop" +#define STRING_PAUSE "Pausa" +#define STRING_RESUME "Riprendi" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Scollega" +#define STRING_SHUT_DOWN "Spegni" +#define STRING_FORCE_SHUT_DOWN "Forza spegnimento" +#define STRING_EMERGENCYSTOP "Emergenza" +#define STRING_PREHEAT "Preriscalda" +#define STRING_PREHEAT_BOTH "Entrambi" +#define STRING_COOLDOWN "Raffredda" - // Dialog Buttons - #define STRING_CONFIRM "Conferma" - #define STRING_CANCEL "Annulla" - #define STRING_WARNING "Attenzione" - #define STRING_CONTINUE "Continua" - #define STRING_CONFIRMATION "Sei sicuro?" +// Dialog Buttons +#define STRING_CONFIRM "Conferma" +#define STRING_CANCEL "Annulla" +#define STRING_WARNING "Attenzione" +#define STRING_CONTINUE "Continua" +#define STRING_CONFIRMATION "Sei sicuro?" - // Process Status - #define STRING_STATUS "Stato" - #define STRING_READY "Pronta" - #define STRING_BUSY "Stampante occupata, attendere..." - #define STRING_LOADING "Caricamento..." - #define STRING_UNCONNECTED "Stampante non connessa" - #define STRING_LISTENING "TFT in Modalità Ascolto!" +// Process Status +#define STRING_STATUS "Stato" +#define STRING_READY "Pronta" +#define STRING_BUSY "Stampante occupata, attendere..." +#define STRING_LOADING "Caricamento..." +#define STRING_UNCONNECTED "Stampante non connessa" +#define STRING_LISTENING "TFT in Modalità Ascolto!" - // Process Info - #define STRING_INFO "Info" - #define STRING_INVALID_VALUE "Valori forniti non validi!" - #define STRING_TIMEOUT_REACHED "Timeout raggiunto!" - #define STRING_DISCONNECT_INFO "Puoi controllare la stampante dal PC!" - #define STRING_SHUTTING_DOWN "Spegnimento..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Attendere che la temperatura dell'hotend sia inferiore a %d℃" // Wait for the temperature of hotend to be lower than 48℃ - #define STRING_POWER_FAILED "Vuoi continuare la stampa?" - #define STRING_PROCESS_COMPLETED "Processo completato!" - #define STRING_PROCESS_ABORTED "Processo annullato!" +// Process Info +#define STRING_INFO "Info" +#define STRING_INVALID_VALUE "Valori forniti non validi!" +#define STRING_TIMEOUT_REACHED "Timeout raggiunto!" +#define STRING_DISCONNECT_INFO "Puoi controllare la stampante dal PC!" +#define STRING_SHUTTING_DOWN "Spegnimento..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Attendere che la temperatura dell'hotend sia inferiore a %d℃" // Wait for the temperature of hotend to be lower than 48℃ +#define STRING_POWER_FAILED "Vuoi continuare la stampa?" +#define STRING_PROCESS_COMPLETED "Processo completato!" +#define STRING_PROCESS_ABORTED "Processo annullato!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "SD card" - #define STRING_TFT_SD_INSERTED "SD card inserita" - #define STRING_TFT_SD_REMOVED "SD card rimossa" - #define STRING_TFT_SD_NOT_DETECTED "SD card non rilevata!" - #define STRING_TFT_SD_READ_ERROR "Errore lettura SD card!" - #define STRING_TFT_USB "Pen drive" - #define STRING_TFT_USB_INSERTED "Pen drive inserita" - #define STRING_TFT_USB_REMOVED "Pen drive rimossa" - #define STRING_TFT_USB_NOT_DETECTED "Pen drive non rilevata!" - #define STRING_TFT_USB_READ_ERROR "Errore lettura pen drive!" - #define STRING_ONBOARD_SD "SD scheda" - #define STRING_ONBOARD_USB "USB scheda" - #define STRING_ONBOARD_SD_READ_ERROR "Errore lettura media su scheda!" - #define STRING_FILAMENT_RUNOUT "Filamento finito!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "SD card" +#define STRING_TFT_SD_INSERTED "SD card inserita" +#define STRING_TFT_SD_REMOVED "SD card rimossa" +#define STRING_TFT_SD_NOT_DETECTED "SD card non rilevata!" +#define STRING_TFT_SD_READ_ERROR "Errore lettura SD card!" +#define STRING_TFT_USB "Pen drive" +#define STRING_TFT_USB_INSERTED "Pen drive inserita" +#define STRING_TFT_USB_REMOVED "Pen drive rimossa" +#define STRING_TFT_USB_NOT_DETECTED "Pen drive non rilevata!" +#define STRING_TFT_USB_READ_ERROR "Errore lettura pen drive!" +#define STRING_ONBOARD_SD "SD scheda" +#define STRING_ONBOARD_USB "USB scheda" +#define STRING_ONBOARD_SD_READ_ERROR "Errore lettura media su scheda!" +#define STRING_FILAMENT_RUNOUT "Filamento finito!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Motori" - #define STRING_XY_UNLOCK "Sblocca XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Motori" +#define STRING_XY_UNLOCK "Sblocca XY" - #define STRING_START_PRINT "Inizio a stampare:\n%s?" - #define STRING_STOP_PRINT "Vuoi fermare la stampa?" - #define STRING_IS_PAUSE "Impossibile estrudere durante la stampa,\nvuoi interrompere?" - #define STRING_M0_PAUSE "Messa in pausa da comando M0" +#define STRING_START_PRINT "Inizio a stampare:\n%s?" +#define STRING_STOP_PRINT "Vuoi fermare la stampa?" +#define STRING_IS_PAUSE "Impossibile estrudere durante la stampa,\nvuoi interrompere?" +#define STRING_M0_PAUSE "Messa in pausa da comando M0" - #define STRING_TEST "Test" - #define STRING_DEPLOY "Estrai" - #define STRING_STOW "Ritrai" - #define STRING_REPEAT "Ripeti" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Test" +#define STRING_DEPLOY "Estrai" +#define STRING_STOW "Ritrai" +#define STRING_REPEAT "Ripeti" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Hotend" - #define STRING_BED "Piatto ris." - #define STRING_CHAMBER "Camera" - #define STRING_FAN "Ventola" +// Printer Tools +#define STRING_NOZZLE "Hotend" +#define STRING_BED "Piatto ris." +#define STRING_CHAMBER "Camera" +#define STRING_FAN "Ventola" - #define STRING_BLTOUCH "BLtouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLtouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1°" - #define STRING_5_DEGREE "5°" - #define STRING_10_DEGREE "10°" +// Values +#define STRING_1_DEGREE "1°" +#define STRING_5_DEGREE "5°" +#define STRING_10_DEGREE "10°" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 sec." - #define STRING_10_SECONDS "10 sec." - #define STRING_30_SECONDS "30 sec." - #define STRING_60_SECONDS "1 min." - #define STRING_120_SECONDS "2 min." - #define STRING_300_SECONDS "5 min." +#define STRING_5_SECONDS "5 sec." +#define STRING_10_SECONDS "10 sec." +#define STRING_30_SECONDS "30 sec." +#define STRING_60_SECONDS "1 min." +#define STRING_120_SECONDS "2 min." +#define STRING_300_SECONDS "5 min." - // Colors - #define STRING_WHITE "Bianco" - #define STRING_BLACK "Nero" - #define STRING_BLUE "Blu" - #define STRING_RED "Rosso" - #define STRING_GREEN "Verde" - #define STRING_CYAN "Ciano" - #define STRING_YELLOW "Giallo" - #define STRING_BROWN "Marrone" - #define STRING_GRAY "Grigio" - #define STRING_ORANGE "Arancione" - #define STRING_INDIGO "Indaco" - #define STRING_VIOLET "Viola" - #define STRING_MAGENTA "Magenta" - #define STRING_PURPLE "Viola" - #define STRING_LIME "Lime" - #define STRING_DARKBLUE "Blu Scuro" - #define STRING_DARKGREEN "Verde Scuro" - #define STRING_DARKGRAY "Grigio Scuro" +// Colors +#define STRING_WHITE "Bianco" +#define STRING_BLACK "Nero" +#define STRING_BLUE "Blu" +#define STRING_RED "Rosso" +#define STRING_GREEN "Verde" +#define STRING_CYAN "Ciano" +#define STRING_YELLOW "Giallo" +#define STRING_BROWN "Marrone" +#define STRING_GRAY "Grigio" +#define STRING_ORANGE "Arancione" +#define STRING_INDIGO "Indaco" +#define STRING_VIOLET "Viola" +#define STRING_MAGENTA "Magenta" +#define STRING_PURPLE "Viola" +#define STRING_LIME "Lime" +#define STRING_DARKBLUE "Blu Scuro" +#define STRING_DARKGREEN "Verde Scuro" +#define STRING_DARKGRAY "Grigio Scuro" - // Menus - #define STRING_HEAT "Riscalda" - #define STRING_MOVE "Muovi" - #define STRING_HOME "Home" - #define STRING_PRINT "Stampa" - #define STRING_EXTRUDE "Estrudi" - #define STRING_SETTINGS "Opzioni" - #define STRING_SCREEN_SETTINGS "Schermo" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Suono" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Stampante" - #define STRING_PARAMETER_SETTINGS "Parametri" - #define STRING_FEATURE_SETTINGS "Configura" - #define STRING_CONNECTION_SETTINGS "Connessioni" - #define STRING_SERIAL_PORTS "Porte S." - #define STRING_BAUDRATE "Baudrate" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "LED RGB" - #define STRING_RGB_OFF "Spegni" - #define STRING_TERMINAL "Console" - #define STRING_LEVELING "Calibra" - #define STRING_POINT_1 "Punto 1" - #define STRING_POINT_2 "Punto 2" - #define STRING_POINT_3 "Punto 3" - #define STRING_POINT_4 "Punto 4" - #define STRING_POINT_5 "Punto 5" - #define STRING_BED_LEVELING "ABL" - #define STRING_BL_COMPLETE "Auto livellamento completato" - #define STRING_BL_SMART_FILL "Alcuni punti di rilevazione mancanti. Mesh ricostruita con funzione smart.\n\nNota: ricordati di salvare!" - #define STRING_BL_ENABLE "ABL: on" - #define STRING_BL_DISABLE "ABL: off" - #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 "ABL bilineare" - #define STRING_ABL_SETTINGS_UBL "ABL unificato" - #define STRING_ABL_SETTINGS_UBL_SAVE "Salva nello slot" - #define STRING_ABL_SETTINGS_UBL_LOAD "Carica lo 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 "Ricordare lo slot al prossimo riavvio? (Salva in EEPROM)" - #define STRING_ABL_Z "Z fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P offset" - #define STRING_H_OFFSET "H offset" - #define STRING_DISTANCE "Distanza" - #define STRING_SHIM "Spessore" - #define STRING_LOAD_UNLOAD "Carica/scarica" - #define STRING_LOAD_UNLOAD_SHORT "Scarica" - #define STRING_TOUCHSCREEN_ADJUST "Calibra" - #define STRING_MORE "Altro" - #define STRING_SCREEN_INFO "Info" - #define STRING_BG_COLOR "Colore sfondo" - #define STRING_FONT_COLOR "Colore font" - #define STRING_PERCENTAGE "Percentuale" - #define STRING_PERCENTAGE_SPEED "Velocità" - #define STRING_PERCENTAGE_FLOW "Flusso" - #define STRING_BABYSTEP "Babystep" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Calibrazione touch screen" - #define STRING_ADJUST_INFO "Premi sui punti rossi" - #define STRING_ADJUST_OK "Regolazione completata!" - #define STRING_ADJUST_FAILED "Regolazione fallita. Riprova!" - #define STRING_UNIFIEDMOVE "Movimento" - #define STRING_UNIFIEDHEAT "Risc/vent" - #define STRING_TOUCH_TO_EXIT "Tocca ovunque per uscire" - #define STRING_MAINMENU "Menù" - #define STRING_TUNING "Regola" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "Autoregolazione MPC" - #define STRING_MPC_METHOD "Metodo:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "Autoregolazione PID" - #define STRING_TUNE_START_INFO "Partirà l'autoregolazione. Può richiedere diversi minuti.\nContinuare?" - #define STRING_TUNE_EXTRUDER "Step/mm E" - #define STRING_TUNE_EXT_EXTRUDE_100 "Estr. 100mm" - #define STRING_TUNE_EXT_TEMP "Regolazione estr. | Scalda" - #define STRING_TUNE_EXT_MARK120MM "Fai un segno a 120mm sul filamento\nPremi '%s' quando sei pronto\nMisura la lunghezza mancante dopo l'estrusione" - #define STRING_TUNE_EXT_ADJ_ESTEPS "Regola step/mm E" - #define STRING_TUNE_EXT_ESTEPS_SAVED "Nuovi step/mm di E impostati!\nNon dimenticare di salvarli nellaEEPROM\nNuovo valore: %0.2f" - #define STRING_TUNE_EXT_MEASURED "Lunghezza mancante:" - #define STRING_TUNE_EXT_OLD_ESTEP "Vecchi step/mm E: %0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "Nuovi step/mm E: %0.2f" - #define STRING_NOTIFICATIONS "Notifiche" - #define STRING_MESH_EDITOR "Mesh" - #define STRING_MESH_TUNER "Correggi mesh" - #define STRING_CASE_LIGHT "Luce" - #define STRING_LOAD_STARTED "Carico filamento in corso...\nNon sono possibili altre azioni fino al termine. Attendere prego." - #define STRING_UNLOAD_STARTED "Scarico filamento in corso...\nNon sono possibili altre azioni fino al termine. Attendere prego." - #define STRING_HEATERS_ON "Alcuni riscaldatori sono ancora accesi\nVuoi spegnerli?" - #define STRING_PRINT_FINISHED " Stampa\n ultimata." - #define STRING_MAIN_SCREEN "Principale" - #define STRING_PREVIOUS_PRINT_DATA "Ultimo lav." - #define STRING_PRINT_TIME "Durata stampa: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nLunghezza filamento: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nPeso filamento: %1.2fg" - #define STRING_FILAMENT_COST "\nCosto filamento: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nNessuna statistica del filamento." - #define STRING_CLICK_FOR_MORE "Clicca per riepilogo" - #define STRING_EXT_TEMPLOW "La temperatura dell'hotend è al di sotto della temperatura minima (%d℃)." - #define STRING_HEAT_HOTEND "Scaldo l'hotend a %d℃?" - #define STRING_DESIRED_TEMPLOW "La temperatura dell'hotend è al di sotto della temperatura desiderata (%d℃)." - #define STRING_WAIT_HEAT_UP "Attendi fine riscaldamento." - #define STRING_Z_ALIGN "Allinea Z" - #define STRING_MACROS "Macro" - #define STRING_MESH_VALID "Validazione mesh" - #define STRING_CONNECT_PROBE "Connetti la probe prima di iniziare il processo. Disconnettila quando finito." - #define STRING_DISCONNECT_PROBE "Assicurati che la probe sia disconnessa prima di usare questa funzionalità." - #define STRING_CALIBRATION "Calibra" +// Menus +#define STRING_HEAT "Riscalda" +#define STRING_MOVE "Muovi" +#define STRING_HOME "Home" +#define STRING_PRINT "Stampa" +#define STRING_EXTRUDE "Estrudi" +#define STRING_SETTINGS "Opzioni" +#define STRING_SCREEN_SETTINGS "Schermo" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Suono" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Stampante" +#define STRING_PARAMETER_SETTINGS "Parametri" +#define STRING_FEATURE_SETTINGS "Configura" +#define STRING_CONNECTION_SETTINGS "Connessioni" +#define STRING_SERIAL_PORTS "Porte S." +#define STRING_BAUDRATE "Baudrate" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "LED RGB" +#define STRING_RGB_OFF "Spegni" +#define STRING_TERMINAL "Console" +#define STRING_LEVELING "Calibra" +#define STRING_POINT_1 "Punto 1" +#define STRING_POINT_2 "Punto 2" +#define STRING_POINT_3 "Punto 3" +#define STRING_POINT_4 "Punto 4" +#define STRING_POINT_5 "Punto 5" +#define STRING_BED_LEVELING "ABL" +#define STRING_BL_COMPLETE "Auto livellamento completato" +#define STRING_BL_SMART_FILL "Alcuni punti di rilevazione mancanti. Mesh ricostruita con funzione smart.\n\nNota: ricordati di salvare!" +#define STRING_BL_ENABLE "ABL: on" +#define STRING_BL_DISABLE "ABL: off" +#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 "ABL bilineare" +#define STRING_ABL_SETTINGS_UBL "ABL unificato" +#define STRING_ABL_SETTINGS_UBL_SAVE "Salva nello slot" +#define STRING_ABL_SETTINGS_UBL_LOAD "Carica lo 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 "Ricordare lo slot al prossimo riavvio? (Salva in EEPROM)" +#define STRING_ABL_Z "Z fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P offset" +#define STRING_H_OFFSET "H offset" +#define STRING_DISTANCE "Distanza" +#define STRING_SHIM "Spessore" +#define STRING_LOAD_UNLOAD "Carica/scarica" +#define STRING_LOAD_UNLOAD_SHORT "Scarica" +#define STRING_TOUCHSCREEN_ADJUST "Calibra" +#define STRING_MORE "Altro" +#define STRING_SCREEN_INFO "Info" +#define STRING_BG_COLOR "Colore sfondo" +#define STRING_FONT_COLOR "Colore font" +#define STRING_PERCENTAGE "Percentuale" +#define STRING_PERCENTAGE_SPEED "Velocità" +#define STRING_PERCENTAGE_FLOW "Flusso" +#define STRING_BABYSTEP "Babystep" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Calibrazione touch screen" +#define STRING_ADJUST_INFO "Premi sui punti rossi" +#define STRING_ADJUST_OK "Regolazione completata!" +#define STRING_ADJUST_FAILED "Regolazione fallita. Riprova!" +#define STRING_UNIFIEDMOVE "Movimento" +#define STRING_UNIFIEDHEAT "Risc/vent" +#define STRING_TOUCH_TO_EXIT "Tocca ovunque per uscire" +#define STRING_MAINMENU "Menù" +#define STRING_TUNING "Regola" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "Autoregolazione MPC" +#define STRING_MPC_METHOD "Metodo:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "Autoregolazione PID" +#define STRING_TUNE_START_INFO "Partirà l'autoregolazione. Può richiedere diversi minuti.\nContinuare?" +#define STRING_TUNE_EXTRUDER "Step/mm E" +#define STRING_TUNE_EXT_EXTRUDE_100 "Estr. 100mm" +#define STRING_TUNE_EXT_TEMP "Regolazione estr. | Scalda" +#define STRING_TUNE_EXT_MARK120MM "Fai un segno a 120mm sul filamento\nPremi '%s' quando sei pronto\nMisura la lunghezza mancante dopo l'estrusione" +#define STRING_TUNE_EXT_ADJ_ESTEPS "Regola step/mm E" +#define STRING_TUNE_EXT_ESTEPS_SAVED "Nuovi step/mm di E impostati!\nNon dimenticare di salvarli nellaEEPROM\nNuovo valore: %0.2f" +#define STRING_TUNE_EXT_MEASURED "Lunghezza mancante:" +#define STRING_TUNE_EXT_OLD_ESTEP "Vecchi step/mm E: %0.2f" +#define STRING_TUNE_EXT_NEW_ESTEP "Nuovi step/mm E: %0.2f" +#define STRING_NOTIFICATIONS "Notifiche" +#define STRING_MESH_EDITOR "Mesh" +#define STRING_MESH_TUNER "Correggi mesh" +#define STRING_CASE_LIGHT "Luce" +#define STRING_LOAD_STARTED "Carico filamento in corso...\nNon sono possibili altre azioni fino al termine. Attendere prego." +#define STRING_UNLOAD_STARTED "Scarico filamento in corso...\nNon sono possibili altre azioni fino al termine. Attendere prego." +#define STRING_HEATERS_ON "Alcuni riscaldatori sono ancora accesi\nVuoi spegnerli?" +#define STRING_PRINT_FINISHED " Stampa\n ultimata." +#define STRING_MAIN_SCREEN "Principale" +#define STRING_PREVIOUS_PRINT_DATA "Ultimo lav." +#define STRING_PRINT_TIME "Durata stampa: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nLunghezza filamento: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nPeso filamento: %1.2fg" +#define STRING_FILAMENT_COST "\nCosto filamento: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nNessuna statistica del filamento." +#define STRING_CLICK_FOR_MORE "Clicca per riepilogo" +#define STRING_EXT_TEMPLOW "La temperatura dell'hotend è al di sotto della temperatura minima (%d℃)." +#define STRING_HEAT_HOTEND "Scaldo l'hotend a %d℃?" +#define STRING_DESIRED_TEMPLOW "La temperatura dell'hotend è al di sotto della temperatura desiderata (%d℃)." +#define STRING_WAIT_HEAT_UP "Attendi fine riscaldamento." +#define STRING_Z_ALIGN "Allinea Z" +#define STRING_MACROS "Macro" +#define STRING_MESH_VALID "Validazione mesh" +#define STRING_CONNECT_PROBE "Connetti la probe prima di iniziare il processo. Disconnettila quando finito." +#define STRING_DISCONNECT_PROBE "Assicurati che la probe sia disconnessa prima di usare questa funzionalità." +#define STRING_CALIBRATION "Calibra" #endif diff --git a/TFT/src/User/API/Language/language_jp.h b/TFT/src/User/API/Language/language_jp.h index 1ec81a993..fb92c8f11 100644 --- a/TFT/src/User/API/Language/language_jp.h +++ b/TFT/src/User/API/Language/language_jp.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_JP_H_ #define _LANGUAGE_JP_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "日本語" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "UI回転" - #define STRING_ACK_NOTIFICATION "ACK notification style" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "ファイルビューアリストモード" - #define STRING_FILENAME_EXTENSION "拡張子表示" - #define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" - #define STRING_PERSISTENT_INFO "永続的なステータス情報" - #define STRING_TERMINAL_ACK "端末でACKを表示する" - #define STRING_SERIAL_ALWAYS_ON "Serial Always ON" - #define STRING_MARLIN_FULLSCREEN "フルスクリーンでMarlinモード" - #define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "移動速度(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "自動シャットダウン" - #define STRING_FIL_RUNOUT "フィラメントセンサ" - #define STRING_PL_RECOVERY "Power loss recovery" - #define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" - #define STRING_BTT_MINI_UPS "BTT UPS Support" - #define STRING_TOUCH_SOUND "Touch sounds" - #define STRING_TOAST_SOUND "Toast Notifications" - #define STRING_ALERT_SOUND "Popups and Alerts" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "LCD明るさ" - #define STRING_LCD_IDLE_BRIGHTNESS "待機時の明るさ" - #define STRING_LCD_IDLE_TIME "待機移行時間" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "回転ノブLED" - #define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" - #define STRING_START_GCODE_ENABLED "印刷前にGコードを開始する" - #define STRING_END_GCODE_ENABLED "印刷後にGコードを終了する" - #define STRING_CANCEL_GCODE_ENABLED "Gコードをキャンセルする" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "日本語" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "UI回転" +#define STRING_ACK_NOTIFICATION "ACK notification style" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "ファイルビューアリストモード" +#define STRING_FILENAME_EXTENSION "拡張子表示" +#define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" +#define STRING_PERSISTENT_INFO "永続的なステータス情報" +#define STRING_TERMINAL_ACK "端末でACKを表示する" +#define STRING_SERIAL_ALWAYS_ON "Serial Always ON" +#define STRING_MARLIN_FULLSCREEN "フルスクリーンでMarlinモード" +#define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "移動速度(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "自動シャットダウン" +#define STRING_FIL_RUNOUT "フィラメントセンサ" +#define STRING_PL_RECOVERY "Power loss recovery" +#define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" +#define STRING_BTT_MINI_UPS "BTT UPS Support" +#define STRING_TOUCH_SOUND "Touch sounds" +#define STRING_TOAST_SOUND "Toast Notifications" +#define STRING_ALERT_SOUND "Popups and Alerts" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "LCD明るさ" +#define STRING_LCD_IDLE_BRIGHTNESS "待機時の明るさ" +#define STRING_LCD_IDLE_TIME "待機移行時間" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "回転ノブLED" +#define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" +#define STRING_START_GCODE_ENABLED "印刷前にGコードを開始する" +#define STRING_END_GCODE_ENABLED "印刷後にGコードを終了する" +#define STRING_CANCEL_GCODE_ENABLED "Gコードをキャンセルする" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "MMあたりのステップ" - #define STRING_FILAMENT_SETTING "フィラメント直径" - #define STRING_MAXACCELERATION "最大加速度" - #define STRING_MAXFEEDRATE "最大フィードレート" - #define STRING_ACCELERATION "加速度" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home Offset" - #define STRING_FWRETRACT "FW Retraction" - #define STRING_FWRECOVER "FW Retraction Recover" - #define STRING_RETRACT_AUTO "Auto Firmware Retract" - #define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "プローブオフセット" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "ドライバー電流 (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "TMC バンプ感度" - #define STRING_MBL_OFFSET "MBLオフセット" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "MMあたりのステップ" +#define STRING_FILAMENT_SETTING "フィラメント直径" +#define STRING_MAXACCELERATION "最大加速度" +#define STRING_MAXFEEDRATE "最大フィードレート" +#define STRING_ACCELERATION "加速度" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home Offset" +#define STRING_FWRETRACT "FW Retraction" +#define STRING_FWRECOVER "FW Retraction Recover" +#define STRING_RETRACT_AUTO "Auto Firmware Retract" +#define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "プローブオフセット" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "ドライバー電流 (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "TMC バンプ感度" +#define STRING_MBL_OFFSET "MBLオフセット" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "印刷加速度" - #define STRING_RETRACT_ACCELERATION "引き戻し加速度" - #define STRING_TRAVEL_ACCELERATION "トラベル加速度" - #define STRING_RETRACT_LENGTH "引き戻し長さ" - #define STRING_RETRACT_SWAP_LENGTH "交換時の引き戻し長さ" - #define STRING_RETRACT_FEEDRATE "引き戻し速度" - #define STRING_RETRACT_Z_LIFT "引き戻し時のz軸上げの高さ" - #define STRING_RECOVER_LENGTH "余分な押し出し長さ" - #define STRING_SWAP_RECOVER_LENGTH "交換時の余分な押し出し長さ" - #define STRING_RECOVER_FEEDRATE "押出速度" - #define STRING_SWAP_RECOVER_FEEDRATE "交換時の押出速度" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "印刷加速度" +#define STRING_RETRACT_ACCELERATION "引き戻し加速度" +#define STRING_TRAVEL_ACCELERATION "トラベル加速度" +#define STRING_RETRACT_LENGTH "引き戻し長さ" +#define STRING_RETRACT_SWAP_LENGTH "交換時の引き戻し長さ" +#define STRING_RETRACT_FEEDRATE "引き戻し速度" +#define STRING_RETRACT_Z_LIFT "引き戻し時のz軸上げの高さ" +#define STRING_RECOVER_LENGTH "余分な押し出し長さ" +#define STRING_SWAP_RECOVER_LENGTH "交換時の余分な押し出し長さ" +#define STRING_RECOVER_FEEDRATE "押出速度" +#define STRING_SWAP_RECOVER_FEEDRATE "交換時の押出速度" - // Save / Load - #define STRING_SAVE "保存" - #define STRING_RESTORE "復元" - #define STRING_RESET "リセット" - #define STRING_EEPROM_SAVE_INFO "プリンタの設定をEEPROMに保存しますか?" - #define STRING_EEPROM_RESTORE_INFO "EEPROMから設定を再読み込みますか?" - #define STRING_EEPROM_RESET_INFO "EEPROMを初期化しますか?" - #define STRING_SETTINGS_SAVE "設定保存" - #define STRING_SETTINGS_RESTORE "設定復元" - #define STRING_SETTINGS_RESET "設定初期化" - #define STRING_SETTINGS_RESET_INFO "すべての設定をデフォルト値にリセットしますか?" - #define STRING_SETTINGS_RESET_DONE "すべての設定が正常にリセットされました。デバイスを再起動してください。" +// Save / Load +#define STRING_SAVE "保存" +#define STRING_RESTORE "復元" +#define STRING_RESET "リセット" +#define STRING_EEPROM_SAVE_INFO "プリンタの設定をEEPROMに保存しますか?" +#define STRING_EEPROM_RESTORE_INFO "EEPROMから設定を再読み込みますか?" +#define STRING_EEPROM_RESET_INFO "EEPROMを初期化しますか?" +#define STRING_SETTINGS_SAVE "設定保存" +#define STRING_SETTINGS_RESTORE "設定復元" +#define STRING_SETTINGS_RESET "設定初期化" +#define STRING_SETTINGS_RESET_INFO "すべての設定をデフォルト値にリセットしますか?" +#define STRING_SETTINGS_RESET_DONE "すべての設定が正常にリセットされました。デバイスを再起動してください。" - // Navigation Buttons - #define STRING_PAGE_UP "前ページ" - #define STRING_PAGE_DOWN "次ページ" - #define STRING_UP "Up" - #define STRING_DOWN "Down" - #define STRING_NEXT "Next" - #define STRING_BACK "戻る" +// Navigation Buttons +#define STRING_PAGE_UP "前ページ" +#define STRING_PAGE_DOWN "次ページ" +#define STRING_UP "Up" +#define STRING_DOWN "Down" +#define STRING_NEXT "Next" +#define STRING_BACK "戻る" - // Value Buttons - #define STRING_INC "増加" - #define STRING_DEC "減少" - #define STRING_LOAD "送る" - #define STRING_UNLOAD "戻す" - #define STRING_ON "ON" - #define STRING_OFF "OFF" - #define STRING_AUTO "AUTO" - #define STRING_SMART "スマート" - #define STRING_SLOW "ゆっくり" - #define STRING_NORMAL "通常" - #define STRING_FAST "高速" - #define STRING_ZERO "ゼロ" - #define STRING_HALF "50%速さ" - #define STRING_FULL "全速" - #define STRING_CUSTOM "カスタム" - #define STRING_CLEAR "Clear" - #define STRING_DEFAULT "Default" +// Value Buttons +#define STRING_INC "増加" +#define STRING_DEC "減少" +#define STRING_LOAD "送る" +#define STRING_UNLOAD "戻す" +#define STRING_ON "ON" +#define STRING_OFF "OFF" +#define STRING_AUTO "AUTO" +#define STRING_SMART "スマート" +#define STRING_SLOW "ゆっくり" +#define STRING_NORMAL "通常" +#define STRING_FAST "高速" +#define STRING_ZERO "ゼロ" +#define STRING_HALF "50%速さ" +#define STRING_FULL "全速" +#define STRING_CUSTOM "カスタム" +#define STRING_CLEAR "Clear" +#define STRING_DEFAULT "Default" - // Action Buttons - #define STRING_START "Start" - #define STRING_STOP "停止" - #define STRING_PAUSE "一時停止" - #define STRING_RESUME "続ける" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "切断" - #define STRING_SHUT_DOWN "シャットダウン" - #define STRING_FORCE_SHUT_DOWN "強制停止" - #define STRING_EMERGENCYSTOP "緊急停止" - #define STRING_PREHEAT "予熱" - #define STRING_PREHEAT_BOTH "両方" - #define STRING_COOLDOWN "冷却" +// Action Buttons +#define STRING_START "Start" +#define STRING_STOP "停止" +#define STRING_PAUSE "一時停止" +#define STRING_RESUME "続ける" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "切断" +#define STRING_SHUT_DOWN "シャットダウン" +#define STRING_FORCE_SHUT_DOWN "強制停止" +#define STRING_EMERGENCYSTOP "緊急停止" +#define STRING_PREHEAT "予熱" +#define STRING_PREHEAT_BOTH "両方" +#define STRING_COOLDOWN "冷却" - // Dialog Buttons - #define STRING_CONFIRM "OK" - #define STRING_CANCEL "キャンセル" - #define STRING_WARNING "警告" - #define STRING_CONTINUE "継続" - #define STRING_CONFIRMATION "よろしいですか?" +// Dialog Buttons +#define STRING_CONFIRM "OK" +#define STRING_CANCEL "キャンセル" +#define STRING_WARNING "警告" +#define STRING_CONTINUE "継続" +#define STRING_CONFIRMATION "よろしいですか?" - // Process Status - #define STRING_STATUS "状態" - #define STRING_READY "準備中" - #define STRING_BUSY "ビジー状態、しばらくお待ちください..." - #define STRING_LOADING "ロッド中..." - #define STRING_UNCONNECTED "プリンタが接続されていません!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "状態" +#define STRING_READY "準備中" +#define STRING_BUSY "ビジー状態、しばらくお待ちください..." +#define STRING_LOADING "ロッド中..." +#define STRING_UNCONNECTED "プリンタが接続されていません!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "情報" - #define STRING_INVALID_VALUE "Invalid value(s)" - #define STRING_TIMEOUT_REACHED "Timeout reached!" - #define STRING_DISCONNECT_INFO "パソコンでプリンターを操作できるようになりました!" - #define STRING_SHUTTING_DOWN "シャットダウン..." - #define STRING_WAIT_TEMP_SHUT_DOWN "ホットエンドの温度が%d℃未満になるまで待ちます。" // Wait for the temperature of hotend to be lower than 50℃ - #define STRING_POWER_FAILED "プリントを継続しますか?" - #define STRING_PROCESS_COMPLETED "Process completed!" - #define STRING_PROCESS_ABORTED "Process aborted!" +// Process Info +#define STRING_INFO "情報" +#define STRING_INVALID_VALUE "Invalid value(s)" +#define STRING_TIMEOUT_REACHED "Timeout reached!" +#define STRING_DISCONNECT_INFO "パソコンでプリンターを操作できるようになりました!" +#define STRING_SHUTTING_DOWN "シャットダウン..." +#define STRING_WAIT_TEMP_SHUT_DOWN "ホットエンドの温度が%d℃未満になるまで待ちます。" // Wait for the temperature of hotend to be lower than 50℃ +#define STRING_POWER_FAILED "プリントを継続しますか?" +#define STRING_PROCESS_COMPLETED "Process completed!" +#define STRING_PROCESS_ABORTED "Process aborted!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT SD" - #define STRING_TFT_SD_INSERTED "SDカードが入りました" - #define STRING_TFT_SD_REMOVED "SDカードが出ました" - #define STRING_TFT_SD_NOT_DETECTED "SDカードを検出できません!" - #define STRING_TFT_SD_READ_ERROR "SDカードの読み取りがエラー発生しました!" - #define STRING_TFT_USB "TFT USB" - #define STRING_TFT_USB_INSERTED "USBメモリが入りました" - #define STRING_TFT_USB_REMOVED "USBメモリが出ました" - #define STRING_TFT_USB_NOT_DETECTED "USBメモリを検出できません!" - #define STRING_TFT_USB_READ_ERROR "USBメモリ読み込みエラー!" - #define STRING_ONBOARD_SD "オンボードSDカード" - #define STRING_ONBOARD_USB "オンボードUSB" - #define STRING_ONBOARD_SD_READ_ERROR "オンボード記録メディアの読み取りがエラー発生しました!" - #define STRING_FILAMENT_RUNOUT "フィラメント切れです!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT SD" +#define STRING_TFT_SD_INSERTED "SDカードが入りました" +#define STRING_TFT_SD_REMOVED "SDカードが出ました" +#define STRING_TFT_SD_NOT_DETECTED "SDカードを検出できません!" +#define STRING_TFT_SD_READ_ERROR "SDカードの読み取りがエラー発生しました!" +#define STRING_TFT_USB "TFT USB" +#define STRING_TFT_USB_INSERTED "USBメモリが入りました" +#define STRING_TFT_USB_REMOVED "USBメモリが出ました" +#define STRING_TFT_USB_NOT_DETECTED "USBメモリを検出できません!" +#define STRING_TFT_USB_READ_ERROR "USBメモリ読み込みエラー!" +#define STRING_ONBOARD_SD "オンボードSDカード" +#define STRING_ONBOARD_USB "オンボードUSB" +#define STRING_ONBOARD_SD_READ_ERROR "オンボード記録メディアの読み取りがエラー発生しました!" +#define STRING_FILAMENT_RUNOUT "フィラメント切れです!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Disarm All" - #define STRING_XY_UNLOCK "Disarm XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Disarm All" +#define STRING_XY_UNLOCK "Disarm XY" - #define STRING_START_PRINT "印刷を開始する:\n%s?" - #define STRING_STOP_PRINT "プリントを中止しますか?" - #define STRING_IS_PAUSE "印刷中は実行できません。 印刷を中断しますか?" - #define STRING_M0_PAUSE "MOコマンドで一時停止" +#define STRING_START_PRINT "印刷を開始する:\n%s?" +#define STRING_STOP_PRINT "プリントを中止しますか?" +#define STRING_IS_PAUSE "印刷中は実行できません。 印刷を中断しますか?" +#define STRING_M0_PAUSE "MOコマンドで一時停止" - #define STRING_TEST "テスト" - #define STRING_DEPLOY "展開" - #define STRING_STOW "収納" - #define STRING_REPEAT "繰り返す" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "テスト" +#define STRING_DEPLOY "展開" +#define STRING_STOW "収納" +#define STRING_REPEAT "繰り返す" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "ノズル" - #define STRING_BED "ベッド" - #define STRING_CHAMBER "チャンバー" - #define STRING_FAN "ファン" +// Printer Tools +#define STRING_NOZZLE "ノズル" +#define STRING_BED "ベッド" +#define STRING_CHAMBER "チャンバー" +#define STRING_FAN "ファン" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 Sec." - #define STRING_10_SECONDS "10 Sec." - #define STRING_30_SECONDS "30 Sec." - #define STRING_60_SECONDS "1 Min." - #define STRING_120_SECONDS "2 Min." - #define STRING_300_SECONDS "5 Min." +#define STRING_5_SECONDS "5 Sec." +#define STRING_10_SECONDS "10 Sec." +#define STRING_30_SECONDS "30 Sec." +#define STRING_60_SECONDS "1 Min." +#define STRING_120_SECONDS "2 Min." +#define STRING_300_SECONDS "5 Min." - // Colors - #define STRING_WHITE "白色" - #define STRING_BLACK "黒色" - #define STRING_BLUE "青色" - #define STRING_RED "赤色" - #define STRING_GREEN "緑色" - #define STRING_CYAN "シアン" - #define STRING_YELLOW "黄色" - #define STRING_BROWN "茶色" - #define STRING_GRAY "灰色" - #define STRING_ORANGE "オレンジ" - #define STRING_INDIGO "インディゴ" - #define STRING_VIOLET "バイオレット" - #define STRING_MAGENTA "赤紫色" - #define STRING_PURPLE "紫" - #define STRING_LIME "ライム" - #define STRING_DARKBLUE "濃紺" - #define STRING_DARKGREEN "ダークグリーン" - #define STRING_DARKGRAY "暗灰色" +// Colors +#define STRING_WHITE "白色" +#define STRING_BLACK "黒色" +#define STRING_BLUE "青色" +#define STRING_RED "赤色" +#define STRING_GREEN "緑色" +#define STRING_CYAN "シアン" +#define STRING_YELLOW "黄色" +#define STRING_BROWN "茶色" +#define STRING_GRAY "灰色" +#define STRING_ORANGE "オレンジ" +#define STRING_INDIGO "インディゴ" +#define STRING_VIOLET "バイオレット" +#define STRING_MAGENTA "赤紫色" +#define STRING_PURPLE "紫" +#define STRING_LIME "ライム" +#define STRING_DARKBLUE "濃紺" +#define STRING_DARKGREEN "ダークグリーン" +#define STRING_DARKGRAY "暗灰色" - // Menus - #define STRING_HEAT "加熱" - #define STRING_MOVE "移動" - #define STRING_HOME "ホーム" - #define STRING_PRINT "プリント" - #define STRING_EXTRUDE "押出" - #define STRING_SETTINGS "設定" - #define STRING_SCREEN_SETTINGS "画面" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Sound" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "マシン" - #define STRING_PARAMETER_SETTINGS "パラメータ" - #define STRING_FEATURE_SETTINGS "機能" - #define STRING_CONNECTION_SETTINGS "Connection" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "ポートレート" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "LED カラー" - #define STRING_RGB_OFF "LED オフ" - #define STRING_TERMINAL "端末" - #define STRING_LEVELING "レベリング" - #define STRING_POINT_1 "ポイント1" - #define STRING_POINT_2 "ポイント2" - #define STRING_POINT_3 "ポイント3" - #define STRING_POINT_4 "ポイント4" - #define STRING_POINT_5 "ポイント5" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Bed Leveling Complete" - #define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" - #define STRING_BL_ENABLE "BL: on" - #define STRING_BL_DISABLE "BL: off" - #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_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 "Save the mesh to EEPROM to load after reboot?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Distance" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Load/Unload" // needs translation - #define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation - #define STRING_TOUCHSCREEN_ADJUST "校正する" - #define STRING_MORE "詳細" - #define STRING_SCREEN_INFO "情報" - #define STRING_BG_COLOR "背景色" - #define STRING_FONT_COLOR "フォントの色" - #define STRING_PERCENTAGE "パーセント" - #define STRING_PERCENTAGE_SPEED "スビード" - #define STRING_PERCENTAGE_FLOW "押出" - #define STRING_BABYSTEP "微調整" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "タッチスクリーン較正" - #define STRING_ADJUST_INFO "赤星をタッチ" - #define STRING_ADJUST_OK "校正が成功しました" - #define STRING_ADJUST_FAILED "校正が失敗しました、も一度お試して下さい" - #define STRING_UNIFIEDMOVE "移動" - #define STRING_UNIFIEDHEAT "加熱" - #define STRING_TOUCH_TO_EXIT "クリックして終了します" - #define STRING_MAINMENU "メニュー" - #define STRING_TUNING "Tuning" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC autotune" - #define STRING_MPC_METHOD "方法:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID autotune" - #define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" - #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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" - #define STRING_MESH_EDITOR "Mesh edit" - #define STRING_MESH_TUNER "Mesh tuner" - #define STRING_CASE_LIGHT "Case light" - #define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed - #define STRING_PRINT_FINISHED " プリント\n 完了" - #define STRING_MAIN_SCREEN "Main" - #define STRING_PREVIOUS_PRINT_DATA "Brief" - #define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament cost: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament data not available." - #define STRING_CLICK_FOR_MORE "Click for summary" - #define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." - #define STRING_HEAT_HOTEND "Heat hotend to %d℃?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "加熱" +#define STRING_MOVE "移動" +#define STRING_HOME "ホーム" +#define STRING_PRINT "プリント" +#define STRING_EXTRUDE "押出" +#define STRING_SETTINGS "設定" +#define STRING_SCREEN_SETTINGS "画面" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Sound" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "マシン" +#define STRING_PARAMETER_SETTINGS "パラメータ" +#define STRING_FEATURE_SETTINGS "機能" +#define STRING_CONNECTION_SETTINGS "Connection" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "ポートレート" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "LED カラー" +#define STRING_RGB_OFF "LED オフ" +#define STRING_TERMINAL "端末" +#define STRING_LEVELING "レベリング" +#define STRING_POINT_1 "ポイント1" +#define STRING_POINT_2 "ポイント2" +#define STRING_POINT_3 "ポイント3" +#define STRING_POINT_4 "ポイント4" +#define STRING_POINT_5 "ポイント5" +#define STRING_BED_LEVELING "Bed Level" +#define STRING_BL_COMPLETE "Bed Leveling Complete" +#define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" +#define STRING_BL_ENABLE "BL: on" +#define STRING_BL_DISABLE "BL: off" +#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_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 "Save the mesh to EEPROM to load after reboot?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Distance" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Load/Unload" // needs translation +#define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation +#define STRING_TOUCHSCREEN_ADJUST "校正する" +#define STRING_MORE "詳細" +#define STRING_SCREEN_INFO "情報" +#define STRING_BG_COLOR "背景色" +#define STRING_FONT_COLOR "フォントの色" +#define STRING_PERCENTAGE "パーセント" +#define STRING_PERCENTAGE_SPEED "スビード" +#define STRING_PERCENTAGE_FLOW "押出" +#define STRING_BABYSTEP "微調整" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "タッチスクリーン較正" +#define STRING_ADJUST_INFO "赤星をタッチ" +#define STRING_ADJUST_OK "校正が成功しました" +#define STRING_ADJUST_FAILED "校正が失敗しました、も一度お試して下さい" +#define STRING_UNIFIEDMOVE "移動" +#define STRING_UNIFIEDHEAT "加熱" +#define STRING_TOUCH_TO_EXIT "クリックして終了します" +#define STRING_MAINMENU "メニュー" +#define STRING_TUNING "Tuning" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC autotune" +#define STRING_MPC_METHOD "方法:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID autotune" +#define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" +#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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" +#define STRING_MESH_EDITOR "Mesh edit" +#define STRING_MESH_TUNER "Mesh tuner" +#define STRING_CASE_LIGHT "Case light" +#define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed +#define STRING_PRINT_FINISHED " プリント\n 完了" +#define STRING_MAIN_SCREEN "Main" +#define STRING_PREVIOUS_PRINT_DATA "Brief" +#define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament cost: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament data not available." +#define STRING_CLICK_FOR_MORE "Click for summary" +#define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." +#define STRING_HEAT_HOTEND "Heat hotend to %d℃?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_keywords.h b/TFT/src/User/API/Language/language_keywords.h index bd585b561..dbcdbbce0 100644 --- a/TFT/src/User/API/Language/language_keywords.h +++ b/TFT/src/User/API/Language/language_keywords.h @@ -9,380 +9,380 @@ extern "C" { #include "variants.h" // config.ini Parameter Settings - Screen Settings and Feature Settings -#define LANG_KEY_LANGUAGE "label_language:" -#define LANG_KEY_ADVANCED_OK "label_advanced_ok:" -#define LANG_KEY_COMMAND_CHECKSUM "label_command_checksum:" -#define LANG_KEY_EMULATED_M600 "label_emulated_m600:" -#define LANG_KEY_EMULATED_M109_M190 "label_emulated_m109_m190:" -#define LANG_KEY_EVENT_LED "label_event_led:" -#define LANG_KEY_FILE_COMMENT_PARSING "label_file_comment_parsing:" -#define LANG_KEY_ROTATED_UI "label_rotated_ui:" -#define LANG_KEY_ACK_NOTIFICATION "label_ack_notification:" -#define LANG_KEY_FILES_SORT_BY "label_files_sort_by:" -#define LANG_KEY_FILES_LIST_MODE "label_files_list_mode:" -#define LANG_KEY_FILENAME_EXTENSION "label_filename_extension:" -#define LANG_KEY_FAN_SPEED_PERCENTAGE "label_fan_speed_percentage:" -#define LANG_KEY_PERSISTENT_INFO "label_persistent_info:" -#define LANG_KEY_TERMINAL_ACK "label_terminal_ack:" -#define LANG_KEY_SERIAL_ALWAYS_ON "label_serial_always_on:" -#define LANG_KEY_MARLIN_FULLSCREEN "label_marlin_fullscreen:" -#define LANG_KEY_MARLIN_SHOW_TITLE "label_marlin_show_title:" -#define LANG_KEY_MARLIN_TYPE "label_marlin_type:" -#define LANG_KEY_MOVE_SPEED "label_move_speed:" -#define LANG_KEY_AUTO_LOAD_LEVELING "label_auto_load_leveling:" -#define LANG_KEY_PROBING_Z_OFFSET "label_probing_z_offset:" -#define LANG_KEY_Z_STEPPERS_ALIGNMENT "label_z_steppers_alignment:" -#define LANG_KEY_PS_AUTO_SHUTDOWN "label_ps_auto_shutdown:" -#define LANG_KEY_FIL_RUNOUT "label_fil_runout:" -#define LANG_KEY_PL_RECOVERY "label_pl_recovery:" -#define LANG_KEY_PL_RECOVERY_HOME "label_pl_recovery_home:" -#define LANG_KEY_BTT_MINI_UPS "label_btt_mini_ups:" -#define LANG_KEY_TOUCH_SOUND "label_touch_sound:" -#define LANG_KEY_TOAST_SOUND "label_toast_sound:" -#define LANG_KEY_ALERT_SOUND "label_alert_sound:" -#define LANG_KEY_HEATER_SOUND "label_heater_sound:" -#define LANG_KEY_LCD_BRIGHTNESS "label_lcd_brightness:" -#define LANG_KEY_LCD_IDLE_BRIGHTNESS "label_lcd_idle_brightness:" -#define LANG_KEY_LCD_IDLE_TIME "label_lcd_idle_time:" -#define LANG_KEY_LCD_LOCK_ON_IDLE "label_lcd_lock_on_idle:" -#define LANG_KEY_LED_ALWAYS_ON "label_led_always_on:" -#define LANG_KEY_KNOB_LED_COLOR "label_knob_led_color:" -#define LANG_KEY_KNOB_LED_IDLE "label_knob_led_idle:" -#define LANG_KEY_START_GCODE_ENABLED "label_start_gcode_enabled:" -#define LANG_KEY_END_GCODE_ENABLED "label_end_gcode_enabled:" -#define LANG_KEY_CANCEL_GCODE_ENABLED "label_cancel_gcode_enabled:" +#define LANG_KEY_LANGUAGE "label_language:" +#define LANG_KEY_ADVANCED_OK "label_advanced_ok:" +#define LANG_KEY_COMMAND_CHECKSUM "label_command_checksum:" +#define LANG_KEY_EMULATED_M600 "label_emulated_m600:" +#define LANG_KEY_EMULATED_M109_M190 "label_emulated_m109_m190:" +#define LANG_KEY_EVENT_LED "label_event_led:" +#define LANG_KEY_FILE_COMMENT_PARSING "label_file_comment_parsing:" +#define LANG_KEY_ROTATED_UI "label_rotated_ui:" +#define LANG_KEY_ACK_NOTIFICATION "label_ack_notification:" +#define LANG_KEY_FILES_SORT_BY "label_files_sort_by:" +#define LANG_KEY_FILES_LIST_MODE "label_files_list_mode:" +#define LANG_KEY_FILENAME_EXTENSION "label_filename_extension:" +#define LANG_KEY_FAN_SPEED_PERCENTAGE "label_fan_speed_percentage:" +#define LANG_KEY_PERSISTENT_INFO "label_persistent_info:" +#define LANG_KEY_TERMINAL_ACK "label_terminal_ack:" +#define LANG_KEY_SERIAL_ALWAYS_ON "label_serial_always_on:" +#define LANG_KEY_MARLIN_FULLSCREEN "label_marlin_fullscreen:" +#define LANG_KEY_MARLIN_SHOW_TITLE "label_marlin_show_title:" +#define LANG_KEY_MARLIN_TYPE "label_marlin_type:" +#define LANG_KEY_MOVE_SPEED "label_move_speed:" +#define LANG_KEY_AUTO_LOAD_LEVELING "label_auto_load_leveling:" +#define LANG_KEY_PROBING_Z_OFFSET "label_probing_z_offset:" +#define LANG_KEY_Z_STEPPERS_ALIGNMENT "label_z_steppers_alignment:" +#define LANG_KEY_PS_AUTO_SHUTDOWN "label_ps_auto_shutdown:" +#define LANG_KEY_FIL_RUNOUT "label_fil_runout:" +#define LANG_KEY_PL_RECOVERY "label_pl_recovery:" +#define LANG_KEY_PL_RECOVERY_HOME "label_pl_recovery_home:" +#define LANG_KEY_BTT_MINI_UPS "label_btt_mini_ups:" +#define LANG_KEY_TOUCH_SOUND "label_touch_sound:" +#define LANG_KEY_TOAST_SOUND "label_toast_sound:" +#define LANG_KEY_ALERT_SOUND "label_alert_sound:" +#define LANG_KEY_HEATER_SOUND "label_heater_sound:" +#define LANG_KEY_LCD_BRIGHTNESS "label_lcd_brightness:" +#define LANG_KEY_LCD_IDLE_BRIGHTNESS "label_lcd_idle_brightness:" +#define LANG_KEY_LCD_IDLE_TIME "label_lcd_idle_time:" +#define LANG_KEY_LCD_LOCK_ON_IDLE "label_lcd_lock_on_idle:" +#define LANG_KEY_LED_ALWAYS_ON "label_led_always_on:" +#define LANG_KEY_KNOB_LED_COLOR "label_knob_led_color:" +#define LANG_KEY_KNOB_LED_IDLE "label_knob_led_idle:" +#define LANG_KEY_START_GCODE_ENABLED "label_start_gcode_enabled:" +#define LANG_KEY_END_GCODE_ENABLED "label_end_gcode_enabled:" +#define LANG_KEY_CANCEL_GCODE_ENABLED "label_cancel_gcode_enabled:" // Machine Parameter Settings - Param Title (ordered by gcode) -#define LANG_KEY_STEPS_SETTING "label_steps_setting:" -#define LANG_KEY_FILAMENT_SETTING "label_filament_setting:" -#define LANG_KEY_MAXACCELERATION "label_maxacceleration:" -#define LANG_KEY_MAXFEEDRATE "label_maxfeedrate:" -#define LANG_KEY_ACCELERATION "label_acceleration:" -#define LANG_KEY_JERK "label_jerk:" -#define LANG_KEY_JUNCTION_DEVIATION "label_junction_deviation:" -#define LANG_KEY_HOME_OFFSET "label_home_offset:" -#define LANG_KEY_FWRETRACT "label_fwretract:" -#define LANG_KEY_FWRECOVER "label_fwrecover:" -#define LANG_KEY_RETRACT_AUTO "label_retract_auto:" -#define LANG_KEY_HOTEND_OFFSET "label_hotend_offset:" -#define LANG_KEY_HOTEND_PID "label_hotend_pid:" -#define LANG_KEY_BED_PID "label_bed_pid:" -#define LANG_KEY_STEALTH_CHOP "label_stealth_chop:" -#define LANG_KEY_INPUT_SHAPING "label_input_shaping:" -#define LANG_KEY_DELTA_CONFIGURATION "label_delta_configuration:" -#define LANG_KEY_DELTA_TOWER_ANGLE "label_delta_tower_angle:" -#define LANG_KEY_DELTA_DIAGONAL_ROD "label_delta_diagonal_rod:" -#define LANG_KEY_DELTA_ENDSTOP "label_delta_endstop:" -#define LANG_KEY_PROBE_OFFSET "label_probe_offset:" -#define LANG_KEY_LIN_ADVANCE "label_lin_advance:" -#define LANG_KEY_CURRENT_SETTING "label_current_setting:" -#define LANG_KEY_HYBRID_THRESHOLD "label_hybrid_threshold:" -#define LANG_KEY_BUMP_SENSITIVITY "label_bump_sensitivity:" -#define LANG_KEY_MBL_OFFSET "label_mbl_offset:" +#define LANG_KEY_STEPS_SETTING "label_steps_setting:" +#define LANG_KEY_FILAMENT_SETTING "label_filament_setting:" +#define LANG_KEY_MAXACCELERATION "label_maxacceleration:" +#define LANG_KEY_MAXFEEDRATE "label_maxfeedrate:" +#define LANG_KEY_ACCELERATION "label_acceleration:" +#define LANG_KEY_JERK "label_jerk:" +#define LANG_KEY_JUNCTION_DEVIATION "label_junction_deviation:" +#define LANG_KEY_HOME_OFFSET "label_home_offset:" +#define LANG_KEY_FWRETRACT "label_fwretract:" +#define LANG_KEY_FWRECOVER "label_fwrecover:" +#define LANG_KEY_RETRACT_AUTO "label_retract_auto:" +#define LANG_KEY_HOTEND_OFFSET "label_hotend_offset:" +#define LANG_KEY_HOTEND_PID "label_hotend_pid:" +#define LANG_KEY_BED_PID "label_bed_pid:" +#define LANG_KEY_STEALTH_CHOP "label_stealth_chop:" +#define LANG_KEY_INPUT_SHAPING "label_input_shaping:" +#define LANG_KEY_DELTA_CONFIGURATION "label_delta_configuration:" +#define LANG_KEY_DELTA_TOWER_ANGLE "label_delta_tower_angle:" +#define LANG_KEY_DELTA_DIAGONAL_ROD "label_delta_diagonal_rod:" +#define LANG_KEY_DELTA_ENDSTOP "label_delta_endstop:" +#define LANG_KEY_PROBE_OFFSET "label_probe_offset:" +#define LANG_KEY_LIN_ADVANCE "label_lin_advance:" +#define LANG_KEY_CURRENT_SETTING "label_current_setting:" +#define LANG_KEY_HYBRID_THRESHOLD "label_hybrid_threshold:" +#define LANG_KEY_BUMP_SENSITIVITY "label_bump_sensitivity:" +#define LANG_KEY_MBL_OFFSET "label_mbl_offset:" // Machine Parameter Settings - Param Attributes (ordered by gcode) -#define LANG_KEY_PRINT_ACCELERATION "label_print_acceleration:" -#define LANG_KEY_RETRACT_ACCELERATION "label_retract_acceleration:" -#define LANG_KEY_TRAVEL_ACCELERATION "label_travel_acceleration:" -#define LANG_KEY_RETRACT_LENGTH "label_retract_length:" -#define LANG_KEY_RETRACT_SWAP_LENGTH "label_retract_swap_length:" -#define LANG_KEY_RETRACT_FEEDRATE "label_retract_feedrate:" -#define LANG_KEY_RETRACT_Z_LIFT "label_retract_z_lift:" -#define LANG_KEY_RECOVER_LENGTH "label_recover_length:" -#define LANG_KEY_SWAP_RECOVER_LENGTH "label_swap_recover_length:" -#define LANG_KEY_RECOVER_FEEDRATE "label_recover_feedrate:" -#define LANG_KEY_SWAP_RECOVER_FEEDRATE "label_swap_recover_feedrate:" +#define LANG_KEY_PRINT_ACCELERATION "label_print_acceleration:" +#define LANG_KEY_RETRACT_ACCELERATION "label_retract_acceleration:" +#define LANG_KEY_TRAVEL_ACCELERATION "label_travel_acceleration:" +#define LANG_KEY_RETRACT_LENGTH "label_retract_length:" +#define LANG_KEY_RETRACT_SWAP_LENGTH "label_retract_swap_length:" +#define LANG_KEY_RETRACT_FEEDRATE "label_retract_feedrate:" +#define LANG_KEY_RETRACT_Z_LIFT "label_retract_z_lift:" +#define LANG_KEY_RECOVER_LENGTH "label_recover_length:" +#define LANG_KEY_SWAP_RECOVER_LENGTH "label_swap_recover_length:" +#define LANG_KEY_RECOVER_FEEDRATE "label_recover_feedrate:" +#define LANG_KEY_SWAP_RECOVER_FEEDRATE "label_swap_recover_feedrate:" // Save / Load -#define LANG_KEY_SAVE "label_save:" -#define LANG_KEY_RESTORE "label_restore:" -#define LANG_KEY_RESET "label_reset:" -#define LANG_KEY_EEPROM_SAVE_INFO "label_eeprom_save_info:" -#define LANG_KEY_EEPROM_RESTORE_INFO "label_eeprom_restore_info:" -#define LANG_KEY_EEPROM_RESET_INFO "label_eeprom_reset_info:" -#define LANG_KEY_SETTINGS_SAVE "label_settings_save:" -#define LANG_KEY_SETTINGS_RESTORE "label_settings_restore:" -#define LANG_KEY_SETTINGS_RESET "label_settings_reset:" -#define LANG_KEY_SETTINGS_RESET_INFO "label_settings_reset_info:" -#define LANG_KEY_SETTINGS_RESET_DONE "label_settings_reset_done:" +#define LANG_KEY_SAVE "label_save:" +#define LANG_KEY_RESTORE "label_restore:" +#define LANG_KEY_RESET "label_reset:" +#define LANG_KEY_EEPROM_SAVE_INFO "label_eeprom_save_info:" +#define LANG_KEY_EEPROM_RESTORE_INFO "label_eeprom_restore_info:" +#define LANG_KEY_EEPROM_RESET_INFO "label_eeprom_reset_info:" +#define LANG_KEY_SETTINGS_SAVE "label_settings_save:" +#define LANG_KEY_SETTINGS_RESTORE "label_settings_restore:" +#define LANG_KEY_SETTINGS_RESET "label_settings_reset:" +#define LANG_KEY_SETTINGS_RESET_INFO "label_settings_reset_info:" +#define LANG_KEY_SETTINGS_RESET_DONE "label_settings_reset_done:" // Navigation Buttons -#define LANG_KEY_PAGE_UP "label_page_up:" -#define LANG_KEY_PAGE_DOWN "label_page_down:" -#define LANG_KEY_UP "label_up:" -#define LANG_KEY_DOWN "label_down:" -#define LANG_KEY_NEXT "label_next:" -#define LANG_KEY_BACK "label_back:" +#define LANG_KEY_PAGE_UP "label_page_up:" +#define LANG_KEY_PAGE_DOWN "label_page_down:" +#define LANG_KEY_UP "label_up:" +#define LANG_KEY_DOWN "label_down:" +#define LANG_KEY_NEXT "label_next:" +#define LANG_KEY_BACK "label_back:" // Value Buttons -#define LANG_KEY_INC "label_inc:" -#define LANG_KEY_DEC "label_dec:" -#define LANG_KEY_LOAD "label_load:" -#define LANG_KEY_UNLOAD "label_unload:" -#define LANG_KEY_ON "label_on:" -#define LANG_KEY_OFF "label_off:" -#define LANG_KEY_AUTO "label_auto:" -#define LANG_KEY_SMART "label_smart:" -#define LANG_KEY_SLOW "label_slow:" -#define LANG_KEY_NORMAL "label_normal:" -#define LANG_KEY_FAST "label_fast:" -#define LANG_KEY_ZERO "label_zero:" -#define LANG_KEY_HALF "label_half:" -#define LANG_KEY_FULL "label_full:" -#define LANG_KEY_CUSTOM "label_custom:" -#define LANG_KEY_CLEAR "label_clear:" -#define LANG_KEY_DEFAULT "label_default:" +#define LANG_KEY_INC "label_inc:" +#define LANG_KEY_DEC "label_dec:" +#define LANG_KEY_LOAD "label_load:" +#define LANG_KEY_UNLOAD "label_unload:" +#define LANG_KEY_ON "label_on:" +#define LANG_KEY_OFF "label_off:" +#define LANG_KEY_AUTO "label_auto:" +#define LANG_KEY_SMART "label_smart:" +#define LANG_KEY_SLOW "label_slow:" +#define LANG_KEY_NORMAL "label_normal:" +#define LANG_KEY_FAST "label_fast:" +#define LANG_KEY_ZERO "label_zero:" +#define LANG_KEY_HALF "label_half:" +#define LANG_KEY_FULL "label_full:" +#define LANG_KEY_CUSTOM "label_custom:" +#define LANG_KEY_CLEAR "label_clear:" +#define LANG_KEY_DEFAULT "label_default:" // Action Buttons -#define LANG_KEY_START "label_start:" -#define LANG_KEY_STOP "label_stop:" -#define LANG_KEY_PAUSE "label_pause:" -#define LANG_KEY_RESUME "label_resume:" -#define LANG_KEY_INIT "label_init:" -#define LANG_KEY_DISCONNECT "label_disconnect:" -#define LANG_KEY_SHUT_DOWN "label_shut_down:" -#define LANG_KEY_FORCE_SHUT_DOWN "label_force_shut_down:" -#define LANG_KEY_EMERGENCYSTOP "label_emergencystop:" -#define LANG_KEY_PREHEAT "label_preheat:" -#define LANG_KEY_PREHEAT_BOTH "label_preheat_both:" -#define LANG_KEY_COOLDOWN "label_cooldown:" +#define LANG_KEY_START "label_start:" +#define LANG_KEY_STOP "label_stop:" +#define LANG_KEY_PAUSE "label_pause:" +#define LANG_KEY_RESUME "label_resume:" +#define LANG_KEY_INIT "label_init:" +#define LANG_KEY_DISCONNECT "label_disconnect:" +#define LANG_KEY_SHUT_DOWN "label_shut_down:" +#define LANG_KEY_FORCE_SHUT_DOWN "label_force_shut_down:" +#define LANG_KEY_EMERGENCYSTOP "label_emergencystop:" +#define LANG_KEY_PREHEAT "label_preheat:" +#define LANG_KEY_PREHEAT_BOTH "label_preheat_both:" +#define LANG_KEY_COOLDOWN "label_cooldown:" // Dialog Buttons -#define LANG_KEY_CONFIRM "label_confirm:" //Confirm Sign -#define LANG_KEY_CANCEL "label_cancel:" //Cancel Sign -#define LANG_KEY_WARNING "label_warning:" //Exclamation Sign -#define LANG_KEY_CONTINUE "label_continue:" -#define LANG_KEY_CONFIRMATION "label_confirmation:" +#define LANG_KEY_CONFIRM "label_confirm:" //Confirm Sign +#define LANG_KEY_CANCEL "label_cancel:" //Cancel Sign +#define LANG_KEY_WARNING "label_warning:" //Exclamation Sign +#define LANG_KEY_CONTINUE "label_continue:" +#define LANG_KEY_CONFIRMATION "label_confirmation:" // Process Status -#define LANG_KEY_STATUS "label_status:" -#define LANG_KEY_READY "label_ready:" -#define LANG_KEY_BUSY "label_busy:" -#define LANG_KEY_LOADING "label_loading:" -#define LANG_KEY_UNCONNECTED "label_unconnected:" -#define LANG_KEY_LISTENING "label_listening:" +#define LANG_KEY_STATUS "label_status:" +#define LANG_KEY_READY "label_ready:" +#define LANG_KEY_BUSY "label_busy:" +#define LANG_KEY_LOADING "label_loading:" +#define LANG_KEY_UNCONNECTED "label_unconnected:" +#define LANG_KEY_LISTENING "label_listening:" // Process Info -#define LANG_KEY_INFO "label_info:" //Info Sign -#define LANG_KEY_INVALID_VALUE "label_invalid_value:" -#define LANG_KEY_TIMEOUT_REACHED "label_timeout_reached:" -#define LANG_KEY_DISCONNECT_INFO "label_disconnect_info:" -#define LANG_KEY_SHUTTING_DOWN "label_shutting_down:" -#define LANG_KEY_WAIT_TEMP_SHUT_DOWN "label_wait_temp_shut_down:" -#define LANG_KEY_POWER_FAILED "label_power_failed:" //Question Sign -#define LANG_KEY_PROCESS_COMPLETED "label_process_completed:" -#define LANG_KEY_PROCESS_ABORTED "label_process_aborted:" +#define LANG_KEY_INFO "label_info:" //Info Sign +#define LANG_KEY_INVALID_VALUE "label_invalid_value:" +#define LANG_KEY_TIMEOUT_REACHED "label_timeout_reached:" +#define LANG_KEY_DISCONNECT_INFO "label_disconnect_info:" +#define LANG_KEY_SHUTTING_DOWN "label_shutting_down:" +#define LANG_KEY_WAIT_TEMP_SHUT_DOWN "label_wait_temp_shut_down:" +#define LANG_KEY_POWER_FAILED "label_power_failed:" //Question Sign +#define LANG_KEY_PROCESS_COMPLETED "label_process_completed:" +#define LANG_KEY_PROCESS_ABORTED "label_process_aborted:" // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info -#define LANG_KEY_TFT_SD "label_tft_sd:" -#define LANG_KEY_TFT_SD_INSERTED "label_tft_sd_inserted:" -#define LANG_KEY_TFT_SD_REMOVED "label_tft_sd_removed:" -#define LANG_KEY_TFT_SD_NOT_DETECTED "label_tft_sd_not_detected:" -#define LANG_KEY_TFT_SD_READ_ERROR "label_tft_sd_read_error:" -#define LANG_KEY_TFT_USB "label_tft_usb:" -#define LANG_KEY_TFT_USB_INSERTED "label_tft_usb_inserted:" -#define LANG_KEY_TFT_USB_REMOVED "label_tft_usb_removed:" -#define LANG_KEY_TFT_USB_NOT_DETECTED "label_tft_usb_not_detected:" -#define LANG_KEY_TFT_USB_READ_ERROR "label_tft_usb_read_error:" -#define LANG_KEY_ONBOARD_SD "label_onboard_sd:" -#define LANG_KEY_ONBOARD_USB "label_onboard_usb:" -#define LANG_KEY_ONBOARD_SD_READ_ERROR "label_onboard_sd_read_error:" -#define LANG_KEY_FILAMENT_RUNOUT "label_filament_runout:" +#define LANG_KEY_TFT_SD "label_tft_sd:" +#define LANG_KEY_TFT_SD_INSERTED "label_tft_sd_inserted:" +#define LANG_KEY_TFT_SD_REMOVED "label_tft_sd_removed:" +#define LANG_KEY_TFT_SD_NOT_DETECTED "label_tft_sd_not_detected:" +#define LANG_KEY_TFT_SD_READ_ERROR "label_tft_sd_read_error:" +#define LANG_KEY_TFT_USB "label_tft_usb:" +#define LANG_KEY_TFT_USB_INSERTED "label_tft_usb_inserted:" +#define LANG_KEY_TFT_USB_REMOVED "label_tft_usb_removed:" +#define LANG_KEY_TFT_USB_NOT_DETECTED "label_tft_usb_not_detected:" +#define LANG_KEY_TFT_USB_READ_ERROR "label_tft_usb_read_error:" +#define LANG_KEY_ONBOARD_SD "label_onboard_sd:" +#define LANG_KEY_ONBOARD_USB "label_onboard_usb:" +#define LANG_KEY_ONBOARD_SD_READ_ERROR "label_onboard_sd_read_error:" +#define LANG_KEY_FILAMENT_RUNOUT "label_filament_runout:" // Steppers, Print, Probe Process Commands / Status / Info -#define LANG_KEY_DISABLE_STEPPERS "label_disable_steppers:" -#define LANG_KEY_XY_UNLOCK "label_xy_unlock:" +#define LANG_KEY_DISABLE_STEPPERS "label_disable_steppers:" +#define LANG_KEY_XY_UNLOCK "label_xy_unlock:" -#define LANG_KEY_START_PRINT "label_start_print:" -#define LANG_KEY_STOP_PRINT "label_stop_print:" -#define LANG_KEY_IS_PAUSE "label_is_pause:" -#define LANG_KEY_M0_PAUSE "label_m0_pause:" +#define LANG_KEY_START_PRINT "label_start_print:" +#define LANG_KEY_STOP_PRINT "label_stop_print:" +#define LANG_KEY_IS_PAUSE "label_is_pause:" +#define LANG_KEY_M0_PAUSE "label_m0_pause:" -#define LANG_KEY_TEST "label_test:" -#define LANG_KEY_DEPLOY "label_deploy:" -#define LANG_KEY_STOW "label_stow:" -#define LANG_KEY_REPEAT "label_repeat:" -#define LANG_KEY_HS_ON "label_hs_on:" -#define LANG_KEY_HS_OFF "label_hs_off:" +#define LANG_KEY_TEST "label_test:" +#define LANG_KEY_DEPLOY "label_deploy:" +#define LANG_KEY_STOW "label_stow:" +#define LANG_KEY_REPEAT "label_repeat:" +#define LANG_KEY_HS_ON "label_hs_on:" +#define LANG_KEY_HS_OFF "label_hs_off:" // Printer Tools -#define LANG_KEY_NOZZLE "label_nozzle:" -#define LANG_KEY_BED "label_bed:" -#define LANG_KEY_CHAMBER "label_chamber:" -#define LANG_KEY_FAN "label_fan:" +#define LANG_KEY_NOZZLE "label_nozzle:" +#define LANG_KEY_BED "label_bed:" +#define LANG_KEY_CHAMBER "label_chamber:" +#define LANG_KEY_FAN "label_fan:" -#define LANG_KEY_BLTOUCH "label_bltouch:" -#define LANG_KEY_TOUCHMI "label_touchmi:" +#define LANG_KEY_BLTOUCH "label_bltouch:" +#define LANG_KEY_TOUCHMI "label_touchmi:" // Values -#define LANG_KEY_1_DEGREE "label_1_degree:" -#define LANG_KEY_5_DEGREE "label_5_degree:" -#define LANG_KEY_10_DEGREE "label_10_degree:" +#define LANG_KEY_1_DEGREE "label_1_degree:" +#define LANG_KEY_5_DEGREE "label_5_degree:" +#define LANG_KEY_10_DEGREE "label_10_degree:" -#define LANG_KEY_001_MM "label_001_mm:" -#define LANG_KEY_01_MM "label_01_mm:" -#define LANG_KEY_1_MM "label_1_mm:" -#define LANG_KEY_5_MM "label_5_mm:" -#define LANG_KEY_10_MM "label_10_mm:" -#define LANG_KEY_100_MM "label_100_mm:" -#define LANG_KEY_200_MM "label_200_mm:" +#define LANG_KEY_001_MM "label_001_mm:" +#define LANG_KEY_01_MM "label_01_mm:" +#define LANG_KEY_1_MM "label_1_mm:" +#define LANG_KEY_5_MM "label_5_mm:" +#define LANG_KEY_10_MM "label_10_mm:" +#define LANG_KEY_100_MM "label_100_mm:" +#define LANG_KEY_200_MM "label_200_mm:" -#define LANG_KEY_1_PERCENT "label_1_percent:" -#define LANG_KEY_5_PERCENT "label_5_percent:" -#define LANG_KEY_10_PERCENT "label_10_percent:" -#define LANG_KEY_PERCENT_VALUE "label_percent_value:" +#define LANG_KEY_1_PERCENT "label_1_percent:" +#define LANG_KEY_5_PERCENT "label_5_percent:" +#define LANG_KEY_10_PERCENT "label_10_percent:" +#define LANG_KEY_PERCENT_VALUE "label_percent_value:" -#define LANG_KEY_5_SECONDS "label_5_seconds:" -#define LANG_KEY_10_SECONDS "label_10_seconds:" -#define LANG_KEY_30_SECONDS "label_30_seconds:" -#define LANG_KEY_60_SECONDS "label_60_seconds:" -#define LANG_KEY_120_SECONDS "label_120_seconds:" -#define LANG_KEY_300_SECONDS "label_300_seconds:" +#define LANG_KEY_5_SECONDS "label_5_seconds:" +#define LANG_KEY_10_SECONDS "label_10_seconds:" +#define LANG_KEY_30_SECONDS "label_30_seconds:" +#define LANG_KEY_60_SECONDS "label_60_seconds:" +#define LANG_KEY_120_SECONDS "label_120_seconds:" +#define LANG_KEY_300_SECONDS "label_300_seconds:" // Colors -#define LANG_KEY_WHITE "label_white:" -#define LANG_KEY_BLACK "label_black:" -#define LANG_KEY_BLUE "label_blue:" -#define LANG_KEY_RED "label_red:" -#define LANG_KEY_GREEN "label_green:" -#define LANG_KEY_CYAN "label_cyan:" -#define LANG_KEY_YELLOW "label_yellow:" -#define LANG_KEY_BROWN "label_brown:" -#define LANG_KEY_GRAY "label_gray:" -#define LANG_KEY_ORANGE "label_orange:" -#define LANG_KEY_INDIGO "label_indigo:" -#define LANG_KEY_VIOLET "label_violet:" -#define LANG_KEY_MAGENTA "label_magenta:" -#define LANG_KEY_PURPLE "label_purple:" -#define LANG_KEY_LIME "label_lime:" -#define LANG_KEY_DARKBLUE "label_darkblue:" -#define LANG_KEY_DARKGREEN "label_darkgreen:" -#define LANG_KEY_DARKGRAY "label_darkgray:" +#define LANG_KEY_WHITE "label_white:" +#define LANG_KEY_BLACK "label_black:" +#define LANG_KEY_BLUE "label_blue:" +#define LANG_KEY_RED "label_red:" +#define LANG_KEY_GREEN "label_green:" +#define LANG_KEY_CYAN "label_cyan:" +#define LANG_KEY_YELLOW "label_yellow:" +#define LANG_KEY_BROWN "label_brown:" +#define LANG_KEY_GRAY "label_gray:" +#define LANG_KEY_ORANGE "label_orange:" +#define LANG_KEY_INDIGO "label_indigo:" +#define LANG_KEY_VIOLET "label_violet:" +#define LANG_KEY_MAGENTA "label_magenta:" +#define LANG_KEY_PURPLE "label_purple:" +#define LANG_KEY_LIME "label_lime:" +#define LANG_KEY_DARKBLUE "label_darkblue:" +#define LANG_KEY_DARKGREEN "label_darkgreen:" +#define LANG_KEY_DARKGRAY "label_darkgray:" // Menus -#define LANG_KEY_HEAT "label_heat:" -#define LANG_KEY_MOVE "label_move:" -#define LANG_KEY_HOME "label_home:" -#define LANG_KEY_PRINT "label_print:" -#define LANG_KEY_EXTRUDE "label_extrude:" -#define LANG_KEY_SETTINGS "label_settings:" -#define LANG_KEY_SCREEN_SETTINGS "label_screen_settings:" -#define LANG_KEY_UI_SETTINGS "label_ui_settings:" -#define LANG_KEY_SOUND "label_sound:" -#define LANG_KEY_MARLIN_MODE_SETTINGS "label_marlin_mode_settings:" -#define LANG_KEY_MACHINE_SETTINGS "label_machine_settings:" -#define LANG_KEY_PARAMETER_SETTINGS "label_parameter_settings:" -#define LANG_KEY_FEATURE_SETTINGS "label_feature_settings:" -#define LANG_KEY_CONNECTION_SETTINGS "label_connection_settings:" -#define LANG_KEY_SERIAL_PORTS "label_serial_ports:" -#define LANG_KEY_BAUDRATE "label_baudrate:" -#define LANG_KEY_EEPROM_SETTINGS "label_eeprom_settings:" -#define LANG_KEY_RGB_SETTINGS "label_rgb_settings:" -#define LANG_KEY_RGB_OFF "label_rgb_off:" -#define LANG_KEY_TERMINAL "label_terminal:" -#define LANG_KEY_LEVELING "label_leveling:" -#define LANG_KEY_POINT_1 "label_point_1:" -#define LANG_KEY_POINT_2 "label_point_2:" -#define LANG_KEY_POINT_3 "label_point_3:" -#define LANG_KEY_POINT_4 "label_point_4:" -#define LANG_KEY_POINT_5 "label_point_5:" -#define LANG_KEY_BED_LEVELING "label_bed_leveling:" -#define LANG_KEY_BL_COMPLETE "label_bl_complete:" -#define LANG_KEY_BL_SMART_FILL "label_bl_smart_fill:" -#define LANG_KEY_BL_ENABLE "label_bl_enable:" -#define LANG_KEY_BL_DISABLE "label_bl_disable:" -#define LANG_KEY_ABL "label_abl:" -#define LANG_KEY_BBL "label_bbl:" -#define LANG_KEY_UBL "label_ubl:" -#define LANG_KEY_MBL "label_mbl:" -#define LANG_KEY_MBL_SETTINGS "label_mbl_settings:" -#define LANG_KEY_ABL_SETTINGS "label_abl_settings:" -#define LANG_KEY_ABL_SETTINGS_BBL "label_abl_settings_bbl:" -#define LANG_KEY_ABL_SETTINGS_UBL "label_abl_settings_ubl:" -#define LANG_KEY_ABL_SETTINGS_UBL_SAVE "label_abl_settings_ubl_save:" -#define LANG_KEY_ABL_SETTINGS_UBL_LOAD "label_abl_settings_ubl_load:" -#define LANG_KEY_ABL_SLOT0 "label_abl_slot0:" -#define LANG_KEY_ABL_SLOT1 "label_abl_slot1:" -#define LANG_KEY_ABL_SLOT2 "label_abl_slot2:" -#define LANG_KEY_ABL_SLOT3 "label_abl_slot3:" -#define LANG_KEY_ABL_SLOT_EEPROM "label_abl_slot_eeprom:" -#define LANG_KEY_ABL_Z "label_abl_z:" -#define LANG_KEY_LEVEL_CORNER "label_level_corner:" -#define LANG_KEY_LEVEL_CORNER_INFO "label_level_corner_info:" -#define LANG_KEY_P_OFFSET "label_p_offset:" -#define LANG_KEY_H_OFFSET "label_h_offset:" -#define LANG_KEY_DISTANCE "label_distance:" -#define LANG_KEY_SHIM "label_shim:" -#define LANG_KEY_LOAD_UNLOAD "label_load_unload:" -#define LANG_KEY_LOAD_UNLOAD_SHORT "label_load_unload_short:" -#define LANG_KEY_TOUCHSCREEN_ADJUST "label_touchscreen_adjust:" -#define LANG_KEY_MORE "label_more:" -#define LANG_KEY_SCREEN_INFO "label_screen_info:" -#define LANG_KEY_BG_COLOR "label_bg_color:" -#define LANG_KEY_FONT_COLOR "label_font_color:" -#define LANG_KEY_PERCENTAGE "label_percentage:" -#define LANG_KEY_PERCENTAGE_SPEED "label_percentage_speed:" -#define LANG_KEY_PERCENTAGE_FLOW "label_percentage_flow:" -#define LANG_KEY_BABYSTEP "label_babystep:" -#define LANG_KEY_X_INC "label_x_inc:" -#define LANG_KEY_Y_INC "label_y_inc:" -#define LANG_KEY_Z_INC "label_z_inc:" -#define LANG_KEY_X_DEC "label_x_dec:" -#define LANG_KEY_Y_DEC "label_y_dec:" -#define LANG_KEY_Z_DEC "label_z_dec:" -#define LANG_KEY_X "label_x:" -#define LANG_KEY_Y "label_y:" -#define LANG_KEY_Z "label_z:" -#define LANG_KEY_ADJUST_TITLE "label_adjust_title:" -#define LANG_KEY_ADJUST_INFO "label_adjust_info:" -#define LANG_KEY_ADJUST_OK "label_adjust_ok:" -#define LANG_KEY_ADJUST_FAILED "label_adjust_failed:" -#define LANG_KEY_UNIFIEDMOVE "label_unifiedmove:" -#define LANG_KEY_UNIFIEDHEAT "label_unifiedheat:" -#define LANG_KEY_TOUCH_TO_EXIT "label_touch_to_exit:" -#define LANG_KEY_MAINMENU "label_mainmenu:" -#define LANG_KEY_TUNING "label_tuning:" -#define LANG_KEY_MPC "label_mpc:" -#define LANG_KEY_MPC_TITLE "label_mpc_title:" -#define LANG_KEY_MPC_METHOD "label_mpc_method:" -#define LANG_KEY_PID "label_pid:" -#define LANG_KEY_PID_TITLE "label_pid_title:" -#define LANG_KEY_TUNE_START_INFO "label_tune_start_info:" -#define LANG_KEY_TUNE_EXTRUDER "label_tune_extruder:" -#define LANG_KEY_TUNE_EXT_EXTRUDE_100 "label_tune_ext_extrude_100:" -#define LANG_KEY_TUNE_EXT_TEMP "label_tune_ext_temp:" -#define LANG_KEY_TUNE_EXT_MARK120MM "label_tune_ext_mark120mm:" -#define LANG_KEY_TUNE_EXT_ADJ_ESTEPS "label_tune_ext_adj_esteps:" -#define LANG_KEY_TUNE_EXT_ESTEPS_SAVED "label_tune_ext_esteps_saved:" -#define LANG_KEY_TUNE_EXT_MEASURED "label_tune_ext_measured:" -#define LANG_KEY_TUNE_EXT_OLD_ESTEP "label_tune_ext_old_estep:" -#define LANG_KEY_TUNE_EXT_NEW_ESTEP "label_tune_ext_new_estep:" -#define LANG_KEY_NOTIFICATIONS "label_notifications:" -#define LANG_KEY_MESH_EDITOR "label_mesh_editor:" -#define LANG_KEY_MESH_TUNER "label_mesh_tuner:" -#define LANG_KEY_CASE_LIGHT "label_case_light:" -#define LANG_KEY_LOAD_STARTED "label_load_started:" -#define LANG_KEY_UNLOAD_STARTED "label_unload_started:" -#define LANG_KEY_HEATERS_ON "label_heaters_on:" -#define LANG_KEY_PRINT_FINISHED "label_print_finished:" -#define LANG_KEY_MAIN_SCREEN "label_main_screen:" -#define LANG_KEY_PREVIOUS_PRINT_DATA "label_previous_print_data:" -#define LANG_KEY_PRINT_TIME "label_print_time:" -#define LANG_KEY_FILAMENT_LENGTH "label_filament_length:" -#define LANG_KEY_FILAMENT_WEIGHT "label_filament_weight:" -#define LANG_KEY_FILAMENT_COST "label_filament_cost:" -#define LANG_KEY_NO_FILAMENT_STATS "label_no_filament_stats:" -#define LANG_KEY_CLICK_FOR_MORE "label_click_for_more:" -#define LANG_KEY_EXT_TEMPLOW "label_ext_templow:" -#define LANG_KEY_HEAT_HOTEND "label_heat_hotend:" -#define LANG_KEY_DESIRED_TEMPLOW "label_desired_templow:" -#define LANG_KEY_WAIT_HEAT_UP "label_wait_heat_up:" -#define LANG_KEY_Z_ALIGN "label_z_align:" -#define LANG_KEY_MACROS "label_macros:" -#define LANG_KEY_MESH_VALID "label_mesh_valid:" -#define LANG_KEY_CONNECT_PROBE "label_connect_probe:" -#define LANG_KEY_DISCONNECT_PROBE "label_disconnect_probe:" -#define LANG_KEY_CALIBRATION "label_calibration:" +#define LANG_KEY_HEAT "label_heat:" +#define LANG_KEY_MOVE "label_move:" +#define LANG_KEY_HOME "label_home:" +#define LANG_KEY_PRINT "label_print:" +#define LANG_KEY_EXTRUDE "label_extrude:" +#define LANG_KEY_SETTINGS "label_settings:" +#define LANG_KEY_SCREEN_SETTINGS "label_screen_settings:" +#define LANG_KEY_UI_SETTINGS "label_ui_settings:" +#define LANG_KEY_SOUND "label_sound:" +#define LANG_KEY_MARLIN_MODE_SETTINGS "label_marlin_mode_settings:" +#define LANG_KEY_MACHINE_SETTINGS "label_machine_settings:" +#define LANG_KEY_PARAMETER_SETTINGS "label_parameter_settings:" +#define LANG_KEY_FEATURE_SETTINGS "label_feature_settings:" +#define LANG_KEY_CONNECTION_SETTINGS "label_connection_settings:" +#define LANG_KEY_SERIAL_PORTS "label_serial_ports:" +#define LANG_KEY_BAUDRATE "label_baudrate:" +#define LANG_KEY_EEPROM_SETTINGS "label_eeprom_settings:" +#define LANG_KEY_RGB_SETTINGS "label_rgb_settings:" +#define LANG_KEY_RGB_OFF "label_rgb_off:" +#define LANG_KEY_TERMINAL "label_terminal:" +#define LANG_KEY_LEVELING "label_leveling:" +#define LANG_KEY_POINT_1 "label_point_1:" +#define LANG_KEY_POINT_2 "label_point_2:" +#define LANG_KEY_POINT_3 "label_point_3:" +#define LANG_KEY_POINT_4 "label_point_4:" +#define LANG_KEY_POINT_5 "label_point_5:" +#define LANG_KEY_BED_LEVELING "label_bed_leveling:" +#define LANG_KEY_BL_COMPLETE "label_bl_complete:" +#define LANG_KEY_BL_SMART_FILL "label_bl_smart_fill:" +#define LANG_KEY_BL_ENABLE "label_bl_enable:" +#define LANG_KEY_BL_DISABLE "label_bl_disable:" +#define LANG_KEY_ABL "label_abl:" +#define LANG_KEY_BBL "label_bbl:" +#define LANG_KEY_UBL "label_ubl:" +#define LANG_KEY_MBL "label_mbl:" +#define LANG_KEY_MBL_SETTINGS "label_mbl_settings:" +#define LANG_KEY_ABL_SETTINGS "label_abl_settings:" +#define LANG_KEY_ABL_SETTINGS_BBL "label_abl_settings_bbl:" +#define LANG_KEY_ABL_SETTINGS_UBL "label_abl_settings_ubl:" +#define LANG_KEY_ABL_SETTINGS_UBL_SAVE "label_abl_settings_ubl_save:" +#define LANG_KEY_ABL_SETTINGS_UBL_LOAD "label_abl_settings_ubl_load:" +#define LANG_KEY_ABL_SLOT0 "label_abl_slot0:" +#define LANG_KEY_ABL_SLOT1 "label_abl_slot1:" +#define LANG_KEY_ABL_SLOT2 "label_abl_slot2:" +#define LANG_KEY_ABL_SLOT3 "label_abl_slot3:" +#define LANG_KEY_ABL_SLOT_EEPROM "label_abl_slot_eeprom:" +#define LANG_KEY_ABL_Z "label_abl_z:" +#define LANG_KEY_LEVEL_CORNER "label_level_corner:" +#define LANG_KEY_LEVEL_CORNER_INFO "label_level_corner_info:" +#define LANG_KEY_P_OFFSET "label_p_offset:" +#define LANG_KEY_H_OFFSET "label_h_offset:" +#define LANG_KEY_DISTANCE "label_distance:" +#define LANG_KEY_SHIM "label_shim:" +#define LANG_KEY_LOAD_UNLOAD "label_load_unload:" +#define LANG_KEY_LOAD_UNLOAD_SHORT "label_load_unload_short:" +#define LANG_KEY_TOUCHSCREEN_ADJUST "label_touchscreen_adjust:" +#define LANG_KEY_MORE "label_more:" +#define LANG_KEY_SCREEN_INFO "label_screen_info:" +#define LANG_KEY_BG_COLOR "label_bg_color:" +#define LANG_KEY_FONT_COLOR "label_font_color:" +#define LANG_KEY_PERCENTAGE "label_percentage:" +#define LANG_KEY_PERCENTAGE_SPEED "label_percentage_speed:" +#define LANG_KEY_PERCENTAGE_FLOW "label_percentage_flow:" +#define LANG_KEY_BABYSTEP "label_babystep:" +#define LANG_KEY_X_INC "label_x_inc:" +#define LANG_KEY_Y_INC "label_y_inc:" +#define LANG_KEY_Z_INC "label_z_inc:" +#define LANG_KEY_X_DEC "label_x_dec:" +#define LANG_KEY_Y_DEC "label_y_dec:" +#define LANG_KEY_Z_DEC "label_z_dec:" +#define LANG_KEY_X "label_x:" +#define LANG_KEY_Y "label_y:" +#define LANG_KEY_Z "label_z:" +#define LANG_KEY_ADJUST_TITLE "label_adjust_title:" +#define LANG_KEY_ADJUST_INFO "label_adjust_info:" +#define LANG_KEY_ADJUST_OK "label_adjust_ok:" +#define LANG_KEY_ADJUST_FAILED "label_adjust_failed:" +#define LANG_KEY_UNIFIEDMOVE "label_unifiedmove:" +#define LANG_KEY_UNIFIEDHEAT "label_unifiedheat:" +#define LANG_KEY_TOUCH_TO_EXIT "label_touch_to_exit:" +#define LANG_KEY_MAINMENU "label_mainmenu:" +#define LANG_KEY_TUNING "label_tuning:" +#define LANG_KEY_MPC "label_mpc:" +#define LANG_KEY_MPC_TITLE "label_mpc_title:" +#define LANG_KEY_MPC_METHOD "label_mpc_method:" +#define LANG_KEY_PID "label_pid:" +#define LANG_KEY_PID_TITLE "label_pid_title:" +#define LANG_KEY_TUNE_START_INFO "label_tune_start_info:" +#define LANG_KEY_TUNE_EXTRUDER "label_tune_extruder:" +#define LANG_KEY_TUNE_EXT_EXTRUDE_100 "label_tune_ext_extrude_100:" +#define LANG_KEY_TUNE_EXT_TEMP "label_tune_ext_temp:" +#define LANG_KEY_TUNE_EXT_MARK120MM "label_tune_ext_mark120mm:" +#define LANG_KEY_TUNE_EXT_ADJ_ESTEPS "label_tune_ext_adj_esteps:" +#define LANG_KEY_TUNE_EXT_ESTEPS_SAVED "label_tune_ext_esteps_saved:" +#define LANG_KEY_TUNE_EXT_MEASURED "label_tune_ext_measured:" +#define LANG_KEY_TUNE_EXT_OLD_ESTEP "label_tune_ext_old_estep:" +#define LANG_KEY_TUNE_EXT_NEW_ESTEP "label_tune_ext_new_estep:" +#define LANG_KEY_NOTIFICATIONS "label_notifications:" +#define LANG_KEY_MESH_EDITOR "label_mesh_editor:" +#define LANG_KEY_MESH_TUNER "label_mesh_tuner:" +#define LANG_KEY_CASE_LIGHT "label_case_light:" +#define LANG_KEY_LOAD_STARTED "label_load_started:" +#define LANG_KEY_UNLOAD_STARTED "label_unload_started:" +#define LANG_KEY_HEATERS_ON "label_heaters_on:" +#define LANG_KEY_PRINT_FINISHED "label_print_finished:" +#define LANG_KEY_MAIN_SCREEN "label_main_screen:" +#define LANG_KEY_PREVIOUS_PRINT_DATA "label_previous_print_data:" +#define LANG_KEY_PRINT_TIME "label_print_time:" +#define LANG_KEY_FILAMENT_LENGTH "label_filament_length:" +#define LANG_KEY_FILAMENT_WEIGHT "label_filament_weight:" +#define LANG_KEY_FILAMENT_COST "label_filament_cost:" +#define LANG_KEY_NO_FILAMENT_STATS "label_no_filament_stats:" +#define LANG_KEY_CLICK_FOR_MORE "label_click_for_more:" +#define LANG_KEY_EXT_TEMPLOW "label_ext_templow:" +#define LANG_KEY_HEAT_HOTEND "label_heat_hotend:" +#define LANG_KEY_DESIRED_TEMPLOW "label_desired_templow:" +#define LANG_KEY_WAIT_HEAT_UP "label_wait_heat_up:" +#define LANG_KEY_Z_ALIGN "label_z_align:" +#define LANG_KEY_MACROS "label_macros:" +#define LANG_KEY_MESH_VALID "label_mesh_valid:" +#define LANG_KEY_CONNECT_PROBE "label_connect_probe:" +#define LANG_KEY_DISCONNECT_PROBE "label_disconnect_probe:" +#define LANG_KEY_CALIBRATION "label_calibration:" #ifdef __cplusplus } diff --git a/TFT/src/User/API/Language/language_nl.h b/TFT/src/User/API/Language/language_nl.h index 93a8ecee1..42d1d9040 100644 --- a/TFT/src/User/API/Language/language_nl.h +++ b/TFT/src/User/API/Language/language_nl.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_NL_H_ #define _LANGUAGE_NL_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Dutch" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "Draai UI" - #define STRING_ACK_NOTIFICATION "ACK notification style" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "Files viewer List Mode" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" - #define STRING_PERSISTENT_INFO "Aanhoudende statusinfo" - #define STRING_TERMINAL_ACK "Laat ACK in Terminal zien" - #define STRING_SERIAL_ALWAYS_ON "Serial Always ON" - #define STRING_MARLIN_FULLSCREEN "Marlin mode in fullscreen" - #define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "Bewegingssnelheid(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "Auto Power" - #define STRING_FIL_RUNOUT "Filament sensor" - #define STRING_PL_RECOVERY "Power loss recovery" - #define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" - #define STRING_BTT_MINI_UPS "BTT UPS Support" - #define STRING_TOUCH_SOUND "Touch sounds" - #define STRING_TOAST_SOUND "Toast Notifications" - #define STRING_ALERT_SOUND "Popups and Alerts" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "Brightness" - #define STRING_LCD_IDLE_BRIGHTNESS "Idle brightness" - #define STRING_LCD_IDLE_TIME "Idle timeout" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "Draaiknop LED" - #define STRING_KNOB_LED_IDLE "Draaiknop LED inactief" - #define STRING_START_GCODE_ENABLED "Start Gcode before print" - #define STRING_END_GCODE_ENABLED "End Gcode after print" - #define STRING_CANCEL_GCODE_ENABLED "Cancel Gcode" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Dutch" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "Draai UI" +#define STRING_ACK_NOTIFICATION "ACK notification style" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "Files viewer List Mode" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" +#define STRING_PERSISTENT_INFO "Aanhoudende statusinfo" +#define STRING_TERMINAL_ACK "Laat ACK in Terminal zien" +#define STRING_SERIAL_ALWAYS_ON "Serial Always ON" +#define STRING_MARLIN_FULLSCREEN "Marlin mode in fullscreen" +#define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "Bewegingssnelheid(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "Auto Power" +#define STRING_FIL_RUNOUT "Filament sensor" +#define STRING_PL_RECOVERY "Power loss recovery" +#define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" +#define STRING_BTT_MINI_UPS "BTT UPS Support" +#define STRING_TOUCH_SOUND "Touch sounds" +#define STRING_TOAST_SOUND "Toast Notifications" +#define STRING_ALERT_SOUND "Popups and Alerts" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "Brightness" +#define STRING_LCD_IDLE_BRIGHTNESS "Idle brightness" +#define STRING_LCD_IDLE_TIME "Idle timeout" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "Draaiknop LED" +#define STRING_KNOB_LED_IDLE "Draaiknop LED inactief" +#define STRING_START_GCODE_ENABLED "Start Gcode before print" +#define STRING_END_GCODE_ENABLED "End Gcode after print" +#define STRING_CANCEL_GCODE_ENABLED "Cancel Gcode" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Stappen permm" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "Max Acceleratie" - #define STRING_MAXFEEDRATE "Max Feed Rate" - #define STRING_ACCELERATION "Acceleratie" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home Offset" - #define STRING_FWRETRACT "FW Retraction" - #define STRING_FWRECOVER "FW Retraction Recover" - #define STRING_RETRACT_AUTO "Auto Firmware Retract" - #define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Probe Offset" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "Driver stroom (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "TMC bump sensitiviteit" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Stappen permm" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "Max Acceleratie" +#define STRING_MAXFEEDRATE "Max Feed Rate" +#define STRING_ACCELERATION "Acceleratie" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home Offset" +#define STRING_FWRETRACT "FW Retraction" +#define STRING_FWRECOVER "FW Retraction Recover" +#define STRING_RETRACT_AUTO "Auto Firmware Retract" +#define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Probe Offset" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "Driver stroom (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "TMC bump sensitiviteit" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Afdruk Acceleratie" - #define STRING_RETRACT_ACCELERATION "Retract Acceleratie" - #define STRING_TRAVEL_ACCELERATION "Travel Acceleratie" - #define STRING_RETRACT_LENGTH "Retract length" - #define STRING_RETRACT_SWAP_LENGTH "Retract swap length" - #define STRING_RETRACT_FEEDRATE "Retract feedrate" - #define STRING_RETRACT_Z_LIFT "Z lift on retraction" - #define STRING_RECOVER_LENGTH "Extra recover length" - #define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" - #define STRING_RECOVER_FEEDRATE "Recover feedrate" - #define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Afdruk Acceleratie" +#define STRING_RETRACT_ACCELERATION "Retract Acceleratie" +#define STRING_TRAVEL_ACCELERATION "Travel Acceleratie" +#define STRING_RETRACT_LENGTH "Retract length" +#define STRING_RETRACT_SWAP_LENGTH "Retract swap length" +#define STRING_RETRACT_FEEDRATE "Retract feedrate" +#define STRING_RETRACT_Z_LIFT "Z lift on retraction" +#define STRING_RECOVER_LENGTH "Extra recover length" +#define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" +#define STRING_RECOVER_FEEDRATE "Recover feedrate" +#define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" - // Save / Load - #define STRING_SAVE "Bewaren" - #define STRING_RESTORE "Herstellen" - #define STRING_RESET "Reset" - #define STRING_EEPROM_SAVE_INFO "Sla printer instellingen op naar EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Herlaad instellingen van de EEPROM?" - #define STRING_EEPROM_RESET_INFO "Reset EEPROM naar de standaard printer instellingen?" - #define STRING_SETTINGS_SAVE "Save settings" - #define STRING_SETTINGS_RESTORE "Herstel instellingen" - #define STRING_SETTINGS_RESET "Reset instellingen" - #define STRING_SETTINGS_RESET_INFO "Reset alle instellingen aar de standaard waardes?" - #define STRING_SETTINGS_RESET_DONE "Reset van alle instellingen is succesvol gelukt.\nHerstart alstublieft het apparaat." +// Save / Load +#define STRING_SAVE "Bewaren" +#define STRING_RESTORE "Herstellen" +#define STRING_RESET "Reset" +#define STRING_EEPROM_SAVE_INFO "Sla printer instellingen op naar EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Herlaad instellingen van de EEPROM?" +#define STRING_EEPROM_RESET_INFO "Reset EEPROM naar de standaard printer instellingen?" +#define STRING_SETTINGS_SAVE "Save settings" +#define STRING_SETTINGS_RESTORE "Herstel instellingen" +#define STRING_SETTINGS_RESET "Reset instellingen" +#define STRING_SETTINGS_RESET_INFO "Reset alle instellingen aar de standaard waardes?" +#define STRING_SETTINGS_RESET_DONE "Reset van alle instellingen is succesvol gelukt.\nHerstart alstublieft het apparaat." - // Navigation Buttons - #define STRING_PAGE_UP "Blz omhoog" - #define STRING_PAGE_DOWN "Blz omlaag" - #define STRING_UP "Omhoog" - #define STRING_DOWN "Omlaag" - #define STRING_NEXT "Volgende" - #define STRING_BACK "Terug" +// Navigation Buttons +#define STRING_PAGE_UP "Blz omhoog" +#define STRING_PAGE_DOWN "Blz omlaag" +#define STRING_UP "Omhoog" +#define STRING_DOWN "Omlaag" +#define STRING_NEXT "Volgende" +#define STRING_BACK "Terug" - // Value Buttons - #define STRING_INC "Verhogen" - #define STRING_DEC "Verlagen" - #define STRING_LOAD "Laden" - #define STRING_UNLOAD "Lossen" - #define STRING_ON "AAN" - #define STRING_OFF "UIT" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SLIM" - #define STRING_SLOW "Traag" - #define STRING_NORMAL "Normaal" - #define STRING_FAST "Snel" - #define STRING_ZERO "Zero" - #define STRING_HALF "Half" - #define STRING_FULL "Volledig" - #define STRING_CUSTOM "Aangepast" - #define STRING_CLEAR "Clear" - #define STRING_DEFAULT "Standaard" +// Value Buttons +#define STRING_INC "Verhogen" +#define STRING_DEC "Verlagen" +#define STRING_LOAD "Laden" +#define STRING_UNLOAD "Lossen" +#define STRING_ON "AAN" +#define STRING_OFF "UIT" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SLIM" +#define STRING_SLOW "Traag" +#define STRING_NORMAL "Normaal" +#define STRING_FAST "Snel" +#define STRING_ZERO "Zero" +#define STRING_HALF "Half" +#define STRING_FULL "Volledig" +#define STRING_CUSTOM "Aangepast" +#define STRING_CLEAR "Clear" +#define STRING_DEFAULT "Standaard" - // Action Buttons - #define STRING_START "Start" - #define STRING_STOP "Stop" - #define STRING_PAUSE "Pauze" - #define STRING_RESUME "Hervatten" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Loskoppelen" - #define STRING_SHUT_DOWN "Uitschakelen" - #define STRING_FORCE_SHUT_DOWN "Forceer Afsluiten" - #define STRING_EMERGENCYSTOP "NOODSTOP" - #define STRING_PREHEAT "Voorverwarmen" - #define STRING_PREHEAT_BOTH "Beide" - #define STRING_COOLDOWN "Afkoelen" +// Action Buttons +#define STRING_START "Start" +#define STRING_STOP "Stop" +#define STRING_PAUSE "Pauze" +#define STRING_RESUME "Hervatten" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Loskoppelen" +#define STRING_SHUT_DOWN "Uitschakelen" +#define STRING_FORCE_SHUT_DOWN "Forceer Afsluiten" +#define STRING_EMERGENCYSTOP "NOODSTOP" +#define STRING_PREHEAT "Voorverwarmen" +#define STRING_PREHEAT_BOTH "Beide" +#define STRING_COOLDOWN "Afkoelen" - // Dialog Buttons - #define STRING_CONFIRM "Bevestig" - #define STRING_CANCEL "Afbreken" - #define STRING_WARNING "Waarschuwing" - #define STRING_CONTINUE "Verder" - #define STRING_CONFIRMATION "Weet u het zeker?" +// Dialog Buttons +#define STRING_CONFIRM "Bevestig" +#define STRING_CANCEL "Afbreken" +#define STRING_WARNING "Waarschuwing" +#define STRING_CONTINUE "Verder" +#define STRING_CONFIRMATION "Weet u het zeker?" - // Process Status - #define STRING_STATUS "Status" - #define STRING_READY "Gereed" - #define STRING_BUSY "In verwerking ,wacht aub..." - #define STRING_LOADING "Opladen..." - #define STRING_UNCONNECTED "Geen printer gekoppeld!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "Status" +#define STRING_READY "Gereed" +#define STRING_BUSY "In verwerking ,wacht aub..." +#define STRING_LOADING "Opladen..." +#define STRING_UNCONNECTED "Geen printer gekoppeld!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "Info" - #define STRING_INVALID_VALUE "Geen correcte waarde/s voorzien!" - #define STRING_TIMEOUT_REACHED "Time-out bereikt!" - #define STRING_DISCONNECT_INFO "De printer kan nu door de computer bestuurd worden!" - #define STRING_SHUTTING_DOWN "Afsluiten..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Wacht tot de temperatuur van de spuitkop lager dan %d℃ is" // Wait for the temperature of hotend to be lower than 50℃ - #define STRING_POWER_FAILED "Verder met printen?" - #define STRING_PROCESS_COMPLETED "Process voltooid!" - #define STRING_PROCESS_ABORTED "Process geannuleerd!" +// Process Info +#define STRING_INFO "Info" +#define STRING_INVALID_VALUE "Geen correcte waarde/s voorzien!" +#define STRING_TIMEOUT_REACHED "Time-out bereikt!" +#define STRING_DISCONNECT_INFO "De printer kan nu door de computer bestuurd worden!" +#define STRING_SHUTTING_DOWN "Afsluiten..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Wacht tot de temperatuur van de spuitkop lager dan %d℃ is" // Wait for the temperature of hotend to be lower than 50℃ +#define STRING_POWER_FAILED "Verder met printen?" +#define STRING_PROCESS_COMPLETED "Process voltooid!" +#define STRING_PROCESS_ABORTED "Process geannuleerd!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT SD" - #define STRING_TFT_SD_INSERTED "Kaart geplaatst" - #define STRING_TFT_SD_REMOVED "Kaart verwijdert" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "SD card leesfout!" - #define STRING_TFT_USB "TFT USB" - #define STRING_TFT_USB_INSERTED "USB disk geplaatst" - #define STRING_TFT_USB_REMOVED "USB disk verwijdert" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "USB disk leesfout!" - #define STRING_ONBOARD_SD "Onboard SD" - #define STRING_ONBOARD_USB "OnboardUSB" - #define STRING_ONBOARD_SD_READ_ERROR "Onboard media leesfout!" - #define STRING_FILAMENT_RUNOUT "filament op!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT SD" +#define STRING_TFT_SD_INSERTED "Kaart geplaatst" +#define STRING_TFT_SD_REMOVED "Kaart verwijdert" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "SD card leesfout!" +#define STRING_TFT_USB "TFT USB" +#define STRING_TFT_USB_INSERTED "USB disk geplaatst" +#define STRING_TFT_USB_REMOVED "USB disk verwijdert" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "USB disk leesfout!" +#define STRING_ONBOARD_SD "Onboard SD" +#define STRING_ONBOARD_USB "OnboardUSB" +#define STRING_ONBOARD_SD_READ_ERROR "Onboard media leesfout!" +#define STRING_FILAMENT_RUNOUT "filament op!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Disarm All" - #define STRING_XY_UNLOCK "Ontgrendel XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Disarm All" +#define STRING_XY_UNLOCK "Ontgrendel XY" - #define STRING_START_PRINT "Start afdruk:\n%s?" - #define STRING_STOP_PRINT "Stop afdruk?" - #define STRING_IS_PAUSE "Kan niet extruderen tijdens printen,\nPauzeer printen?" - #define STRING_M0_PAUSE "Gepauseerd door M0 commando" +#define STRING_START_PRINT "Start afdruk:\n%s?" +#define STRING_STOP_PRINT "Stop afdruk?" +#define STRING_IS_PAUSE "Kan niet extruderen tijdens printen,\nPauzeer printen?" +#define STRING_M0_PAUSE "Gepauseerd door M0 commando" - #define STRING_TEST "Test" - #define STRING_DEPLOY "Gebruiken" - #define STRING_STOW "Inzetten" - #define STRING_REPEAT "Herhaal" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Test" +#define STRING_DEPLOY "Gebruiken" +#define STRING_STOW "Inzetten" +#define STRING_REPEAT "Herhaal" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Spuitneus" - #define STRING_BED "Verwarmd bed" - #define STRING_CHAMBER "Kamer" - #define STRING_FAN "Ventilator" +// Printer Tools +#define STRING_NOZZLE "Spuitneus" +#define STRING_BED "Verwarmd bed" +#define STRING_CHAMBER "Kamer" +#define STRING_FAN "Ventilator" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 Sec." - #define STRING_10_SECONDS "10 Sec." - #define STRING_30_SECONDS "30 Sec." - #define STRING_60_SECONDS "1 Min." - #define STRING_120_SECONDS "2 Min." - #define STRING_300_SECONDS "5 Min." +#define STRING_5_SECONDS "5 Sec." +#define STRING_10_SECONDS "10 Sec." +#define STRING_30_SECONDS "30 Sec." +#define STRING_60_SECONDS "1 Min." +#define STRING_120_SECONDS "2 Min." +#define STRING_300_SECONDS "5 Min." - // Colors - #define STRING_WHITE "Wit" - #define STRING_BLACK "Zwart" - #define STRING_BLUE "Blauw" - #define STRING_RED "Rood" - #define STRING_GREEN "Groen" - #define STRING_CYAN "Cyaan" - #define STRING_YELLOW "Geel" - #define STRING_BROWN "Bruin" - #define STRING_GRAY "Grijs" - #define STRING_ORANGE "Oranje" - #define STRING_INDIGO "Indigo" - #define STRING_VIOLET "Violet" - #define STRING_MAGENTA "Magenta" - #define STRING_PURPLE "Purple" - #define STRING_LIME "Lime" - #define STRING_DARKBLUE "DarkBlue" - #define STRING_DARKGREEN "DarkGreen" - #define STRING_DARKGRAY "DarkGray" +// Colors +#define STRING_WHITE "Wit" +#define STRING_BLACK "Zwart" +#define STRING_BLUE "Blauw" +#define STRING_RED "Rood" +#define STRING_GREEN "Groen" +#define STRING_CYAN "Cyaan" +#define STRING_YELLOW "Geel" +#define STRING_BROWN "Bruin" +#define STRING_GRAY "Grijs" +#define STRING_ORANGE "Oranje" +#define STRING_INDIGO "Indigo" +#define STRING_VIOLET "Violet" +#define STRING_MAGENTA "Magenta" +#define STRING_PURPLE "Purple" +#define STRING_LIME "Lime" +#define STRING_DARKBLUE "DarkBlue" +#define STRING_DARKGREEN "DarkGreen" +#define STRING_DARKGRAY "DarkGray" - // Menus - #define STRING_HEAT "Verwarm" - #define STRING_MOVE "Verplaats" - #define STRING_HOME "Thuis" - #define STRING_PRINT "Print" - #define STRING_EXTRUDE "Extrudeer" - #define STRING_SETTINGS "Instellingen" - #define STRING_SCREEN_SETTINGS "Scherm" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Sound" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Machine" - #define STRING_PARAMETER_SETTINGS "Parameter" - #define STRING_FEATURE_SETTINGS "Kenmerk" - #define STRING_CONNECTION_SETTINGS "Connecties" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "Baudsnelheid" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "LED Kleur" - #define STRING_RGB_OFF "LED Uit" - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "Nivelleren" - #define STRING_POINT_1 "Punt 1" - #define STRING_POINT_2 "Punt 2" - #define STRING_POINT_3 "Punt 3" - #define STRING_POINT_4 "Punt 4" - #define STRING_POINT_5 "Punt 5" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Bed Leveling voltooid" - #define STRING_BL_SMART_FILL "Missende probe punten zijn slim opgevuld.\n\nNote: Vergeet niet op te slaan!" - #define STRING_BL_ENABLE "BL: aan" - #define STRING_BL_DISABLE "BL: uit" - #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 "Sla op naar sleuf" - #define STRING_ABL_SETTINGS_UBL_LOAD "Laad van sleuf" - #define STRING_ABL_SLOT0 "Sleuf 0" - #define STRING_ABL_SLOT1 "Sleuf 1" - #define STRING_ABL_SLOT2 "Sleuf 2" - #define STRING_ABL_SLOT3 "Sleuf 3" - #define STRING_ABL_SLOT_EEPROM "Onthoud sleuf voor volgende reboot? (sla op in EEPROM)" - #define STRING_ABL_Z "Z vervagen" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Afstand" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Load/Unload" // needs translation - #define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation - #define STRING_TOUCHSCREEN_ADJUST "TSC Aanpassen" - #define STRING_MORE "Meer" - #define STRING_SCREEN_INFO "Info" - #define STRING_BG_COLOR "achtergrond kleur" - #define STRING_FONT_COLOR "tekst kleur" - #define STRING_PERCENTAGE "Percentage" - #define STRING_PERCENTAGE_SPEED "Snelheid" - #define STRING_PERCENTAGE_FLOW "Stromen" - #define STRING_BABYSTEP "BabyStap" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Touch Screen Calibratie" - #define STRING_ADJUST_INFO "Klik op de rode punt" - #define STRING_ADJUST_OK "Calibratie Gelukt" - #define STRING_ADJUST_FAILED "Calibratie Mislukt, Probeer Opnieuw aub" - #define STRING_UNIFIEDMOVE "Beweging" - #define STRING_UNIFIEDHEAT "Verwarm/Ventilator" - #define STRING_TOUCH_TO_EXIT "Aanraken om te verlaten" - #define STRING_MAINMENU "Menu" - #define STRING_TUNING "Tuning" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC autotune" - #define STRING_MPC_METHOD "Metode:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID autotune" - #define STRING_TUNE_START_INFO "Autotune zal starten. Dit kan een paar minuten duren.\nDoorgaan?" - #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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied. Don't forget to save 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_NOTIFICATIONS "Notifications" - #define STRING_MESH_EDITOR "Mesh edit" - #define STRING_MESH_TUNER "Mesh tuner" - #define STRING_CASE_LIGHT "Case light" - #define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed - #define STRING_PRINT_FINISHED " Print\n finished" - #define STRING_MAIN_SCREEN "Main" - #define STRING_PREVIOUS_PRINT_DATA "Brief" - #define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament cost: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament data not available." - #define STRING_CLICK_FOR_MORE "Click for summary" - #define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." - #define STRING_HEAT_HOTEND "Heat hotend to %d℃?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "Verwarm" +#define STRING_MOVE "Verplaats" +#define STRING_HOME "Thuis" +#define STRING_PRINT "Print" +#define STRING_EXTRUDE "Extrudeer" +#define STRING_SETTINGS "Instellingen" +#define STRING_SCREEN_SETTINGS "Scherm" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Sound" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Machine" +#define STRING_PARAMETER_SETTINGS "Parameter" +#define STRING_FEATURE_SETTINGS "Kenmerk" +#define STRING_CONNECTION_SETTINGS "Connecties" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "Baudsnelheid" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "LED Kleur" +#define STRING_RGB_OFF "LED Uit" +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "Nivelleren" +#define STRING_POINT_1 "Punt 1" +#define STRING_POINT_2 "Punt 2" +#define STRING_POINT_3 "Punt 3" +#define STRING_POINT_4 "Punt 4" +#define STRING_POINT_5 "Punt 5" +#define STRING_BED_LEVELING "Bed Level" +#define STRING_BL_COMPLETE "Bed Leveling voltooid" +#define STRING_BL_SMART_FILL "Missende probe punten zijn slim opgevuld.\n\nNote: Vergeet niet op te slaan!" +#define STRING_BL_ENABLE "BL: aan" +#define STRING_BL_DISABLE "BL: uit" +#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 "Sla op naar sleuf" +#define STRING_ABL_SETTINGS_UBL_LOAD "Laad van sleuf" +#define STRING_ABL_SLOT0 "Sleuf 0" +#define STRING_ABL_SLOT1 "Sleuf 1" +#define STRING_ABL_SLOT2 "Sleuf 2" +#define STRING_ABL_SLOT3 "Sleuf 3" +#define STRING_ABL_SLOT_EEPROM "Onthoud sleuf voor volgende reboot? (sla op in EEPROM)" +#define STRING_ABL_Z "Z vervagen" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Afstand" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Load/Unload" // needs translation +#define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation +#define STRING_TOUCHSCREEN_ADJUST "TSC Aanpassen" +#define STRING_MORE "Meer" +#define STRING_SCREEN_INFO "Info" +#define STRING_BG_COLOR "achtergrond kleur" +#define STRING_FONT_COLOR "tekst kleur" +#define STRING_PERCENTAGE "Percentage" +#define STRING_PERCENTAGE_SPEED "Snelheid" +#define STRING_PERCENTAGE_FLOW "Stromen" +#define STRING_BABYSTEP "BabyStap" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Touch Screen Calibratie" +#define STRING_ADJUST_INFO "Klik op de rode punt" +#define STRING_ADJUST_OK "Calibratie Gelukt" +#define STRING_ADJUST_FAILED "Calibratie Mislukt, Probeer Opnieuw aub" +#define STRING_UNIFIEDMOVE "Beweging" +#define STRING_UNIFIEDHEAT "Verwarm/Ventilator" +#define STRING_TOUCH_TO_EXIT "Aanraken om te verlaten" +#define STRING_MAINMENU "Menu" +#define STRING_TUNING "Tuning" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC autotune" +#define STRING_MPC_METHOD "Metode:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID autotune" +#define STRING_TUNE_START_INFO "Autotune zal starten. Dit kan een paar minuten duren.\nDoorgaan?" +#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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied. Don't forget to save 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_NOTIFICATIONS "Notifications" +#define STRING_MESH_EDITOR "Mesh edit" +#define STRING_MESH_TUNER "Mesh tuner" +#define STRING_CASE_LIGHT "Case light" +#define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed +#define STRING_PRINT_FINISHED " Print\n finished" +#define STRING_MAIN_SCREEN "Main" +#define STRING_PREVIOUS_PRINT_DATA "Brief" +#define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament cost: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament data not available." +#define STRING_CLICK_FOR_MORE "Click for summary" +#define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." +#define STRING_HEAT_HOTEND "Heat hotend to %d℃?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_pl.h b/TFT/src/User/API/Language/language_pl.h index a949debce..8d6b31485 100644 --- a/TFT/src/User/API/Language/language_pl.h +++ b/TFT/src/User/API/Language/language_pl.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_PL_H_ #define _LANGUAGE_PL_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Polski" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulowane M600" - #define STRING_EMULATED_M109_M190 "Emulowane M109 / M190" - #define STRING_EVENT_LED "Sygn. zdarzenia diodą LED" - #define STRING_FILE_COMMENT_PARSING "Analiz. koment. do plików" - #define STRING_ROTATED_UI "Obrót" - #define STRING_ACK_NOTIFICATION "Styl powiadom. ACK" - #define STRING_FILES_SORT_BY "Sortuj pliki według" - #define STRING_FILES_LIST_MODE "Tryb listy plików" - #define STRING_FILENAME_EXTENSION "Pokaż rozszerzenie pliku" - #define STRING_FAN_SPEED_PERCENTAGE "Prędk. wentyl. w procent." - #define STRING_PERSISTENT_INFO "Trwałe informac. o stanie" - #define STRING_TERMINAL_ACK "Pokaż ACK w terminalu" - #define STRING_SERIAL_ALWAYS_ON "Szeregowy zawsze włączony" - #define STRING_MARLIN_FULLSCREEN "Pełnoekranowy tryb Marlin" - #define STRING_MARLIN_SHOW_TITLE "Wyśw. tytułu trybu Marlin" - #define STRING_MARLIN_TYPE "Typ trybu Marlin" - #define STRING_MOVE_SPEED "Prędkość ruchu(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto zap./odcz. poziomow." - #define STRING_PROBING_Z_OFFSET "Sondow. z przesunięciem Z" - #define STRING_Z_STEPPERS_ALIGNMENT "Autowyrównanie króków Z" - #define STRING_PS_AUTO_SHUTDOWN "Automatyczne wyłącz." - #define STRING_FIL_RUNOUT "Sensor filamentu" - #define STRING_PL_RECOVERY "Przywr. po utracie zasil." - #define STRING_PL_RECOVERY_HOME "Punkt baz. po utracie zas." - #define STRING_BTT_MINI_UPS "Obsługa BTT UPS" - #define STRING_TOUCH_SOUND "Dźwięki dotyku" - #define STRING_TOAST_SOUND "Powiadomienia o nagrzaniu" - #define STRING_ALERT_SOUND "Wyskak. okienka i alarmy" - #define STRING_HEATER_SOUND "Powiadomienia grzałki" - #define STRING_LCD_BRIGHTNESS "Jasność" - #define STRING_LCD_IDLE_BRIGHTNESS "Jasn. w stanie bezcz." - #define STRING_LCD_IDLE_TIME "Czas przej. do bezcz." - #define STRING_LCD_LOCK_ON_IDLE "Blok. LCD na bezczynności" - #define STRING_LED_ALWAYS_ON "LED pokrętła zawsze wł." - #define STRING_KNOB_LED_COLOR "Kolor diody LED pokrętła" - #define STRING_KNOB_LED_IDLE "Dioda LED pokrętła w stanie bezczynności" - #define STRING_START_GCODE_ENABLED "Początkowy Gcode" - #define STRING_END_GCODE_ENABLED "Końcowy Gcode" - #define STRING_CANCEL_GCODE_ENABLED "Anuluj Gcode" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Polski" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulowane M600" +#define STRING_EMULATED_M109_M190 "Emulowane M109 / M190" +#define STRING_EVENT_LED "Sygn. zdarzenia diodą LED" +#define STRING_FILE_COMMENT_PARSING "Analiz. koment. do plików" +#define STRING_ROTATED_UI "Obrót" +#define STRING_ACK_NOTIFICATION "Styl powiadom. ACK" +#define STRING_FILES_SORT_BY "Sortuj pliki według" +#define STRING_FILES_LIST_MODE "Tryb listy plików" +#define STRING_FILENAME_EXTENSION "Pokaż rozszerzenie pliku" +#define STRING_FAN_SPEED_PERCENTAGE "Prędk. wentyl. w procent." +#define STRING_PERSISTENT_INFO "Trwałe informac. o stanie" +#define STRING_TERMINAL_ACK "Pokaż ACK w terminalu" +#define STRING_SERIAL_ALWAYS_ON "Szeregowy zawsze włączony" +#define STRING_MARLIN_FULLSCREEN "Pełnoekranowy tryb Marlin" +#define STRING_MARLIN_SHOW_TITLE "Wyśw. tytułu trybu Marlin" +#define STRING_MARLIN_TYPE "Typ trybu Marlin" +#define STRING_MOVE_SPEED "Prędkość ruchu(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto zap./odcz. poziomow." +#define STRING_PROBING_Z_OFFSET "Sondow. z przesunięciem Z" +#define STRING_Z_STEPPERS_ALIGNMENT "Autowyrównanie króków Z" +#define STRING_PS_AUTO_SHUTDOWN "Automatyczne wyłącz." +#define STRING_FIL_RUNOUT "Sensor filamentu" +#define STRING_PL_RECOVERY "Przywr. po utracie zasil." +#define STRING_PL_RECOVERY_HOME "Punkt baz. po utracie zas." +#define STRING_BTT_MINI_UPS "Obsługa BTT UPS" +#define STRING_TOUCH_SOUND "Dźwięki dotyku" +#define STRING_TOAST_SOUND "Powiadomienia o nagrzaniu" +#define STRING_ALERT_SOUND "Wyskak. okienka i alarmy" +#define STRING_HEATER_SOUND "Powiadomienia grzałki" +#define STRING_LCD_BRIGHTNESS "Jasność" +#define STRING_LCD_IDLE_BRIGHTNESS "Jasn. w stanie bezcz." +#define STRING_LCD_IDLE_TIME "Czas przej. do bezcz." +#define STRING_LCD_LOCK_ON_IDLE "Blok. LCD na bezczynności" +#define STRING_LED_ALWAYS_ON "LED pokrętła zawsze wł." +#define STRING_KNOB_LED_COLOR "Kolor diody LED pokrętła" +#define STRING_KNOB_LED_IDLE "Dioda LED pokrętła w stanie bezczynności" +#define STRING_START_GCODE_ENABLED "Początkowy Gcode" +#define STRING_END_GCODE_ENABLED "Końcowy Gcode" +#define STRING_CANCEL_GCODE_ENABLED "Anuluj Gcode" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Kroki na mm" - #define STRING_FILAMENT_SETTING "Średnica filamentu" - #define STRING_MAXACCELERATION "Maksymalna akceleracja" - #define STRING_MAXFEEDRATE "Maksymalna prędkość posuwu" - #define STRING_ACCELERATION "Akceleracja" - #define STRING_JERK "Szarpnięcie" - #define STRING_JUNCTION_DEVIATION "Odchylenie węzła" - #define STRING_HOME_OFFSET "Przes. pozycji baz." - #define STRING_FWRETRACT "Retrakcja FW" - #define STRING_FWRECOVER "Przywracanie retrakcji FW" - #define STRING_RETRACT_AUTO "Automatyczna retrakcja FW" - #define STRING_HOTEND_OFFSET "Przesunięcie 2. dyszy" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Konfiguracja delta" - #define STRING_DELTA_TOWER_ANGLE "Trymowanie kąta wieży" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Regulacje krańców" - #define STRING_PROBE_OFFSET "Przesunięcie sondy" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "Prąd sterownika (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "Czułość TMC na uderzenie" - #define STRING_MBL_OFFSET "Przesunięcie MBL" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Kroki na mm" +#define STRING_FILAMENT_SETTING "Średnica filamentu" +#define STRING_MAXACCELERATION "Maksymalna akceleracja" +#define STRING_MAXFEEDRATE "Maksymalna prędkość posuwu" +#define STRING_ACCELERATION "Akceleracja" +#define STRING_JERK "Szarpnięcie" +#define STRING_JUNCTION_DEVIATION "Odchylenie węzła" +#define STRING_HOME_OFFSET "Przes. pozycji baz." +#define STRING_FWRETRACT "Retrakcja FW" +#define STRING_FWRECOVER "Przywracanie retrakcji FW" +#define STRING_RETRACT_AUTO "Automatyczna retrakcja FW" +#define STRING_HOTEND_OFFSET "Przesunięcie 2. dyszy" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Konfiguracja delta" +#define STRING_DELTA_TOWER_ANGLE "Trymowanie kąta wieży" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Regulacje krańców" +#define STRING_PROBE_OFFSET "Przesunięcie sondy" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "Prąd sterownika (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "Czułość TMC na uderzenie" +#define STRING_MBL_OFFSET "Przesunięcie MBL" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Akceleracja drukowania" - #define STRING_RETRACT_ACCELERATION "Akceleracja wycofania" - #define STRING_TRAVEL_ACCELERATION "Akceleracja podróży" - #define STRING_RETRACT_LENGTH "Długość wycofania" - #define STRING_RETRACT_SWAP_LENGTH "Długość wymiany wycofania" - #define STRING_RETRACT_FEEDRATE "Prędkość posuwu wycofania" - #define STRING_RETRACT_Z_LIFT "Podnieś Z przy wycofaniu" - #define STRING_RECOVER_LENGTH "Dodatkowa długość odzyskiwania" - #define STRING_SWAP_RECOVER_LENGTH "Dodatkowa długość wymiany odzyskiwania" - #define STRING_RECOVER_FEEDRATE "Prędkość posuwu odzyskiwania" - #define STRING_SWAP_RECOVER_FEEDRATE "Prędkość posuwu wymiany odzyskiwania" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Akceleracja drukowania" +#define STRING_RETRACT_ACCELERATION "Akceleracja wycofania" +#define STRING_TRAVEL_ACCELERATION "Akceleracja podróży" +#define STRING_RETRACT_LENGTH "Długość wycofania" +#define STRING_RETRACT_SWAP_LENGTH "Długość wymiany wycofania" +#define STRING_RETRACT_FEEDRATE "Prędkość posuwu wycofania" +#define STRING_RETRACT_Z_LIFT "Podnieś Z przy wycofaniu" +#define STRING_RECOVER_LENGTH "Dodatkowa długość odzyskiwania" +#define STRING_SWAP_RECOVER_LENGTH "Dodatkowa długość wymiany odzyskiwania" +#define STRING_RECOVER_FEEDRATE "Prędkość posuwu odzyskiwania" +#define STRING_SWAP_RECOVER_FEEDRATE "Prędkość posuwu wymiany odzyskiwania" - // Save / Load - #define STRING_SAVE "Zapisz" - #define STRING_RESTORE "Przywróć" - #define STRING_RESET "Resetuj" - #define STRING_EEPROM_SAVE_INFO "Zapisać ustawienia drukarki w EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Przywrócić ustawienia z EEPROM?" - #define STRING_EEPROM_RESET_INFO "Zresetować EEPROM do fabrycznych ustawień drukarki?" - #define STRING_SETTINGS_SAVE "Zapisz ustawienia" - #define STRING_SETTINGS_RESTORE "Przywróć ustawienia" - #define STRING_SETTINGS_RESET "Przywróć domyślne ustawienia" - #define STRING_SETTINGS_RESET_INFO "Zresetować wszystkie ustawienia do wartości domyślnych?" - #define STRING_SETTINGS_RESET_DONE "Zresetowanie wszystkich ustawień zakończone pomyślnie. Proszę zrestartować urządzenie." +// Save / Load +#define STRING_SAVE "Zapisz" +#define STRING_RESTORE "Przywróć" +#define STRING_RESET "Resetuj" +#define STRING_EEPROM_SAVE_INFO "Zapisać ustawienia drukarki w EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Przywrócić ustawienia z EEPROM?" +#define STRING_EEPROM_RESET_INFO "Zresetować EEPROM do fabrycznych ustawień drukarki?" +#define STRING_SETTINGS_SAVE "Zapisz ustawienia" +#define STRING_SETTINGS_RESTORE "Przywróć ustawienia" +#define STRING_SETTINGS_RESET "Przywróć domyślne ustawienia" +#define STRING_SETTINGS_RESET_INFO "Zresetować wszystkie ustawienia do wartości domyślnych?" +#define STRING_SETTINGS_RESET_DONE "Zresetowanie wszystkich ustawień zakończone pomyślnie. Proszę zrestartować urządzenie." - // Navigation Buttons - #define STRING_PAGE_UP "Strona w górę" - #define STRING_PAGE_DOWN "Strona w dół" - #define STRING_UP "W górę" - #define STRING_DOWN "W dół" - #define STRING_NEXT "Dalej" - #define STRING_BACK "Wstecz" +// Navigation Buttons +#define STRING_PAGE_UP "Strona w górę" +#define STRING_PAGE_DOWN "Strona w dół" +#define STRING_UP "W górę" +#define STRING_DOWN "W dół" +#define STRING_NEXT "Dalej" +#define STRING_BACK "Wstecz" - // Value Buttons - #define STRING_INC "Zwiększ" - #define STRING_DEC "Zmniejsz" - #define STRING_LOAD "Wsuń" - #define STRING_UNLOAD "Wysuń" - #define STRING_ON "Włącz" - #define STRING_OFF "Wyłącz" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Wolno" - #define STRING_NORMAL "Normalna" - #define STRING_FAST "Szybko" - #define STRING_ZERO "Zero" - #define STRING_HALF "Połowa" - #define STRING_FULL "Maksimum" - #define STRING_CUSTOM "Niestand." - #define STRING_CLEAR "Kasuj" - #define STRING_DEFAULT "Domyślne" +// Value Buttons +#define STRING_INC "Zwiększ" +#define STRING_DEC "Zmniejsz" +#define STRING_LOAD "Wsuń" +#define STRING_UNLOAD "Wysuń" +#define STRING_ON "Włącz" +#define STRING_OFF "Wyłącz" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Wolno" +#define STRING_NORMAL "Normalna" +#define STRING_FAST "Szybko" +#define STRING_ZERO "Zero" +#define STRING_HALF "Połowa" +#define STRING_FULL "Maksimum" +#define STRING_CUSTOM "Niestand." +#define STRING_CLEAR "Kasuj" +#define STRING_DEFAULT "Domyślne" - // Action Buttons - #define STRING_START "Zacznij" - #define STRING_STOP "Zatrzymaj" - #define STRING_PAUSE "Wstrzymaj" - #define STRING_RESUME "Wznów" - #define STRING_INIT "Inicjuj" - #define STRING_DISCONNECT "Odłącz" - #define STRING_SHUT_DOWN "Zamknij" - #define STRING_FORCE_SHUT_DOWN "Wymuś zamknięcie" - #define STRING_EMERGENCYSTOP "STOP!" - #define STRING_PREHEAT "Podgrzej" - #define STRING_PREHEAT_BOTH "Podgrz.oba" - #define STRING_COOLDOWN "Ostudź" +// Action Buttons +#define STRING_START "Zacznij" +#define STRING_STOP "Zatrzymaj" +#define STRING_PAUSE "Wstrzymaj" +#define STRING_RESUME "Wznów" +#define STRING_INIT "Inicjuj" +#define STRING_DISCONNECT "Odłącz" +#define STRING_SHUT_DOWN "Zamknij" +#define STRING_FORCE_SHUT_DOWN "Wymuś zamknięcie" +#define STRING_EMERGENCYSTOP "STOP!" +#define STRING_PREHEAT "Podgrzej" +#define STRING_PREHEAT_BOTH "Podgrz.oba" +#define STRING_COOLDOWN "Ostudź" - // Dialog Buttons - #define STRING_CONFIRM "Potwierdź" - #define STRING_CANCEL "Anuluj" - #define STRING_WARNING "Ostrzeżenie" - #define STRING_CONTINUE "Kontynuuj" - #define STRING_CONFIRMATION "Jesteś pewien?" +// Dialog Buttons +#define STRING_CONFIRM "Potwierdź" +#define STRING_CANCEL "Anuluj" +#define STRING_WARNING "Ostrzeżenie" +#define STRING_CONTINUE "Kontynuuj" +#define STRING_CONFIRMATION "Jesteś pewien?" - // Process Status - #define STRING_STATUS "Status" - #define STRING_READY "Gotowe" - #define STRING_BUSY "Trwa przetwarzanie, proszę czekać..." - #define STRING_LOADING "Wczytywanie..." - #define STRING_UNCONNECTED "Drukarka nie podłączona!" - #define STRING_LISTENING "TFT w trybie pasywnym!" +// Process Status +#define STRING_STATUS "Status" +#define STRING_READY "Gotowe" +#define STRING_BUSY "Trwa przetwarzanie, proszę czekać..." +#define STRING_LOADING "Wczytywanie..." +#define STRING_UNCONNECTED "Drukarka nie podłączona!" +#define STRING_LISTENING "TFT w trybie pasywnym!" - // Process Info - #define STRING_INFO "Informacje" - #define STRING_INVALID_VALUE "Niewłaściwa wartość(i)" - #define STRING_TIMEOUT_REACHED "Osiągnięto limit czasu!" - #define STRING_DISCONNECT_INFO "Teraz możesz sterować drukarką/nza pomocą komputera!" - #define STRING_SHUTTING_DOWN "Zamykanie..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Poczekaj, aż temperatura głowicy będzie niższa niż %d℃" - #define STRING_POWER_FAILED "Kontynuować drukowanie?" - #define STRING_PROCESS_COMPLETED "Zakończono przetwarzanie!" - #define STRING_PROCESS_ABORTED "Przerwano przetwarzanie!" +// Process Info +#define STRING_INFO "Informacje" +#define STRING_INVALID_VALUE "Niewłaściwa wartość(i)" +#define STRING_TIMEOUT_REACHED "Osiągnięto limit czasu!" +#define STRING_DISCONNECT_INFO "Teraz możesz sterować drukarką/nza pomocą komputera!" +#define STRING_SHUTTING_DOWN "Zamykanie..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Poczekaj, aż temperatura głowicy będzie niższa niż %d℃" +#define STRING_POWER_FAILED "Kontynuować drukowanie?" +#define STRING_PROCESS_COMPLETED "Zakończono przetwarzanie!" +#define STRING_PROCESS_ABORTED "Przerwano przetwarzanie!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "SD TFT" - #define STRING_TFT_SD_INSERTED "Karta SD wyświetlacza włożona" - #define STRING_TFT_SD_REMOVED "Karta SD wyświetlacza wyjęta" - #define STRING_TFT_SD_NOT_DETECTED "Nie wykryto karty SD wyświetlacza!" - #define STRING_TFT_SD_READ_ERROR "Błąd odczytu karty SD wyświetlacza!" - #define STRING_TFT_USB "USB TFT" - #define STRING_TFT_USB_INSERTED "Dysk USB wyświetlacza włożony" - #define STRING_TFT_USB_REMOVED "Dysk USB wyświetlacza wyjęty" - #define STRING_TFT_USB_NOT_DETECTED "Nie wykryto dysku USB wyświetlacza!" - #define STRING_TFT_USB_READ_ERROR "Błąd odczytu dysku USB wyświetlacza!" - #define STRING_ONBOARD_SD "Onboard SD" - #define STRING_ONBOARD_USB "OnboardUSB" - #define STRING_ONBOARD_SD_READ_ERROR "Błąd odczytu nośnika płyty głównej!" - #define STRING_FILAMENT_RUNOUT "Skończył się filament!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "SD TFT" +#define STRING_TFT_SD_INSERTED "Karta SD wyświetlacza włożona" +#define STRING_TFT_SD_REMOVED "Karta SD wyświetlacza wyjęta" +#define STRING_TFT_SD_NOT_DETECTED "Nie wykryto karty SD wyświetlacza!" +#define STRING_TFT_SD_READ_ERROR "Błąd odczytu karty SD wyświetlacza!" +#define STRING_TFT_USB "USB TFT" +#define STRING_TFT_USB_INSERTED "Dysk USB wyświetlacza włożony" +#define STRING_TFT_USB_REMOVED "Dysk USB wyświetlacza wyjęty" +#define STRING_TFT_USB_NOT_DETECTED "Nie wykryto dysku USB wyświetlacza!" +#define STRING_TFT_USB_READ_ERROR "Błąd odczytu dysku USB wyświetlacza!" +#define STRING_ONBOARD_SD "Onboard SD" +#define STRING_ONBOARD_USB "OnboardUSB" +#define STRING_ONBOARD_SD_READ_ERROR "Błąd odczytu nośnika płyty głównej!" +#define STRING_FILAMENT_RUNOUT "Skończył się filament!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Odbl.wsz." - #define STRING_XY_UNLOCK "Odbl. XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Odbl.wsz." +#define STRING_XY_UNLOCK "Odbl. XY" - #define STRING_START_PRINT "Rozpocząć drukowanie:\n%s?" - #define STRING_STOP_PRINT "Zatrzymać drukowanie?" - #define STRING_IS_PAUSE "Operacja niedostępna w trakcie drukowania.\n\nWstrzymać drukowanie?" - #define STRING_M0_PAUSE "Zatrzymane przez komendę M0" +#define STRING_START_PRINT "Rozpocząć drukowanie:\n%s?" +#define STRING_STOP_PRINT "Zatrzymać drukowanie?" +#define STRING_IS_PAUSE "Operacja niedostępna w trakcie drukowania.\n\nWstrzymać drukowanie?" +#define STRING_M0_PAUSE "Zatrzymane przez komendę M0" - #define STRING_TEST "Testuj" - #define STRING_DEPLOY "Rozlokuj" - #define STRING_STOW "Schowaj" - #define STRING_REPEAT "Powtórz" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Testuj" +#define STRING_DEPLOY "Rozlokuj" +#define STRING_STOW "Schowaj" +#define STRING_REPEAT "Powtórz" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Dysza" - #define STRING_BED "Stół" - #define STRING_CHAMBER "Komora" - #define STRING_FAN "Wentylator" +// Printer Tools +#define STRING_NOZZLE "Dysza" +#define STRING_BED "Stół" +#define STRING_CHAMBER "Komora" +#define STRING_FAN "Wentylator" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 sek." - #define STRING_10_SECONDS "10 sek." - #define STRING_30_SECONDS "30 sek." - #define STRING_60_SECONDS "1 min." - #define STRING_120_SECONDS "2 min." - #define STRING_300_SECONDS "5 min." +#define STRING_5_SECONDS "5 sek." +#define STRING_10_SECONDS "10 sek." +#define STRING_30_SECONDS "30 sek." +#define STRING_60_SECONDS "1 min." +#define STRING_120_SECONDS "2 min." +#define STRING_300_SECONDS "5 min." - // Colors - #define STRING_WHITE "Biały" - #define STRING_BLACK "Czarny" - #define STRING_BLUE "Niebieski" - #define STRING_RED "Czerwony" - #define STRING_GREEN "Zielony" - #define STRING_CYAN "Turkusowy" - #define STRING_YELLOW "Żółty" - #define STRING_BROWN "Brązowy" - #define STRING_GRAY "Szary" - #define STRING_ORANGE "Pomarańczowy" - #define STRING_INDIGO "Indygo" - #define STRING_VIOLET "Fioletowy" - #define STRING_MAGENTA "Karmazynowy" - #define STRING_PURPLE "Purpurowy" - #define STRING_LIME "Żółto-zielony" - #define STRING_DARKBLUE "Ciemnoniebieski" - #define STRING_DARKGREEN "Ciemnozielony" - #define STRING_DARKGRAY "Ciemnoszary" +// Colors +#define STRING_WHITE "Biały" +#define STRING_BLACK "Czarny" +#define STRING_BLUE "Niebieski" +#define STRING_RED "Czerwony" +#define STRING_GREEN "Zielony" +#define STRING_CYAN "Turkusowy" +#define STRING_YELLOW "Żółty" +#define STRING_BROWN "Brązowy" +#define STRING_GRAY "Szary" +#define STRING_ORANGE "Pomarańczowy" +#define STRING_INDIGO "Indygo" +#define STRING_VIOLET "Fioletowy" +#define STRING_MAGENTA "Karmazynowy" +#define STRING_PURPLE "Purpurowy" +#define STRING_LIME "Żółto-zielony" +#define STRING_DARKBLUE "Ciemnoniebieski" +#define STRING_DARKGREEN "Ciemnozielony" +#define STRING_DARKGRAY "Ciemnoszary" - // Menus - #define STRING_HEAT "Grzałka" - #define STRING_MOVE "Przesuw" - #define STRING_HOME "Punkt baz." - #define STRING_PRINT "Drukuj" - #define STRING_EXTRUDE "Ekstruder" - #define STRING_SETTINGS "Ustawienia" - #define STRING_SCREEN_SETTINGS "Ekran" - #define STRING_UI_SETTINGS "IU" - #define STRING_SOUND "Dźwięk" - #define STRING_MARLIN_MODE_SETTINGS "Tr. Marlin" - #define STRING_MACHINE_SETTINGS "Drukarka" - #define STRING_PARAMETER_SETTINGS "Ustawienia" - #define STRING_FEATURE_SETTINGS "Opcje" - #define STRING_CONNECTION_SETTINGS "Połączenie" - #define STRING_SERIAL_PORTS "Porty" - #define STRING_BAUDRATE "Szybkość transmisji" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "LED" - #define STRING_RGB_OFF "Wyłącz LED" - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "Poziomow." - #define STRING_POINT_1 "Punkt 1" - #define STRING_POINT_2 "Punkt 2" - #define STRING_POINT_3 "Punkt 3" - #define STRING_POINT_4 "Punkt 4" - #define STRING_POINT_5 "Punkt 5" - #define STRING_BED_LEVELING "Poziomowanie stołu" - #define STRING_BL_COMPLETE "Poziomowanie łóżka zakończone" - #define STRING_BL_SMART_FILL "Brakujące punkty sondy zostały sprytnie uzupełnione.\n\nUwaga: Pamiętaj, aby zapisać!" - #define STRING_BL_ENABLE "BL: wł." - #define STRING_BL_DISABLE "BL: wył." - #define STRING_ABL "ABL" - #define STRING_BBL "BBL" - #define STRING_UBL "UBL" - #define STRING_MBL "MBL" - #define STRING_MBL_SETTINGS "Poziomowanie siatki stołu" - #define STRING_ABL_SETTINGS "Automatyczne poziomowanie stołu" - #define STRING_ABL_SETTINGS_BBL "Dwuliniowe poziomowanie stołu" - #define STRING_ABL_SETTINGS_UBL "Ujednolicone poziomowanie stołu" - #define STRING_ABL_SETTINGS_UBL_SAVE "Zapisz w wolnym miejscu" - #define STRING_ABL_SETTINGS_UBL_LOAD "Wczytaj z miejsca" - #define STRING_ABL_SLOT0 "Wolne miejsce 0" - #define STRING_ABL_SLOT1 "Wolne miejsce 1" - #define STRING_ABL_SLOT2 "Wolne miejsce 2" - #define STRING_ABL_SLOT3 "Wolne miejsce 3" - #define STRING_ABL_SLOT_EEPROM "Zapisać siatkę do EEPROM aby wczytać po restarcie?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Odległość od krawędzi jest poniżej przesunięcia sondy X/Y i niektóre punkty docelowe mogą być niedostępne.\nCzy chcesz użyć bezpiecznej odległości od krawędzi?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Dystans" - #define STRING_SHIM "Podkładka" - #define STRING_LOAD_UNLOAD "Wsuń / Wysuń" - #define STRING_LOAD_UNLOAD_SHORT "(Ws/Wy)suń" - #define STRING_TOUCHSCREEN_ADJUST "Kalibr." - #define STRING_MORE "Więcej" - #define STRING_SCREEN_INFO "Informacje" - #define STRING_BG_COLOR "Kolor tła" - #define STRING_FONT_COLOR "Kolor czcionki" - #define STRING_PERCENTAGE "Procent" - #define STRING_PERCENTAGE_SPEED "Prędkość" - #define STRING_PERCENTAGE_FLOW "Przepływ" - #define STRING_BABYSTEP "Mikroreg." - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Kalibracja ekranu dotykowego" - #define STRING_ADJUST_INFO "Proszę dotykać czerwoną kropkę" - #define STRING_ADJUST_OK "Kalibracja powiodła się" - #define STRING_ADJUST_FAILED "Kalibracja nie powiodła się, spróbuj ponownie" - #define STRING_UNIFIEDMOVE "Ruch" - #define STRING_UNIFIEDHEAT "Grz./Went." - #define STRING_TOUCH_TO_EXIT "Dotknij gdziekolwiek, aby wyjść" - #define STRING_MAINMENU "Menu" - #define STRING_TUNING "Dostrajanie" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "Autodostrajanie MPC" - #define STRING_MPC_METHOD "Metoda:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "Autodostrajanie PID" - #define STRING_TUNE_START_INFO "Autodostrajanie może zająć trochę czasu do zakończenia.\nKontynuować?" - #define STRING_TUNE_EXTRUDER "Kroki" - #define STRING_TUNE_EXT_EXTRUDE_100 "Wsuń 10cm" - #define STRING_TUNE_EXT_TEMP "Dostrajanie wytłaczarki | Grzanie" - #define STRING_TUNE_EXT_MARK120MM "Zaznacz 120 mm na filamencie.\nNaciśnij '%s' gdy będziesz gotowy.\nZmierz pozostałą długość po wytłoczeniu." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Dostosuj kroki E" - #define STRING_TUNE_EXT_ESTEPS_SAVED "Nowe kroki E zastosowane.\nNie zapomnij zapisać to w EEPROM.\nNowa wartość: %0.2f" - #define STRING_TUNE_EXT_MEASURED "Pozostała długość:" - #define STRING_TUNE_EXT_OLD_ESTEP "Stare kroki E: %0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "Nowe kroki E: %0.2f" - #define STRING_NOTIFICATIONS "Powiadomienia" - #define STRING_MESH_EDITOR "Edycja siatki" - #define STRING_MESH_TUNER "Dostrajanie siatki" - #define STRING_CASE_LIGHT "Oświetlenie obudowy" - #define STRING_LOAD_STARTED "Ładowanie filamentu.\nProszę czekać, aż proces zostanie ukończony." - #define STRING_UNLOAD_STARTED "Wycofywanie filamentu.\nProszę czekać, aż proces zostanie ukończony." - #define STRING_HEATERS_ON "Niektóre grzałki są nadal WŁĄCZONE.\nCzy chcesz je wyłączyć?" - #define STRING_PRINT_FINISHED "Drukowanie zakończone" - #define STRING_MAIN_SCREEN "Początek" - #define STRING_PREVIOUS_PRINT_DATA "Przegląd" - #define STRING_PRINT_TIME "Czas drukowania: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nDługość filamentu: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nWaga filamentu: %1.2fg" - #define STRING_FILAMENT_COST "\nKoszt filamentu: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nBrak danych o filamencie." - #define STRING_CLICK_FOR_MORE "Kliknij, aby zobaczyć podsumowanie" - #define STRING_EXT_TEMPLOW "Temperatura głowicy jest poniżej minimalnej temperatury (%d℃)." - #define STRING_HEAT_HOTEND "Podgrzać głowicę do %d℃?" - #define STRING_DESIRED_TEMPLOW "Temperatura głowicy jest poniżej zadanej temperatury (%d℃)" - #define STRING_WAIT_HEAT_UP "Poczekaj, aż się nagrzeje." - #define STRING_Z_ALIGN "Wyrównaj Z" - #define STRING_MACROS "Makra" - #define STRING_MESH_VALID "Sprawdzanie siatki" - #define STRING_CONNECT_PROBE "Podłącz sondę przed rozpoczęciem procesu. Pamiętaj, aby później ją odłączyć." - #define STRING_DISCONNECT_PROBE "Upewnij się, że sonda została odłączona przed użyciem tej funkcji." - #define STRING_CALIBRATION "Kalibrowanie" +// Menus +#define STRING_HEAT "Grzałka" +#define STRING_MOVE "Przesuw" +#define STRING_HOME "Punkt baz." +#define STRING_PRINT "Drukuj" +#define STRING_EXTRUDE "Ekstruder" +#define STRING_SETTINGS "Ustawienia" +#define STRING_SCREEN_SETTINGS "Ekran" +#define STRING_UI_SETTINGS "IU" +#define STRING_SOUND "Dźwięk" +#define STRING_MARLIN_MODE_SETTINGS "Tr. Marlin" +#define STRING_MACHINE_SETTINGS "Drukarka" +#define STRING_PARAMETER_SETTINGS "Ustawienia" +#define STRING_FEATURE_SETTINGS "Opcje" +#define STRING_CONNECTION_SETTINGS "Połączenie" +#define STRING_SERIAL_PORTS "Porty" +#define STRING_BAUDRATE "Szybkość transmisji" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "LED" +#define STRING_RGB_OFF "Wyłącz LED" +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "Poziomow." +#define STRING_POINT_1 "Punkt 1" +#define STRING_POINT_2 "Punkt 2" +#define STRING_POINT_3 "Punkt 3" +#define STRING_POINT_4 "Punkt 4" +#define STRING_POINT_5 "Punkt 5" +#define STRING_BED_LEVELING "Poziomowanie stołu" +#define STRING_BL_COMPLETE "Poziomowanie łóżka zakończone" +#define STRING_BL_SMART_FILL "Brakujące punkty sondy zostały sprytnie uzupełnione.\n\nUwaga: Pamiętaj, aby zapisać!" +#define STRING_BL_ENABLE "BL: wł." +#define STRING_BL_DISABLE "BL: wył." +#define STRING_ABL "ABL" +#define STRING_BBL "BBL" +#define STRING_UBL "UBL" +#define STRING_MBL "MBL" +#define STRING_MBL_SETTINGS "Poziomowanie siatki stołu" +#define STRING_ABL_SETTINGS "Automatyczne poziomowanie stołu" +#define STRING_ABL_SETTINGS_BBL "Dwuliniowe poziomowanie stołu" +#define STRING_ABL_SETTINGS_UBL "Ujednolicone poziomowanie stołu" +#define STRING_ABL_SETTINGS_UBL_SAVE "Zapisz w wolnym miejscu" +#define STRING_ABL_SETTINGS_UBL_LOAD "Wczytaj z miejsca" +#define STRING_ABL_SLOT0 "Wolne miejsce 0" +#define STRING_ABL_SLOT1 "Wolne miejsce 1" +#define STRING_ABL_SLOT2 "Wolne miejsce 2" +#define STRING_ABL_SLOT3 "Wolne miejsce 3" +#define STRING_ABL_SLOT_EEPROM "Zapisać siatkę do EEPROM aby wczytać po restarcie?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Odległość od krawędzi jest poniżej przesunięcia sondy X/Y i niektóre punkty docelowe mogą być niedostępne.\nCzy chcesz użyć bezpiecznej odległości od krawędzi?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Dystans" +#define STRING_SHIM "Podkładka" +#define STRING_LOAD_UNLOAD "Wsuń / Wysuń" +#define STRING_LOAD_UNLOAD_SHORT "(Ws/Wy)suń" +#define STRING_TOUCHSCREEN_ADJUST "Kalibr." +#define STRING_MORE "Więcej" +#define STRING_SCREEN_INFO "Informacje" +#define STRING_BG_COLOR "Kolor tła" +#define STRING_FONT_COLOR "Kolor czcionki" +#define STRING_PERCENTAGE "Procent" +#define STRING_PERCENTAGE_SPEED "Prędkość" +#define STRING_PERCENTAGE_FLOW "Przepływ" +#define STRING_BABYSTEP "Mikroreg." +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Kalibracja ekranu dotykowego" +#define STRING_ADJUST_INFO "Proszę dotykać czerwoną kropkę" +#define STRING_ADJUST_OK "Kalibracja powiodła się" +#define STRING_ADJUST_FAILED "Kalibracja nie powiodła się, spróbuj ponownie" +#define STRING_UNIFIEDMOVE "Ruch" +#define STRING_UNIFIEDHEAT "Grz./Went." +#define STRING_TOUCH_TO_EXIT "Dotknij gdziekolwiek, aby wyjść" +#define STRING_MAINMENU "Menu" +#define STRING_TUNING "Dostrajanie" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "Autodostrajanie MPC" +#define STRING_MPC_METHOD "Metoda:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "Autodostrajanie PID" +#define STRING_TUNE_START_INFO "Autodostrajanie może zająć trochę czasu do zakończenia.\nKontynuować?" +#define STRING_TUNE_EXTRUDER "Kroki" +#define STRING_TUNE_EXT_EXTRUDE_100 "Wsuń 10cm" +#define STRING_TUNE_EXT_TEMP "Dostrajanie wytłaczarki | Grzanie" +#define STRING_TUNE_EXT_MARK120MM "Zaznacz 120 mm na filamencie.\nNaciśnij '%s' gdy będziesz gotowy.\nZmierz pozostałą długość po wytłoczeniu." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Dostosuj kroki E" +#define STRING_TUNE_EXT_ESTEPS_SAVED "Nowe kroki E zastosowane.\nNie zapomnij zapisać to w EEPROM.\nNowa wartość: %0.2f" +#define STRING_TUNE_EXT_MEASURED "Pozostała długość:" +#define STRING_TUNE_EXT_OLD_ESTEP "Stare kroki E: %0.2f" +#define STRING_TUNE_EXT_NEW_ESTEP "Nowe kroki E: %0.2f" +#define STRING_NOTIFICATIONS "Powiadomienia" +#define STRING_MESH_EDITOR "Edycja siatki" +#define STRING_MESH_TUNER "Dostrajanie siatki" +#define STRING_CASE_LIGHT "Oświetlenie obudowy" +#define STRING_LOAD_STARTED "Ładowanie filamentu.\nProszę czekać, aż proces zostanie ukończony." +#define STRING_UNLOAD_STARTED "Wycofywanie filamentu.\nProszę czekać, aż proces zostanie ukończony." +#define STRING_HEATERS_ON "Niektóre grzałki są nadal WŁĄCZONE.\nCzy chcesz je wyłączyć?" +#define STRING_PRINT_FINISHED "Drukowanie zakończone" +#define STRING_MAIN_SCREEN "Początek" +#define STRING_PREVIOUS_PRINT_DATA "Przegląd" +#define STRING_PRINT_TIME "Czas drukowania: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nDługość filamentu: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nWaga filamentu: %1.2fg" +#define STRING_FILAMENT_COST "\nKoszt filamentu: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nBrak danych o filamencie." +#define STRING_CLICK_FOR_MORE "Kliknij, aby zobaczyć podsumowanie" +#define STRING_EXT_TEMPLOW "Temperatura głowicy jest poniżej minimalnej temperatury (%d℃)." +#define STRING_HEAT_HOTEND "Podgrzać głowicę do %d℃?" +#define STRING_DESIRED_TEMPLOW "Temperatura głowicy jest poniżej zadanej temperatury (%d℃)" +#define STRING_WAIT_HEAT_UP "Poczekaj, aż się nagrzeje." +#define STRING_Z_ALIGN "Wyrównaj Z" +#define STRING_MACROS "Makra" +#define STRING_MESH_VALID "Sprawdzanie siatki" +#define STRING_CONNECT_PROBE "Podłącz sondę przed rozpoczęciem procesu. Pamiętaj, aby później ją odłączyć." +#define STRING_DISCONNECT_PROBE "Upewnij się, że sonda została odłączona przed użyciem tej funkcji." +#define STRING_CALIBRATION "Kalibrowanie" #endif diff --git a/TFT/src/User/API/Language/language_pt.h b/TFT/src/User/API/Language/language_pt.h index b3a4e339f..66bc8d52f 100644 --- a/TFT/src/User/API/Language/language_pt.h +++ b/TFT/src/User/API/Language/language_pt.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_PT_H_ #define _LANGUAGE_PT_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Portugues" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "Rodar" - #define STRING_ACK_NOTIFICATION "ACK notification style" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "Files viewer List Mode" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" - #define STRING_PERSISTENT_INFO "Persistent Status Info" - #define STRING_TERMINAL_ACK "Show ACK in Terminal" - #define STRING_SERIAL_ALWAYS_ON "Serial Always ON" - #define STRING_MARLIN_FULLSCREEN "Marlin mode in fullscreen" - #define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "Move speed(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "Auto Power" - #define STRING_FIL_RUNOUT "Filament sensor" - #define STRING_PL_RECOVERY "Power loss recovery" - #define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" - #define STRING_BTT_MINI_UPS "BTT UPS Support" - #define STRING_TOUCH_SOUND "Touch sounds" - #define STRING_TOAST_SOUND "Toast Notifications" - #define STRING_ALERT_SOUND "Popups and Alerts" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "Brightness" - #define STRING_LCD_IDLE_BRIGHTNESS "Idle brightness" - #define STRING_LCD_IDLE_TIME "Idle timeout" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "Rotary Knob LED" - #define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" - #define STRING_START_GCODE_ENABLED "Start Gcode before print" - #define STRING_END_GCODE_ENABLED "End Gcode after print" - #define STRING_CANCEL_GCODE_ENABLED "Cancel Gcode" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Portugues" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "Rodar" +#define STRING_ACK_NOTIFICATION "ACK notification style" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "Files viewer List Mode" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" +#define STRING_PERSISTENT_INFO "Persistent Status Info" +#define STRING_TERMINAL_ACK "Show ACK in Terminal" +#define STRING_SERIAL_ALWAYS_ON "Serial Always ON" +#define STRING_MARLIN_FULLSCREEN "Marlin mode in fullscreen" +#define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "Move speed(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "Auto Power" +#define STRING_FIL_RUNOUT "Filament sensor" +#define STRING_PL_RECOVERY "Power loss recovery" +#define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" +#define STRING_BTT_MINI_UPS "BTT UPS Support" +#define STRING_TOUCH_SOUND "Touch sounds" +#define STRING_TOAST_SOUND "Toast Notifications" +#define STRING_ALERT_SOUND "Popups and Alerts" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "Brightness" +#define STRING_LCD_IDLE_BRIGHTNESS "Idle brightness" +#define STRING_LCD_IDLE_TIME "Idle timeout" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "Rotary Knob LED" +#define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" +#define STRING_START_GCODE_ENABLED "Start Gcode before print" +#define STRING_END_GCODE_ENABLED "End Gcode after print" +#define STRING_CANCEL_GCODE_ENABLED "Cancel Gcode" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Steps per mm" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "Max Acceleration" - #define STRING_MAXFEEDRATE "Max Feed Rate" - #define STRING_ACCELERATION "Acceleration" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home Offset" - #define STRING_FWRETRACT "FW Retraction" - #define STRING_FWRECOVER "FW Retraction Recover" - #define STRING_RETRACT_AUTO "Auto Firmware Retract" - #define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Probe Offset" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "Driver Current (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Steps per mm" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "Max Acceleration" +#define STRING_MAXFEEDRATE "Max Feed Rate" +#define STRING_ACCELERATION "Acceleration" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home Offset" +#define STRING_FWRETRACT "FW Retraction" +#define STRING_FWRECOVER "FW Retraction Recover" +#define STRING_RETRACT_AUTO "Auto Firmware Retract" +#define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Probe Offset" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "Driver Current (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "TMC bump sensitivity" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Print Acceleration" - #define STRING_RETRACT_ACCELERATION "Retract Acceleration" - #define STRING_TRAVEL_ACCELERATION "Travel Acceleration" - #define STRING_RETRACT_LENGTH "Retract length" - #define STRING_RETRACT_SWAP_LENGTH "Retract swap length" - #define STRING_RETRACT_FEEDRATE "Retract feedrate" - #define STRING_RETRACT_Z_LIFT "Z lift on retraction" - #define STRING_RECOVER_LENGTH "Extra recover length" - #define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" - #define STRING_RECOVER_FEEDRATE "Recover feedrate" - #define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Print Acceleration" +#define STRING_RETRACT_ACCELERATION "Retract Acceleration" +#define STRING_TRAVEL_ACCELERATION "Travel Acceleration" +#define STRING_RETRACT_LENGTH "Retract length" +#define STRING_RETRACT_SWAP_LENGTH "Retract swap length" +#define STRING_RETRACT_FEEDRATE "Retract feedrate" +#define STRING_RETRACT_Z_LIFT "Z lift on retraction" +#define STRING_RECOVER_LENGTH "Extra recover length" +#define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" +#define STRING_RECOVER_FEEDRATE "Recover feedrate" +#define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" - // Save / Load - #define STRING_SAVE "Gravar" - #define STRING_RESTORE "Restore" - #define STRING_RESET "Reset" - #define STRING_EEPROM_SAVE_INFO "Save printer settings to EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Reload settings from EEPROM?" - #define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" - #define STRING_SETTINGS_SAVE "Save settings" - #define STRING_SETTINGS_RESTORE "Restore settings" - #define STRING_SETTINGS_RESET "Reset default settings" - #define STRING_SETTINGS_RESET_INFO "Reset all settings to default values?" - #define STRING_SETTINGS_RESET_DONE "Reset all settings successful.\nPlease restart the device." +// Save / Load +#define STRING_SAVE "Gravar" +#define STRING_RESTORE "Restore" +#define STRING_RESET "Reset" +#define STRING_EEPROM_SAVE_INFO "Save printer settings to EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Reload settings from EEPROM?" +#define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" +#define STRING_SETTINGS_SAVE "Save settings" +#define STRING_SETTINGS_RESTORE "Restore settings" +#define STRING_SETTINGS_RESET "Reset default settings" +#define STRING_SETTINGS_RESET_INFO "Reset all settings to default values?" +#define STRING_SETTINGS_RESET_DONE "Reset all settings successful.\nPlease restart the device." - // Navigation Buttons - #define STRING_PAGE_UP "Subir pagina" - #define STRING_PAGE_DOWN "Pagina abaixo" - #define STRING_UP "Up" - #define STRING_DOWN "Down" - #define STRING_NEXT "Next" - #define STRING_BACK "Voltar" +// Navigation Buttons +#define STRING_PAGE_UP "Subir pagina" +#define STRING_PAGE_DOWN "Pagina abaixo" +#define STRING_UP "Up" +#define STRING_DOWN "Down" +#define STRING_NEXT "Next" +#define STRING_BACK "Voltar" - // Value Buttons - #define STRING_INC "Aumentar" - #define STRING_DEC "Diminuir" - #define STRING_LOAD "Carregar" - #define STRING_UNLOAD "Descarregar" - #define STRING_ON "ON" - #define STRING_OFF "OFF" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Lento" - #define STRING_NORMAL "Normal" - #define STRING_FAST "Rapido" - #define STRING_ZERO "Zero" - #define STRING_HALF "Half" - #define STRING_FULL "Full" - #define STRING_CUSTOM "Custom" - #define STRING_CLEAR "Clear" - #define STRING_DEFAULT "Default" +// Value Buttons +#define STRING_INC "Aumentar" +#define STRING_DEC "Diminuir" +#define STRING_LOAD "Carregar" +#define STRING_UNLOAD "Descarregar" +#define STRING_ON "ON" +#define STRING_OFF "OFF" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Lento" +#define STRING_NORMAL "Normal" +#define STRING_FAST "Rapido" +#define STRING_ZERO "Zero" +#define STRING_HALF "Half" +#define STRING_FULL "Full" +#define STRING_CUSTOM "Custom" +#define STRING_CLEAR "Clear" +#define STRING_DEFAULT "Default" - // Action Buttons - #define STRING_START "Start" - #define STRING_STOP "Parar" - #define STRING_PAUSE "Pausar" - #define STRING_RESUME "Resumir" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Desconectar" - #define STRING_SHUT_DOWN "Desligar" - #define STRING_FORCE_SHUT_DOWN "Force" - #define STRING_EMERGENCYSTOP "EMERGENCIA STOP" - #define STRING_PREHEAT "Aquecer" - #define STRING_PREHEAT_BOTH "Ambos" - #define STRING_COOLDOWN "Arrefecer" +// Action Buttons +#define STRING_START "Start" +#define STRING_STOP "Parar" +#define STRING_PAUSE "Pausar" +#define STRING_RESUME "Resumir" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Desconectar" +#define STRING_SHUT_DOWN "Desligar" +#define STRING_FORCE_SHUT_DOWN "Force" +#define STRING_EMERGENCYSTOP "EMERGENCIA STOP" +#define STRING_PREHEAT "Aquecer" +#define STRING_PREHEAT_BOTH "Ambos" +#define STRING_COOLDOWN "Arrefecer" - // Dialog Buttons - #define STRING_CONFIRM "Confirme" - #define STRING_CANCEL "Cancelar" - #define STRING_WARNING "Aviso" - #define STRING_CONTINUE "Continuar" - #define STRING_CONFIRMATION "Are you sure?" +// Dialog Buttons +#define STRING_CONFIRM "Confirme" +#define STRING_CANCEL "Cancelar" +#define STRING_WARNING "Aviso" +#define STRING_CONTINUE "Continuar" +#define STRING_CONFIRMATION "Are you sure?" - // Process Status - #define STRING_STATUS "Status" - #define STRING_READY "Pronto" - #define STRING_BUSY "Em processamento, aguarde..." - #define STRING_LOADING "Carregando..." - #define STRING_UNCONNECTED "Nenhuma impressora conectada!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "Status" +#define STRING_READY "Pronto" +#define STRING_BUSY "Em processamento, aguarde..." +#define STRING_LOADING "Carregando..." +#define STRING_UNCONNECTED "Nenhuma impressora conectada!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "Info" - #define STRING_INVALID_VALUE "Invalid value(s)" - #define STRING_TIMEOUT_REACHED "Timeout reached!" - #define STRING_DISCONNECT_INFO "Agora podes controlar a impressora com o computador!" - #define STRING_SHUTTING_DOWN "Shutting down..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Wait for the hotend temperature to be lower than %d ℃" // Wait for the temperature of hotend to be lower than 50℃ - #define STRING_POWER_FAILED "Continuar a imprimir?" - #define STRING_PROCESS_COMPLETED "Process completed!" - #define STRING_PROCESS_ABORTED "Process aborted!" +// Process Info +#define STRING_INFO "Info" +#define STRING_INVALID_VALUE "Invalid value(s)" +#define STRING_TIMEOUT_REACHED "Timeout reached!" +#define STRING_DISCONNECT_INFO "Agora podes controlar a impressora com o computador!" +#define STRING_SHUTTING_DOWN "Shutting down..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Wait for the hotend temperature to be lower than %d ℃" // Wait for the temperature of hotend to be lower than 50℃ +#define STRING_POWER_FAILED "Continuar a imprimir?" +#define STRING_PROCESS_COMPLETED "Process completed!" +#define STRING_PROCESS_ABORTED "Process aborted!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT SD" - #define STRING_TFT_SD_INSERTED "Cartao inserido" - #define STRING_TFT_SD_REMOVED "Cartao removido" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "Erro a ler SD card!" - #define STRING_TFT_USB "TFT USB" - #define STRING_TFT_USB_INSERTED "USB disk inserido" - #define STRING_TFT_USB_REMOVED "USB disk removido" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "Erro a ler USB disk!" - #define STRING_ONBOARD_SD "Onboard SD" - #define STRING_ONBOARD_USB "OnboardUSB" - #define STRING_ONBOARD_SD_READ_ERROR "Erro a ler onboard media!" - #define STRING_FILAMENT_RUNOUT "Filamento runout!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT SD" +#define STRING_TFT_SD_INSERTED "Cartao inserido" +#define STRING_TFT_SD_REMOVED "Cartao removido" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "Erro a ler SD card!" +#define STRING_TFT_USB "TFT USB" +#define STRING_TFT_USB_INSERTED "USB disk inserido" +#define STRING_TFT_USB_REMOVED "USB disk removido" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "Erro a ler USB disk!" +#define STRING_ONBOARD_SD "Onboard SD" +#define STRING_ONBOARD_USB "OnboardUSB" +#define STRING_ONBOARD_SD_READ_ERROR "Erro a ler onboard media!" +#define STRING_FILAMENT_RUNOUT "Filamento runout!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Disarm All" - #define STRING_XY_UNLOCK "Desbloquear XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Disarm All" +#define STRING_XY_UNLOCK "Desbloquear XY" - #define STRING_START_PRINT "Start printing:\n%s?" - #define STRING_STOP_PRINT "Parar de imprimir?" - #define STRING_IS_PAUSE "Nao e possível a extrusão durante a impressao,\npausar a impressao?" - #define STRING_M0_PAUSE "Paused by M0 command" +#define STRING_START_PRINT "Start printing:\n%s?" +#define STRING_STOP_PRINT "Parar de imprimir?" +#define STRING_IS_PAUSE "Nao e possível a extrusão durante a impressao,\npausar a impressao?" +#define STRING_M0_PAUSE "Paused by M0 command" - #define STRING_TEST "Testar" - #define STRING_DEPLOY "Abrir" - #define STRING_STOW "Encolher" - #define STRING_REPEAT "Repetir" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Testar" +#define STRING_DEPLOY "Abrir" +#define STRING_STOW "Encolher" +#define STRING_REPEAT "Repetir" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Nozzle" - #define STRING_BED "Hotbed" - #define STRING_CHAMBER "Chamber" - #define STRING_FAN "Ventoinha" +// Printer Tools +#define STRING_NOZZLE "Nozzle" +#define STRING_BED "Hotbed" +#define STRING_CHAMBER "Chamber" +#define STRING_FAN "Ventoinha" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 Sec." - #define STRING_10_SECONDS "10 Sec." - #define STRING_30_SECONDS "30 Sec." - #define STRING_60_SECONDS "1 Min." - #define STRING_120_SECONDS "2 Min." - #define STRING_300_SECONDS "5 Min." +#define STRING_5_SECONDS "5 Sec." +#define STRING_10_SECONDS "10 Sec." +#define STRING_30_SECONDS "30 Sec." +#define STRING_60_SECONDS "1 Min." +#define STRING_120_SECONDS "2 Min." +#define STRING_300_SECONDS "5 Min." - // Colors - #define STRING_WHITE "Branco" - #define STRING_BLACK "Preto" - #define STRING_BLUE "Azul" - #define STRING_RED "Vermelho" - #define STRING_GREEN "Verde" - #define STRING_CYAN "Turquesa" - #define STRING_YELLOW "Amarelo" - #define STRING_BROWN "Castanho" - #define STRING_GRAY "Cinzento" - #define STRING_ORANGE "Orange" - #define STRING_INDIGO "Indigo" - #define STRING_VIOLET "Violet" - #define STRING_MAGENTA "Magenta" - #define STRING_PURPLE "Purple" - #define STRING_LIME "Lime" - #define STRING_DARKBLUE "DarkBlue" - #define STRING_DARKGREEN "DarkGreen" - #define STRING_DARKGRAY "DarkGray" +// Colors +#define STRING_WHITE "Branco" +#define STRING_BLACK "Preto" +#define STRING_BLUE "Azul" +#define STRING_RED "Vermelho" +#define STRING_GREEN "Verde" +#define STRING_CYAN "Turquesa" +#define STRING_YELLOW "Amarelo" +#define STRING_BROWN "Castanho" +#define STRING_GRAY "Cinzento" +#define STRING_ORANGE "Orange" +#define STRING_INDIGO "Indigo" +#define STRING_VIOLET "Violet" +#define STRING_MAGENTA "Magenta" +#define STRING_PURPLE "Purple" +#define STRING_LIME "Lime" +#define STRING_DARKBLUE "DarkBlue" +#define STRING_DARKGREEN "DarkGreen" +#define STRING_DARKGRAY "DarkGray" - // Menus - #define STRING_HEAT "Aquecer" - #define STRING_MOVE "Mover" - #define STRING_HOME "Inicio" - #define STRING_PRINT "Imprimir" - #define STRING_EXTRUDE "Extrudir" - #define STRING_SETTINGS "Configurar" - #define STRING_SCREEN_SETTINGS "Ecra" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Sound" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Impressora" - #define STRING_PARAMETER_SETTINGS "Parâmetro" - #define STRING_FEATURE_SETTINGS "Extras" - #define STRING_CONNECTION_SETTINGS "Connection" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "BaudRate" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "LED cor" - #define STRING_RGB_OFF "Desligar" - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "Nivelar" - #define STRING_POINT_1 "Ponto 1" - #define STRING_POINT_2 "Ponto 2" - #define STRING_POINT_3 "Ponto 3" - #define STRING_POINT_4 "Ponto 4" - #define STRING_POINT_5 "Ponto 5" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Bed Leveling Complete" - #define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" - #define STRING_BL_ENABLE "BL: on" - #define STRING_BL_DISABLE "BL: off" - #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_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 "Save the mesh to EEPROM to load after reboot?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Distance" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Load/Unload" // needs translation - #define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation - #define STRING_TOUCHSCREEN_ADJUST "Ajustar" - #define STRING_MORE "Mais" - #define STRING_SCREEN_INFO "Info" - #define STRING_BG_COLOR "Background color" - #define STRING_FONT_COLOR "Font color" - #define STRING_PERCENTAGE "Percentagem" - #define STRING_PERCENTAGE_SPEED "Rapidez" - #define STRING_PERCENTAGE_FLOW "Fluxo" - #define STRING_BABYSTEP "BabyStep" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Calibracao do Touch Screen" - #define STRING_ADJUST_INFO "Por favor, clique no ponto vermelho" - #define STRING_ADJUST_OK "Ajustado com sucesso" - #define STRING_ADJUST_FAILED "Ajuste falhou, tente novamente" - #define STRING_UNIFIEDMOVE "Movimento" - #define STRING_UNIFIEDHEAT "Heat/Fan" - #define STRING_TOUCH_TO_EXIT "Toque em qualquer lugar para sair" - #define STRING_MAINMENU "Menu" - #define STRING_TUNING "Tuning" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC autotune" - #define STRING_MPC_METHOD "Método:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID autotune" - #define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" - #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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" - #define STRING_MESH_EDITOR "Mesh edit" - #define STRING_MESH_TUNER "Mesh tuner" - #define STRING_CASE_LIGHT "Case light" - #define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed - #define STRING_PRINT_FINISHED " Print\n finished" - #define STRING_MAIN_SCREEN "Main" - #define STRING_PREVIOUS_PRINT_DATA "Brief" - #define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament cost: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament data not available." - #define STRING_CLICK_FOR_MORE "Click for summary" - #define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." - #define STRING_HEAT_HOTEND "Heat hotend to %d℃?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "Aquecer" +#define STRING_MOVE "Mover" +#define STRING_HOME "Inicio" +#define STRING_PRINT "Imprimir" +#define STRING_EXTRUDE "Extrudir" +#define STRING_SETTINGS "Configurar" +#define STRING_SCREEN_SETTINGS "Ecra" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Sound" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Impressora" +#define STRING_PARAMETER_SETTINGS "Parâmetro" +#define STRING_FEATURE_SETTINGS "Extras" +#define STRING_CONNECTION_SETTINGS "Connection" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "BaudRate" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "LED cor" +#define STRING_RGB_OFF "Desligar" +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "Nivelar" +#define STRING_POINT_1 "Ponto 1" +#define STRING_POINT_2 "Ponto 2" +#define STRING_POINT_3 "Ponto 3" +#define STRING_POINT_4 "Ponto 4" +#define STRING_POINT_5 "Ponto 5" +#define STRING_BED_LEVELING "Bed Level" +#define STRING_BL_COMPLETE "Bed Leveling Complete" +#define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" +#define STRING_BL_ENABLE "BL: on" +#define STRING_BL_DISABLE "BL: off" +#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_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 "Save the mesh to EEPROM to load after reboot?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Distance" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Load/Unload" // needs translation +#define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation +#define STRING_TOUCHSCREEN_ADJUST "Ajustar" +#define STRING_MORE "Mais" +#define STRING_SCREEN_INFO "Info" +#define STRING_BG_COLOR "Background color" +#define STRING_FONT_COLOR "Font color" +#define STRING_PERCENTAGE "Percentagem" +#define STRING_PERCENTAGE_SPEED "Rapidez" +#define STRING_PERCENTAGE_FLOW "Fluxo" +#define STRING_BABYSTEP "BabyStep" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Calibracao do Touch Screen" +#define STRING_ADJUST_INFO "Por favor, clique no ponto vermelho" +#define STRING_ADJUST_OK "Ajustado com sucesso" +#define STRING_ADJUST_FAILED "Ajuste falhou, tente novamente" +#define STRING_UNIFIEDMOVE "Movimento" +#define STRING_UNIFIEDHEAT "Heat/Fan" +#define STRING_TOUCH_TO_EXIT "Toque em qualquer lugar para sair" +#define STRING_MAINMENU "Menu" +#define STRING_TUNING "Tuning" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC autotune" +#define STRING_MPC_METHOD "Método:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID autotune" +#define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" +#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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" +#define STRING_MESH_EDITOR "Mesh edit" +#define STRING_MESH_TUNER "Mesh tuner" +#define STRING_CASE_LIGHT "Case light" +#define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed +#define STRING_PRINT_FINISHED " Print\n finished" +#define STRING_MAIN_SCREEN "Main" +#define STRING_PREVIOUS_PRINT_DATA "Brief" +#define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament cost: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament data not available." +#define STRING_CLICK_FOR_MORE "Click for summary" +#define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." +#define STRING_HEAT_HOTEND "Heat hotend to %d℃?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_ru.h b/TFT/src/User/API/Language/language_ru.h index d843efa38..a74dab148 100644 --- a/TFT/src/User/API/Language/language_ru.h +++ b/TFT/src/User/API/Language/language_ru.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_RU_H_ #define _LANGUAGE_RU_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Русский" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Эмуляция M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "Переворот" - #define STRING_ACK_NOTIFICATION "ACK стиль уведомления" - #define STRING_FILES_SORT_BY "Сортировать по" - #define STRING_FILES_LIST_MODE "Файлы в режиме строк" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Скорость вентилятора в процентах" - #define STRING_PERSISTENT_INFO "Нагрев в инфостроке" - #define STRING_TERMINAL_ACK "ACK терминала (C°)" - #define STRING_SERIAL_ALWAYS_ON "Серийный порт Всегда ВКЛЮЧЕН" - #define STRING_MARLIN_FULLSCREEN "Marlin на весь экран" - #define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" - #define STRING_MARLIN_TYPE "Marlin тип режима" - #define STRING_MOVE_SPEED "Скорость (X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Автоматическая Загрузка Сетки" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Автоматическое выравнивание" - #define STRING_PS_AUTO_SHUTDOWN "Автовыключение" - #define STRING_FIL_RUNOUT "Сенсор прутка" - #define STRING_PL_RECOVERY "Работа после потери питания" - #define STRING_PL_RECOVERY_HOME "Работа после потери питания с парковкой" - #define STRING_BTT_MINI_UPS "Поддержка BTT UPS " - #define STRING_TOUCH_SOUND "Звуки нажатий" - #define STRING_TOAST_SOUND "Звуки инфостроки" - #define STRING_ALERT_SOUND "Предупреждения" - #define STRING_HEATER_SOUND "Уведомление о нагревателе" - #define STRING_LCD_BRIGHTNESS "Яркость" - #define STRING_LCD_IDLE_BRIGHTNESS "Регулировка яркости LCD" - #define STRING_LCD_IDLE_TIME "Время до гашения LCD" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "Подсветка энкодера" - #define STRING_KNOB_LED_IDLE "Простой подсветки энкодера" - #define STRING_START_GCODE_ENABLED "G-код перед печатью" - #define STRING_END_GCODE_ENABLED "G-код после печати" - #define STRING_CANCEL_GCODE_ENABLED "G-код отмены печати" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Русский" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Эмуляция M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "Переворот" +#define STRING_ACK_NOTIFICATION "ACK стиль уведомления" +#define STRING_FILES_SORT_BY "Сортировать по" +#define STRING_FILES_LIST_MODE "Файлы в режиме строк" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Скорость вентилятора в процентах" +#define STRING_PERSISTENT_INFO "Нагрев в инфостроке" +#define STRING_TERMINAL_ACK "ACK терминала (C°)" +#define STRING_SERIAL_ALWAYS_ON "Серийный порт Всегда ВКЛЮЧЕН" +#define STRING_MARLIN_FULLSCREEN "Marlin на весь экран" +#define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" +#define STRING_MARLIN_TYPE "Marlin тип режима" +#define STRING_MOVE_SPEED "Скорость (X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Автоматическая Загрузка Сетки" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Автоматическое выравнивание" +#define STRING_PS_AUTO_SHUTDOWN "Автовыключение" +#define STRING_FIL_RUNOUT "Сенсор прутка" +#define STRING_PL_RECOVERY "Работа после потери питания" +#define STRING_PL_RECOVERY_HOME "Работа после потери питания с парковкой" +#define STRING_BTT_MINI_UPS "Поддержка BTT UPS " +#define STRING_TOUCH_SOUND "Звуки нажатий" +#define STRING_TOAST_SOUND "Звуки инфостроки" +#define STRING_ALERT_SOUND "Предупреждения" +#define STRING_HEATER_SOUND "Уведомление о нагревателе" +#define STRING_LCD_BRIGHTNESS "Яркость" +#define STRING_LCD_IDLE_BRIGHTNESS "Регулировка яркости LCD" +#define STRING_LCD_IDLE_TIME "Время до гашения LCD" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "Подсветка энкодера" +#define STRING_KNOB_LED_IDLE "Простой подсветки энкодера" +#define STRING_START_GCODE_ENABLED "G-код перед печатью" +#define STRING_END_GCODE_ENABLED "G-код после печати" +#define STRING_CANCEL_GCODE_ENABLED "G-код отмены печати" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Настройка шагов на мм" - #define STRING_FILAMENT_SETTING "Диаметр прутка" - #define STRING_MAXACCELERATION "MAX ускорение" - #define STRING_MAXFEEDRATE "MAX скорость подачи" - #define STRING_ACCELERATION "Ускорение" - #define STRING_JERK "Рывок" - #define STRING_JUNCTION_DEVIATION "Отклонение узла" - #define STRING_HOME_OFFSET "Дом - отступы" - #define STRING_FWRETRACT "M207 ретракт" - #define STRING_FWRECOVER "M208 восстановление ретракта" - #define STRING_RETRACT_AUTO "Авто FW ретракт" - #define STRING_HOTEND_OFFSET "Смещение 2-го сопла" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Смещение датчика" - #define STRING_LIN_ADVANCE "К-фактор" - #define STRING_CURRENT_SETTING "Настройка TMC драйверов" - #define STRING_HYBRID_THRESHOLD "TMC гибридный порог" - #define STRING_BUMP_SENSITIVITY "TMC чувствительность удара" - #define STRING_MBL_OFFSET "MBL Смещение" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Настройка шагов на мм" +#define STRING_FILAMENT_SETTING "Диаметр прутка" +#define STRING_MAXACCELERATION "MAX ускорение" +#define STRING_MAXFEEDRATE "MAX скорость подачи" +#define STRING_ACCELERATION "Ускорение" +#define STRING_JERK "Рывок" +#define STRING_JUNCTION_DEVIATION "Отклонение узла" +#define STRING_HOME_OFFSET "Дом - отступы" +#define STRING_FWRETRACT "M207 ретракт" +#define STRING_FWRECOVER "M208 восстановление ретракта" +#define STRING_RETRACT_AUTO "Авто FW ретракт" +#define STRING_HOTEND_OFFSET "Смещение 2-го сопла" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Смещение датчика" +#define STRING_LIN_ADVANCE "К-фактор" +#define STRING_CURRENT_SETTING "Настройка TMC драйверов" +#define STRING_HYBRID_THRESHOLD "TMC гибридный порог" +#define STRING_BUMP_SENSITIVITY "TMC чувствительность удара" +#define STRING_MBL_OFFSET "MBL Смещение" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Печати" - #define STRING_RETRACT_ACCELERATION "Ретракта" - #define STRING_TRAVEL_ACCELERATION "Перемещения" - #define STRING_RETRACT_LENGTH "Длина" - #define STRING_RETRACT_SWAP_LENGTH "Длина при смене сопла" - #define STRING_RETRACT_FEEDRATE "Скорость" - #define STRING_RETRACT_Z_LIFT "Подъём по Z" - #define STRING_RECOVER_LENGTH "Длина" - #define STRING_SWAP_RECOVER_LENGTH "Длина при смене сопла" - #define STRING_RECOVER_FEEDRATE "Скорость" - #define STRING_SWAP_RECOVER_FEEDRATE "Скорость при смене сопла" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Печати" +#define STRING_RETRACT_ACCELERATION "Ретракта" +#define STRING_TRAVEL_ACCELERATION "Перемещения" +#define STRING_RETRACT_LENGTH "Длина" +#define STRING_RETRACT_SWAP_LENGTH "Длина при смене сопла" +#define STRING_RETRACT_FEEDRATE "Скорость" +#define STRING_RETRACT_Z_LIFT "Подъём по Z" +#define STRING_RECOVER_LENGTH "Длина" +#define STRING_SWAP_RECOVER_LENGTH "Длина при смене сопла" +#define STRING_RECOVER_FEEDRATE "Скорость" +#define STRING_SWAP_RECOVER_FEEDRATE "Скорость при смене сопла" - // Save / Load - #define STRING_SAVE "Сохранить" - #define STRING_RESTORE "Вернуть" - #define STRING_RESET "Сброс" - #define STRING_EEPROM_SAVE_INFO "Сохранить настройки принтера в EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Загрузить настройки из EEPROM?" - #define STRING_EEPROM_RESET_INFO "Сбрость EEPROM настройки принтера на начальные?" - #define STRING_SETTINGS_SAVE "Сохранить настройки" - #define STRING_SETTINGS_RESTORE "Восстановить настройки" - #define STRING_SETTINGS_RESET "Сбросить настройки" - #define STRING_SETTINGS_RESET_INFO "Все настройки будут сброшены по умолчанию.\nПродолжить?" - #define STRING_SETTINGS_RESET_DONE "Успешный сброс настроек экрана. Для полного вступления в силу,\nперегрузите устройство." +// Save / Load +#define STRING_SAVE "Сохранить" +#define STRING_RESTORE "Вернуть" +#define STRING_RESET "Сброс" +#define STRING_EEPROM_SAVE_INFO "Сохранить настройки принтера в EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Загрузить настройки из EEPROM?" +#define STRING_EEPROM_RESET_INFO "Сбрость EEPROM настройки принтера на начальные?" +#define STRING_SETTINGS_SAVE "Сохранить настройки" +#define STRING_SETTINGS_RESTORE "Восстановить настройки" +#define STRING_SETTINGS_RESET "Сбросить настройки" +#define STRING_SETTINGS_RESET_INFO "Все настройки будут сброшены по умолчанию.\nПродолжить?" +#define STRING_SETTINGS_RESET_DONE "Успешный сброс настроек экрана. Для полного вступления в силу,\nперегрузите устройство." - // Navigation Buttons - #define STRING_PAGE_UP "<---" - #define STRING_PAGE_DOWN "--->" - #define STRING_UP "Вверх" - #define STRING_DOWN "Вниз" - #define STRING_NEXT "Следующий" - #define STRING_BACK "Назад" +// Navigation Buttons +#define STRING_PAGE_UP "<---" +#define STRING_PAGE_DOWN "--->" +#define STRING_UP "Вверх" +#define STRING_DOWN "Вниз" +#define STRING_NEXT "Следующий" +#define STRING_BACK "Назад" - // Value Buttons - #define STRING_INC "Увеличить" - #define STRING_DEC "Уменьшить" - #define STRING_LOAD "Загрузка" - #define STRING_UNLOAD "Выгрузка" - #define STRING_ON "Вкл" - #define STRING_OFF "Выкл" - #define STRING_AUTO "AUTO" - #define STRING_SMART "Умный" - #define STRING_SLOW "Медленно" - #define STRING_NORMAL "Обычно" - #define STRING_FAST "Быстро" - #define STRING_ZERO "Обнулить" - #define STRING_HALF "50%" - #define STRING_FULL "Максимум" - #define STRING_CUSTOM "Своё меню" - #define STRING_CLEAR "Убрать" - #define STRING_DEFAULT "По умолчанию" +// Value Buttons +#define STRING_INC "Увеличить" +#define STRING_DEC "Уменьшить" +#define STRING_LOAD "Загрузка" +#define STRING_UNLOAD "Выгрузка" +#define STRING_ON "Вкл" +#define STRING_OFF "Выкл" +#define STRING_AUTO "AUTO" +#define STRING_SMART "Умный" +#define STRING_SLOW "Медленно" +#define STRING_NORMAL "Обычно" +#define STRING_FAST "Быстро" +#define STRING_ZERO "Обнулить" +#define STRING_HALF "50%" +#define STRING_FULL "Максимум" +#define STRING_CUSTOM "Своё меню" +#define STRING_CLEAR "Убрать" +#define STRING_DEFAULT "По умолчанию" - // Action Buttons - #define STRING_START "Начать" - #define STRING_STOP "Стоп" - #define STRING_PAUSE "Пауза" - #define STRING_RESUME "Продолжить" - #define STRING_INIT "Инициализация" - #define STRING_DISCONNECT "Отключить" - #define STRING_SHUT_DOWN "Выключить" - #define STRING_FORCE_SHUT_DOWN "Принудительно выкл" - #define STRING_EMERGENCYSTOP "Экст.стоп" - #define STRING_PREHEAT "Преднагрев" - #define STRING_PREHEAT_BOTH "Оба" - #define STRING_COOLDOWN "Охладить" +// Action Buttons +#define STRING_START "Начать" +#define STRING_STOP "Стоп" +#define STRING_PAUSE "Пауза" +#define STRING_RESUME "Продолжить" +#define STRING_INIT "Инициализация" +#define STRING_DISCONNECT "Отключить" +#define STRING_SHUT_DOWN "Выключить" +#define STRING_FORCE_SHUT_DOWN "Принудительно выкл" +#define STRING_EMERGENCYSTOP "Экст.стоп" +#define STRING_PREHEAT "Преднагрев" +#define STRING_PREHEAT_BOTH "Оба" +#define STRING_COOLDOWN "Охладить" - // Dialog Buttons - #define STRING_CONFIRM "OK" - #define STRING_CANCEL "Отмена" - #define STRING_WARNING "Внимание" - #define STRING_CONTINUE "Продолжение" - #define STRING_CONFIRMATION "Вы уверены?" +// Dialog Buttons +#define STRING_CONFIRM "OK" +#define STRING_CANCEL "Отмена" +#define STRING_WARNING "Внимание" +#define STRING_CONTINUE "Продолжение" +#define STRING_CONFIRMATION "Вы уверены?" - // Process Status - #define STRING_STATUS "Статус" - #define STRING_READY "Готов" - #define STRING_BUSY "В процессе, ждите..." - #define STRING_LOADING "Загрузка..." - #define STRING_UNCONNECTED "Нет подключения!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "Статус" +#define STRING_READY "Готов" +#define STRING_BUSY "В процессе, ждите..." +#define STRING_LOADING "Загрузка..." +#define STRING_UNCONNECTED "Нет подключения!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "Информация" - #define STRING_INVALID_VALUE "Остутствуют правильные значения!" - #define STRING_TIMEOUT_REACHED "Время истекло!" - #define STRING_DISCONNECT_INFO "Управление принтером через компьютер" - #define STRING_SHUTTING_DOWN "Выключаю..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Дождитесь температуры сопла не ниже чем %d℃" - #define STRING_POWER_FAILED "Продолжить печать?" - #define STRING_PROCESS_COMPLETED "Процесс завершён!" - #define STRING_PROCESS_ABORTED "Процесс прерван!" +// Process Info +#define STRING_INFO "Информация" +#define STRING_INVALID_VALUE "Остутствуют правильные значения!" +#define STRING_TIMEOUT_REACHED "Время истекло!" +#define STRING_DISCONNECT_INFO "Управление принтером через компьютер" +#define STRING_SHUTTING_DOWN "Выключаю..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Дождитесь температуры сопла не ниже чем %d℃" +#define STRING_POWER_FAILED "Продолжить печать?" +#define STRING_PROCESS_COMPLETED "Процесс завершён!" +#define STRING_PROCESS_ABORTED "Процесс прерван!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "SD экрана" - #define STRING_TFT_SD_INSERTED "SD карта вставлена" - #define STRING_TFT_SD_REMOVED "SD карта извлечена" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "Ошибка чтения SD карты!" - #define STRING_TFT_USB "Флеш карта" - #define STRING_TFT_USB_INSERTED "Флеш карта вставлена" - #define STRING_TFT_USB_REMOVED "Флеш карта извлечена" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "Ошибка чтения флеш карты!" - #define STRING_ONBOARD_SD "SD платы" - #define STRING_ONBOARD_USB "USB платы" - #define STRING_ONBOARD_SD_READ_ERROR "Ошибка чтения SD карты!" - #define STRING_FILAMENT_RUNOUT "Пруток закончился" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "SD экрана" +#define STRING_TFT_SD_INSERTED "SD карта вставлена" +#define STRING_TFT_SD_REMOVED "SD карта извлечена" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "Ошибка чтения SD карты!" +#define STRING_TFT_USB "Флеш карта" +#define STRING_TFT_USB_INSERTED "Флеш карта вставлена" +#define STRING_TFT_USB_REMOVED "Флеш карта извлечена" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "Ошибка чтения флеш карты!" +#define STRING_ONBOARD_SD "SD платы" +#define STRING_ONBOARD_USB "USB платы" +#define STRING_ONBOARD_SD_READ_ERROR "Ошибка чтения SD карты!" +#define STRING_FILAMENT_RUNOUT "Пруток закончился" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Двигатели" - #define STRING_XY_UNLOCK "Моторы выкл" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Двигатели" +#define STRING_XY_UNLOCK "Моторы выкл" - #define STRING_START_PRINT "Начать печать:\n%s?" - #define STRING_STOP_PRINT "Остановить печать?" - #define STRING_IS_PAUSE "Невозможна экструзия при печати, поставить\nна паузу?" - #define STRING_M0_PAUSE "Пауза по команде M0" +#define STRING_START_PRINT "Начать печать:\n%s?" +#define STRING_STOP_PRINT "Остановить печать?" +#define STRING_IS_PAUSE "Невозможна экструзия при печати, поставить\nна паузу?" +#define STRING_M0_PAUSE "Пауза по команде M0" - #define STRING_TEST "BLT тест" - #define STRING_DEPLOY "BLT вниз" - #define STRING_STOW "BLT вверх" - #define STRING_REPEAT "Точность Z" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "BLT тест" +#define STRING_DEPLOY "BLT вниз" +#define STRING_STOW "BLT вверх" +#define STRING_REPEAT "Точность Z" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Сопло" - #define STRING_BED "Стол" - #define STRING_CHAMBER "Камера" - #define STRING_FAN "Вентилятор" +// Printer Tools +#define STRING_NOZZLE "Сопло" +#define STRING_BED "Стол" +#define STRING_CHAMBER "Камера" +#define STRING_FAN "Вентилятор" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01мм" - #define STRING_01_MM "0.1мм" - #define STRING_1_MM "1мм" - #define STRING_5_MM "5мм" - #define STRING_10_MM "10мм" - #define STRING_100_MM "100мм" - #define STRING_200_MM "200мм" +#define STRING_001_MM "0.01мм" +#define STRING_01_MM "0.1мм" +#define STRING_1_MM "1мм" +#define STRING_5_MM "5мм" +#define STRING_10_MM "10мм" +#define STRING_100_MM "100мм" +#define STRING_200_MM "200мм" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 сек." - #define STRING_10_SECONDS "10 сек." - #define STRING_30_SECONDS "30 сек." - #define STRING_60_SECONDS "1 мин." - #define STRING_120_SECONDS "2 мин." - #define STRING_300_SECONDS "5 мин." +#define STRING_5_SECONDS "5 сек." +#define STRING_10_SECONDS "10 сек." +#define STRING_30_SECONDS "30 сек." +#define STRING_60_SECONDS "1 мин." +#define STRING_120_SECONDS "2 мин." +#define STRING_300_SECONDS "5 мин." - // Colors - #define STRING_WHITE "Белый" - #define STRING_BLACK "Чёрный" - #define STRING_BLUE "Синий" - #define STRING_RED "Красный" - #define STRING_GREEN "Зелёный" - #define STRING_CYAN "Голубой" - #define STRING_YELLOW "Жёлтый" - #define STRING_BROWN "Коричневый" - #define STRING_GRAY "Серый" - #define STRING_ORANGE "Оранжевый" - #define STRING_INDIGO "Индиго" - #define STRING_VIOLET "Фиолетовый" - #define STRING_MAGENTA "Маджента" - #define STRING_PURPLE "Пурпурный" - #define STRING_LIME "Лаймовый" - #define STRING_DARKBLUE "Тёмно-синий" - #define STRING_DARKGREEN "Тёмно-зелёный" - #define STRING_DARKGRAY "Тёмно-серый" +// Colors +#define STRING_WHITE "Белый" +#define STRING_BLACK "Чёрный" +#define STRING_BLUE "Синий" +#define STRING_RED "Красный" +#define STRING_GREEN "Зелёный" +#define STRING_CYAN "Голубой" +#define STRING_YELLOW "Жёлтый" +#define STRING_BROWN "Коричневый" +#define STRING_GRAY "Серый" +#define STRING_ORANGE "Оранжевый" +#define STRING_INDIGO "Индиго" +#define STRING_VIOLET "Фиолетовый" +#define STRING_MAGENTA "Маджента" +#define STRING_PURPLE "Пурпурный" +#define STRING_LIME "Лаймовый" +#define STRING_DARKBLUE "Тёмно-синий" +#define STRING_DARKGREEN "Тёмно-зелёный" +#define STRING_DARKGRAY "Тёмно-серый" - // Menus - #define STRING_HEAT "Нагрев" - #define STRING_MOVE "Движение" - #define STRING_HOME "Домой" - #define STRING_PRINT "Печать" - #define STRING_EXTRUDE "Экструзия" - #define STRING_SETTINGS "Настройки" - #define STRING_SCREEN_SETTINGS "Экран" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Звуки" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Принтер" - #define STRING_PARAMETER_SETTINGS "Параметры" - #define STRING_FEATURE_SETTINGS "Опции" - #define STRING_CONNECTION_SETTINGS "Соединение" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "Скорость" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "Цвет LED" - #define STRING_RGB_OFF "LED выкл" - #define STRING_TERMINAL "Терминал" - #define STRING_LEVELING "Стол вруч." - #define STRING_POINT_1 "Точка 1" - #define STRING_POINT_2 "Точка 2" - #define STRING_POINT_3 "Точка 3" - #define STRING_POINT_4 "Точка 4" - #define STRING_POINT_5 "Точка 5" - #define STRING_BED_LEVELING "Стол равнен." - #define STRING_BL_COMPLETE "Выравнивание стола окончено" - #define STRING_BL_SMART_FILL "Отсутствующие точки замера были атоматически заполнены.\nЗапомните для сохраниения!" - #define STRING_BL_ENABLE "BL: вкл" - #define STRING_BL_DISABLE "BL: выкл" - #define STRING_ABL "ABL" - #define STRING_BBL "BBL" - #define STRING_UBL "UBL" - #define STRING_MBL "MBL" - #define STRING_MBL_SETTINGS "Равнение по сетке" - #define STRING_ABL_SETTINGS "Автовыравнивание" - #define STRING_ABL_SETTINGS_BBL "Билинейная калибровка" - #define STRING_ABL_SETTINGS_UBL "Универсальная калибровка" - #define STRING_ABL_SETTINGS_UBL_SAVE "Сохранить в ячейку" - #define STRING_ABL_SETTINGS_UBL_LOAD "Загрузить из ячейки" - #define STRING_ABL_SLOT0 "Ячейка 0" - #define STRING_ABL_SLOT1 "Ячейка 1" - #define STRING_ABL_SLOT2 "Ячейка 2" - #define STRING_ABL_SLOT3 "Ячейка 3" - #define STRING_ABL_SLOT_EEPROM "Восстановить из ячейки при перезагрузке?\n(Сохранить в EEPROM)" - #define STRING_ABL_Z "Z затухание" - #define STRING_LEVEL_CORNER "Прямой угол" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "Отступ P" - #define STRING_H_OFFSET "Отступ H" - #define STRING_DISTANCE "Отступы" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Загрузить/Выгрузить" - #define STRING_LOAD_UNLOAD_SHORT "За/Выгрузка" - #define STRING_TOUCHSCREEN_ADJUST "Калибровка" - #define STRING_MORE "Больше" - #define STRING_SCREEN_INFO "Инфо" - #define STRING_BG_COLOR "Фоновый цвет" - #define STRING_FONT_COLOR "Цвет шрифта" - #define STRING_PERCENTAGE "Подстройки" - #define STRING_PERCENTAGE_SPEED "Скорость" - #define STRING_PERCENTAGE_FLOW "Поток" - #define STRING_BABYSTEP "Микрошаг Z" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Калибровка экрана" - #define STRING_ADJUST_INFO "Нажмите на красную точку" - #define STRING_ADJUST_OK "Успешная калибровка" - #define STRING_ADJUST_FAILED "Неудачная калибровка, попробуйте снова" - #define STRING_UNIFIEDMOVE "Движение" - #define STRING_UNIFIEDHEAT "Нагрев" - #define STRING_TOUCH_TO_EXIT "Нажмите для возврата" - #define STRING_MAINMENU "Меню" - #define STRING_TUNING "Наладка" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC автонастройка" - #define STRING_MPC_METHOD "Метод:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID автонастройка" - #define STRING_TUNE_START_INFO "Сейчас будет запущена автонастройка, это займёт некоторое время. Продолжить?" - #define STRING_TUNE_EXTRUDER "Настройка шагов" - #define STRING_TUNE_EXT_EXTRUDE_100 "100мм экст." - #define STRING_TUNE_EXT_TEMP "Настройка экструдера/Нагрев" - #define STRING_TUNE_EXT_MARK120MM "Отметьте 120 мм на прутке\nНажмите '%s' по говности\nИзмерьте полученную длину/nпосле экструдирования" - #define STRING_TUNE_EXT_ADJ_ESTEPS "Подстройка E-шагов" - #define STRING_TUNE_EXT_ESTEPS_SAVED "E-шаги установлены!\nНе забудьте сохранить их в EEPROM\nНовое значение: %0.2f" - #define STRING_TUNE_EXT_MEASURED "Оставшаяся длина:" - #define STRING_TUNE_EXT_OLD_ESTEP "Старые E-шаги: %0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "Новые E-шаги: %0.2f" - #define STRING_NOTIFICATIONS "Уведомления" - #define STRING_MESH_EDITOR "Сетка ред." - #define STRING_MESH_TUNER "Сетка настр." - #define STRING_CASE_LIGHT "Подсветка" - #define STRING_LOAD_STARTED "Загрузка прутка начата.\nДождитесь пока сопло достигнет необходимой температуры.\nПожалуйста подождите." - #define STRING_UNLOAD_STARTED "Выгрузка прутка начата.\nДождитесь пока сопло достигнет необходимой температуры.\nПожалуйста подождите." - #define STRING_HEATERS_ON "Некоторые нагреватели все еще работают.\nХотите прервать нагрев?" - #define STRING_PRINT_FINISHED " Печать\n закончена" - #define STRING_MAIN_SCREEN "Главный" - #define STRING_PREVIOUS_PRINT_DATA "Краткий" - #define STRING_PRINT_TIME "Время печати: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nДлина прутка: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nВес прутка: %1.2fg" - #define STRING_FILAMENT_COST "\nЦена прутка: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nДанные о прутке отсутствуют." - #define STRING_CLICK_FOR_MORE "Нажмите для получения сводки" - #define STRING_EXT_TEMPLOW "Температура сопла ниже минимальной (%d℃)." - #define STRING_HEAT_HOTEND "Нагреть сопло до %d℃?" - #define STRING_DESIRED_TEMPLOW "Температура сопла низка\nжелательная температура (%d℃)." - #define STRING_WAIT_HEAT_UP "Подождите, пока он нагреется." - #define STRING_Z_ALIGN "Z Выравнивание" - #define STRING_MACROS "Макросы" - #define STRING_MESH_VALID "Проверка сетки" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "Нагрев" +#define STRING_MOVE "Движение" +#define STRING_HOME "Домой" +#define STRING_PRINT "Печать" +#define STRING_EXTRUDE "Экструзия" +#define STRING_SETTINGS "Настройки" +#define STRING_SCREEN_SETTINGS "Экран" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Звуки" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Принтер" +#define STRING_PARAMETER_SETTINGS "Параметры" +#define STRING_FEATURE_SETTINGS "Опции" +#define STRING_CONNECTION_SETTINGS "Соединение" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "Скорость" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "Цвет LED" +#define STRING_RGB_OFF "LED выкл" +#define STRING_TERMINAL "Терминал" +#define STRING_LEVELING "Стол вруч." +#define STRING_POINT_1 "Точка 1" +#define STRING_POINT_2 "Точка 2" +#define STRING_POINT_3 "Точка 3" +#define STRING_POINT_4 "Точка 4" +#define STRING_POINT_5 "Точка 5" +#define STRING_BED_LEVELING "Стол равнен." +#define STRING_BL_COMPLETE "Выравнивание стола окончено" +#define STRING_BL_SMART_FILL "Отсутствующие точки замера были атоматически заполнены.\nЗапомните для сохраниения!" +#define STRING_BL_ENABLE "BL: вкл" +#define STRING_BL_DISABLE "BL: выкл" +#define STRING_ABL "ABL" +#define STRING_BBL "BBL" +#define STRING_UBL "UBL" +#define STRING_MBL "MBL" +#define STRING_MBL_SETTINGS "Равнение по сетке" +#define STRING_ABL_SETTINGS "Автовыравнивание" +#define STRING_ABL_SETTINGS_BBL "Билинейная калибровка" +#define STRING_ABL_SETTINGS_UBL "Универсальная калибровка" +#define STRING_ABL_SETTINGS_UBL_SAVE "Сохранить в ячейку" +#define STRING_ABL_SETTINGS_UBL_LOAD "Загрузить из ячейки" +#define STRING_ABL_SLOT0 "Ячейка 0" +#define STRING_ABL_SLOT1 "Ячейка 1" +#define STRING_ABL_SLOT2 "Ячейка 2" +#define STRING_ABL_SLOT3 "Ячейка 3" +#define STRING_ABL_SLOT_EEPROM "Восстановить из ячейки при перезагрузке?\n(Сохранить в EEPROM)" +#define STRING_ABL_Z "Z затухание" +#define STRING_LEVEL_CORNER "Прямой угол" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "Отступ P" +#define STRING_H_OFFSET "Отступ H" +#define STRING_DISTANCE "Отступы" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Загрузить/Выгрузить" +#define STRING_LOAD_UNLOAD_SHORT "За/Выгрузка" +#define STRING_TOUCHSCREEN_ADJUST "Калибровка" +#define STRING_MORE "Больше" +#define STRING_SCREEN_INFO "Инфо" +#define STRING_BG_COLOR "Фоновый цвет" +#define STRING_FONT_COLOR "Цвет шрифта" +#define STRING_PERCENTAGE "Подстройки" +#define STRING_PERCENTAGE_SPEED "Скорость" +#define STRING_PERCENTAGE_FLOW "Поток" +#define STRING_BABYSTEP "Микрошаг Z" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Калибровка экрана" +#define STRING_ADJUST_INFO "Нажмите на красную точку" +#define STRING_ADJUST_OK "Успешная калибровка" +#define STRING_ADJUST_FAILED "Неудачная калибровка, попробуйте снова" +#define STRING_UNIFIEDMOVE "Движение" +#define STRING_UNIFIEDHEAT "Нагрев" +#define STRING_TOUCH_TO_EXIT "Нажмите для возврата" +#define STRING_MAINMENU "Меню" +#define STRING_TUNING "Наладка" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC автонастройка" +#define STRING_MPC_METHOD "Метод:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID автонастройка" +#define STRING_TUNE_START_INFO "Сейчас будет запущена автонастройка, это займёт некоторое время. Продолжить?" +#define STRING_TUNE_EXTRUDER "Настройка шагов" +#define STRING_TUNE_EXT_EXTRUDE_100 "100мм экст." +#define STRING_TUNE_EXT_TEMP "Настройка экструдера/Нагрев" +#define STRING_TUNE_EXT_MARK120MM "Отметьте 120 мм на прутке\nНажмите '%s' по говности\nИзмерьте полученную длину/nпосле экструдирования" +#define STRING_TUNE_EXT_ADJ_ESTEPS "Подстройка E-шагов" +#define STRING_TUNE_EXT_ESTEPS_SAVED "E-шаги установлены!\nНе забудьте сохранить их в EEPROM\nНовое значение: %0.2f" +#define STRING_TUNE_EXT_MEASURED "Оставшаяся длина:" +#define STRING_TUNE_EXT_OLD_ESTEP "Старые E-шаги: %0.2f" +#define STRING_TUNE_EXT_NEW_ESTEP "Новые E-шаги: %0.2f" +#define STRING_NOTIFICATIONS "Уведомления" +#define STRING_MESH_EDITOR "Сетка ред." +#define STRING_MESH_TUNER "Сетка настр." +#define STRING_CASE_LIGHT "Подсветка" +#define STRING_LOAD_STARTED "Загрузка прутка начата.\nДождитесь пока сопло достигнет необходимой температуры.\nПожалуйста подождите." +#define STRING_UNLOAD_STARTED "Выгрузка прутка начата.\nДождитесь пока сопло достигнет необходимой температуры.\nПожалуйста подождите." +#define STRING_HEATERS_ON "Некоторые нагреватели все еще работают.\nХотите прервать нагрев?" +#define STRING_PRINT_FINISHED " Печать\n закончена" +#define STRING_MAIN_SCREEN "Главный" +#define STRING_PREVIOUS_PRINT_DATA "Краткий" +#define STRING_PRINT_TIME "Время печати: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nДлина прутка: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nВес прутка: %1.2fg" +#define STRING_FILAMENT_COST "\nЦена прутка: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nДанные о прутке отсутствуют." +#define STRING_CLICK_FOR_MORE "Нажмите для получения сводки" +#define STRING_EXT_TEMPLOW "Температура сопла ниже минимальной (%d℃)." +#define STRING_HEAT_HOTEND "Нагреть сопло до %d℃?" +#define STRING_DESIRED_TEMPLOW "Температура сопла низка\nжелательная температура (%d℃)." +#define STRING_WAIT_HEAT_UP "Подождите, пока он нагреется." +#define STRING_Z_ALIGN "Z Выравнивание" +#define STRING_MACROS "Макросы" +#define STRING_MESH_VALID "Проверка сетки" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_sk.h b/TFT/src/User/API/Language/language_sk.h index 41a47dd22..2fc9d5730 100644 --- a/TFT/src/User/API/Language/language_sk.h +++ b/TFT/src/User/API/Language/language_sk.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_SK_H_ #define _LANGUAGE_SK_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Slovensky" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "Otočiť" - #define STRING_ACK_NOTIFICATION "ACK notification style" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "Zobraziť súbory ako zoznam" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" - #define STRING_PERSISTENT_INFO "Trvalé info o stave" - #define STRING_TERMINAL_ACK "Show ACK in Terminal" - #define STRING_SERIAL_ALWAYS_ON "Serial Always ON" - #define STRING_MARLIN_FULLSCREEN "Marlin mode in fullscreen" - #define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "Rýchlosť pohybu XYZ" - #define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "Auto vyp." - #define STRING_FIL_RUNOUT "Filament senzor" - #define STRING_PL_RECOVERY "Power loss recovery" - #define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" - #define STRING_BTT_MINI_UPS "BTT UPS Support" - #define STRING_TOUCH_SOUND "Touch sounds" - #define STRING_TOAST_SOUND "Toast Notifications" - #define STRING_ALERT_SOUND "Popups and Alerts" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "Jas LCD" - #define STRING_LCD_IDLE_BRIGHTNESS "Zníženie jasu LCD" - #define STRING_LCD_IDLE_TIME "Zníženie jasu LCD po" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "LED otočného tlačidla" - #define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" - #define STRING_START_GCODE_ENABLED "Začiatočný Gcode" - #define STRING_END_GCODE_ENABLED "Koncový Gcode" - #define STRING_CANCEL_GCODE_ENABLED "Cancel Gcode" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Slovensky" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "Otočiť" +#define STRING_ACK_NOTIFICATION "ACK notification style" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "Zobraziť súbory ako zoznam" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" +#define STRING_PERSISTENT_INFO "Trvalé info o stave" +#define STRING_TERMINAL_ACK "Show ACK in Terminal" +#define STRING_SERIAL_ALWAYS_ON "Serial Always ON" +#define STRING_MARLIN_FULLSCREEN "Marlin mode in fullscreen" +#define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "Rýchlosť pohybu XYZ" +#define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "Auto vyp." +#define STRING_FIL_RUNOUT "Filament senzor" +#define STRING_PL_RECOVERY "Power loss recovery" +#define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" +#define STRING_BTT_MINI_UPS "BTT UPS Support" +#define STRING_TOUCH_SOUND "Touch sounds" +#define STRING_TOAST_SOUND "Toast Notifications" +#define STRING_ALERT_SOUND "Popups and Alerts" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "Jas LCD" +#define STRING_LCD_IDLE_BRIGHTNESS "Zníženie jasu LCD" +#define STRING_LCD_IDLE_TIME "Zníženie jasu LCD po" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "LED otočného tlačidla" +#define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" +#define STRING_START_GCODE_ENABLED "Začiatočný Gcode" +#define STRING_END_GCODE_ENABLED "Koncový Gcode" +#define STRING_CANCEL_GCODE_ENABLED "Cancel Gcode" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Počet krokov na MM" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "Maximálna akcelerácia" - #define STRING_MAXFEEDRATE "Max Feed Rate" - #define STRING_ACCELERATION "Akcelerácia" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home Offset" - #define STRING_FWRETRACT "FW Retraction" - #define STRING_FWRECOVER "FW Retraction Recover" - #define STRING_RETRACT_AUTO "Auto Firmware Retract" - #define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Probe Offset" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "Prúd ovládača (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "TMC bump citlivosť" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Počet krokov na MM" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "Maximálna akcelerácia" +#define STRING_MAXFEEDRATE "Max Feed Rate" +#define STRING_ACCELERATION "Akcelerácia" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home Offset" +#define STRING_FWRETRACT "FW Retraction" +#define STRING_FWRECOVER "FW Retraction Recover" +#define STRING_RETRACT_AUTO "Auto Firmware Retract" +#define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Probe Offset" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "Prúd ovládača (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "TMC bump citlivosť" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Akcelerácia pri tlači" - #define STRING_RETRACT_ACCELERATION "Akcelerácia retrakcie" - #define STRING_TRAVEL_ACCELERATION "Akcelerácia presunu" - #define STRING_RETRACT_LENGTH "Retract length" - #define STRING_RETRACT_SWAP_LENGTH "Retract swap length" - #define STRING_RETRACT_FEEDRATE "Retract feedrate" - #define STRING_RETRACT_Z_LIFT "Z lift on retraction" - #define STRING_RECOVER_LENGTH "Extra recover length" - #define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" - #define STRING_RECOVER_FEEDRATE "Recover feedrate" - #define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Akcelerácia pri tlači" +#define STRING_RETRACT_ACCELERATION "Akcelerácia retrakcie" +#define STRING_TRAVEL_ACCELERATION "Akcelerácia presunu" +#define STRING_RETRACT_LENGTH "Retract length" +#define STRING_RETRACT_SWAP_LENGTH "Retract swap length" +#define STRING_RETRACT_FEEDRATE "Retract feedrate" +#define STRING_RETRACT_Z_LIFT "Z lift on retraction" +#define STRING_RECOVER_LENGTH "Extra recover length" +#define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" +#define STRING_RECOVER_FEEDRATE "Recover feedrate" +#define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" - // Save / Load - #define STRING_SAVE "Uložiť" - #define STRING_RESTORE "Restore" - #define STRING_RESET "Reset" - #define STRING_EEPROM_SAVE_INFO "Save printer settings to EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Reload settings from EEPROM?" - #define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" - #define STRING_SETTINGS_SAVE "Save settings" - #define STRING_SETTINGS_RESTORE "Restore settings" - #define STRING_SETTINGS_RESET "Reset default settings" - #define STRING_SETTINGS_RESET_INFO "Resetovať všetky nastavenia." - #define STRING_SETTINGS_RESET_DONE "Reset všetkých nastavení vykonaný. Pre správne fungovanie, prosím,\nreštartovať zariadenie." +// Save / Load +#define STRING_SAVE "Uložiť" +#define STRING_RESTORE "Restore" +#define STRING_RESET "Reset" +#define STRING_EEPROM_SAVE_INFO "Save printer settings to EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Reload settings from EEPROM?" +#define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" +#define STRING_SETTINGS_SAVE "Save settings" +#define STRING_SETTINGS_RESTORE "Restore settings" +#define STRING_SETTINGS_RESET "Reset default settings" +#define STRING_SETTINGS_RESET_INFO "Resetovať všetky nastavenia." +#define STRING_SETTINGS_RESET_DONE "Reset všetkých nastavení vykonaný. Pre správne fungovanie, prosím,\nreštartovať zariadenie." - // Navigation Buttons - #define STRING_PAGE_UP "Ďalej" - #define STRING_PAGE_DOWN "Naspäť" - #define STRING_UP "Up" - #define STRING_DOWN "Down" - #define STRING_NEXT "Next" - #define STRING_BACK "Naspäť" +// Navigation Buttons +#define STRING_PAGE_UP "Ďalej" +#define STRING_PAGE_DOWN "Naspäť" +#define STRING_UP "Up" +#define STRING_DOWN "Down" +#define STRING_NEXT "Next" +#define STRING_BACK "Naspäť" - // Value Buttons - #define STRING_INC "Pridať" - #define STRING_DEC "Ubrať" - #define STRING_LOAD "Zaviesť" - #define STRING_UNLOAD "Vysunúť" - #define STRING_ON "ZAP" - #define STRING_OFF "VYP" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Pomaly" - #define STRING_NORMAL "Normálne" - #define STRING_FAST "Rýchlo" - #define STRING_ZERO "Vypnúť" - #define STRING_HALF "Polovičná" - #define STRING_FULL "Naplno" - #define STRING_CUSTOM "Vlastné" - #define STRING_CLEAR "Clear" - #define STRING_DEFAULT "Default" +// Value Buttons +#define STRING_INC "Pridať" +#define STRING_DEC "Ubrať" +#define STRING_LOAD "Zaviesť" +#define STRING_UNLOAD "Vysunúť" +#define STRING_ON "ZAP" +#define STRING_OFF "VYP" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Pomaly" +#define STRING_NORMAL "Normálne" +#define STRING_FAST "Rýchlo" +#define STRING_ZERO "Vypnúť" +#define STRING_HALF "Polovičná" +#define STRING_FULL "Naplno" +#define STRING_CUSTOM "Vlastné" +#define STRING_CLEAR "Clear" +#define STRING_DEFAULT "Default" - // Action Buttons - #define STRING_START "Start" - #define STRING_STOP "Stop" - #define STRING_PAUSE "Pauza" - #define STRING_RESUME "Pokračovať" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Odpojiť" - #define STRING_SHUT_DOWN "Vypnúť" - #define STRING_FORCE_SHUT_DOWN "Vynútené vypnutie" - #define STRING_EMERGENCYSTOP "STOP" - #define STRING_PREHEAT "Nahriať" - #define STRING_PREHEAT_BOTH "Tryska/Podložka" - #define STRING_COOLDOWN "Ochladiť" +// Action Buttons +#define STRING_START "Start" +#define STRING_STOP "Stop" +#define STRING_PAUSE "Pauza" +#define STRING_RESUME "Pokračovať" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Odpojiť" +#define STRING_SHUT_DOWN "Vypnúť" +#define STRING_FORCE_SHUT_DOWN "Vynútené vypnutie" +#define STRING_EMERGENCYSTOP "STOP" +#define STRING_PREHEAT "Nahriať" +#define STRING_PREHEAT_BOTH "Tryska/Podložka" +#define STRING_COOLDOWN "Ochladiť" - // Dialog Buttons - #define STRING_CONFIRM "Potvrdiť" - #define STRING_CANCEL "Zrušiť" - #define STRING_WARNING "Varovanie" - #define STRING_CONTINUE "Pokračovať" - #define STRING_CONFIRMATION "Are you sure?" +// Dialog Buttons +#define STRING_CONFIRM "Potvrdiť" +#define STRING_CANCEL "Zrušiť" +#define STRING_WARNING "Varovanie" +#define STRING_CONTINUE "Pokračovať" +#define STRING_CONFIRMATION "Are you sure?" - // Process Status - #define STRING_STATUS "Status" - #define STRING_READY "Pripravená" - #define STRING_BUSY "Počkajte prosím..." - #define STRING_LOADING "Načítavam..." - #define STRING_UNCONNECTED "Tlačiareň odpojená!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "Status" +#define STRING_READY "Pripravená" +#define STRING_BUSY "Počkajte prosím..." +#define STRING_LOADING "Načítavam..." +#define STRING_UNCONNECTED "Tlačiareň odpojená!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "Info" - #define STRING_INVALID_VALUE "Invalid value(s)" - #define STRING_TIMEOUT_REACHED "Timeout reached!" - #define STRING_DISCONNECT_INFO "Teraz môžete tlačiareň ovládať z počítača!" - #define STRING_SHUTTING_DOWN "Vypínanie..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Počkať na teplotu trysky menej ako %d℃" // Počkať na teplotu hotendu menej ako 50℃ - #define STRING_POWER_FAILED "Pokračovať v tlači?" - #define STRING_PROCESS_COMPLETED "Process completed!" - #define STRING_PROCESS_ABORTED "Process aborted!" +// Process Info +#define STRING_INFO "Info" +#define STRING_INVALID_VALUE "Invalid value(s)" +#define STRING_TIMEOUT_REACHED "Timeout reached!" +#define STRING_DISCONNECT_INFO "Teraz môžete tlačiareň ovládať z počítača!" +#define STRING_SHUTTING_DOWN "Vypínanie..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Počkať na teplotu trysky menej ako %d℃" // Počkať na teplotu hotendu menej ako 50℃ +#define STRING_POWER_FAILED "Pokračovať v tlači?" +#define STRING_PROCESS_COMPLETED "Process completed!" +#define STRING_PROCESS_ABORTED "Process aborted!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT SD" - #define STRING_TFT_SD_INSERTED "SD karta vložená" - #define STRING_TFT_SD_REMOVED "SD karta odstránená" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "Chyba pri načítaní SD karty!" - #define STRING_TFT_USB "USB kľúč" - #define STRING_TFT_USB_INSERTED "USB kľúč vložený" - #define STRING_TFT_USB_REMOVED "USB kľúč odstránený" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "Chyba pri načítaní USB kľúča!" - #define STRING_ONBOARD_SD "SD karta na doske" - #define STRING_ONBOARD_USB "USB na doske" - #define STRING_ONBOARD_SD_READ_ERROR "Chyba pri načítaní media na doske!" - #define STRING_FILAMENT_RUNOUT "Chýba filament!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT SD" +#define STRING_TFT_SD_INSERTED "SD karta vložená" +#define STRING_TFT_SD_REMOVED "SD karta odstránená" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "Chyba pri načítaní SD karty!" +#define STRING_TFT_USB "USB kľúč" +#define STRING_TFT_USB_INSERTED "USB kľúč vložený" +#define STRING_TFT_USB_REMOVED "USB kľúč odstránený" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "Chyba pri načítaní USB kľúča!" +#define STRING_ONBOARD_SD "SD karta na doske" +#define STRING_ONBOARD_USB "USB na doske" +#define STRING_ONBOARD_SD_READ_ERROR "Chyba pri načítaní media na doske!" +#define STRING_FILAMENT_RUNOUT "Chýba filament!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Disarm All" - #define STRING_XY_UNLOCK "Odomknite XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Disarm All" +#define STRING_XY_UNLOCK "Odomknite XY" - #define STRING_START_PRINT "Start printing:\n%s?" - #define STRING_STOP_PRINT "Zastaviť tlač?" - #define STRING_IS_PAUSE "Nemožno extrudovať počas tlače,\npozastaviť tlač?" - #define STRING_M0_PAUSE "Pauza príkazom M0" +#define STRING_START_PRINT "Start printing:\n%s?" +#define STRING_STOP_PRINT "Zastaviť tlač?" +#define STRING_IS_PAUSE "Nemožno extrudovať počas tlače,\npozastaviť tlač?" +#define STRING_M0_PAUSE "Pauza príkazom M0" - #define STRING_TEST "Test" - #define STRING_DEPLOY "Vystrčiť" - #define STRING_STOW "Stiahnuť" - #define STRING_REPEAT "Opakovať" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Test" +#define STRING_DEPLOY "Vystrčiť" +#define STRING_STOW "Stiahnuť" +#define STRING_REPEAT "Opakovať" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Tryska" - #define STRING_BED "Podložka" - #define STRING_CHAMBER "Chamber" - #define STRING_FAN "Ofuk" +// Printer Tools +#define STRING_NOZZLE "Tryska" +#define STRING_BED "Podložka" +#define STRING_CHAMBER "Chamber" +#define STRING_FAN "Ofuk" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 sek." - #define STRING_10_SECONDS "10 sek." - #define STRING_30_SECONDS "30 Sec." - #define STRING_60_SECONDS "1 Min." - #define STRING_120_SECONDS "2 Min." - #define STRING_300_SECONDS "5 Min." +#define STRING_5_SECONDS "5 sek." +#define STRING_10_SECONDS "10 sek." +#define STRING_30_SECONDS "30 Sec." +#define STRING_60_SECONDS "1 Min." +#define STRING_120_SECONDS "2 Min." +#define STRING_300_SECONDS "5 Min." - // Colors - #define STRING_WHITE "Biela" - #define STRING_BLACK "Čierna" - #define STRING_BLUE "Modrá" - #define STRING_RED "Červená" - #define STRING_GREEN "Zelená" - #define STRING_CYAN "Tyrkysová" - #define STRING_YELLOW "Žltá" - #define STRING_BROWN "Hnedá" - #define STRING_GRAY "Šedá" - #define STRING_ORANGE "Oranžová" - #define STRING_INDIGO "Indigo" - #define STRING_VIOLET "Fialová" - #define STRING_MAGENTA "Magenta" - #define STRING_PURPLE "Purple" - #define STRING_LIME "Lime" - #define STRING_DARKBLUE "DarkBlue" - #define STRING_DARKGREEN "DarkGreen" - #define STRING_DARKGRAY "DarkGray" +// Colors +#define STRING_WHITE "Biela" +#define STRING_BLACK "Čierna" +#define STRING_BLUE "Modrá" +#define STRING_RED "Červená" +#define STRING_GREEN "Zelená" +#define STRING_CYAN "Tyrkysová" +#define STRING_YELLOW "Žltá" +#define STRING_BROWN "Hnedá" +#define STRING_GRAY "Šedá" +#define STRING_ORANGE "Oranžová" +#define STRING_INDIGO "Indigo" +#define STRING_VIOLET "Fialová" +#define STRING_MAGENTA "Magenta" +#define STRING_PURPLE "Purple" +#define STRING_LIME "Lime" +#define STRING_DARKBLUE "DarkBlue" +#define STRING_DARKGREEN "DarkGreen" +#define STRING_DARKGRAY "DarkGray" - // Menus - #define STRING_HEAT "Teplota" - #define STRING_MOVE "Posunúť" - #define STRING_HOME "Domov" - #define STRING_PRINT "Tlačiť" - #define STRING_EXTRUDE "Extrúder" - #define STRING_SETTINGS "Nastavenia" - #define STRING_SCREEN_SETTINGS "Obrazovka" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Sound" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Tlačiareň" - #define STRING_PARAMETER_SETTINGS "Parametre" - #define STRING_FEATURE_SETTINGS "Funkcie" - #define STRING_CONNECTION_SETTINGS "Connection" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "BaudRate" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "Farba LED" - #define STRING_RGB_OFF "Vypnúť LED" - #define STRING_TERMINAL "Terminál" - #define STRING_LEVELING "Vyrovnanie" - #define STRING_POINT_1 "Bod 1" - #define STRING_POINT_2 "Bod 2" - #define STRING_POINT_3 "Bod 3" - #define STRING_POINT_4 "Bod 4" - #define STRING_POINT_5 "Bod 5" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Bed Leveling Complete" - #define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" - #define STRING_BL_ENABLE "BL: on" - #define STRING_BL_DISABLE "BL: off" - #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_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 "Save the mesh to EEPROM to load after reboot?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Distance" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Load/Unload" // needs translation - #define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation - #define STRING_TOUCHSCREEN_ADJUST "Kalibrácia" - #define STRING_MORE "Viacej" - #define STRING_SCREEN_INFO "Info" - #define STRING_BG_COLOR "Background color" - #define STRING_FONT_COLOR "Font color" - #define STRING_PERCENTAGE "Percentá" - #define STRING_PERCENTAGE_SPEED "Rýchlosť" - #define STRING_PERCENTAGE_FLOW "Prietok" - #define STRING_BABYSTEP "BabyStep" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Kalibrácia" - #define STRING_ADJUST_INFO "Dotknite sa postupne všetkých bodov" - #define STRING_ADJUST_OK "Kalibrácia úspešná" - #define STRING_ADJUST_FAILED "Kalibrácia zlyhala, opakovať" - #define STRING_UNIFIEDMOVE "Pohyb" - #define STRING_UNIFIEDHEAT "Nahriať" - #define STRING_TOUCH_TO_EXIT "Dotknite sa obrazovky pre ukončenie" - #define STRING_MAINMENU "Menu" - #define STRING_TUNING "Tuning" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC autotune" - #define STRING_MPC_METHOD "Metóda:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID autotune" - #define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" - #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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" - #define STRING_MESH_EDITOR "Mesh edit" - #define STRING_MESH_TUNER "Mesh tuner" - #define STRING_CASE_LIGHT "Case light" - #define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed - #define STRING_PRINT_FINISHED " Print\n finished" - #define STRING_MAIN_SCREEN "Main" - #define STRING_PREVIOUS_PRINT_DATA "Brief" - #define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament cost: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament data not available." - #define STRING_CLICK_FOR_MORE "Click for summary" - #define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." - #define STRING_HEAT_HOTEND "Heat hotend to %d℃?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "Teplota" +#define STRING_MOVE "Posunúť" +#define STRING_HOME "Domov" +#define STRING_PRINT "Tlačiť" +#define STRING_EXTRUDE "Extrúder" +#define STRING_SETTINGS "Nastavenia" +#define STRING_SCREEN_SETTINGS "Obrazovka" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Sound" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Tlačiareň" +#define STRING_PARAMETER_SETTINGS "Parametre" +#define STRING_FEATURE_SETTINGS "Funkcie" +#define STRING_CONNECTION_SETTINGS "Connection" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "BaudRate" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "Farba LED" +#define STRING_RGB_OFF "Vypnúť LED" +#define STRING_TERMINAL "Terminál" +#define STRING_LEVELING "Vyrovnanie" +#define STRING_POINT_1 "Bod 1" +#define STRING_POINT_2 "Bod 2" +#define STRING_POINT_3 "Bod 3" +#define STRING_POINT_4 "Bod 4" +#define STRING_POINT_5 "Bod 5" +#define STRING_BED_LEVELING "Bed Level" +#define STRING_BL_COMPLETE "Bed Leveling Complete" +#define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" +#define STRING_BL_ENABLE "BL: on" +#define STRING_BL_DISABLE "BL: off" +#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_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 "Save the mesh to EEPROM to load after reboot?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Distance" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Load/Unload" // needs translation +#define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation +#define STRING_TOUCHSCREEN_ADJUST "Kalibrácia" +#define STRING_MORE "Viacej" +#define STRING_SCREEN_INFO "Info" +#define STRING_BG_COLOR "Background color" +#define STRING_FONT_COLOR "Font color" +#define STRING_PERCENTAGE "Percentá" +#define STRING_PERCENTAGE_SPEED "Rýchlosť" +#define STRING_PERCENTAGE_FLOW "Prietok" +#define STRING_BABYSTEP "BabyStep" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Kalibrácia" +#define STRING_ADJUST_INFO "Dotknite sa postupne všetkých bodov" +#define STRING_ADJUST_OK "Kalibrácia úspešná" +#define STRING_ADJUST_FAILED "Kalibrácia zlyhala, opakovať" +#define STRING_UNIFIEDMOVE "Pohyb" +#define STRING_UNIFIEDHEAT "Nahriať" +#define STRING_TOUCH_TO_EXIT "Dotknite sa obrazovky pre ukončenie" +#define STRING_MAINMENU "Menu" +#define STRING_TUNING "Tuning" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC autotune" +#define STRING_MPC_METHOD "Metóda:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID autotune" +#define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" +#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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" +#define STRING_MESH_EDITOR "Mesh edit" +#define STRING_MESH_TUNER "Mesh tuner" +#define STRING_CASE_LIGHT "Case light" +#define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed +#define STRING_PRINT_FINISHED " Print\n finished" +#define STRING_MAIN_SCREEN "Main" +#define STRING_PREVIOUS_PRINT_DATA "Brief" +#define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament cost: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament data not available." +#define STRING_CLICK_FOR_MORE "Click for summary" +#define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." +#define STRING_HEAT_HOTEND "Heat hotend to %d℃?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_sl.h b/TFT/src/User/API/Language/language_sl.h index 8e0628641..e4f6741b8 100644 --- a/TFT/src/User/API/Language/language_sl.h +++ b/TFT/src/User/API/Language/language_sl.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_SL_H_ #define _LANGUAGE_SL_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Slovenski" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "Obrni UI" - #define STRING_ACK_NOTIFICATION "ACK notification style" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "Prikaz datotek v seznamu" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" - #define STRING_PERSISTENT_INFO "Stalno prikazuj status" - #define STRING_TERMINAL_ACK "Pokaži ACK v terminalu" - #define STRING_SERIAL_ALWAYS_ON "Serial Always ON" - #define STRING_MARLIN_FULLSCREEN "Marlin čez cel zaslon" - #define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "Hitr. pomika (X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "Samodejni izklop" - #define STRING_FIL_RUNOUT "Senzor filamenta" - #define STRING_PL_RECOVERY "Power loss recovery" - #define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" - #define STRING_BTT_MINI_UPS "BTT UPS Support" - #define STRING_TOUCH_SOUND "Touch sounds" - #define STRING_TOAST_SOUND "Toast Notifications" - #define STRING_ALERT_SOUND "Popups and Alerts" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "Svetilnost" - #define STRING_LCD_IDLE_BRIGHTNESS "Zatemnitev LCD" - #define STRING_LCD_IDLE_TIME "Zatemnitev po času" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "LED enkoder gumba" - #define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" - #define STRING_START_GCODE_ENABLED "Zaženi startno G-kodo" - #define STRING_END_GCODE_ENABLED "Zaženi končno G-kodo" - #define STRING_CANCEL_GCODE_ENABLED "Zaženi G-kodo preklica" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Slovenski" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "Obrni UI" +#define STRING_ACK_NOTIFICATION "ACK notification style" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "Prikaz datotek v seznamu" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" +#define STRING_PERSISTENT_INFO "Stalno prikazuj status" +#define STRING_TERMINAL_ACK "Pokaži ACK v terminalu" +#define STRING_SERIAL_ALWAYS_ON "Serial Always ON" +#define STRING_MARLIN_FULLSCREEN "Marlin čez cel zaslon" +#define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "Hitr. pomika (X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "Samodejni izklop" +#define STRING_FIL_RUNOUT "Senzor filamenta" +#define STRING_PL_RECOVERY "Power loss recovery" +#define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" +#define STRING_BTT_MINI_UPS "BTT UPS Support" +#define STRING_TOUCH_SOUND "Touch sounds" +#define STRING_TOAST_SOUND "Toast Notifications" +#define STRING_ALERT_SOUND "Popups and Alerts" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "Svetilnost" +#define STRING_LCD_IDLE_BRIGHTNESS "Zatemnitev LCD" +#define STRING_LCD_IDLE_TIME "Zatemnitev po času" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "LED enkoder gumba" +#define STRING_KNOB_LED_IDLE "Rotary Knob LED idle" +#define STRING_START_GCODE_ENABLED "Zaženi startno G-kodo" +#define STRING_END_GCODE_ENABLED "Zaženi končno G-kodo" +#define STRING_CANCEL_GCODE_ENABLED "Zaženi G-kodo preklica" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Št. korakov na MM" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "Max pospešek" - #define STRING_MAXFEEDRATE "Max hitr. dovajanja fil." - #define STRING_ACCELERATION "Pospešek" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home Offset" - #define STRING_FWRETRACT "FW Retraction" - #define STRING_FWRECOVER "FW Retraction Recover" - #define STRING_RETRACT_AUTO "Auto Firmware Retract" - #define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Odmik sonde" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "Tok driverja mot. (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "TMC občutljivost trka" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Št. korakov na MM" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "Max pospešek" +#define STRING_MAXFEEDRATE "Max hitr. dovajanja fil." +#define STRING_ACCELERATION "Pospešek" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home Offset" +#define STRING_FWRETRACT "FW Retraction" +#define STRING_FWRECOVER "FW Retraction Recover" +#define STRING_RETRACT_AUTO "Auto Firmware Retract" +#define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Odmik sonde" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "Tok driverja mot. (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "TMC občutljivost trka" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Pospešek tiska" - #define STRING_RETRACT_ACCELERATION "Pospešek privleka fil." - #define STRING_TRAVEL_ACCELERATION "Pospešek pomika" - #define STRING_RETRACT_LENGTH "Retract length" - #define STRING_RETRACT_SWAP_LENGTH "Retract swap length" - #define STRING_RETRACT_FEEDRATE "Retract feedrate" - #define STRING_RETRACT_Z_LIFT "Z lift on retraction" - #define STRING_RECOVER_LENGTH "Extra recover length" - #define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" - #define STRING_RECOVER_FEEDRATE "Recover feedrate" - #define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Pospešek tiska" +#define STRING_RETRACT_ACCELERATION "Pospešek privleka fil." +#define STRING_TRAVEL_ACCELERATION "Pospešek pomika" +#define STRING_RETRACT_LENGTH "Retract length" +#define STRING_RETRACT_SWAP_LENGTH "Retract swap length" +#define STRING_RETRACT_FEEDRATE "Retract feedrate" +#define STRING_RETRACT_Z_LIFT "Z lift on retraction" +#define STRING_RECOVER_LENGTH "Extra recover length" +#define STRING_SWAP_RECOVER_LENGTH "Extra recover swap length" +#define STRING_RECOVER_FEEDRATE "Recover feedrate" +#define STRING_SWAP_RECOVER_FEEDRATE "Swap recover feedrate" - // Save / Load - #define STRING_SAVE "Shrani" - #define STRING_RESTORE "Restore" - #define STRING_RESET "Reset" - #define STRING_EEPROM_SAVE_INFO "Shrani nastavitve tiskalnika v EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Naloži nastavitve iz EEPROM-a?" - #define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" - #define STRING_SETTINGS_SAVE "Save settings" - #define STRING_SETTINGS_RESTORE "Obnovi nastavitve" - #define STRING_SETTINGS_RESET "Reset nastavitev" - #define STRING_SETTINGS_RESET_INFO "Reset vseh nastavitev na privzete vrednosti?" - #define STRING_SETTINGS_RESET_DONE "Reset vseh nastavitev uspešna.\nPonovno zaženi napravo." +// Save / Load +#define STRING_SAVE "Shrani" +#define STRING_RESTORE "Restore" +#define STRING_RESET "Reset" +#define STRING_EEPROM_SAVE_INFO "Shrani nastavitve tiskalnika v EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Naloži nastavitve iz EEPROM-a?" +#define STRING_EEPROM_RESET_INFO "Reset EEPROM to stock printer settings?" +#define STRING_SETTINGS_SAVE "Save settings" +#define STRING_SETTINGS_RESTORE "Obnovi nastavitve" +#define STRING_SETTINGS_RESET "Reset nastavitev" +#define STRING_SETTINGS_RESET_INFO "Reset vseh nastavitev na privzete vrednosti?" +#define STRING_SETTINGS_RESET_DONE "Reset vseh nastavitev uspešna.\nPonovno zaženi napravo." - // Navigation Buttons - #define STRING_PAGE_UP "Stran gor" - #define STRING_PAGE_DOWN "Stran dol" - #define STRING_UP "Up" - #define STRING_DOWN "Down" - #define STRING_NEXT "Next" - #define STRING_BACK "Nazaj" +// Navigation Buttons +#define STRING_PAGE_UP "Stran gor" +#define STRING_PAGE_DOWN "Stran dol" +#define STRING_UP "Up" +#define STRING_DOWN "Down" +#define STRING_NEXT "Next" +#define STRING_BACK "Nazaj" - // Value Buttons - #define STRING_INC "Več" - #define STRING_DEC "Manj" - #define STRING_LOAD "Naloži" - #define STRING_UNLOAD "Izvrzi" - #define STRING_ON "ON" - #define STRING_OFF "OFF" - #define STRING_AUTO "AUTO" - #define STRING_SMART "SMART" - #define STRING_SLOW "Počasi" - #define STRING_NORMAL "Normalo" - #define STRING_FAST "Hitro" - #define STRING_ZERO "Nič" - #define STRING_HALF "50% moč" - #define STRING_FULL "100% moč" - #define STRING_CUSTOM "Po meri" - #define STRING_CLEAR "Clear" - #define STRING_DEFAULT "Default" +// Value Buttons +#define STRING_INC "Več" +#define STRING_DEC "Manj" +#define STRING_LOAD "Naloži" +#define STRING_UNLOAD "Izvrzi" +#define STRING_ON "ON" +#define STRING_OFF "OFF" +#define STRING_AUTO "AUTO" +#define STRING_SMART "SMART" +#define STRING_SLOW "Počasi" +#define STRING_NORMAL "Normalo" +#define STRING_FAST "Hitro" +#define STRING_ZERO "Nič" +#define STRING_HALF "50% moč" +#define STRING_FULL "100% moč" +#define STRING_CUSTOM "Po meri" +#define STRING_CLEAR "Clear" +#define STRING_DEFAULT "Default" - // Action Buttons - #define STRING_START "Start" - #define STRING_STOP "Stop" - #define STRING_PAUSE "Pavza" - #define STRING_RESUME "Nadaljuj" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Odklopi" - #define STRING_SHUT_DOWN "Izklop" - #define STRING_FORCE_SHUT_DOWN "Prisilni izklop" - #define STRING_EMERGENCYSTOP "EM. STOP" - #define STRING_PREHEAT "Predgretje" - #define STRING_PREHEAT_BOTH "Oboje" - #define STRING_COOLDOWN "Ohlajanje" +// Action Buttons +#define STRING_START "Start" +#define STRING_STOP "Stop" +#define STRING_PAUSE "Pavza" +#define STRING_RESUME "Nadaljuj" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Odklopi" +#define STRING_SHUT_DOWN "Izklop" +#define STRING_FORCE_SHUT_DOWN "Prisilni izklop" +#define STRING_EMERGENCYSTOP "EM. STOP" +#define STRING_PREHEAT "Predgretje" +#define STRING_PREHEAT_BOTH "Oboje" +#define STRING_COOLDOWN "Ohlajanje" - // Dialog Buttons - #define STRING_CONFIRM "\u088E OK" //Confirm Sign - #define STRING_CANCEL "\u088F Prekliči" //Cancel Sign - #define STRING_WARNING "Opozorilo" //Exclamation Sign - #define STRING_CONTINUE "Nadaljuj" - #define STRING_CONFIRMATION "Are you sure?" +// Dialog Buttons +#define STRING_CONFIRM "\u088E OK" //Confirm Sign +#define STRING_CANCEL "\u088F Prekliči" //Cancel Sign +#define STRING_WARNING "Opozorilo" //Exclamation Sign +#define STRING_CONTINUE "Nadaljuj" +#define STRING_CONFIRMATION "Are you sure?" - // Process Status - #define STRING_STATUS "Info" - #define STRING_READY "Pripravljen" - #define STRING_BUSY "Zaseden s procesiranjem, prosim počakaj..." - #define STRING_LOADING "Nalagam..." - #define STRING_UNCONNECTED "Nobenega tiskalnika priključenega!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "Info" +#define STRING_READY "Pripravljen" +#define STRING_BUSY "Zaseden s procesiranjem, prosim počakaj..." +#define STRING_LOADING "Nalagam..." +#define STRING_UNCONNECTED "Nobenega tiskalnika priključenega!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "Info" //Info Sign - #define STRING_INVALID_VALUE "Invalid value(s)" - #define STRING_TIMEOUT_REACHED "Timeout reached!" - #define STRING_DISCONNECT_INFO "Zdaj lahko upravljaš tiskalnik z računalnikom!" - #define STRING_SHUTTING_DOWN "Ugašam..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Čakam, da se šoba ohladi pod %d°C" - #define STRING_POWER_FAILED "Nadaljuj s tiskanjem?" //Question Sign - #define STRING_PROCESS_COMPLETED "Process completed!" - #define STRING_PROCESS_ABORTED "Process aborted!" +// Process Info +#define STRING_INFO "Info" //Info Sign +#define STRING_INVALID_VALUE "Invalid value(s)" +#define STRING_TIMEOUT_REACHED "Timeout reached!" +#define STRING_DISCONNECT_INFO "Zdaj lahko upravljaš tiskalnik z računalnikom!" +#define STRING_SHUTTING_DOWN "Ugašam..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Čakam, da se šoba ohladi pod %d°C" +#define STRING_POWER_FAILED "Nadaljuj s tiskanjem?" //Question Sign +#define STRING_PROCESS_COMPLETED "Process completed!" +#define STRING_PROCESS_ABORTED "Process aborted!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "TFT SD" - #define STRING_TFT_SD_INSERTED "Kartica vstavljena" - #define STRING_TFT_SD_REMOVED "Kartica odstranjena" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "Napaka branja SD kartica!" - #define STRING_TFT_USB "USB disk" - #define STRING_TFT_USB_INSERTED "USB disk vstavljen" - #define STRING_TFT_USB_REMOVED "USB disk odstranjen" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "Napaka branja USB diska!" - #define STRING_ONBOARD_SD "SKR SD" - #define STRING_ONBOARD_USB "SKR USB" - #define STRING_ONBOARD_SD_READ_ERROR "Napaka branja SKR media!" - #define STRING_FILAMENT_RUNOUT "Ni več filamenta!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "TFT SD" +#define STRING_TFT_SD_INSERTED "Kartica vstavljena" +#define STRING_TFT_SD_REMOVED "Kartica odstranjena" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "Napaka branja SD kartica!" +#define STRING_TFT_USB "USB disk" +#define STRING_TFT_USB_INSERTED "USB disk vstavljen" +#define STRING_TFT_USB_REMOVED "USB disk odstranjen" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "Napaka branja USB diska!" +#define STRING_ONBOARD_SD "SKR SD" +#define STRING_ONBOARD_USB "SKR USB" +#define STRING_ONBOARD_SD_READ_ERROR "Napaka branja SKR media!" +#define STRING_FILAMENT_RUNOUT "Ni več filamenta!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Disarm All" - #define STRING_XY_UNLOCK "Disarm XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Disarm All" +#define STRING_XY_UNLOCK "Disarm XY" - #define STRING_START_PRINT "Start tiska:\n%s?" - #define STRING_STOP_PRINT "Ustavim tisk?" - #define STRING_IS_PAUSE "Ne morem estrudirat med tiskanjem.\nPavziram tisk?" - #define STRING_M0_PAUSE "Pavza (M0 ukaz)" +#define STRING_START_PRINT "Start tiska:\n%s?" +#define STRING_STOP_PRINT "Ustavim tisk?" +#define STRING_IS_PAUSE "Ne morem estrudirat med tiskanjem.\nPavziram tisk?" +#define STRING_M0_PAUSE "Pavza (M0 ukaz)" - #define STRING_TEST "Test" - #define STRING_DEPLOY "Postavi" - #define STRING_STOW "Skrij" - #define STRING_REPEAT "Ponovi" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Test" +#define STRING_DEPLOY "Postavi" +#define STRING_STOW "Skrij" +#define STRING_REPEAT "Ponovi" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Šoba" - #define STRING_BED "Miza" - #define STRING_CHAMBER "Chamber" - #define STRING_FAN "Hlajenje" +// Printer Tools +#define STRING_NOZZLE "Šoba" +#define STRING_BED "Miza" +#define STRING_CHAMBER "Chamber" +#define STRING_FAN "Hlajenje" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 sek." - #define STRING_10_SECONDS "10 sek." - #define STRING_30_SECONDS "30 sek." - #define STRING_60_SECONDS "1 min." - #define STRING_120_SECONDS "2 min." - #define STRING_300_SECONDS "5 min." +#define STRING_5_SECONDS "5 sek." +#define STRING_10_SECONDS "10 sek." +#define STRING_30_SECONDS "30 sek." +#define STRING_60_SECONDS "1 min." +#define STRING_120_SECONDS "2 min." +#define STRING_300_SECONDS "5 min." - // Colors - #define STRING_WHITE "Belo" - #define STRING_BLACK "Črno" - #define STRING_BLUE "Mordo" - #define STRING_RED "Rdeče" - #define STRING_GREEN "Zeleno" - #define STRING_CYAN "Modrozelena" - #define STRING_YELLOW "Rumena" - #define STRING_BROWN "Rjana" - #define STRING_GRAY "Siva" - #define STRING_ORANGE "Oranžna" - #define STRING_INDIGO "Indigo" - #define STRING_VIOLET "Vijolična" - #define STRING_MAGENTA "Magenta" - #define STRING_PURPLE "Temno vijolična" - #define STRING_LIME "Limeta" - #define STRING_DARKBLUE "Temno morda" - #define STRING_DARKGREEN "Temno zelena" - #define STRING_DARKGRAY "Temno siva" +// Colors +#define STRING_WHITE "Belo" +#define STRING_BLACK "Črno" +#define STRING_BLUE "Mordo" +#define STRING_RED "Rdeče" +#define STRING_GREEN "Zeleno" +#define STRING_CYAN "Modrozelena" +#define STRING_YELLOW "Rumena" +#define STRING_BROWN "Rjana" +#define STRING_GRAY "Siva" +#define STRING_ORANGE "Oranžna" +#define STRING_INDIGO "Indigo" +#define STRING_VIOLET "Vijolična" +#define STRING_MAGENTA "Magenta" +#define STRING_PURPLE "Temno vijolična" +#define STRING_LIME "Limeta" +#define STRING_DARKBLUE "Temno morda" +#define STRING_DARKGREEN "Temno zelena" +#define STRING_DARKGRAY "Temno siva" - // Menus - #define STRING_HEAT "Gretje" - #define STRING_MOVE "Pomik" - #define STRING_HOME "Domov" - #define STRING_PRINT "Tisk" - #define STRING_EXTRUDE "Filament" - #define STRING_SETTINGS "Nastavitve" - #define STRING_SCREEN_SETTINGS "Zaslon" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Sound" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Naprava" - #define STRING_PARAMETER_SETTINGS "Parametri" - #define STRING_FEATURE_SETTINGS "Funkcije" - #define STRING_CONNECTION_SETTINGS "Connection" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "Baud hitr." - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "Barva LED" - #define STRING_RGB_OFF "LED Off" - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "Niveliraj" - #define STRING_POINT_1 "Točka 1" - #define STRING_POINT_2 "Točka 2" - #define STRING_POINT_3 "Točka 3" - #define STRING_POINT_4 "Točka 4" - #define STRING_POINT_5 "Točka 5" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "Bed Leveling Complete" - #define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" - #define STRING_BL_ENABLE "BL: on" - #define STRING_BL_DISABLE "BL: off" - #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_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 "Save the mesh to EEPROM to load after reboot?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P odmik" - #define STRING_H_OFFSET "H odmik" - #define STRING_DISTANCE "Distance" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Load/Unload" // needs translation - #define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation - #define STRING_TOUCHSCREEN_ADJUST "Umeri" - #define STRING_MORE "Več" - #define STRING_SCREEN_INFO "Info" - #define STRING_BG_COLOR "Barva ozadja" - #define STRING_FONT_COLOR "Barva pisave" - #define STRING_PERCENTAGE "Procent" - #define STRING_PERCENTAGE_SPEED "Hitrost" - #define STRING_PERCENTAGE_FLOW "Pretok" - #define STRING_BABYSTEP "BabyStep" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Kalibracija zaslona na dotik" - #define STRING_ADJUST_INFO "Pritisni na rdečo piko" - #define STRING_ADJUST_OK "Nastavitev uspešna" - #define STRING_ADJUST_FAILED "Nastavitev neuspešna, prosim poskusi ponovno" - #define STRING_UNIFIEDMOVE "Vodenje" - #define STRING_UNIFIEDHEAT "Gretje" - #define STRING_TOUCH_TO_EXIT "Klikni kjerkoli za izhod" - #define STRING_MAINMENU "Meni" - #define STRING_TUNING "Tuning" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC autotune" - #define STRING_MPC_METHOD "Metoda:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID autotune" - #define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" - #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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" - #define STRING_MESH_EDITOR "Mesh edit" - #define STRING_MESH_TUNER "Mesh tuner" - #define STRING_CASE_LIGHT "Case light" - #define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed - #define STRING_PRINT_FINISHED " Print\n finished" - #define STRING_MAIN_SCREEN "Main" - #define STRING_PREVIOUS_PRINT_DATA "Brief" - #define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament cost: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament data not available." - #define STRING_CLICK_FOR_MORE "Click for summary" - #define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." - #define STRING_HEAT_HOTEND "Heat hotend to %d℃?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "Gretje" +#define STRING_MOVE "Pomik" +#define STRING_HOME "Domov" +#define STRING_PRINT "Tisk" +#define STRING_EXTRUDE "Filament" +#define STRING_SETTINGS "Nastavitve" +#define STRING_SCREEN_SETTINGS "Zaslon" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Sound" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Naprava" +#define STRING_PARAMETER_SETTINGS "Parametri" +#define STRING_FEATURE_SETTINGS "Funkcije" +#define STRING_CONNECTION_SETTINGS "Connection" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "Baud hitr." +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "Barva LED" +#define STRING_RGB_OFF "LED Off" +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "Niveliraj" +#define STRING_POINT_1 "Točka 1" +#define STRING_POINT_2 "Točka 2" +#define STRING_POINT_3 "Točka 3" +#define STRING_POINT_4 "Točka 4" +#define STRING_POINT_5 "Točka 5" +#define STRING_BED_LEVELING "Bed Level" +#define STRING_BL_COMPLETE "Bed Leveling Complete" +#define STRING_BL_SMART_FILL "Missing probe points have been smart filled.\n\nNote: remember to save!" +#define STRING_BL_ENABLE "BL: on" +#define STRING_BL_DISABLE "BL: off" +#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_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 "Save the mesh to EEPROM to load after reboot?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P odmik" +#define STRING_H_OFFSET "H odmik" +#define STRING_DISTANCE "Distance" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Load/Unload" // needs translation +#define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation +#define STRING_TOUCHSCREEN_ADJUST "Umeri" +#define STRING_MORE "Več" +#define STRING_SCREEN_INFO "Info" +#define STRING_BG_COLOR "Barva ozadja" +#define STRING_FONT_COLOR "Barva pisave" +#define STRING_PERCENTAGE "Procent" +#define STRING_PERCENTAGE_SPEED "Hitrost" +#define STRING_PERCENTAGE_FLOW "Pretok" +#define STRING_BABYSTEP "BabyStep" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Kalibracija zaslona na dotik" +#define STRING_ADJUST_INFO "Pritisni na rdečo piko" +#define STRING_ADJUST_OK "Nastavitev uspešna" +#define STRING_ADJUST_FAILED "Nastavitev neuspešna, prosim poskusi ponovno" +#define STRING_UNIFIEDMOVE "Vodenje" +#define STRING_UNIFIEDHEAT "Gretje" +#define STRING_TOUCH_TO_EXIT "Klikni kjerkoli za izhod" +#define STRING_MAINMENU "Meni" +#define STRING_TUNING "Tuning" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC autotune" +#define STRING_MPC_METHOD "Metoda:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID autotune" +#define STRING_TUNE_START_INFO "Autotune may take some time to complete.\nContinue?" +#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_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" +#define STRING_MESH_EDITOR "Mesh edit" +#define STRING_MESH_TUNER "Mesh tuner" +#define STRING_CASE_LIGHT "Case light" +#define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed +#define STRING_PRINT_FINISHED " Print\n finished" +#define STRING_MAIN_SCREEN "Main" +#define STRING_PREVIOUS_PRINT_DATA "Brief" +#define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament cost: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament data not available." +#define STRING_CLICK_FOR_MORE "Click for summary" +#define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." +#define STRING_HEAT_HOTEND "Heat hotend to %d℃?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_tc.h b/TFT/src/User/API/Language/language_tc.h index fcbe2609c..9a7845b92 100644 --- a/TFT/src/User/API/Language/language_tc.h +++ b/TFT/src/User/API/Language/language_tc.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_TC_H_ #define _LANGUAGE_TC_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "正體中文" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "顯示方向" - #define STRING_ACK_NOTIFICATION "ACK 弹窗类型" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "文件預覽列表模式" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" - #define STRING_PERSISTENT_INFO "頂部溫度訊息" - #define STRING_TERMINAL_ACK "在G-code終端顯示溫度" - #define STRING_SERIAL_ALWAYS_ON "Serial Always ON" - #define STRING_MARLIN_FULLSCREEN "全螢幕Marlin模式" - #define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "移動速度(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "自動關機" - #define STRING_FIL_RUNOUT "耗材感應器" - #define STRING_PL_RECOVERY "断电续打" - #define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" - #define STRING_BTT_MINI_UPS "BTT UPS Support" - #define STRING_TOUCH_SOUND "按鈕聲音" - #define STRING_TOAST_SOUND "Toast 提示聲音" - #define STRING_ALERT_SOUND "彈窗和提示聲音" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "螢幕亮度" - #define STRING_LCD_IDLE_BRIGHTNESS "睡眠狀態螢幕亮度" - #define STRING_LCD_IDLE_TIME "螢幕進入睡眠時間" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "旋鈕LED顏色" - #define STRING_KNOB_LED_IDLE "旋鈕LED自動睡眠" - #define STRING_START_GCODE_ENABLED "執行起始G-code" - #define STRING_END_GCODE_ENABLED "執行結尾G-code" - #define STRING_CANCEL_GCODE_ENABLED "中斷執行G-code" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "正體中文" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "顯示方向" +#define STRING_ACK_NOTIFICATION "ACK 弹窗类型" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "文件預覽列表模式" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" +#define STRING_PERSISTENT_INFO "頂部溫度訊息" +#define STRING_TERMINAL_ACK "在G-code終端顯示溫度" +#define STRING_SERIAL_ALWAYS_ON "Serial Always ON" +#define STRING_MARLIN_FULLSCREEN "全螢幕Marlin模式" +#define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "移動速度(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "自動關機" +#define STRING_FIL_RUNOUT "耗材感應器" +#define STRING_PL_RECOVERY "断电续打" +#define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" +#define STRING_BTT_MINI_UPS "BTT UPS Support" +#define STRING_TOUCH_SOUND "按鈕聲音" +#define STRING_TOAST_SOUND "Toast 提示聲音" +#define STRING_ALERT_SOUND "彈窗和提示聲音" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "螢幕亮度" +#define STRING_LCD_IDLE_BRIGHTNESS "睡眠狀態螢幕亮度" +#define STRING_LCD_IDLE_TIME "螢幕進入睡眠時間" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "旋鈕LED顏色" +#define STRING_KNOB_LED_IDLE "旋鈕LED自動睡眠" +#define STRING_START_GCODE_ENABLED "執行起始G-code" +#define STRING_END_GCODE_ENABLED "執行結尾G-code" +#define STRING_CANCEL_GCODE_ENABLED "中斷執行G-code" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "電機每毫米步數Steps/mm" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "最大加速度" - #define STRING_MAXFEEDRATE "最大移動速度" - #define STRING_ACCELERATION "加速度" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Home Offset" - #define STRING_FWRETRACT "FW Retraction" - #define STRING_FWRECOVER "FW Retraction Recover" - #define STRING_RETRACT_AUTO "FW自动回抽" - #define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "探針偏移" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "驅動晶片電流設定 (mA)" - #define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" - #define STRING_BUMP_SENSITIVITY "堵料檢測靈敏度" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "電機每毫米步數Steps/mm" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "最大加速度" +#define STRING_MAXFEEDRATE "最大移動速度" +#define STRING_ACCELERATION "加速度" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Home Offset" +#define STRING_FWRETRACT "FW Retraction" +#define STRING_FWRECOVER "FW Retraction Recover" +#define STRING_RETRACT_AUTO "FW自动回抽" +#define STRING_HOTEND_OFFSET "Offset 2nd Nozzle" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "探針偏移" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "驅動晶片電流設定 (mA)" +#define STRING_HYBRID_THRESHOLD "TMC HybridThreshold" +#define STRING_BUMP_SENSITIVITY "堵料檢測靈敏度" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "列印加速度" - #define STRING_RETRACT_ACCELERATION "回抽加速度" - #define STRING_TRAVEL_ACCELERATION "空跑加速度" - #define STRING_RETRACT_LENGTH "FW回抽长度" - #define STRING_RETRACT_SWAP_LENGTH "换料时回抽的长度" - #define STRING_RETRACT_FEEDRATE "FW回抽速度" - #define STRING_RETRACT_Z_LIFT "回抽时Z轴抬升的高度" - #define STRING_RECOVER_LENGTH "额外挤出的长度" - #define STRING_SWAP_RECOVER_LENGTH "换料时额外挤出的长度" - #define STRING_RECOVER_FEEDRATE "FW挤出速度" - #define STRING_SWAP_RECOVER_FEEDRATE "换料时挤出的速度" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "列印加速度" +#define STRING_RETRACT_ACCELERATION "回抽加速度" +#define STRING_TRAVEL_ACCELERATION "空跑加速度" +#define STRING_RETRACT_LENGTH "FW回抽长度" +#define STRING_RETRACT_SWAP_LENGTH "换料时回抽的长度" +#define STRING_RETRACT_FEEDRATE "FW回抽速度" +#define STRING_RETRACT_Z_LIFT "回抽时Z轴抬升的高度" +#define STRING_RECOVER_LENGTH "额外挤出的长度" +#define STRING_SWAP_RECOVER_LENGTH "换料时额外挤出的长度" +#define STRING_RECOVER_FEEDRATE "FW挤出速度" +#define STRING_SWAP_RECOVER_FEEDRATE "换料时挤出的速度" - // Save / Load - #define STRING_SAVE "儲存設定" - #define STRING_RESTORE "恢復" - #define STRING_RESET "重設" - #define STRING_EEPROM_SAVE_INFO "是否保存打印机设置到EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "是否从EEPROM加载设置?" - #define STRING_EEPROM_RESET_INFO "重置EEPROM到出厂设置?" - #define STRING_SETTINGS_SAVE "保存设置" - #define STRING_SETTINGS_RESTORE "保存设置" - #define STRING_SETTINGS_RESET "重置设置" - #define STRING_SETTINGS_RESET_INFO "所有設定都會恢復預設值,確定嗎?" - #define STRING_SETTINGS_RESET_DONE "重設成功,請重新開機" +// Save / Load +#define STRING_SAVE "儲存設定" +#define STRING_RESTORE "恢復" +#define STRING_RESET "重設" +#define STRING_EEPROM_SAVE_INFO "是否保存打印机设置到EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "是否从EEPROM加载设置?" +#define STRING_EEPROM_RESET_INFO "重置EEPROM到出厂设置?" +#define STRING_SETTINGS_SAVE "保存设置" +#define STRING_SETTINGS_RESTORE "保存设置" +#define STRING_SETTINGS_RESET "重置设置" +#define STRING_SETTINGS_RESET_INFO "所有設定都會恢復預設值,確定嗎?" +#define STRING_SETTINGS_RESET_DONE "重設成功,請重新開機" - // Navigation Buttons - #define STRING_PAGE_UP "上一頁" - #define STRING_PAGE_DOWN "下一頁" - #define STRING_UP "抬升" - #define STRING_DOWN "降低" - #define STRING_NEXT "下一個" - #define STRING_BACK "返回" +// Navigation Buttons +#define STRING_PAGE_UP "上一頁" +#define STRING_PAGE_DOWN "下一頁" +#define STRING_UP "抬升" +#define STRING_DOWN "降低" +#define STRING_NEXT "下一個" +#define STRING_BACK "返回" - // Value Buttons - #define STRING_INC "增加" - #define STRING_DEC "減少" - #define STRING_LOAD "進料" - #define STRING_UNLOAD "退料" - #define STRING_ON "開啟" - #define STRING_OFF "關閉" - #define STRING_AUTO "AUTO" - #define STRING_SMART "自動" - #define STRING_SLOW "慢速" - #define STRING_NORMAL "常速" - #define STRING_FAST "快速" - #define STRING_ZERO "歸零" - #define STRING_HALF "半速" - #define STRING_FULL "全速" - #define STRING_CUSTOM "自定義" - #define STRING_CLEAR "Clear" - #define STRING_DEFAULT "默認" +// Value Buttons +#define STRING_INC "增加" +#define STRING_DEC "減少" +#define STRING_LOAD "進料" +#define STRING_UNLOAD "退料" +#define STRING_ON "開啟" +#define STRING_OFF "關閉" +#define STRING_AUTO "AUTO" +#define STRING_SMART "自動" +#define STRING_SLOW "慢速" +#define STRING_NORMAL "常速" +#define STRING_FAST "快速" +#define STRING_ZERO "歸零" +#define STRING_HALF "半速" +#define STRING_FULL "全速" +#define STRING_CUSTOM "自定義" +#define STRING_CLEAR "Clear" +#define STRING_DEFAULT "默認" - // Action Buttons - #define STRING_START "開始" - #define STRING_STOP "停止" - #define STRING_PAUSE "暫停" - #define STRING_RESUME "繼續" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "中斷連線" - #define STRING_SHUT_DOWN "關閉電源" - #define STRING_FORCE_SHUT_DOWN "強制關機" - #define STRING_EMERGENCYSTOP "立刻停止" - #define STRING_PREHEAT "預熱" - #define STRING_PREHEAT_BOTH "全部" - #define STRING_COOLDOWN "冷卻" +// Action Buttons +#define STRING_START "開始" +#define STRING_STOP "停止" +#define STRING_PAUSE "暫停" +#define STRING_RESUME "繼續" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "中斷連線" +#define STRING_SHUT_DOWN "關閉電源" +#define STRING_FORCE_SHUT_DOWN "強制關機" +#define STRING_EMERGENCYSTOP "立刻停止" +#define STRING_PREHEAT "預熱" +#define STRING_PREHEAT_BOTH "全部" +#define STRING_COOLDOWN "冷卻" - // Dialog Buttons - #define STRING_CONFIRM "確定" //Confirm Sign - #define STRING_CANCEL "取消" //Cancel Sign - #define STRING_WARNING "警告" //Exclamation Sign - #define STRING_CONTINUE "繼續" - #define STRING_CONFIRMATION "Are you sure?" +// Dialog Buttons +#define STRING_CONFIRM "確定" //Confirm Sign +#define STRING_CANCEL "取消" //Cancel Sign +#define STRING_WARNING "警告" //Exclamation Sign +#define STRING_CONTINUE "繼續" +#define STRING_CONFIRMATION "Are you sure?" - // Process Status - #define STRING_STATUS "狀態" - #define STRING_READY "已準備好" - #define STRING_BUSY "系統繁忙請稍等" - #define STRING_LOADING "讀取中" - #define STRING_UNCONNECTED "尚未連線到主機板" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "狀態" +#define STRING_READY "已準備好" +#define STRING_BUSY "系統繁忙請稍等" +#define STRING_LOADING "讀取中" +#define STRING_UNCONNECTED "尚未連線到主機板" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "提示" //Info Sign - #define STRING_INVALID_VALUE "沒有有效的條件!" - #define STRING_TIMEOUT_REACHED "已超時!" - #define STRING_DISCONNECT_INFO "電腦控制模式" - #define STRING_SHUTTING_DOWN "關機中" - #define STRING_WAIT_TEMP_SHUT_DOWN "噴頭降溫中,直到%d ℃時自動關機" // The length of the info line is 24 characters, so the "temperatureof" will automatically be divided into "temperature of..." - #define STRING_POWER_FAILED "要繼續列印嗎?" //Question Sign - #define STRING_PROCESS_COMPLETED "處理已完成!" - #define STRING_PROCESS_ABORTED "處理已被中斷!" +// Process Info +#define STRING_INFO "提示" //Info Sign +#define STRING_INVALID_VALUE "沒有有效的條件!" +#define STRING_TIMEOUT_REACHED "已超時!" +#define STRING_DISCONNECT_INFO "電腦控制模式" +#define STRING_SHUTTING_DOWN "關機中" +#define STRING_WAIT_TEMP_SHUT_DOWN "噴頭降溫中,直到%d ℃時自動關機" // The length of the info line is 24 characters, so the "temperatureof" will automatically be divided into "temperature of..." +#define STRING_POWER_FAILED "要繼續列印嗎?" //Question Sign +#define STRING_PROCESS_COMPLETED "處理已完成!" +#define STRING_PROCESS_ABORTED "處理已被中斷!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "SD卡" - #define STRING_TFT_SD_INSERTED "偵測到SD卡" - #define STRING_TFT_SD_REMOVED "SD卡已拔出" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "SD卡讀取失敗" - #define STRING_TFT_USB "隨身碟" - #define STRING_TFT_USB_INSERTED "偵測到隨身碟" - #define STRING_TFT_USB_REMOVED "隨身碟已拔出" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "隨身碟讀取失敗" - #define STRING_ONBOARD_SD "主機板插槽的SD卡" - #define STRING_ONBOARD_USB "主機板插槽的USB" - #define STRING_ONBOARD_SD_READ_ERROR "主機板的存儲介質讀取失敗" - #define STRING_FILAMENT_RUNOUT "沒偵測到耗材" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "SD卡" +#define STRING_TFT_SD_INSERTED "偵測到SD卡" +#define STRING_TFT_SD_REMOVED "SD卡已拔出" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "SD卡讀取失敗" +#define STRING_TFT_USB "隨身碟" +#define STRING_TFT_USB_INSERTED "偵測到隨身碟" +#define STRING_TFT_USB_REMOVED "隨身碟已拔出" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "隨身碟讀取失敗" +#define STRING_ONBOARD_SD "主機板插槽的SD卡" +#define STRING_ONBOARD_USB "主機板插槽的USB" +#define STRING_ONBOARD_SD_READ_ERROR "主機板的存儲介質讀取失敗" +#define STRING_FILAMENT_RUNOUT "沒偵測到耗材" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "解鎖電機" - #define STRING_XY_UNLOCK "解锁XY" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "解鎖電機" +#define STRING_XY_UNLOCK "解锁XY" - #define STRING_START_PRINT "是否开始打印:\n%s?" - #define STRING_STOP_PRINT "要停止列印嗎?" - #define STRING_IS_PAUSE "列印時無法擠出耗材,要暫停列印嗎?" - #define STRING_M0_PAUSE "M0暫停" +#define STRING_START_PRINT "是否开始打印:\n%s?" +#define STRING_STOP_PRINT "要停止列印嗎?" +#define STRING_IS_PAUSE "列印時無法擠出耗材,要暫停列印嗎?" +#define STRING_M0_PAUSE "M0暫停" - #define STRING_TEST "BLTouch檢測" - #define STRING_DEPLOY "探針彈出" - #define STRING_STOW "探針收回" - #define STRING_REPEAT "精度測試" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "BLTouch檢測" +#define STRING_DEPLOY "探針彈出" +#define STRING_STOW "探針收回" +#define STRING_REPEAT "精度測試" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "噴頭" - #define STRING_BED "熱床" - #define STRING_CHAMBER "機殼" - #define STRING_FAN "風扇" +// Printer Tools +#define STRING_NOZZLE "噴頭" +#define STRING_BED "熱床" +#define STRING_CHAMBER "機殼" +#define STRING_FAN "風扇" - #define STRING_BLTOUCH "BLTouch " - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch " +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5秒." - #define STRING_10_SECONDS "10秒." - #define STRING_30_SECONDS "30秒." - #define STRING_60_SECONDS "1分鐘" - #define STRING_120_SECONDS "2分鐘" - #define STRING_300_SECONDS "5分鐘" +#define STRING_5_SECONDS "5秒." +#define STRING_10_SECONDS "10秒." +#define STRING_30_SECONDS "30秒." +#define STRING_60_SECONDS "1分鐘" +#define STRING_120_SECONDS "2分鐘" +#define STRING_300_SECONDS "5分鐘" - // Colors - #define STRING_WHITE "白" - #define STRING_BLACK "黑" - #define STRING_BLUE "藍" - #define STRING_RED "紅" - #define STRING_GREEN "綠" - #define STRING_CYAN "青" - #define STRING_YELLOW "黃" - #define STRING_BROWN "棕" - #define STRING_GRAY "灰" - #define STRING_ORANGE "橘" - #define STRING_INDIGO "靛藍" - #define STRING_VIOLET "藍紫" - #define STRING_MAGENTA "桃紅" - #define STRING_PURPLE "紫" - #define STRING_LIME "萊姆" - #define STRING_DARKBLUE "暗藍" - #define STRING_DARKGREEN "暗綠" - #define STRING_DARKGRAY "深灰" +// Colors +#define STRING_WHITE "白" +#define STRING_BLACK "黑" +#define STRING_BLUE "藍" +#define STRING_RED "紅" +#define STRING_GREEN "綠" +#define STRING_CYAN "青" +#define STRING_YELLOW "黃" +#define STRING_BROWN "棕" +#define STRING_GRAY "灰" +#define STRING_ORANGE "橘" +#define STRING_INDIGO "靛藍" +#define STRING_VIOLET "藍紫" +#define STRING_MAGENTA "桃紅" +#define STRING_PURPLE "紫" +#define STRING_LIME "萊姆" +#define STRING_DARKBLUE "暗藍" +#define STRING_DARKGREEN "暗綠" +#define STRING_DARKGRAY "深灰" - // Menus - #define STRING_HEAT "加熱" - #define STRING_MOVE "移動" - #define STRING_HOME "回原點" - #define STRING_PRINT "列印" - #define STRING_EXTRUDE "擠出" - #define STRING_SETTINGS "設定" - #define STRING_SCREEN_SETTINGS "螢幕設定" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "聲音" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "機器設定" - #define STRING_PARAMETER_SETTINGS "參數設定" - #define STRING_FEATURE_SETTINGS "功能設定" - #define STRING_CONNECTION_SETTINGS "连接" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "串列傳輸速率" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "燈光顏色" - #define STRING_RGB_OFF "關閉燈光" - #define STRING_TERMINAL "終端" - #define STRING_LEVELING "調平" - #define STRING_POINT_1 "第一點" - #define STRING_POINT_2 "第二點" - #define STRING_POINT_3 "第三點" - #define STRING_POINT_4 "第四點" - #define STRING_POINT_5 "第五點" - #define STRING_BED_LEVELING "Bed Level" - #define STRING_BL_COMPLETE "平臺調平完成!" - #define STRING_BL_SMART_FILL "部分點未探測,已被自動填充,需要手動保存!" - #define STRING_BL_ENABLE "BL:已開啟" - #define STRING_BL_DISABLE "BL:已關閉" - #define STRING_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_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 "Save the mesh to EEPROM to load after reboot?" - #define STRING_ABL_Z "Z Fade" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P軸偏移" - #define STRING_H_OFFSET "H軸偏移" - #define STRING_DISTANCE "距離" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Load/Unload" // needs translation - #define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation - #define STRING_TOUCHSCREEN_ADJUST "觸控校正" - #define STRING_MORE "更多" - #define STRING_SCREEN_INFO "關於" - #define STRING_BG_COLOR "背景顏色" - #define STRING_FONT_COLOR "字體顏色" - #define STRING_PERCENTAGE "百分比" - #define STRING_PERCENTAGE_SPEED "速度百分比" - #define STRING_PERCENTAGE_FLOW "流量百分比" - #define STRING_BABYSTEP "Z軸微調" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "觸控校正" - #define STRING_ADJUST_INFO "點擊紅點" - #define STRING_ADJUST_OK "校正成功" - #define STRING_ADJUST_FAILED "校正失敗" - #define STRING_UNIFIEDMOVE "運動" - #define STRING_UNIFIEDHEAT "溫度" - #define STRING_TOUCH_TO_EXIT "觸控任意位置退出頁面" - #define STRING_MAINMENU "選單" - #define STRING_TUNING "调整" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC自动整定" - #define STRING_MPC_METHOD "方法:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID自动整定" - #define STRING_TUNE_START_INFO "开始自动整定,需要几分钟来完成,是否继续?" - #define STRING_TUNE_EXTRUDER "Tune steps" - #define STRING_TUNE_EXT_EXTRUDE_100 "挤出100mm" - #define STRING_TUNE_EXT_TEMP "Extruder tuning | Heat" - #define STRING_TUNE_EXT_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." - #define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" - #define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" - #define STRING_MESH_EDITOR "Mesh edit" - #define STRING_MESH_TUNER "Mesh tuner" - #define STRING_CASE_LIGHT "Case light" - #define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed - #define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed - #define STRING_PRINT_FINISHED " Print\n finished" - #define STRING_MAIN_SCREEN "Main" - #define STRING_PREVIOUS_PRINT_DATA "Brief" - #define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament cost: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament data not available." - #define STRING_CLICK_FOR_MORE "Click for summary" - #define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." - #define STRING_HEAT_HOTEND "Heat hotend to %d℃?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "加熱" +#define STRING_MOVE "移動" +#define STRING_HOME "回原點" +#define STRING_PRINT "列印" +#define STRING_EXTRUDE "擠出" +#define STRING_SETTINGS "設定" +#define STRING_SCREEN_SETTINGS "螢幕設定" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "聲音" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "機器設定" +#define STRING_PARAMETER_SETTINGS "參數設定" +#define STRING_FEATURE_SETTINGS "功能設定" +#define STRING_CONNECTION_SETTINGS "连接" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "串列傳輸速率" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "燈光顏色" +#define STRING_RGB_OFF "關閉燈光" +#define STRING_TERMINAL "終端" +#define STRING_LEVELING "調平" +#define STRING_POINT_1 "第一點" +#define STRING_POINT_2 "第二點" +#define STRING_POINT_3 "第三點" +#define STRING_POINT_4 "第四點" +#define STRING_POINT_5 "第五點" +#define STRING_BED_LEVELING "Bed Level" +#define STRING_BL_COMPLETE "平臺調平完成!" +#define STRING_BL_SMART_FILL "部分點未探測,已被自動填充,需要手動保存!" +#define STRING_BL_ENABLE "BL:已開啟" +#define STRING_BL_DISABLE "BL:已關閉" +#define STRING_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_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 "Save the mesh to EEPROM to load after reboot?" +#define STRING_ABL_Z "Z Fade" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P軸偏移" +#define STRING_H_OFFSET "H軸偏移" +#define STRING_DISTANCE "距離" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Load/Unload" // needs translation +#define STRING_LOAD_UNLOAD_SHORT "(Un)Load" // needs translation +#define STRING_TOUCHSCREEN_ADJUST "觸控校正" +#define STRING_MORE "更多" +#define STRING_SCREEN_INFO "關於" +#define STRING_BG_COLOR "背景顏色" +#define STRING_FONT_COLOR "字體顏色" +#define STRING_PERCENTAGE "百分比" +#define STRING_PERCENTAGE_SPEED "速度百分比" +#define STRING_PERCENTAGE_FLOW "流量百分比" +#define STRING_BABYSTEP "Z軸微調" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "觸控校正" +#define STRING_ADJUST_INFO "點擊紅點" +#define STRING_ADJUST_OK "校正成功" +#define STRING_ADJUST_FAILED "校正失敗" +#define STRING_UNIFIEDMOVE "運動" +#define STRING_UNIFIEDHEAT "溫度" +#define STRING_TOUCH_TO_EXIT "觸控任意位置退出頁面" +#define STRING_MAINMENU "選單" +#define STRING_TUNING "调整" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC自动整定" +#define STRING_MPC_METHOD "方法:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID自动整定" +#define STRING_TUNE_START_INFO "开始自动整定,需要几分钟来完成,是否继续?" +#define STRING_TUNE_EXTRUDER "Tune steps" +#define STRING_TUNE_EXT_EXTRUDE_100 "挤出100mm" +#define STRING_TUNE_EXT_TEMP "Extruder tuning | Heat" +#define STRING_TUNE_EXT_MARK120MM "Mark 120 mm on your filament.\nPress '%s' when ready.\nMeasure remaining length after extruding." +#define STRING_TUNE_EXT_ADJ_ESTEPS "Adjust E-Steps" +#define STRING_TUNE_EXT_ESTEPS_SAVED "New E-steps applied.\nDon't forget to save 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_NOTIFICATIONS "Notifications" +#define STRING_MESH_EDITOR "Mesh edit" +#define STRING_MESH_TUNER "Mesh tuner" +#define STRING_CASE_LIGHT "Case light" +#define STRING_LOAD_STARTED "Loading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_UNLOAD_STARTED "Unloading filament.\nPlease wait for the process to complete." // translation needed +#define STRING_HEATERS_ON "Some heaters are still ON.\nDo you want to stop them?" // translation needed +#define STRING_PRINT_FINISHED " Print\n finished" +#define STRING_MAIN_SCREEN "Main" +#define STRING_PREVIOUS_PRINT_DATA "Brief" +#define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament cost: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament data not available." +#define STRING_CLICK_FOR_MORE "Click for summary" +#define STRING_EXT_TEMPLOW "Hotend temperature is below minimum temperature (%d℃)." +#define STRING_HEAT_HOTEND "Heat hotend to %d℃?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_tr.h b/TFT/src/User/API/Language/language_tr.h index 8b4b352e7..82974c6d8 100644 --- a/TFT/src/User/API/Language/language_tr.h +++ b/TFT/src/User/API/Language/language_tr.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_TR_H_ #define _LANGUAGE_TR_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Türkçe" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "Döndür" - #define STRING_ACK_NOTIFICATION "Onay mesajı stili" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "Liste Görünümü" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Yüzdesel Fan Hızı" - #define STRING_PERSISTENT_INFO "Kalıcı Durum Mesajı" - #define STRING_TERMINAL_ACK "Terminalde onay mesajları" - #define STRING_SERIAL_ALWAYS_ON "Seri Bağ. Sürekli Açık" - #define STRING_MARLIN_FULLSCREEN "Tam Ekran Marlin Modu" - #define STRING_MARLIN_SHOW_TITLE "Marlin Modu Başlık Desteği" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "Hareket Hızı(X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Seviyelemeyi Oto Kaydet/Yükle" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Motor Oto-Hizalama" - #define STRING_PS_AUTO_SHUTDOWN "Oto. Kapanma" - #define STRING_FIL_RUNOUT "Filaman Sensörü" - #define STRING_PL_RECOVERY "Güç Kesintisi Kurtarma" - #define STRING_PL_RECOVERY_HOME "Güç Kesintisi Sıfırama" - #define STRING_BTT_MINI_UPS "BTT UPS Desteği" - #define STRING_TOUCH_SOUND "Dokunma Sesi" - #define STRING_TOAST_SOUND "Ara Bildirimler" - #define STRING_ALERT_SOUND "Uyarılar ve Sesler" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "Parlaklık" - #define STRING_LCD_IDLE_BRIGHTNESS "Parlaklık Kısılma Oranı" - #define STRING_LCD_IDLE_TIME "Parlaklık Kısılma Süresi" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "Döner Düğme LED" - #define STRING_KNOB_LED_IDLE "Düğme LED bekleme" - #define STRING_START_GCODE_ENABLED "Başlangıç gcodeu kullan" - #define STRING_END_GCODE_ENABLED "Bitiş gcodeu kullan" - #define STRING_CANCEL_GCODE_ENABLED "İptal gcodeu kullan" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Türkçe" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "Döndür" +#define STRING_ACK_NOTIFICATION "Onay mesajı stili" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "Liste Görünümü" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Yüzdesel Fan Hızı" +#define STRING_PERSISTENT_INFO "Kalıcı Durum Mesajı" +#define STRING_TERMINAL_ACK "Terminalde onay mesajları" +#define STRING_SERIAL_ALWAYS_ON "Seri Bağ. Sürekli Açık" +#define STRING_MARLIN_FULLSCREEN "Tam Ekran Marlin Modu" +#define STRING_MARLIN_SHOW_TITLE "Marlin Modu Başlık Desteği" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "Hareket Hızı(X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Seviyelemeyi Oto Kaydet/Yükle" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Motor Oto-Hizalama" +#define STRING_PS_AUTO_SHUTDOWN "Oto. Kapanma" +#define STRING_FIL_RUNOUT "Filaman Sensörü" +#define STRING_PL_RECOVERY "Güç Kesintisi Kurtarma" +#define STRING_PL_RECOVERY_HOME "Güç Kesintisi Sıfırama" +#define STRING_BTT_MINI_UPS "BTT UPS Desteği" +#define STRING_TOUCH_SOUND "Dokunma Sesi" +#define STRING_TOAST_SOUND "Ara Bildirimler" +#define STRING_ALERT_SOUND "Uyarılar ve Sesler" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "Parlaklık" +#define STRING_LCD_IDLE_BRIGHTNESS "Parlaklık Kısılma Oranı" +#define STRING_LCD_IDLE_TIME "Parlaklık Kısılma Süresi" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "Döner Düğme LED" +#define STRING_KNOB_LED_IDLE "Düğme LED bekleme" +#define STRING_START_GCODE_ENABLED "Başlangıç gcodeu kullan" +#define STRING_END_GCODE_ENABLED "Bitiş gcodeu kullan" +#define STRING_CANCEL_GCODE_ENABLED "İptal gcodeu kullan" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "mm/adım" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "Maks. İvmelenme" - #define STRING_MAXFEEDRATE "Maks. İlerleme Hızı" - #define STRING_ACCELERATION "İvmelenme" - #define STRING_JERK "Jerk" - #define STRING_JUNCTION_DEVIATION "Junction Deviation" - #define STRING_HOME_OFFSET "Sıfır Offseti" - #define STRING_FWRETRACT "Yazılım Geriçekmesi" - #define STRING_FWRECOVER "Yazılım Geriitmesi" - #define STRING_RETRACT_AUTO "Oto. yazılım geriçekmesi" - #define STRING_HOTEND_OFFSET "2. Nozül Mesafesi" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Prob Offseti" - #define STRING_LIN_ADVANCE "Linear Advance" - #define STRING_CURRENT_SETTING "Sürücü Akımı (mA)" - #define STRING_HYBRID_THRESHOLD "TMC Hibrit Eşiği" - #define STRING_BUMP_SENSITIVITY "TMC Çarpma Hassasiyeti" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "mm/adım" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "Maks. İvmelenme" +#define STRING_MAXFEEDRATE "Maks. İlerleme Hızı" +#define STRING_ACCELERATION "İvmelenme" +#define STRING_JERK "Jerk" +#define STRING_JUNCTION_DEVIATION "Junction Deviation" +#define STRING_HOME_OFFSET "Sıfır Offseti" +#define STRING_FWRETRACT "Yazılım Geriçekmesi" +#define STRING_FWRECOVER "Yazılım Geriitmesi" +#define STRING_RETRACT_AUTO "Oto. yazılım geriçekmesi" +#define STRING_HOTEND_OFFSET "2. Nozül Mesafesi" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Prob Offseti" +#define STRING_LIN_ADVANCE "Linear Advance" +#define STRING_CURRENT_SETTING "Sürücü Akımı (mA)" +#define STRING_HYBRID_THRESHOLD "TMC Hibrit Eşiği" +#define STRING_BUMP_SENSITIVITY "TMC Çarpma Hassasiyeti" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "Baskı İvme" - #define STRING_RETRACT_ACCELERATION "Geriçekme İvme" - #define STRING_TRAVEL_ACCELERATION "Gezinti İvme" - #define STRING_RETRACT_LENGTH "Mesafe" - #define STRING_RETRACT_SWAP_LENGTH "Kafa Değ. Mesafe" - #define STRING_RETRACT_FEEDRATE "Hız" - #define STRING_RETRACT_Z_LIFT "Z Sıçraması" - #define STRING_RECOVER_LENGTH "Ekstra geriitme mesafesi" - #define STRING_SWAP_RECOVER_LENGTH "Ekstra geriitme değişim mesafesi" - #define STRING_RECOVER_FEEDRATE "Geriitme hızı" - #define STRING_SWAP_RECOVER_FEEDRATE "Geriitme değişim hızı" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "Baskı İvme" +#define STRING_RETRACT_ACCELERATION "Geriçekme İvme" +#define STRING_TRAVEL_ACCELERATION "Gezinti İvme" +#define STRING_RETRACT_LENGTH "Mesafe" +#define STRING_RETRACT_SWAP_LENGTH "Kafa Değ. Mesafe" +#define STRING_RETRACT_FEEDRATE "Hız" +#define STRING_RETRACT_Z_LIFT "Z Sıçraması" +#define STRING_RECOVER_LENGTH "Ekstra geriitme mesafesi" +#define STRING_SWAP_RECOVER_LENGTH "Ekstra geriitme değişim mesafesi" +#define STRING_RECOVER_FEEDRATE "Geriitme hızı" +#define STRING_SWAP_RECOVER_FEEDRATE "Geriitme değişim hızı" - // Save / Load - #define STRING_SAVE "Kaydet" - #define STRING_RESTORE "Geri Al" - #define STRING_RESET "Sıfırla" - #define STRING_EEPROM_SAVE_INFO "Yazıcı ayarları kaydedilsin mi?" - #define STRING_EEPROM_RESTORE_INFO "Ayarlar kayıttan geri yüklensin mi?" - #define STRING_EEPROM_RESET_INFO "Fabrika ayarlarına dönülsün mü?" - #define STRING_SETTINGS_SAVE "Ayarları kaydet" - #define STRING_SETTINGS_RESTORE "Ayarları geri al" - #define STRING_SETTINGS_RESET "Varsayılan ayarlara dön" - #define STRING_SETTINGS_RESET_INFO "Tüm ayarlar varsayılana değerlere sıfırlanacak.\nDevam edilsin mi?" - #define STRING_SETTINGS_RESET_DONE "Tüm ayarlar başarıyla sıfırlandı.\nYeni ayarların etkili olması için cihazı yeniden başlatın." +// Save / Load +#define STRING_SAVE "Kaydet" +#define STRING_RESTORE "Geri Al" +#define STRING_RESET "Sıfırla" +#define STRING_EEPROM_SAVE_INFO "Yazıcı ayarları kaydedilsin mi?" +#define STRING_EEPROM_RESTORE_INFO "Ayarlar kayıttan geri yüklensin mi?" +#define STRING_EEPROM_RESET_INFO "Fabrika ayarlarına dönülsün mü?" +#define STRING_SETTINGS_SAVE "Ayarları kaydet" +#define STRING_SETTINGS_RESTORE "Ayarları geri al" +#define STRING_SETTINGS_RESET "Varsayılan ayarlara dön" +#define STRING_SETTINGS_RESET_INFO "Tüm ayarlar varsayılana değerlere sıfırlanacak.\nDevam edilsin mi?" +#define STRING_SETTINGS_RESET_DONE "Tüm ayarlar başarıyla sıfırlandı.\nYeni ayarların etkili olması için cihazı yeniden başlatın." - // Navigation Buttons - #define STRING_PAGE_UP "Yukarı" - #define STRING_PAGE_DOWN "Aşağı" - #define STRING_UP "Yükselt" - #define STRING_DOWN "Alçalt" - #define STRING_NEXT "Sonraki" - #define STRING_BACK "Geri" +// Navigation Buttons +#define STRING_PAGE_UP "Yukarı" +#define STRING_PAGE_DOWN "Aşağı" +#define STRING_UP "Yükselt" +#define STRING_DOWN "Alçalt" +#define STRING_NEXT "Sonraki" +#define STRING_BACK "Geri" - // Value Buttons - #define STRING_INC "Arttır" - #define STRING_DEC "Azalt" - #define STRING_LOAD "Yükle" - #define STRING_UNLOAD "Çıkar" - #define STRING_ON "Açık" - #define STRING_OFF "Kapalı" - #define STRING_AUTO "AUTO" - #define STRING_SMART "AKILLI" - #define STRING_SLOW "Yavaş" - #define STRING_NORMAL "Normal" - #define STRING_FAST "Hızlı" - #define STRING_ZERO "Sıfır" - #define STRING_HALF "Yarım" - #define STRING_FULL "Tam" - #define STRING_CUSTOM "Diğer" - #define STRING_CLEAR "Temizle" - #define STRING_DEFAULT "Varsayılan" +// Value Buttons +#define STRING_INC "Arttır" +#define STRING_DEC "Azalt" +#define STRING_LOAD "Yükle" +#define STRING_UNLOAD "Çıkar" +#define STRING_ON "Açık" +#define STRING_OFF "Kapalı" +#define STRING_AUTO "AUTO" +#define STRING_SMART "AKILLI" +#define STRING_SLOW "Yavaş" +#define STRING_NORMAL "Normal" +#define STRING_FAST "Hızlı" +#define STRING_ZERO "Sıfır" +#define STRING_HALF "Yarım" +#define STRING_FULL "Tam" +#define STRING_CUSTOM "Diğer" +#define STRING_CLEAR "Temizle" +#define STRING_DEFAULT "Varsayılan" - // Action Buttons - #define STRING_START "Başlat" - #define STRING_STOP "Durdur" - #define STRING_PAUSE "Duraklat" - #define STRING_RESUME "Sürdür" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Bağlt. Kes" - #define STRING_SHUT_DOWN "Kapat" - #define STRING_FORCE_SHUT_DOWN "Zorla Kapat" - #define STRING_EMERGENCYSTOP "AcilDurdur" - #define STRING_PREHEAT "Ön Isıtma" - #define STRING_PREHEAT_BOTH "Birlikte" - #define STRING_COOLDOWN "Soğutma" +// Action Buttons +#define STRING_START "Başlat" +#define STRING_STOP "Durdur" +#define STRING_PAUSE "Duraklat" +#define STRING_RESUME "Sürdür" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Bağlt. Kes" +#define STRING_SHUT_DOWN "Kapat" +#define STRING_FORCE_SHUT_DOWN "Zorla Kapat" +#define STRING_EMERGENCYSTOP "AcilDurdur" +#define STRING_PREHEAT "Ön Isıtma" +#define STRING_PREHEAT_BOTH "Birlikte" +#define STRING_COOLDOWN "Soğutma" - // Dialog Buttons - #define STRING_CONFIRM "\u088E Tamam" //Confirm Sign - #define STRING_CANCEL "\u088F İptal" //Cancel Sign - #define STRING_WARNING "Uyarı" //Exclamation Sign - #define STRING_CONTINUE "Devam et" - #define STRING_CONFIRMATION "Emin misiniz?" +// Dialog Buttons +#define STRING_CONFIRM "\u088E Tamam" //Confirm Sign +#define STRING_CANCEL "\u088F İptal" //Cancel Sign +#define STRING_WARNING "Uyarı" //Exclamation Sign +#define STRING_CONTINUE "Devam et" +#define STRING_CONFIRMATION "Emin misiniz?" - // Process Status - #define STRING_STATUS "Durum" - #define STRING_READY "Hazır" - #define STRING_BUSY "İşlem sürüyor, bekleyiniz..." - #define STRING_LOADING "Yükleniyor..." - #define STRING_UNCONNECTED "Yazıcı bağlı değil!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "Durum" +#define STRING_READY "Hazır" +#define STRING_BUSY "İşlem sürüyor, bekleyiniz..." +#define STRING_LOADING "Yükleniyor..." +#define STRING_UNCONNECTED "Yazıcı bağlı değil!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "Bilgi" //Info Sign - #define STRING_INVALID_VALUE "Geçersiz değer(ler)" - #define STRING_TIMEOUT_REACHED "Zaman aşımı!" - #define STRING_DISCONNECT_INFO "Artık yazıcıyı bilgisayarınızdan kontrol edebilirsiniz!" - #define STRING_SHUTTING_DOWN "Kapatılıyor..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Kafa sıcaklığının %d ℃ altına inmesini bekleyiniz." // The length of the info line is 24 characters, so the "temperatureof" will automatically be divided into "temperature of..." - #define STRING_POWER_FAILED "Baskı sürdürülsün mü?" //Question Sign - #define STRING_PROCESS_COMPLETED "Proses tamamlandı!" - #define STRING_PROCESS_ABORTED "Proses durduruldu!" +// Process Info +#define STRING_INFO "Bilgi" //Info Sign +#define STRING_INVALID_VALUE "Geçersiz değer(ler)" +#define STRING_TIMEOUT_REACHED "Zaman aşımı!" +#define STRING_DISCONNECT_INFO "Artık yazıcıyı bilgisayarınızdan kontrol edebilirsiniz!" +#define STRING_SHUTTING_DOWN "Kapatılıyor..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Kafa sıcaklığının %d ℃ altına inmesini bekleyiniz." // The length of the info line is 24 characters, so the "temperatureof" will automatically be divided into "temperature of..." +#define STRING_POWER_FAILED "Baskı sürdürülsün mü?" //Question Sign +#define STRING_PROCESS_COMPLETED "Proses tamamlandı!" +#define STRING_PROCESS_ABORTED "Proses durduruldu!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "SD Kart" - #define STRING_TFT_SD_INSERTED "SD kart Takıldı" - #define STRING_TFT_SD_REMOVED "SD kart Çıkarıldı" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "SD kart okunamadı!" - #define STRING_TFT_USB "USB Disk" - #define STRING_TFT_USB_INSERTED "USB disk Takıldı" - #define STRING_TFT_USB_REMOVED "USB disk Çıkarıldı" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "USB disk okunamadı!" - #define STRING_ONBOARD_SD "Dahili SD" - #define STRING_ONBOARD_USB "Dahili USB" - #define STRING_ONBOARD_SD_READ_ERROR "Dahili SD Okunamadı!" - #define STRING_FILAMENT_RUNOUT "Filaman Bitti!" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "SD Kart" +#define STRING_TFT_SD_INSERTED "SD kart Takıldı" +#define STRING_TFT_SD_REMOVED "SD kart Çıkarıldı" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "SD kart okunamadı!" +#define STRING_TFT_USB "USB Disk" +#define STRING_TFT_USB_INSERTED "USB disk Takıldı" +#define STRING_TFT_USB_REMOVED "USB disk Çıkarıldı" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "USB disk okunamadı!" +#define STRING_ONBOARD_SD "Dahili SD" +#define STRING_ONBOARD_USB "Dahili USB" +#define STRING_ONBOARD_SD_READ_ERROR "Dahili SD Okunamadı!" +#define STRING_FILAMENT_RUNOUT "Filaman Bitti!" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Motor Dur." - #define STRING_XY_UNLOCK "XY Dur." +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Motor Dur." +#define STRING_XY_UNLOCK "XY Dur." - #define STRING_START_PRINT "Baskıyı Başlat:\n%s?" - #define STRING_STOP_PRINT "Baskı durdurulsun mu?" - #define STRING_IS_PAUSE "Baskı esnasında ekstrüzyon yapılamaz.\nBaskı duraklatılsın mı?" - #define STRING_M0_PAUSE "M0 komutu ile duraklatıldı" +#define STRING_START_PRINT "Baskıyı Başlat:\n%s?" +#define STRING_STOP_PRINT "Baskı durdurulsun mu?" +#define STRING_IS_PAUSE "Baskı esnasında ekstrüzyon yapılamaz.\nBaskı duraklatılsın mı?" +#define STRING_M0_PAUSE "M0 komutu ile duraklatıldı" - #define STRING_TEST "Test" - #define STRING_DEPLOY "Aç" - #define STRING_STOW "Kapat" - #define STRING_REPEAT "Tekrarla" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "Test" +#define STRING_DEPLOY "Aç" +#define STRING_STOW "Kapat" +#define STRING_REPEAT "Tekrarla" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Nozül" - #define STRING_BED "Tabla" - #define STRING_CHAMBER "Kabin" - #define STRING_FAN "Fan" +// Printer Tools +#define STRING_NOZZLE "Nozül" +#define STRING_BED "Tabla" +#define STRING_CHAMBER "Kabin" +#define STRING_FAN "Fan" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1°C" - #define STRING_5_DEGREE "5°C" - #define STRING_10_DEGREE "10°C" +// Values +#define STRING_1_DEGREE "1°C" +#define STRING_5_DEGREE "5°C" +#define STRING_10_DEGREE "10°C" - #define STRING_001_MM "0.01mm" - #define STRING_01_MM "0.1mm" - #define STRING_1_MM "1mm" - #define STRING_5_MM "5mm" - #define STRING_10_MM "10mm" - #define STRING_100_MM "100mm" - #define STRING_200_MM "200mm" +#define STRING_001_MM "0.01mm" +#define STRING_01_MM "0.1mm" +#define STRING_1_MM "1mm" +#define STRING_5_MM "5mm" +#define STRING_10_MM "10mm" +#define STRING_100_MM "100mm" +#define STRING_200_MM "200mm" - #define STRING_1_PERCENT "%1" - #define STRING_5_PERCENT "%5" - #define STRING_10_PERCENT "%10" - #define STRING_PERCENT_VALUE "%%%d" +#define STRING_1_PERCENT "%1" +#define STRING_5_PERCENT "%5" +#define STRING_10_PERCENT "%10" +#define STRING_PERCENT_VALUE "%%%d" - #define STRING_5_SECONDS "5 Sn." - #define STRING_10_SECONDS "10 Sn." - #define STRING_30_SECONDS "30 Sn." - #define STRING_60_SECONDS "1 Dak." - #define STRING_120_SECONDS "2 Dak." - #define STRING_300_SECONDS "5 Dak." +#define STRING_5_SECONDS "5 Sn." +#define STRING_10_SECONDS "10 Sn." +#define STRING_30_SECONDS "30 Sn." +#define STRING_60_SECONDS "1 Dak." +#define STRING_120_SECONDS "2 Dak." +#define STRING_300_SECONDS "5 Dak." - // Colors - #define STRING_WHITE "Beyaz" - #define STRING_BLACK "Siyah" - #define STRING_BLUE "Mavi" - #define STRING_RED "Kırmızı" - #define STRING_GREEN "Yeşil" - #define STRING_CYAN "Camgöbeği" - #define STRING_YELLOW "Sarı" - #define STRING_BROWN "Kahverengi" - #define STRING_GRAY "Gri" - #define STRING_ORANGE "Turuncu" - #define STRING_INDIGO "Çivit Mavisi" - #define STRING_VIOLET "Menekşe" - #define STRING_MAGENTA "Eflatun" - #define STRING_PURPLE "Mor" - #define STRING_LIME "Çim Rengi" - #define STRING_DARKBLUE "Koyu Mavi" - #define STRING_DARKGREEN "Koyu Yeşil" - #define STRING_DARKGRAY "Koyu Gri" +// Colors +#define STRING_WHITE "Beyaz" +#define STRING_BLACK "Siyah" +#define STRING_BLUE "Mavi" +#define STRING_RED "Kırmızı" +#define STRING_GREEN "Yeşil" +#define STRING_CYAN "Camgöbeği" +#define STRING_YELLOW "Sarı" +#define STRING_BROWN "Kahverengi" +#define STRING_GRAY "Gri" +#define STRING_ORANGE "Turuncu" +#define STRING_INDIGO "Çivit Mavisi" +#define STRING_VIOLET "Menekşe" +#define STRING_MAGENTA "Eflatun" +#define STRING_PURPLE "Mor" +#define STRING_LIME "Çim Rengi" +#define STRING_DARKBLUE "Koyu Mavi" +#define STRING_DARKGREEN "Koyu Yeşil" +#define STRING_DARKGRAY "Koyu Gri" - // Menus - #define STRING_HEAT "Isıt" - #define STRING_MOVE "Hareket" - #define STRING_HOME "Sıfırla" - #define STRING_PRINT "Yazdır" - #define STRING_EXTRUDE "Filament" - #define STRING_SETTINGS "Ayarlar" - #define STRING_SCREEN_SETTINGS "Ekran" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Ses" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Makine" - #define STRING_PARAMETER_SETTINGS "Parametre Ayarları" - #define STRING_FEATURE_SETTINGS "Özellik" - #define STRING_CONNECTION_SETTINGS "Bağlantı" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "BaudRate" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "LED Rengi" - #define STRING_RGB_OFF "LED'i Kapat" - #define STRING_TERMINAL "Terminal" - #define STRING_LEVELING "Seviyele" - #define STRING_POINT_1 "1.Nokta" - #define STRING_POINT_2 "2.Nokta" - #define STRING_POINT_3 "3.Nokta" - #define STRING_POINT_4 "4.Nokta" - #define STRING_POINT_5 "5.Nokta" - #define STRING_BED_LEVELING "Seviyeleme" - #define STRING_BL_COMPLETE "Seviyeleme Tamamlandı" - #define STRING_BL_SMART_FILL "Eksik algılama noktaları oluşturuldu.\nNot: Kaydetmeyi unutmayın!" - #define STRING_BL_ENABLE "BL: açık" - #define STRING_BL_DISABLE "BL: kapalı" - #define STRING_ABL "Sev.-ABL" - #define STRING_BBL "Sev.-BBL" - #define STRING_UBL "Sev.-UBL" - #define STRING_MBL "Sev.-MBL" - #define STRING_MBL_SETTINGS "Izgara Seviyeleme" - #define STRING_ABL_SETTINGS "Otomatik Seviyeleme" - #define STRING_ABL_SETTINGS_BBL "Bilineer Seviyeleme" - #define STRING_ABL_SETTINGS_UBL "Birleşik Seviyeleme" - #define STRING_ABL_SETTINGS_UBL_SAVE "Yuvaya Kaydet" - #define STRING_ABL_SETTINGS_UBL_LOAD "Yuvadan Oku" - #define STRING_ABL_SLOT0 "Yuva 0" - #define STRING_ABL_SLOT1 "Yuva 1" - #define STRING_ABL_SLOT2 "Yuva 2" - #define STRING_ABL_SLOT3 "Yuva 3" - #define STRING_ABL_SLOT_EEPROM "Yuvayı hafızaya al? (EEPROM a kaydet)" - #define STRING_ABL_Z "Z Etki" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "P Offset" - #define STRING_H_OFFSET "H Offset" - #define STRING_DISTANCE "Mesafe" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Yükle/Çıkar" - #define STRING_LOAD_UNLOAD_SHORT "Yük./Çık." - #define STRING_TOUCHSCREEN_ADJUST "Kalibre" - #define STRING_MORE "Ayar" - #define STRING_SCREEN_INFO "Bilgi" - #define STRING_BG_COLOR "arkaplan renk" - #define STRING_FONT_COLOR "font renk" - #define STRING_PERCENTAGE "Yüzde" - #define STRING_PERCENTAGE_SPEED "Hız" - #define STRING_PERCENTAGE_FLOW "Akış" - #define STRING_BABYSTEP "MiniAdım" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Dokunmatik Ekran Kalibrasyonu" - #define STRING_ADJUST_INFO "Lütfen kırmızı noktaya tıklayın" - #define STRING_ADJUST_OK "Kalibrasyon başarılı." - #define STRING_ADJUST_FAILED "Kalibrasyon başarısız, lütfen tekrar deneyiniz." - #define STRING_UNIFIEDMOVE "Hareket" - #define STRING_UNIFIEDHEAT "Isıtma/Fan" - #define STRING_TOUCH_TO_EXIT "Çıkmak için ekrana dokunun" - #define STRING_MAINMENU "Menü" - #define STRING_TUNING "Ayar" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC oto. ayar" - #define STRING_MPC_METHOD "Yöntem:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID oto. ayar" - #define STRING_TUNE_START_INFO "Oto. ayarlama zaman alabilir.\nDevam?" - #define STRING_TUNE_EXTRUDER "Ext. Adım" - #define STRING_TUNE_EXT_EXTRUDE_100 "Ext. 100mm" - #define STRING_TUNE_EXT_TEMP "Ekstruder ayarlama | Isı" - #define STRING_TUNE_EXT_MARK120MM "Filamanda 120mm'yi işaretleyin\nHazır olunca '%s'e basın\nEkstrüzyondan sonra kalan mesafeyi ölçün" - #define STRING_TUNE_EXT_ADJ_ESTEPS "E-Adım ayarla" - #define STRING_TUNE_EXT_ESTEPS_SAVED "Yeni E-Adımı kaydedildi!\nEEPROM'a kaydetmeyi unutmayınız.\nYeni Değer: %0.2f" - #define STRING_TUNE_EXT_MEASURED "Kalan mesafe:" - #define STRING_TUNE_EXT_OLD_ESTEP "Eski E-Adımı: %0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "Yeni E-Adımı: %0.2f" - #define STRING_NOTIFICATIONS "Bildirimler" - #define STRING_MESH_EDITOR "Ölç. Düzelt" - #define STRING_MESH_TUNER "Ölçüm Düzeltme" - #define STRING_CASE_LIGHT "Aydınlatma" - #define STRING_LOAD_STARTED "Filaman yüklenecek.\nİşlem tamamlanana kadar başka işlem başlatmayınız." - #define STRING_UNLOAD_STARTED "Filaman çıkartılacak.\nİşlem tamamlanana kadar başka işlem başlatmayınız." - #define STRING_HEATERS_ON "Isıtıcılar devrede.\nIsıtıcılar kapatılsın mı?" - #define STRING_PRINT_FINISHED " Baskı\n tamamlandı" - #define STRING_MAIN_SCREEN "Ana" - #define STRING_PREVIOUS_PRINT_DATA "Özet" - #define STRING_PRINT_TIME "Baskı Süresi: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament uzunluğu: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament ağırlığı: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament maliyeti: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament bilgisi yok." - #define STRING_CLICK_FOR_MORE "Özet için dokun" - #define STRING_EXT_TEMPLOW "Ekstruder sıcaklığı minimum sıcaklığın altında (%d℃)." - #define STRING_HEAT_HOTEND "Ekstruderi %d℃ ye ısıt?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Hizala" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "Isıt" +#define STRING_MOVE "Hareket" +#define STRING_HOME "Sıfırla" +#define STRING_PRINT "Yazdır" +#define STRING_EXTRUDE "Filament" +#define STRING_SETTINGS "Ayarlar" +#define STRING_SCREEN_SETTINGS "Ekran" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Ses" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Makine" +#define STRING_PARAMETER_SETTINGS "Parametre Ayarları" +#define STRING_FEATURE_SETTINGS "Özellik" +#define STRING_CONNECTION_SETTINGS "Bağlantı" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "BaudRate" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "LED Rengi" +#define STRING_RGB_OFF "LED'i Kapat" +#define STRING_TERMINAL "Terminal" +#define STRING_LEVELING "Seviyele" +#define STRING_POINT_1 "1.Nokta" +#define STRING_POINT_2 "2.Nokta" +#define STRING_POINT_3 "3.Nokta" +#define STRING_POINT_4 "4.Nokta" +#define STRING_POINT_5 "5.Nokta" +#define STRING_BED_LEVELING "Seviyeleme" +#define STRING_BL_COMPLETE "Seviyeleme Tamamlandı" +#define STRING_BL_SMART_FILL "Eksik algılama noktaları oluşturuldu.\nNot: Kaydetmeyi unutmayın!" +#define STRING_BL_ENABLE "BL: açık" +#define STRING_BL_DISABLE "BL: kapalı" +#define STRING_ABL "Sev.-ABL" +#define STRING_BBL "Sev.-BBL" +#define STRING_UBL "Sev.-UBL" +#define STRING_MBL "Sev.-MBL" +#define STRING_MBL_SETTINGS "Izgara Seviyeleme" +#define STRING_ABL_SETTINGS "Otomatik Seviyeleme" +#define STRING_ABL_SETTINGS_BBL "Bilineer Seviyeleme" +#define STRING_ABL_SETTINGS_UBL "Birleşik Seviyeleme" +#define STRING_ABL_SETTINGS_UBL_SAVE "Yuvaya Kaydet" +#define STRING_ABL_SETTINGS_UBL_LOAD "Yuvadan Oku" +#define STRING_ABL_SLOT0 "Yuva 0" +#define STRING_ABL_SLOT1 "Yuva 1" +#define STRING_ABL_SLOT2 "Yuva 2" +#define STRING_ABL_SLOT3 "Yuva 3" +#define STRING_ABL_SLOT_EEPROM "Yuvayı hafızaya al? (EEPROM a kaydet)" +#define STRING_ABL_Z "Z Etki" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "P Offset" +#define STRING_H_OFFSET "H Offset" +#define STRING_DISTANCE "Mesafe" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Yükle/Çıkar" +#define STRING_LOAD_UNLOAD_SHORT "Yük./Çık." +#define STRING_TOUCHSCREEN_ADJUST "Kalibre" +#define STRING_MORE "Ayar" +#define STRING_SCREEN_INFO "Bilgi" +#define STRING_BG_COLOR "arkaplan renk" +#define STRING_FONT_COLOR "font renk" +#define STRING_PERCENTAGE "Yüzde" +#define STRING_PERCENTAGE_SPEED "Hız" +#define STRING_PERCENTAGE_FLOW "Akış" +#define STRING_BABYSTEP "MiniAdım" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Dokunmatik Ekran Kalibrasyonu" +#define STRING_ADJUST_INFO "Lütfen kırmızı noktaya tıklayın" +#define STRING_ADJUST_OK "Kalibrasyon başarılı." +#define STRING_ADJUST_FAILED "Kalibrasyon başarısız, lütfen tekrar deneyiniz." +#define STRING_UNIFIEDMOVE "Hareket" +#define STRING_UNIFIEDHEAT "Isıtma/Fan" +#define STRING_TOUCH_TO_EXIT "Çıkmak için ekrana dokunun" +#define STRING_MAINMENU "Menü" +#define STRING_TUNING "Ayar" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC oto. ayar" +#define STRING_MPC_METHOD "Yöntem:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID oto. ayar" +#define STRING_TUNE_START_INFO "Oto. ayarlama zaman alabilir.\nDevam?" +#define STRING_TUNE_EXTRUDER "Ext. Adım" +#define STRING_TUNE_EXT_EXTRUDE_100 "Ext. 100mm" +#define STRING_TUNE_EXT_TEMP "Ekstruder ayarlama | Isı" +#define STRING_TUNE_EXT_MARK120MM "Filamanda 120mm'yi işaretleyin\nHazır olunca '%s'e basın\nEkstrüzyondan sonra kalan mesafeyi ölçün" +#define STRING_TUNE_EXT_ADJ_ESTEPS "E-Adım ayarla" +#define STRING_TUNE_EXT_ESTEPS_SAVED "Yeni E-Adımı kaydedildi!\nEEPROM'a kaydetmeyi unutmayınız.\nYeni Değer: %0.2f" +#define STRING_TUNE_EXT_MEASURED "Kalan mesafe:" +#define STRING_TUNE_EXT_OLD_ESTEP "Eski E-Adımı: %0.2f" +#define STRING_TUNE_EXT_NEW_ESTEP "Yeni E-Adımı: %0.2f" +#define STRING_NOTIFICATIONS "Bildirimler" +#define STRING_MESH_EDITOR "Ölç. Düzelt" +#define STRING_MESH_TUNER "Ölçüm Düzeltme" +#define STRING_CASE_LIGHT "Aydınlatma" +#define STRING_LOAD_STARTED "Filaman yüklenecek.\nİşlem tamamlanana kadar başka işlem başlatmayınız." +#define STRING_UNLOAD_STARTED "Filaman çıkartılacak.\nİşlem tamamlanana kadar başka işlem başlatmayınız." +#define STRING_HEATERS_ON "Isıtıcılar devrede.\nIsıtıcılar kapatılsın mı?" +#define STRING_PRINT_FINISHED " Baskı\n tamamlandı" +#define STRING_MAIN_SCREEN "Ana" +#define STRING_PREVIOUS_PRINT_DATA "Özet" +#define STRING_PRINT_TIME "Baskı Süresi: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament uzunluğu: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament ağırlığı: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament maliyeti: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament bilgisi yok." +#define STRING_CLICK_FOR_MORE "Özet için dokun" +#define STRING_EXT_TEMPLOW "Ekstruder sıcaklığı minimum sıcaklığın altında (%d℃)." +#define STRING_HEAT_HOTEND "Ekstruderi %d℃ ye ısıt?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Hizala" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/language_uk.h b/TFT/src/User/API/Language/language_uk.h index 98fc67df3..61dd528fa 100644 --- a/TFT/src/User/API/Language/language_uk.h +++ b/TFT/src/User/API/Language/language_uk.h @@ -1,380 +1,380 @@ #ifndef _LANGUAGE_UK_H_ #define _LANGUAGE_UK_H_ - // config.ini Parameter Settings - Screen Settings and Feature Settings - #define STRING_LANGUAGE "Українська" - #define STRING_ADVANCED_OK "Advanced OK" - #define STRING_COMMAND_CHECKSUM "Command checksum" - #define STRING_EMULATED_M600 "Emulated M600" - #define STRING_EMULATED_M109_M190 "Emulated M109 / M190" - #define STRING_EVENT_LED "Event LED" - #define STRING_FILE_COMMENT_PARSING "File comment parsing" - #define STRING_ROTATED_UI "Повернути інтерфейс" - #define STRING_ACK_NOTIFICATION "ACK стиль повідомлення" - #define STRING_FILES_SORT_BY "Sort files by" - #define STRING_FILES_LIST_MODE "Файли в режимі рядків" - #define STRING_FILENAME_EXTENSION "Show filename extension" - #define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" - #define STRING_PERSISTENT_INFO "Нагрівання в інфостроці" - #define STRING_TERMINAL_ACK "ACK терміналу (°С)" - #define STRING_SERIAL_ALWAYS_ON "Serial Always ON" - #define STRING_MARLIN_FULLSCREEN "Marlin на весь екран" - #define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" - #define STRING_MARLIN_TYPE "Marlin Mode Type" - #define STRING_MOVE_SPEED "Швидкість (X Y Z)" - #define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" - #define STRING_PROBING_Z_OFFSET "Probing for Z offset" - #define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" - #define STRING_PS_AUTO_SHUTDOWN "автовимкнення" - #define STRING_FIL_RUNOUT "Сенсор філаменту" - #define STRING_PL_RECOVERY "Робота після втрати живлення" - #define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" - #define STRING_BTT_MINI_UPS "BTT UPS Support" - #define STRING_TOUCH_SOUND "Звуки натискань" - #define STRING_TOAST_SOUND "Звуки інфострічки" - #define STRING_ALERT_SOUND "Попередження" - #define STRING_HEATER_SOUND "Heater notification" - #define STRING_LCD_BRIGHTNESS "Яскравість" - #define STRING_LCD_IDLE_BRIGHTNESS "Регулювання яскравості LCD" - #define STRING_LCD_IDLE_TIME "Час до загасання LCD" - #define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" - #define STRING_LED_ALWAYS_ON "LED always ON" - #define STRING_KNOB_LED_COLOR "Підсвічування енкодера" - #define STRING_KNOB_LED_IDLE "Простій підсвічування енкодера" - #define STRING_START_GCODE_ENABLED "Розпочати G-код перед друком" - #define STRING_END_GCODE_ENABLED "Завершити G-код після друку" - #define STRING_CANCEL_GCODE_ENABLED "G-код скасувати друк" +// config.ini Parameter Settings - Screen Settings and Feature Settings +#define STRING_LANGUAGE "Українська" +#define STRING_ADVANCED_OK "Advanced OK" +#define STRING_COMMAND_CHECKSUM "Command checksum" +#define STRING_EMULATED_M600 "Emulated M600" +#define STRING_EMULATED_M109_M190 "Emulated M109 / M190" +#define STRING_EVENT_LED "Event LED" +#define STRING_FILE_COMMENT_PARSING "File comment parsing" +#define STRING_ROTATED_UI "Повернути інтерфейс" +#define STRING_ACK_NOTIFICATION "ACK стиль повідомлення" +#define STRING_FILES_SORT_BY "Sort files by" +#define STRING_FILES_LIST_MODE "Файли в режимі рядків" +#define STRING_FILENAME_EXTENSION "Show filename extension" +#define STRING_FAN_SPEED_PERCENTAGE "Fan Speed As Percentage" +#define STRING_PERSISTENT_INFO "Нагрівання в інфостроці" +#define STRING_TERMINAL_ACK "ACK терміналу (°С)" +#define STRING_SERIAL_ALWAYS_ON "Serial Always ON" +#define STRING_MARLIN_FULLSCREEN "Marlin на весь екран" +#define STRING_MARLIN_SHOW_TITLE "Marlin Mode Title Support" +#define STRING_MARLIN_TYPE "Marlin Mode Type" +#define STRING_MOVE_SPEED "Швидкість (X Y Z)" +#define STRING_AUTO_LOAD_LEVELING "Auto Load Leveling" +#define STRING_PROBING_Z_OFFSET "Probing for Z offset" +#define STRING_Z_STEPPERS_ALIGNMENT "Z Steppers Auto-Alignment" +#define STRING_PS_AUTO_SHUTDOWN "автовимкнення" +#define STRING_FIL_RUNOUT "Сенсор філаменту" +#define STRING_PL_RECOVERY "Робота після втрати живлення" +#define STRING_PL_RECOVERY_HOME "Power Loss Recovery Homing" +#define STRING_BTT_MINI_UPS "BTT UPS Support" +#define STRING_TOUCH_SOUND "Звуки натискань" +#define STRING_TOAST_SOUND "Звуки інфострічки" +#define STRING_ALERT_SOUND "Попередження" +#define STRING_HEATER_SOUND "Heater notification" +#define STRING_LCD_BRIGHTNESS "Яскравість" +#define STRING_LCD_IDLE_BRIGHTNESS "Регулювання яскравості LCD" +#define STRING_LCD_IDLE_TIME "Час до загасання LCD" +#define STRING_LCD_LOCK_ON_IDLE "LCD lock on idle" +#define STRING_LED_ALWAYS_ON "LED always ON" +#define STRING_KNOB_LED_COLOR "Підсвічування енкодера" +#define STRING_KNOB_LED_IDLE "Простій підсвічування енкодера" +#define STRING_START_GCODE_ENABLED "Розпочати G-код перед друком" +#define STRING_END_GCODE_ENABLED "Завершити G-код після друку" +#define STRING_CANCEL_GCODE_ENABLED "G-код скасувати друк" - // Machine Parameter Settings - Param Title (ordered by gcode) - #define STRING_STEPS_SETTING "Налаштування кроків на мм" - #define STRING_FILAMENT_SETTING "Filament Diameter" - #define STRING_MAXACCELERATION "MAX прискорення" - #define STRING_MAXFEEDRATE "MAX швидкість подачі" - #define STRING_ACCELERATION "Прискорення" - #define STRING_JERK "Ривок" - #define STRING_JUNCTION_DEVIATION "Відхилення вузла" - #define STRING_HOME_OFFSET "Дім - відступи" - #define STRING_FWRETRACT "M207 ретракт" - #define STRING_FWRECOVER "M208 відновлення ретракт" - #define STRING_RETRACT_AUTO "Авто FW ретракт" - #define STRING_HOTEND_OFFSET "Зсув 2-го сопла" - #define STRING_HOTEND_PID "Hotend PID" - #define STRING_BED_PID "Bed PID" - #define STRING_STEALTH_CHOP "TMC StealthChop" - #define STRING_INPUT_SHAPING "Input Shaping" - #define STRING_DELTA_CONFIGURATION "Delta Configuration" - #define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" - #define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" - #define STRING_DELTA_ENDSTOP "Endstop Adjustments" - #define STRING_PROBE_OFFSET "Зміщення датчика" - #define STRING_LIN_ADVANCE "К-фактор" - #define STRING_CURRENT_SETTING "Налаштування TMC драйверів" - #define STRING_HYBRID_THRESHOLD "TMC гібридний поріг" - #define STRING_BUMP_SENSITIVITY "TMC чутливість удару" - #define STRING_MBL_OFFSET "MBL Offset" +// Machine Parameter Settings - Param Title (ordered by gcode) +#define STRING_STEPS_SETTING "Налаштування кроків на мм" +#define STRING_FILAMENT_SETTING "Filament Diameter" +#define STRING_MAXACCELERATION "MAX прискорення" +#define STRING_MAXFEEDRATE "MAX швидкість подачі" +#define STRING_ACCELERATION "Прискорення" +#define STRING_JERK "Ривок" +#define STRING_JUNCTION_DEVIATION "Відхилення вузла" +#define STRING_HOME_OFFSET "Дім - відступи" +#define STRING_FWRETRACT "M207 ретракт" +#define STRING_FWRECOVER "M208 відновлення ретракт" +#define STRING_RETRACT_AUTO "Авто FW ретракт" +#define STRING_HOTEND_OFFSET "Зсув 2-го сопла" +#define STRING_HOTEND_PID "Hotend PID" +#define STRING_BED_PID "Bed PID" +#define STRING_STEALTH_CHOP "TMC StealthChop" +#define STRING_INPUT_SHAPING "Input Shaping" +#define STRING_DELTA_CONFIGURATION "Delta Configuration" +#define STRING_DELTA_TOWER_ANGLE "Tower Angle Trim" +#define STRING_DELTA_DIAGONAL_ROD "Diagonal Rod Trim" +#define STRING_DELTA_ENDSTOP "Endstop Adjustments" +#define STRING_PROBE_OFFSET "Зміщення датчика" +#define STRING_LIN_ADVANCE "К-фактор" +#define STRING_CURRENT_SETTING "Налаштування TMC драйверів" +#define STRING_HYBRID_THRESHOLD "TMC гібридний поріг" +#define STRING_BUMP_SENSITIVITY "TMC чутливість удару" +#define STRING_MBL_OFFSET "MBL Offset" - // Machine Parameter Settings - Param Attributes (ordered by gcode) - #define STRING_PRINT_ACCELERATION "прискорення друку" - #define STRING_RETRACT_ACCELERATION "ретракт" - #define STRING_TRAVEL_ACCELERATION "Переміщення" - #define STRING_RETRACT_LENGTH "Довжина подачі" - #define STRING_RETRACT_SWAP_LENGTH "Довжина подачі при зміні сопла" - #define STRING_RETRACT_FEEDRATE "Швидкість подачі" - #define STRING_RETRACT_Z_LIFT "Підйом по Z" - #define STRING_RECOVER_LENGTH "Довжина" - #define STRING_SWAP_RECOVER_LENGTH "Довжина при зміні сопла" - #define STRING_RECOVER_FEEDRATE "Швидкість подачі" - #define STRING_SWAP_RECOVER_FEEDRATE "Швидкість подачі при зміні сопла" +// Machine Parameter Settings - Param Attributes (ordered by gcode) +#define STRING_PRINT_ACCELERATION "прискорення друку" +#define STRING_RETRACT_ACCELERATION "ретракт" +#define STRING_TRAVEL_ACCELERATION "Переміщення" +#define STRING_RETRACT_LENGTH "Довжина подачі" +#define STRING_RETRACT_SWAP_LENGTH "Довжина подачі при зміні сопла" +#define STRING_RETRACT_FEEDRATE "Швидкість подачі" +#define STRING_RETRACT_Z_LIFT "Підйом по Z" +#define STRING_RECOVER_LENGTH "Довжина" +#define STRING_SWAP_RECOVER_LENGTH "Довжина при зміні сопла" +#define STRING_RECOVER_FEEDRATE "Швидкість подачі" +#define STRING_SWAP_RECOVER_FEEDRATE "Швидкість подачі при зміні сопла" - // Save / Load - #define STRING_SAVE "Зберегти" - #define STRING_RESTORE "Повернути" - #define STRING_RESET "Скидання" - #define STRING_EEPROM_SAVE_INFO "Зберегти налаштування принтера в EEPROM?" - #define STRING_EEPROM_RESTORE_INFO "Завантажити налаштування із EEPROM?" - #define STRING_EEPROM_RESET_INFO "Скинути EEPROM налаштування принтера на початкові?" - #define STRING_SETTINGS_SAVE "Зберегти налаштування" - #define STRING_SETTINGS_RESTORE "Відновити налаштування" - #define STRING_SETTINGS_RESET "Скинути налаштування" - #define STRING_SETTINGS_RESET_INFO "Всі налаштування будуть скинуті за замовчуванням. Бажаєте продовжити?" - #define STRING_SETTINGS_RESET_DONE "Скидання налаштувань екрана. Для повного вступу в силу, перезавантажте пристрій." +// Save / Load +#define STRING_SAVE "Зберегти" +#define STRING_RESTORE "Повернути" +#define STRING_RESET "Скидання" +#define STRING_EEPROM_SAVE_INFO "Зберегти налаштування принтера в EEPROM?" +#define STRING_EEPROM_RESTORE_INFO "Завантажити налаштування із EEPROM?" +#define STRING_EEPROM_RESET_INFO "Скинути EEPROM налаштування принтера на початкові?" +#define STRING_SETTINGS_SAVE "Зберегти налаштування" +#define STRING_SETTINGS_RESTORE "Відновити налаштування" +#define STRING_SETTINGS_RESET "Скинути налаштування" +#define STRING_SETTINGS_RESET_INFO "Всі налаштування будуть скинуті за замовчуванням. Бажаєте продовжити?" +#define STRING_SETTINGS_RESET_DONE "Скидання налаштувань екрана. Для повного вступу в силу, перезавантажте пристрій." - // Navigation Buttons - #define STRING_PAGE_UP "\u0899 Вгору" // Left Arrow - #define STRING_PAGE_DOWN "Вниз" // Right Arrow - #define STRING_UP "Вгору" - #define STRING_DOWN "Вниз" - #define STRING_NEXT "Наступний" - #define STRING_BACK "Назад" +// Navigation Buttons +#define STRING_PAGE_UP "\u0899 Вгору" // Left Arrow +#define STRING_PAGE_DOWN "Вниз" // Right Arrow +#define STRING_UP "Вгору" +#define STRING_DOWN "Вниз" +#define STRING_NEXT "Наступний" +#define STRING_BACK "Назад" - // Value Buttons - #define STRING_INC "Збільшити" - #define STRING_DEC "Зменшити" - #define STRING_LOAD "Завантаження" - #define STRING_UNLOAD "Вивантаження" - #define STRING_ON "Увімкнути" - #define STRING_OFF "Вимкн" - #define STRING_AUTO "AUTO" - #define STRING_SMART "Розумний" - #define STRING_SLOW "Повільно" - #define STRING_NORMAL "Звичайно" - #define STRING_FAST "Швидко" - #define STRING_ZERO "Обнулити" - #define STRING_HALF "50%" - #define STRING_FULL "100%" - #define STRING_CUSTOM "Своє меню" - #define STRING_CLEAR "Прибрати" - #define STRING_DEFAULT "За замовчуванням" +// Value Buttons +#define STRING_INC "Збільшити" +#define STRING_DEC "Зменшити" +#define STRING_LOAD "Завантаження" +#define STRING_UNLOAD "Вивантаження" +#define STRING_ON "Увімкнути" +#define STRING_OFF "Вимкн" +#define STRING_AUTO "AUTO" +#define STRING_SMART "Розумний" +#define STRING_SLOW "Повільно" +#define STRING_NORMAL "Звичайно" +#define STRING_FAST "Швидко" +#define STRING_ZERO "Обнулити" +#define STRING_HALF "50%" +#define STRING_FULL "100%" +#define STRING_CUSTOM "Своє меню" +#define STRING_CLEAR "Прибрати" +#define STRING_DEFAULT "За замовчуванням" - // Action Buttons - #define STRING_START "Почати" - #define STRING_STOP "Стоп" - #define STRING_PAUSE "Пауза" - #define STRING_RESUME "Продовжити" - #define STRING_INIT "Init" - #define STRING_DISCONNECT "Відключити" - #define STRING_SHUT_DOWN "Вимкнути" - #define STRING_FORCE_SHUT_DOWN "Примусово вимк" - #define STRING_EMERGENCYSTOP "Екст. стоп" - #define STRING_PREHEAT "Прогрівання" - #define STRING_PREHEAT_BOTH "Обидва" - #define STRING_COOLDOWN "Охолодити" +// Action Buttons +#define STRING_START "Почати" +#define STRING_STOP "Стоп" +#define STRING_PAUSE "Пауза" +#define STRING_RESUME "Продовжити" +#define STRING_INIT "Init" +#define STRING_DISCONNECT "Відключити" +#define STRING_SHUT_DOWN "Вимкнути" +#define STRING_FORCE_SHUT_DOWN "Примусово вимк" +#define STRING_EMERGENCYSTOP "Екст. стоп" +#define STRING_PREHEAT "Прогрівання" +#define STRING_PREHEAT_BOTH "Обидва" +#define STRING_COOLDOWN "Охолодити" - // Dialog Buttons - #define STRING_CONFIRM "\u088E OK" // Confirm Sign - #define STRING_CANCEL "\u088F Скасування" // Cancel Sign - #define STRING_WARNING "Увага" - #define STRING_CONTINUE "Продовження" - #define STRING_CONFIRMATION "Ви впевнені?" +// Dialog Buttons +#define STRING_CONFIRM "\u088E OK" // Confirm Sign +#define STRING_CANCEL "\u088F Скасування" // Cancel Sign +#define STRING_WARNING "Увага" +#define STRING_CONTINUE "Продовження" +#define STRING_CONFIRMATION "Ви впевнені?" - // Process Status - #define STRING_STATUS "Статус" - #define STRING_READY "Готовий" - #define STRING_BUSY "Опрацювання, зачекайте ..." - #define STRING_LOADING "Завантаження ..." - #define STRING_UNCONNECTED "Принтер не підключено!" - #define STRING_LISTENING "TFT in Listening Mode!" +// Process Status +#define STRING_STATUS "Статус" +#define STRING_READY "Готовий" +#define STRING_BUSY "Опрацювання, зачекайте ..." +#define STRING_LOADING "Завантаження ..." +#define STRING_UNCONNECTED "Принтер не підключено!" +#define STRING_LISTENING "TFT in Listening Mode!" - // Process Info - #define STRING_INFO "\u0884 Інформація" // Info Sign - #define STRING_INVALID_VALUE "Неправильне значення!" - #define STRING_TIMEOUT_REACHED "Час вичерпано!" - #define STRING_DISCONNECT_INFO "Керування принтером через комп'ютер" - #define STRING_SHUTTING_DOWN "Вимикаю ..." - #define STRING_WAIT_TEMP_SHUT_DOWN "Дочекайтеся, поки температура сопла не буде нижче за %d℃" // Wait for the temperature of hotend to be lower than 50 ℃ - #define STRING_POWER_FAILED "Продовжити друк?" - #define STRING_PROCESS_COMPLETED "Процес завершений!" - #define STRING_PROCESS_ABORTED "Процес перерваний!" +// Process Info +#define STRING_INFO "\u0884 Інформація" // Info Sign +#define STRING_INVALID_VALUE "Неправильне значення!" +#define STRING_TIMEOUT_REACHED "Час вичерпано!" +#define STRING_DISCONNECT_INFO "Керування принтером через комп'ютер" +#define STRING_SHUTTING_DOWN "Вимикаю ..." +#define STRING_WAIT_TEMP_SHUT_DOWN "Дочекайтеся, поки температура сопла не буде нижче за %d℃" // Wait for the temperature of hotend to be lower than 50 ℃ +#define STRING_POWER_FAILED "Продовжити друк?" +#define STRING_PROCESS_COMPLETED "Процес завершений!" +#define STRING_PROCESS_ABORTED "Процес перерваний!" - // TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info - #define STRING_TFT_SD "SD екрану" - #define STRING_TFT_SD_INSERTED "SD карта вставлена" - #define STRING_TFT_SD_REMOVED "SD карта витягнута" - #define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" - #define STRING_TFT_SD_READ_ERROR "Не можу прочитати SD картку!" - #define STRING_TFT_USB "Флеш карта" - #define STRING_TFT_USB_INSERTED "Флеш карта вставлена" - #define STRING_TFT_USB_REMOVED "Флеш карта витягнута" - #define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" - #define STRING_TFT_USB_READ_ERROR "Не можу прочитати флеш картку!" - #define STRING_ONBOARD_SD "SD на платі" - #define STRING_ONBOARD_USB "USB на платі" - #define STRING_ONBOARD_SD_READ_ERROR "Не можу прочитати SD картку!" - #define STRING_FILAMENT_RUNOUT "Філамент закінчився" +// TFT Media, Onboard Media, Filament Runout Process Commands / Status / Info +#define STRING_TFT_SD "SD екрану" +#define STRING_TFT_SD_INSERTED "SD карта вставлена" +#define STRING_TFT_SD_REMOVED "SD карта витягнута" +#define STRING_TFT_SD_NOT_DETECTED "No SD card detected!" +#define STRING_TFT_SD_READ_ERROR "Не можу прочитати SD картку!" +#define STRING_TFT_USB "Флеш карта" +#define STRING_TFT_USB_INSERTED "Флеш карта вставлена" +#define STRING_TFT_USB_REMOVED "Флеш карта витягнута" +#define STRING_TFT_USB_NOT_DETECTED "No USB disk detected!" +#define STRING_TFT_USB_READ_ERROR "Не можу прочитати флеш картку!" +#define STRING_ONBOARD_SD "SD на платі" +#define STRING_ONBOARD_USB "USB на платі" +#define STRING_ONBOARD_SD_READ_ERROR "Не можу прочитати SD картку!" +#define STRING_FILAMENT_RUNOUT "Філамент закінчився" - // Steppers, Print, Probe Process Commands / Status / Info - #define STRING_DISABLE_STEPPERS "Вимкнути двигуни" - #define STRING_XY_UNLOCK "Мотори вимкн" +// Steppers, Print, Probe Process Commands / Status / Info +#define STRING_DISABLE_STEPPERS "Вимкнути двигуни" +#define STRING_XY_UNLOCK "Мотори вимкн" - #define STRING_START_PRINT "Почати друк:\n%s?" - #define STRING_STOP_PRINT "Зупинити друк?" - #define STRING_IS_PAUSE "Неможлива екструзія при друку,\nпоставити на паузу?" - #define STRING_M0_PAUSE "Пауза по команді M0" +#define STRING_START_PRINT "Почати друк:\n%s?" +#define STRING_STOP_PRINT "Зупинити друк?" +#define STRING_IS_PAUSE "Неможлива екструзія при друку,\nпоставити на паузу?" +#define STRING_M0_PAUSE "Пауза по команді M0" - #define STRING_TEST "BLT тест" - #define STRING_DEPLOY "BLT вниз" - #define STRING_STOW "BLT вгору" - #define STRING_REPEAT "Точність Z" - #define STRING_HS_ON "HS: On" - #define STRING_HS_OFF "HS: Off" +#define STRING_TEST "BLT тест" +#define STRING_DEPLOY "BLT вниз" +#define STRING_STOW "BLT вгору" +#define STRING_REPEAT "Точність Z" +#define STRING_HS_ON "HS: On" +#define STRING_HS_OFF "HS: Off" - // Printer Tools - #define STRING_NOZZLE "Сопло" - #define STRING_BED "Стіл" - #define STRING_CHAMBER "Камера" - #define STRING_FAN "Вентилятор" +// Printer Tools +#define STRING_NOZZLE "Сопло" +#define STRING_BED "Стіл" +#define STRING_CHAMBER "Камера" +#define STRING_FAN "Вентилятор" - #define STRING_BLTOUCH "BLTouch" - #define STRING_TOUCHMI "TouchMi" +#define STRING_BLTOUCH "BLTouch" +#define STRING_TOUCHMI "TouchMi" - // Values - #define STRING_1_DEGREE "1℃" - #define STRING_5_DEGREE "5℃" - #define STRING_10_DEGREE "10℃" +// Values +#define STRING_1_DEGREE "1℃" +#define STRING_5_DEGREE "5℃" +#define STRING_10_DEGREE "10℃" - #define STRING_001_MM "0.01мм" - #define STRING_01_MM "0.1мм" - #define STRING_1_MM "1мм" - #define STRING_5_MM "5мм" - #define STRING_10_MM "10мм" - #define STRING_100_MM "100мм" - #define STRING_200_MM "200мм" +#define STRING_001_MM "0.01мм" +#define STRING_01_MM "0.1мм" +#define STRING_1_MM "1мм" +#define STRING_5_MM "5мм" +#define STRING_10_MM "10мм" +#define STRING_100_MM "100мм" +#define STRING_200_MM "200мм" - #define STRING_1_PERCENT "1%" - #define STRING_5_PERCENT "5%" - #define STRING_10_PERCENT "10%" - #define STRING_PERCENT_VALUE "%d%%" +#define STRING_1_PERCENT "1%" +#define STRING_5_PERCENT "5%" +#define STRING_10_PERCENT "10%" +#define STRING_PERCENT_VALUE "%d%%" - #define STRING_5_SECONDS "5 сек." - #define STRING_10_SECONDS "10 сек." - #define STRING_30_SECONDS "30 сек." - #define STRING_60_SECONDS "1 хв." - #define STRING_120_SECONDS "2 хв." - #define STRING_300_SECONDS "5 хв." +#define STRING_5_SECONDS "5 сек." +#define STRING_10_SECONDS "10 сек." +#define STRING_30_SECONDS "30 сек." +#define STRING_60_SECONDS "1 хв." +#define STRING_120_SECONDS "2 хв." +#define STRING_300_SECONDS "5 хв." - // Colors - #define STRING_WHITE "Білий" - #define STRING_BLACK "Чорний" - #define STRING_BLUE "Синій" - #define STRING_RED "Червоний" - #define STRING_GREEN "Зелений" - #define STRING_CYAN "Блакитний" - #define STRING_YELLOW "Жовтий" - #define STRING_BROWN "Коричневий" - #define STRING_GRAY "Сірий" - #define STRING_ORANGE "Помаранчевий" - #define STRING_INDIGO "Індиго" - #define STRING_VIOLET "Фіолетовий" - #define STRING_MAGENTA "Маджента" - #define STRING_PURPLE "Пурпуровий" - #define STRING_LIME "Лаймовий" - #define STRING_DARKBLUE "Темно-синій" - #define STRING_DARKGREEN "Темно-зелений" - #define STRING_DARKGRAY "Темно-сірий" +// Colors +#define STRING_WHITE "Білий" +#define STRING_BLACK "Чорний" +#define STRING_BLUE "Синій" +#define STRING_RED "Червоний" +#define STRING_GREEN "Зелений" +#define STRING_CYAN "Блакитний" +#define STRING_YELLOW "Жовтий" +#define STRING_BROWN "Коричневий" +#define STRING_GRAY "Сірий" +#define STRING_ORANGE "Помаранчевий" +#define STRING_INDIGO "Індиго" +#define STRING_VIOLET "Фіолетовий" +#define STRING_MAGENTA "Маджента" +#define STRING_PURPLE "Пурпуровий" +#define STRING_LIME "Лаймовий" +#define STRING_DARKBLUE "Темно-синій" +#define STRING_DARKGREEN "Темно-зелений" +#define STRING_DARKGRAY "Темно-сірий" - // Menus - #define STRING_HEAT "Нагрівання" - #define STRING_MOVE "Рух" - #define STRING_HOME "Додому" - #define STRING_PRINT "Друк" - #define STRING_EXTRUDE "Екструзія" - #define STRING_SETTINGS "Налаштування" - #define STRING_SCREEN_SETTINGS "Екран" - #define STRING_UI_SETTINGS "UI" - #define STRING_SOUND "Звуки" - #define STRING_MARLIN_MODE_SETTINGS "MarlinMode" - #define STRING_MACHINE_SETTINGS "Принтер" - #define STRING_PARAMETER_SETTINGS "Параметри" - #define STRING_FEATURE_SETTINGS "Опції" - #define STRING_CONNECTION_SETTINGS "З'єднання" - #define STRING_SERIAL_PORTS "S. Ports" - #define STRING_BAUDRATE "Baudrate" - #define STRING_EEPROM_SETTINGS "EEPROM" - #define STRING_RGB_SETTINGS "Колір LED" - #define STRING_RGB_OFF "LED вимкн." - #define STRING_TERMINAL "Термінал" - #define STRING_LEVELING "Стіл вруч." - #define STRING_POINT_1 "Точка 1" - #define STRING_POINT_2 "Точка 2" - #define STRING_POINT_3 "Точка 3" - #define STRING_POINT_4 "Точка 4" - #define STRING_POINT_5 "Точка 5" - #define STRING_BED_LEVELING "Стіл вирівн." - #define STRING_BL_COMPLETE "Вирівнювання столу закінчено" - #define STRING_BL_SMART_FILL "Відсутні точки заміру були автоматично заповнені.\nНатисніть зберегти!" - #define STRING_BL_ENABLE "BL: увімкн." - #define STRING_BL_DISABLE "BL: вимкн." - #define STRING_ABL "ABL" - #define STRING_BBL "BBL" - #define STRING_UBL "UBL" - #define STRING_MBL "MBL" - #define STRING_MBL_SETTINGS "Вирівнювання по сітці" - #define STRING_ABL_SETTINGS "Автовирівнювання" - #define STRING_ABL_SETTINGS_BBL "Білінійне калібрування" - #define STRING_ABL_SETTINGS_UBL "Універсальне калібрування" - #define STRING_ABL_SETTINGS_UBL_SAVE "Зберегти в клітинку" - #define STRING_ABL_SETTINGS_UBL_LOAD "Завантажити з осередку" - #define STRING_ABL_SLOT0 "Слот 0" - #define STRING_ABL_SLOT1 "Слот 1" - #define STRING_ABL_SLOT2 "Слот 2" - #define STRING_ABL_SLOT3 "Слот 3" - #define STRING_ABL_SLOT_EEPROM "Пам'ятати слот при перезавантаженні? (Зберегти в EEPROM)" - #define STRING_ABL_Z "Z загасання" - #define STRING_LEVEL_CORNER "L corner" - #define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" - #define STRING_P_OFFSET "Відступ P" - #define STRING_H_OFFSET "Відступ H" - #define STRING_DISTANCE "Відступи" - #define STRING_SHIM "Shim" - #define STRING_LOAD_UNLOAD "Завантаження/Вивантаження" - #define STRING_LOAD_UNLOAD_SHORT "(За/ви)вантаж." - #define STRING_TOUCHSCREEN_ADJUST "Калібрування сенсору" - #define STRING_MORE "Більше \u089C" // Curved Right Arrow - #define STRING_SCREEN_INFO "Інформація" - #define STRING_BG_COLOR "Колір фону" - #define STRING_FONT_COLOR "Колір шрифту" - #define STRING_PERCENTAGE "підстроювання" - #define STRING_PERCENTAGE_SPEED "Швидкість" - #define STRING_PERCENTAGE_FLOW "Потік" - #define STRING_BABYSTEP "Мікрокрок Z" - #define STRING_X_INC "X+" - #define STRING_Y_INC "Y+" - #define STRING_Z_INC "Z+" - #define STRING_X_DEC "X-" - #define STRING_Y_DEC "Y-" - #define STRING_Z_DEC "Z-" - #define STRING_X "X" - #define STRING_Y "Y" - #define STRING_Z "Z" - #define STRING_ADJUST_TITLE "Калібрування екрану" - #define STRING_ADJUST_INFO "Натисніть на червону крапку" - #define STRING_ADJUST_OK "Успішне калібрування" - #define STRING_ADJUST_FAILED "Невдале калібрування, спробуйте знову" - #define STRING_UNIFIEDMOVE "Рух" - #define STRING_UNIFIEDHEAT "Нагрівання" - #define STRING_TOUCH_TO_EXIT "Натисніть, щоб повернутися" - #define STRING_MAINMENU "Меню" - #define STRING_TUNING "Налагодження" - #define STRING_MPC "MPC" - #define STRING_MPC_TITLE "MPC автоналаштування" - #define STRING_MPC_METHOD "метод:" - #define STRING_PID "PID" - #define STRING_PID_TITLE "PID автоналаштування" - #define STRING_TUNE_START_INFO "Зараз буде почато автоналаштування, це займе деякий час. Продовжити?" - #define STRING_TUNE_EXTRUDER "Налаштування кроків" - #define STRING_TUNE_EXT_EXTRUDE_100 "Екст. 100мм" - #define STRING_TUNE_EXT_TEMP "Налаштування екструдера\nНагрівання" - #define STRING_TUNE_EXT_MARK120MM "Позначте 120 мм на філаменті.\nПо готовності '%s' введіть\nвиміряну отриману довжину після екструзії" - #define STRING_TUNE_EXT_ADJ_ESTEPS "Підстроювання E-кроків" - #define STRING_TUNE_EXT_ESTEPS_SAVED "E-кроки встановлені!\nНе забудьте зберегти їх в EEPROM\nНове значення:%0.2f" - #define STRING_TUNE_EXT_MEASURED "Довжина частини, що залишилася:" - #define STRING_TUNE_EXT_OLD_ESTEP "Старі E-кроки:%0.2f" - #define STRING_TUNE_EXT_NEW_ESTEP "Нові E-кроки:%0.2f" - #define STRING_NOTIFICATIONS "Повідомлення" - #define STRING_MESH_EDITOR "Сітка ред." - #define STRING_MESH_TUNER "Сітка устан." - #define STRING_CASE_LIGHT "Підсвічування" - #define STRING_LOAD_STARTED "Процедура завантаження філаменту, чекаємо поки хотенд досягне бажаної температури.\nБудь ласка, зачекайте." - #define STRING_UNLOAD_STARTED "Процедура вивавантаження філаменту, чекаємо поки хотенд досягне бажаної температури.\nБудь ласка, зачекайте." - #define STRING_HEATERS_ON "Деякі обігрівачі все ще увімкнені.\nВи хочете їх зупинити?" - #define STRING_PRINT_FINISHED " Print\n finished" - #define STRING_MAIN_SCREEN "Main" - #define STRING_PREVIOUS_PRINT_DATA "Brief" - #define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" - #define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" - #define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" - #define STRING_FILAMENT_COST "\nFilament cost: %1.2f" - #define STRING_NO_FILAMENT_STATS "\nFilament data not available." - #define STRING_CLICK_FOR_MORE "Click for summary" - #define STRING_EXT_TEMPLOW "Температура хотенду нижче мінімальної температури (%d℃)." - #define STRING_HEAT_HOTEND "Heat hotend to %d℃?" - #define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." - #define STRING_WAIT_HEAT_UP "Wait for it to heat up." - #define STRING_Z_ALIGN "Z Align" - #define STRING_MACROS "Macros" - #define STRING_MESH_VALID "Mesh Validation" - #define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." - #define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." - #define STRING_CALIBRATION "Calibrate" +// Menus +#define STRING_HEAT "Нагрівання" +#define STRING_MOVE "Рух" +#define STRING_HOME "Додому" +#define STRING_PRINT "Друк" +#define STRING_EXTRUDE "Екструзія" +#define STRING_SETTINGS "Налаштування" +#define STRING_SCREEN_SETTINGS "Екран" +#define STRING_UI_SETTINGS "UI" +#define STRING_SOUND "Звуки" +#define STRING_MARLIN_MODE_SETTINGS "MarlinMode" +#define STRING_MACHINE_SETTINGS "Принтер" +#define STRING_PARAMETER_SETTINGS "Параметри" +#define STRING_FEATURE_SETTINGS "Опції" +#define STRING_CONNECTION_SETTINGS "З'єднання" +#define STRING_SERIAL_PORTS "S. Ports" +#define STRING_BAUDRATE "Baudrate" +#define STRING_EEPROM_SETTINGS "EEPROM" +#define STRING_RGB_SETTINGS "Колір LED" +#define STRING_RGB_OFF "LED вимкн." +#define STRING_TERMINAL "Термінал" +#define STRING_LEVELING "Стіл вруч." +#define STRING_POINT_1 "Точка 1" +#define STRING_POINT_2 "Точка 2" +#define STRING_POINT_3 "Точка 3" +#define STRING_POINT_4 "Точка 4" +#define STRING_POINT_5 "Точка 5" +#define STRING_BED_LEVELING "Стіл вирівн." +#define STRING_BL_COMPLETE "Вирівнювання столу закінчено" +#define STRING_BL_SMART_FILL "Відсутні точки заміру були автоматично заповнені.\nНатисніть зберегти!" +#define STRING_BL_ENABLE "BL: увімкн." +#define STRING_BL_DISABLE "BL: вимкн." +#define STRING_ABL "ABL" +#define STRING_BBL "BBL" +#define STRING_UBL "UBL" +#define STRING_MBL "MBL" +#define STRING_MBL_SETTINGS "Вирівнювання по сітці" +#define STRING_ABL_SETTINGS "Автовирівнювання" +#define STRING_ABL_SETTINGS_BBL "Білінійне калібрування" +#define STRING_ABL_SETTINGS_UBL "Універсальне калібрування" +#define STRING_ABL_SETTINGS_UBL_SAVE "Зберегти в клітинку" +#define STRING_ABL_SETTINGS_UBL_LOAD "Завантажити з осередку" +#define STRING_ABL_SLOT0 "Слот 0" +#define STRING_ABL_SLOT1 "Слот 1" +#define STRING_ABL_SLOT2 "Слот 2" +#define STRING_ABL_SLOT3 "Слот 3" +#define STRING_ABL_SLOT_EEPROM "Пам'ятати слот при перезавантаженні? (Зберегти в EEPROM)" +#define STRING_ABL_Z "Z загасання" +#define STRING_LEVEL_CORNER "L corner" +#define STRING_LEVEL_CORNER_INFO "Edge distance is below probe offset X/Y and some target points could be not reachable.\nDo you want to use a safe edge distance?" +#define STRING_P_OFFSET "Відступ P" +#define STRING_H_OFFSET "Відступ H" +#define STRING_DISTANCE "Відступи" +#define STRING_SHIM "Shim" +#define STRING_LOAD_UNLOAD "Завантаження/Вивантаження" +#define STRING_LOAD_UNLOAD_SHORT "(За/ви)вантаж." +#define STRING_TOUCHSCREEN_ADJUST "Калібрування сенсору" +#define STRING_MORE "Більше \u089C" // Curved Right Arrow +#define STRING_SCREEN_INFO "Інформація" +#define STRING_BG_COLOR "Колір фону" +#define STRING_FONT_COLOR "Колір шрифту" +#define STRING_PERCENTAGE "підстроювання" +#define STRING_PERCENTAGE_SPEED "Швидкість" +#define STRING_PERCENTAGE_FLOW "Потік" +#define STRING_BABYSTEP "Мікрокрок Z" +#define STRING_X_INC "X+" +#define STRING_Y_INC "Y+" +#define STRING_Z_INC "Z+" +#define STRING_X_DEC "X-" +#define STRING_Y_DEC "Y-" +#define STRING_Z_DEC "Z-" +#define STRING_X "X" +#define STRING_Y "Y" +#define STRING_Z "Z" +#define STRING_ADJUST_TITLE "Калібрування екрану" +#define STRING_ADJUST_INFO "Натисніть на червону крапку" +#define STRING_ADJUST_OK "Успішне калібрування" +#define STRING_ADJUST_FAILED "Невдале калібрування, спробуйте знову" +#define STRING_UNIFIEDMOVE "Рух" +#define STRING_UNIFIEDHEAT "Нагрівання" +#define STRING_TOUCH_TO_EXIT "Натисніть, щоб повернутися" +#define STRING_MAINMENU "Меню" +#define STRING_TUNING "Налагодження" +#define STRING_MPC "MPC" +#define STRING_MPC_TITLE "MPC автоналаштування" +#define STRING_MPC_METHOD "метод:" +#define STRING_PID "PID" +#define STRING_PID_TITLE "PID автоналаштування" +#define STRING_TUNE_START_INFO "Зараз буде почато автоналаштування, це займе деякий час. Продовжити?" +#define STRING_TUNE_EXTRUDER "Налаштування кроків" +#define STRING_TUNE_EXT_EXTRUDE_100 "Екст. 100мм" +#define STRING_TUNE_EXT_TEMP "Налаштування екструдера\nНагрівання" +#define STRING_TUNE_EXT_MARK120MM "Позначте 120 мм на філаменті.\nПо готовності '%s' введіть\nвиміряну отриману довжину після екструзії" +#define STRING_TUNE_EXT_ADJ_ESTEPS "Підстроювання E-кроків" +#define STRING_TUNE_EXT_ESTEPS_SAVED "E-кроки встановлені!\nНе забудьте зберегти їх в EEPROM\nНове значення:%0.2f" +#define STRING_TUNE_EXT_MEASURED "Довжина частини, що залишилася:" +#define STRING_TUNE_EXT_OLD_ESTEP "Старі E-кроки:%0.2f" +#define STRING_TUNE_EXT_NEW_ESTEP "Нові E-кроки:%0.2f" +#define STRING_NOTIFICATIONS "Повідомлення" +#define STRING_MESH_EDITOR "Сітка ред." +#define STRING_MESH_TUNER "Сітка устан." +#define STRING_CASE_LIGHT "Підсвічування" +#define STRING_LOAD_STARTED "Процедура завантаження філаменту, чекаємо поки хотенд досягне бажаної температури.\nБудь ласка, зачекайте." +#define STRING_UNLOAD_STARTED "Процедура вивавантаження філаменту, чекаємо поки хотенд досягне бажаної температури.\nБудь ласка, зачекайте." +#define STRING_HEATERS_ON "Деякі обігрівачі все ще увімкнені.\nВи хочете їх зупинити?" +#define STRING_PRINT_FINISHED " Print\n finished" +#define STRING_MAIN_SCREEN "Main" +#define STRING_PREVIOUS_PRINT_DATA "Brief" +#define STRING_PRINT_TIME "Print Time: %02u:%02u:%02u" +#define STRING_FILAMENT_LENGTH "\nFilament length: %1.2fm" +#define STRING_FILAMENT_WEIGHT "\nFilament weight: %1.2fg" +#define STRING_FILAMENT_COST "\nFilament cost: %1.2f" +#define STRING_NO_FILAMENT_STATS "\nFilament data not available." +#define STRING_CLICK_FOR_MORE "Click for summary" +#define STRING_EXT_TEMPLOW "Температура хотенду нижче мінімальної температури (%d℃)." +#define STRING_HEAT_HOTEND "Heat hotend to %d℃?" +#define STRING_DESIRED_TEMPLOW "Hotend temperature is below\ndesired temperature (%d℃)." +#define STRING_WAIT_HEAT_UP "Wait for it to heat up." +#define STRING_Z_ALIGN "Z Align" +#define STRING_MACROS "Macros" +#define STRING_MESH_VALID "Mesh Validation" +#define STRING_CONNECT_PROBE "Connect probe before starting the process. Make sure to disconnect it afterwards." +#define STRING_DISCONNECT_PROBE "Make sure you have disconnected probe before using this feature." +#define STRING_CALIBRATION "Calibrate" #endif diff --git a/TFT/src/User/API/Language/utf8_decode.c b/TFT/src/User/API/Language/utf8_decode.c index 788e86db2..f9ea5178e 100644 --- a/TFT/src/User/API/Language/utf8_decode.c +++ b/TFT/src/User/API/Language/utf8_decode.c @@ -41,7 +41,7 @@ static FONT_BITMAP font[] = { BYTE_WIDTH, WORD_UNICODE_ADDR, BYTE_HEIGHT, - BYTE_WIDTH * 2, // default "word_unicode.fon" dot matrix library font size is 24*24 / 16*16 + BYTE_WIDTH * 2, // default "word_unicode.fon" dot matrix library font size is 24 * 24 / 16 * 16 0x0, // the first character in WORD_UNICODE_ADDR is 0x0000 }, { // Greek and Coptic @@ -51,7 +51,7 @@ static FONT_BITMAP font[] = { BYTE_WIDTH, WORD_UNICODE_ADDR, BYTE_HEIGHT, - BYTE_WIDTH * 2, // default "word_unicode.fon" dot matrix library font size is 24*24 / 16*16 + BYTE_WIDTH * 2, // default "word_unicode.fon" dot matrix library font size is 24 * 24 / 16 * 16 0x0, // the first character in WORD_UNICODE_ADDR is 0x0000 }, { // Cyrillic(Russia) @@ -71,7 +71,7 @@ static FONT_BITMAP font[] = { BYTE_WIDTH, WORD_UNICODE_ADDR, BYTE_HEIGHT, - BYTE_WIDTH * 2, // default word_unicode.fon dot matrix library font size is 24*24 / 16*16 + BYTE_WIDTH * 2, // default word_unicode.fon dot matrix library font size is 24 * 24 / 16 * 16 0, }, { // default font @@ -93,7 +93,7 @@ void setFontSize(uint16_t size) } // decode character encode info (UTF8) -static void getUTF8EncodeInfo(const uint8_t *ch, CHAR_INFO *pInfo) +static void getUTF8EncodeInfo(const uint8_t * ch, CHAR_INFO * pInfo) { if ((ch[0] & 0x80) == 0) // 0x00 ~ 0x7F { @@ -128,7 +128,7 @@ static void getUTF8EncodeInfo(const uint8_t *ch, CHAR_INFO *pInfo) } // get character font bitmap info -static inline void getBitMapFontInfo(CHAR_INFO *pInfo) +static inline void getBitMapFontInfo(CHAR_INFO * pInfo) { if (pInfo->codePoint < 9) { @@ -158,7 +158,7 @@ static inline void getBitMapFontInfo(CHAR_INFO *pInfo) } } -void getCharacterInfo(const uint8_t *ch, CHAR_INFO *pInfo) +void getCharacterInfo(const uint8_t * ch, CHAR_INFO * pInfo) { pInfo->bytes = 0; @@ -170,7 +170,7 @@ void getCharacterInfo(const uint8_t *ch, CHAR_INFO *pInfo) getBitMapFontInfo(pInfo); } -uint16_t getUTF8Length(const uint8_t *const str) +uint16_t getUTF8Length(const uint8_t * const str) { uint16_t i = 0, len = 0; CHAR_INFO info; @@ -213,7 +213,7 @@ uint16_t GUI_StrPixelWidth_label(int16_t index) { uint8_t tempstr[MAX_LANG_LABEL_LENGTH]; - if (loadLabelText((uint8_t*)tempstr, index) == false) + if (loadLabelText((uint8_t *)tempstr, index) == false) return 0; return GUI_StrPixelWidth_str(tempstr); diff --git a/TFT/src/User/API/Language/utf8_decode.h b/TFT/src/User/API/Language/utf8_decode.h index e9b2dd354..71c96f826 100644 --- a/TFT/src/User/API/Language/utf8_decode.h +++ b/TFT/src/User/API/Language/utf8_decode.h @@ -5,10 +5,11 @@ extern "C" { #endif -#include #include +#include -typedef struct { +typedef struct +{ uint32_t startCodePoint; // start unicode code point for language uint32_t endCodePoint; // end unicode code point for language uint8_t pixelHeight; // font display pixel height @@ -32,16 +33,16 @@ typedef struct void setFontSize(uint16_t size); -void getCharacterInfo(const uint8_t *ch, CHAR_INFO *pInfo); -uint16_t getUTF8Length(const uint8_t *const str); +void getCharacterInfo(const uint8_t * ch, CHAR_INFO * pInfo); +uint16_t getUTF8Length(const uint8_t * const str); -uint16_t GUI_StrPixelWidth_str(const uint8_t *str); +uint16_t GUI_StrPixelWidth_str(const uint8_t * str); uint16_t GUI_StrPixelWidth_label(int16_t index); -#define GUI_StrPixelWidth(X) _Generic(((X+0)), const uint8_t* const: GUI_StrPixelWidth_str, \ - const uint8_t*: GUI_StrPixelWidth_str, \ - uint8_t*: GUI_StrPixelWidth_str, \ - default: GUI_StrPixelWidth_label)(X) +#define GUI_StrPixelWidth(X) _Generic(((X+0)), const uint8_t * const: GUI_StrPixelWidth_str, \ + const uint8_t *: GUI_StrPixelWidth_str, \ + uint8_t *: GUI_StrPixelWidth_str, \ + default: GUI_StrPixelWidth_label)(X) #ifdef __cplusplus } #endif diff --git a/TFT/src/User/API/LevelingControl.c b/TFT/src/User/API/LevelingControl.c index fed99a853..a15f36c23 100644 --- a/TFT/src/User/API/LevelingControl.c +++ b/TFT/src/User/API/LevelingControl.c @@ -26,6 +26,7 @@ static void levelingGetPointCoords(LEVELING_POINT_COORDS coords) if (GET_BIT(infoSettings.inverted_axis, X_AXIS)) { // swap left and right int16_t temp = x_left; + x_left = x_right; x_right = temp; } @@ -34,6 +35,7 @@ static void levelingGetPointCoords(LEVELING_POINT_COORDS coords) if (GET_BIT(infoSettings.inverted_axis, E_AXIS)) { // swap bottom and top int16_t temp = y_bottom; + y_bottom = y_top; y_top = temp; } diff --git a/TFT/src/User/API/MachineParameters.c b/TFT/src/User/API/MachineParameters.c index a4599faf7..7fa3b7b32 100644 --- a/TFT/src/User/API/MachineParameters.c +++ b/TFT/src/User/API/MachineParameters.c @@ -16,7 +16,7 @@ typedef struct { // Steps/mm (X, Y, Z, E0, E1, E2) static const suffix_t M92_suffix[]= { {"X%.4f\n", VAL_TYPE_FLOAT}, {"Y%.4f\n", VAL_TYPE_FLOAT}, {"Z%.2f\n", VAL_TYPE_FLOAT}, - {"T0 E%.2f\n", VAL_TYPE_FLOAT}, {"T1 E%.2f\n", VAL_TYPE_FLOAT}, {"T2 E%.2f\n", VAL_TYPE_FLOAT}, + {"T0 E%.2f\n", VAL_TYPE_FLOAT}, {"T1 E%.2f\n", VAL_TYPE_FLOAT}, {"T2 E%.2f\n", VAL_TYPE_FLOAT}, }; // Filament Diameter (Enable, E0, E1, E2) static const suffix_t M200_suffix[]= { diff --git a/TFT/src/User/API/Mainboard_AckHandler.c b/TFT/src/User/API/Mainboard_AckHandler.c index 31f878e24..48d028e1f 100644 --- a/TFT/src/User/API/Mainboard_AckHandler.c +++ b/TFT/src/User/API/Mainboard_AckHandler.c @@ -213,6 +213,7 @@ static inline bool processKnownEcho(void) if (strstr(ack_cache, knownEcho[i].msg)) { isKnown = true; + break; } } @@ -1181,7 +1182,9 @@ void parseAck(void) { if (ack_value() > 0) // if "X"->0, "X1"->0, "X2"->1, "Y"->2, "Y1"->2, "Y2"->3, "Z"->4, "Z1"->4, "Z2"->5, "Z3"->6, "Z4"->7 stepperIndex += ack_value() - 1; - } else { + } + else + { if (ack_value() > 0) // "E"->0, "E1"->1, "E2"->2 stepperIndex += ack_value(); } diff --git a/TFT/src/User/API/Mainboard_CmdControl.c b/TFT/src/User/API/Mainboard_CmdControl.c index 7fd2a0598..d50a457ad 100644 --- a/TFT/src/User/API/Mainboard_CmdControl.c +++ b/TFT/src/User/API/Mainboard_CmdControl.c @@ -91,6 +91,7 @@ void stripCmdChecksum(CMD cmd) if (*cmdPtr != ' ' && *cmdPtr != '\t' && *cmdPtr != '\n' && *cmdPtr != '\r') { cmdPtr++; // next char has to be set to "\0" + break; } } diff --git a/TFT/src/User/API/Mainboard_CmdHandler.c b/TFT/src/User/API/Mainboard_CmdHandler.c index 888661da8..719fc163f 100644 --- a/TFT/src/User/API/Mainboard_CmdHandler.c +++ b/TFT/src/User/API/Mainboard_CmdHandler.c @@ -43,7 +43,9 @@ static SERIAL_PORT_INDEX cmd_port_index; // index of serial port originat static uint8_t cmd_base_index; // base index in case the gcode has checksum ("Nxx " is present at the beginning of gcode) static uint8_t cmd_index; static WRITING_MODE writing_mode = NO_WRITING; // writing mode. Used by M28 and M29 -static FIL file; +#ifdef SERIAL_PORT_2 + static FIL file; // used with writing mode +#endif uint8_t getQueueCount(void) { @@ -81,7 +83,7 @@ bool isWritingMode(void) return (writing_mode != NO_WRITING); } -// Common store cmd. +// common store cmd static void commonStoreCmd(GCODE_QUEUE * pQueue, const char * format, va_list va) { vsnprintf(pQueue->queue[pQueue->index_w].gcode, CMD_MAX_SIZE, format, va); @@ -91,9 +93,9 @@ static void commonStoreCmd(GCODE_QUEUE * pQueue, const char * format, va_list va pQueue->count++; } -// Store gcode cmd to cmdQueue queue. +// store gcode cmd to cmdQueue queue. // This command will be sent to the printer by sendQueueCmd(). -// If the cmdQueue queue is full, a reminder message is displayed and the command is discarded. +// If the cmdQueue queue is full, a reminder message is displayed and the command is discarded bool storeCmd(const char * format, ...) { if (format[0] == 0) return false; @@ -112,10 +114,10 @@ bool storeCmd(const char * format, ...) return true; } -// Store gcode cmd to cmdQueue queue. +// store gcode cmd to cmdQueue queue. // This command will be sent to the printer by sendQueueCmd(). // If the cmdQueue queue is full, a reminder message is displayed -// and it will wait for the queue to be able to store the command. +// and it will wait for the queue to be able to store the command void mustStoreCmd(const char * format, ...) { if (format[0] == 0) return; @@ -132,8 +134,8 @@ void mustStoreCmd(const char * format, ...) va_end(va); } -// Store Script cmd to cmdQueue queue. -// For example: "M502\nM500\n" will be split into two commands "M502\n", "M500\n". +// store Script cmd to cmdQueue queue. +// For example: "M502\nM500\n" will be split into two commands "M502\n", "M500\n" void mustStoreScript(const char * format, ...) { if (format[0] == 0) return; @@ -163,9 +165,9 @@ void mustStoreScript(const char * format, ...) } } -// Store gcode cmd received from UART (e.g. ESP3D, OctoPrint, other TouchScreen etc.) to cmdQueue queue. +// store gcode cmd received from UART (e.g. ESP3D, OctoPrint, other TouchScreen etc.) to cmdQueue queue. // This command will be sent to the printer by sendQueueCmd(). -// If the cmdQueue queue is full, a reminder message is displayed and the command is discarded. +// If the cmdQueue queue is full, a reminder message is displayed and the command is discarded bool storeCmdFromUART(const CMD cmd, const SERIAL_PORT_INDEX portIndex) { if (cmd[0] == 0) return false; @@ -185,14 +187,14 @@ bool storeCmdFromUART(const CMD cmd, const SERIAL_PORT_INDEX portIndex) return true; } -// Clear all gcode cmd in cmdQueue queue. +// clear all gcode cmd in cmdQueue queue void clearCmdQueue(void) { cmdQueue.count = cmdQueue.index_w = cmdQueue.index_r = 0; } -// Strip out any leading space from the passed command. -// Furthermore, skip any N[-0-9] (line number) and return a pointer to the beginning of the command. +// strip out any leading space from the passed command. +// Furthermore, skip any N[-0-9] (line number) and return a pointer to the beginning of the command static char * stripCmd(char * cmdPtr) { // skip leading spaces @@ -209,8 +211,8 @@ static char * stripCmd(char * cmdPtr) return cmdPtr; } -// Get the data of the next to be sent command in cmdQueue -// and return "true" if sent from TFT, otherwise "false". +// get the data of the next to be sent command in cmdQueue +// and return "true" if sent from TFT, otherwise "false" static inline bool getCmd(void) { cmd_ptr = &cmdQueue.queue[cmdQueue.index_r].gcode[0]; // gcode @@ -248,7 +250,7 @@ static inline void setCmdRetryInfo(uint32_t lineNumber) cmdRetryInfo.gcode_info.port_index = cmd_port_index; // copy port index } -// Purge gcode cmd or send it to the printer and then remove it from cmdQueue queue. +// purge gcode cmd or send it to the printer and then remove it from cmdQueue queue static bool sendCmd(bool purge, bool avoidTerminal) { char * purgeStr = "[Purged] "; @@ -309,8 +311,8 @@ static bool sendCmd(bool purge, bool avoidTerminal) return !purge; // return "true" if command was sent. Otherwise, return "false" } -// Check the presence of the specified "keyword" string in the current gcode command -// starting the search from index "index". +// check the presence of the specified "keyword" string in the current gcode command +// starting the search from index "index" static bool cmd_seen_from(uint8_t index, const char * keyword) { if (index >= cmd_len) @@ -332,7 +334,7 @@ static bool cmd_seen_from(uint8_t index, const char * keyword) return false; } -// Check the presence of the specified "code" character in the current gcode command. +// check the presence of the specified "code" character in the current gcode command static bool cmd_seen(const char code) { cmd_index = cmd_base_index; @@ -346,13 +348,13 @@ static bool cmd_seen(const char code) return false; } -// Get the int after "code". Call after cmd_seen(code). +// get the int after "code". Call after cmd_seen(code) static int32_t cmd_value(void) { return (strtol(&cmd_ptr[cmd_index], NULL, 10)); } -// Get the int after "/", if any. +// get the int after "/", if any static int32_t cmd_second_value(void) { char * secondValue = strchr(&cmd_ptr[cmd_index], '/'); @@ -363,12 +365,14 @@ static int32_t cmd_second_value(void) return -0.5; } -// Get the float after "code". Call after cmd_seen(code). +// get the float after "code". Call after cmd_seen(code) static float cmd_float(void) { return (strtod(&cmd_ptr[cmd_index], NULL)); } +#ifdef SERIAL_PORT_2 + static bool initRemoteTFT(void) { // examples: @@ -490,6 +494,8 @@ static inline void writeRemoteTFT(void) Serial_Forward(cmd_port_index, "ok\n"); } +#endif // SERIAL_PORT_2 + static void setWaitHeating(uint8_t index) { if (cmd_seen('R')) @@ -547,9 +553,9 @@ void handleCmdLineNumberMismatch(const uint32_t lineNumber) } } -// Check if the received gcode is an emergency command or not +// check if the received gcode is an emergency command or not // (M108, M112, M410, M524, M876) and parse it accordingly. -// Otherwise, store the gcode on command queue. +// Otherwise, store the gcode on command queue void handleCmd(CMD cmd, const SERIAL_PORT_INDEX portIndex) { // strip out any leading space from the passed command. @@ -586,10 +592,10 @@ void handleCmd(CMD cmd, const SERIAL_PORT_INDEX portIndex) TASK_LOOP_WHILE(!storeCmdFromUART(cmd, portIndex)); } -// Send emergency command now. -// The command parameter must be a clear command, not formatted. +// send emergency command now. +// The command parameter must be a clear command, not formatted // -// NOTE: Make sure that the printer can receive the command. +// NOTE: Make sure that the printer can receive the command // void sendEmergencyCmd(const CMD emergencyCmd, const SERIAL_PORT_INDEX portIndex) { @@ -612,7 +618,7 @@ void sendEmergencyCmd(const CMD emergencyCmd, const SERIAL_PORT_INDEX portIndex) terminalCache(emergencyCmd, cmdLen, portIndex, SRC_TERMINAL_GCODE); } -// Parse and send gcode cmd in cmdQueue queue. +// parse and send gcode cmd in cmdQueue queue void sendQueueCmd(void) { if (infoHost.tx_slots == 0 || (cmdQueue.count == 0 && !cmdRetryInfo.retry)) return; @@ -628,28 +634,30 @@ void sendQueueCmd(void) bool fromTFT = getCmd(); // retrieve leading gcode in the queue and check if it is originated by TFT or other hosts - if (writing_mode != NO_WRITING) // if writing mode (previously triggered by M28) - { - if (fromTFT) // ignore any command from TFT media - { - sendCmd(true, avoid_terminal); // skip the command - } - else if (writing_mode == TFT_WRITING) // if the command is from remote to TFT media + #ifdef SERIAL_PORT_2 + if (writing_mode != NO_WRITING) // if writing mode (previously triggered by M28) { - writeRemoteTFT(); + if (fromTFT) // ignore any command from TFT media + { + sendCmd(true, avoid_terminal); // skip the command + } + else if (writing_mode == TFT_WRITING) // if the command is from remote to TFT media + { + writeRemoteTFT(); - sendCmd(true, avoid_terminal); // skip the command - } - else // otherwise, if the command is from remote to onboard media - { - if (cmd_ptr[cmd_base_index] == 'M' && cmd_value() == 29) // if M29, stop writing mode - writing_mode = NO_WRITING; + sendCmd(true, avoid_terminal); // skip the command + } + else // otherwise, if the command is from remote to onboard media + { + if (cmd_ptr[cmd_base_index] == 'M' && cmd_value() == 29) // if M29, stop writing mode + writing_mode = NO_WRITING; - goto send_cmd; // send the command - } + goto send_cmd; // send the command + } - return; - } + return; + } + #endif switch (cmd_ptr[cmd_base_index]) { diff --git a/TFT/src/User/API/ModeSwitching.h b/TFT/src/User/API/ModeSwitching.h index 5e5fa9805..7f786596c 100644 --- a/TFT/src/User/API/ModeSwitching.h +++ b/TFT/src/User/API/ModeSwitching.h @@ -8,7 +8,7 @@ extern "C" { #include #define MODE_SWITCHING_INTERVAL 1500 // long pressed 1.5s - + extern bool modeSwitching; void Mode_Switch(void); diff --git a/TFT/src/User/API/Notification.c b/TFT/src/User/API/Notification.c index 8721cecb4..12824bb67 100644 --- a/TFT/src/User/API/Notification.c +++ b/TFT/src/User/API/Notification.c @@ -132,6 +132,7 @@ void loopToast(void) { _toastRunning = false; _toastAvailable = false; + GUI_ClearPrect(&toastIconRect); GUI_ClearPrect(&toastRect); menuDrawTitle(); diff --git a/TFT/src/User/API/Printing.c b/TFT/src/User/API/Printing.c index 49b5601e5..99dcb6c67 100644 --- a/TFT/src/User/API/Printing.c +++ b/TFT/src/User/API/Printing.c @@ -230,7 +230,6 @@ uint8_t updatePrintProgress(void) infoPrinting.progress = 100; else infoPrinting.progress = (uint8_t)((float)(infoPrinting.cur - infoPrinting.fileOffset) / (infoPrinting.size - infoPrinting.fileOffset) * 100); - break; case PROG_RRF: @@ -287,8 +286,8 @@ static void shutdownLoop(void) static void shutdownStart(void) { char tempstr[75]; - LABELCHAR(tempbody, LABEL_WAIT_TEMP_SHUT_DOWN); + sprintf(tempstr, tempbody, infoSettings.auto_shutdown_temp); for (uint8_t i = 0; i < infoSettings.fan_count; i++) @@ -457,6 +456,7 @@ bool startPrint(void) // disable print restore flag (one shot flag) for the next print. // The flag must always be explicitly re-enabled (e.g by powerFailedSetRestore function) powerFailedSetRestore(false); + break; } @@ -474,7 +474,6 @@ bool startPrint(void) powerFailedCreate(infoFile.path); // if PLR feature is enabled, open a new PLR file } - break; case FS_ONBOARD_MEDIA: @@ -530,7 +529,6 @@ void endPrint(void) // execute post print end tasks if (GET_BIT(infoSettings.send_gcodes, SEND_GCODES_END_PRINT)) sendPrintCodes(1); - break; case FS_ONBOARD_MEDIA_REMOTE: // nothing to do @@ -620,6 +618,7 @@ bool pausePrint(bool isPause, PAUSE_TYPE pauseType) TASK_LOOP_WHILE(isNotEmptyCmdQueue()); // wait for the communication to be clean static COORDINATE tmp; + bool isCoorRelative = coorGetRelative(); bool isExtrudeRelative = eGetRelative(); @@ -690,7 +689,6 @@ bool pausePrint(bool isPause, PAUSE_TYPE pauseType) if (isExtrudeRelative == true) mustStoreCmd("M83\n"); } } - break; case FS_ONBOARD_MEDIA: @@ -699,7 +697,6 @@ bool pausePrint(bool isPause, PAUSE_TYPE pauseType) request_M25(); // pause else request_M24(0); // resume - break; case FS_REMOTE_HOST: diff --git a/TFT/src/User/API/ProbeHeightControl.c b/TFT/src/User/API/ProbeHeightControl.c index cd1f57652..8bc3615f3 100644 --- a/TFT/src/User/API/ProbeHeightControl.c +++ b/TFT/src/User/API/ProbeHeightControl.c @@ -10,7 +10,7 @@ static uint8_t origEndstopsState = DISABLED; static float origAblState = DISABLED; -// Enable probe height. +// enable probe height. // Temporary disable software endstops and save ABL state void probeHeightEnable(void) { @@ -26,7 +26,7 @@ void probeHeightEnable(void) } } -// Disable probe height. +// disable probe height. // Restore original software endstops state and ABL state void probeHeightDisable(void) { @@ -42,7 +42,7 @@ void probeHeightDisable(void) mustStoreCmd(infoMachineSettings.firmwareType != FW_REPRAPFW ? "M420 S1\n" : "G29 S1\n"); // enable ABL } -// Home, disable ABL and raise nozzle +// home, disable ABL and raise nozzle void probeHeightHome(void) { mustStoreCmd("G28\n"); // home printer @@ -50,21 +50,21 @@ void probeHeightHome(void) probeHeightStop(infoSettings.probing_z_raise); // raise nozzle } -// Home and disable ABL +// home and disable ABL void probeHeightHomeAndNoABL(void) { mustStoreCmd("G28\n"); // home printer mustStoreCmd(infoMachineSettings.firmwareType != FW_REPRAPFW ? "M420 S0\n" : "G29 S2\n"); // disable ABL } -// Home and raise nozzle +// home and raise nozzle void probeHeightHomeAndRaise(void) { mustStoreCmd("G28\n"); // home printer probeHeightStop(infoSettings.probing_z_raise); // raise nozzle } -// Start probe height +// start probe height void probeHeightStart(float initialHeight, bool relativeHeight) { if (relativeHeight) @@ -78,7 +78,7 @@ void probeHeightStart(float initialHeight, bool relativeHeight) probeHeightRelative(); // set relative position mode } -// Stop probe height +// stop probe height void probeHeightStop(float raisedHeight) { probeHeightRelative(); // set relative position mode @@ -88,25 +88,25 @@ void probeHeightStop(float raisedHeight) probeHeightAbsolute(); // set absolute position mode } -// Set probe height to relative position mode +// set probe height to relative position mode void probeHeightRelative(void) { mustStoreCmd("G91\n"); // set relative position mode } -// Set probe height to absolute position mode +// set probe height to absolute position mode void probeHeightAbsolute(void) { mustStoreCmd("G90\n"); // set absolute position mode } -// Change probe height +// change probe height void probeHeightMove(float unit) { storeCmd(MOVE_Z_CMD, unit, infoSettings.level_feedrate[FEEDRATE_Z]); } -// Query for new coordinates +// query for new coordinates void probeHeightQueryCoord(void) { static uint32_t nextUpdateTime = 0; diff --git a/TFT/src/User/API/ProbeHeightControl.h b/TFT/src/User/API/ProbeHeightControl.h index 6394470e6..8540bf2a1 100644 --- a/TFT/src/User/API/ProbeHeightControl.h +++ b/TFT/src/User/API/ProbeHeightControl.h @@ -8,40 +8,23 @@ extern "C" { #include #include -// Enable probe height. +// enable probe height. // Temporary disable software endstops and save ABL state void probeHeightEnable(void); -// Disable probe height. +// disable probe height. // Restore original software endstops state and ABL state void probeHeightDisable(void); -// Home, disable ABL and raise nozzle -void probeHeightHome(void); - -// Home and disable ABL -void probeHeightHomeAndNoABL(void); - -// Home and raise nozzle -void probeHeightHomeAndRaise(void); - -// Start probe height -void probeHeightStart(float initialHeight, bool relativeHeight); - -// Stop probe height -void probeHeightStop(float raisedHeight); - -// Set probe height to relative position mode -void probeHeightRelative(void); - -// Set probe height to absolute position mode -void probeHeightAbsolute(void); - -// Change probe height -void probeHeightMove(float unit); - -// Query for new coordinates -void probeHeightQueryCoord(void); +void probeHeightHome(void); // home, disable ABL and raise nozzle +void probeHeightHomeAndNoABL(void); // home and disable ABL +void probeHeightHomeAndRaise(void); // home and raise nozzle +void probeHeightStart(float initialHeight, bool relativeHeight); // start probe height +void probeHeightStop(float raisedHeight); // stop probe height +void probeHeightRelative(void); // set probe height to relative position mode +void probeHeightAbsolute(void); // set probe height to absolute position mode +void probeHeightMove(float unit); // change probe height +void probeHeightQueryCoord(void); // query for new coordinates #ifdef __cplusplus } diff --git a/TFT/src/User/API/ProbeOffsetControl.c b/TFT/src/User/API/ProbeOffsetControl.c index 457000d20..27f954811 100644 --- a/TFT/src/User/API/ProbeOffsetControl.c +++ b/TFT/src/User/API/ProbeOffsetControl.c @@ -4,7 +4,7 @@ static float z_offset_value = PROBE_Z_OFFSET_DEFAULT_VALUE; static bool probe_offset_enabled = false; -// Enable probe offset +// enable probe offset void probeOffsetEnable(float shim) { probe_offset_enabled = true; @@ -35,7 +35,7 @@ void probeOffsetEnable(float shim) probeHeightRelative(); // set relative position mode } -// Disable probe offset +// disable probe offset void probeOffsetDisable(void) { probe_offset_enabled = false; @@ -47,13 +47,13 @@ void probeOffsetDisable(void) probeHeightDisable(); // restore original software endstops state and ABL state } -// Get probe offset status +// get probe offset status bool probeOffsetGetStatus(void) { return probe_offset_enabled; } -// Set Z offset value +// set Z offset value float probeOffsetSetValue(float value) { sendParameterCmd(P_PROBE_OFFSET, AXIS_INDEX_Z, value); @@ -63,7 +63,7 @@ float probeOffsetSetValue(float value) return z_offset_value; } -// Get current Z offset value +// get current Z offset value float probeOffsetGetValue(void) { z_offset_value = getParameter(P_PROBE_OFFSET, AXIS_INDEX_Z); @@ -71,7 +71,7 @@ float probeOffsetGetValue(void) return z_offset_value; } -// Reset Z offset value to default value +// reset Z offset value to default value float probeOffsetResetValue(void) { if (z_offset_value != PROBE_Z_OFFSET_DEFAULT_VALUE) // if not default value @@ -85,7 +85,7 @@ float probeOffsetResetValue(void) return z_offset_value; } -// Update Z offset value +// update Z offset value float probeOffsetUpdateValue(float unit) { unit = NOBEYOND(PROBE_Z_OFFSET_MIN_VALUE, z_offset_value + unit, PROBE_Z_OFFSET_MAX_VALUE) - z_offset_value; diff --git a/TFT/src/User/API/ProbeOffsetControl.h b/TFT/src/User/API/ProbeOffsetControl.h index 0843a4140..189e891bd 100644 --- a/TFT/src/User/API/ProbeOffsetControl.h +++ b/TFT/src/User/API/ProbeOffsetControl.h @@ -8,26 +8,13 @@ extern "C" { #include #include -// Enable probe offset -void probeOffsetEnable(float shim); - -// Disable probe offset -void probeOffsetDisable(void); - -// Get probe offset status -bool probeOffsetGetStatus(void); - -// Set Z offset value -float probeOffsetSetValue(float value); - -// Get current Z offset value -float probeOffsetGetValue(void); - -// Reset Z offset value to default value -float probeOffsetResetValue(void); - -// Update Z offset value -float probeOffsetUpdateValue(float unit); +void probeOffsetEnable(float shim); // enable probe offset +void probeOffsetDisable(void); // disable probe offset +bool probeOffsetGetStatus(void); // get probe offset status +float probeOffsetSetValue(float value); // set Z offset value +float probeOffsetGetValue(void); // get current Z offset value +float probeOffsetResetValue(void); // reset Z offset value to default value +float probeOffsetUpdateValue(float unit); // update Z offset value #ifdef __cplusplus } diff --git a/TFT/src/User/API/RRFAckHandler.hpp b/TFT/src/User/API/RRFAckHandler.hpp index 1470e3721..ddd005baa 100644 --- a/TFT/src/User/API/RRFAckHandler.hpp +++ b/TFT/src/User/API/RRFAckHandler.hpp @@ -2,36 +2,38 @@ #define _RRF_ACK_HANDLER_JSON_H_ #ifdef __cplusplus -extern "C" -{ +extern "C" { #endif - void rrfParseAck(const char * data); + +void rrfParseAck(const char * data); + #ifdef __cplusplus } #endif #ifdef __cplusplus + #include "JsonStreamingParser.hpp" #include -#define STATUS "status" -#define HEATERS "heaters" -#define ACTIVE "active" -#define STANDBY "standby" -#define HSTAT "hstat" -#define POS "pos" -#define SPEED "sfactor" -#define EXTRUSION "efactor" -#define BABYSTEP "babystep" -#define FAN_PERCENT "fanPercent" -#define FRACTION_PRINTED "fraction_printed" -#define MBOX_SEQ "msgBox.seq" -#define MBOX_MODE "msgBox.mode" -#define MBOX_TIMEO "msgBox.timeout" -#define MBOX_MSG "msgBox.msg" -#define MBOX_TITLE "msgBox.title" -#define RESP "resp" -#define RESULT "result" +#define STATUS "status" +#define HEATERS "heaters" +#define ACTIVE "active" +#define STANDBY "standby" +#define HSTAT "hstat" +#define POS "pos" +#define SPEED "sfactor" +#define EXTRUSION "efactor" +#define BABYSTEP "babystep" +#define FAN_PERCENT "fanPercent" +#define FRACTION_PRINTED "fraction_printed" +#define MBOX_SEQ "msgBox.seq" +#define MBOX_MODE "msgBox.mode" +#define MBOX_TIMEO "msgBox.timeout" +#define MBOX_MSG "msgBox.msg" +#define MBOX_TITLE "msgBox.title" +#define RESP "resp" +#define RESULT "result" enum DOCUMENT_STATE { @@ -61,7 +63,6 @@ enum DOCUMENT_STATE class ParseACKJsonParser : public JsonListener { - private: DOCUMENT_STATE state = none; bool in_array = false; @@ -169,6 +170,7 @@ class ParseACKJsonParser : public JsonListener virtual void value(const char * value); }; + #endif #endif diff --git a/TFT/src/User/API/RRFM20Parser.hpp b/TFT/src/User/API/RRFM20Parser.hpp index e24907744..da3862191 100644 --- a/TFT/src/User/API/RRFM20Parser.hpp +++ b/TFT/src/User/API/RRFM20Parser.hpp @@ -8,24 +8,26 @@ #include "vfs.h" #ifdef __cplusplus -extern "C" -{ +extern "C" { #endif - typedef struct - { - bool is_directory; - TCHAR * display_name; - TCHAR * file_name; - uint32_t timestamp; - } M20_LIST_ITEM; - - void parseJobListResponse(const char * data); - void parseMacroListResponse(const char * data); + +typedef struct +{ + bool is_directory; + TCHAR * display_name; + TCHAR * file_name; + uint32_t timestamp; +} M20_LIST_ITEM; + +void parseJobListResponse(const char * data); +void parseMacroListResponse(const char * data); + #ifdef __cplusplus } #endif #ifdef __cplusplus + #include "JsonStreamingParser.hpp" #include @@ -38,7 +40,6 @@ enum RRFM20ParserState { none, type, name, date }; class RRFM20Parser : public JsonListener { - private: bool in_array = false; bool in_object = false; @@ -80,8 +81,8 @@ class RRFM20Parser : public JsonListener in_array = false; in_files = false; } - }; + #endif #endif diff --git a/TFT/src/User/API/ScreenShot.c b/TFT/src/User/API/ScreenShot.c index 33a49d43e..2364cc197 100644 --- a/TFT/src/User/API/ScreenShot.c +++ b/TFT/src/User/API/ScreenShot.c @@ -71,6 +71,7 @@ bool screenShotBMP(char * bmp) for (uint16_t x = 0; x < LCD_WIDTH; x++) { uint32_t c = LCD_ReadPixel_24Bit(x, y); + f_write(&bmpFile, (char *)&c, 3, &mybw); } } @@ -136,7 +137,8 @@ void loopScreenShot(void) uint8_t index = 0; char fileName[FF_LFN_BUF]; - do { + do + { sprintf(fileName, "%s_%d.bmp", screenShotFileName, index); index++; } while (!screenShotBMP(fileName) && index < 10); diff --git a/TFT/src/User/API/SerialConnection.c b/TFT/src/User/API/SerialConnection.c index 9e435c943..deb3b1399 100644 --- a/TFT/src/User/API/SerialConnection.c +++ b/TFT/src/User/API/SerialConnection.c @@ -104,10 +104,10 @@ void Serial_Forward(SERIAL_PORT_INDEX portIndex, const char * msg) { // forward data only if serial port is enabled if (infoSettings.serial_port[portIndex] > 0 - #ifdef SERIAL_DEBUG_PORT - && serialPort[portIndex].port != SERIAL_DEBUG_PORT // do not forward data to serial debug port - #endif - ) + #ifdef SERIAL_DEBUG_PORT + && serialPort[portIndex].port != SERIAL_DEBUG_PORT // do not forward data to serial debug port + #endif + ) Serial_Put(serialPort[portIndex].port, msg); // pass on the message to the port } } @@ -208,10 +208,10 @@ void Serial_GetFromUART(void) { // retrieve data only if serial port is enabled if (infoSettings.serial_port[portIndex] > 0 - #ifdef SERIAL_DEBUG_PORT - && serialPort[portIndex].port != SERIAL_DEBUG_PORT // do not forward data to serial debug port - #endif - ) + #ifdef SERIAL_DEBUG_PORT + && serialPort[portIndex].port != SERIAL_DEBUG_PORT // do not forward data to serial debug port + #endif + ) { while (Serial_DataAvailableRX(serialPort[portIndex].port) && Serial_Get(serialPort[portIndex].port, cmd, CMD_MAX_SIZE) != 0) { diff --git a/TFT/src/User/API/Settings.c b/TFT/src/User/API/Settings.c index 3a5e78865..ca1f5d52b 100644 --- a/TFT/src/User/API/Settings.c +++ b/TFT/src/User/API/Settings.c @@ -16,7 +16,7 @@ static const uint8_t default_led_color[] = {LED_R, LED_G, LED_B, LED_W, LED_P SETTINGS infoSettings; MACHINE_SETTINGS infoMachineSettings; -// Init settings data with default values +// init settings data with default values void initSettings(void) { // General Settings @@ -188,7 +188,7 @@ void initSettings(void) sizeof(infoSettings) - sizeof(infoSettings.CRC_checksum)); } -// Save settings to Flash only if CRC does not match +// save settings to Flash only if CRC does not match void saveSettings(void) { // calculate checksum excluding the CRC variable in infoSettings @@ -202,6 +202,7 @@ void saveSettings(void) } } +// init machine settings data with default values void initMachineSettings(void) { // some settings are assumes as active unless reported disabled by marlin @@ -226,6 +227,7 @@ void initMachineSettings(void) infoMachineSettings.softwareEndstops = ENABLED; } +// setup machine settings void setupMachine(FW_TYPE fwType) { if (infoMachineSettings.firmwareType != FW_NOT_DETECTED) // avoid repeated calls caused by manually sending M115 in terminal menu @@ -282,6 +284,7 @@ void setupMachine(FW_TYPE fwType) LED_SendColor(&ledColor); // set (neopixel) LED light to current color (initialized in HW_Init function) } +// get flash used percentage float flashUsedPercentage(void) { uint32_t total = W25Qxx_ReadCapacity(); @@ -290,7 +293,7 @@ float flashUsedPercentage(void) return percent; } -// Check font/icon/config signature in SPI flash for update +// check font/icon/config signature in SPI flash for update void checkflashSign(void) { //cur_flash_sign[lang_sign] = flash_sign[lang_sign]; // ignore language signature not implemented yet @@ -306,28 +309,33 @@ void checkflashSign(void) if (!statusfont || !statusicon || !statusconfig) { int ypos = BYTE_HEIGHT + 5; + GUI_Clear(BLACK); GUI_DispString(5, 5, (uint8_t *)"Found outdated data:"); ypos += BYTE_HEIGHT; + if (statusfont) GUI_DispString(10, ypos, (uint8_t *)"Fonts: OK"); else GUI_DispString(10, ypos, (uint8_t *)"Fonts: Update required"); ypos += BYTE_HEIGHT; + if (statusconfig) GUI_DispString(10, ypos, (uint8_t *)"Config: OK"); else GUI_DispString(10, ypos, (uint8_t *)"Config: Update required"); ypos += BYTE_HEIGHT; + if (statuslang) GUI_DispString(10, ypos, (uint8_t *)"Language: OK"); else GUI_DispString(10, ypos, (uint8_t *)"Language: Update required(Optional)"); ypos += BYTE_HEIGHT; + if (statusicon) GUI_DispString(10, ypos, (uint8_t *)"Icons: OK"); else @@ -340,6 +348,7 @@ void checkflashSign(void) } } +// get sign status from SPI flash bool getFlashSignStatus(int index) { uint32_t flash_sign[sign_count] = {FONT_CHECK_SIGN, CONFIG_CHECK_SIGN, LANGUAGE_CHECK_SIGN, ICON_CHECK_SIGN}; diff --git a/TFT/src/User/API/Settings.h b/TFT/src/User/API/Settings.h index 046a9cccd..e4f3e56be 100644 --- a/TFT/src/User/API/Settings.h +++ b/TFT/src/User/API/Settings.h @@ -306,9 +306,7 @@ typedef struct char cancel_gcode[MAX_GCODE_LENGTH + 1]; } PRINT_GCODES; -/** - * Firmware type - */ +// Firmware type typedef enum { FW_NOT_DETECTED, @@ -319,9 +317,7 @@ typedef enum FW_UNKNOWN, } FW_TYPE; -/** - * Bed Leveling type - */ +// Bed Leveling type typedef enum { BL_DISABLED = DISABLED, // Bed Leveling Diabled @@ -357,21 +353,15 @@ typedef struct extern SETTINGS infoSettings; extern MACHINE_SETTINGS infoMachineSettings; -// Init settings data with default values -void initSettings(void); +void initSettings(void); // init settings data with default values +void saveSettings(void); // save settings to Flash only if CRC does not match -// Save settings to Flash only if CRC does not match -void saveSettings(void); +void initMachineSettings(void); // init machine settings data with default values +void setupMachine(FW_TYPE fwType); // setup machine settings -// Init machine settings data with default values -void initMachineSettings(void); - -// Setup machine settings -void setupMachine(FW_TYPE fwType); - -float flashUsedPercentage(void); -void checkflashSign(void); -bool getFlashSignStatus(int index); +float flashUsedPercentage(void); // get flash used percentage +void checkflashSign(void); // check font/icon/config signature in SPI flash for update +bool getFlashSignStatus(int index); // get sign status from SPI flash #ifdef __cplusplus } diff --git a/TFT/src/User/API/Temperature.c b/TFT/src/User/API/Temperature.c index 915a358a2..91f67f403 100644 --- a/TFT/src/User/API/Temperature.c +++ b/TFT/src/User/API/Temperature.c @@ -9,13 +9,13 @@ const char * const heatWaitCmd[MAX_HEATER_COUNT] = HEAT_WAIT_CMD; const char * const extruderDisplayID[] = EXTRUDER_ID; const char * const toolChange[] = TOOL_CHANGE; -static HEATER heater = {{}, NOZZLE0}; -static uint8_t heat_send_waiting = 0; -static uint8_t heat_feedback_waiting = 0; +static HEATER heater = {{}, NOZZLE0}; +static uint8_t heat_send_waiting = 0; +static uint8_t heat_feedback_waiting = 0; -static uint8_t heat_update_seconds = TEMPERATURE_QUERY_SLOW_SECONDS; +static uint8_t heat_update_seconds = TEMPERATURE_QUERY_SLOW_SECONDS; static uint32_t heat_next_update_time = 0; -static bool heat_sending_waiting = false; +static bool heat_sending_waiting = false; #define AUTOREPORT_TIMEOUT 3000 // 3 second grace period diff --git a/TFT/src/User/API/Touch_Screen.c b/TFT/src/User/API/Touch_Screen.c index 3939e1725..3bb2421cf 100644 --- a/TFT/src/User/API/Touch_Screen.c +++ b/TFT/src/User/API/Touch_Screen.c @@ -2,7 +2,7 @@ #include "includes.h" #include "GPIO_Init.h" -#ifdef MKS_TFT35_V1_0 +#if defined(MKS_TFT35_V1_0) // touch screen X, Y channels are swapped for MKS_TFT35_V1_0. // Defined in MKS TFT35 Touch Screen source code: user\others\mks_touch_screen.c CHX=0x90, CHY=0xD0 #define CMD_RDX 0x90 diff --git a/TFT/src/User/API/UI/CharIcon.c b/TFT/src/User/API/UI/CharIcon.c index 929feca98..19b8fd674 100644 --- a/TFT/src/User/API/UI/CharIcon.c +++ b/TFT/src/User/API/UI/CharIcon.c @@ -2,220 +2,219 @@ #include "LCD_Colors.h" #include -const uint16_t charIconColor[CHARICON_NUM] = -{ - BLACK, //CHARICON_BLANK = 0 - WHITE, //CHARICON_NOZZLE - WHITE, //CHARICON_BED - WHITE, //CHARICON_FAN - MAT_YELLOW, //CHARICON_FOLDER - MAT_BLUE, //CHARICON_FILE - WHITE, //CHARICON_PAGEUP - WHITE, //CHARICON_PAGEDOWN - WHITE, //CHARICON_BACK - WHITE, //CHARICON_LEFT_TOP - WHITE, //CHARICON_LEFT_BOTTOM - WHITE, //CHARICON_RIGHT_TOP - WHITE, //CHARICON_RIGHT_BOTTOM - MAT_YELLOW, //CHARICON_ALERT - MAT_RED, //CHARICON_WARNING - MAT_RED, //CHARICON_ERROR - MAT_YELLOW, //CHARICON_CAUTION - MAT_BLUE, //CHARICON_INFO - MAT_YELLOW, //CHARICON_HAND - MAT_YELLOW, //CHARICON_WAIT - MAT_BLUE, //CHARICON_QUESTION - WHITE, //CHARICON_PLAY - WHITE, //CHARICON_PAUSE - WHITE, //CHARICON_STOP - WHITE, //CHARICON_EJECT - WHITE, //CHARICON_PLAY_ROUND - WHITE, //CHARICON_PAUSE_ROUND - WHITE, //CHARICON_OK_ROUND - WHITE, //CHARICON_CANCEL_ROUND - WHITE, //CHARICON_MINUS_ROUND - WHITE, //CHARICON_PLUS_ROUND - WHITE, //CHARICON_MINUS - WHITE, //CHARICON_PLUS - MAT_GREEN, //CHARICON_OK - MAT_RED, //CHARICON_CANCEL - MAT_RED, //CHARICON_HALT - WHITE, //CHARICON_UP_DOWN - WHITE, //CHARICON_LEFT_RIGHT - WHITE, //CHARICON_POINT_LEFT - WHITE, //CHARICON_POINT_RIGHT - WHITE, //CHARICON_RETURN - WHITE, //CHARICON_REDO - WHITE, //CHARICON_UNDO - WHITE, //CHARICON_DOWNLOAD - WHITE, //CHARICON_UPLOAD - WHITE, //CHARICON_BULLET - WHITE, //CHARICON_BACK_SMALL - WHITE, //CHARICON_EXPAND - WHITE, //CHARICON_MOVE - WHITE, //CHARICON_ROTATE - MAT_BLUE, //CHARICON_RESET - WHITE, //CHARICON_EDIT - WHITE, //CHARICON_SAVE - MAT_ORANGE, //CHARICON_DELETE - MAT_LOWWHITE, //CHARICON_RADIO_CHECKED - MAT_LOWWHITE, //CHARICON_RADIO_UNCHECKED - MAT_GREEN, //CHARICON_CHECKED - MAT_LOWWHITE, //CHARICON_UNCHECKED - MAT_RED, //CHARICON_SOUND_OFF - MAT_GREEN, //CHARICON_SOUND_ON - MAT_RED, //CHARICON_ALERT_OFF - MAT_GREEN, //CHARICON_ALERT_ON - MAT_RED, //CHARICON_POWER_OFF - MAT_GREEN, //CHARICON_POWER_ON - MAT_RED, //CHARICON_WIFI_OFF - MAT_GREEN, //CHARICON_WIFI_ON - WHITE, //CHARICON_KEYBOARD - MAT_RED, //CHARICON_SD_ERROR - MAT_GREEN, //CHARICON_SD_OK - MAT_BLUE, //CHARICON_SD_REFRESH - MAT_RED, //CHARICON_USB_ERROR - MAT_GREEN, //CHARICON_USB_OK - MAT_RED, //CHARICON_PRINTER_ERROR - MAT_GREEN, //CHARICON_PRINTER_OK - WHITE, //CHARICON_BOARD - WHITE, //CHARICON_EEPROM - WHITE, //CHARICON_PRINT - WHITE, //CHARICON_SETTING1 - WHITE, //CHARICON_PLUGIN - WHITE, //CHARICON_FEATURE - WHITE, //CHARICON_SETTING2 - WHITE, //CHARICON_DETAIL - WHITE, //CHARICON_DETAIL2 - WHITE, //CHARICON_ADJUST - WHITE, //CHARICON_MENU - WHITE, //CHARICON_POWER - WHITE, //CHARICON_TOUCH - WHITE, //CHARICON_LANGUAGE - WHITE, //CHARICON_CODE - WHITE, //CHARICON_POWER_PLUG - WHITE, //CHARICON_ROTATE_DEVICE - WHITE, //CHARICON_WINDOW - WHITE, //CHARICON_BACKGROUND_COLOR - WHITE, //CHARICON_FONT_COLOR - WHITE, //CHARICON_PAINT - MAT_GREEN, //CHARICON_TOGGLE_SMALL_ON - MAT_RED, //CHARICON_TOGGLE_SMALL_OFF - MAT_DARKGRAY, //CHARICON_TOGGLE_BODY - WHITE, //CHARICON_TOGGLE_SWITCH - MAT_GREEN, //CHARICON_TOGGLE_ON - MAT_RED, //CHARICON_TOGGLE_OFF +const uint16_t charIconColor[CHARICON_NUM] = { + BLACK, // CHARICON_BLANK = 0 + WHITE, // CHARICON_NOZZLE + WHITE, // CHARICON_BED + WHITE, // CHARICON_FAN + MAT_YELLOW, // CHARICON_FOLDER + MAT_BLUE, // CHARICON_FILE + WHITE, // CHARICON_PAGEUP + WHITE, // CHARICON_PAGEDOWN + WHITE, // CHARICON_BACK + WHITE, // CHARICON_LEFT_TOP + WHITE, // CHARICON_LEFT_BOTTOM + WHITE, // CHARICON_RIGHT_TOP + WHITE, // CHARICON_RIGHT_BOTTOM + MAT_YELLOW, // CHARICON_ALERT + MAT_RED, // CHARICON_WARNING + MAT_RED, // CHARICON_ERROR + MAT_YELLOW, // CHARICON_CAUTION + MAT_BLUE, // CHARICON_INFO + MAT_YELLOW, // CHARICON_HAND + MAT_YELLOW, // CHARICON_WAIT + MAT_BLUE, // CHARICON_QUESTION + WHITE, // CHARICON_PLAY + WHITE, // CHARICON_PAUSE + WHITE, // CHARICON_STOP + WHITE, // CHARICON_EJECT + WHITE, // CHARICON_PLAY_ROUND + WHITE, // CHARICON_PAUSE_ROUND + WHITE, // CHARICON_OK_ROUND + WHITE, // CHARICON_CANCEL_ROUND + WHITE, // CHARICON_MINUS_ROUND + WHITE, // CHARICON_PLUS_ROUND + WHITE, // CHARICON_MINUS + WHITE, // CHARICON_PLUS + MAT_GREEN, // CHARICON_OK + MAT_RED, // CHARICON_CANCEL + MAT_RED, // CHARICON_HALT + WHITE, // CHARICON_UP_DOWN + WHITE, // CHARICON_LEFT_RIGHT + WHITE, // CHARICON_POINT_LEFT + WHITE, // CHARICON_POINT_RIGHT + WHITE, // CHARICON_RETURN + WHITE, // CHARICON_REDO + WHITE, // CHARICON_UNDO + WHITE, // CHARICON_DOWNLOAD + WHITE, // CHARICON_UPLOAD + WHITE, // CHARICON_BULLET + WHITE, // CHARICON_BACK_SMALL + WHITE, // CHARICON_EXPAND + WHITE, // CHARICON_MOVE + WHITE, // CHARICON_ROTATE + MAT_BLUE, // CHARICON_RESET + WHITE, // CHARICON_EDIT + WHITE, // CHARICON_SAVE + MAT_ORANGE, // CHARICON_DELETE + MAT_LOWWHITE, // CHARICON_RADIO_CHECKED + MAT_LOWWHITE, // CHARICON_RADIO_UNCHECKED + MAT_GREEN, // CHARICON_CHECKED + MAT_LOWWHITE, // CHARICON_UNCHECKED + MAT_RED, // CHARICON_SOUND_OFF + MAT_GREEN, // CHARICON_SOUND_ON + MAT_RED, // CHARICON_ALERT_OFF + MAT_GREEN, // CHARICON_ALERT_ON + MAT_RED, // CHARICON_POWER_OFF + MAT_GREEN, // CHARICON_POWER_ON + MAT_RED, // CHARICON_WIFI_OFF + MAT_GREEN, // CHARICON_WIFI_ON + WHITE, // CHARICON_KEYBOARD + MAT_RED, // CHARICON_SD_ERROR + MAT_GREEN, // CHARICON_SD_OK + MAT_BLUE, // CHARICON_SD_REFRESH + MAT_RED, // CHARICON_USB_ERROR + MAT_GREEN, // CHARICON_USB_OK + MAT_RED, // CHARICON_PRINTER_ERROR + MAT_GREEN, // CHARICON_PRINTER_OK + WHITE, // CHARICON_BOARD + WHITE, // CHARICON_EEPROM + WHITE, // CHARICON_PRINT + WHITE, // CHARICON_SETTING1 + WHITE, // CHARICON_PLUGIN + WHITE, // CHARICON_FEATURE + WHITE, // CHARICON_SETTING2 + WHITE, // CHARICON_DETAIL + WHITE, // CHARICON_DETAIL2 + WHITE, // CHARICON_ADJUST + WHITE, // CHARICON_MENU + WHITE, // CHARICON_POWER + WHITE, // CHARICON_TOUCH + WHITE, // CHARICON_LANGUAGE + WHITE, // CHARICON_CODE + WHITE, // CHARICON_POWER_PLUG + WHITE, // CHARICON_ROTATE_DEVICE + WHITE, // CHARICON_WINDOW + WHITE, // CHARICON_BACKGROUND_COLOR + WHITE, // CHARICON_FONT_COLOR + WHITE, // CHARICON_PAINT + MAT_GREEN, // CHARICON_TOGGLE_SMALL_ON + MAT_RED, // CHARICON_TOGGLE_SMALL_OFF + MAT_DARKGRAY, // CHARICON_TOGGLE_BODY + WHITE, // CHARICON_TOGGLE_SWITCH + MAT_GREEN, // CHARICON_TOGGLE_ON + MAT_RED, // CHARICON_TOGGLE_OFF }; -#define CHAR_BLANK '\0' -#define CHAR_NOZZLE "\u085F" -#define CHAR_BED "\u0860" -#define CHAR_FAN "\u0861" -#define CHAR_FOLDER "\u0862" -#define CHAR_FILE "\u0863" +#define CHAR_BLANK '\0' +#define CHAR_NOZZLE "\u085F" +#define CHAR_BED "\u0860" +#define CHAR_FAN "\u0861" +#define CHAR_FOLDER "\u0862" +#define CHAR_FILE "\u0863" -#define CHAR_PAGEUP "\u0867\u0868" -#define CHAR_PAGEDOWN "\u0869\u086A" -#define CHAR_BACK "\u086B\u086C" -#define CHAR_LEFT_PART1 "\u086D" -#define CHAR_LEFT_PART2 "\u086E" -#define CHAR_RIGHT_PART1 "\u086F" -#define CHAR_RIGHT_PART2 "\u0870" +#define CHAR_PAGEUP "\u0867\u0868" +#define CHAR_PAGEDOWN "\u0869\u086A" +#define CHAR_BACK "\u086B\u086C" +#define CHAR_LEFT_PART1 "\u086D" +#define CHAR_LEFT_PART2 "\u086E" +#define CHAR_RIGHT_PART1 "\u086F" +#define CHAR_RIGHT_PART2 "\u0870" -#define CHAR_ALERT "\u0880" -#define CHAR_WARNING "\u0881" -#define CHAR_ERROR "\u0882" -#define CHAR_CAUTION "\u0883" -#define CHAR_INFO "\u0884" -#define CHAR_HAND "\u0885" -#define CHAR_WAIT "\u0886" -#define CHAR_QUESTION "\u0887" -#define CHAR_PLAY "\u0888" -#define CHAR_PAUSE "\u0889" -#define CHAR_STOP "\u088A" -#define CHAR_EJECT "\u088B" -#define CHAR_PLAY_ROUND "\u088C" -#define CHAR_PAUSE_ROUND "\u088D" -#define CHAR_OK_ROUND "\u088E" -#define CHAR_CANCEL_ROUND "\u088F" -#define CHAR_MINUS_ROUND "\u0890" -#define CHAR_PLUS_ROUND "\u0891" -#define CHAR_MINUS "\u0892" -#define CHAR_PLUS "\u0893" -#define CHAR_OK "\u0894" -#define CHAR_CANCEL "\u0895" -#define CHAR_HALT "\u0896" -#define CHAR_UP_DOWN "\u0897" -#define CHAR_LEFT_RIGHT "\u0898" -#define CHAR_POINT_LEFT "\u0899" -#define CHAR_POINT_RIGHT "\u089A" -#define CHAR_RETURN "\u089B" -#define CHAR_REDO "\u089C" -#define CHAR_UNDO "\u089D" -#define CHAR_DOWNLOAD "\u089E" -#define CHAR_UPLOAD "\u089F" -#define CHAR_BULLET "\u08A0" -#define CHAR_BACK_SMALL "\u08A1" -#define CHAR_EXPAND "\u08A2" -#define CHAR_MOVE "\u08A3" -#define CHAR_ROTATE "\u08A4" -#define CHAR_RESET "\u08A5" -#define CHAR_EDIT "\u08A6" -#define CHAR_SAVE "\u08A7" -#define CHAR_DELETE "\u08A8" -#define CHAR_RADIO_CHECKED "\u08A9" -#define CHAR_RADIO_UNCHECKED "\u08AA" -#define CHAR_CHECKED "\u08AB" -#define CHAR_UNCHECKED "\u08AC" -#define CHAR_SOUND_OFF "\u08AD" -#define CHAR_SOUND_ON "\u08AE" -#define CHAR_ALERT_OFF "\u08AF" -#define CHAR_ALERT_ON "\u08B0" -#define CHAR_POWER_OFF "\u08B1" -#define CHAR_POWER_ON "\u08B2" -#define CHAR_WIFI_OFF "\u08B3" -#define CHAR_WIFI_ON "\u08B4" -#define CHAR_KEYBOARD "\u08B5" -#define CHAR_SD_ERROR "\u08B6" -#define CHAR_SD_OK "\u08B7" -#define CHAR_SD_REFRESH "\u08B8" -#define CHAR_USB_ERROR "\u08B9" -#define CHAR_USB_OK "\u08BA" -#define CHAR_PRINTER_ERROR "\u08BB" -#define CHAR_PRINTER_OK "\u08BC" -#define CHAR_BOARD "\u08BD" -#define CHAR_EEPROM "\u08BE" -#define CHAR_PRINT "\u08BF" -#define CHAR_SETTING1 "\u08C0" -#define CHAR_PLUGIN "\u08C1" -#define CHAR_FEATURE "\u08C2" -#define CHAR_SETTING2 "\u08C3" -#define CHAR_DETAIL "\u08C4" -#define CHAR_DETAIL2 "\u08C5" -#define CHAR_ADJUST "\u08C6" -#define CHAR_MENU "\u08C7" -#define CHAR_POWER "\u08C8" -#define CHAR_TOUCH "\u08C9" -#define CHAR_LANGUAGE "\u08CA" -#define CHAR_CODE "\u08CB" -#define CHAR_POWER_PLUG "\u08CC" -#define CHAR_ROTATE_DEVICE "\u08CD" -#define CHAR_WINDOW "\u08CE" -#define CHAR_BACKGROUND_COLOR "\u08CF" -#define CHAR_FONT_COLOR "\u08D0" -#define CHAR_PAINT "\u08D1" -#define CHAR_TOGGLE_SMALL_ON "\u08D2" -#define CHAR_TOGGLE_SMALL_OFF "\u08D3" -#define CHAR_TOGGLE_BODY "\u08D4\u08D5" -#define CHAR_TOGGLE_SWITCH "\u08D6" -#define CHAR_TOGGLE_ON "" // only for toggle state detection in list menu -#define CHAR_TOGGLE_OFF "" // only for toggle state detection in list menu +#define CHAR_ALERT "\u0880" +#define CHAR_WARNING "\u0881" +#define CHAR_ERROR "\u0882" +#define CHAR_CAUTION "\u0883" +#define CHAR_INFO "\u0884" +#define CHAR_HAND "\u0885" +#define CHAR_WAIT "\u0886" +#define CHAR_QUESTION "\u0887" +#define CHAR_PLAY "\u0888" +#define CHAR_PAUSE "\u0889" +#define CHAR_STOP "\u088A" +#define CHAR_EJECT "\u088B" +#define CHAR_PLAY_ROUND "\u088C" +#define CHAR_PAUSE_ROUND "\u088D" +#define CHAR_OK_ROUND "\u088E" +#define CHAR_CANCEL_ROUND "\u088F" +#define CHAR_MINUS_ROUND "\u0890" +#define CHAR_PLUS_ROUND "\u0891" +#define CHAR_MINUS "\u0892" +#define CHAR_PLUS "\u0893" +#define CHAR_OK "\u0894" +#define CHAR_CANCEL "\u0895" +#define CHAR_HALT "\u0896" +#define CHAR_UP_DOWN "\u0897" +#define CHAR_LEFT_RIGHT "\u0898" +#define CHAR_POINT_LEFT "\u0899" +#define CHAR_POINT_RIGHT "\u089A" +#define CHAR_RETURN "\u089B" +#define CHAR_REDO "\u089C" +#define CHAR_UNDO "\u089D" +#define CHAR_DOWNLOAD "\u089E" +#define CHAR_UPLOAD "\u089F" +#define CHAR_BULLET "\u08A0" +#define CHAR_BACK_SMALL "\u08A1" +#define CHAR_EXPAND "\u08A2" +#define CHAR_MOVE "\u08A3" +#define CHAR_ROTATE "\u08A4" +#define CHAR_RESET "\u08A5" +#define CHAR_EDIT "\u08A6" +#define CHAR_SAVE "\u08A7" +#define CHAR_DELETE "\u08A8" +#define CHAR_RADIO_CHECKED "\u08A9" +#define CHAR_RADIO_UNCHECKED "\u08AA" +#define CHAR_CHECKED "\u08AB" +#define CHAR_UNCHECKED "\u08AC" +#define CHAR_SOUND_OFF "\u08AD" +#define CHAR_SOUND_ON "\u08AE" +#define CHAR_ALERT_OFF "\u08AF" +#define CHAR_ALERT_ON "\u08B0" +#define CHAR_POWER_OFF "\u08B1" +#define CHAR_POWER_ON "\u08B2" +#define CHAR_WIFI_OFF "\u08B3" +#define CHAR_WIFI_ON "\u08B4" +#define CHAR_KEYBOARD "\u08B5" +#define CHAR_SD_ERROR "\u08B6" +#define CHAR_SD_OK "\u08B7" +#define CHAR_SD_REFRESH "\u08B8" +#define CHAR_USB_ERROR "\u08B9" +#define CHAR_USB_OK "\u08BA" +#define CHAR_PRINTER_ERROR "\u08BB" +#define CHAR_PRINTER_OK "\u08BC" +#define CHAR_BOARD "\u08BD" +#define CHAR_EEPROM "\u08BE" +#define CHAR_PRINT "\u08BF" +#define CHAR_SETTING1 "\u08C0" +#define CHAR_PLUGIN "\u08C1" +#define CHAR_FEATURE "\u08C2" +#define CHAR_SETTING2 "\u08C3" +#define CHAR_DETAIL "\u08C4" +#define CHAR_DETAIL2 "\u08C5" +#define CHAR_ADJUST "\u08C6" +#define CHAR_MENU "\u08C7" +#define CHAR_POWER "\u08C8" +#define CHAR_TOUCH "\u08C9" +#define CHAR_LANGUAGE "\u08CA" +#define CHAR_CODE "\u08CB" +#define CHAR_POWER_PLUG "\u08CC" +#define CHAR_ROTATE_DEVICE "\u08CD" +#define CHAR_WINDOW "\u08CE" +#define CHAR_BACKGROUND_COLOR "\u08CF" +#define CHAR_FONT_COLOR "\u08D0" +#define CHAR_PAINT "\u08D1" +#define CHAR_TOGGLE_SMALL_ON "\u08D2" +#define CHAR_TOGGLE_SMALL_OFF "\u08D3" +#define CHAR_TOGGLE_BODY "\u08D4\u08D5" +#define CHAR_TOGGLE_SWITCH "\u08D6" +#define CHAR_TOGGLE_ON "" // only for toggle state detection in list menu +#define CHAR_TOGGLE_OFF "" // only for toggle state detection in list menu +// this list is Auto-Generated. Please add new icons in CharIcon.inc only static const char * const charIcon[CHARICON_NUM] = { #define X_CHAR(NAME) CHAR_##NAME , - #include "CharIcon.inc" - #undef X_CHAR -// add new icons in icon_list.inc only + #include "CharIcon.inc" + #undef X_CHAR }; uint8_t * IconCharSelect(uint8_t sel) diff --git a/TFT/src/User/API/UI/CharIcon.h b/TFT/src/User/API/UI/CharIcon.h index 9858ffcb2..39f36afb2 100644 --- a/TFT/src/User/API/UI/CharIcon.h +++ b/TFT/src/User/API/UI/CharIcon.h @@ -8,12 +8,14 @@ extern "C" { #include #include "GUI.h" +// this list is Auto-Generated. Please add new icons in CharIcon.inc only typedef enum { #define X_CHAR(NAME) CHARICON_##NAME , - #include "CharIcon.inc" - #undef X_CHAR - // keep below items always at the end + #include "CharIcon.inc" + #undef X_CHAR + + // keep the following always at the end of this list CHARICON_NUM, CHARICON_NULL } CHAR_ICON; diff --git a/TFT/src/User/API/UI/CharIcon.inc b/TFT/src/User/API/UI/CharIcon.inc index 6e22f182d..2674a20e9 100644 --- a/TFT/src/User/API/UI/CharIcon.inc +++ b/TFT/src/User/API/UI/CharIcon.inc @@ -104,5 +104,5 @@ X_CHAR (TOGGLE_SMALL_ON) X_CHAR (TOGGLE_SMALL_OFF) X_CHAR (TOGGLE_BODY) X_CHAR (TOGGLE_SWITCH) -X_CHAR (TOGGLE_ON) // only for toggle state detection -X_CHAR (TOGGLE_OFF) // only for toggle state detection +X_CHAR (TOGGLE_ON) // only for toggle state detection +X_CHAR (TOGGLE_OFF) // only for toggle state detection diff --git a/TFT/src/User/API/UI/Char_Icon.inc b/TFT/src/User/API/UI/Char_Icon.inc deleted file mode 100644 index 2f7a77e34..000000000 --- a/TFT/src/User/API/UI/Char_Icon.inc +++ /dev/null @@ -1,108 +0,0 @@ -/** - * Char Icons Kewords Generation - * Usage: X_CHAR(VALUE) - * 'VALUE' is the keyword name without the 'ICONCHAR_' - * - * Description: https://en.wikipedia.org/wiki/X_Macro - */ -X_CHAR (BLANK) -X_CHAR (NOZZLE) -X_CHAR (BED) -X_CHAR (FAN) -X_CHAR (FOLDER) -X_CHAR (FILE) -X_CHAR (PAGEUP) -X_CHAR (PAGEDOWN) -X_CHAR (BACK) -X_CHAR (LEFT_PART1) -X_CHAR (LEFT_PART2) -X_CHAR (RIGHT_PART1) -X_CHAR (RIGHT_PART2) -X_CHAR (ALERT) -X_CHAR (WARNING) -X_CHAR (ERROR) -X_CHAR (CAUTION) -X_CHAR (INFO) -X_CHAR (HAND) -X_CHAR (WAIT) -X_CHAR (QUESTION) -X_CHAR (PLAY) -X_CHAR (PAUSE) -X_CHAR (STOP) -X_CHAR (EJECT) -X_CHAR (PLAY_ROUND) -X_CHAR (PAUSE_ROUND) -X_CHAR (OK_ROUND) -X_CHAR (CANCEL_ROUND) -X_CHAR (MINUS_ROUND) -X_CHAR (PLUS_ROUND) -X_CHAR (MINUS) -X_CHAR (PLUS) -X_CHAR (OK) -X_CHAR (CANCEL) -X_CHAR (HALT) -X_CHAR (UP_DOWN) -X_CHAR (LEFT_RIGHT) -X_CHAR (POINT_LEFT) -X_CHAR (POINT_RIGHT) -X_CHAR (RETURN) -X_CHAR (REDO) -X_CHAR (UNDO) -X_CHAR (DOWNLOAD) -X_CHAR (UPLOAD) -X_CHAR (BULLET) -X_CHAR (BACK_SMALL) -X_CHAR (EXPAND) -X_CHAR (MOVE) -X_CHAR (ROTATE) -X_CHAR (RESET) -X_CHAR (EDIT) -X_CHAR (SAVE) -X_CHAR (DELETE) -X_CHAR (RADIO_CHECKED) -X_CHAR (RADIO_UNCHECKED) -X_CHAR (CHECKED) -X_CHAR (UNCHECKED) -X_CHAR (SOUND_OFF) -X_CHAR (SOUND_ON) -X_CHAR (ALERT_OFF) -X_CHAR (ALERT_ON) -X_CHAR (POWER_OFF) -X_CHAR (POWER_ON) -X_CHAR (WIFI_OFF) -X_CHAR (WIFI_ON) -X_CHAR (KEYBOARD) -X_CHAR (SD_ERROR) -X_CHAR (SD_OK) -X_CHAR (SD_REFRESH) -X_CHAR (USB_ERROR) -X_CHAR (USB_OK) -X_CHAR (PRINTER_ERROR) -X_CHAR (PRINTER_OK) -X_CHAR (BOARD) -X_CHAR (EEPROM) -X_CHAR (PRINT) -X_CHAR (SETTING1) -X_CHAR (PLUGIN) -X_CHAR (FEATURE) -X_CHAR (SETTING2) -X_CHAR (DETAIL) -X_CHAR (DETAIL2) -X_CHAR (ADJUST) -X_CHAR (MENU) -X_CHAR (POWER) -X_CHAR (TOUCH) -X_CHAR (LANGUAGE) -X_CHAR (CODE) -X_CHAR (POWER_PLUG) -X_CHAR (ROTATE_DEVICE) -X_CHAR (WINDOW) -X_CHAR (BACKGROUND_COLOR) -X_CHAR (FONT_COLOR) -X_CHAR (PAINT) -X_CHAR (TOGGLE_SMALL_ON) -X_CHAR (TOGGLE_SMALL_OFF) -X_CHAR (TOGGLE_BODY) -X_CHAR (TOGGLE_SWITCH) -X_CHAR (TOGGLE_ON) // only for toggle state detection -X_CHAR (TOGGLE_OFF) // only for toggle state detection diff --git a/TFT/src/User/API/UI/ui_draw.c b/TFT/src/User/API/UI/ui_draw.c index b4647f7b9..6e1a88a82 100644 --- a/TFT/src/User/API/UI/ui_draw.c +++ b/TFT/src/User/API/UI/ui_draw.c @@ -378,7 +378,7 @@ static bool model_Process_Base64PNG(FIL * gcodeFile, void * user_data, pngle_dra if (base64_len == 0) { dbg_printf("thumbnail for w=%d,h=%d not found.\n", ICON_WIDTH, ICON_HEIGHT); - + return false; } @@ -407,6 +407,7 @@ static bool model_Process_Base64PNG(FIL * gcodeFile, void * user_data, pngle_dra if (fed < 0) { dbg_printf("pngle error: %s\n", pngle_error(pngle)); + goto pngle_failed; } diff --git a/TFT/src/User/API/boot.c b/TFT/src/User/API/boot.c index cffb3e8fd..2d6a8ccdd 100644 --- a/TFT/src/User/API/boot.c +++ b/TFT/src/User/API/boot.c @@ -348,6 +348,7 @@ static inline void scanRenameUpdate(char * rootDir) GUI_DispStringInRect(0, 0, LCD_WIDTH, LCD_HEIGHT, (uint8_t *)"Deleting old update files..."); f_remove_full_dir(renamedPath); } + f_rename(curPath, renamedPath); } diff --git a/TFT/src/User/API/boot.h b/TFT/src/User/API/boot.h index 62cd723f2..26b22eb36 100644 --- a/TFT/src/User/API/boot.h +++ b/TFT/src/User/API/boot.h @@ -11,41 +11,41 @@ extern "C" { #define W25QXX_SECTOR_SIZE (0x1000) // 4096-4K #ifndef LOGO_MAX_SIZE - #define LOGO_MAX_SIZE 0x4B000 - #define WORD_UNICODE_SIZE 0x480000 - #define BYTE_ASCII_SIZE 0x1000 - #define LARGE_FONT_SIZE 0x3000 - #define _8X16_FONT_SIZE 0x1000 - #define FLASH_SIGN_SIZE 0x1000 // store status of last font/icon/config update - #define LANGUAGE_SIZE 0x16000 // language pack size - #define STRINGS_STORE_MAX_SIZE 0x1000 // label strings max size - #define PREHEAT_STORE_MAX_SIZE 0x1000 // preheat setting max size - #define PRINT_GCODES_MAX_SIZE 0x5000 // start/end/cancel gcodes max size - #define CUSTOM_GCODE_MAX_SIZE 0x5000 // custom gcodes max size - #define ICON_MAX_SIZE 0x5000 - #define INFOBOX_MAX_SIZE 0xB000 - #define SMALL_ICON_MAX_SIZE 0x2000 + #define LOGO_MAX_SIZE 0x4B000 + #define WORD_UNICODE_SIZE 0x480000 + #define BYTE_ASCII_SIZE 0x1000 + #define LARGE_FONT_SIZE 0x3000 + #define _8X16_FONT_SIZE 0x1000 + #define FLASH_SIGN_SIZE 0x1000 // store status of last font/icon/config update + #define LANGUAGE_SIZE 0x16000 // language pack size + #define STRINGS_STORE_MAX_SIZE 0x1000 // label strings max size + #define PREHEAT_STORE_MAX_SIZE 0x1000 // preheat setting max size + #define PRINT_GCODES_MAX_SIZE 0x5000 // start/end/cancel gcodes max size + #define CUSTOM_GCODE_MAX_SIZE 0x5000 // custom gcodes max size + #define ICON_MAX_SIZE 0x5000 + #define INFOBOX_MAX_SIZE 0xB000 + #define SMALL_ICON_MAX_SIZE 0x2000 #endif // address in spiflash W25Qxx -#define LOGO_ADDR 0x0 -#define WORD_UNICODE_ADDR LOGO_MAX_SIZE // unicode (+0x480000 4.5M) -#define BYTE_ASCII_ADDR (WORD_UNICODE_ADDR + WORD_UNICODE_SIZE) // ascii (+0x1000 4K) -#define LARGE_FONT_ADDR (BYTE_ASCII_ADDR + BYTE_ASCII_SIZE) // Large ascii font -#define _8X16_FONT_ADDR (LARGE_FONT_ADDR + LARGE_FONT_SIZE) // 8 x 16 ascii font -//#define BYTE_RESERVE_ADDR 0x710000 -#define FLASH_SIGN_ADDR (_8X16_FONT_ADDR + _8X16_FONT_SIZE) // for language label strings from language file -#define LANGUAGE_ADDR (FLASH_SIGN_ADDR + FLASH_SIGN_SIZE) // for label strings from config file -#define STRINGS_STORE_ADDR (LANGUAGE_ADDR + LANGUAGE_SIZE) // for label strings from config file -#define PREHEAT_STORE_ADDR (STRINGS_STORE_ADDR + STRINGS_STORE_MAX_SIZE) // for preheat settings from config file -#define PRINT_GCODES_ADDR (PREHEAT_STORE_ADDR + PREHEAT_STORE_MAX_SIZE) // for start/end/cancel gcodes from config file -#define CUSTOM_GCODE_ADDR (PRINT_GCODES_ADDR + PRINT_GCODES_MAX_SIZE) // for custom gcodes from config file +#define LOGO_ADDR 0x0 +#define WORD_UNICODE_ADDR LOGO_MAX_SIZE // unicode (+0x480000 4.5M) +#define BYTE_ASCII_ADDR (WORD_UNICODE_ADDR + WORD_UNICODE_SIZE) // ascii (+0x1000 4K) +#define LARGE_FONT_ADDR (BYTE_ASCII_ADDR + BYTE_ASCII_SIZE) // Large ascii font +#define _8X16_FONT_ADDR (LARGE_FONT_ADDR + LARGE_FONT_SIZE) // 8 x 16 ascii font +//#define BYTE_RESERVE_ADDR 0x710000 +#define FLASH_SIGN_ADDR (_8X16_FONT_ADDR + _8X16_FONT_SIZE) // for language label strings from language file +#define LANGUAGE_ADDR (FLASH_SIGN_ADDR + FLASH_SIGN_SIZE) // for label strings from config file +#define STRINGS_STORE_ADDR (LANGUAGE_ADDR + LANGUAGE_SIZE) // for label strings from config file +#define PREHEAT_STORE_ADDR (STRINGS_STORE_ADDR + STRINGS_STORE_MAX_SIZE) // for preheat settings from config file +#define PRINT_GCODES_ADDR (PREHEAT_STORE_ADDR + PREHEAT_STORE_MAX_SIZE) // for start/end/cancel gcodes from config file +#define CUSTOM_GCODE_ADDR (PRINT_GCODES_ADDR + PRINT_GCODES_MAX_SIZE) // for custom gcodes from config file -#define ICON_ADDR(num) ((num) * ICON_MAX_SIZE + CUSTOM_GCODE_ADDR + CUSTOM_GCODE_MAX_SIZE) -#define INFOBOX_ADDR (ICON_ADDR(ICON_PREVIEW) + ICON_MAX_SIZE) // total byte size 0xA7F8 -#define SMALL_ICON_START_ADDR (INFOBOX_ADDR + INFOBOX_MAX_SIZE) -#define SMALL_ICON_ADDR(num) ((num) * SMALL_ICON_MAX_SIZE + SMALL_ICON_START_ADDR) -#define FLASH_USED (INFOBOX_ADDR + INFOBOX_MAX_SIZE) // currently small icons are not used +#define ICON_ADDR(num) ((num) * ICON_MAX_SIZE + CUSTOM_GCODE_ADDR + CUSTOM_GCODE_MAX_SIZE) +#define INFOBOX_ADDR (ICON_ADDR(ICON_PREVIEW) + ICON_MAX_SIZE) // total byte size 0xA7F8 +#define SMALL_ICON_START_ADDR (INFOBOX_ADDR + INFOBOX_MAX_SIZE) +#define SMALL_ICON_ADDR(num) ((num) * SMALL_ICON_MAX_SIZE + SMALL_ICON_START_ADDR) +#define FLASH_USED (INFOBOX_ADDR + INFOBOX_MAX_SIZE) // currently small icons are not used #ifdef PORTRAIT_MODE #define STR_PORTRAIT STRINGIFY(PORTRAIT_MODE) @@ -72,6 +72,7 @@ enum #include "icon_list.inc" #undef X_ICON + // keep the following always at the end of this list //ICON_RESERVE, ICON_PREVIEW, // preview should be in the last place before ICON_NULL to save flash storage space ICON_NULL // back ground sign diff --git a/TFT/src/User/API/config.c b/TFT/src/User/API/config.c index 7c7873494..f7a701b59 100644 --- a/TFT/src/User/API/config.c +++ b/TFT/src/User/API/config.c @@ -4,163 +4,163 @@ // after changing/adding/removing a config, change the CONFIG_FLASH_SIGN in Settings.h and PARA_SIGN in FlashStore.c //-----------------------------General Settings -#define CONFIG_SERIAL_PORT "serial_port:" -#define CONFIG_TX_SLOTS "tx_slots:" -#define CONFIG_ADVANCED_OK "advanced_ok:" -#define CONFIG_COMMAND_CHECKSUM "command_checksum:" -#define CONFIG_EMULATED_M600 "emulated_m600:" -#define CONFIG_EMULATED_M109_M190 "emulated_m109_m190:" -#define CONFIG_EVENT_LED "event_led:" -#define CONFIG_FILE_COMMENT_PARSING "file_comment_parsing:" +#define CONFIG_SERIAL_PORT "serial_port:" +#define CONFIG_TX_SLOTS "tx_slots:" +#define CONFIG_ADVANCED_OK "advanced_ok:" +#define CONFIG_COMMAND_CHECKSUM "command_checksum:" +#define CONFIG_EMULATED_M600 "emulated_m600:" +#define CONFIG_EMULATED_M109_M190 "emulated_m109_m190:" +#define CONFIG_EVENT_LED "event_led:" +#define CONFIG_FILE_COMMENT_PARSING "file_comment_parsing:" //-----------------------------UI Settings -#define CONFIG_ROTATED_UI "rotated_ui:" -#define CONFIG_LANGUAGE "language:" -#define CONFIG_STATUS_SCREEN "status_screen:" -#define CONFIG_TITLE_BG_COLOR "title_background_color:" -#define CONFIG_MENU_BG_COLOR "menu_background_color:" -#define CONFIG_MENU_FONT_COLOR "menu_font_color:" -#define CONFIG_REMINDER_FONT_COLOR "reminder_font_color:" -#define CONFIG_STATUS_FONT_COLOR "status_font_color:" -#define CONFIG_STATUS_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_TERMINAL_COLOR_SCHEME "terminal_color_scheme:" - -#define CONFIG_ACK_NOTIFICATION "ack_notification:" -#define CONFIG_FILES_SORT_BY "files_sort_by:" -#define CONFIG_FILES_LIST_MODE "files_list_mode:" -#define CONFIG_FILENAME_EXTENSION "filename_extension:" -#define CONFIG_FAN_SPEED_PERCENTAGE "fan_speed_percentage:" -#define CONFIG_PERSISTENT_INFO "persistent_info:" -#define CONFIG_TERMINAL_ACK "terminal_ack:" -#define CONFIG_NOTIFICATION_M117 "notification_m117:" -#define CONFIG_PROG_SOURCE "prog_source:" -#define CONFIG_PROG_DISP_TYPE "prog_disp_type:" -#define CONFIG_LAYER_DISP_TYPE "layer_disp_type:" +#define CONFIG_ROTATED_UI "rotated_ui:" +#define CONFIG_LANGUAGE "language:" +#define CONFIG_STATUS_SCREEN "status_screen:" +#define CONFIG_TITLE_BG_COLOR "title_background_color:" +#define CONFIG_MENU_BG_COLOR "menu_background_color:" +#define CONFIG_MENU_FONT_COLOR "menu_font_color:" +#define CONFIG_REMINDER_FONT_COLOR "reminder_font_color:" +#define CONFIG_STATUS_FONT_COLOR "status_font_color:" +#define CONFIG_STATUS_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_TERMINAL_COLOR_SCHEME "terminal_color_scheme:" + +#define CONFIG_ACK_NOTIFICATION "ack_notification:" +#define CONFIG_FILES_SORT_BY "files_sort_by:" +#define CONFIG_FILES_LIST_MODE "files_list_mode:" +#define CONFIG_FILENAME_EXTENSION "filename_extension:" +#define CONFIG_FAN_SPEED_PERCENTAGE "fan_speed_percentage:" +#define CONFIG_PERSISTENT_INFO "persistent_info:" +#define CONFIG_TERMINAL_ACK "terminal_ack:" +#define CONFIG_NOTIFICATION_M117 "notification_m117:" +#define CONFIG_PROG_SOURCE "prog_source:" +#define CONFIG_PROG_DISP_TYPE "prog_disp_type:" +#define CONFIG_LAYER_DISP_TYPE "layer_disp_type:" //-----------------------------Marlin Mode Settings (only for TFT24 V1.1 & TFT28/TFT35/TFT43/TFT50/TFT70 V3.0) -#define CONFIG_MODE "default_mode:" -#define CONFIG_SERIAL_ALWAYS_ON "serial_always_on:" -#define CONFIG_MARLIN_BG_COLOR "marlin_background_color:" -#define CONFIG_MARLIN_FONT_COLOR "marlin_font_color:" -#define CONFIG_MARLIN_FULLSCREEN "marlin_fullscreen:" -#define CONFIG_MARLIN_SHOW_TITLE "marlin_show_title:" -#define CONFIG_MARLIN_TITLE "marlin_title:" -#define CONFIG_MARLIN_TYPE "marlin_type:" +#define CONFIG_MODE "default_mode:" +#define CONFIG_SERIAL_ALWAYS_ON "serial_always_on:" +#define CONFIG_MARLIN_BG_COLOR "marlin_background_color:" +#define CONFIG_MARLIN_FONT_COLOR "marlin_font_color:" +#define CONFIG_MARLIN_FULLSCREEN "marlin_fullscreen:" +#define CONFIG_MARLIN_SHOW_TITLE "marlin_show_title:" +#define CONFIG_MARLIN_TITLE "marlin_title:" +#define CONFIG_MARLIN_TYPE "marlin_type:" //-----------------------------Printer / Machine Settings -#define CONFIG_HOTEND_COUNT "hotend_count:" -#define CONFIG_HEATED_BED "heated_bed:" -#define CONFIG_HEATED_CHAMBER "heated_chamber:" -#define CONFIG_EXT_COUNT "ext_count:" -#define CONFIG_FAN_COUNT "fan_count:" -#define CONFIG_CONTROLLER_FAN "controller_fan:" -#define CONFIG_MAX_TEMP "max_temp:" -#define CONFIG_MIN_TEMP "min_temp:" -#define CONFIG_FAN_MAX "fan_max:" -#define CONFIG_SIZE_MIN "size_min:" -#define CONFIG_SIZE_MAX "size_max:" -#define CONFIG_XY_SPEED "xy_speed:" -#define CONFIG_Z_SPEED "z_speed:" -#define CONFIG_EXT_SPEED "ext_speed:" -#define CONFIG_AUTO_LOAD_LEVELING "auto_load_leveling:" -#define CONFIG_ONBOARD_SD "onboard_sd:" -#define CONFIG_M27_REFRESH_TIME "M27_refresh_time:" -#define CONFIG_M27_ALWAYS_ACTIVE "M27_always_active:" -#define CONFIG_LONG_FILENAME "long_filename:" -#define CONFIG_PAUSE_RETRACT "pause_retract:" -#define CONFIG_PAUSE_POS "pause_pos:" -#define CONFIG_PAUSE_Z_RAISE "pause_z_raise:" -#define CONFIG_PAUSE_FEEDRATE "pause_feedrate:" -#define CONFIG_LEVEL_EDGE_DISTANCE "level_edge_distance:" -#define CONFIG_LEVEL_Z_POS "level_z_pos:" -#define CONFIG_LEVEL_Z_RAISE "level_z_raise:" -#define CONFIG_LEVEL_FEEDRATE "level_feedrate:" -#define CONFIG_INVERTED_AXIS "inverted_axis:" -#define CONFIG_PROBING_Z_OFFSET "probing_z_offset:" -#define CONFIG_PROBING_Z_RAISE "probing_z_raise:" -#define CONFIG_Z_STEPPERS_ALIGNMENT "z_steppers_alignment:" -#define CONFIG_TOUCHMI_SENSOR "touchmi_sensor:" -#define CONFIG_PREHEAT_NAME_1 "preheat_name_1:" -#define CONFIG_PREHEAT_NAME_2 "preheat_name_2:" -#define CONFIG_PREHEAT_NAME_3 "preheat_name_3:" -#define CONFIG_PREHEAT_NAME_4 "preheat_name_4:" -#define CONFIG_PREHEAT_NAME_5 "preheat_name_5:" -#define CONFIG_PREHEAT_NAME_6 "preheat_name_6:" -#define CONFIG_PREHEAT_TEMP_1 "preheat_temp_1:" -#define CONFIG_PREHEAT_TEMP_2 "preheat_temp_2:" -#define CONFIG_PREHEAT_TEMP_3 "preheat_temp_3:" -#define CONFIG_PREHEAT_TEMP_4 "preheat_temp_4:" -#define CONFIG_PREHEAT_TEMP_5 "preheat_temp_5:" -#define CONFIG_PREHEAT_TEMP_6 "preheat_temp_6:" +#define CONFIG_HOTEND_COUNT "hotend_count:" +#define CONFIG_HEATED_BED "heated_bed:" +#define CONFIG_HEATED_CHAMBER "heated_chamber:" +#define CONFIG_EXT_COUNT "ext_count:" +#define CONFIG_FAN_COUNT "fan_count:" +#define CONFIG_CONTROLLER_FAN "controller_fan:" +#define CONFIG_MAX_TEMP "max_temp:" +#define CONFIG_MIN_TEMP "min_temp:" +#define CONFIG_FAN_MAX "fan_max:" +#define CONFIG_SIZE_MIN "size_min:" +#define CONFIG_SIZE_MAX "size_max:" +#define CONFIG_XY_SPEED "xy_speed:" +#define CONFIG_Z_SPEED "z_speed:" +#define CONFIG_EXT_SPEED "ext_speed:" +#define CONFIG_AUTO_LOAD_LEVELING "auto_load_leveling:" +#define CONFIG_ONBOARD_SD "onboard_sd:" +#define CONFIG_M27_REFRESH_TIME "M27_refresh_time:" +#define CONFIG_M27_ALWAYS_ACTIVE "M27_always_active:" +#define CONFIG_LONG_FILENAME "long_filename:" +#define CONFIG_PAUSE_RETRACT "pause_retract:" +#define CONFIG_PAUSE_POS "pause_pos:" +#define CONFIG_PAUSE_Z_RAISE "pause_z_raise:" +#define CONFIG_PAUSE_FEEDRATE "pause_feedrate:" +#define CONFIG_LEVEL_EDGE_DISTANCE "level_edge_distance:" +#define CONFIG_LEVEL_Z_POS "level_z_pos:" +#define CONFIG_LEVEL_Z_RAISE "level_z_raise:" +#define CONFIG_LEVEL_FEEDRATE "level_feedrate:" +#define CONFIG_INVERTED_AXIS "inverted_axis:" +#define CONFIG_PROBING_Z_OFFSET "probing_z_offset:" +#define CONFIG_PROBING_Z_RAISE "probing_z_raise:" +#define CONFIG_Z_STEPPERS_ALIGNMENT "z_steppers_alignment:" +#define CONFIG_TOUCHMI_SENSOR "touchmi_sensor:" +#define CONFIG_PREHEAT_NAME_1 "preheat_name_1:" +#define CONFIG_PREHEAT_NAME_2 "preheat_name_2:" +#define CONFIG_PREHEAT_NAME_3 "preheat_name_3:" +#define CONFIG_PREHEAT_NAME_4 "preheat_name_4:" +#define CONFIG_PREHEAT_NAME_5 "preheat_name_5:" +#define CONFIG_PREHEAT_NAME_6 "preheat_name_6:" +#define CONFIG_PREHEAT_TEMP_1 "preheat_temp_1:" +#define CONFIG_PREHEAT_TEMP_2 "preheat_temp_2:" +#define CONFIG_PREHEAT_TEMP_3 "preheat_temp_3:" +#define CONFIG_PREHEAT_TEMP_4 "preheat_temp_4:" +#define CONFIG_PREHEAT_TEMP_5 "preheat_temp_5:" +#define CONFIG_PREHEAT_TEMP_6 "preheat_temp_6:" //-----------------------------Power Supply Settings (only if connected to TFT controller) -#define CONFIG_PS_ACTIVE_HIGH "ps_active_high:" -#define CONFIG_PS_AUTO_SHUTDOWN "ps_auto_shutdown:" -#define CONFIG_PS_AUTO_SHUTDOWN_TEMP "ps_auto_shutdown_temp:" +#define CONFIG_PS_ACTIVE_HIGH "ps_active_high:" +#define CONFIG_PS_AUTO_SHUTDOWN "ps_auto_shutdown:" +#define CONFIG_PS_AUTO_SHUTDOWN_TEMP "ps_auto_shutdown_temp:" //-----------------------------Filament Runout Settings (only if connected to TFT controller) -#define CONFIG_FIL_RUNOUT "fil_runout:" -#define CONFIG_FIL_RUNOUT_INVERTED "fil_runout_inverted:" -#define CONFIG_FIL_RUNOUT_NC "fil_runout_nc:" -#define CONFIG_FIL_RUNOUT_NOISE "fil_runout_noise_threshold:" -#define CONFIG_FIL_RUNOUT_DISTANCE "fil_runout_distance:" +#define CONFIG_FIL_RUNOUT "fil_runout:" +#define CONFIG_FIL_RUNOUT_INVERTED "fil_runout_inverted:" +#define CONFIG_FIL_RUNOUT_NC "fil_runout_nc:" +#define CONFIG_FIL_RUNOUT_NOISE "fil_runout_noise_threshold:" +#define CONFIG_FIL_RUNOUT_DISTANCE "fil_runout_distance:" //-----------------------------Power Loss Recovery & BTT UPS Settings -#define CONFIG_PL_RECOVERY "pl_recovery:" -#define CONFIG_PL_RECOVERY_HOME "pl_recovery_home:" -#define CONFIG_PL_RECOVERY_Z_RAISE "pl_recovery_z_raise:" -#define CONFIG_BTT_MINI_UPS "btt_mini_ups:" +#define CONFIG_PL_RECOVERY "pl_recovery:" +#define CONFIG_PL_RECOVERY_HOME "pl_recovery_home:" +#define CONFIG_PL_RECOVERY_Z_RAISE "pl_recovery_z_raise:" +#define CONFIG_BTT_MINI_UPS "btt_mini_ups:" //-----------------------------Other Device-Specific Settings -#define CONFIG_TOUCH_SOUND "touch_sound:" -#define CONFIG_TOAST_SOUND "toast_sound:" -#define CONFIG_ALERT_SOUND "alert_sound:" -#define CONFIG_HEATER_SOUND "heater_sound:" -#define CONFIG_LCD_BRIGHTNESS "lcd_brightness:" -#define CONFIG_LCD_IDLE_BRIGHTNESS "lcd_idle_brightness:" -#define CONFIG_LCD_IDLE_TIME "lcd_idle_time:" -#define CONFIG_LCD_LOCK_ON_IDLE "lcd_lock_on_idle:" -#define CONFIG_LED_COLOR "led_color:" -#define CONFIG_LED_ALWAYS_ON "led_always_on:" -#define CONFIG_KNOB_LED_COLOR "knob_led_color:" -#define CONFIG_KNOB_LED_IDLE "knob_led_idle:" -#define CONFIG_NEOPIXEL_PIXELS "neopixel_pixels:" +#define CONFIG_TOUCH_SOUND "touch_sound:" +#define CONFIG_TOAST_SOUND "toast_sound:" +#define CONFIG_ALERT_SOUND "alert_sound:" +#define CONFIG_HEATER_SOUND "heater_sound:" +#define CONFIG_LCD_BRIGHTNESS "lcd_brightness:" +#define CONFIG_LCD_IDLE_BRIGHTNESS "lcd_idle_brightness:" +#define CONFIG_LCD_IDLE_TIME "lcd_idle_time:" +#define CONFIG_LCD_LOCK_ON_IDLE "lcd_lock_on_idle:" +#define CONFIG_LED_COLOR "led_color:" +#define CONFIG_LED_ALWAYS_ON "led_always_on:" +#define CONFIG_KNOB_LED_COLOR "knob_led_color:" +#define CONFIG_KNOB_LED_IDLE "knob_led_idle:" +#define CONFIG_NEOPIXEL_PIXELS "neopixel_pixels:" //-----------------------------Custom G-code Commands -#define CONFIG_CUSTOM_LABEL_1 "custom_label_1:" -#define CONFIG_CUSTOM_LABEL_2 "custom_label_2:" -#define CONFIG_CUSTOM_LABEL_3 "custom_label_3:" -#define CONFIG_CUSTOM_LABEL_4 "custom_label_4:" -#define CONFIG_CUSTOM_LABEL_5 "custom_label_5:" -#define CONFIG_CUSTOM_LABEL_6 "custom_label_6:" -#define CONFIG_CUSTOM_LABEL_7 "custom_label_7:" -#define CONFIG_CUSTOM_LABEL_8 "custom_label_8:" -#define CONFIG_CUSTOM_LABEL_9 "custom_label_9:" -#define CONFIG_CUSTOM_LABEL_10 "custom_label_10:" -#define CONFIG_CUSTOM_LABEL_11 "custom_label_11:" -#define CONFIG_CUSTOM_LABEL_12 "custom_label_12:" -#define CONFIG_CUSTOM_LABEL_13 "custom_label_13:" -#define CONFIG_CUSTOM_LABEL_14 "custom_label_14:" -#define CONFIG_CUSTOM_LABEL_15 "custom_label_15:" -#define CONFIG_CUSTOM_GCODE_1 "custom_gcode_1:" -#define CONFIG_CUSTOM_GCODE_2 "custom_gcode_2:" -#define CONFIG_CUSTOM_GCODE_3 "custom_gcode_3:" -#define CONFIG_CUSTOM_GCODE_4 "custom_gcode_4:" -#define CONFIG_CUSTOM_GCODE_5 "custom_gcode_5:" -#define CONFIG_CUSTOM_GCODE_6 "custom_gcode_6:" -#define CONFIG_CUSTOM_GCODE_7 "custom_gcode_7:" -#define CONFIG_CUSTOM_GCODE_8 "custom_gcode_8:" -#define CONFIG_CUSTOM_GCODE_9 "custom_gcode_9:" -#define CONFIG_CUSTOM_GCODE_10 "custom_gcode_10:" -#define CONFIG_CUSTOM_GCODE_11 "custom_gcode_11:" -#define CONFIG_CUSTOM_GCODE_12 "custom_gcode_12:" -#define CONFIG_CUSTOM_GCODE_13 "custom_gcode_13:" -#define CONFIG_CUSTOM_GCODE_14 "custom_gcode_14:" -#define CONFIG_CUSTOM_GCODE_15 "custom_gcode_15:" +#define CONFIG_CUSTOM_LABEL_1 "custom_label_1:" +#define CONFIG_CUSTOM_LABEL_2 "custom_label_2:" +#define CONFIG_CUSTOM_LABEL_3 "custom_label_3:" +#define CONFIG_CUSTOM_LABEL_4 "custom_label_4:" +#define CONFIG_CUSTOM_LABEL_5 "custom_label_5:" +#define CONFIG_CUSTOM_LABEL_6 "custom_label_6:" +#define CONFIG_CUSTOM_LABEL_7 "custom_label_7:" +#define CONFIG_CUSTOM_LABEL_8 "custom_label_8:" +#define CONFIG_CUSTOM_LABEL_9 "custom_label_9:" +#define CONFIG_CUSTOM_LABEL_10 "custom_label_10:" +#define CONFIG_CUSTOM_LABEL_11 "custom_label_11:" +#define CONFIG_CUSTOM_LABEL_12 "custom_label_12:" +#define CONFIG_CUSTOM_LABEL_13 "custom_label_13:" +#define CONFIG_CUSTOM_LABEL_14 "custom_label_14:" +#define CONFIG_CUSTOM_LABEL_15 "custom_label_15:" +#define CONFIG_CUSTOM_GCODE_1 "custom_gcode_1:" +#define CONFIG_CUSTOM_GCODE_2 "custom_gcode_2:" +#define CONFIG_CUSTOM_GCODE_3 "custom_gcode_3:" +#define CONFIG_CUSTOM_GCODE_4 "custom_gcode_4:" +#define CONFIG_CUSTOM_GCODE_5 "custom_gcode_5:" +#define CONFIG_CUSTOM_GCODE_6 "custom_gcode_6:" +#define CONFIG_CUSTOM_GCODE_7 "custom_gcode_7:" +#define CONFIG_CUSTOM_GCODE_8 "custom_gcode_8:" +#define CONFIG_CUSTOM_GCODE_9 "custom_gcode_9:" +#define CONFIG_CUSTOM_GCODE_10 "custom_gcode_10:" +#define CONFIG_CUSTOM_GCODE_11 "custom_gcode_11:" +#define CONFIG_CUSTOM_GCODE_12 "custom_gcode_12:" +#define CONFIG_CUSTOM_GCODE_13 "custom_gcode_13:" +#define CONFIG_CUSTOM_GCODE_14 "custom_gcode_14:" +#define CONFIG_CUSTOM_GCODE_15 "custom_gcode_15:" //-----------------------------Start, End & Cancel G-code Commands -#define CONFIG_START_GCODE_ENABLED "start_gcode_enabled:" -#define CONFIG_END_GCODE_ENABLED "end_gcode_enabled:" -#define CONFIG_CANCEL_GCODE_ENABLED "cancel_gcode_enabled:" -#define CONFIG_START_GCODE "start_gcode:" -#define CONFIG_END_GCODE "end_gcode:" -#define CONFIG_CANCEL_GCODE "cancel_gcode:" +#define CONFIG_START_GCODE_ENABLED "start_gcode_enabled:" +#define CONFIG_END_GCODE_ENABLED "end_gcode_enabled:" +#define CONFIG_CANCEL_GCODE_ENABLED "cancel_gcode_enabled:" +#define CONFIG_START_GCODE "start_gcode:" +#define CONFIG_END_GCODE "end_gcode:" +#define CONFIG_CANCEL_GCODE "cancel_gcode:" // this list is Auto-Generated. Please add new config in config.inc only enum @@ -1011,7 +1011,7 @@ static void parseConfigKey(uint16_t index) strcpy(configPrintGcodes->start_gcode, pchr); #ifdef CONFIG_DEBUG GUI_DispStringInRect(recterrortxt.x0, recterrortxt.y0 + (BYTE_HEIGHT * 2), recterrortxt.x1, recterrortxt.y1, - (uint8_t *)configPrintGcodes->start_gcode); + (uint8_t *)configPrintGcodes->start_gcode); Delay_ms(1000); Delay_ms(1000); #endif diff --git a/TFT/src/User/API/config.h b/TFT/src/User/API/config.h index 62fa0f225..b4747dce1 100644 --- a/TFT/src/User/API/config.h +++ b/TFT/src/User/API/config.h @@ -11,38 +11,38 @@ extern "C" { #define LINE_MAX_CHAR 200 //-----------------------------Limits -#define MAX_TX_SLOTS 16 // tx slots over this will not be parsed -#define MAX_SIZE_LIMIT 2000 // machine size over this will not be parsed -#define MAX_EXT_SPEED_LIMIT 5000 // extruder speed over this will not be parsed -#define MAX_TOOL_TEMP 1000 // extruder temp over this will not be parsed -#define MAX_BED_TEMP 400 // bed temp over this will not be parsed -#define MAX_CHAMBER_TEMP 200 // bed temp over this will not be parsed -#define MAX_SPEED_LIMIT 12000 // speed over this will not be parsed -#define MAX_RUNOUT_DISTANCE 50 // runout distance over this will not be parsed -#define MAX_DELAY_MS 1800 // time delay (ms) over this will not be parsed -#define MAX_DELAY_SEC 100 // time delay (sec) over this will not be parsed -#define MAX_RETRACT_LIMIT 20 // retract length over this will not be parsed -#define MAX_FAN_SPEED 255 // fan speed (PWM) over this will not be parsed -#define MAX_LED_COLOR_COMP 255 // (neopixel) LED color component over this will not be parsed -#define MAX_NEOPIXEL_PIXELS 200 // neopixel pixels over this will not be parsed - -#define MIN_TX_SLOTS 2 // tx slots less than this will not be parsed -#define MIN_SIZE_LIMIT -2000 // machine size less than this will not be parsed -#define NAME_MIN_LENGTH 3 // minimum name length -#define GCODE_MIN_LENGTH 3 // gcode length less than this will not be parsed -#define MIN_XY_POS_LIMIT -2000 // set a negative minimum position for Delta printers -#define MIN_Z_POS_LIMIT 0 -#define MIN_PROBING_Z_RAISE -2000 // set a negative minimum position for Delta printers -#define MIN_TOOL_TEMP 20 // extruder temp less than this will not be parsed -#define MIN_BED_TEMP 20 // bed temp less than this will not be parsed -#define MIN_CHAMBER_TEMP 20 // chamber temp less than this will not be parsed -#define MIN_RUNOUT_DISTANCE 1 // runout distance less than this will not be parsed -#define MIN_DELAY_MS 10 // time delay (ms) less than this will not be parsed -#define MIN_DELAY_SEC 1 // time delay (sec) less than this will not be parsed -#define MIN_SPEED_LIMIT 10 // speed less than this will not be parsed -#define MIN_RETRACT_LIMIT 0 // retract length less than this will not be parsed -#define MIN_FAN_SPEED 25 // fan speed (PWM) less than this will not be parsed -#define MIN_LED_COLOR_COMP 0 // (neopixel) LED color component less than this will not be parsed +#define MAX_TX_SLOTS 16 // tx slots over this will not be parsed +#define MAX_SIZE_LIMIT 2000 // machine size over this will not be parsed +#define MAX_EXT_SPEED_LIMIT 5000 // extruder speed over this will not be parsed +#define MAX_TOOL_TEMP 1000 // extruder temp over this will not be parsed +#define MAX_BED_TEMP 400 // bed temp over this will not be parsed +#define MAX_CHAMBER_TEMP 200 // bed temp over this will not be parsed +#define MAX_SPEED_LIMIT 12000 // speed over this will not be parsed +#define MAX_RUNOUT_DISTANCE 50 // runout distance over this will not be parsed +#define MAX_DELAY_MS 1800 // time delay (ms) over this will not be parsed +#define MAX_DELAY_SEC 100 // time delay (sec) over this will not be parsed +#define MAX_RETRACT_LIMIT 20 // retract length over this will not be parsed +#define MAX_FAN_SPEED 255 // fan speed (PWM) over this will not be parsed +#define MAX_LED_COLOR_COMP 255 // (neopixel) LED color component over this will not be parsed +#define MAX_NEOPIXEL_PIXELS 200 // neopixel pixels over this will not be parsed + +#define MIN_TX_SLOTS 2 // tx slots less than this will not be parsed +#define MIN_SIZE_LIMIT -2000 // machine size less than this will not be parsed +#define NAME_MIN_LENGTH 3 // minimum name length +#define GCODE_MIN_LENGTH 3 // gcode length less than this will not be parsed +#define MIN_XY_POS_LIMIT -2000 // set a negative minimum position for Delta printers +#define MIN_Z_POS_LIMIT 0 +#define MIN_PROBING_Z_RAISE -2000 // set a negative minimum position for Delta printers +#define MIN_TOOL_TEMP 20 // extruder temp less than this will not be parsed +#define MIN_BED_TEMP 20 // bed temp less than this will not be parsed +#define MIN_CHAMBER_TEMP 20 // chamber temp less than this will not be parsed +#define MIN_RUNOUT_DISTANCE 1 // runout distance less than this will not be parsed +#define MIN_DELAY_MS 10 // time delay (ms) less than this will not be parsed +#define MIN_DELAY_SEC 1 // time delay (sec) less than this will not be parsed +#define MIN_SPEED_LIMIT 10 // speed less than this will not be parsed +#define MIN_RETRACT_LIMIT 0 // retract length less than this will not be parsed +#define MIN_FAN_SPEED 25 // fan speed (PWM) less than this will not be parsed +#define MIN_LED_COLOR_COMP 0 // (neopixel) LED color component less than this will not be parsed void resetConfig(void); bool getConfigFromFile(char * configPath); diff --git a/TFT/src/User/API/coordinate.c b/TFT/src/User/API/coordinate.c index 8b71fb25e..be1a2e353 100644 --- a/TFT/src/User/API/coordinate.c +++ b/TFT/src/User/API/coordinate.c @@ -123,9 +123,9 @@ void coordinateQueryClearSendingWaiting(void) } /** - * @brief query gantry position. + * @brief Query gantry position * @param seconds: Pass 0 to query manually or disable auto report. Pass delay in seconds - * for auto query if available in marlin. + * for auto query if available in marlin */ void coordinateQuery(uint8_t seconds) { // following conditions ordered by importance diff --git a/TFT/src/User/API/menu.c b/TFT/src/User/API/menu.c index 608084a16..26b6df10a 100644 --- a/TFT/src/User/API/menu.c +++ b/TFT/src/User/API/menu.c @@ -6,393 +6,393 @@ #define STATUS_BAR_REFRESH_TIME 2000 // refresh time in ms const GUI_RECT exhibitRect = { -#ifdef PORTRAIT_MODE - // exhibitRect is 2 ICON Space in the Lowest Row and 2 Center column. - 0.5*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2.5*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y -#else // Landscape Mode - // exhibitRect is 2 ICON Space in the Upper Row and 2 Center column. - 1*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y -#endif + #ifdef PORTRAIT_MODE + // exhibitRect is 2 ICON Space in the Lowest Row and 2 Center column. + 0.5*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2.5*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y + #else // Landscape Mode + // exhibitRect is 2 ICON Space in the Upper Row and 2 Center column. + 1*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y + #endif }; // MENU FOR A TEMPERATURE DISPLAY SCREEN (TOOL TEMP, PID, ETC.) static const GUI_RECT rect_of_keysIN[TM_RECT_COUNT] = { -#ifdef PORTRAIT_MODE - // 8 icons area VERTICAL GUI - {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, // decrease - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, // increase - {0*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, // type - - {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, // increment - {1*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, // stop - {2*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, // usually back button - - // 8 labels area - {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {0.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {1.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {0*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, - - {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, - - // title bar area - {0, 0, LCD_WIDTH, ICON_START_Y}, - - // display area - {0.5*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2.5*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y} -#else // Landscape Mode - // 8 icons area DEFAULT LANDSCAPE GUI - {0*ICON_WIDTH+0*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {3*ICON_WIDTH+3*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {3*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - - // 8 labels area - {0*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - - // title bar area - {0, 0, LCD_WIDTH, ICON_START_Y}, - - // display area - {1*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y} -#endif + #ifdef PORTRAIT_MODE + // 8 icons area VERTICAL GUI + {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, // decrease + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, // increase + {0*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, // type + + {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, // increment + {1*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, // stop + {2*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, // usually back button + + // 8 labels area + {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {0.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {1.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {0*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, + + {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, + + // title bar area + {0, 0, LCD_WIDTH, ICON_START_Y}, + + // display area + {0.5*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2.5*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y} + #else // Landscape Mode + // 8 icons area DEFAULT LANDSCAPE GUI + {0*ICON_WIDTH+0*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {3*ICON_WIDTH+3*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {3*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + + // 8 labels area + {0*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + + // title bar area + {0, 0, LCD_WIDTH, ICON_START_Y}, + + // display area + {1*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y} + #endif }; const GUI_RECT rect_of_key[MENU_RECT_COUNT] = { -#ifdef PORTRAIT_MODE - // 3 icons per row 2 rows last row 2 icons VERTICAL GUI - {0*ICON_WIDTH+0*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {1*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - - {0*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - - {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - - // labels area - {0*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - - {0*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, - {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - - {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, -#else // Landscape Mode - // 8 icons area DEFAULT LANDSCAPE GUI - {0*ICON_WIDTH+0*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {1*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {3*ICON_WIDTH+3*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {3*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - - // 8 labels area - {0*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, -#endif + #ifdef PORTRAIT_MODE + // 3 icons per row 2 rows last row 2 icons VERTICAL GUI + {0*ICON_WIDTH+0*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {1*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + + {0*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + + {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + + // labels area + {0*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + + {0*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, + {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + + {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, + #else // Landscape Mode + // 8 icons area DEFAULT LANDSCAPE GUI + {0*ICON_WIDTH+0*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {1*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {3*ICON_WIDTH+3*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {3*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + + // 8 labels area + {0*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + #endif // title bar area {0, 0, LCD_WIDTH, ICON_START_Y} }; const GUI_RECT rect_of_keySS[SS_RECT_COUNT] = { -#ifdef TFT70_V3_0 - // 5 status icons area - {0*SS_ICON_WIDTH+0*SS_SPACE_X+START_X, 0*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*SS_ICON_WIDTH+0*SS_SPACE_X+START_X, 1*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {1*SS_ICON_WIDTH+1*SS_SPACE_X+START_X, 0*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*SS_ICON_WIDTH+1*SS_SPACE_X+START_X, 1*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {2*SS_ICON_WIDTH+2*SS_SPACE_X+START_X, 0*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*SS_ICON_WIDTH+2*SS_SPACE_X+START_X, 1*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {3*SS_ICON_WIDTH+3*SS_SPACE_X+START_X, 0*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*SS_ICON_WIDTH+3*SS_SPACE_X+START_X, 1*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {4*SS_ICON_WIDTH+4*SS_SPACE_X+START_X, 0*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 5*SS_ICON_WIDTH+4*SS_SPACE_X+START_X, 1*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - // 2nd icon row area - {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {0, 0, 0, 0}, - {3*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - - // 8 labels area - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - - // title bar area - {0, 0, LCD_WIDTH, ICON_START_Y}, - - // infobox area - {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y} -#elif defined(PORTRAIT_MODE) - // 3 icons per row 2 rows last row status bar centered VERTICAL GUI - {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - - {0*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {1*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - - // labels area - {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - - {0*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, - {1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, - {0.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {1.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, - - // title bar area - {0, 0, LCD_WIDTH, ICON_START_Y}, - - // infobox area - {0.5*ICON_WIDTH+0*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2.5*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y} -#else // Landscape Mode - // 8 icons area DEFAULT LANDSCAPE GUI - {0*ICON_WIDTH+0*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {1*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {3*ICON_WIDTH+3*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, - {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {3*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - - // 8 labels area - {0*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - - // title bar area - {0, 0, LCD_WIDTH, ICON_START_Y}, - - // infobox area - {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y} -#endif + #ifdef TFT70_V3_0 + // 5 status icons area + {0*SS_ICON_WIDTH+0*SS_SPACE_X+START_X, 0*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*SS_ICON_WIDTH+0*SS_SPACE_X+START_X, 1*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {1*SS_ICON_WIDTH+1*SS_SPACE_X+START_X, 0*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*SS_ICON_WIDTH+1*SS_SPACE_X+START_X, 1*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {2*SS_ICON_WIDTH+2*SS_SPACE_X+START_X, 0*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*SS_ICON_WIDTH+2*SS_SPACE_X+START_X, 1*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {3*SS_ICON_WIDTH+3*SS_SPACE_X+START_X, 0*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*SS_ICON_WIDTH+3*SS_SPACE_X+START_X, 1*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {4*SS_ICON_WIDTH+4*SS_SPACE_X+START_X, 0*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 5*SS_ICON_WIDTH+4*SS_SPACE_X+START_X, 1*SS_ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + // 2nd icon row area + {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {0, 0, 0, 0}, + {3*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + + // 8 labels area + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + + // title bar area + {0, 0, LCD_WIDTH, ICON_START_Y}, + + // infobox area + {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y} + #elif defined(PORTRAIT_MODE) + // 3 icons per row 2 rows last row status bar centered VERTICAL GUI + {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + + {0*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {1*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + + // labels area + {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + + {0*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, + {1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, + {0.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {1.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2.5*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, + + // title bar area + {0, 0, LCD_WIDTH, ICON_START_Y}, + + // infobox area + {0.5*ICON_WIDTH+0*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2.5*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y} + #else // Landscape Mode + // 8 icons area DEFAULT LANDSCAPE GUI + {0*ICON_WIDTH+0*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {1*ICON_WIDTH+1*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {3*ICON_WIDTH+3*SPACE_X+START_X, 0*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y}, + {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {3*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + + // 8 labels area + {0*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + + // title bar area + {0, 0, LCD_WIDTH, ICON_START_Y}, + + // infobox area + {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y} + #endif }; const GUI_RECT rect_of_keyPS[] = { // PS = PRINT SCREEN, This template is used to locate the live icons on the Printing Screen. -#ifdef PORTRAIT_MODE - // hotend area VERTICAL GUI - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, - START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, - // bed area - {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, - START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, - // fan area - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, - START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*1, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+PS_ICON_HEIGHT*1}, - // timer area - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, - START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, - // layer area - {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, - START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, - // speed area - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, - START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*1, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, - - // 1st bottom icon area. - {0*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - // 1 side icon next to layer and speed area - {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - // 2nd and 3rd icon bottom area - {1*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, -#else // Landscape Mode - // hotend area DEFAULT LANDSCAPE GUI - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, - START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, - // bed area - {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, - START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, - // fan area - {START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, - START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2+PS_ICON_SM_WIDTH*1, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, - // timer area - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, - START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, - // layer area - {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, - START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, - // speed area - {START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, - START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2+PS_ICON_SM_WIDTH*1, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, - - // 4 bottom icons area - {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {3*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, -#endif + #ifdef PORTRAIT_MODE + // hotend area VERTICAL GUI + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, + START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, + // bed area + {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, + START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, + // fan area + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, + START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*1, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+PS_ICON_HEIGHT*1}, + // timer area + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, + START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, + // layer area + {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, + START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, + // speed area + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, + START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*1, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, + + // 1st bottom icon area. + {0*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + // 1 side icon next to layer and speed area + {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + // 2nd and 3rd icon bottom area + {1*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + #else // Landscape Mode + // hotend area DEFAULT LANDSCAPE GUI + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, + START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, + // bed area + {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, + START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, + // fan area + {START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, + START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2+PS_ICON_SM_WIDTH*1, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, + // timer area + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, + START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, + // layer area + {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, + START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, + // speed area + {START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, + START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2+PS_ICON_SM_WIDTH*1, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, + + // 4 bottom icons area + {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {3*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + #endif // title bar area {0, 0, LCD_WIDTH, ICON_START_Y} }; #ifdef PORTRAIT_MODE -static const GUI_RECT rect_of_keyPS_draw[] = { // VERTICAL GUI Printing menu for drawing UI - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - // 1st bottom icon - {0*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - // 1 side icon next to layer and speed area (babystep icon) - {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - // 2nd and 3rd bottom icon - {1*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - - // labels - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - // 1st bottom icon - {0*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, - // 1 side icon next to layer and speed area - {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - // 2nd and 3rd bottom icon - {1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, - {2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, - - // title bar area - {0, 0, LCD_WIDTH, ICON_START_Y} -}; + static const GUI_RECT rect_of_keyPS_draw[] = { // VERTICAL GUI Printing menu for drawing UI + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + // 1st bottom icon + {0*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + // 1 side icon next to layer and speed area (babystep icon) + {2*ICON_WIDTH+2*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + // 2nd and 3rd bottom icon + {1*ICON_WIDTH+1*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*ICON_WIDTH+1*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + + // labels + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + // 1st bottom icon + {0*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, + // 1 side icon next to layer and speed area + {2*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + // 2nd and 3rd bottom icon + {1*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, + {2*SPACE_X_PER_ICON, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*SPACE_X_PER_ICON, 3*ICON_HEIGHT+3*SPACE_Y+ICON_START_Y}, + + // title bar area + {0, 0, LCD_WIDTH, ICON_START_Y} + }; #endif const GUI_RECT rect_of_keyPS_end[] = { -#ifdef PORTRAIT_MODE - // hotend area VERTICAL GUI - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, - START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, - // bed area - {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, - START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, - // fan area - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, - START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*1, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+PS_ICON_HEIGHT*1}, - // timer area - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, - START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, - // layer area - {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, - START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, - // speed area - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, - START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*1, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, - - // 1st bottom icon - {0*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - // 1 side icon next to layer and speed area - {0, 0, 0, 0}, - // 2nd and 3rd icon bottom area - {0, 0, 0, 0}, - {2*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, - - // title bar area - {0, 0, LCD_WIDTH, ICON_START_Y}, - - // infobox - {0, 0, 0, 0} -#else // Landscape Mode - // hotend area DEFAULT LANDSCAPE GUI - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, - START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, - // bed area - {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, - START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, - // fan area - {START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, - START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2+PS_ICON_SM_WIDTH*1, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, - // timer area - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, - START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, - // layer area - {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, - START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, - // speed area - {START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, - START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2+PS_ICON_SM_WIDTH*1, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, - - // 4 bottom icons area - {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {3*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, - - // title bar area - {0, 0, LCD_WIDTH, ICON_START_Y}, - - // infobox - {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y} -#endif + #ifdef PORTRAIT_MODE + // hotend area VERTICAL GUI + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, + START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, + // bed area + {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, + START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, + // fan area + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, + START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*1, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+PS_ICON_HEIGHT*1}, + // timer area + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, + START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, + // layer area + {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, + START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, + // speed area + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, + START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*1, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, + + // 1st bottom icon + {0*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + // 1 side icon next to layer and speed area + {0, 0, 0, 0}, + // 2nd and 3rd icon bottom area + {0, 0, 0, 0}, + {2*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 3*ICON_HEIGHT+2*SPACE_Y+ICON_START_Y}, + + // title bar area + {0, 0, LCD_WIDTH, ICON_START_Y}, + + // infobox + {0, 0, 0, 0} + #else // Landscape Mode + // hotend area DEFAULT LANDSCAPE GUI + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, + START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, + // bed area + {START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*1, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, + START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, + // fan area + {START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2, PS_ICON_START_Y+PS_ICON_HEIGHT*0+PS_ICON_SPACE_Y*0, + START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2+PS_ICON_SM_WIDTH*1, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*0}, + // timer area + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, + START_X+PS_ICON_LG_WIDTH*1+PS_ICON_SPACE_X*0+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, + // layer area + {START_X+PS_ICON_LG_WIDTH*0+PS_ICON_SPACE_X*0, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, + START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*1+PS_ICON_SM_WIDTH*0, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, + // speed area + {START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2, PS_ICON_START_Y+PS_ICON_HEIGHT*1+PS_ICON_SPACE_Y*1, + START_X+PS_ICON_LG_WIDTH*2+PS_ICON_SPACE_X*2+PS_ICON_SM_WIDTH*1, PS_ICON_START_Y+PS_ICON_HEIGHT*2+PS_ICON_SPACE_Y*1}, + + // 4 bottom icons area + {0*ICON_WIDTH+0*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 1*ICON_WIDTH+0*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + {0, 0, 0, 0}, + {0, 0, 0, 0}, + {3*ICON_WIDTH+3*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 4*ICON_WIDTH+3*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y}, + + // title bar area + {0, 0, LCD_WIDTH, ICON_START_Y}, + + // infobox + {1*ICON_WIDTH+1*SPACE_X+START_X, 1*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y, 3*ICON_WIDTH+2*SPACE_X+START_X, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y} + #endif }; static const GUI_RECT rect_of_keyListView[ITEM_PER_PAGE + 1] = { -#ifdef PORTRAIT_MODE - // list area VERTICAL GUI - {START_X, 0*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 1*LISTITEM_HEIGHT+ICON_START_Y}, - {START_X, 1*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 2*LISTITEM_HEIGHT+ICON_START_Y}, - {START_X, 2*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 3*LISTITEM_HEIGHT+ICON_START_Y}, - {START_X, 3*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 4*LISTITEM_HEIGHT+ICON_START_Y}, - {START_X, 4*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 5*LISTITEM_HEIGHT+ICON_START_Y}, - - // navigation button area - {START_X, 5*LISTITEM_HEIGHT+ICON_START_Y, START_X+1*LIST_ICON_WIDTH, 5*LISTITEM_HEIGHT+ICON_START_Y+1*LIST_ICON_HEIGHT}, - {START_X+1.5*LIST_ICON_WIDTH, 5*LISTITEM_HEIGHT+ICON_START_Y, START_X+2.5*LIST_ICON_WIDTH, 5*LISTITEM_HEIGHT+ICON_START_Y+1*LIST_ICON_HEIGHT}, - {LCD_WIDTH-START_X-1*LIST_ICON_WIDTH, 5*LISTITEM_HEIGHT+ICON_START_Y, LCD_WIDTH-START_X, 5*LISTITEM_HEIGHT+ICON_START_Y+1*LIST_ICON_HEIGHT}, -#else // Landscape Mode - // list area DEFAULT LANDSCAPE GUI - {START_X, 0*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 1*LISTITEM_HEIGHT+ICON_START_Y}, - {START_X, 1*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 2*LISTITEM_HEIGHT+ICON_START_Y}, - {START_X, 2*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 3*LISTITEM_HEIGHT+ICON_START_Y}, - {START_X, 3*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 4*LISTITEM_HEIGHT+ICON_START_Y}, - {START_X, 4*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 5*LISTITEM_HEIGHT+ICON_START_Y}, - - // navigation button area - {2*START_X + LISTITEM_WIDTH, 0*LIST_ICON_HEIGHT+0*LISTICON_SPACE_Y+ICON_START_Y, 2*START_X + LISTITEM_WIDTH + 1*LIST_ICON_WIDTH, 1*LIST_ICON_HEIGHT+0*LISTICON_SPACE_Y+ICON_START_Y}, - {2*START_X + LISTITEM_WIDTH, 1*LIST_ICON_HEIGHT+1*LISTICON_SPACE_Y+ICON_START_Y, 2*START_X + LISTITEM_WIDTH + 1*LIST_ICON_WIDTH, 2*LIST_ICON_HEIGHT+1*LISTICON_SPACE_Y+ICON_START_Y}, - {2*START_X + LISTITEM_WIDTH, 2*LIST_ICON_HEIGHT+2*LISTICON_SPACE_Y+ICON_START_Y, 2*START_X + LISTITEM_WIDTH + 1*LIST_ICON_WIDTH, 3*LIST_ICON_HEIGHT+2*LISTICON_SPACE_Y+ICON_START_Y}, -#endif + #ifdef PORTRAIT_MODE + // list area VERTICAL GUI + {START_X, 0*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 1*LISTITEM_HEIGHT+ICON_START_Y}, + {START_X, 1*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 2*LISTITEM_HEIGHT+ICON_START_Y}, + {START_X, 2*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 3*LISTITEM_HEIGHT+ICON_START_Y}, + {START_X, 3*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 4*LISTITEM_HEIGHT+ICON_START_Y}, + {START_X, 4*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 5*LISTITEM_HEIGHT+ICON_START_Y}, + + // navigation button area + {START_X, 5*LISTITEM_HEIGHT+ICON_START_Y, START_X+1*LIST_ICON_WIDTH, 5*LISTITEM_HEIGHT+ICON_START_Y+1*LIST_ICON_HEIGHT}, + {START_X+1.5*LIST_ICON_WIDTH, 5*LISTITEM_HEIGHT+ICON_START_Y, START_X+2.5*LIST_ICON_WIDTH, 5*LISTITEM_HEIGHT+ICON_START_Y+1*LIST_ICON_HEIGHT}, + {LCD_WIDTH-START_X-1*LIST_ICON_WIDTH, 5*LISTITEM_HEIGHT+ICON_START_Y, LCD_WIDTH-START_X, 5*LISTITEM_HEIGHT+ICON_START_Y+1*LIST_ICON_HEIGHT}, + #else // Landscape Mode + // list area DEFAULT LANDSCAPE GUI + {START_X, 0*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 1*LISTITEM_HEIGHT+ICON_START_Y}, + {START_X, 1*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 2*LISTITEM_HEIGHT+ICON_START_Y}, + {START_X, 2*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 3*LISTITEM_HEIGHT+ICON_START_Y}, + {START_X, 3*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 4*LISTITEM_HEIGHT+ICON_START_Y}, + {START_X, 4*LISTITEM_HEIGHT+ICON_START_Y, LISTITEM_WIDTH+START_X, 5*LISTITEM_HEIGHT+ICON_START_Y}, + + // navigation button area + {2*START_X + LISTITEM_WIDTH, 0*LIST_ICON_HEIGHT+0*LISTICON_SPACE_Y+ICON_START_Y, 2*START_X + LISTITEM_WIDTH + 1*LIST_ICON_WIDTH, 1*LIST_ICON_HEIGHT+0*LISTICON_SPACE_Y+ICON_START_Y}, + {2*START_X + LISTITEM_WIDTH, 1*LIST_ICON_HEIGHT+1*LISTICON_SPACE_Y+ICON_START_Y, 2*START_X + LISTITEM_WIDTH + 1*LIST_ICON_WIDTH, 2*LIST_ICON_HEIGHT+1*LISTICON_SPACE_Y+ICON_START_Y}, + {2*START_X + LISTITEM_WIDTH, 2*LIST_ICON_HEIGHT+2*LISTICON_SPACE_Y+ICON_START_Y, 2*START_X + LISTITEM_WIDTH + 1*LIST_ICON_WIDTH, 3*LIST_ICON_HEIGHT+2*LISTICON_SPACE_Y+ICON_START_Y}, + #endif // title bar area {0, 0, LCD_WIDTH, ICON_START_Y} }; @@ -405,149 +405,154 @@ const GUI_RECT rect_of_titleBar[] = { // clean up the gaps outside icons static void menuClearGaps(void) { -#ifdef TFT70_V3_0 - const GUI_RECT gapsMenu[] = { - {0, 0, LCD_WIDTH, TITLE_END_Y}, - {0, TITLE_END_Y, LCD_WIDTH, rect_of_key[0].y0}, - {0, rect_of_key[0].y0, rect_of_key[0].x0, LCD_HEIGHT}, - {rect_of_key[0].x1, rect_of_key[0].y0, rect_of_key[1].x0, LCD_HEIGHT}, - {rect_of_key[1].x1, rect_of_key[0].y0, rect_of_key[2].x0, LCD_HEIGHT}, - {rect_of_key[2].x1, rect_of_key[0].y0, rect_of_key[3].x0, LCD_HEIGHT}, - {rect_of_key[3].x1, rect_of_key[0].y0, LCD_WIDTH, LCD_HEIGHT} - }; - - const GUI_RECT gapsSS[] = { - {0, 0, LCD_WIDTH, TITLE_END_Y}, - {0, TITLE_END_Y, LCD_WIDTH, rect_of_keySS[0].y0}, - {0, rect_of_keySS[0].y0, rect_of_keySS[0].x0, LCD_HEIGHT}, - {rect_of_keySS[4].y0, rect_of_keySS[0].y0, LCD_WIDTH, LCD_HEIGHT}, - - // 1ST ROW - {rect_of_keySS[0].x1, rect_of_keySS[0].y0, rect_of_keySS[1].x0, rect_of_keySS[0].y1}, - {rect_of_keySS[1].x1, rect_of_keySS[0].y0, rect_of_keySS[2].x0, rect_of_keySS[0].y1}, - {rect_of_keySS[2].x1, rect_of_keySS[0].y0, rect_of_keySS[3].x0, rect_of_keySS[0].y1}, - {rect_of_keySS[3].x1, rect_of_keySS[0].y0, rect_of_keySS[4].x0, rect_of_keySS[0].y1}, - - // gantry rect - {rect_of_keySS[0].x0, rect_of_keySS[0].y1, rect_of_keySS[7].x0, rect_of_keySS[7].y0}, - - // 2ND ROW - {rect_of_keySS[5].x1, rect_of_keySS[5].y0, rect_of_keySS[17].x0, rect_of_keySS[5].y1}, - {rect_of_keySS[17].x1, rect_of_keySS[5].y0, rect_of_keySS[7].x0, rect_of_keySS[5].y1} - }; - - GUI_SetBkColor(infoSettings.title_bg_color); - - if (MENU_IS(menuStatus) || ((MENU_IS(menuPrinting)) && !isPrinting())) - GUI_ClearPrect(gapsSS); - else - GUI_ClearPrect(gapsMenu); + #ifdef TFT70_V3_0 + const GUI_RECT gapsMenu[] = { + {0, 0, LCD_WIDTH, TITLE_END_Y}, + {0, TITLE_END_Y, LCD_WIDTH, rect_of_key[0].y0}, + {0, rect_of_key[0].y0, rect_of_key[0].x0, LCD_HEIGHT}, + {rect_of_key[0].x1, rect_of_key[0].y0, rect_of_key[1].x0, LCD_HEIGHT}, + {rect_of_key[1].x1, rect_of_key[0].y0, rect_of_key[2].x0, LCD_HEIGHT}, + {rect_of_key[2].x1, rect_of_key[0].y0, rect_of_key[3].x0, LCD_HEIGHT}, + {rect_of_key[3].x1, rect_of_key[0].y0, LCD_WIDTH, LCD_HEIGHT} + }; + + const GUI_RECT gapsSS[] = { + {0, 0, LCD_WIDTH, TITLE_END_Y}, + {0, TITLE_END_Y, LCD_WIDTH, rect_of_keySS[0].y0}, + {0, rect_of_keySS[0].y0, rect_of_keySS[0].x0, LCD_HEIGHT}, + {rect_of_keySS[4].y0, rect_of_keySS[0].y0, LCD_WIDTH, LCD_HEIGHT}, + + // 1ST ROW + {rect_of_keySS[0].x1, rect_of_keySS[0].y0, rect_of_keySS[1].x0, rect_of_keySS[0].y1}, + {rect_of_keySS[1].x1, rect_of_keySS[0].y0, rect_of_keySS[2].x0, rect_of_keySS[0].y1}, + {rect_of_keySS[2].x1, rect_of_keySS[0].y0, rect_of_keySS[3].x0, rect_of_keySS[0].y1}, + {rect_of_keySS[3].x1, rect_of_keySS[0].y0, rect_of_keySS[4].x0, rect_of_keySS[0].y1}, + + // gantry rect + {rect_of_keySS[0].x0, rect_of_keySS[0].y1, rect_of_keySS[7].x0, rect_of_keySS[7].y0}, + + // 2ND ROW + {rect_of_keySS[5].x1, rect_of_keySS[5].y0, rect_of_keySS[17].x0, rect_of_keySS[5].y1}, + {rect_of_keySS[17].x1, rect_of_keySS[5].y0, rect_of_keySS[7].x0, rect_of_keySS[5].y1} + }; + + GUI_SetBkColor(infoSettings.title_bg_color); + + if (MENU_IS(menuStatus) || ((MENU_IS(menuPrinting)) && !isPrinting())) + GUI_ClearPrect(gapsSS); + else + GUI_ClearPrect(gapsMenu); - GUI_SetBkColor(infoSettings.bg_color); + GUI_SetBkColor(infoSettings.bg_color); - if (MENU_IS(menuStatus) || ((MENU_IS(menuPrinting)) && !isPrinting())) - { - for (uint8_t i = 1; i < COUNT(gapsSS); i++) + if (MENU_IS(menuStatus) || ((MENU_IS(menuPrinting)) && !isPrinting())) { - GUI_ClearPrect(gapsSS + i); + for (uint8_t i = 1; i < COUNT(gapsSS); i++) + { + GUI_ClearPrect(gapsSS + i); + } } - } - else - { - for (uint8_t i = 1; i < COUNT(gapsMenu); i++) + else { - GUI_ClearPrect(gapsMenu + i); + for (uint8_t i = 1; i < COUNT(gapsMenu); i++) + { + GUI_ClearPrect(gapsMenu + i); + } } - } -#elif defined(PORTRAIT_MODE) // clear gaps on Portrait Mode except TFT70 - const GUI_RECT gaps[] = { - {0, 0, LCD_WIDTH, TITLE_END_Y}, - {0, TITLE_END_Y, LCD_WIDTH, rect_of_key[0].y0}, - - {0, rect_of_key[0].y0, rect_of_key[0].x0, rect_of_key[6].y0}, - {rect_of_key[0].x1, rect_of_key[0].y0, rect_of_key[1].x0, rect_of_key[6].y0}, - {rect_of_key[1].x1, rect_of_key[0].y0, rect_of_key[2].x0, rect_of_key[6].y0}, - {rect_of_key[2].x1, rect_of_key[0].y0, LCD_WIDTH, rect_of_key[6].y0}, - - {0, rect_of_key[6].y0, rect_of_key[6].x0, LCD_HEIGHT}, - {rect_of_key[6].x1, rect_of_key[6].y0, rect_of_key[7].x0, LCD_HEIGHT}, - {rect_of_key[7].x1, rect_of_key[6].y0, LCD_WIDTH, LCD_HEIGHT} - }; - - const GUI_RECT gapsSS[] = { - {0, 0, LCD_WIDTH, TITLE_END_Y}, - {0, TITLE_END_Y, LCD_WIDTH, rect_of_keySS[0].y0}, + #elif defined(PORTRAIT_MODE) // clear gaps on Portrait Mode except TFT70 + const GUI_RECT gaps[] = { + {0, 0, LCD_WIDTH, TITLE_END_Y}, + {0, TITLE_END_Y, LCD_WIDTH, rect_of_key[0].y0}, + + {0, rect_of_key[0].y0, rect_of_key[0].x0, rect_of_key[6].y0}, + {rect_of_key[0].x1, rect_of_key[0].y0, rect_of_key[1].x0, rect_of_key[6].y0}, + {rect_of_key[1].x1, rect_of_key[0].y0, rect_of_key[2].x0, rect_of_key[6].y0}, + {rect_of_key[2].x1, rect_of_key[0].y0, LCD_WIDTH, rect_of_key[6].y0}, + + {0, rect_of_key[6].y0, rect_of_key[6].x0, LCD_HEIGHT}, + {rect_of_key[6].x1, rect_of_key[6].y0, rect_of_key[7].x0, LCD_HEIGHT}, + {rect_of_key[7].x1, rect_of_key[6].y0, LCD_WIDTH, LCD_HEIGHT} + }; + + const GUI_RECT gapsSS[] = { + {0, 0, LCD_WIDTH, TITLE_END_Y}, + {0, TITLE_END_Y, LCD_WIDTH, rect_of_keySS[0].y0}, + + {0, rect_of_keySS[17].y0, rect_of_keySS[0].x0, rect_of_keySS[0].y0}, + {rect_of_keySS[17].x1, rect_of_keySS[17].y0, LCD_WIDTH, rect_of_keySS[0].y0}, + + {0, rect_of_keySS[0].y0, rect_of_keySS[0].x0, LCD_HEIGHT}, + {rect_of_keySS[0].x1, rect_of_keySS[0].y0, rect_of_keySS[1].x0, LCD_HEIGHT}, + {rect_of_keySS[1].x1, rect_of_keySS[0].y0, rect_of_keySS[2].x0, LCD_HEIGHT}, + {rect_of_keySS[2].x1, rect_of_keySS[0].y0, LCD_WIDTH, LCD_HEIGHT}, + }; - {0, rect_of_keySS[17].y0, rect_of_keySS[0].x0, rect_of_keySS[0].y0}, - {rect_of_keySS[17].x1, rect_of_keySS[17].y0, LCD_WIDTH, rect_of_keySS[0].y0}, - - {0, rect_of_keySS[0].y0, rect_of_keySS[0].x0, LCD_HEIGHT}, - {rect_of_keySS[0].x1, rect_of_keySS[0].y0, rect_of_keySS[1].x0, LCD_HEIGHT}, - {rect_of_keySS[1].x1, rect_of_keySS[0].y0, rect_of_keySS[2].x0, LCD_HEIGHT}, - {rect_of_keySS[2].x1, rect_of_keySS[0].y0, LCD_WIDTH, LCD_HEIGHT}, - }; + if (MENU_IS(menuPrinting)) + { + GUI_Clear(MENU_BACKGROUND_COLOR); + } + else if ((MENU_IS(menuStatus)) || + (MENU_IS(menuHeat)) || + (MENU_IS(menuLoadUnload)) || + (MENU_IS(menuMPC)) || + (MENU_IS(menuPid)) || + (MENU_IS(menuTuneExtruder)) || + (MENU_IS(menuFan)) || + (MENU_IS(menuExtrude)) || + (MENU_IS(menuSpeed)) || + (MENU_IS(menuZOffset)) || + (MENU_IS(menuMBL)) || + (MENU_IS(menuBabystep)) || + (MENU_IS(menuMeshEditor))) + { + GUI_ClearPrect(gapsSS); + GUI_SetBkColor(infoSettings.bg_color); - if (MENU_IS(menuPrinting)) - { - GUI_Clear(MENU_BACKGROUND_COLOR); - } - else if ((MENU_IS(menuStatus)) || - (MENU_IS(menuHeat)) || - (MENU_IS(menuLoadUnload)) || - (MENU_IS(menuMPC)) || - (MENU_IS(menuPid)) || - (MENU_IS(menuTuneExtruder)) || - (MENU_IS(menuFan)) || - (MENU_IS(menuExtrude)) || - (MENU_IS(menuSpeed)) || - (MENU_IS(menuZOffset)) || - (MENU_IS(menuMBL)) || - (MENU_IS(menuBabystep)) || - (MENU_IS(menuMeshEditor))) - { - GUI_ClearPrect(gapsSS); - GUI_SetBkColor(infoSettings.bg_color); + for (uint8_t i = 1; i < COUNT(gapsSS); i++) + { + GUI_ClearPrect(gapsSS + i); + } + } + else + { + GUI_ClearPrect(gaps); + GUI_SetBkColor(infoSettings.bg_color); - for (uint8_t i = 1; i < COUNT(gapsSS); i++) - GUI_ClearPrect(gapsSS + i); - } - else - { + for (uint8_t i = 1; i < COUNT(gaps); i++) + { + GUI_ClearPrect(gaps + i); + } + } + #else // clear gaps on Landscape Mode except TFT70 + const GUI_RECT gaps[] = { + {0, 0, LCD_WIDTH, TITLE_END_Y}, + {0, TITLE_END_Y, LCD_WIDTH, rect_of_key[0].y0}, + {0, rect_of_key[0].y0, rect_of_key[0].x0, LCD_HEIGHT}, + {rect_of_key[0].x1, rect_of_key[0].y0, rect_of_key[1].x0, LCD_HEIGHT}, + {rect_of_key[1].x1, rect_of_key[0].y0, rect_of_key[2].x0, LCD_HEIGHT}, + {rect_of_key[2].x1, rect_of_key[0].y0, rect_of_key[3].x0, LCD_HEIGHT}, + {rect_of_key[3].x1, rect_of_key[0].y0, LCD_WIDTH, LCD_HEIGHT} + }; + + GUI_SetBkColor(infoSettings.title_bg_color); GUI_ClearPrect(gaps); GUI_SetBkColor(infoSettings.bg_color); for (uint8_t i = 1; i < COUNT(gaps); i++) + { GUI_ClearPrect(gaps + i); - } -#else // clear gaps on Landscape Mode except TFT70 - const GUI_RECT gaps[] = { - {0, 0, LCD_WIDTH, TITLE_END_Y}, - {0, TITLE_END_Y, LCD_WIDTH, rect_of_key[0].y0}, - {0, rect_of_key[0].y0, rect_of_key[0].x0, LCD_HEIGHT}, - {rect_of_key[0].x1, rect_of_key[0].y0, rect_of_key[1].x0, LCD_HEIGHT}, - {rect_of_key[1].x1, rect_of_key[0].y0, rect_of_key[2].x0, LCD_HEIGHT}, - {rect_of_key[2].x1, rect_of_key[0].y0, rect_of_key[3].x0, LCD_HEIGHT}, - {rect_of_key[3].x1, rect_of_key[0].y0, LCD_WIDTH, LCD_HEIGHT} - }; - - GUI_SetBkColor(infoSettings.title_bg_color); - GUI_ClearPrect(gaps); - GUI_SetBkColor(infoSettings.bg_color); - - for (uint8_t i = 1; i < COUNT(gaps); i++) - GUI_ClearPrect(gaps + i); -#endif + } + #endif } -static const MENUITEMS * curMenuItems = NULL; // current menu -static const LISTITEMS * curListItems = NULL; // current listmenu - +static const MENUITEMS * curMenuItems = NULL; // current menu +static const LISTITEMS * curListItems = NULL; // current listmenu +static const LABEL * curTitle = NULL; // current menu title +static const GUI_RECT * curRect = NULL; // current menu layout grid static const void (* curMenuRedrawHandle)(void) = NULL; // current custom menu -static MENU_TYPE menuType = MENU_TYPE_ICON; -static const LABEL * curTitle = NULL; -static const GUI_RECT * curRect = NULL; // current menu layout grid -static uint16_t curRectCount = 0; // current menu layout rect count +static MENU_TYPE menuType = MENU_TYPE_ICON; // current menu layout type +static uint16_t curRectCount = 0; // current menu layout rect count static struct { @@ -596,6 +601,7 @@ void setReminderMsg(int16_t inf, SYS_STATUS status) if (reminder.status != SYS_STATUS_IDLE) { reminder.status = SYS_STATUS_IDLE; + menuDrawTitle(); } @@ -603,7 +609,8 @@ void setReminderMsg(int16_t inf, SYS_STATUS status) reminder.status = status; reminder.time = OS_GetTimeMs() + STATUS_BAR_REFRESH_TIME; - if (menuType != MENU_TYPE_FULLSCREEN) drawReminderMsg(); + if (menuType != MENU_TYPE_FULLSCREEN) + drawReminderMsg(); } void loopReminderManage(void) @@ -634,6 +641,7 @@ void loopReminderManage(void) else { // clear status message reminder.status = SYS_STATUS_IDLE; + menuDrawTitle(); } } @@ -645,6 +653,7 @@ void drawBusySign(void) GUI_SetColor(MENU_BUSY_DOT_COLOR); GUI_FillCircle(busySign.x, busySign.y, busySign.r); GUI_SetColor(infoSettings.font_color); + busySign.status = SYS_STATUS_BUSY; } @@ -756,6 +765,7 @@ void menuRefreshListPage(void) for (uint8_t i = 0; i < ITEM_PER_PAGE; i++) { RAPID_PRINTING_COMM() // perform backend printing loop between drawing icons to avoid printer idling + menuDrawListItem(&curListItems->items[i], i); } } @@ -789,6 +799,7 @@ void setMenu(MENU_TYPE menu_type, LABEL * title, uint16_t rectCount, const GUI_R void menuSetTitle(const LABEL * title) { curTitle = title; + menuDrawTitle(); } @@ -829,6 +840,7 @@ void menuDrawTitle(void) { GUI_SetTextMode(GUI_TEXTMODE_NORMAL); GUI_DispLenString(10, start_y, titleString, LCD_WIDTH - 20, true); + start_x += GUI_StrPixelWidth(titleString); if (start_x > LCD_WIDTH - 20) @@ -841,7 +853,8 @@ void menuDrawTitle(void) notificationDot(); // draw reminder/storage status - if (reminder.status != SYS_STATUS_IDLE) drawReminderMsg(); + if (reminder.status != SYS_STATUS_IDLE) + drawReminderMsg(); } // when there is a button value, the icon changes color and redraws @@ -936,6 +949,7 @@ void menuDrawPage(const MENUITEMS * menuItems) for (i = 0; i < ITEM_PER_PAGE; i++) { menuDrawItem(&curMenuItems->items[i], i); + RAPID_PRINTING_COMM() // perform backend printing loop between drawing icons to avoid printer idling } @@ -1142,6 +1156,7 @@ KEY_VALUES menuKeyGetValue(void) if (menuType != MENU_TYPE_FULLSCREEN && tempkey == KEY_TITLEBAR) { titleBarPress(); + tempkey = KEY_IDLE; } diff --git a/TFT/src/User/API/printf/readme.md b/TFT/src/User/API/printf/readme.md index 1511ac2b7..c88540e69 100644 --- a/TFT/src/User/API/printf/readme.md +++ b/TFT/src/User/API/printf/readme.md @@ -92,7 +92,7 @@ The following format specifiers are supported: | Type | Output | |--------|--------| | d or i | Signed decimal integer | -| u | Unsigned decimal integer | +| u | Unsigned decimal integer | | b | Unsigned binary | | o | Unsigned octal | | x | Unsigned hexadecimal integer (lowercase) | @@ -127,7 +127,7 @@ The following format specifiers are supported: ### Supported Precision -| Precision | Description | +| Precision | Description | |-----------|-------------| | .number | For integer specifiers (d, i, o, u, x, X): precision specifies the minimum number of digits to be written. If the value to be written is shorter than this number, the result is padded with leading zeros. The value is not truncated even if the result is longer. A precision of 0 means that no character is written for the value 0.
For f and F specifiers: this is the number of digits to be printed after the decimal point. **By default, this is 6, maximum is 9**.
For s: this is the maximum number of characters to be printed. By default all characters are printed until the ending null character is encountered.
If the period is specified without an explicit value for precision, 0 is assumed. | | .* | The precision is not specified in the format string, but as an additional integer value argument preceding the argument that has to be formatted. | diff --git a/TFT/src/User/Configuration.h b/TFT/src/User/Configuration.h index 4ee8a6b75..aa13d5610 100644 --- a/TFT/src/User/Configuration.h +++ b/TFT/src/User/Configuration.h @@ -1342,7 +1342,7 @@ * In case LCD Encoder's sliding buttons (pin LCD_ENCA_PIN and LCD_ENCB_PIN) don't produce * any movement on menu, try to increase the delay (in MilliSeconds) (e.g. 64). */ -#ifdef MKS_TFT +#if defined(MKS_TFT) #define LCD_ENC_DELAY 40 // in ms. Default: 8 #define LCD_ENC_PULSES_PER_STEP 2 // Default: 4 #define LCD_ENC_BUTTON_INTERVAL 20 // in ms. Default: 20 diff --git a/TFT/src/User/Fatfs/diskio.c b/TFT/src/User/Fatfs/diskio.c index 2a4000932..adac3f798 100644 --- a/TFT/src/User/Fatfs/diskio.c +++ b/TFT/src/User/Fatfs/diskio.c @@ -203,6 +203,7 @@ DRESULT disk_ioctl( return RES_OK; // { // DRESULT res = RES_ERROR; + // // switch (cmd) // { // case CTRL_SYNC: // Make sure that no pending write process @@ -226,6 +227,7 @@ DRESULT disk_ioctl( // default: // res = RES_PARERR; // } + // // return res; // } } diff --git a/TFT/src/User/Fatfs/ff.h b/TFT/src/User/Fatfs/ff.h index 465ca4462..071732b3f 100644 --- a/TFT/src/User/Fatfs/ff.h +++ b/TFT/src/User/Fatfs/ff.h @@ -166,7 +166,7 @@ typedef struct { FATFS* fs; // Pointer to the hosting volume of this object WORD id; // Hosting volume mount ID BYTE attr; // Object attribute - BYTE stat; // Object chain status (b1-0: =0:not contiguous, =2:contiguous, =3:fragmented in this session, b2:sub-directory stretched) + BYTE stat; // Object chain status (b1-0: =0:not contiguous, =2:contiguous, =3:fragmented in this session, b2:sub-directory stretched) DWORD sclust; // Object data start cluster (0:no cluster or root directory) FSIZE_t objsize; // Object size (valid when sclust != 0) #if FF_FS_EXFAT diff --git a/TFT/src/User/Hal/CircularQueue.h b/TFT/src/User/Hal/CircularQueue.h index 1e07aacb7..a782c7aa8 100644 --- a/TFT/src/User/Hal/CircularQueue.h +++ b/TFT/src/User/Hal/CircularQueue.h @@ -5,16 +5,16 @@ extern "C" { #endif -#include +#include // for uint8_t etc. #define CIRCULAR_QUEUE_SIZE (1024 * 5) typedef struct { - uint8_t data[CIRCULAR_QUEUE_SIZE]; // Data buffer - uint16_t index_r; // Ring buffer read position - uint16_t index_w; // Ring buffer write position - uint16_t count; // Count of commands in the queue + uint8_t data[CIRCULAR_QUEUE_SIZE]; // data buffer + uint16_t index_r; // ring buffer read position + uint16_t index_w; // ring buffer write position + uint16_t count; // count of commands in the queue } CIRCULAR_QUEUE; #ifdef __cplusplus diff --git a/TFT/src/User/Hal/HD44780.c b/TFT/src/User/Hal/HD44780.c index c39fc13c8..e165f97e8 100644 --- a/TFT/src/User/Hal/HD44780.c +++ b/TFT/src/User/Hal/HD44780.c @@ -8,15 +8,15 @@ static CIRCULAR_QUEUE * HD44780_queue = NULL; void HD44780_DeConfig(void) { -#if defined(GD32F2XX) || defined(GD32F3XX) - nvic_irq_disable(EXTI10_15_IRQn); -#else - NVIC_InitTypeDef NVIC_InitStructure; + #if defined(GD32F2XX) || defined(GD32F3XX) + nvic_irq_disable(EXTI10_15_IRQn); + #else + NVIC_InitTypeDef NVIC_InitStructure; - NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; - NVIC_InitStructure.NVIC_IRQChannelCmd = DISABLE; - NVIC_Init(&NVIC_InitStructure); -#endif + NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; + NVIC_InitStructure.NVIC_IRQChannelCmd = DISABLE; + NVIC_Init(&NVIC_InitStructure); + #endif GPIO_InitSet(LCD_D7, MGPIO_MODE_IPN, 0); GPIO_InitSet(LCD_D6, MGPIO_MODE_IPN, 0); @@ -49,84 +49,82 @@ void HD44780_Config(CIRCULAR_QUEUE * queue) GPIO_InitSet(LCD_D4, MGPIO_MODE_IPD, 0); GPIO_InitSet(LCD_RS, MGPIO_MODE_IPD, 0); -#if defined(GD32F2XX) || defined(GD32F3XX) - gpio_exti_source_select(GPIO_EVENT_PORT_GPIOB, GPIO_EVENT_PIN_15); - - exti_init(EXTI_15, EXTI_INTERRUPT, EXTI_TRIG_RISING); - exti_interrupt_flag_clear(EXTI_15); - nvic_irq_enable(EXTI10_15_IRQn, 0U, 1U); -#else - // Connect GPIOB15 to the interrupt line - #if !defined(TFT24_V1_1) - RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); // Enable SYSCFG clock - SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB, EXTI_PinSource15); // PB15 is connected to interrupt line 15 + #if defined(GD32F2XX) || defined(GD32F3XX) + gpio_exti_source_select(GPIO_EVENT_PORT_GPIOB, GPIO_EVENT_PIN_15); + + exti_init(EXTI_15, EXTI_INTERRUPT, EXTI_TRIG_RISING); + exti_interrupt_flag_clear(EXTI_15); + nvic_irq_enable(EXTI10_15_IRQn, 0U, 1U); #else - RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); - GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource15); + // connect GPIOB15 to the interrupt line + #if !defined(TFT24_V1_1) + RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); // enable SYSCFG clock + SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB, EXTI_PinSource15); // PB15 is connected to interrupt line 15 + #else + RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); + GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource15); + #endif + + EXTI_InitTypeDef EXTI_InitStructure; + NVIC_InitTypeDef NVIC_InitStructure; + + // set interrupt line 12 bit external falling edge interrupt + EXTI_InitStructure.EXTI_Line = EXTI_Line15; + EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; + EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; + EXTI_InitStructure.EXTI_LineCmd = ENABLE; + EXTI_Init(&EXTI_InitStructure); + + NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; // external interrupt channel where the key is enabled + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00; // preemption priority 2? + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; // sub-priority 1 + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; // enable external interrupt channel + NVIC_Init(&NVIC_InitStructure); #endif - - EXTI_InitTypeDef EXTI_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - // Set interrupt line 12 bit external falling edge interrupt - EXTI_InitStructure.EXTI_Line = EXTI_Line15; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; // External interrupt channel where the key is enabled - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00; // Preemption priority 2? - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; // Sub-priority 1 - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; // Enable external interrupt channel - NVIC_Init(&NVIC_InitStructure); -#endif } bool HD44780_writeData(void) { bool dataWritten = false; -#if defined(GD32F2XX) || defined(GD32F3XX) - if ((GPIO_ISTAT(GPIOB) & (1 << 15)) != 0) - { - uint8_t temp = ((GPIO_ISTAT(LCD_D7_PORT) & GPIO_PIN_6) >> 3 ) + // D7 - ((GPIO_ISTAT(LCD_D6_PORT) & GPIO_PIN_7) >> 5 ) + // D6 - ((GPIO_ISTAT(LCD_D5_PORT) & GPIO_PIN_14) >> 13) + // D5 - ((GPIO_ISTAT(LCD_D4_PORT) & GPIO_PIN_13) >> 13); // D4 - - if ((GPIO_ISTAT(GPIOB) & (1 << 12)) == 0) - { // Command received - temp |= 0x80; - } - HD44780_queue->data[HD44780_queue->index_w] = temp; // Receive HD44780 data - HD44780_queue->index_w = (HD44780_queue->index_w + 1) % CIRCULAR_QUEUE_SIZE; + #if defined(GD32F2XX) || defined(GD32F3XX) + if ((GPIO_ISTAT(GPIOB) & (1 << 15)) != 0) + { + uint8_t temp = ((GPIO_ISTAT(LCD_D7_PORT) & GPIO_PIN_6) >> 3 ) + // D7 + ((GPIO_ISTAT(LCD_D6_PORT) & GPIO_PIN_7) >> 5 ) + // D6 + ((GPIO_ISTAT(LCD_D5_PORT) & GPIO_PIN_14) >> 13) + // D5 + ((GPIO_ISTAT(LCD_D4_PORT) & GPIO_PIN_13) >> 13); // D4 - dataWritten = true; - } + if ((GPIO_ISTAT(GPIOB) & (1 << 12)) == 0) // command received + temp |= 0x80; - EXTI_PD = 1<<15; -#else - if ((GPIOB->IDR & (1 << 15)) != 0) - { - uint8_t temp = ((LCD_D7_PORT->IDR & LCD_D7_PIN) >> 3 ) + // D7 - ((LCD_D6_PORT->IDR & LCD_D6_PIN) >> 5 ) + // D6 - ((LCD_D5_PORT->IDR & LCD_D5_PIN) >> 13) + // D5 - ((LCD_D4_PORT->IDR & LCD_D4_PIN) >> 13); // D4 - - if ((GPIOB->IDR & (1 << 12)) == 0) - { //Command received - temp |= 0x80; + HD44780_queue->data[HD44780_queue->index_w] = temp; // receive HD44780 data + HD44780_queue->index_w = (HD44780_queue->index_w + 1) % CIRCULAR_QUEUE_SIZE; + + dataWritten = true; } - HD44780_queue->data[HD44780_queue->index_w] = temp; // Receive HD44780 data - HD44780_queue->index_w = (HD44780_queue->index_w + 1) % CIRCULAR_QUEUE_SIZE; + EXTI_PD = 1<<15; + #else + if ((GPIOB->IDR & (1 << 15)) != 0) + { + uint8_t temp = ((LCD_D7_PORT->IDR & LCD_D7_PIN) >> 3 ) + // D7 + ((LCD_D6_PORT->IDR & LCD_D6_PIN) >> 5 ) + // D6 + ((LCD_D5_PORT->IDR & LCD_D5_PIN) >> 13) + // D5 + ((LCD_D4_PORT->IDR & LCD_D4_PIN) >> 13); // D4 + + if ((GPIOB->IDR & (1 << 12)) == 0) // command received + temp |= 0x80; - dataWritten = true; - } + HD44780_queue->data[HD44780_queue->index_w] = temp; // receive HD44780 data + HD44780_queue->index_w = (HD44780_queue->index_w + 1) % CIRCULAR_QUEUE_SIZE; + + dataWritten = true; + } + + EXTI->PR = 1<<15; + #endif - EXTI->PR = 1<<15; -#endif return dataWritten; } diff --git a/TFT/src/User/Hal/HD44780.h b/TFT/src/User/Hal/HD44780.h index 2397cac9a..995493623 100644 --- a/TFT/src/User/Hal/HD44780.h +++ b/TFT/src/User/Hal/HD44780.h @@ -6,6 +6,7 @@ extern "C" { #endif #include +#include // for uint8_t etc. #include "variants.h" // for LCD2004_EMULATOR etc. #include "CircularQueue.h" // for CIRCULAR_QUEUE etc. diff --git a/TFT/src/User/Hal/Knob_LED.c b/TFT/src/User/Hal/Knob_LED.c index 7c497d297..340b943e5 100644 --- a/TFT/src/User/Hal/Knob_LED.c +++ b/TFT/src/User/Hal/Knob_LED.c @@ -4,8 +4,6 @@ #ifdef KNOB_LED_COLOR_PIN -static uint32_t frameTimeStamp = 0; // Frame unit need > 280us for WS2812 - // total 2.5us, run in 400Khz #define NEOPIXEL_T0H_US 0.35 // Neopixel code 0 high level hold time in us #define NEOPIXEL_T1H_US 2.15 // Neopixel code 1 high level hold time in us @@ -26,6 +24,8 @@ static uint32_t frameTimeStamp = 0; // Frame unit need > 280us for WS2812 #define NEOPIXEL_TIMER_CR1() TIM6->CR1 #endif +static uint32_t frameTimeStamp = 0; // frame unit need > 280us for WS2812 + void knob_LED_Init(void) { GPIO_InitSet(KNOB_LED_COLOR_PIN, MGPIO_MODE_OUT_PP, 0); @@ -47,12 +47,12 @@ void Knob_LED_SetColor(uint32_t color, uint8_t neopixel_pixels) uint16_t led_num; int8_t bit; uint16_t cycle = mcuClocks.PCLK1_Timer_Frequency * (0.000001 * (NEOPIXEL_T0H_US + NEOPIXEL_T1H_US)) / 2 - 1; // Neopixel frequency - uint16_t code_0_tim_h_cnt = cycle * (NEOPIXEL_T0H_US / (NEOPIXEL_T0H_US + NEOPIXEL_T1H_US)); // Code 0, High level hold time, + uint16_t code_0_tim_h_cnt = cycle * (NEOPIXEL_T0H_US / (NEOPIXEL_T0H_US + NEOPIXEL_T1H_US)); // code 0, High level hold time uint16_t code_1_tim_h_cnt = cycle - code_0_tim_h_cnt; while (frameTimeStamp == OS_GetTimeMs()); - __disable_irq(); // Disable interrupt, avoid disturbing the timing of WS2812 + __disable_irq(); // disable interrupt, avoid disturbing the timing of WS2812 NEOPIXEL_TIMER_ARR() = cycle; NEOPIXEL_TIMER_CR1() |= 0x01; @@ -81,7 +81,7 @@ void Knob_LED_SetColor(uint32_t color, uint8_t neopixel_pixels) } NEOPIXEL_TIMER_CR1() &= ~0x01; - __enable_irq(); // Enable interrupt + __enable_irq(); // enable interrupt frameTimeStamp = OS_GetTimeMs(); } diff --git a/TFT/src/User/Hal/LCD_Driver/HX8558.c b/TFT/src/User/Hal/LCD_Driver/HX8558.c index 95ced67c6..01c58d83a 100644 --- a/TFT/src/User/Hal/LCD_Driver/HX8558.c +++ b/TFT/src/User/Hal/LCD_Driver/HX8558.c @@ -2,149 +2,150 @@ #if LCD_DRIVER_HAS(HX8558) - #include "HX8558.h" - - #define HX8558_0_DEGREE_REG_VALUE 0xA4 - #define HX8558_180_DEGREE_REG_VALUE 0X64 - #define HX8558_90_DEGREE_REG_VALUE 0x04 - #define HX8558_270_DEGREE_REG_VALUE 0xC4 - - void HX8558_Init_Sequential(void) - { - Delay_ms(50); // delay 50 ms - - LCD_WR_REG(0xFE); - LCD_WR_REG(0xEF); - LCD_WR_REG(0x3A); - LCD_WR_DATA(5); - LCD_WR_REG(0X36); - LCD_WR_DATA(0x64); - LCD_WR_REG(0xE8); - LCD_WR_DATA(0x12); - LCD_WR_DATA(0x22); - LCD_WR_REG(0xE3); - LCD_WR_DATA(1); - LCD_WR_DATA(4); - LCD_WR_REG(0xA5); - LCD_WR_DATA(0x40); - LCD_WR_DATA(0x40); - LCD_WR_REG(0xA4); - LCD_WR_DATA(0x44); - LCD_WR_DATA(0x44); - LCD_WR_REG(0xAB); - LCD_WR_DATA(8); - LCD_WR_REG(0xAA); - LCD_WR_DATA(0x88); - LCD_WR_DATA(0x88); - LCD_WR_REG(0xAE); - LCD_WR_DATA(0xB); - LCD_WR_REG(0xAC); - LCD_WR_DATA(0); - LCD_WR_REG(0xAF); - LCD_WR_DATA(0x77); - LCD_WR_REG(0xAD); - LCD_WR_DATA(0x77); - - LCD_WR_REG(0x2A); - LCD_WR_DATA(0); - LCD_WR_DATA(0); - LCD_WR_DATA(0); - LCD_WR_DATA(0xEF); - LCD_WR_REG(0x2B); - LCD_WR_DATA(0); - LCD_WR_DATA(0); - LCD_WR_DATA(1); - LCD_WR_DATA(0x3F); - - LCD_WR_REG(0x2C); - - LCD_WR_REG(0xF0); - LCD_WR_DATA(2); - LCD_WR_DATA(0); - LCD_WR_DATA(0); - LCD_WR_DATA(1); - LCD_WR_DATA(1); - LCD_WR_DATA(7); - - LCD_WR_REG(0xF1); - LCD_WR_DATA(1); - LCD_WR_DATA(3); - LCD_WR_DATA(0); - LCD_WR_DATA(0x36); - LCD_WR_DATA(41); - LCD_WR_DATA(0x13); - - LCD_WR_REG(0xF2); - LCD_WR_DATA(8); - LCD_WR_DATA(6); - LCD_WR_DATA(0x24); - LCD_WR_DATA(3); - LCD_WR_DATA(5); - LCD_WR_DATA(0x34); - - LCD_WR_REG(0xF3); - LCD_WR_DATA(0x16); - LCD_WR_DATA(0xC); - LCD_WR_DATA(0x5A); - LCD_WR_DATA(4); - LCD_WR_DATA(3); - LCD_WR_DATA(0x69); - - LCD_WR_REG(0xF4); - LCD_WR_DATA(0xD); - LCD_WR_DATA(0x18); - LCD_WR_DATA(0x15); - LCD_WR_DATA(5); - LCD_WR_DATA(5); - LCD_WR_DATA(0); - - LCD_WR_REG(0xF5); - LCD_WR_DATA(0xD); - LCD_WR_DATA(0x18); - LCD_WR_DATA(0x17); - LCD_WR_DATA(0x35); - LCD_WR_DATA(0x39); - LCD_WR_DATA(0); - LCD_WR_REG(0x11); - - Delay_ms(150); - - LCD_WR_REG(0x29); - LCD_WR_REG(0x2C); - } - - void HX8558_SetDirection(uint8_t rotate) - { - LCD_WR_REG(0X36); - - #ifdef PORTRAIT_MODE - LCD_WR_DATA(rotate ? HX8558_270_DEGREE_REG_VALUE : HX8558_90_DEGREE_REG_VALUE); - #else - LCD_WR_DATA(rotate ? HX8558_180_DEGREE_REG_VALUE : HX8558_0_DEGREE_REG_VALUE); - #endif - } - - void HX8558_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) - { - LCD_WR_REG(0x2A); - LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); - LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); - LCD_WR_REG(0x2B); - LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); - LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); - LCD_WR_REG(0x2C); // Ready to write memory - } - - uint32_t HX8558_ReadPixel_24Bit(int16_t x, int16_t y) - { - LCD_SetWindow(x, y, x, y); - LCD_WR_REG(0X22); - Delay_us(1); - LCD_RD_DATA(); // Dummy read - - GUI_COLOR pix; - pix.color = LCD_RD_DATA(); - return (pix.RGB.r << 19) | (pix.RGB.g << 10) | (pix.RGB.b << 3); - } +#include "HX8558.h" + +#define HX8558_0_DEGREE_REG_VALUE 0xA4 +#define HX8558_180_DEGREE_REG_VALUE 0X64 +#define HX8558_90_DEGREE_REG_VALUE 0x04 +#define HX8558_270_DEGREE_REG_VALUE 0xC4 + +void HX8558_Init_Sequential(void) +{ + Delay_ms(50); // Delay 50ms + + LCD_WR_REG(0xFE); + LCD_WR_REG(0xEF); + LCD_WR_REG(0x3A); + LCD_WR_DATA(5); + LCD_WR_REG(0X36); + LCD_WR_DATA(0x64); + LCD_WR_REG(0xE8); + LCD_WR_DATA(0x12); + LCD_WR_DATA(0x22); + LCD_WR_REG(0xE3); + LCD_WR_DATA(1); + LCD_WR_DATA(4); + LCD_WR_REG(0xA5); + LCD_WR_DATA(0x40); + LCD_WR_DATA(0x40); + LCD_WR_REG(0xA4); + LCD_WR_DATA(0x44); + LCD_WR_DATA(0x44); + LCD_WR_REG(0xAB); + LCD_WR_DATA(8); + LCD_WR_REG(0xAA); + LCD_WR_DATA(0x88); + LCD_WR_DATA(0x88); + LCD_WR_REG(0xAE); + LCD_WR_DATA(0xB); + LCD_WR_REG(0xAC); + LCD_WR_DATA(0); + LCD_WR_REG(0xAF); + LCD_WR_DATA(0x77); + LCD_WR_REG(0xAD); + LCD_WR_DATA(0x77); + + LCD_WR_REG(0x2A); + LCD_WR_DATA(0); + LCD_WR_DATA(0); + LCD_WR_DATA(0); + LCD_WR_DATA(0xEF); + LCD_WR_REG(0x2B); + LCD_WR_DATA(0); + LCD_WR_DATA(0); + LCD_WR_DATA(1); + LCD_WR_DATA(0x3F); + + LCD_WR_REG(0x2C); + + LCD_WR_REG(0xF0); + LCD_WR_DATA(2); + LCD_WR_DATA(0); + LCD_WR_DATA(0); + LCD_WR_DATA(1); + LCD_WR_DATA(1); + LCD_WR_DATA(7); + + LCD_WR_REG(0xF1); + LCD_WR_DATA(1); + LCD_WR_DATA(3); + LCD_WR_DATA(0); + LCD_WR_DATA(0x36); + LCD_WR_DATA(41); + LCD_WR_DATA(0x13); + + LCD_WR_REG(0xF2); + LCD_WR_DATA(8); + LCD_WR_DATA(6); + LCD_WR_DATA(0x24); + LCD_WR_DATA(3); + LCD_WR_DATA(5); + LCD_WR_DATA(0x34); + + LCD_WR_REG(0xF3); + LCD_WR_DATA(0x16); + LCD_WR_DATA(0xC); + LCD_WR_DATA(0x5A); + LCD_WR_DATA(4); + LCD_WR_DATA(3); + LCD_WR_DATA(0x69); + + LCD_WR_REG(0xF4); + LCD_WR_DATA(0xD); + LCD_WR_DATA(0x18); + LCD_WR_DATA(0x15); + LCD_WR_DATA(5); + LCD_WR_DATA(5); + LCD_WR_DATA(0); + + LCD_WR_REG(0xF5); + LCD_WR_DATA(0xD); + LCD_WR_DATA(0x18); + LCD_WR_DATA(0x17); + LCD_WR_DATA(0x35); + LCD_WR_DATA(0x39); + LCD_WR_DATA(0); + LCD_WR_REG(0x11); + + Delay_ms(150); + + LCD_WR_REG(0x29); + LCD_WR_REG(0x2C); +} + +void HX8558_SetDirection(uint8_t rotate) +{ + LCD_WR_REG(0X36); + + #ifdef PORTRAIT_MODE + LCD_WR_DATA(rotate ? HX8558_270_DEGREE_REG_VALUE : HX8558_90_DEGREE_REG_VALUE); + #else + LCD_WR_DATA(rotate ? HX8558_180_DEGREE_REG_VALUE : HX8558_0_DEGREE_REG_VALUE); + #endif +} + +void HX8558_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) +{ + LCD_WR_REG(0x2A); + LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); + LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); + LCD_WR_REG(0x2B); + LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); + LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); + LCD_WR_REG(0x2C); // Ready to write memory +} + +uint32_t HX8558_ReadPixel_24Bit(int16_t x, int16_t y) +{ + LCD_SetWindow(x, y, x, y); + LCD_WR_REG(0X22); + Delay_us(1); + LCD_RD_DATA(); // Dummy read + + GUI_COLOR pix; + pix.color = LCD_RD_DATA(); + + return (pix.RGB.r << 19) | (pix.RGB.g << 10) | (pix.RGB.b << 3); +} #endif // LCD_DRIVER_HAS(HX8558) diff --git a/TFT/src/User/Hal/LCD_Driver/ILI9325.c b/TFT/src/User/Hal/LCD_Driver/ILI9325.c index fd07af80d..ccb5550ea 100644 --- a/TFT/src/User/Hal/LCD_Driver/ILI9325.c +++ b/TFT/src/User/Hal/LCD_Driver/ILI9325.c @@ -2,61 +2,61 @@ #if LCD_DRIVER_HAS(ILI9325) - #include "ILI9325.h" +#include "ILI9325.h" - void ILI9325_Init_Sequential(void) - { - #if defined(MKS_TFT32L_V3_0) // For this, SS=0 and GS=0 for default screen rotation=0 - LCD_WR_REG(0x0001); // Driver Output Control Register (R01h) - LCD_WR_DATA((0 << 8) | (0 << 10)); // SS=0 (horizontal flip), SM = 0, from S720 to S1 (see also GS bit (R60h)) - LCD_WR_REG(0x0003); // Entry Mode (R03h) - LCD_WR_DATA((1 << 12) | (1 << 5) | (1 << 4) | (1 << 3)); // TRI=0, DFM=0, BGR=1, ORG=0, I/D[1:0]=11, AM=1 - LCD_WR_REG(0x0060); // Driver Output Control (R60h) - LCD_WR_DATA((0 << 15) | (0x27 << 8)); // GS=0 (G1) NL[5:0]=0x27 (320 lines) - #else - LCD_WR_REG(0x0001); // Driver Output Control Register (R01h) - LCD_WR_DATA((1 << 8) | (0 << 10)); // SS=1 (horizontal flip), SM = 0, from S720 to S1 (see also GS bit (R60h)) - LCD_WR_REG(0x0003); // Entry Mode (R03h) - LCD_WR_DATA((1 << 12) | (1 << 5) | (1 << 4) | (1 << 3)); // TRI=0, DFM=0, BGR=1, ORG=0, I/D[1:0]=11, AM=1 - LCD_WR_REG(0x0060); // Driver Output Control (R60h) - LCD_WR_DATA((0 << 15) | (0x27 << 8)); // GS=0 (G1) NL[5:0]=0x27 (320 lines) - #endif - } +void ILI9325_Init_Sequential(void) +{ + #if defined(MKS_TFT32L_V3_0) // For this, SS=0 and GS=0 for default screen rotation=0 + LCD_WR_REG(0x0001); // Driver Output Control Register (R01h) + LCD_WR_DATA((0 << 8) | (0 << 10)); // SS=0 (horizontal flip), SM = 0, from S720 to S1 (see also GS bit (R60h)) + LCD_WR_REG(0x0003); // Entry Mode (R03h) + LCD_WR_DATA((1 << 12) | (1 << 5) | (1 << 4) | (1 << 3)); // TRI=0, DFM=0, BGR=1, ORG=0, I/D[1:0]=11, AM=1 + LCD_WR_REG(0x0060); // Driver Output Control (R60h) + LCD_WR_DATA((0 << 15) | (0x27 << 8)); // GS=0 (G1) NL[5:0]=0x27 (320 lines) + #else + LCD_WR_REG(0x0001); // Driver Output Control Register (R01h) + LCD_WR_DATA((1 << 8) | (0 << 10)); // SS=1 (horizontal flip), SM = 0, from S720 to S1 (see also GS bit (R60h)) + LCD_WR_REG(0x0003); // Entry Mode (R03h) + LCD_WR_DATA((1 << 12) | (1 << 5) | (1 << 4) | (1 << 3)); // TRI=0, DFM=0, BGR=1, ORG=0, I/D[1:0]=11, AM=1 + LCD_WR_REG(0x0060); // Driver Output Control (R60h) + LCD_WR_DATA((0 << 15) | (0x27 << 8)); // GS=0 (G1) NL[5:0]=0x27 (320 lines) + #endif +} - void ILI9325_SetDirection(uint8_t dir) - { - #if defined(MKS_TFT32L_V3_0) // For this, SS=GS for screen rotation - LCD_WR_REG(0x0001); // Driver Output Control Register (R01h) - LCD_WR_DATA((!dir << 8) | (0 << 10)); // SS (horizontal flip), SM = 0, from S720 to S1 (see also GS bit (R60h)) - LCD_WR_REG(0x0003); // Entry Mode (R03h) - LCD_WR_DATA((1 << 12) | (1 << 5) | (1 << 4) | (1 << 3)); // TRI=0, DFM=0, BGR=1, ORG=0, I/D[1:0]=11, AM=1 - LCD_WR_REG(0x0060); // Driver Output Control (R60h) - LCD_WR_DATA((!dir << 15) | (0x27 << 8)); // GS (G1) NL[5:0]=0x27 (320 lines) - #else - LCD_WR_REG(0x0001); // Driver Output Control Register (R01h) - LCD_WR_DATA((dir ? 0 : 1 << 8) | (0 << 10)); // SS (horizontal flip), SM = 0, from S720 to S1 (see also GS bit (R60h)) - LCD_WR_REG(0x0003); // Entry Mode (R03h) - LCD_WR_DATA((1 << 12) | (1 << 5) | (1 << 4) | (1 << 3)); // TRI=0, DFM=0, BGR=1, ORG=0, I/D[1:0]=11, AM=1 - LCD_WR_REG(0x0060); // Driver Output Control (R60h) - LCD_WR_DATA((dir ? 1 : 0 << 15) | (0x27 << 8)); // GS (G1) NL[5:0]=0x27 (320 lines) - #endif - } +void ILI9325_SetDirection(uint8_t dir) +{ + #if defined(MKS_TFT32L_V3_0) // For this, SS=GS for screen rotation + LCD_WR_REG(0x0001); // Driver Output Control Register (R01h) + LCD_WR_DATA((!dir << 8) | (0 << 10)); // SS (horizontal flip), SM = 0, from S720 to S1 (see also GS bit (R60h)) + LCD_WR_REG(0x0003); // Entry Mode (R03h) + LCD_WR_DATA((1 << 12) | (1 << 5) | (1 << 4) | (1 << 3)); // TRI=0, DFM=0, BGR=1, ORG=0, I/D[1:0]=11, AM=1 + LCD_WR_REG(0x0060); // Driver Output Control (R60h) + LCD_WR_DATA((!dir << 15) | (0x27 << 8)); // GS (G1) NL[5:0]=0x27 (320 lines) + #else + LCD_WR_REG(0x0001); // Driver Output Control Register (R01h) + LCD_WR_DATA((dir ? 0 : 1 << 8) | (0 << 10)); // SS (horizontal flip), SM = 0, from S720 to S1 (see also GS bit (R60h)) + LCD_WR_REG(0x0003); // Entry Mode (R03h) + LCD_WR_DATA((1 << 12) | (1 << 5) | (1 << 4) | (1 << 3)); // TRI=0, DFM=0, BGR=1, ORG=0, I/D[1:0]=11, AM=1 + LCD_WR_REG(0x0060); // Driver Output Control (R60h) + LCD_WR_DATA((dir ? 1 : 0 << 15) | (0x27 << 8)); // GS (G1) NL[5:0]=0x27 (320 lines) + #endif +} - void ILI9325_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) - { - LCD_WR_REG(0x50); - LCD_WR_DATA(sy); - LCD_WR_REG(0x52); - LCD_WR_DATA(sx); - LCD_WR_REG(0x51); - LCD_WR_DATA(ey); - LCD_WR_REG(0x53); - LCD_WR_DATA(ex); - LCD_WR_REG(0x20); - LCD_WR_DATA(sy); - LCD_WR_REG(0x21); - LCD_WR_DATA(sx); - LCD_WR_REG(0x22); // Ready to write memory - } +void ILI9325_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) +{ + LCD_WR_REG(0x50); + LCD_WR_DATA(sy); + LCD_WR_REG(0x52); + LCD_WR_DATA(sx); + LCD_WR_REG(0x51); + LCD_WR_DATA(ey); + LCD_WR_REG(0x53); + LCD_WR_DATA(ex); + LCD_WR_REG(0x20); + LCD_WR_DATA(sy); + LCD_WR_REG(0x21); + LCD_WR_DATA(sx); + LCD_WR_REG(0x22); // Ready to write memory +} #endif // LCD_DRIVER_HAS(ILI9325) diff --git a/TFT/src/User/Hal/LCD_Driver/ILI9341.c b/TFT/src/User/Hal/LCD_Driver/ILI9341.c index 73f60dd11..c313241c1 100644 --- a/TFT/src/User/Hal/LCD_Driver/ILI9341.c +++ b/TFT/src/User/Hal/LCD_Driver/ILI9341.c @@ -2,165 +2,166 @@ #if LCD_DRIVER_HAS(ILI9341) - #include "ILI9341.h" - - #define ILI9341_0_DEGREE_REG_VALUE 0X68 - #define ILI9341_180_DEGREE_REG_VALUE 0XA8 - #define ILI9341_90_DEGREE_REG_VALUE 0XC8 - #define ILI9341_270_DEGREE_REG_VALUE 0X08 - - void ILI9341_Init_Sequential(void) - { - Delay_ms(50); // delay 50 ms - - LCD_WR_REG(0xCF); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0xC1); - LCD_WR_DATA(0X30); - - LCD_WR_REG(0xED); - LCD_WR_DATA(0x64); - LCD_WR_DATA(0x03); - LCD_WR_DATA(0X12); - LCD_WR_DATA(0X81); - - LCD_WR_REG(0xE8); /// @diff :Driver timing control A - LCD_WR_DATA(0x8A); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x78); - - LCD_WR_REG(0xEA); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x00); - - LCD_WR_REG(0xCB); - LCD_WR_DATA(0x39); - LCD_WR_DATA(0x2C); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x34); - LCD_WR_DATA(0x02); - - LCD_WR_REG(0xF7); - LCD_WR_DATA(0x20); - - LCD_WR_REG(0xC0); /// @diff Power control - LCD_WR_DATA(0x25); // VRH[5:0] - - LCD_WR_REG(0xC1); /// @diff control - LCD_WR_DATA(0x12); // SAP[2:0];BT[3:0] - - LCD_WR_REG(0xC5); /// @diff VCM control - LCD_WR_DATA(0x33); - LCD_WR_DATA(0x3C); - - LCD_WR_REG(0xC7); /// @diff VCM control2 - LCD_WR_DATA(0x9A); - - LCD_WR_REG(0xB1); /// @diff Frame Rate Control - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x15); - - LCD_WR_REG(0x3A); - LCD_WR_DATA(0x55); - - LCD_WR_REG(0x36); // Memory Access Control - LCD_WR_DATA(0x68); - - LCD_WR_REG(0xB6); // Display Function Control - LCD_WR_DATA(0x0A); - LCD_WR_DATA(0xA2); - - LCD_WR_REG(0xF2); // 3Gamma Function Disable - LCD_WR_DATA(0x00); - - LCD_WR_REG(0x26); // Gamma curve selected - LCD_WR_DATA(0x01); - - LCD_WR_REG(0xE0); /// @diff Set Gamma - LCD_WR_DATA(0x1F); - LCD_WR_DATA(0x1C); - LCD_WR_DATA(0x1A); - LCD_WR_DATA(0x0B); - LCD_WR_DATA(0x0F); - LCD_WR_DATA(0x08); - LCD_WR_DATA(0x47); - LCD_WR_DATA(0xC8); - LCD_WR_DATA(0x37); - LCD_WR_DATA(0x0B); - LCD_WR_DATA(0x14); - LCD_WR_DATA(0x05); - LCD_WR_DATA(0x0A); - LCD_WR_DATA(0x08); - LCD_WR_DATA(0x00); - - LCD_WR_REG(0XE1); /// @diff Set Gamma - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x24); - LCD_WR_DATA(0x25); - LCD_WR_DATA(0x04); - LCD_WR_DATA(0x10); - LCD_WR_DATA(0x07); - LCD_WR_DATA(0x38); - LCD_WR_DATA(0x48); - LCD_WR_DATA(0x48); - LCD_WR_DATA(0x03); - LCD_WR_DATA(0x0B); - LCD_WR_DATA(0x0A); - LCD_WR_DATA(0x35); - LCD_WR_DATA(0x37); - LCD_WR_DATA(0x1F); - - LCD_WR_REG(0x2A); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x01); - LCD_WR_DATA(0x3f); - - LCD_WR_REG(0x2B); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0xef); - - LCD_WR_REG(0x11); // Exit Sleep - Delay_ms(120); - LCD_WR_REG(0x29); // Display on - } - - void ILI9341_SetDirection(uint8_t rotate) - { - LCD_WR_REG(0X36); - - #ifdef PORTRAIT_MODE - LCD_WR_DATA(rotate ? ILI9341_270_DEGREE_REG_VALUE : ILI9341_90_DEGREE_REG_VALUE); - #else - LCD_WR_DATA(rotate ? ILI9341_180_DEGREE_REG_VALUE : ILI9341_0_DEGREE_REG_VALUE); - #endif - } - - void ILI9341_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) - { - LCD_WR_REG(0x2A); - LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); - LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); - LCD_WR_REG(0x2B); - LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); - LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); - LCD_WR_REG(0x2C); // Ready to write memory - } - - uint32_t ILI9341_ReadPixel_24Bit(int16_t x, int16_t y) - { - LCD_SetWindow(x, y, x, y); - LCD_WR_REG(0X2E); - Delay_us(1); - LCD_RD_DATA(); // Dummy read - - uint16_t rg, br; - rg = LCD_RD_DATA(); // First pixel R:8bit-G:8bit - br = LCD_RD_DATA(); // First pixel B:8bit - Second pixel R:8bit - - return ((rg) << 8) | ((br & 0xFF00) >> 8); // RG-B - } +#include "ILI9341.h" + +#define ILI9341_0_DEGREE_REG_VALUE 0X68 +#define ILI9341_180_DEGREE_REG_VALUE 0XA8 +#define ILI9341_90_DEGREE_REG_VALUE 0XC8 +#define ILI9341_270_DEGREE_REG_VALUE 0X08 + +void ILI9341_Init_Sequential(void) +{ + Delay_ms(50); // Delay 50ms + + LCD_WR_REG(0xCF); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0xC1); + LCD_WR_DATA(0X30); + + LCD_WR_REG(0xED); + LCD_WR_DATA(0x64); + LCD_WR_DATA(0x03); + LCD_WR_DATA(0X12); + LCD_WR_DATA(0X81); + + LCD_WR_REG(0xE8); /// @diff :Driver timing control A + LCD_WR_DATA(0x8A); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x78); + + LCD_WR_REG(0xEA); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x00); + + LCD_WR_REG(0xCB); + LCD_WR_DATA(0x39); + LCD_WR_DATA(0x2C); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x34); + LCD_WR_DATA(0x02); + + LCD_WR_REG(0xF7); + LCD_WR_DATA(0x20); + + LCD_WR_REG(0xC0); /// @diff Power control + LCD_WR_DATA(0x25); // VRH[5:0] + + LCD_WR_REG(0xC1); /// @diff control + LCD_WR_DATA(0x12); // SAP[2:0];BT[3:0] + + LCD_WR_REG(0xC5); /// @diff VCM control + LCD_WR_DATA(0x33); + LCD_WR_DATA(0x3C); + + LCD_WR_REG(0xC7); /// @diff VCM control2 + LCD_WR_DATA(0x9A); + + LCD_WR_REG(0xB1); /// @diff Frame Rate Control + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x15); + + LCD_WR_REG(0x3A); + LCD_WR_DATA(0x55); + + LCD_WR_REG(0x36); // Memory Access Control + LCD_WR_DATA(0x68); + + LCD_WR_REG(0xB6); // Display Function Control + LCD_WR_DATA(0x0A); + LCD_WR_DATA(0xA2); + + LCD_WR_REG(0xF2); // 3Gamma Function Disable + LCD_WR_DATA(0x00); + + LCD_WR_REG(0x26); // Gamma curve selected + LCD_WR_DATA(0x01); + + LCD_WR_REG(0xE0); /// @diff Set Gamma + LCD_WR_DATA(0x1F); + LCD_WR_DATA(0x1C); + LCD_WR_DATA(0x1A); + LCD_WR_DATA(0x0B); + LCD_WR_DATA(0x0F); + LCD_WR_DATA(0x08); + LCD_WR_DATA(0x47); + LCD_WR_DATA(0xC8); + LCD_WR_DATA(0x37); + LCD_WR_DATA(0x0B); + LCD_WR_DATA(0x14); + LCD_WR_DATA(0x05); + LCD_WR_DATA(0x0A); + LCD_WR_DATA(0x08); + LCD_WR_DATA(0x00); + + LCD_WR_REG(0XE1); /// @diff Set Gamma + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x24); + LCD_WR_DATA(0x25); + LCD_WR_DATA(0x04); + LCD_WR_DATA(0x10); + LCD_WR_DATA(0x07); + LCD_WR_DATA(0x38); + LCD_WR_DATA(0x48); + LCD_WR_DATA(0x48); + LCD_WR_DATA(0x03); + LCD_WR_DATA(0x0B); + LCD_WR_DATA(0x0A); + LCD_WR_DATA(0x35); + LCD_WR_DATA(0x37); + LCD_WR_DATA(0x1F); + + LCD_WR_REG(0x2A); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x01); + LCD_WR_DATA(0x3f); + + LCD_WR_REG(0x2B); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0xef); + + LCD_WR_REG(0x11); // Exit Sleep + Delay_ms(120); + LCD_WR_REG(0x29); // Display on +} + +void ILI9341_SetDirection(uint8_t rotate) +{ + LCD_WR_REG(0X36); + + #ifdef PORTRAIT_MODE + LCD_WR_DATA(rotate ? ILI9341_270_DEGREE_REG_VALUE : ILI9341_90_DEGREE_REG_VALUE); + #else + LCD_WR_DATA(rotate ? ILI9341_180_DEGREE_REG_VALUE : ILI9341_0_DEGREE_REG_VALUE); + #endif +} + +void ILI9341_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) +{ + LCD_WR_REG(0x2A); + LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); + LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); + LCD_WR_REG(0x2B); + LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); + LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); + LCD_WR_REG(0x2C); // Ready to write memory +} + +uint32_t ILI9341_ReadPixel_24Bit(int16_t x, int16_t y) +{ + LCD_SetWindow(x, y, x, y); + LCD_WR_REG(0X2E); + Delay_us(1); + LCD_RD_DATA(); // Dummy read + + uint16_t rg, br; + + rg = LCD_RD_DATA(); // First pixel R:8bit-G:8bit + br = LCD_RD_DATA(); // First pixel B:8bit - Second pixel R:8bit + + return ((rg) << 8) | ((br & 0xFF00) >> 8); // RG-B +} #endif // LCD_DRIVER_HAS(ILI9341) diff --git a/TFT/src/User/Hal/LCD_Driver/ILI9488.c b/TFT/src/User/Hal/LCD_Driver/ILI9488.c index 6203f76b2..6827240f3 100644 --- a/TFT/src/User/Hal/LCD_Driver/ILI9488.c +++ b/TFT/src/User/Hal/LCD_Driver/ILI9488.c @@ -2,103 +2,106 @@ #if LCD_DRIVER_HAS(ILI9488) - #include "ILI9488.h" +#include "ILI9488.h" - #ifdef MKS_TFT35_V1_0 // rotate display 180 degrees by default for MKS_TFT35_V1_0 - #define ILI9488_180_DEGREE_REG_VALUE 0X28 - #define ILI9488_0_DEGREE_REG_VALUE 0XE8 - #define ILI9488_90_DEGREE_REG_VALUE 0X88 - #define ILI9488_270_DEGREE_REG_VALUE 0X48 +#if defined(MKS_TFT35_V1_0) // Rotate display 180 degrees by default for MKS_TFT35_V1_0 + #define ILI9488_180_DEGREE_REG_VALUE 0X28 + #define ILI9488_0_DEGREE_REG_VALUE 0XE8 + #define ILI9488_90_DEGREE_REG_VALUE 0X88 + #define ILI9488_270_DEGREE_REG_VALUE 0X48 +#else + #define ILI9488_0_DEGREE_REG_VALUE 0X28 + #define ILI9488_180_DEGREE_REG_VALUE 0XE8 + #define ILI9488_90_DEGREE_REG_VALUE 0X88 + #define ILI9488_270_DEGREE_REG_VALUE 0X48 +#endif + +uint8_t LCD_DriveIsILI9488(void) +{ + uint16_t id = 0; + + LCD_WR_REG(0XD3); + id = LCD_RD_DATA(); // Dummy read + id = LCD_RD_DATA(); + id = LCD_RD_DATA(); + id <<= 8; + + id |= LCD_RD_DATA(); + + return (id == 0x9488); +} + +void ILI9488_Init_Sequential(void) +{ + LCD_WR_REG(0xC0); + LCD_WR_DATA(0x0c); + LCD_WR_DATA(0x02); + LCD_WR_REG(0xC1); + LCD_WR_DATA(0x44); + LCD_WR_REG(0xC5); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x16); + LCD_WR_DATA(0x80); + LCD_WR_REG(0x36); + LCD_WR_DATA(0x28); + LCD_WR_REG(0x3A); // Interface Mode Control + LCD_WR_DATA(0x55); + LCD_WR_REG(0XB0); // Interface Mode Control + LCD_WR_DATA(0x00); + LCD_WR_REG(0xB1); // Frame rate 70HZ + LCD_WR_DATA(0xB0); + LCD_WR_REG(0xB4); + LCD_WR_DATA(0x02); + LCD_WR_REG(0xB6); // RGB/MCU Interface Control + LCD_WR_DATA(0x02); + LCD_WR_DATA(0x02); + LCD_WR_REG(0xE9); + LCD_WR_DATA(0x00); + LCD_WR_REG(0XF7); + LCD_WR_DATA(0xA9); + LCD_WR_DATA(0x51); + LCD_WR_DATA(0x2C); + LCD_WR_DATA(0x82); + LCD_WR_REG(0x11); + Delay_ms(120); + LCD_WR_REG(0x29); +} + +void ILI9488_SetDirection(uint8_t rotate) +{ + LCD_WR_REG(0X36); + + #ifdef PORTRAIT_MODE + LCD_WR_DATA(rotate ? ILI9488_270_DEGREE_REG_VALUE : ILI9488_90_DEGREE_REG_VALUE); #else - #define ILI9488_0_DEGREE_REG_VALUE 0X28 - #define ILI9488_180_DEGREE_REG_VALUE 0XE8 - #define ILI9488_90_DEGREE_REG_VALUE 0X88 - #define ILI9488_270_DEGREE_REG_VALUE 0X48 + LCD_WR_DATA(rotate ? ILI9488_180_DEGREE_REG_VALUE : ILI9488_0_DEGREE_REG_VALUE); #endif +} + +void ILI9488_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) +{ + LCD_WR_REG(0x2A); + LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); + LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); + LCD_WR_REG(0x2B); + LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); + LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); + LCD_WR_REG(0x2C); // Ready to write memory +} + +uint32_t ILI9488_ReadPixel_24Bit(int16_t x, int16_t y) +{ + LCD_SetWindow(x, y, x, y); + LCD_WR_REG(0X2E); + Delay_us(1); + LCD_RD_DATA(); // Dummy read + + uint16_t rg, br; + + rg = LCD_RD_DATA(); // First pixel R:8bit-G:8bit + br = LCD_RD_DATA(); // First pixel B:8bit - Second pixel R:8bit - uint8_t LCD_DriveIsILI9488(void) - { - uint16_t id = 0; - LCD_WR_REG(0XD3); - id = LCD_RD_DATA(); // dummy read - id = LCD_RD_DATA(); - id = LCD_RD_DATA(); - id <<= 8; - - id |= LCD_RD_DATA(); - return (id == 0x9488); - } - - void ILI9488_Init_Sequential(void) - { - LCD_WR_REG(0xC0); - LCD_WR_DATA(0x0c); - LCD_WR_DATA(0x02); - LCD_WR_REG(0xC1); - LCD_WR_DATA(0x44); - LCD_WR_REG(0xC5); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x16); - LCD_WR_DATA(0x80); - LCD_WR_REG(0x36); - LCD_WR_DATA(0x28); - LCD_WR_REG(0x3A); // Interface Mode Control - LCD_WR_DATA(0x55); - LCD_WR_REG(0XB0); // Interface Mode Control - LCD_WR_DATA(0x00); - LCD_WR_REG(0xB1); // Frame rate 70HZ - LCD_WR_DATA(0xB0); - LCD_WR_REG(0xB4); - LCD_WR_DATA(0x02); - LCD_WR_REG(0xB6); // RGB/MCU Interface Control - LCD_WR_DATA(0x02); - LCD_WR_DATA(0x02); - LCD_WR_REG(0xE9); - LCD_WR_DATA(0x00); - LCD_WR_REG(0XF7); - LCD_WR_DATA(0xA9); - LCD_WR_DATA(0x51); - LCD_WR_DATA(0x2C); - LCD_WR_DATA(0x82); - LCD_WR_REG(0x11); - Delay_ms(120); - LCD_WR_REG(0x29); - } - - void ILI9488_SetDirection(uint8_t rotate) - { - LCD_WR_REG(0X36); - - #ifdef PORTRAIT_MODE - LCD_WR_DATA(rotate ? ILI9488_270_DEGREE_REG_VALUE : ILI9488_90_DEGREE_REG_VALUE); - #else - LCD_WR_DATA(rotate ? ILI9488_180_DEGREE_REG_VALUE : ILI9488_0_DEGREE_REG_VALUE); - #endif - } - - void ILI9488_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) - { - LCD_WR_REG(0x2A); - LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); - LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); - LCD_WR_REG(0x2B); - LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); - LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); - LCD_WR_REG(0x2C); // Ready to write memory - } - - uint32_t ILI9488_ReadPixel_24Bit(int16_t x, int16_t y) - { - LCD_SetWindow(x, y, x, y); - LCD_WR_REG(0X2E); - Delay_us(1); - LCD_RD_DATA(); // Dummy read - - uint16_t rg, br; - rg = LCD_RD_DATA(); // First pixel R:8bit-G:8bit - br = LCD_RD_DATA(); // First pixel B:8bit - Second pixel R:8bit - - return ((rg) << 8) | ((br & 0xFF00) >> 8); // RG-B - } + return ((rg) << 8) | ((br & 0xFF00) >> 8); // RG-B +} #endif // LCD_DRIVER_HAS(ILI9488) diff --git a/TFT/src/User/Hal/LCD_Driver/NT35310.c b/TFT/src/User/Hal/LCD_Driver/NT35310.c index 422876f2b..d7f1c73e2 100644 --- a/TFT/src/User/Hal/LCD_Driver/NT35310.c +++ b/TFT/src/User/Hal/LCD_Driver/NT35310.c @@ -2,96 +2,99 @@ #if LCD_DRIVER_HAS(NT35310) - #include "NT35310.h" - - #define NT35310_0_DEGREE_REG_VALUE 0X60 - #define NT35310_180_DEGREE_REG_VALUE 0XA0 - #define NT35310_90_DEGREE_REG_VALUE 0XC0 - #define NT35310_270_DEGREE_REG_VALUE 0X00 - - uint8_t LCD_DriveIsNT35310(void) - { - uint16_t id = 0; - LCD_WR_REG(0XD4); - id = LCD_RD_DATA(); // dummy read - id = LCD_RD_DATA(); - id = LCD_RD_DATA(); - id <<= 8; - - id |= LCD_RD_DATA(); - return (id == 0x5310); - } - - void NT35310_Init_Sequential(void) - { - LCD_WR_REG(0xC0); - LCD_WR_DATA(0x0c); - LCD_WR_DATA(0x02); - LCD_WR_REG(0xC1); - LCD_WR_DATA(0x44); - LCD_WR_REG(0xC5); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x16); - LCD_WR_DATA(0x80); - LCD_WR_REG(0x36); - LCD_WR_DATA(0X60); - LCD_WR_REG(0x3A); // Interface Mode Control - LCD_WR_DATA(0x55); - LCD_WR_REG(0XB0); // Interface Mode Control - LCD_WR_DATA(0x00); - LCD_WR_REG(0xB1); // Frame rate 70HZ - LCD_WR_DATA(0xB0); - LCD_WR_REG(0xB4); - LCD_WR_DATA(0x02); - LCD_WR_REG(0xB6); // RGB/MCU Interface Control - LCD_WR_DATA(0x02); - LCD_WR_DATA(0x02); - LCD_WR_REG(0xE9); - LCD_WR_DATA(0x00); - LCD_WR_REG(0XF7); - LCD_WR_DATA(0xA9); - LCD_WR_DATA(0x51); - LCD_WR_DATA(0x2C); - LCD_WR_DATA(0x82); - LCD_WR_REG(0x11); - Delay_ms(120); - LCD_WR_REG(0x29); - } - - void NT35310_SetDirection(uint8_t rotate) - { - LCD_WR_REG(0X36); - - #ifdef PORTRAIT_MODE - LCD_WR_DATA(rotate ? NT35310_270_DEGREE_REG_VALUE : NT35310_90_DEGREE_REG_VALUE); - #else - LCD_WR_DATA(rotate ? NT35310_180_DEGREE_REG_VALUE : NT35310_0_DEGREE_REG_VALUE); - #endif - } - - void NT35310_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) - { - LCD_WR_REG(0x2A); - LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); - LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); - LCD_WR_REG(0x2B); - LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); - LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); - LCD_WR_REG(0x2C); // Ready to write memory - } - - uint32_t NT35310_ReadPixel_24Bit(int16_t x, int16_t y) - { - LCD_SetWindow(x, y, x, y); - LCD_WR_REG(0X2E); - Delay_us(1); - LCD_RD_DATA(); // Dummy read - - uint16_t rg, br; - rg = LCD_RD_DATA(); // First pixel R:8bit-G:8bit - br = LCD_RD_DATA(); // First pixel B:8bit - Second pixel R:8bit - - return ((rg) << 8) | ((br & 0xFF00) >> 8); // RG-B - } +#include "NT35310.h" + +#define NT35310_0_DEGREE_REG_VALUE 0X60 +#define NT35310_180_DEGREE_REG_VALUE 0XA0 +#define NT35310_90_DEGREE_REG_VALUE 0XC0 +#define NT35310_270_DEGREE_REG_VALUE 0X00 + +uint8_t LCD_DriveIsNT35310(void) +{ + uint16_t id = 0; + + LCD_WR_REG(0XD4); + id = LCD_RD_DATA(); // Dummy read + id = LCD_RD_DATA(); + id = LCD_RD_DATA(); + id <<= 8; + + id |= LCD_RD_DATA(); + + return (id == 0x5310); +} + +void NT35310_Init_Sequential(void) +{ + LCD_WR_REG(0xC0); + LCD_WR_DATA(0x0c); + LCD_WR_DATA(0x02); + LCD_WR_REG(0xC1); + LCD_WR_DATA(0x44); + LCD_WR_REG(0xC5); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x16); + LCD_WR_DATA(0x80); + LCD_WR_REG(0x36); + LCD_WR_DATA(0X60); + LCD_WR_REG(0x3A); // Interface Mode Control + LCD_WR_DATA(0x55); + LCD_WR_REG(0XB0); // Interface Mode Control + LCD_WR_DATA(0x00); + LCD_WR_REG(0xB1); // Frame rate 70HZ + LCD_WR_DATA(0xB0); + LCD_WR_REG(0xB4); + LCD_WR_DATA(0x02); + LCD_WR_REG(0xB6); // RGB/MCU Interface Control + LCD_WR_DATA(0x02); + LCD_WR_DATA(0x02); + LCD_WR_REG(0xE9); + LCD_WR_DATA(0x00); + LCD_WR_REG(0XF7); + LCD_WR_DATA(0xA9); + LCD_WR_DATA(0x51); + LCD_WR_DATA(0x2C); + LCD_WR_DATA(0x82); + LCD_WR_REG(0x11); + Delay_ms(120); + LCD_WR_REG(0x29); +} + +void NT35310_SetDirection(uint8_t rotate) +{ + LCD_WR_REG(0X36); + + #ifdef PORTRAIT_MODE + LCD_WR_DATA(rotate ? NT35310_270_DEGREE_REG_VALUE : NT35310_90_DEGREE_REG_VALUE); + #else + LCD_WR_DATA(rotate ? NT35310_180_DEGREE_REG_VALUE : NT35310_0_DEGREE_REG_VALUE); + #endif +} + +void NT35310_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) +{ + LCD_WR_REG(0x2A); + LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); + LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); + LCD_WR_REG(0x2B); + LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); + LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); + LCD_WR_REG(0x2C); // Ready to write memory +} + +uint32_t NT35310_ReadPixel_24Bit(int16_t x, int16_t y) +{ + LCD_SetWindow(x, y, x, y); + LCD_WR_REG(0X2E); + Delay_us(1); + LCD_RD_DATA(); // Dummy read + + uint16_t rg, br; + + rg = LCD_RD_DATA(); // First pixel R:8bit-G:8bit + br = LCD_RD_DATA(); // First pixel B:8bit - Second pixel R:8bit + + return ((rg) << 8) | ((br & 0xFF00) >> 8); // RG-B +} #endif // LCD_DRIVER_HAS(NT35310) diff --git a/TFT/src/User/Hal/LCD_Driver/RM68042.c b/TFT/src/User/Hal/LCD_Driver/RM68042.c index b9d28563c..e8266293d 100644 --- a/TFT/src/User/Hal/LCD_Driver/RM68042.c +++ b/TFT/src/User/Hal/LCD_Driver/RM68042.c @@ -2,97 +2,98 @@ #if LCD_DRIVER_HAS(RM68042) - #include "RM68042.h" +#include "RM68042.h" - #define RM68042_0_DEGREE_REG_VALUE 0X28 - #define RM68042_180_DEGREE_REG_VALUE 0X2B - #define RM68042_90_DEGREE_REG_VALUE 0x09 - #define RM68042_270_DEGREE_REG_VALUE 0x0A +#define RM68042_0_DEGREE_REG_VALUE 0X28 +#define RM68042_180_DEGREE_REG_VALUE 0X2B +#define RM68042_90_DEGREE_REG_VALUE 0x09 +#define RM68042_270_DEGREE_REG_VALUE 0x0A - void RM68042_Init_Sequential(void) - { - LCD_WR_REG(0X11); - Delay_ms(20); - LCD_WR_REG(0XD0); // VCI1 VCL VGH VGL DDVDH VREG1OUT power amplitude setting - LCD_WR_DATA(0X07); - LCD_WR_DATA(0X42); - LCD_WR_DATA(0X1C); - LCD_WR_REG(0XD1); // VCOMH VCOM_AC amplitude setting - LCD_WR_DATA(0X00); - LCD_WR_DATA(0X19); - LCD_WR_DATA(0X16); - LCD_WR_REG(0XD2); // Operational Amplifier Circuit Constant Current Adjust , charge pump frequency setting - LCD_WR_DATA(0X01); - LCD_WR_DATA(0X11); - LCD_WR_REG(0XE4); - LCD_WR_DATA(0X00A0); - LCD_WR_REG(0XF3); - LCD_WR_DATA(0X0000); - LCD_WR_DATA(0X002A); - LCD_WR_REG(0XC0); // REV SM GS - LCD_WR_DATA(0X10); - LCD_WR_DATA(0X3B); - LCD_WR_DATA(0X00); - LCD_WR_DATA(0X02); - LCD_WR_DATA(0X11); - LCD_WR_REG(0XC5); // Frame rate setting = 72HZ when setting 0x03 - LCD_WR_DATA(0X03); - LCD_WR_REG(0XC8); // Gamma setting - LCD_WR_DATA(0X00); - LCD_WR_DATA(0X35); - LCD_WR_DATA(0X23); - LCD_WR_DATA(0X07); - LCD_WR_DATA(0X00); - LCD_WR_DATA(0X04); - LCD_WR_DATA(0X45); - LCD_WR_DATA(0X53); - LCD_WR_DATA(0X77); - LCD_WR_DATA(0X70); - LCD_WR_DATA(0X00); - LCD_WR_DATA(0X04); - LCD_WR_REG(0X20); // Exit invert mode - LCD_WR_REG(0X36); - LCD_WR_DATA(0X28); - LCD_WR_REG(0X3A); - LCD_WR_DATA(0X55); // 16λģʽ - Delay_ms(120); - LCD_WR_REG(0X29); - } +void RM68042_Init_Sequential(void) +{ + LCD_WR_REG(0X11); + Delay_ms(20); + LCD_WR_REG(0XD0); // VCI1 VCL VGH VGL DDVDH VREG1OUT power amplitude setting + LCD_WR_DATA(0X07); + LCD_WR_DATA(0X42); + LCD_WR_DATA(0X1C); + LCD_WR_REG(0XD1); // VCOMH VCOM_AC amplitude setting + LCD_WR_DATA(0X00); + LCD_WR_DATA(0X19); + LCD_WR_DATA(0X16); + LCD_WR_REG(0XD2); // Operational Amplifier Circuit Constant Current Adjust , charge pump frequency setting + LCD_WR_DATA(0X01); + LCD_WR_DATA(0X11); + LCD_WR_REG(0XE4); + LCD_WR_DATA(0X00A0); + LCD_WR_REG(0XF3); + LCD_WR_DATA(0X0000); + LCD_WR_DATA(0X002A); + LCD_WR_REG(0XC0); // REV SM GS + LCD_WR_DATA(0X10); + LCD_WR_DATA(0X3B); + LCD_WR_DATA(0X00); + LCD_WR_DATA(0X02); + LCD_WR_DATA(0X11); + LCD_WR_REG(0XC5); // Frame rate setting = 72HZ when setting 0x03 + LCD_WR_DATA(0X03); + LCD_WR_REG(0XC8); // Gamma setting + LCD_WR_DATA(0X00); + LCD_WR_DATA(0X35); + LCD_WR_DATA(0X23); + LCD_WR_DATA(0X07); + LCD_WR_DATA(0X00); + LCD_WR_DATA(0X04); + LCD_WR_DATA(0X45); + LCD_WR_DATA(0X53); + LCD_WR_DATA(0X77); + LCD_WR_DATA(0X70); + LCD_WR_DATA(0X00); + LCD_WR_DATA(0X04); + LCD_WR_REG(0X20); // Exit invert mode + LCD_WR_REG(0X36); + LCD_WR_DATA(0X28); + LCD_WR_REG(0X3A); + LCD_WR_DATA(0X55); // 16λģʽ + Delay_ms(120); + LCD_WR_REG(0X29); +} - void RM68042_SetDirection(uint8_t rotate) - { - LCD_WR_REG(0X36); - - #ifdef PORTRAIT_MODE - LCD_WR_DATA(rotate ? RM68042_270_DEGREE_REG_VALUE : RM68042_90_DEGREE_REG_VALUE); - #else - LCD_WR_DATA(rotate ? RM68042_180_DEGREE_REG_VALUE : RM68042_0_DEGREE_REG_VALUE); - #endif - } +void RM68042_SetDirection(uint8_t rotate) +{ + LCD_WR_REG(0X36); - void RM68042_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) - { - LCD_WR_REG(0x2A); - LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); - LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); - LCD_WR_REG(0x2B); - LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); - LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); - LCD_WR_REG(0x2C); // Ready to write memory - } + #ifdef PORTRAIT_MODE + LCD_WR_DATA(rotate ? RM68042_270_DEGREE_REG_VALUE : RM68042_90_DEGREE_REG_VALUE); + #else + LCD_WR_DATA(rotate ? RM68042_180_DEGREE_REG_VALUE : RM68042_0_DEGREE_REG_VALUE); + #endif +} - uint32_t RM68042_ReadPixel_24Bit(int16_t x, int16_t y) - { - LCD_SetWindow(x, y, x, y); - LCD_WR_REG(0X2E); - Delay_us(1); - LCD_RD_DATA(); // Dummy read +void RM68042_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) +{ + LCD_WR_REG(0x2A); + LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); + LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); + LCD_WR_REG(0x2B); + LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); + LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); + LCD_WR_REG(0x2C); // Ready to write memory +} - uint16_t rg, br; - rg = LCD_RD_DATA(); // First pixel R:8bit-G:8bit - br = LCD_RD_DATA(); // First pixel B:8bit - Second pixel R:8bit +uint32_t RM68042_ReadPixel_24Bit(int16_t x, int16_t y) +{ + LCD_SetWindow(x, y, x, y); + LCD_WR_REG(0X2E); + Delay_us(1); + LCD_RD_DATA(); // Dummy read - return ((rg) << 8) | ((br & 0xFF00) >> 8); // RG-B - } + uint16_t rg, br; + + rg = LCD_RD_DATA(); // First pixel R:8bit-G:8bit + br = LCD_RD_DATA(); // First pixel B:8bit - Second pixel R:8bit + + return ((rg) << 8) | ((br & 0xFF00) >> 8); // RG-B +} #endif // LCD_DRIVER_HAS(RM68042) diff --git a/TFT/src/User/Hal/LCD_Driver/SSD1963.c b/TFT/src/User/Hal/LCD_Driver/SSD1963.c index eb763fcf5..86c0b5a1a 100644 --- a/TFT/src/User/Hal/LCD_Driver/SSD1963.c +++ b/TFT/src/User/Hal/LCD_Driver/SSD1963.c @@ -2,119 +2,121 @@ #if LCD_DRIVER_HAS(SSD1963) - #include "SSD1963.h" +#include "SSD1963.h" - #define SSD1963_0_DEGREE_REG_VALUE 0x00 - #define SSD1963_180_DEGREE_REG_VALUE 0x03 - #define SSD1963_90_DEGREE_REG_VALUE 0x21 - #define SSD1963_270_DEGREE_REG_VALUE 0x22 +#define SSD1963_0_DEGREE_REG_VALUE 0x00 +#define SSD1963_180_DEGREE_REG_VALUE 0x03 +#define SSD1963_90_DEGREE_REG_VALUE 0x21 +#define SSD1963_270_DEGREE_REG_VALUE 0x22 + +#ifdef PORTRAIT_MODE + #define SSD1963_CMD_SET_X 0x2B + #define SSD1963_CMD_SET_Y 0x2A +#else + #define SSD1963_CMD_SET_X 0x2A + #define SSD1963_CMD_SET_Y 0x2B +#endif + +// SSD1963 resolution max:864*480 +#define SSD_HOR_RESOLUTION LCD_HARDWARE_WIDTH // LCD width pixel +#define SSD_VER_RESOLUTION LCD_HARDWARE_HEIGHT // LCD height pixel + +#define SSD_HT (SSD_HOR_RESOLUTION+SSD_HOR_BACK_PORCH+SSD_HOR_FRONT_PORCH) +#define SSD_HPS (SSD_HOR_BACK_PORCH) +#define SSD_VT (SSD_VER_RESOLUTION+SSD_VER_BACK_PORCH+SSD_VER_FRONT_PORCH) +#define SSD_VPS (SSD_VER_BACK_PORCH) + +void SSD1963_Init_Sequential(void) +{ + uint32_t LCDC_FPR; + + LCD_WR_REG(0xE2); // Set PLL with OSC = 25MHz (hardware), 250Mhz < VC0 < 800Mhz + LCD_WR_DATA(0x17); // M = 0x17 = 23, VCO = 25Mhz * (M + 1) = 25 * 24 = 600Mhz + LCD_WR_DATA(0x04); // N = 0x04 = 4, PLL = VCO / (N + 1) = 600 / 5 = 120Mhz + LCD_WR_DATA(0x54); // C[2] = 1, Effectuate the multiplier and divider value + LCD_WR_REG(0xE0); // Start PLL command + LCD_WR_DATA(0x01); // Enable PLL + Delay_ms(10); + LCD_WR_REG(0xE0); // Start PLL command again + LCD_WR_DATA(0x03); // Now, use PLL output as system clock + Delay_ms(10); + LCD_WR_REG(0x01); // Soft reset + Delay_ms(100); + LCDC_FPR = (SSD_DCLK_FREQUENCY * 1048576) / 120 -1; // DCLK Frequency = PLL * (LCDC_FPR + 1)/1048576, LCDC_FPR = (DCLK Frequency * 1048576) / PLL - 1 + LCD_WR_REG(0xE6); // 12Mhz = 120Mhz * (LCDC_FPR + 1)/1048576, LCDC_FPR = 104856.6 = 0x019998 + LCD_WR_DATA((LCDC_FPR >> 16) & 0xFF); + LCD_WR_DATA((LCDC_FPR >> 8) & 0xFF); + LCD_WR_DATA(LCDC_FPR & 0xFF); + LCD_WR_REG(0xB0); // Set LCD mode + LCD_WR_DATA(0x00); // 0x00: 16bits data, 0x20: 24bits data + LCD_WR_DATA(0x00); // 0x00: TFT Mode + LCD_WR_DATA((SSD_HOR_RESOLUTION - 1) >> 8); // LCD width pixel + LCD_WR_DATA((SSD_HOR_RESOLUTION - 1) & 0xFF); + LCD_WR_DATA((SSD_VER_RESOLUTION - 1) >> 8); // LCD height pixel + LCD_WR_DATA((SSD_VER_RESOLUTION - 1) & 0xFF); + LCD_WR_DATA(0x00); // RGB format + LCD_WR_REG(0xB4); // Set horizontal period + LCD_WR_DATA((SSD_HT - 1) >> 8); // Horizontal total period (display + non-display) in pixel clock + LCD_WR_DATA(SSD_HT - 1); + LCD_WR_DATA(SSD_HPS >> 8); // Non-display period between the start of the horizontal sync (LLINE) signal and the first display data + LCD_WR_DATA(SSD_HPS); + LCD_WR_DATA(SSD_HOR_PULSE_WIDTH - 1); // Horizontal sync pulse width (LLINE) in pixel clock + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x00); + LCD_WR_REG(0xB6); // Set vertical period + LCD_WR_DATA((SSD_VT - 1) >> 8); + LCD_WR_DATA(SSD_VT - 1); + LCD_WR_DATA(SSD_VPS >> 8); + LCD_WR_DATA(SSD_VPS); + LCD_WR_DATA(SSD_VER_FRONT_PORCH - 1); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x00); + LCD_WR_REG(0xF0); // Set pixel data interface format + LCD_WR_DATA(0x03); // 16-bit(565 format) data for 16bpp + LCD_WR_REG(0xBC); // Post processor for contrast/brightness/saturation + LCD_WR_DATA(0x34); // Contrast value (0-127). Set to 52 to reduce banding/flickering + LCD_WR_DATA(0x77); // Brightness value (0-127). Set to 119 to reduce banding/flickering + LCD_WR_DATA(0x48); // Saturation value (0-127) + LCD_WR_DATA(0x01); // Enable/disable the postprocessor for contrast/brightness/saturation (1-0) + LCD_WR_REG(0x29); // Set display on + + LCD_WR_REG(0x36); // Set address mode + LCD_WR_DATA(0x00); +} + +void SSD1963_SetDirection(uint8_t rotate) +{ + LCD_WR_REG(0X36); #ifdef PORTRAIT_MODE - #define SSD1963_CMD_SET_X 0x2B - #define SSD1963_CMD_SET_Y 0x2A + LCD_WR_DATA(rotate ? SSD1963_270_DEGREE_REG_VALUE : SSD1963_90_DEGREE_REG_VALUE); #else - #define SSD1963_CMD_SET_X 0x2A - #define SSD1963_CMD_SET_Y 0x2B + LCD_WR_DATA(rotate ? SSD1963_180_DEGREE_REG_VALUE : SSD1963_0_DEGREE_REG_VALUE); #endif +} + +void SSD1963_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) +{ + LCD_WR_REG(SSD1963_CMD_SET_X); + LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); + LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); + LCD_WR_REG(SSD1963_CMD_SET_Y); + LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); + LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); + LCD_WR_REG(0x2C); // Ready to write memory +} + +uint32_t SSD1963_ReadPixel_24Bit(int16_t x, int16_t y) +{ + LCD_SetWindow(x, y, x, y); + LCD_WR_REG(0X2E); + Delay_us(1); + + GUI_COLOR pix; + pix.color = LCD_RD_DATA(); - // SSD1963 resolution max:864*480 - #define SSD_HOR_RESOLUTION LCD_HARDWARE_WIDTH // LCD width pixel - #define SSD_VER_RESOLUTION LCD_HARDWARE_HEIGHT // LCD height pixel - - #define SSD_HT (SSD_HOR_RESOLUTION+SSD_HOR_BACK_PORCH+SSD_HOR_FRONT_PORCH) - #define SSD_HPS (SSD_HOR_BACK_PORCH) - #define SSD_VT (SSD_VER_RESOLUTION+SSD_VER_BACK_PORCH+SSD_VER_FRONT_PORCH) - #define SSD_VPS (SSD_VER_BACK_PORCH) - - void SSD1963_Init_Sequential(void) - { - uint32_t LCDC_FPR; - LCD_WR_REG(0xE2); // Set PLL with OSC = 25MHz (hardware), 250Mhz < VC0 < 800Mhz - LCD_WR_DATA(0x17); // M = 0x17 = 23, VCO = 25Mhz * (M + 1) = 25 * 24 = 600Mhz - LCD_WR_DATA(0x04); // N = 0x04 = 4, PLL = VCO / (N + 1) = 600 / 5 = 120Mhz - LCD_WR_DATA(0x54); // C[2] = 1, Effectuate the multiplier and divider value - LCD_WR_REG(0xE0); // Start PLL command - LCD_WR_DATA(0x01); // enable PLL - Delay_ms(10); - LCD_WR_REG(0xE0); // Start PLL command again - LCD_WR_DATA(0x03); // now, use PLL output as system clock - Delay_ms(10); - LCD_WR_REG(0x01); // Soft reset - Delay_ms(100); - LCDC_FPR = (SSD_DCLK_FREQUENCY * 1048576) / 120 -1; // DCLK Frequency = PLL * (LCDC_FPR + 1)/1048576, LCDC_FPR = (DCLK Frequency * 1048576) / PLL - 1 - LCD_WR_REG(0xE6); // 12Mhz = 120Mhz * (LCDC_FPR + 1)/1048576, LCDC_FPR = 104856.6 = 0x019998 - LCD_WR_DATA((LCDC_FPR >> 16) & 0xFF); - LCD_WR_DATA((LCDC_FPR >> 8) & 0xFF); - LCD_WR_DATA(LCDC_FPR & 0xFF); - LCD_WR_REG(0xB0); // Set LCD mode - LCD_WR_DATA(0x00); // 0x00: 16bits data, 0x20: 24bits data - LCD_WR_DATA(0x00); // 0x00: TFT Mode - LCD_WR_DATA((SSD_HOR_RESOLUTION - 1) >> 8); // LCD width pixel - LCD_WR_DATA((SSD_HOR_RESOLUTION - 1) & 0xFF); - LCD_WR_DATA((SSD_VER_RESOLUTION - 1) >> 8); // LCD height pixel - LCD_WR_DATA((SSD_VER_RESOLUTION - 1) & 0xFF); - LCD_WR_DATA(0x00); // RGB format - LCD_WR_REG(0xB4); // Set horizontal period - LCD_WR_DATA((SSD_HT - 1) >> 8); // Horizontal total period (display + non-display) in pixel clock - LCD_WR_DATA(SSD_HT - 1); - LCD_WR_DATA(SSD_HPS >> 8); // Non-display period between the start of the horizontal sync (LLINE) signal and the first display data - LCD_WR_DATA(SSD_HPS); - LCD_WR_DATA(SSD_HOR_PULSE_WIDTH - 1); // horizontal sync pulse width (LLINE) in pixel clock - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x00); - LCD_WR_REG(0xB6); // Set vertical period - LCD_WR_DATA((SSD_VT - 1) >> 8); - LCD_WR_DATA(SSD_VT - 1); - LCD_WR_DATA(SSD_VPS >> 8); - LCD_WR_DATA(SSD_VPS); - LCD_WR_DATA(SSD_VER_FRONT_PORCH - 1); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x00); - LCD_WR_REG(0xF0); // Set pixel data interface format - LCD_WR_DATA(0x03); // 16-bit(565 format) data for 16bpp - LCD_WR_REG(0xBC); // postprocessor for contrast/brightness/saturation. - LCD_WR_DATA(0x34); // Contrast value (0-127). Set to 52 to reduce banding/flickering. - LCD_WR_DATA(0x77); // Brightness value (0-127). Set to 119 to reduce banding/flickering. - LCD_WR_DATA(0x48); // Saturation value (0-127). - LCD_WR_DATA(0x01); // Enable/disable the postprocessor for contrast/brightness/saturation (1-0). - LCD_WR_REG(0x29); // Set display on - - LCD_WR_REG(0x36); // Set address mode - LCD_WR_DATA(0x00); - } - - void SSD1963_SetDirection(uint8_t rotate) - { - LCD_WR_REG(0X36); - - #ifdef PORTRAIT_MODE - LCD_WR_DATA(rotate ? SSD1963_270_DEGREE_REG_VALUE : SSD1963_90_DEGREE_REG_VALUE); - #else - LCD_WR_DATA(rotate ? SSD1963_180_DEGREE_REG_VALUE : SSD1963_0_DEGREE_REG_VALUE); - #endif - } - - void SSD1963_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) - { - LCD_WR_REG(SSD1963_CMD_SET_X); - LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); - LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); - LCD_WR_REG(SSD1963_CMD_SET_Y); - LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); - LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); - LCD_WR_REG(0x2C); // Ready to write memory - } - - uint32_t SSD1963_ReadPixel_24Bit(int16_t x, int16_t y) - { - LCD_SetWindow(x, y, x, y); - LCD_WR_REG(0X2E); - Delay_us(1); - - GUI_COLOR pix; - pix.color = LCD_RD_DATA(); - return (pix.RGB.r << 19) | (pix.RGB.g << 10) | (pix.RGB.b << 3); - } + return (pix.RGB.r << 19) | (pix.RGB.g << 10) | (pix.RGB.b << 3); +} #endif // LCD_DRIVER_HAS(SSD1963) diff --git a/TFT/src/User/Hal/LCD_Driver/ST7789.c b/TFT/src/User/Hal/LCD_Driver/ST7789.c index 40431c0df..a347c7ebc 100644 --- a/TFT/src/User/Hal/LCD_Driver/ST7789.c +++ b/TFT/src/User/Hal/LCD_Driver/ST7789.c @@ -2,115 +2,116 @@ #if LCD_DRIVER_HAS(ST7789) - #include "ST7789.h" +#include "ST7789.h" - #define ST7789_0_DEGREE_REG_VALUE 0X60 - #define ST7789_180_DEGREE_REG_VALUE 0XA0 - #define ST7789_90_DEGREE_REG_VALUE 0XC0 - #define ST7789_270_DEGREE_REG_VALUE 0X00 +#define ST7789_0_DEGREE_REG_VALUE 0X60 +#define ST7789_180_DEGREE_REG_VALUE 0XA0 +#define ST7789_90_DEGREE_REG_VALUE 0XC0 +#define ST7789_270_DEGREE_REG_VALUE 0X00 - void ST7789_Init_Sequential(void) - { - LCD_WR_REG(0x11); - Delay_ms(120); // Delay 120ms - //------------------------------display and color format setting------------------------------// - LCD_WR_REG(0x36); - LCD_WR_DATA(0x68); - LCD_WR_REG(0x3a); - LCD_WR_DATA(0x05); - //--------------------------------ST7789V Frame rate setting----------------------------------// - LCD_WR_REG(0xb2); - LCD_WR_DATA(0x0c); - LCD_WR_DATA(0x0c); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x33); - LCD_WR_DATA(0x33); - LCD_WR_REG(0xb7); - LCD_WR_DATA(0x35); - //---------------------------------ST7789V Power setting--------------------------------------// - LCD_WR_REG(0xbb); - LCD_WR_DATA(0x28); - LCD_WR_REG(0xc0); - LCD_WR_DATA(0x2c); - LCD_WR_REG(0xc2); - LCD_WR_DATA(0x01); - LCD_WR_REG(0xc3); - LCD_WR_DATA(0x0b); - LCD_WR_REG(0xc4); - LCD_WR_DATA(0x20); - LCD_WR_REG(0xc6); - LCD_WR_DATA(0x0f); - LCD_WR_REG(0xd0); - LCD_WR_DATA(0xa4); - LCD_WR_DATA(0xa1); - //--------------------------------ST7789V gamma setting---------------------------------------// - LCD_WR_REG(0xe0); - LCD_WR_DATA(0xd0); - LCD_WR_DATA(0x01); - LCD_WR_DATA(0x08); - LCD_WR_DATA(0x0f); - LCD_WR_DATA(0x11); - LCD_WR_DATA(0x2a); - LCD_WR_DATA(0x36); - LCD_WR_DATA(0x55); - LCD_WR_DATA(0x44); - LCD_WR_DATA(0x3a); - LCD_WR_DATA(0x0b); - LCD_WR_DATA(0x06); - LCD_WR_DATA(0x11); - LCD_WR_DATA(0x20); - LCD_WR_REG(0xe1); - LCD_WR_DATA(0xd0); - LCD_WR_DATA(0x02); - LCD_WR_DATA(0x07); - LCD_WR_DATA(0x0a); - LCD_WR_DATA(0x0b); - LCD_WR_DATA(0x18); - LCD_WR_DATA(0x34); - LCD_WR_DATA(0x43); - LCD_WR_DATA(0x4a); - LCD_WR_DATA(0x2b); - LCD_WR_DATA(0x1b); - LCD_WR_DATA(0x1c); - LCD_WR_DATA(0x22); - LCD_WR_DATA(0x1f); - LCD_WR_REG(0x29); - } +void ST7789_Init_Sequential(void) +{ + LCD_WR_REG(0x11); + Delay_ms(120); // Delay 120ms + //------------------------------display and color format setting------------------------------// + LCD_WR_REG(0x36); + LCD_WR_DATA(0x68); + LCD_WR_REG(0x3a); + LCD_WR_DATA(0x05); + //--------------------------------ST7789V Frame rate setting----------------------------------// + LCD_WR_REG(0xb2); + LCD_WR_DATA(0x0c); + LCD_WR_DATA(0x0c); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x33); + LCD_WR_DATA(0x33); + LCD_WR_REG(0xb7); + LCD_WR_DATA(0x35); + //---------------------------------ST7789V Power setting--------------------------------------// + LCD_WR_REG(0xbb); + LCD_WR_DATA(0x28); + LCD_WR_REG(0xc0); + LCD_WR_DATA(0x2c); + LCD_WR_REG(0xc2); + LCD_WR_DATA(0x01); + LCD_WR_REG(0xc3); + LCD_WR_DATA(0x0b); + LCD_WR_REG(0xc4); + LCD_WR_DATA(0x20); + LCD_WR_REG(0xc6); + LCD_WR_DATA(0x0f); + LCD_WR_REG(0xd0); + LCD_WR_DATA(0xa4); + LCD_WR_DATA(0xa1); + //--------------------------------ST7789V gamma setting---------------------------------------// + LCD_WR_REG(0xe0); + LCD_WR_DATA(0xd0); + LCD_WR_DATA(0x01); + LCD_WR_DATA(0x08); + LCD_WR_DATA(0x0f); + LCD_WR_DATA(0x11); + LCD_WR_DATA(0x2a); + LCD_WR_DATA(0x36); + LCD_WR_DATA(0x55); + LCD_WR_DATA(0x44); + LCD_WR_DATA(0x3a); + LCD_WR_DATA(0x0b); + LCD_WR_DATA(0x06); + LCD_WR_DATA(0x11); + LCD_WR_DATA(0x20); + LCD_WR_REG(0xe1); + LCD_WR_DATA(0xd0); + LCD_WR_DATA(0x02); + LCD_WR_DATA(0x07); + LCD_WR_DATA(0x0a); + LCD_WR_DATA(0x0b); + LCD_WR_DATA(0x18); + LCD_WR_DATA(0x34); + LCD_WR_DATA(0x43); + LCD_WR_DATA(0x4a); + LCD_WR_DATA(0x2b); + LCD_WR_DATA(0x1b); + LCD_WR_DATA(0x1c); + LCD_WR_DATA(0x22); + LCD_WR_DATA(0x1f); + LCD_WR_REG(0x29); +} - void ST7789_SetDirection(uint8_t rotate) - { - LCD_WR_REG(0X36); - - #ifdef PORTRAIT_MODE - LCD_WR_DATA(rotate ? ST7789_270_DEGREE_REG_VALUE : ST7789_90_DEGREE_REG_VALUE); - #else - LCD_WR_DATA(rotate ? ST7789_180_DEGREE_REG_VALUE : ST7789_0_DEGREE_REG_VALUE); - #endif - } +void ST7789_SetDirection(uint8_t rotate) +{ + LCD_WR_REG(0X36); - void ST7789_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) - { - LCD_WR_REG(0x2A); - LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); - LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); - LCD_WR_REG(0x2B); - LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); - LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); - LCD_WR_REG(0x2C); // Ready to write memory - } + #ifdef PORTRAIT_MODE + LCD_WR_DATA(rotate ? ST7789_270_DEGREE_REG_VALUE : ST7789_90_DEGREE_REG_VALUE); + #else + LCD_WR_DATA(rotate ? ST7789_180_DEGREE_REG_VALUE : ST7789_0_DEGREE_REG_VALUE); + #endif +} - uint32_t ST7789_ReadPixel_24Bit(int16_t x, int16_t y) - { - LCD_SetWindow(x, y, x, y); - LCD_WR_REG(0X2E); - Delay_us(1); - LCD_RD_DATA(); // Dummy read +void ST7789_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) +{ + LCD_WR_REG(0x2A); + LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); + LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); + LCD_WR_REG(0x2B); + LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); + LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); + LCD_WR_REG(0x2C); // Ready to write memory +} - uint16_t rg, br; - rg = LCD_RD_DATA(); // First pixel R:8bit-G:8bit - br = LCD_RD_DATA(); // First pixel B:8bit - Second pixel R:8bit +uint32_t ST7789_ReadPixel_24Bit(int16_t x, int16_t y) +{ + LCD_SetWindow(x, y, x, y); + LCD_WR_REG(0X2E); + Delay_us(1); + LCD_RD_DATA(); // Dummy read - return ((rg) << 8) | ((br & 0xFF00) >> 8); // RG-B - } + uint16_t rg, br; + + rg = LCD_RD_DATA(); // First pixel R:8bit-G:8bit + br = LCD_RD_DATA(); // First pixel B:8bit - Second pixel R:8bit + + return ((rg) << 8) | ((br & 0xFF00) >> 8); // RG-B +} #endif // LCD_DRIVER_HAS(ST7789) diff --git a/TFT/src/User/Hal/LCD_Driver/ST7796S.c b/TFT/src/User/Hal/LCD_Driver/ST7796S.c index eeddc85fa..7d32a2caa 100644 --- a/TFT/src/User/Hal/LCD_Driver/ST7796S.c +++ b/TFT/src/User/Hal/LCD_Driver/ST7796S.c @@ -2,93 +2,96 @@ #if LCD_DRIVER_HAS(ST7796S) - #include "ST7796S.h" +#include "ST7796S.h" - #define ST7796S_0_DEGREE_REG_VALUE 0X28 - #define ST7796S_180_DEGREE_REG_VALUE 0XE8 - #define ST7796S_90_DEGREE_REG_VALUE 0X88 - #define ST7796S_270_DEGREE_REG_VALUE 0X48 +#define ST7796S_0_DEGREE_REG_VALUE 0X28 +#define ST7796S_180_DEGREE_REG_VALUE 0XE8 +#define ST7796S_90_DEGREE_REG_VALUE 0X88 +#define ST7796S_270_DEGREE_REG_VALUE 0X48 - uint8_t LCD_DriveIsST7796S(void) - { - uint16_t id = 0; - LCD_WR_REG(0XD3); - id = LCD_RD_DATA(); // dummy read - id = LCD_RD_DATA(); - id = LCD_RD_DATA(); - id <<= 8; +uint8_t LCD_DriveIsST7796S(void) +{ + uint16_t id = 0; - id |= LCD_RD_DATA(); - return (id == 0x7796); - } + LCD_WR_REG(0XD3); + id = LCD_RD_DATA(); // Dummy read + id = LCD_RD_DATA(); + id = LCD_RD_DATA(); + id <<= 8; - void ST7796S_Init_Sequential(void) - { - LCD_WR_REG(0xC0); - LCD_WR_DATA(0x0c); - LCD_WR_DATA(0x02); - LCD_WR_REG(0xC1); - LCD_WR_DATA(0x44); - LCD_WR_REG(0xC5); - LCD_WR_DATA(0x00); - LCD_WR_DATA(0x16); - LCD_WR_DATA(0x80); - LCD_WR_REG(0x36); - LCD_WR_DATA(0x28); - LCD_WR_REG(0x3A); // Interface Mode Control - LCD_WR_DATA(0x55); - LCD_WR_REG(0XB0); // Interface Mode Control - LCD_WR_DATA(0x00); - LCD_WR_REG(0xB1); // Frame rate 70HZ - LCD_WR_DATA(0xB0); - LCD_WR_REG(0xB4); - LCD_WR_DATA(0x02); - LCD_WR_REG(0xB6); // RGB/MCU Interface Control - LCD_WR_DATA(0x02); - LCD_WR_DATA(0x02); - LCD_WR_REG(0xE9); - LCD_WR_DATA(0x00); - LCD_WR_REG(0XF7); - LCD_WR_DATA(0xA9); - LCD_WR_DATA(0x51); - LCD_WR_DATA(0x2C); - LCD_WR_DATA(0x82); - LCD_WR_REG(0x11); - Delay_ms(120); - LCD_WR_REG(0x29); - } + id |= LCD_RD_DATA(); - void ST7796S_SetDirection(uint8_t rotate) - { - LCD_WR_REG(0X36); - - #ifdef PORTRAIT_MODE - LCD_WR_DATA(rotate ? ST7796S_270_DEGREE_REG_VALUE : ST7796S_90_DEGREE_REG_VALUE); - #else - LCD_WR_DATA(rotate ? ST7796S_180_DEGREE_REG_VALUE : ST7796S_0_DEGREE_REG_VALUE); - #endif - } + return (id == 0x7796); +} - void ST7796S_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) - { - LCD_WR_REG(0x2A); - LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); - LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); - LCD_WR_REG(0x2B); - LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); - LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); - LCD_WR_REG(0x2C); // Ready to write memory - } +void ST7796S_Init_Sequential(void) +{ + LCD_WR_REG(0xC0); + LCD_WR_DATA(0x0c); + LCD_WR_DATA(0x02); + LCD_WR_REG(0xC1); + LCD_WR_DATA(0x44); + LCD_WR_REG(0xC5); + LCD_WR_DATA(0x00); + LCD_WR_DATA(0x16); + LCD_WR_DATA(0x80); + LCD_WR_REG(0x36); + LCD_WR_DATA(0x28); + LCD_WR_REG(0x3A); // Interface Mode Control + LCD_WR_DATA(0x55); + LCD_WR_REG(0XB0); // Interface Mode Control + LCD_WR_DATA(0x00); + LCD_WR_REG(0xB1); // Frame rate 70HZ + LCD_WR_DATA(0xB0); + LCD_WR_REG(0xB4); + LCD_WR_DATA(0x02); + LCD_WR_REG(0xB6); // RGB/MCU Interface Control + LCD_WR_DATA(0x02); + LCD_WR_DATA(0x02); + LCD_WR_REG(0xE9); + LCD_WR_DATA(0x00); + LCD_WR_REG(0XF7); + LCD_WR_DATA(0xA9); + LCD_WR_DATA(0x51); + LCD_WR_DATA(0x2C); + LCD_WR_DATA(0x82); + LCD_WR_REG(0x11); + Delay_ms(120); + LCD_WR_REG(0x29); +} - uint32_t ST7796S_ReadPixel_24Bit(int16_t x, int16_t y) - { - LCD_SetWindow(x, y, x, y); - LCD_WR_REG(0X2E); - Delay_us(1); +void ST7796S_SetDirection(uint8_t rotate) +{ + LCD_WR_REG(0X36); - GUI_COLOR pix; - pix.color = LCD_RD_DATA(); - return (pix.RGB.r << 19) | (pix.RGB.g << 10) | (pix.RGB.b << 3); - } + #ifdef PORTRAIT_MODE + LCD_WR_DATA(rotate ? ST7796S_270_DEGREE_REG_VALUE : ST7796S_90_DEGREE_REG_VALUE); + #else + LCD_WR_DATA(rotate ? ST7796S_180_DEGREE_REG_VALUE : ST7796S_0_DEGREE_REG_VALUE); + #endif +} + +void ST7796S_SetWindow(uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey) +{ + LCD_WR_REG(0x2A); + LCD_WR_DATA(sx>>8);LCD_WR_DATA(sx&0xFF); + LCD_WR_DATA(ex>>8);LCD_WR_DATA(ex&0xFF); + LCD_WR_REG(0x2B); + LCD_WR_DATA(sy>>8);LCD_WR_DATA(sy&0xFF); + LCD_WR_DATA(ey>>8);LCD_WR_DATA(ey&0xFF); + LCD_WR_REG(0x2C); // Ready to write memory +} + +uint32_t ST7796S_ReadPixel_24Bit(int16_t x, int16_t y) +{ + LCD_SetWindow(x, y, x, y); + LCD_WR_REG(0X2E); + Delay_us(1); + + GUI_COLOR pix; + pix.color = LCD_RD_DATA(); + + return (pix.RGB.r << 19) | (pix.RGB.g << 10) | (pix.RGB.b << 3); +} #endif // LCD_DRIVER_HAS(ST7796S) diff --git a/TFT/src/User/Hal/LCD_Encoder.h b/TFT/src/User/Hal/LCD_Encoder.h index 6b509cb96..657976d69 100644 --- a/TFT/src/User/Hal/LCD_Encoder.h +++ b/TFT/src/User/Hal/LCD_Encoder.h @@ -24,7 +24,7 @@ extern "C" { void LCD_Enc_SendPulse(uint8_t num); // send a pulse to the encoder bool LCD_Enc_CheckState(void); void LCD_Enc_CheckSteps(void); - KEY_VALUES LCD_Enc_KeyValue(void); // return a value from provided variables based on encoder position + KEY_VALUES LCD_Enc_KeyValue(void); // return a value from provided variables based on encoder position #endif #ifdef __cplusplus diff --git a/TFT/src/User/Hal/STM32Fxx_Pins.h b/TFT/src/User/Hal/STM32Fxx_Pins.h index 997b9904e..b2e611f94 100644 --- a/TFT/src/User/Hal/STM32Fxx_Pins.h +++ b/TFT/src/User/Hal/STM32Fxx_Pins.h @@ -27,12 +27,12 @@ extern "C" { #define PA7 ((_GPIOA_MAP<<8) | 7) #define PA8 ((_GPIOA_MAP<<8) | 8) #define PA9 ((_GPIOA_MAP<<8) | 9) -#define PA10 ((_GPIOA_MAP<<8) | 10) -#define PA11 ((_GPIOA_MAP<<8) | 11) -#define PA12 ((_GPIOA_MAP<<8) | 12) -#define PA13 ((_GPIOA_MAP<<8) | 13) -#define PA14 ((_GPIOA_MAP<<8) | 14) -#define PA15 ((_GPIOA_MAP<<8) | 15) +#define PA10 ((_GPIOA_MAP<<8) | 10) +#define PA11 ((_GPIOA_MAP<<8) | 11) +#define PA12 ((_GPIOA_MAP<<8) | 12) +#define PA13 ((_GPIOA_MAP<<8) | 13) +#define PA14 ((_GPIOA_MAP<<8) | 14) +#define PA15 ((_GPIOA_MAP<<8) | 15) #define PB0 ((_GPIOB_MAP<<8) | 0) #define PB1 ((_GPIOB_MAP<<8) | 1) @@ -44,12 +44,12 @@ extern "C" { #define PB7 ((_GPIOB_MAP<<8) | 7) #define PB8 ((_GPIOB_MAP<<8) | 8) #define PB9 ((_GPIOB_MAP<<8) | 9) -#define PB10 ((_GPIOB_MAP<<8) | 10) -#define PB11 ((_GPIOB_MAP<<8) | 11) -#define PB12 ((_GPIOB_MAP<<8) | 12) -#define PB13 ((_GPIOB_MAP<<8) | 13) -#define PB14 ((_GPIOB_MAP<<8) | 14) -#define PB15 ((_GPIOB_MAP<<8) | 15) +#define PB10 ((_GPIOB_MAP<<8) | 10) +#define PB11 ((_GPIOB_MAP<<8) | 11) +#define PB12 ((_GPIOB_MAP<<8) | 12) +#define PB13 ((_GPIOB_MAP<<8) | 13) +#define PB14 ((_GPIOB_MAP<<8) | 14) +#define PB15 ((_GPIOB_MAP<<8) | 15) #define PC0 ((_GPIOC_MAP<<8) | 0) #define PC1 ((_GPIOC_MAP<<8) | 1) @@ -61,12 +61,12 @@ extern "C" { #define PC7 ((_GPIOC_MAP<<8) | 7) #define PC8 ((_GPIOC_MAP<<8) | 8) #define PC9 ((_GPIOC_MAP<<8) | 9) -#define PC10 ((_GPIOC_MAP<<8) | 10) -#define PC11 ((_GPIOC_MAP<<8) | 11) -#define PC12 ((_GPIOC_MAP<<8) | 12) -#define PC13 ((_GPIOC_MAP<<8) | 13) -#define PC14 ((_GPIOC_MAP<<8) | 14) -#define PC15 ((_GPIOC_MAP<<8) | 15) +#define PC10 ((_GPIOC_MAP<<8) | 10) +#define PC11 ((_GPIOC_MAP<<8) | 11) +#define PC12 ((_GPIOC_MAP<<8) | 12) +#define PC13 ((_GPIOC_MAP<<8) | 13) +#define PC14 ((_GPIOC_MAP<<8) | 14) +#define PC15 ((_GPIOC_MAP<<8) | 15) #define PD0 ((_GPIOD_MAP<<8) | 0) #define PD1 ((_GPIOD_MAP<<8) | 1) @@ -78,12 +78,12 @@ extern "C" { #define PD7 ((_GPIOD_MAP<<8) | 7) #define PD8 ((_GPIOD_MAP<<8) | 8) #define PD9 ((_GPIOD_MAP<<8) | 9) -#define PD10 ((_GPIOD_MAP<<8) | 10) -#define PD11 ((_GPIOD_MAP<<8) | 11) -#define PD12 ((_GPIOD_MAP<<8) | 12) -#define PD13 ((_GPIOD_MAP<<8) | 13) -#define PD14 ((_GPIOD_MAP<<8) | 14) -#define PD15 ((_GPIOD_MAP<<8) | 15) +#define PD10 ((_GPIOD_MAP<<8) | 10) +#define PD11 ((_GPIOD_MAP<<8) | 11) +#define PD12 ((_GPIOD_MAP<<8) | 12) +#define PD13 ((_GPIOD_MAP<<8) | 13) +#define PD14 ((_GPIOD_MAP<<8) | 14) +#define PD15 ((_GPIOD_MAP<<8) | 15) #define PE0 ((_GPIOE_MAP<<8) | 0) #define PE1 ((_GPIOE_MAP<<8) | 1) @@ -95,12 +95,12 @@ extern "C" { #define PE7 ((_GPIOE_MAP<<8) | 7) #define PE8 ((_GPIOE_MAP<<8) | 8) #define PE9 ((_GPIOE_MAP<<8) | 9) -#define PE10 ((_GPIOE_MAP<<8) | 10) -#define PE11 ((_GPIOE_MAP<<8) | 11) -#define PE12 ((_GPIOE_MAP<<8) | 12) -#define PE13 ((_GPIOE_MAP<<8) | 13) -#define PE14 ((_GPIOE_MAP<<8) | 14) -#define PE15 ((_GPIOE_MAP<<8) | 15) +#define PE10 ((_GPIOE_MAP<<8) | 10) +#define PE11 ((_GPIOE_MAP<<8) | 11) +#define PE12 ((_GPIOE_MAP<<8) | 12) +#define PE13 ((_GPIOE_MAP<<8) | 13) +#define PE14 ((_GPIOE_MAP<<8) | 14) +#define PE15 ((_GPIOE_MAP<<8) | 15) #define PF0 ((_GPIOF_MAP<<8) | 0) #define PF1 ((_GPIOF_MAP<<8) | 1) @@ -112,12 +112,12 @@ extern "C" { #define PF7 ((_GPIOF_MAP<<8) | 7) #define PF8 ((_GPIOF_MAP<<8) | 8) #define PF9 ((_GPIOF_MAP<<8) | 9) -#define PF10 ((_GPIOF_MAP<<8) | 10) -#define PF11 ((_GPIOF_MAP<<8) | 11) -#define PF12 ((_GPIOF_MAP<<8) | 12) -#define PF13 ((_GPIOF_MAP<<8) | 13) -#define PF14 ((_GPIOF_MAP<<8) | 14) -#define PF15 ((_GPIOF_MAP<<8) | 15) +#define PF10 ((_GPIOF_MAP<<8) | 10) +#define PF11 ((_GPIOF_MAP<<8) | 11) +#define PF12 ((_GPIOF_MAP<<8) | 12) +#define PF13 ((_GPIOF_MAP<<8) | 13) +#define PF14 ((_GPIOF_MAP<<8) | 14) +#define PF15 ((_GPIOF_MAP<<8) | 15) #define PG0 ((_GPIOG_MAP<<8) | 0) #define PG1 ((_GPIOG_MAP<<8) | 1) @@ -129,12 +129,12 @@ extern "C" { #define PG7 ((_GPIOG_MAP<<8) | 7) #define PG8 ((_GPIOG_MAP<<8) | 8) #define PG9 ((_GPIOG_MAP<<8) | 9) -#define PG10 ((_GPIOG_MAP<<8) | 10) -#define PG11 ((_GPIOG_MAP<<8) | 11) -#define PG12 ((_GPIOG_MAP<<8) | 12) -#define PG13 ((_GPIOG_MAP<<8) | 13) -#define PG14 ((_GPIOG_MAP<<8) | 14) -#define PG15 ((_GPIOG_MAP<<8) | 15) +#define PG10 ((_GPIOG_MAP<<8) | 10) +#define PG11 ((_GPIOG_MAP<<8) | 11) +#define PG12 ((_GPIOG_MAP<<8) | 12) +#define PG13 ((_GPIOG_MAP<<8) | 13) +#define PG14 ((_GPIOG_MAP<<8) | 14) +#define PG15 ((_GPIOG_MAP<<8) | 15) #define PH0 ((_GPIOH_MAP<<8) | 0) #define PH1 ((_GPIOH_MAP<<8) | 1) @@ -146,12 +146,12 @@ extern "C" { #define PH7 ((_GPIOH_MAP<<8) | 7) #define PH8 ((_GPIOH_MAP<<8) | 8) #define PH9 ((_GPIOH_MAP<<8) | 9) -#define PH10 ((_GPIOH_MAP<<8) | 10) -#define PH11 ((_GPIOH_MAP<<8) | 11) -#define PH12 ((_GPIOH_MAP<<8) | 12) -#define PH13 ((_GPIOH_MAP<<8) | 13) -#define PH14 ((_GPIOH_MAP<<8) | 14) -#define PH15 ((_GPIOH_MAP<<8) | 15) +#define PH10 ((_GPIOH_MAP<<8) | 10) +#define PH11 ((_GPIOH_MAP<<8) | 11) +#define PH12 ((_GPIOH_MAP<<8) | 12) +#define PH13 ((_GPIOH_MAP<<8) | 13) +#define PH14 ((_GPIOH_MAP<<8) | 14) +#define PH15 ((_GPIOH_MAP<<8) | 15) #define PI0 ((_GPIOI_MAP<<8) | 0) #define PI1 ((_GPIOI_MAP<<8) | 1) @@ -163,12 +163,12 @@ extern "C" { #define PI7 ((_GPIOI_MAP<<8) | 7) #define PI8 ((_GPIOI_MAP<<8) | 8) #define PI9 ((_GPIOI_MAP<<8) | 9) -#define PI10 ((_GPIOI_MAP<<8) | 10) -#define PI11 ((_GPIOI_MAP<<8) | 11) -#define PI12 ((_GPIOI_MAP<<8) | 12) -#define PI13 ((_GPIOI_MAP<<8) | 13) -#define PI14 ((_GPIOI_MAP<<8) | 14) -#define PI15 ((_GPIOI_MAP<<8) | 15) +#define PI10 ((_GPIOI_MAP<<8) | 10) +#define PI11 ((_GPIOI_MAP<<8) | 11) +#define PI12 ((_GPIOI_MAP<<8) | 12) +#define PI13 ((_GPIOI_MAP<<8) | 13) +#define PI14 ((_GPIOI_MAP<<8) | 14) +#define PI15 ((_GPIOI_MAP<<8) | 15) #define PJ0 ((_GPIOJ_MAP<<8) | 0) #define PJ1 ((_GPIOJ_MAP<<8) | 1) @@ -180,12 +180,12 @@ extern "C" { #define PJ7 ((_GPIOJ_MAP<<8) | 7) #define PJ8 ((_GPIOJ_MAP<<8) | 8) #define PJ9 ((_GPIOJ_MAP<<8) | 9) -#define PJ10 ((_GPIOJ_MAP<<8) | 10) -#define PJ11 ((_GPIOJ_MAP<<8) | 11) -#define PJ12 ((_GPIOJ_MAP<<8) | 12) -#define PJ13 ((_GPIOJ_MAP<<8) | 13) -#define PJ14 ((_GPIOJ_MAP<<8) | 14) -#define PJ15 ((_GPIOJ_MAP<<8) | 15) +#define PJ10 ((_GPIOJ_MAP<<8) | 10) +#define PJ11 ((_GPIOJ_MAP<<8) | 11) +#define PJ12 ((_GPIOJ_MAP<<8) | 12) +#define PJ13 ((_GPIOJ_MAP<<8) | 13) +#define PJ14 ((_GPIOJ_MAP<<8) | 14) +#define PJ15 ((_GPIOJ_MAP<<8) | 15) #define PK0 ((_GPIOK_MAP<<8) | 0) #define PK1 ((_GPIOK_MAP<<8) | 1) @@ -197,15 +197,15 @@ extern "C" { #define PK7 ((_GPIOK_MAP<<8) | 7) #define PK8 ((_GPIOK_MAP<<8) | 8) #define PK9 ((_GPIOK_MAP<<8) | 9) -#define PK10 ((_GPIOK_MAP<<8) | 10) -#define PK11 ((_GPIOK_MAP<<8) | 11) -#define PK12 ((_GPIOK_MAP<<8) | 12) -#define PK13 ((_GPIOK_MAP<<8) | 13) -#define PK14 ((_GPIOK_MAP<<8) | 14) -#define PK15 ((_GPIOK_MAP<<8) | 15) +#define PK10 ((_GPIOK_MAP<<8) | 10) +#define PK11 ((_GPIOK_MAP<<8) | 11) +#define PK12 ((_GPIOK_MAP<<8) | 12) +#define PK13 ((_GPIOK_MAP<<8) | 13) +#define PK14 ((_GPIOK_MAP<<8) | 14) +#define PK15 ((_GPIOK_MAP<<8) | 15) #define GPIO_GET_PORT(n) (((n)>>8) & 0xFF) -#define GPIO_GET_PIN(n) ((n) & 0xFF) +#define GPIO_GET_PIN(n) ((n) & 0xFF) #ifdef __cplusplus } diff --git a/TFT/src/User/Hal/buzzer.c b/TFT/src/User/Hal/buzzer.c index 4fa79e7cb..6e5c91b2f 100644 --- a/TFT/src/User/Hal/buzzer.c +++ b/TFT/src/User/Hal/buzzer.c @@ -20,27 +20,27 @@ static BUZZER buzzer; static inline void Buzzer_ConfigTimer(void) { -#if defined(GD32F2XX) || defined(GD32F3XX) - rcu_periph_clock_enable(RCU_TIMER2); // enable timer clock - TIMER_CTL0(TIMER2) &= ~TIMER_CTL0_CEN; // disable timer - TIMER_INTF(TIMER2) &= ~TIMER_INTF_UPIF; // clear update interrupt flag - TIMER_DMAINTEN(TIMER2) |= TIMER_DMAINTEN_UPIE; // enable update interrupt - TIMER_CAR(TIMER2) = mcuClocks.PCLK1_Timer_Frequency / 1000000 - 1; // 1 count = 1us -#else - NVIC_InitTypeDef NVIC_InitStructure; - - NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - RCC->APB1ENR |= RCC_APB1Periph_TIM3; // enable timer clock - TIM3->CR1 &= ~TIM_CR1_CEN; // disable timer - TIM3->SR &= ~TIM_SR_UIF; // clear update interrupt flag - TIM3->DIER |= TIM_DIER_UIE; // enable update interrupt - TIM3->ARR = mcuClocks.PCLK1_Timer_Frequency / 1000000 - 1; // 1 count = 1us -#endif + #if defined(GD32F2XX) || defined(GD32F3XX) + rcu_periph_clock_enable(RCU_TIMER2); // enable timer clock + TIMER_CTL0(TIMER2) &= ~TIMER_CTL0_CEN; // disable timer + TIMER_INTF(TIMER2) &= ~TIMER_INTF_UPIF; // clear update interrupt flag + TIMER_DMAINTEN(TIMER2) |= TIMER_DMAINTEN_UPIE; // enable update interrupt + TIMER_CAR(TIMER2) = mcuClocks.PCLK1_Timer_Frequency / 1000000 - 1; // 1 count = 1us + #else + NVIC_InitTypeDef NVIC_InitStructure; + + NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + RCC->APB1ENR |= RCC_APB1Periph_TIM3; // enable timer clock + TIM3->CR1 &= ~TIM_CR1_CEN; // disable timer + TIM3->SR &= ~TIM_SR_UIF; // clear update interrupt flag + TIM3->DIER |= TIM_DIER_UIE; // enable update interrupt + TIM3->ARR = mcuClocks.PCLK1_Timer_Frequency / 1000000 - 1; // 1 count = 1us + #endif } void Buzzer_Config(void) @@ -55,54 +55,54 @@ void Buzzer_DeConfig(void) GPIO_InitSet(BUZZER_PIN, MGPIO_MODE_IPN, 0); buzzer.wIndex = buzzer.rIndex = buzzer.toggles = 0; -#if defined(GD32F2XX) || defined(GD32F3XX) - nvic_irq_disable(TIMER2_IRQn); // disable timer interrupt - TIMER_CTL0(TIMER2) &= ~TIMER_CTL0_CEN; // stop timer -#else - NVIC_DisableIRQ(TIM3_IRQn); // disable timer interrupt - TIM3->CR1 &= ~TIM_CR1_CEN; // stop timer -#endif + #if defined(GD32F2XX) || defined(GD32F3XX) + nvic_irq_disable(TIMER2_IRQn); // disable timer interrupt + TIMER_CTL0(TIMER2) &= ~TIMER_CTL0_CEN; // stop timer + #else + NVIC_DisableIRQ(TIM3_IRQn); // disable timer interrupt + TIM3->CR1 &= ~TIM_CR1_CEN; // stop timer + #endif } // play a tone with the help of interrupts static inline void Buzzer_PlaySound(uint16_t frequency, const uint16_t duration) { - uint32_t silence = (frequency == SILENCE_FREQ); // frequency == 0 indicates silence/pause in the sound + uint32_t silence = (frequency == SILENCE_FREQ); // frequency == 0 indicates silence/pause in the sound if (silence) - frequency = 1000; // give 1ms resolution for silence - -#if defined(GD32F2XX) || defined(GD32F3XX) - nvic_irq_disable(TIMER2_IRQn); // disable timer interrupt - buzzer.toggles = 2 * (frequency * duration / 1000); // 2 toggles per period - TIMER_CTL0(TIMER2) &= ~TIMER_CTL0_CEN; // disable timer - TIMER_CNT(TIMER2) = 0; // reset counter - TIMER_PSC(TIMER2) = (1000000 / (2 * frequency)) - 1; // prescaler, half period time in us - TIMER_CTL0(TIMER2) |= TIMER_CTL0_CEN; // enable timer - nvic_irq_enable(TIMER2_IRQn, 1U, 0U); // enable timer interrupt -#else - NVIC_DisableIRQ(TIM3_IRQn); // disable timer interrupt - buzzer.toggles = 2 * (frequency * duration / 1000); // 2 toggles per period - TIM3->CR1 &= ~TIM_CR1_CEN; // disable timer - TIM3->CNT = 0; // reset counter - TIM3->PSC = (1000000 / (2 * frequency)) - 1; // prescaler, half period time in us - TIM3->CR1 |= TIM_CR1_CEN; // enable timer - NVIC_EnableIRQ(TIM3_IRQn); // enable interrupt -#endif + frequency = 1000; // give 1ms resolution for silence + + #if defined(GD32F2XX) || defined(GD32F3XX) + nvic_irq_disable(TIMER2_IRQn); // disable timer interrupt + buzzer.toggles = 2 * (frequency * duration / 1000); // 2 toggles per period + TIMER_CTL0(TIMER2) &= ~TIMER_CTL0_CEN; // disable timer + TIMER_CNT(TIMER2) = 0; // reset counter + TIMER_PSC(TIMER2) = (1000000 / (2 * frequency)) - 1; // prescaler, half period time in us + TIMER_CTL0(TIMER2) |= TIMER_CTL0_CEN; // enable timer + nvic_irq_enable(TIMER2_IRQn, 1U, 0U); // enable timer interrupt + #else + NVIC_DisableIRQ(TIM3_IRQn); // disable timer interrupt + buzzer.toggles = 2 * (frequency * duration / 1000); // 2 toggles per period + TIM3->CR1 &= ~TIM_CR1_CEN; // disable timer + TIM3->CNT = 0; // reset counter + TIM3->PSC = (1000000 / (2 * frequency)) - 1; // prescaler, half period time in us + TIM3->CR1 |= TIM_CR1_CEN; // enable timer + NVIC_EnableIRQ(TIM3_IRQn); // enable interrupt + #endif if (silence) - buzzer.toggles = -buzzer.toggles; // setup for silence, negative toggles + buzzer.toggles = -buzzer.toggles; // setup for silence, negative toggles } // play a sound from sound queue. Called by timer interrupt and Buzzer_AddSound() function static void Buzzer_GetSound(void) { // stop timer -#if defined(GD32F2XX) || defined(GD32F3XX) - TIMER_CTL0(TIMER2) &= ~TIMER_CTL0_CEN; -#else - TIM3->CR1 &= ~TIM_CR1_CEN; -#endif + #if defined(GD32F2XX) || defined(GD32F3XX) + TIMER_CTL0(TIMER2) &= ~TIMER_CTL0_CEN; + #else + TIM3->CR1 &= ~TIM_CR1_CEN; + #endif if (buzzer.rIndex != buzzer.wIndex) // play a queued sound, if any { @@ -132,13 +132,13 @@ void Buzzer_AddSound(const uint16_t frequency, const uint16_t duration) buzzer.wIndex = 0; // check if timer is running before playing the next queued sound -#if defined(GD32F2XX) || defined(GD32F3XX) - if ((TIMER_CTL0(TIMER2) & TIMER_CTL0_CEN)) - return; -#else - if ((TIM3->CR1 & TIM_CR1_CEN)) - return; -#endif + #if defined(GD32F2XX) || defined(GD32F3XX) + if ((TIMER_CTL0(TIMER2) & TIMER_CTL0_CEN)) + return; + #else + if ((TIM3->CR1 & TIM_CR1_CEN)) + return; + #endif Buzzer_GetSound(); // play next queued sound } diff --git a/TFT/src/User/Hal/buzzer.h b/TFT/src/User/Hal/buzzer.h index b2b8e3dbb..7b92e0054 100644 --- a/TFT/src/User/Hal/buzzer.h +++ b/TFT/src/User/Hal/buzzer.h @@ -5,7 +5,7 @@ extern "C" { #endif -#include +#include // for uint16_t etc. #include "variants.h" // for BUZZER_PIN etc. #ifdef BUZZER_PIN diff --git a/TFT/src/User/Hal/gd32f20x/GPIO_Init.c b/TFT/src/User/Hal/gd32f20x/GPIO_Init.c index 2e8509184..f62d9ff12 100644 --- a/TFT/src/User/Hal/gd32f20x/GPIO_Init.c +++ b/TFT/src/User/Hal/gd32f20x/GPIO_Init.c @@ -24,6 +24,7 @@ #define GPIO_AF15 15 #ifndef GPIO_AF_RTC_50Hz + /** * @brief AF 0 selection */ diff --git a/TFT/src/User/Hal/gd32f20x/Serial.c b/TFT/src/User/Hal/gd32f20x/Serial.c index e97f7ee05..98fcaf285 100644 --- a/TFT/src/User/Hal/gd32f20x/Serial.c +++ b/TFT/src/User/Hal/gd32f20x/Serial.c @@ -9,23 +9,23 @@ DMA_CIRCULAR_BUFFER dmaL1DataTX[_UART_CNT] = {0}; // DMA / interrupt TX buffer // config for USART DMA channels const SERIAL_CFG Serial[_UART_CNT] = { -#ifdef TX_DMA_WRITE -// USART RCU DMAx DMAx RX Channel TX Channel - {USART0, RCU_DMA0, DMA0, 4, 3}, - {USART1, RCU_DMA0, DMA0, 5, 6}, - {USART2, RCU_DMA0, DMA0, 2, 1}, - {UART3, RCU_DMA1, DMA1, 2, 4}, - {UART4, RCU_DMA1, DMA1, 1, 3}, - {USART5, RCU_DMA1, DMA1, 5, 6}, -#else -// USART RCU DMAx DMAx RX Channel - {USART0, RCU_DMA0, DMA0, 4}, - {USART1, RCU_DMA0, DMA0, 5}, - {USART2, RCU_DMA0, DMA0, 2}, - {UART3, RCU_DMA1, DMA1, 2}, - {UART4, RCU_DMA1, DMA1, 1}, - {USART5, RCU_DMA1, DMA1, 5}, -#endif + #ifdef TX_DMA_WRITE + // USART RCU DMAx DMAx RX Channel TX Channel + {USART0, RCU_DMA0, DMA0, 4, 3}, + {USART1, RCU_DMA0, DMA0, 5, 6}, + {USART2, RCU_DMA0, DMA0, 2, 1}, + {UART3, RCU_DMA1, DMA1, 2, 4}, + {UART4, RCU_DMA1, DMA1, 1, 3}, + {USART5, RCU_DMA1, DMA1, 5, 6}, + #else + // USART RCU DMAx DMAx RX Channel + {USART0, RCU_DMA0, DMA0, 4}, + {USART1, RCU_DMA0, DMA0, 5}, + {USART2, RCU_DMA0, DMA0, 2}, + {UART3, RCU_DMA1, DMA1, 2}, + {UART4, RCU_DMA1, DMA1, 1}, + {USART5, RCU_DMA1, DMA1, 5}, + #endif }; // disable RX DMA and clear all interrupt flags for a serial port @@ -106,55 +106,55 @@ static inline void Serial_DMA_Config(uint8_t port) { const SERIAL_CFG * cfg = &Serial[port]; - rcu_periph_clock_enable(cfg->dma_rcc); // enable DMA clock + rcu_periph_clock_enable(cfg->dma_rcc); // enable DMA clock - Serial_DMA_DisableAndClearFlagsRX(port); // RX disable DMA and clear all interrupt flags + Serial_DMA_DisableAndClearFlagsRX(port); // RX disable DMA and clear all interrupt flags DMA_CHPADDR(cfg->dma_stream, cfg->dma_channelRX) = (uint32_t)(&USART_DATA(cfg->uart)); // RX peripheral address (usart) DMA_CHMADDR(cfg->dma_stream, cfg->dma_channelRX) = (uint32_t)(dmaL1DataRX[port].cache); // RX destination address (memory) DMA_CHCNT(cfg->dma_stream, cfg->dma_channelRX) = (uint32_t)(dmaL1DataRX[port].cacheSize); // RX buffer size - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) = 0; // RX clear control register + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) = 0; // RX clear control register // primary serial port priority at highest level (TX higher than RX) if (port == SERIAL_PORT) - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (2<<12); // RX priority level: High + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (2<<12); // RX priority level: High else - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<12); // RX priority level: Low + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<12); // RX priority level: Low -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<10); // RX memory data size: 8 bit -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<8); // RX peripheral data size: 8 bit - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (1<<7); // RX memory increment mode -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<6); // RX peripheral no increment mode - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (1<<5); // RX circular mode enabled -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<4); // RX data transfer direction: Peripheral-to-memory + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<10); // RX memory data size: 8 bit + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<8); // RX peripheral data size: 8 bit + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (1<<7); // RX memory increment mode + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<6); // RX peripheral no increment mode + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (1<<5); // RX circular mode enabled + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<4); // RX data transfer direction: Peripheral-to-memory -#ifdef TX_DMA_WRITE // TX DMA based serial writing - Serial_DMA_DisableAndClearFlagsTX(port); // TX disable DMA and clear all interrupt flags + #ifdef TX_DMA_WRITE // TX DMA based serial writing + Serial_DMA_DisableAndClearFlagsTX(port); // TX disable DMA and clear all interrupt flags - DMA_CHPADDR(cfg->dma_stream, cfg->dma_channelTX) = (uint32_t)(&USART_DATA(cfg->uart)); // TX peripheral address (usart) + DMA_CHPADDR(cfg->dma_stream, cfg->dma_channelTX) = (uint32_t)(&USART_DATA(cfg->uart)); // TX peripheral address (usart) - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) = 0; // TX clear control register + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) = 0; // TX clear control register - // primary serial port priority at highest level (TX higher than RX) - if (port == SERIAL_PORT) - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (3<<12); // TX priority level: Very high - else - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<12); // TX priority level: Medium + // primary serial port priority at highest level (TX higher than RX) + if (port == SERIAL_PORT) + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (3<<12); // TX priority level: Very high + else + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<12); // TX priority level: Medium -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<10); // TX memory data size: 8 bit -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<8); // TX peripheral data size: 8 bit - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<7); // TX memory increment mode -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<6); // TX peripheral no increment mode -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<5); // TX circular mode disabled - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<4); // TX data transfer direction: Memory-to-Peripheral + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<10); // TX memory data size: 8 bit + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<8); // TX peripheral data size: 8 bit + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<7); // TX memory increment mode + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<6); // TX peripheral no increment mode + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<5); // TX circular mode disabled + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<4); // TX data transfer direction: Memory-to-Peripheral - USART_CTL2(cfg->uart) |= (1<<7); // enable DMA transmitter (DMAT) -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<0); // TX enable DMA, done later when needed -#endif + USART_CTL2(cfg->uart) |= (1<<7); // enable DMA transmitter (DMAT) + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<0); // TX enable DMA, done later when needed + #endif - USART_CTL2(cfg->uart) |= (1<<6); // enable DMA receiver (DMAR) - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (1<<0); // RX enable DMA + USART_CTL2(cfg->uart) |= (1<<6); // enable DMA receiver (DMAR) + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (1<<0); // RX enable DMA } static void Serial_ClearData(uint8_t port) @@ -197,11 +197,11 @@ void Serial_DeConfig(uint8_t port) { Serial_ClearData(port); - Serial_DMA_DisableAndClearFlagsRX(port); // disable RX DMA and clear all interrupt flags + Serial_DMA_DisableAndClearFlagsRX(port); // disable RX DMA and clear all interrupt flags -#ifdef TX_DMA_WRITE - Serial_DMA_DisableAndClearFlagsTX(port); // disable TX DMA and clear all interrupt flags -#endif + #ifdef TX_DMA_WRITE + Serial_DMA_DisableAndClearFlagsTX(port); // disable TX DMA and clear all interrupt flags + #endif UART_DeConfig(port); } @@ -269,51 +269,51 @@ void Serial_Put(uint8_t port, const char * msg) // ISR, serial interrupt handler void USART_IRQHandler(uint8_t port) { -#if IDLE_LINE_IT == true // IDLE Line interrupt - if ((USART_STAT0(Serial[port].uart) & USART_STAT0_IDLEF) != RESET) // check for IDLE Line interrupt - { - USART_STAT0(Serial[port].uart); // clear IDLE Line bit - USART_DATA(Serial[port].uart); - - dmaL1DataRX[port].wIndex = dmaL1DataRX[port].cacheSize - DMA_CHCNT(Serial[port].dma_stream, Serial[port].dma_channelRX); - } -#endif - -#ifdef TX_DMA_WRITE // TX DMA based serial writing - if ((USART_STAT0(Serial[port].uart) & USART_STAT0_TC) != RESET) // check for Transfer Complete (TC) interrupt - { - USART_STAT0(Serial[port].uart) &= ~USART_STAT0_TC; // clear Transfer Complete (TC) bit - - // NOTE 1: use the serial TC, not the DMA TC because this only indicates DMA is done, peripheral might be still busy - // NOTE 2: the TC interrupt is sometimes called while DMA is still active, so check NDTR status! - // - if (DMA_CHCNT(Serial[port].dma_stream, Serial[port].dma_channelTX) == 0) // sending is complete + #if IDLE_LINE_IT == true // IDLE Line interrupt + if ((USART_STAT0(Serial[port].uart) & USART_STAT0_IDLEF) != RESET) // check for IDLE Line interrupt { - dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + dmaL1DataTX[port].flag) % dmaL1DataTX[port].cacheSize; - dmaL1DataTX[port].flag = 0; + USART_STAT0(Serial[port].uart); // clear IDLE Line bit + USART_DATA(Serial[port].uart); - if (dmaL1DataTX[port].wIndex != dmaL1DataTX[port].rIndex) // is more data available? - Serial_Send_TX(port); // continue sending data - else - USART_CTL0(Serial[port].uart) &= ~USART_CTL0_TCIE; // disable Transfer Complete (TC) interrupt, nothing more to do + dmaL1DataRX[port].wIndex = dmaL1DataRX[port].cacheSize - DMA_CHCNT(Serial[port].dma_stream, Serial[port].dma_channelRX); } - // else: more data is coming, wait for next Transfer Complete (TC) interrupt - } -#else // TX interrupt based serial writing - if ((USART_STAT0(Serial[port].uart) & USART_STAT0_TBE) != RESET) // check for TBE interrupt - { - if (dmaL1DataTX[port].rIndex == dmaL1DataTX[port].wIndex) // no more data? + #endif + + #ifdef TX_DMA_WRITE // TX DMA based serial writing + if ((USART_STAT0(Serial[port].uart) & USART_STAT0_TC) != RESET) // check for Transfer Complete (TC) interrupt { - USART_CTL0(Serial[port].uart) &= ~USART_CTL0_TBEIE; // disable TBE interrupt + USART_STAT0(Serial[port].uart) &= ~USART_STAT0_TC; // clear Transfer Complete (TC) bit + + // NOTE 1: use the serial TC, not the DMA TC because this only indicates DMA is done, peripheral might be still busy + // NOTE 2: the TC interrupt is sometimes called while DMA is still active, so check NDTR status! + // + if (DMA_CHCNT(Serial[port].dma_stream, Serial[port].dma_channelTX) == 0) // sending is complete + { + dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + dmaL1DataTX[port].flag) % dmaL1DataTX[port].cacheSize; + dmaL1DataTX[port].flag = 0; + + if (dmaL1DataTX[port].wIndex != dmaL1DataTX[port].rIndex) // is more data available? + Serial_Send_TX(port); // continue sending data + else + USART_CTL0(Serial[port].uart) &= ~USART_CTL0_TCIE; // disable Transfer Complete (TC) interrupt, nothing more to do + } + // else: more data is coming, wait for next Transfer Complete (TC) interrupt } - else + #else // TX interrupt based serial writing + if ((USART_STAT0(Serial[port].uart) & USART_STAT0_TBE) != RESET) // check for TBE interrupt { - USART_DATA(Serial[port].uart) = (uint8_t)dmaL1DataTX[port].cache[dmaL1DataTX[port].rIndex]; // write next available character + if (dmaL1DataTX[port].rIndex == dmaL1DataTX[port].wIndex) // no more data? + { + USART_CTL0(Serial[port].uart) &= ~USART_CTL0_TBEIE; // disable TBE interrupt + } + else + { + USART_DATA(Serial[port].uart) = (uint8_t)dmaL1DataTX[port].cache[dmaL1DataTX[port].rIndex]; // write next available character - dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + 1) % dmaL1DataTX[port].cacheSize; // increase reading index + dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + 1) % dmaL1DataTX[port].cacheSize; // increase reading index + } } - } -#endif + #endif } void USART0_IRQHandler(void) diff --git a/TFT/src/User/Hal/gd32f20x/Serial.h b/TFT/src/User/Hal/gd32f20x/Serial.h index 171d838d9..c9a6ed52a 100644 --- a/TFT/src/User/Hal/gd32f20x/Serial.h +++ b/TFT/src/User/Hal/gd32f20x/Serial.h @@ -24,9 +24,9 @@ typedef struct rcu_periph_enum dma_rcc; // uint32_t uint32_t dma_stream; uint32_t dma_channelRX; -#ifdef TX_DMA_WRITE - uint32_t dma_channelTX; -#endif + #ifdef TX_DMA_WRITE + uint32_t dma_channelTX; + #endif } SERIAL_CFG; extern DMA_CIRCULAR_BUFFER dmaL1DataRX[_UART_CNT]; diff --git a/TFT/src/User/Hal/gd32f20x/lcd.c b/TFT/src/User/Hal/gd32f20x/lcd.c index d2164b437..460d409ae 100644 --- a/TFT/src/User/Hal/gd32f20x/lcd.c +++ b/TFT/src/User/Hal/gd32f20x/lcd.c @@ -4,15 +4,6 @@ #ifdef STM32_HAS_FSMC -uint16_t LCD_RD_DATA(void) -{ - volatile uint16_t ram; - - ram = LCD->LCD_RAM; - - return ram; -} - static void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue) { LCD->LCD_REG = LCD_Reg; @@ -27,6 +18,15 @@ static uint16_t LCD_ReadReg(uint8_t LCD_Reg) return LCD_RD_DATA(); } +uint16_t LCD_RD_DATA(void) +{ + volatile uint16_t ram; + + ram = LCD->LCD_RAM; + + return ram; +} + static inline void LCD_GPIO_Config(void) { rcu_periph_clock_enable(RCU_EXMC); @@ -112,5 +112,7 @@ void LCD_HardwareConfig(void) } #else - #error "don't support LCD-GPIO yet" -#endif + +#error "don't support LCD-GPIO yet" + +#endif // STM32_HAS_FSMC diff --git a/TFT/src/User/Hal/gd32f20x/lcd.h b/TFT/src/User/Hal/gd32f20x/lcd.h index d8afc693c..b066dfb28 100644 --- a/TFT/src/User/Hal/gd32f20x/lcd.h +++ b/TFT/src/User/Hal/gd32f20x/lcd.h @@ -5,7 +5,6 @@ #include "variants.h" // for STM32_HAS_FSMC etc. #ifdef STM32_HAS_FSMC - typedef struct { volatile uint16_t LCD_REG; @@ -18,11 +17,10 @@ #define LCD_WR_REG(regval) do{ LCD->LCD_REG = regval; }while(0) #define LCD_WR_DATA(data) do{ LCD->LCD_RAM = data; }while(0) + uint16_t LCD_RD_DATA(void); + void LCD_HardwareConfig(void); #else #error "don't support LCD-GPIO yet" #endif -uint16_t LCD_RD_DATA(void); -void LCD_HardwareConfig(void); - #endif diff --git a/TFT/src/User/Hal/gd32f20x/spi_slave.c b/TFT/src/User/Hal/gd32f20x/spi_slave.c index 62f9ecdf7..5f116ab2e 100644 --- a/TFT/src/User/Hal/gd32f20x/spi_slave.c +++ b/TFT/src/User/Hal/gd32f20x/spi_slave.c @@ -4,7 +4,7 @@ #include "GPIO_Init.h" #include "HD44780.h" -#if defined(ST7920_EMULATOR) +#ifdef ST7920_EMULATOR // TODO: // now support SPI2 and PB12 CS only @@ -113,26 +113,26 @@ void EXTI10_15_IRQHandler(void) switch (infoSettings.marlin_type) { #ifdef LCD2004_EMULATOR - case LCD2004: - HD44780_writeData(); - break; + case LCD2004: + HD44780_writeData(); + break; #endif #ifdef ST7920_EMULATOR - case LCD12864: - if ((GPIO_ISTAT(GPIOB) & (1<<12)) != 0) - { - SPI_ReEnable(!!(GPIO_ISTAT(GPIOB) & (1<<13))); // adaptive spi mode0 / mode3 - SPI_CTL0(ST7920_SPI_NUM) |= (1<<6); - } - else - { - rcu_periph_reset_enable(RCU_SPI1RST); - rcu_periph_reset_disable(RCU_SPI1RST); // reset SPI1 - } - - EXTI_PD = 1<<12; // clear interrupt status register - break; + case LCD12864: + if ((GPIO_ISTAT(GPIOB) & (1<<12)) != 0) + { + SPI_ReEnable(!!(GPIO_ISTAT(GPIOB) & (1<<13))); // adaptive spi mode0 / mode3 + SPI_CTL0(ST7920_SPI_NUM) |= (1<<6); + } + else + { + rcu_periph_reset_enable(RCU_SPI1RST); + rcu_periph_reset_disable(RCU_SPI1RST); // reset SPI1 + } + + EXTI_PD = 1<<12; // clear interrupt status register + break; #endif } } diff --git a/TFT/src/User/Hal/gd32f30x/GPIO_Init.c b/TFT/src/User/Hal/gd32f30x/GPIO_Init.c index 2e8509184..f62d9ff12 100644 --- a/TFT/src/User/Hal/gd32f30x/GPIO_Init.c +++ b/TFT/src/User/Hal/gd32f30x/GPIO_Init.c @@ -24,6 +24,7 @@ #define GPIO_AF15 15 #ifndef GPIO_AF_RTC_50Hz + /** * @brief AF 0 selection */ diff --git a/TFT/src/User/Hal/gd32f30x/Serial.c b/TFT/src/User/Hal/gd32f30x/Serial.c index 3be1a46cc..f725ec1a9 100644 --- a/TFT/src/User/Hal/gd32f30x/Serial.c +++ b/TFT/src/User/Hal/gd32f30x/Serial.c @@ -9,21 +9,21 @@ DMA_CIRCULAR_BUFFER dmaL1DataTX[_UART_CNT] = {0}; // DMA / interrupt TX buffer // config for USART DMA channels const SERIAL_CFG Serial[_UART_CNT] = { -#ifdef TX_DMA_WRITE -// USART RCU DMAx DMAx RX Channel TX Channel - {USART0, RCU_DMA0, DMA0, 4, 3}, - {USART1, RCU_DMA0, DMA0, 5, 6}, - {USART2, RCU_DMA0, DMA0, 2, 1}, - {UART3, RCU_DMA1, DMA1, 2, 4}, - {UART4, RCU_DMA1, DMA1, 1, 3}, -#else -// USART RCU DMAx DMAx RX Channel - {USART0, RCU_DMA0, DMA0, 4}, - {USART1, RCU_DMA0, DMA0, 5}, - {USART2, RCU_DMA0, DMA0, 2}, - {UART3, RCU_DMA1, DMA1, 2}, - {UART4, RCU_DMA1, DMA1, 1}, -#endif + #ifdef TX_DMA_WRITE + // USART RCU DMAx DMAx RX Channel TX Channel + {USART0, RCU_DMA0, DMA0, 4, 3}, + {USART1, RCU_DMA0, DMA0, 5, 6}, + {USART2, RCU_DMA0, DMA0, 2, 1}, + {UART3, RCU_DMA1, DMA1, 2, 4}, + {UART4, RCU_DMA1, DMA1, 1, 3}, + #else + // USART RCU DMAx DMAx RX Channel + {USART0, RCU_DMA0, DMA0, 4}, + {USART1, RCU_DMA0, DMA0, 5}, + {USART2, RCU_DMA0, DMA0, 2}, + {UART3, RCU_DMA1, DMA1, 2}, + {UART4, RCU_DMA1, DMA1, 1}, + #endif }; // disable RX DMA and clear all interrupt flags for a serial port @@ -96,55 +96,55 @@ static inline void Serial_DMA_Config(uint8_t port) { const SERIAL_CFG * cfg = &Serial[port]; - rcu_periph_clock_enable(cfg->dma_rcc); // enable DMA clock + rcu_periph_clock_enable(cfg->dma_rcc); // enable DMA clock - Serial_DMA_DisableAndClearFlagsRX(port); // RX disable DMA and clear all interrupt flags + Serial_DMA_DisableAndClearFlagsRX(port); // RX disable DMA and clear all interrupt flags DMA_CHPADDR(cfg->dma_stream, cfg->dma_channelRX) = (uint32_t)(&USART_DATA(cfg->uart)); // RX peripheral address (usart) DMA_CHMADDR(cfg->dma_stream, cfg->dma_channelRX) = (uint32_t)(dmaL1DataRX[port].cache); // RX destination address (memory) DMA_CHCNT(cfg->dma_stream, cfg->dma_channelRX) = (uint32_t)(dmaL1DataRX[port].cacheSize); // RX buffer size - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) = 0; // RX clear control register + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) = 0; // RX clear control register // primary serial port priority at highest level (TX higher than RX) if (port == SERIAL_PORT) - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (2<<12); // RX priority level: High + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (2<<12); // RX priority level: High else - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<12); // RX priority level: Low + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<12); // RX priority level: Low -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<10); // RX memory data size: 8 bit -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<8); // RX peripheral data size: 8 bit - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (1<<7); // RX memory increment mode -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<6); // RX peripheral no increment mode - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (1<<5); // RX circular mode enabled -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<4); // RX data transfer direction: Peripheral-to-memory + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<10); // RX memory data size: 8 bit + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<8); // RX peripheral data size: 8 bit + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (1<<7); // RX memory increment mode + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<6); // RX peripheral no increment mode + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (1<<5); // RX circular mode enabled + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (0<<4); // RX data transfer direction: Peripheral-to-memory -#ifdef TX_DMA_WRITE // TX DMA based serial writing - Serial_DMA_DisableAndClearFlagsTX(port); // TX disable DMA and clear all interrupt flags + #ifdef TX_DMA_WRITE // TX DMA based serial writing + Serial_DMA_DisableAndClearFlagsTX(port); // TX disable DMA and clear all interrupt flags - DMA_CHPADDR(cfg->dma_stream, cfg->dma_channelTX) = (uint32_t)(&USART_DATA(cfg->uart)); // TX peripheral address (usart) + DMA_CHPADDR(cfg->dma_stream, cfg->dma_channelTX) = (uint32_t)(&USART_DATA(cfg->uart)); // TX peripheral address (usart) - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) = 0; // TX clear control register + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) = 0; // TX clear control register - // primary serial port priority at highest level (TX higher than RX) - if (port == SERIAL_PORT) - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (3<<12); // TX priority level: Very high - else - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<12); // TX priority level: Medium + // primary serial port priority at highest level (TX higher than RX) + if (port == SERIAL_PORT) + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (3<<12); // TX priority level: Very high + else + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<12); // TX priority level: Medium -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<10); // TX memory data size: 8 bit -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<8); // TX peripheral data size: 8 bit - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<7); // TX memory increment mode -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<6); // TX peripheral no increment mode -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<5); // TX circular mode disabled - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<4); // TX data transfer direction: Memory-to-Peripheral + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<10); // TX memory data size: 8 bit + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<8); // TX peripheral data size: 8 bit + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<7); // TX memory increment mode + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<6); // TX peripheral no increment mode + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (0<<5); // TX circular mode disabled + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<4); // TX data transfer direction: Memory-to-Peripheral - USART_CTL2(cfg->uart) |= (1<<7); // enable DMA transmitter (DMAT) -//DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<0); // TX enable DMA, done later when needed -#endif + USART_CTL2(cfg->uart) |= (1<<7); // enable DMA transmitter (DMAT) + //DMA_CHCTL(cfg->dma_stream, cfg->dma_channelTX) |= (1<<0); // TX enable DMA, done later when needed + #endif - USART_CTL2(cfg->uart) |= (1<<6); // enable DMA receiver (DMAR) - DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (1<<0); // RX enable DMA + USART_CTL2(cfg->uart) |= (1<<6); // enable DMA receiver (DMAR) + DMA_CHCTL(cfg->dma_stream, cfg->dma_channelRX) |= (1<<0); // RX enable DMA } static void Serial_ClearData(uint8_t port) @@ -187,11 +187,11 @@ void Serial_DeConfig(uint8_t port) { Serial_ClearData(port); - Serial_DMA_DisableAndClearFlagsRX(port); // disable RX DMA and clear all interrupt flags + Serial_DMA_DisableAndClearFlagsRX(port); // disable RX DMA and clear all interrupt flags -#ifdef TX_DMA_WRITE - Serial_DMA_DisableAndClearFlagsTX(port); // disable TX DMA and clear all interrupt flags -#endif + #ifdef TX_DMA_WRITE + Serial_DMA_DisableAndClearFlagsTX(port); // disable TX DMA and clear all interrupt flags + #endif UART_DeConfig(port); } @@ -259,51 +259,51 @@ void Serial_Put(uint8_t port, const char * msg) // ISR, serial interrupt handler void USART_IRQHandler(uint8_t port) { -#if IDLE_LINE_IT == true // IDLE Line interrupt - if ((USART_STAT0(Serial[port].uart) & USART_STAT0_IDLEF) != RESET) // check for IDLE Line interrupt - { - USART_STAT0(Serial[port].uart); // clear IDLE Line bit - USART_DATA(Serial[port].uart); - - dmaL1DataRX[port].wIndex = dmaL1DataRX[port].cacheSize - DMA_CHCNT(Serial[port].dma_stream, Serial[port].dma_channelRX); - } -#endif - -#ifdef TX_DMA_WRITE // TX DMA based serial writing - if ((USART_STAT0(Serial[port].uart) & USART_STAT0_TC) != RESET) // check for Transfer Complete (TC) interrupt - { - USART_STAT0(Serial[port].uart) &= ~USART_STAT0_TC; // clear Transfer Complete (TC) bit - - // NOTE 1: use the serial TC, not the DMA TC because this only indicates DMA is done, peripheral might be still busy - // NOTE 2: the TC interrupt is sometimes called while DMA is still active, so check NDTR status! - // - if (DMA_CHCNT(Serial[port].dma_stream, Serial[port].dma_channelTX) == 0) // sending is complete + #if IDLE_LINE_IT == true // IDLE Line interrupt + if ((USART_STAT0(Serial[port].uart) & USART_STAT0_IDLEF) != RESET) // check for IDLE Line interrupt { - dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + dmaL1DataTX[port].flag) % dmaL1DataTX[port].cacheSize; - dmaL1DataTX[port].flag = 0; + USART_STAT0(Serial[port].uart); // clear IDLE Line bit + USART_DATA(Serial[port].uart); - if (dmaL1DataTX[port].wIndex != dmaL1DataTX[port].rIndex) // is more data available? - Serial_Send_TX(port); // continue sending data - else - USART_CTL0(Serial[port].uart) &= ~USART_CTL0_TCIE; // disable Transfer Complete (TC) interrupt, nothing more to do + dmaL1DataRX[port].wIndex = dmaL1DataRX[port].cacheSize - DMA_CHCNT(Serial[port].dma_stream, Serial[port].dma_channelRX); } - // else: more data is coming, wait for next Transfer Complete (TC) interrupt - } -#else // TX interrupt based serial writing - if ((USART_STAT0(Serial[port].uart) & USART_STAT0_TBE) != RESET) // check for TBE interrupt - { - if (dmaL1DataTX[port].rIndex == dmaL1DataTX[port].wIndex) // no more data? + #endif + + #ifdef TX_DMA_WRITE // TX DMA based serial writing + if ((USART_STAT0(Serial[port].uart) & USART_STAT0_TC) != RESET) // check for Transfer Complete (TC) interrupt { - USART_CTL0(Serial[port].uart) &= ~USART_CTL0_TBEIE; // disable TBE interrupt + USART_STAT0(Serial[port].uart) &= ~USART_STAT0_TC; // clear Transfer Complete (TC) bit + + // NOTE 1: use the serial TC, not the DMA TC because this only indicates DMA is done, peripheral might be still busy + // NOTE 2: the TC interrupt is sometimes called while DMA is still active, so check NDTR status! + // + if (DMA_CHCNT(Serial[port].dma_stream, Serial[port].dma_channelTX) == 0) // sending is complete + { + dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + dmaL1DataTX[port].flag) % dmaL1DataTX[port].cacheSize; + dmaL1DataTX[port].flag = 0; + + if (dmaL1DataTX[port].wIndex != dmaL1DataTX[port].rIndex) // is more data available? + Serial_Send_TX(port); // continue sending data + else + USART_CTL0(Serial[port].uart) &= ~USART_CTL0_TCIE; // disable Transfer Complete (TC) interrupt, nothing more to do + } + // else: more data is coming, wait for next Transfer Complete (TC) interrupt } - else + #else // TX interrupt based serial writing + if ((USART_STAT0(Serial[port].uart) & USART_STAT0_TBE) != RESET) // check for TBE interrupt { - USART_DATA(Serial[port].uart) = (uint8_t)dmaL1DataTX[port].cache[dmaL1DataTX[port].rIndex]; // write next available character + if (dmaL1DataTX[port].rIndex == dmaL1DataTX[port].wIndex) // no more data? + { + USART_CTL0(Serial[port].uart) &= ~USART_CTL0_TBEIE; // disable TBE interrupt + } + else + { + USART_DATA(Serial[port].uart) = (uint8_t)dmaL1DataTX[port].cache[dmaL1DataTX[port].rIndex]; // write next available character - dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + 1) % dmaL1DataTX[port].cacheSize; // increase reading index + dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + 1) % dmaL1DataTX[port].cacheSize; // increase reading index + } } - } -#endif + #endif } void USART0_IRQHandler(void) diff --git a/TFT/src/User/Hal/gd32f30x/Serial.h b/TFT/src/User/Hal/gd32f30x/Serial.h index 171d838d9..c9a6ed52a 100644 --- a/TFT/src/User/Hal/gd32f30x/Serial.h +++ b/TFT/src/User/Hal/gd32f30x/Serial.h @@ -24,9 +24,9 @@ typedef struct rcu_periph_enum dma_rcc; // uint32_t uint32_t dma_stream; uint32_t dma_channelRX; -#ifdef TX_DMA_WRITE - uint32_t dma_channelTX; -#endif + #ifdef TX_DMA_WRITE + uint32_t dma_channelTX; + #endif } SERIAL_CFG; extern DMA_CIRCULAR_BUFFER dmaL1DataRX[_UART_CNT]; diff --git a/TFT/src/User/Hal/gd32f30x/lcd.c b/TFT/src/User/Hal/gd32f30x/lcd.c index c99ee5714..dc034c796 100644 --- a/TFT/src/User/Hal/gd32f30x/lcd.c +++ b/TFT/src/User/Hal/gd32f30x/lcd.c @@ -4,15 +4,6 @@ #ifdef STM32_HAS_FSMC -uint16_t LCD_RD_DATA(void) -{ - volatile uint16_t ram; - - ram = LCD->LCD_RAM; - - return ram; -} - static void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue) { LCD->LCD_REG = LCD_Reg; @@ -27,6 +18,15 @@ static uint16_t LCD_ReadReg(uint8_t LCD_Reg) return LCD_RD_DATA(); } +uint16_t LCD_RD_DATA(void) +{ + volatile uint16_t ram; + + ram = LCD->LCD_RAM; + + return ram; +} + static inline void LCD_GPIO_Config(void) { rcu_periph_clock_enable(RCU_EXMC); @@ -166,6 +166,7 @@ uint16_t LCD_RD_DATA(void) #endif volatile uint16_t ram; + // LCD_DATA_PORT->CRL = 0X88888888; 1000 1000 1000 1000 1000 1000 1000 1000 // LCD_DATA_PORT->CRH = 0X88888888; 1000 1000 1000 1000 1000 1000 1000 1000 gpio_init(LCD_DATA_PORT, GPIO_MODE_IPU, 0, GPIO_PIN_ALL); @@ -185,55 +186,55 @@ uint16_t LCD_RD_DATA(void) gpio_init(LCD_DATA_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_ALL); // LCD_DATA_PORT->ODR = 0XFFFF; gpio_port_write(LCD_DATA_PORT, 0XFFFF); - + return ram; } static inline void LCD_GPIO_Config(void) { -#if defined(MKS_TFT) - // GPIO_InitTypeDef GPIO_InitStructure; - // GPIO Ports Clock Enable - - // RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOB, ENABLE); - // configure GPIO pin Output Level - - // configure GPIO pins : Pin1_Pin Pin2_Pin - - // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14 | GPIO_Pin_9; - // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - // GPIO_Init(GPIOB, &GPIO_InitStructure); - gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_14 | GPIO_PIN_9); - - // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_15; - // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - // GPIO_Init(GPIOD, &GPIO_InitStructure); - gpio_init(GPIOD, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_13 | GPIO_PIN_15); - - // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9; - // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - // GPIO_Init(GPIOC, &GPIO_InitStructure); - gpio_init(GPIOC, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_8 | GPIO_PIN_9); - - // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; - // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - // GPIO_Init(GPIOC, &GPIO_InitStructure); - gpio_init(GPIOC, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_5); - - // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; - // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - // GPIO_Init(GPIOE, &GPIO_InitStructure); - gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_ALL); - - LCD_RD_SET; // set this as we only change it when reading -#else - #error "don't support LCD-GPIO yet" -#endif + #if defined(MKS_TFT) + // GPIO_InitTypeDef GPIO_InitStructure; + // GPIO Ports Clock Enable + + // RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOB, ENABLE); + // configure GPIO pin Output Level + + // configure GPIO pins : Pin1_Pin Pin2_Pin + + // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14 | GPIO_Pin_9; + // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + // GPIO_Init(GPIOB, &GPIO_InitStructure); + gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_14 | GPIO_PIN_9); + + // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_15; + // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + // GPIO_Init(GPIOD, &GPIO_InitStructure); + gpio_init(GPIOD, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_13 | GPIO_PIN_15); + + // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9; + // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + // GPIO_Init(GPIOC, &GPIO_InitStructure); + gpio_init(GPIOC, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_8 | GPIO_PIN_9); + + // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; + // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; + // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + // GPIO_Init(GPIOC, &GPIO_InitStructure); + gpio_init(GPIOC, GPIO_MODE_IPU, GPIO_OSPEED_50MHZ, GPIO_PIN_5); + + // GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; + // GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + // GPIO_Init(GPIOE, &GPIO_InitStructure); + gpio_init(GPIOE, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_ALL); + + LCD_RD_SET; // set this as we only change it when reading + #else + #error "don't support LCD-GPIO yet" + #endif } void LCD_HardwareConfig(void) diff --git a/TFT/src/User/Hal/gd32f30x/lcd.h b/TFT/src/User/Hal/gd32f30x/lcd.h index 5139a7e7f..d86e9298c 100644 --- a/TFT/src/User/Hal/gd32f30x/lcd.h +++ b/TFT/src/User/Hal/gd32f30x/lcd.h @@ -5,7 +5,6 @@ #include "variants.h" // for STM32_HAS_FSMC etc. #ifdef STM32_HAS_FSMC - typedef struct { volatile uint16_t LCD_REG; @@ -17,12 +16,9 @@ #define LCD_WR_REG(regval) do{ LCD->LCD_REG = regval; }while(0) #define LCD_WR_DATA(data) do{ LCD->LCD_RAM = data; }while(0) - #else - void LCD_WR_REG(uint16_t data); void LCD_WR_DATA(uint16_t data); - #endif uint16_t LCD_RD_DATA(void); diff --git a/TFT/src/User/Hal/gd32f30x/spi_slave.c b/TFT/src/User/Hal/gd32f30x/spi_slave.c index 62f9ecdf7..5f116ab2e 100644 --- a/TFT/src/User/Hal/gd32f30x/spi_slave.c +++ b/TFT/src/User/Hal/gd32f30x/spi_slave.c @@ -4,7 +4,7 @@ #include "GPIO_Init.h" #include "HD44780.h" -#if defined(ST7920_EMULATOR) +#ifdef ST7920_EMULATOR // TODO: // now support SPI2 and PB12 CS only @@ -113,26 +113,26 @@ void EXTI10_15_IRQHandler(void) switch (infoSettings.marlin_type) { #ifdef LCD2004_EMULATOR - case LCD2004: - HD44780_writeData(); - break; + case LCD2004: + HD44780_writeData(); + break; #endif #ifdef ST7920_EMULATOR - case LCD12864: - if ((GPIO_ISTAT(GPIOB) & (1<<12)) != 0) - { - SPI_ReEnable(!!(GPIO_ISTAT(GPIOB) & (1<<13))); // adaptive spi mode0 / mode3 - SPI_CTL0(ST7920_SPI_NUM) |= (1<<6); - } - else - { - rcu_periph_reset_enable(RCU_SPI1RST); - rcu_periph_reset_disable(RCU_SPI1RST); // reset SPI1 - } - - EXTI_PD = 1<<12; // clear interrupt status register - break; + case LCD12864: + if ((GPIO_ISTAT(GPIOB) & (1<<12)) != 0) + { + SPI_ReEnable(!!(GPIO_ISTAT(GPIOB) & (1<<13))); // adaptive spi mode0 / mode3 + SPI_CTL0(ST7920_SPI_NUM) |= (1<<6); + } + else + { + rcu_periph_reset_enable(RCU_SPI1RST); + rcu_periph_reset_disable(RCU_SPI1RST); // reset SPI1 + } + + EXTI_PD = 1<<12; // clear interrupt status register + break; #endif } } diff --git a/TFT/src/User/Hal/sd.c b/TFT/src/User/Hal/sd.c index 943a4dd56..8924fb693 100644 --- a/TFT/src/User/Hal/sd.c +++ b/TFT/src/User/Hal/sd.c @@ -67,28 +67,30 @@ static void SD_SPI_CS_Set(uint8_t level) } #ifdef SD_CD_PIN - // SD_CD insert detect - static inline void SD_CD_WP_Init(void) - { - GPIO_InitSet(SD_CD_PIN, MGPIO_MODE_IPU, 0); - } + +// SD_CD insert detect +static inline void SD_CD_WP_Init(void) +{ + GPIO_InitSet(SD_CD_PIN, MGPIO_MODE_IPU, 0); +} + #endif uint8_t SD_CD_Inserted(void) { -#ifdef SD_CD_PIN - return !GPIO_GetLevel(SD_CD_PIN); -#else - return 0; -#endif + #ifdef SD_CD_PIN + return !GPIO_GetLevel(SD_CD_PIN); + #else + return 0; + #endif } // initialization static inline void SD_SPI_Init(void) { -#ifdef SD_CD_PIN - SD_CD_WP_Init(); -#endif + #ifdef SD_CD_PIN + SD_CD_WP_Init(); + #endif GPIO_InitSet(SD_CS_PIN, MGPIO_MODE_OUT_PP, 0); SPI_Config(SD_SPI); SD_SPI_CS_Set(1); diff --git a/TFT/src/User/Hal/sd.h b/TFT/src/User/Hal/sd.h index 1d4719508..7083ccb3c 100644 --- a/TFT/src/User/Hal/sd.h +++ b/TFT/src/User/Hal/sd.h @@ -11,16 +11,16 @@ extern "C" { #ifdef SD_SPI_SUPPORT uint8_t SD_CD_Inserted(void); - uint8_t SD_Wait_Ready(void); // Waiting for SD card preparation - uint8_t SD_Get_Ack(uint8_t Response); // Get the answer - uint8_t SD_GetCID(uint8_t * cid_data); // Read SD card CID - uint8_t SD_GetCSD(uint8_t * csd_data); // Read SD card CSD - uint32_t SD_Get_Sector_Count(void); // Number of sectors read + uint8_t SD_Wait_Ready(void); // waiting for SD card preparation + uint8_t SD_Get_Ack(uint8_t Response); // get the answer + uint8_t SD_GetCID(uint8_t * cid_data); // read SD card CID + uint8_t SD_GetCSD(uint8_t * csd_data); // read SD card CSD + uint32_t SD_Get_Sector_Count(void); // number of sectors read uint8_t SD_Init(void); // initialization - void SD_DeInit(void); - uint8_t SD_ReadDisk(uint8_t * buf, uint32_t sector, uint8_t cnt); // Read SD card, fatfs / usb call - uint8_t SD_WriteDisk(uint8_t * buf, uint32_t sector, uint8_t cnt); // Write SD card, fatfs / usb call + void SD_DeInit(void); // de-initialization + uint8_t SD_ReadDisk(uint8_t * buf, uint32_t sector, uint8_t cnt); // read SD card, fatfs / usb call + uint8_t SD_WriteDisk(uint8_t * buf, uint32_t sector, uint8_t cnt); // write SD card, fatfs / usb call #else // e.g. SD_SDIO_SUPPORT #include "sdio_sdcard.h" #endif diff --git a/TFT/src/User/Hal/stm32f10x/Serial.c b/TFT/src/User/Hal/stm32f10x/Serial.c index c0e45001e..f11100eb3 100644 --- a/TFT/src/User/Hal/stm32f10x/Serial.c +++ b/TFT/src/User/Hal/stm32f10x/Serial.c @@ -21,21 +21,21 @@ DMA_CIRCULAR_BUFFER dmaL1DataTX[_UART_CNT] = {0}; // DMA / interrupt TX buffer // config for USART DMA channels const SERIAL_CFG Serial[_UART_CNT] = { // RM0008 Table 78-79 -#ifdef TX_DMA_WRITE -// USART TCC DMAx DMAx RX Channel TX Channel - {USART1, RCC_AHBPeriph_DMA1, DMA1, DMA1_Channel5, DMA1_Channel4}, - {USART2, RCC_AHBPeriph_DMA1, DMA1, DMA1_Channel6, DMA1_Channel7}, - {USART3, RCC_AHBPeriph_DMA1, DMA1, DMA1_Channel3, DMA1_Channel2}, - {UART4, RCC_AHBPeriph_DMA2, DMA2, DMA2_Channel3, DMA2_Channel5}, - {UART5, -1, -1, -1, -1 }, // UART5 don't support DMA -#else -// USART TCC DMAx DMAx RX Channel - {USART1, RCC_AHBPeriph_DMA1, DMA1, DMA1_Channel5}, - {USART2, RCC_AHBPeriph_DMA1, DMA1, DMA1_Channel6}, - {USART3, RCC_AHBPeriph_DMA1, DMA1, DMA1_Channel3}, - {UART4, RCC_AHBPeriph_DMA2, DMA2, DMA2_Channel3}, - {UART5, -1, -1 -1, }, // UART5 don't support DMA -#endif + #ifdef TX_DMA_WRITE + // USART TCC DMAx DMAx RX Channel TX Channel + {USART1, RCC_AHBPeriph_DMA1, DMA1, DMA1_Channel5, DMA1_Channel4}, + {USART2, RCC_AHBPeriph_DMA1, DMA1, DMA1_Channel6, DMA1_Channel7}, + {USART3, RCC_AHBPeriph_DMA1, DMA1, DMA1_Channel3, DMA1_Channel2}, + {UART4, RCC_AHBPeriph_DMA2, DMA2, DMA2_Channel3, DMA2_Channel5}, + {UART5, -1, -1, -1, -1 }, // UART5 don't support DMA + #else + // USART TCC DMAx DMAx RX Channel + {USART1, RCC_AHBPeriph_DMA1, DMA1, DMA1_Channel5}, + {USART2, RCC_AHBPeriph_DMA1, DMA1, DMA1_Channel6}, + {USART3, RCC_AHBPeriph_DMA1, DMA1, DMA1_Channel3}, + {UART4, RCC_AHBPeriph_DMA2, DMA2, DMA2_Channel3}, + {UART5, -1, -1 -1, }, // UART5 don't support DMA + #endif }; #ifdef TX_DMA_WRITE @@ -89,36 +89,36 @@ static inline void Serial_DMA_Config(uint8_t port) else cfg->dma_channelRX->CCR |= (0<<12); // RX priority level: Low -//cfg->dma_channelRX->CCR |= (0<<10); // RX memory data size: 8 bit -//cfg->dma_channelRX->CCR |= (0<<8); // RX peripheral data size: 8 bit + //cfg->dma_channelRX->CCR |= (0<<10); // RX memory data size: 8 bit + //cfg->dma_channelRX->CCR |= (0<<8); // RX peripheral data size: 8 bit cfg->dma_channelRX->CCR |= (1<<7); // RX memory increment mode -//cfg->dma_channelRX->CCR |= (0<<6); // RX peripheral no increment mode + //cfg->dma_channelRX->CCR |= (0<<6); // RX peripheral no increment mode cfg->dma_channelRX->CCR |= (1<<5); // RX circular mode enabled -//cfg->dma_channelRX->CCR &= ~(1<<4); // RX data transfer direction: Peripheral-to-memory + //cfg->dma_channelRX->CCR &= ~(1<<4); // RX data transfer direction: Peripheral-to-memory -#ifdef TX_DMA_WRITE // TX DMA based serial writing - Serial_DMA_DisableAndClearFlagsTX(port); // TX disable DMA and clear all interrupt flags + #ifdef TX_DMA_WRITE // TX DMA based serial writing + Serial_DMA_DisableAndClearFlagsTX(port); // TX disable DMA and clear all interrupt flags - cfg->dma_channelTX->CPAR = (uint32_t)(&cfg->uart->DR); // TX peripheral address (usart) + cfg->dma_channelTX->CPAR = (uint32_t)(&cfg->uart->DR); // TX peripheral address (usart) - cfg->dma_channelTX->CCR = 0; // TX clear control register + cfg->dma_channelTX->CCR = 0; // TX clear control register - // primary serial port priority at highest level (TX higher than RX) - if (port == SERIAL_PORT) - cfg->dma_channelTX->CCR |= (3<<12); // TX priority level: Very high - else - cfg->dma_channelTX->CCR |= (1<<12); // TX priority level: Medium + // primary serial port priority at highest level (TX higher than RX) + if (port == SERIAL_PORT) + cfg->dma_channelTX->CCR |= (3<<12); // TX priority level: Very high + else + cfg->dma_channelTX->CCR |= (1<<12); // TX priority level: Medium -//cfg->dma_channelTX->CCR |= (0<<10); // TX memory data size: 8 bit -//cfg->dma_channelTX->CCR |= (0<<8); // TX peripheral data size: 8 bit - cfg->dma_channelTX->CCR |= (1<<7); // TX memory increment mode -//cfg->dma_channelTX->CCR |= (0<<6); // TX peripheral no increment mode -//cfg->dma_channelTX->CCR |= (0<<5); // TX circular mode disabled - cfg->dma_channelTX->CCR |= (1<<4); // TX data transfer direction: Memory-to-Peripheral + //cfg->dma_channelTX->CCR |= (0<<10); // TX memory data size: 8 bit + //cfg->dma_channelTX->CCR |= (0<<8); // TX peripheral data size: 8 bit + cfg->dma_channelTX->CCR |= (1<<7); // TX memory increment mode + //cfg->dma_channelTX->CCR |= (0<<6); // TX peripheral no increment mode + //cfg->dma_channelTX->CCR |= (0<<5); // TX circular mode disabled + cfg->dma_channelTX->CCR |= (1<<4); // TX data transfer direction: Memory-to-Peripheral - cfg->uart->CR3 |= (1<<7); // enable DMA transmitter (DMAT) -//cfg->dma_channelTX->CCR |= (1<<0); // TX enable DMA, done later when needed -#endif + cfg->uart->CR3 |= (1<<7); // enable DMA transmitter (DMAT) + //cfg->dma_channelTX->CCR |= (1<<0); // TX enable DMA, done later when needed + #endif cfg->uart->CR3 |= (1<<6); // enable DMA receiver (DMAR) cfg->dma_channelRX->CCR |= (1<<0); // RX enable DMA @@ -166,9 +166,9 @@ void Serial_DeConfig(uint8_t port) Serial[port].dma_channelRX->CCR &= ~(1<<0); // disable RX DMA -#ifdef TX_DMA_WRITE - Serial_DMA_DisableAndClearFlagsTX(port); // disable TX DMA and clear all interrupt flags -#endif + #ifdef TX_DMA_WRITE + Serial_DMA_DisableAndClearFlagsTX(port); // disable TX DMA and clear all interrupt flags + #endif UART_DeConfig(port); } @@ -236,51 +236,51 @@ void Serial_Put(uint8_t port, const char * msg) // ISR, serial interrupt handler void USART_IRQHandler(uint8_t port) { -#if IDLE_LINE_IT == true // IDLE Line interrupt - if ((Serial[port].uart->SR & USART_SR_IDLE) != RESET) // check for IDLE Line interrupt - { - Serial[port].uart->SR; // clear IDLE Line bit - Serial[port].uart->DR; - - dmaL1DataRX[port].wIndex = dmaL1DataRX[port].cacheSize - Serial[port].dma_channelRX->CNDTR; - } -#endif - -#ifdef TX_DMA_WRITE // TX DMA based serial writing - if ((Serial[port].uart->SR & USART_SR_TC) != RESET) // check for Transfer Complete (TC) interrupt - { - Serial[port].uart->SR &= ~USART_SR_TC; // clear Transfer Complete (TC) bit - - // NOTE 1: use the serial TC, not the DMA TC because this only indicates DMA is done, peripheral might be still busy - // NOTE 2: the TC interrupt is sometimes called while DMA is still active, so check NDTR status! - // - if (Serial[port].dma_channelTX->CNDTR == 0) // sending is complete + #if IDLE_LINE_IT == true // IDLE Line interrupt + if ((Serial[port].uart->SR & USART_SR_IDLE) != RESET) // check for IDLE Line interrupt { - dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + dmaL1DataTX[port].flag) % dmaL1DataTX[port].cacheSize; - dmaL1DataTX[port].flag = 0; + Serial[port].uart->SR; // clear IDLE Line bit + Serial[port].uart->DR; - if (dmaL1DataTX[port].wIndex != dmaL1DataTX[port].rIndex) // is more data available? - Serial_Send_TX(port); // continue sending data - else - Serial[port].uart->CR1 &= ~USART_CR1_TCIE; // disable Transfer Complete (TC) interrupt, nothing more to do + dmaL1DataRX[port].wIndex = dmaL1DataRX[port].cacheSize - Serial[port].dma_channelRX->CNDTR; } - // else: more data is coming, wait for next Transfer Complete (TC) interrupt - } -#else // TX interrupt based serial writing - if ((Serial[port].uart->SR & USART_SR_TXE) != RESET) // check for TXE interrupt - { - if (dmaL1DataTX[port].rIndex == dmaL1DataTX[port].wIndex) // no more data? + #endif + + #ifdef TX_DMA_WRITE // TX DMA based serial writing + if ((Serial[port].uart->SR & USART_SR_TC) != RESET) // check for Transfer Complete (TC) interrupt { - Serial[port].uart->CR1 &= ~USART_CR1_TXEIE; // disable TXE interrupt + Serial[port].uart->SR &= ~USART_SR_TC; // clear Transfer Complete (TC) bit + + // NOTE 1: use the serial TC, not the DMA TC because this only indicates DMA is done, peripheral might be still busy + // NOTE 2: the TC interrupt is sometimes called while DMA is still active, so check NDTR status! + // + if (Serial[port].dma_channelTX->CNDTR == 0) // sending is complete + { + dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + dmaL1DataTX[port].flag) % dmaL1DataTX[port].cacheSize; + dmaL1DataTX[port].flag = 0; + + if (dmaL1DataTX[port].wIndex != dmaL1DataTX[port].rIndex) // is more data available? + Serial_Send_TX(port); // continue sending data + else + Serial[port].uart->CR1 &= ~USART_CR1_TCIE; // disable Transfer Complete (TC) interrupt, nothing more to do + } + // else: more data is coming, wait for next Transfer Complete (TC) interrupt } - else + #else // TX interrupt based serial writing + if ((Serial[port].uart->SR & USART_SR_TXE) != RESET) // check for TXE interrupt { - Serial[port].uart->DR = (uint8_t)dmaL1DataTX[port].cache[dmaL1DataTX[port].rIndex]; // write next available character + if (dmaL1DataTX[port].rIndex == dmaL1DataTX[port].wIndex) // no more data? + { + Serial[port].uart->CR1 &= ~USART_CR1_TXEIE; // disable TXE interrupt + } + else + { + Serial[port].uart->DR = (uint8_t)dmaL1DataTX[port].cache[dmaL1DataTX[port].rIndex]; // write next available character - dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + 1) % dmaL1DataTX[port].cacheSize; // increase reading index + dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + 1) % dmaL1DataTX[port].cacheSize; // increase reading index + } } - } -#endif + #endif } void USART1_IRQHandler(void) diff --git a/TFT/src/User/Hal/stm32f10x/Serial.h b/TFT/src/User/Hal/stm32f10x/Serial.h index 5069f4859..494479d1a 100644 --- a/TFT/src/User/Hal/stm32f10x/Serial.h +++ b/TFT/src/User/Hal/stm32f10x/Serial.h @@ -24,9 +24,9 @@ typedef struct uint32_t dma_rcc; DMA_TypeDef * dma_controller; DMA_Channel_TypeDef * dma_channelRX; -#ifdef TX_DMA_WRITE - DMA_Channel_TypeDef * dma_channelTX; -#endif + #ifdef TX_DMA_WRITE + DMA_Channel_TypeDef * dma_channelTX; + #endif } SERIAL_CFG; extern DMA_CIRCULAR_BUFFER dmaL1DataRX[_UART_CNT]; diff --git a/TFT/src/User/Hal/stm32f10x/lcd.c b/TFT/src/User/Hal/stm32f10x/lcd.c index e9612e54a..5198bec10 100644 --- a/TFT/src/User/Hal/stm32f10x/lcd.c +++ b/TFT/src/User/Hal/stm32f10x/lcd.c @@ -4,15 +4,6 @@ #ifdef STM32_HAS_FSMC -uint16_t LCD_RD_DATA(void) -{ - volatile uint16_t ram; - - ram = LCD->LCD_RAM; - - return ram; -} - static void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue) { LCD->LCD_REG = LCD_Reg; @@ -27,6 +18,15 @@ static uint16_t LCD_ReadReg(uint8_t LCD_Reg) return LCD_RD_DATA(); } +uint16_t LCD_RD_DATA(void) +{ + volatile uint16_t ram; + + ram = LCD->LCD_RAM; + + return ram; +} + static inline void LCD_GPIO_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; @@ -135,7 +135,8 @@ void LCD_HardwareConfig(void) #define DATAOUT(x) do{ GPIOE->ODR = x; }while(0) // Data output //数据输出 #define DATAIN() GPIOE->IDR // Data input //数据输入 #else - /* TFT24-V1.1 + /* + * TFT24-V1.1 * PB6 :LCD-RD * PB7 :LCD-WR * PB9 :LCD-CS @@ -207,65 +208,65 @@ uint16_t LCD_RD_DATA(void) static inline void LCD_GPIO_Config(void) { -#if defined(MKS_TFT) - GPIO_InitTypeDef GPIO_InitStructure; - // GPIO Ports Clock Enable - - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOB, ENABLE); - // configure GPIO pin Output Level - - // configure GPIO pins : Pin1_Pin Pin2_Pin - - // GPIO_InitStructure.GPIO_Pin = LCD_nWR_Pin | FLASH_nCS_Pin | FILAMENT_DI_Pin | POWER_DI_Pin; - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14 | GPIO_Pin_9; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - // GPIO_InitStructure.GPIO_Pin = SDCARD_nCS_Pin | LCD_RS_Pin | LCD_BACKLIGHT_Pin | LCD_nRD_Pin; - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_15; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOD, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - GPIO_Init(GPIOE, &GPIO_InitStructure); - - LCD_RD_SET; // set this as we only change it when reading -#else - GPIO_InitTypeDef GPIO_InitStructure; - - RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE); - - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; - // D0 - D15: PC0 - PC15 - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; - GPIO_Init(GPIOC, &GPIO_InitStructure); - GPIO_SetBits(GPIOC, GPIO_Pin_All); - - /* - * PB6 :LCD-RD - * PB7 :LCD-WR - * PB9 :LCD-CS - * PB8 :LCD-RS - */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9; - GPIO_Init(GPIOB, &GPIO_InitStructure); - GPIO_SetBits(GPIOB, GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9); -#endif + #if defined(MKS_TFT) + GPIO_InitTypeDef GPIO_InitStructure; + // GPIO Ports Clock Enable + + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOB, ENABLE); + // configure GPIO pin Output Level + + // configure GPIO pins : Pin1_Pin Pin2_Pin + + // GPIO_InitStructure.GPIO_Pin = LCD_nWR_Pin | FLASH_nCS_Pin | FILAMENT_DI_Pin | POWER_DI_Pin; + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14 | GPIO_Pin_9; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_Init(GPIOB, &GPIO_InitStructure); + + // GPIO_InitStructure.GPIO_Pin = SDCARD_nCS_Pin | LCD_RS_Pin | LCD_BACKLIGHT_Pin | LCD_nRD_Pin; + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_15; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_Init(GPIOD, &GPIO_InitStructure); + + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_Init(GPIOC, &GPIO_InitStructure); + + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_Init(GPIOC, &GPIO_InitStructure); + + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + GPIO_Init(GPIOE, &GPIO_InitStructure); + + LCD_RD_SET; // set this as we only change it when reading + #else + GPIO_InitTypeDef GPIO_InitStructure; + + RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE); + + GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; + // D0 - D15: PC0 - PC15 + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; + GPIO_Init(GPIOC, &GPIO_InitStructure); + GPIO_SetBits(GPIOC, GPIO_Pin_All); + + /* + * PB6 :LCD-RD + * PB7 :LCD-WR + * PB9 :LCD-CS + * PB8 :LCD-RS + */ + GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9; + GPIO_Init(GPIOB, &GPIO_InitStructure); + GPIO_SetBits(GPIOB, GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9); + #endif } void LCD_HardwareConfig(void) diff --git a/TFT/src/User/Hal/stm32f10x/lcd.h b/TFT/src/User/Hal/stm32f10x/lcd.h index 5139a7e7f..d86e9298c 100644 --- a/TFT/src/User/Hal/stm32f10x/lcd.h +++ b/TFT/src/User/Hal/stm32f10x/lcd.h @@ -5,7 +5,6 @@ #include "variants.h" // for STM32_HAS_FSMC etc. #ifdef STM32_HAS_FSMC - typedef struct { volatile uint16_t LCD_REG; @@ -17,12 +16,9 @@ #define LCD_WR_REG(regval) do{ LCD->LCD_REG = regval; }while(0) #define LCD_WR_DATA(data) do{ LCD->LCD_RAM = data; }while(0) - #else - void LCD_WR_REG(uint16_t data); void LCD_WR_DATA(uint16_t data); - #endif uint16_t LCD_RD_DATA(void); diff --git a/TFT/src/User/Hal/stm32f10x/spi_slave.c b/TFT/src/User/Hal/stm32f10x/spi_slave.c index 153ee2340..2eeb6fd62 100644 --- a/TFT/src/User/Hal/stm32f10x/spi_slave.c +++ b/TFT/src/User/Hal/stm32f10x/spi_slave.c @@ -6,7 +6,7 @@ #if !defined(MKS_TFT) -#if defined(ST7920_EMULATOR) +#ifdef ST7920_EMULATOR // TODO: // now support SPI2 and PB12 CS only @@ -141,26 +141,26 @@ void EXTI15_10_IRQHandler(void) switch (infoSettings.marlin_type) { #ifdef LCD2004_EMULATOR - case LCD2004: - HD44780_writeData(); - break; + case LCD2004: + HD44780_writeData(); + break; #endif #ifdef ST7920_EMULATOR - case LCD12864: - if ((GPIOB->IDR & (1<<12)) != 0) - { - SPI_ReEnable(!!(GPIOB->IDR & (1<<13))); // adaptive spi mode0 / mode3 - ST7920_SPI_NUM->CR1 |= (1<<6); - } - else - { - RCC->APB1RSTR |= 1<<14; - RCC->APB1RSTR &= ~(1<<14); // reset SPI2 - } - - EXTI->PR = 1<<12; // clear interrupt status register - break; + case LCD12864: + if ((GPIOB->IDR & (1<<12)) != 0) + { + SPI_ReEnable(!!(GPIOB->IDR & (1<<13))); // adaptive spi mode0 / mode3 + ST7920_SPI_NUM->CR1 |= (1<<6); + } + else + { + RCC->APB1RSTR |= 1<<14; + RCC->APB1RSTR &= ~(1<<14); // reset SPI2 + } + + EXTI->PR = 1<<12; // clear interrupt status register + break; #endif } } diff --git a/TFT/src/User/Hal/stm32f10x/spi_slave_mks.c b/TFT/src/User/Hal/stm32f10x/spi_slave_mks.c index 7cfa2d483..e4e3e3685 100644 --- a/TFT/src/User/Hal/stm32f10x/spi_slave_mks.c +++ b/TFT/src/User/Hal/stm32f10x/spi_slave_mks.c @@ -6,7 +6,7 @@ #if defined(MKS_TFT) -#if defined(ST7920_EMULATOR) +#ifdef ST7920_EMULATOR // TODO: // now support SPI3 and PB1 CS only diff --git a/TFT/src/User/Hal/stm32f10x/timer_pwm.h b/TFT/src/User/Hal/stm32f10x/timer_pwm.h index 2677376be..01ebdbfe6 100644 --- a/TFT/src/User/Hal/stm32f10x/timer_pwm.h +++ b/TFT/src/User/Hal/stm32f10x/timer_pwm.h @@ -13,45 +13,45 @@ #define _TIM8 7 #define _TIM_CNT 8 -#define _TIM1_CH1 (((_TIM1)<<8) + 0) -#define _TIM1_CH2 (((_TIM1)<<8) + 1) -#define _TIM1_CH3 (((_TIM1)<<8) + 2) -#define _TIM1_CH4 (((_TIM1)<<8) + 3) - -#define _TIM2_CH1 (((_TIM2)<<8) + 0) -#define _TIM2_CH2 (((_TIM2)<<8) + 1) -#define _TIM2_CH3 (((_TIM2)<<8) + 2) -#define _TIM2_CH4 (((_TIM2)<<8) + 3) - -#define _TIM3_CH1 (((_TIM3)<<8) + 0) -#define _TIM3_CH2 (((_TIM3)<<8) + 1) -#define _TIM3_CH3 (((_TIM3)<<8) + 2) -#define _TIM3_CH4 (((_TIM3)<<8) + 3) - -#define _TIM4_CH1 (((_TIM4)<<8) + 0) -#define _TIM4_CH2 (((_TIM4)<<8) + 1) -#define _TIM4_CH3 (((_TIM4)<<8) + 2) -#define _TIM4_CH4 (((_TIM4)<<8) + 3) - -#define _TIM5_CH1 (((_TIM5)<<8) + 0) -#define _TIM5_CH2 (((_TIM5)<<8) + 1) -#define _TIM5_CH3 (((_TIM5)<<8) + 2) -#define _TIM5_CH4 (((_TIM5)<<8) + 3) - -#define _TIM6_CH1 (((_TIM6)<<8) + 0) -#define _TIM6_CH2 (((_TIM6)<<8) + 1) -#define _TIM6_CH3 (((_TIM6)<<8) + 2) -#define _TIM6_CH4 (((_TIM6)<<8) + 3) - -#define _TIM7_CH1 (((_TIM7)<<8) + 0) -#define _TIM7_CH2 (((_TIM7)<<8) + 1) -#define _TIM7_CH3 (((_TIM7)<<8) + 2) -#define _TIM7_CH4 (((_TIM7)<<8) + 3) - -#define _TIM8_CH1 (((_TIM8)<<8) + 0) -#define _TIM8_CH2 (((_TIM8)<<8) + 1) -#define _TIM8_CH3 (((_TIM8)<<8) + 2) -#define _TIM8_CH4 (((_TIM8)<<8) + 3) +#define _TIM1_CH1 (((_TIM1)<<8) + 0) +#define _TIM1_CH2 (((_TIM1)<<8) + 1) +#define _TIM1_CH3 (((_TIM1)<<8) + 2) +#define _TIM1_CH4 (((_TIM1)<<8) + 3) + +#define _TIM2_CH1 (((_TIM2)<<8) + 0) +#define _TIM2_CH2 (((_TIM2)<<8) + 1) +#define _TIM2_CH3 (((_TIM2)<<8) + 2) +#define _TIM2_CH4 (((_TIM2)<<8) + 3) + +#define _TIM3_CH1 (((_TIM3)<<8) + 0) +#define _TIM3_CH2 (((_TIM3)<<8) + 1) +#define _TIM3_CH3 (((_TIM3)<<8) + 2) +#define _TIM3_CH4 (((_TIM3)<<8) + 3) + +#define _TIM4_CH1 (((_TIM4)<<8) + 0) +#define _TIM4_CH2 (((_TIM4)<<8) + 1) +#define _TIM4_CH3 (((_TIM4)<<8) + 2) +#define _TIM4_CH4 (((_TIM4)<<8) + 3) + +#define _TIM5_CH1 (((_TIM5)<<8) + 0) +#define _TIM5_CH2 (((_TIM5)<<8) + 1) +#define _TIM5_CH3 (((_TIM5)<<8) + 2) +#define _TIM5_CH4 (((_TIM5)<<8) + 3) + +#define _TIM6_CH1 (((_TIM6)<<8) + 0) +#define _TIM6_CH2 (((_TIM6)<<8) + 1) +#define _TIM6_CH3 (((_TIM6)<<8) + 2) +#define _TIM6_CH4 (((_TIM6)<<8) + 3) + +#define _TIM7_CH1 (((_TIM7)<<8) + 0) +#define _TIM7_CH2 (((_TIM7)<<8) + 1) +#define _TIM7_CH3 (((_TIM7)<<8) + 2) +#define _TIM7_CH4 (((_TIM7)<<8) + 3) + +#define _TIM8_CH1 (((_TIM8)<<8) + 0) +#define _TIM8_CH2 (((_TIM8)<<8) + 1) +#define _TIM8_CH3 (((_TIM8)<<8) + 2) +#define _TIM8_CH4 (((_TIM8)<<8) + 3) #define TIMER_GET_TIM(n) ((n>>8) & 0xFF) #define TIMER_GET_CH(n) (n & 0xFF) diff --git a/TFT/src/User/Hal/stm32f2_f4xx/GPIO_Init.c b/TFT/src/User/Hal/stm32f2_f4xx/GPIO_Init.c index a15f32f07..49887b605 100644 --- a/TFT/src/User/Hal/stm32f2_f4xx/GPIO_Init.c +++ b/TFT/src/User/Hal/stm32f2_f4xx/GPIO_Init.c @@ -25,6 +25,7 @@ #define GPIO_AF15 15 #ifndef GPIO_AF_RTC_50Hz + /** * @brief AF 0 selection */ diff --git a/TFT/src/User/Hal/stm32f2_f4xx/HAL_Flash.c b/TFT/src/User/Hal/stm32f2_f4xx/HAL_Flash.c index 76039c276..acad7db00 100644 --- a/TFT/src/User/Hal/stm32f2_f4xx/HAL_Flash.c +++ b/TFT/src/User/Hal/stm32f2_f4xx/HAL_Flash.c @@ -1,5 +1,5 @@ #include "HAL_Flash.h" -#include "variants.h" // for FLASH_Unlock etc. +#include "variants.h" // for MKS_TFT35_V1_0, FLASH_Unlock etc. #include "my_misc.h" /* @@ -16,9 +16,34 @@ * Sector 11 0x080E 0000 - 0x080F FFFF 128 Kbyte */ -#ifdef MKS_TFT35_V1_0 // MKS_TFT35_V1_0 bootloader is 48KB, adjust flash mapping - // use darkspr1te alternative small loader to fix this issue and return to using 16kb lower flash for param storage or switch to I2C - // if we use getsector routine it returns this value anyway, so FLASH_SECTOR is not used +#if defined(MKS_TFT35_V1_0) // added for MKS TFT 35 V1.0 support. MKS_TFT35_V1_0 bootloader is 48KB, adjust flash mapping + #define ADDR_FLASH_SECTOR_0 ((uint32_t)0x08000000) // base @ of sector 0, 16 Kbytes + #define ADDR_FLASH_SECTOR_1 ((uint32_t)0x08004000) // base @ of sector 1, 16 Kbytes + #define ADDR_FLASH_SECTOR_2 ((uint32_t)0x08008000) // base @ of sector 2, 16 Kbytes + #define ADDR_FLASH_SECTOR_3 ((uint32_t)0x0800C000) // base @ of sector 3, 16 Kbytes + #define ADDR_FLASH_SECTOR_4 ((uint32_t)0x08010000) // base @ of sector 4, 64 Kbytes + #define ADDR_FLASH_SECTOR_5 ((uint32_t)0x08020000) // base @ of sector 5, 128 Kbytes + #define ADDR_FLASH_SECTOR_6 ((uint32_t)0x08040000) // base @ of sector 6, 128 Kbytes + #define ADDR_FLASH_SECTOR_7 ((uint32_t)0x08060000) // base @ of sector 7, 128 Kbytes + #define ADDR_FLASH_SECTOR_8 ((uint32_t)0x08080000) // base @ of sector 8, 128 Kbytes + #define ADDR_FLASH_SECTOR_9 ((uint32_t)0x080A0000) // base @ of sector 9, 128 Kbytes + #define ADDR_FLASH_SECTOR_10 ((uint32_t)0x080C0000) // base @ of sector 10, 128 Kbytes + #define ADDR_FLASH_SECTOR_11 ((uint32_t)0x080E0000) // base @ of sector 11, 128 Kbytes + #define ADDR_FLASH_SECTOR_12 ((uint32_t)0x08100000) // base @ of sector 0, 16 Kbytes + #define ADDR_FLASH_SECTOR_13 ((uint32_t)0x08104000) // base @ of sector 1, 16 Kbytes + #define ADDR_FLASH_SECTOR_14 ((uint32_t)0x08108000) // base @ of sector 2, 16 Kbytes + #define ADDR_FLASH_SECTOR_15 ((uint32_t)0x0810C000) // base @ of sector 3, 16 Kbytes + #define ADDR_FLASH_SECTOR_16 ((uint32_t)0x08110000) // base @ of sector 4, 64 Kbytes + #define ADDR_FLASH_SECTOR_17 ((uint32_t)0x08120000) // base @ of sector 5, 128 Kbytes + #define ADDR_FLASH_SECTOR_18 ((uint32_t)0x08140000) // base @ of sector 6, 128 Kbytes + #define ADDR_FLASH_SECTOR_19 ((uint32_t)0x08160000) // base @ of sector 7, 128 Kbytes + #define ADDR_FLASH_SECTOR_20 ((uint32_t)0x08180000) // base @ of sector 8, 128 Kbytes + #define ADDR_FLASH_SECTOR_21 ((uint32_t)0x081A0000) // base @ of sector 9, 128 Kbytes + #define ADDR_FLASH_SECTOR_22 ((uint32_t)0x081C0000) // base @ of sector 10, 128 Kbytes + #define ADDR_FLASH_SECTOR_23 ((uint32_t)0x081E0000) // base @ of sector 11, 128 Kbytes + + // use darkspr1te alternative small loader to fix this issue and return to using 16kb lower flash for param storage + // or switch to I2C if we use getsector routine it returns this value anyway, so FLASH_SECTOR is not used #define SIGN_ADDRESS (0x08040000) // reserve the last 128k for user params or we damage the boot loader on this board #define FLASH_SECTOR FLASH_Sector_6 // points to an available sector (0x08040000 - 0x0805FFFF) #else @@ -26,35 +51,35 @@ #define FLASH_SECTOR FLASH_Sector_1 #endif -#ifdef MKS_TFT35_V1_0 +#if defined(MKS_TFT35_V1_0) -static inline uint32_t GetSector(uint32_t Address) +static inline uint32_t GetSector(uint32_t address) { uint32_t sector = 0; - if ((Address < ADDR_FLASH_SECTOR_1) && (Address >= ADDR_FLASH_SECTOR_0)) + if ((address < ADDR_FLASH_SECTOR_1) && (address >= ADDR_FLASH_SECTOR_0)) sector = FLASH_Sector_0; - else if ((Address < ADDR_FLASH_SECTOR_2) && (Address >= ADDR_FLASH_SECTOR_1)) + else if ((address < ADDR_FLASH_SECTOR_2) && (address >= ADDR_FLASH_SECTOR_1)) sector = FLASH_Sector_1; - else if ((Address < ADDR_FLASH_SECTOR_3) && (Address >= ADDR_FLASH_SECTOR_2)) + else if ((address < ADDR_FLASH_SECTOR_3) && (address >= ADDR_FLASH_SECTOR_2)) sector = FLASH_Sector_2; - else if ((Address < ADDR_FLASH_SECTOR_4) && (Address >= ADDR_FLASH_SECTOR_3)) + else if ((address < ADDR_FLASH_SECTOR_4) && (address >= ADDR_FLASH_SECTOR_3)) sector = FLASH_Sector_3; - else if ((Address < ADDR_FLASH_SECTOR_5) && (Address >= ADDR_FLASH_SECTOR_4)) + else if ((address < ADDR_FLASH_SECTOR_5) && (address >= ADDR_FLASH_SECTOR_4)) sector = FLASH_Sector_4; - else if ((Address < ADDR_FLASH_SECTOR_6) && (Address >= ADDR_FLASH_SECTOR_5)) + else if ((address < ADDR_FLASH_SECTOR_6) && (address >= ADDR_FLASH_SECTOR_5)) sector = FLASH_Sector_5; - else if ((Address < ADDR_FLASH_SECTOR_7) && (Address >= ADDR_FLASH_SECTOR_6)) + else if ((address < ADDR_FLASH_SECTOR_7) && (address >= ADDR_FLASH_SECTOR_6)) sector = FLASH_Sector_6; - else if ((Address < ADDR_FLASH_SECTOR_8) && (Address >= ADDR_FLASH_SECTOR_7)) + else if ((address < ADDR_FLASH_SECTOR_8) && (address >= ADDR_FLASH_SECTOR_7)) sector = FLASH_Sector_7; - else if ((Address < ADDR_FLASH_SECTOR_9) && (Address >= ADDR_FLASH_SECTOR_8)) + else if ((address < ADDR_FLASH_SECTOR_9) && (address >= ADDR_FLASH_SECTOR_8)) sector = FLASH_Sector_8; - else if ((Address < ADDR_FLASH_SECTOR_10) && (Address >= ADDR_FLASH_SECTOR_9)) + else if ((address < ADDR_FLASH_SECTOR_10) && (address >= ADDR_FLASH_SECTOR_9)) sector = FLASH_Sector_9; - else if ((Address < ADDR_FLASH_SECTOR_11) && (Address >= ADDR_FLASH_SECTOR_10)) + else if ((address < ADDR_FLASH_SECTOR_11) && (address >= ADDR_FLASH_SECTOR_10)) sector = FLASH_Sector_10; - else if ((Address < ADDR_FLASH_SECTOR_12) && (Address >= ADDR_FLASH_SECTOR_11)) + else if ((address < ADDR_FLASH_SECTOR_12) && (address >= ADDR_FLASH_SECTOR_11)) sector = FLASH_Sector_11; return sector; @@ -78,11 +103,11 @@ void HAL_FlashWrite(uint8_t * data, uint32_t len) FLASH_Unlock(); -#ifdef MKS_TFT35_V1_0 // added for MKS_TFT35_V1_0 support - FLASH_EraseSector(GetSector(SIGN_ADDRESS), VoltageRange_1); -#else - FLASH_EraseSector(FLASH_SECTOR, VoltageRange_1); -#endif + #if defined(MKS_TFT35_V1_0) // added for MKS_TFT35_V1_0 support + FLASH_EraseSector(GetSector(SIGN_ADDRESS), VoltageRange_1); + #else + FLASH_EraseSector(FLASH_SECTOR, VoltageRange_1); + #endif for (i = 0; i < len; i++) { diff --git a/TFT/src/User/Hal/stm32f2_f4xx/HAL_Flash.h b/TFT/src/User/Hal/stm32f2_f4xx/HAL_Flash.h index 52d9aed52..88792034a 100644 --- a/TFT/src/User/Hal/stm32f2_f4xx/HAL_Flash.h +++ b/TFT/src/User/Hal/stm32f2_f4xx/HAL_Flash.h @@ -2,34 +2,6 @@ #define _HAL_FLASH_H_ #include -#include "variants.h" // for MKS_TFT35_V1_0 etc. - -#ifdef MKS_TFT35_V1_0 // added for MKS TFT 35 V1.0 support - #define ADDR_FLASH_SECTOR_0 ((uint32_t)0x08000000) // Base @ of Sector 0, 16 Kbytes - #define ADDR_FLASH_SECTOR_1 ((uint32_t)0x08004000) // Base @ of Sector 1, 16 Kbytes - #define ADDR_FLASH_SECTOR_2 ((uint32_t)0x08008000) // Base @ of Sector 2, 16 Kbytes - #define ADDR_FLASH_SECTOR_3 ((uint32_t)0x0800C000) // Base @ of Sector 3, 16 Kbytes - #define ADDR_FLASH_SECTOR_4 ((uint32_t)0x08010000) // Base @ of Sector 4, 64 Kbytes - #define ADDR_FLASH_SECTOR_5 ((uint32_t)0x08020000) // Base @ of Sector 5, 128 Kbytes - #define ADDR_FLASH_SECTOR_6 ((uint32_t)0x08040000) // Base @ of Sector 6, 128 Kbytes - #define ADDR_FLASH_SECTOR_7 ((uint32_t)0x08060000) // Base @ of Sector 7, 128 Kbytes - #define ADDR_FLASH_SECTOR_8 ((uint32_t)0x08080000) // Base @ of Sector 8, 128 Kbytes - #define ADDR_FLASH_SECTOR_9 ((uint32_t)0x080A0000) // Base @ of Sector 9, 128 Kbytes - #define ADDR_FLASH_SECTOR_10 ((uint32_t)0x080C0000) // Base @ of Sector 10, 128 Kbytes - #define ADDR_FLASH_SECTOR_11 ((uint32_t)0x080E0000) // Base @ of Sector 11, 128 Kbytes - #define ADDR_FLASH_SECTOR_12 ((uint32_t)0x08100000) // Base @ of Sector 0, 16 Kbytes - #define ADDR_FLASH_SECTOR_13 ((uint32_t)0x08104000) // Base @ of Sector 1, 16 Kbytes - #define ADDR_FLASH_SECTOR_14 ((uint32_t)0x08108000) // Base @ of Sector 2, 16 Kbytes - #define ADDR_FLASH_SECTOR_15 ((uint32_t)0x0810C000) // Base @ of Sector 3, 16 Kbytes - #define ADDR_FLASH_SECTOR_16 ((uint32_t)0x08110000) // Base @ of Sector 4, 64 Kbytes - #define ADDR_FLASH_SECTOR_17 ((uint32_t)0x08120000) // Base @ of Sector 5, 128 Kbytes - #define ADDR_FLASH_SECTOR_18 ((uint32_t)0x08140000) // Base @ of Sector 6, 128 Kbytes - #define ADDR_FLASH_SECTOR_19 ((uint32_t)0x08160000) // Base @ of Sector 7, 128 Kbytes - #define ADDR_FLASH_SECTOR_20 ((uint32_t)0x08180000) // Base @ of Sector 8, 128 Kbytes - #define ADDR_FLASH_SECTOR_21 ((uint32_t)0x081A0000) // Base @ of Sector 9, 128 Kbytes - #define ADDR_FLASH_SECTOR_22 ((uint32_t)0x081C0000) // Base @ of Sector 10, 128 Kbytes - #define ADDR_FLASH_SECTOR_23 ((uint32_t)0x081E0000) // Base @ of Sector 11, 128 Kbytes -#endif void HAL_FlashRead(uint8_t * data, uint32_t len); void HAL_FlashWrite(uint8_t * data, uint32_t len); diff --git a/TFT/src/User/Hal/stm32f2_f4xx/Serial.c b/TFT/src/User/Hal/stm32f2_f4xx/Serial.c index fbf0cc159..a7e9e874f 100644 --- a/TFT/src/User/Hal/stm32f2_f4xx/Serial.c +++ b/TFT/src/User/Hal/stm32f2_f4xx/Serial.c @@ -21,23 +21,23 @@ DMA_CIRCULAR_BUFFER dmaL1DataTX[_UART_CNT] = {0}; // DMA / interrupt TX buffer // config for USART DMA channels const SERIAL_CFG Serial[_UART_CNT] = { -#ifdef TX_DMA_WRITE -// USART TCC DMAx Channel RX Stream TX Stream - {USART1, RCC_AHB1Periph_DMA2, 4, DMA2_Stream2, DMA2_Stream7}, - {USART2, RCC_AHB1Periph_DMA1, 4, DMA1_Stream5, DMA1_Stream6}, - {USART3, RCC_AHB1Periph_DMA1, 4, DMA1_Stream1, DMA1_Stream3}, - {UART4, RCC_AHB1Periph_DMA1, 4, DMA1_Stream2, DMA1_Stream4}, - {UART5, RCC_AHB1Periph_DMA1, 4, DMA1_Stream0, DMA1_Stream7}, - {USART6, RCC_AHB1Periph_DMA2, 5, DMA2_Stream1, DMA2_Stream6}, -#else -// USART TCC DMAx Channel RX Stream - {USART1, RCC_AHB1Periph_DMA2, 4, DMA2_Stream2}, - {USART2, RCC_AHB1Periph_DMA1, 4, DMA1_Stream5}, - {USART3, RCC_AHB1Periph_DMA1, 4, DMA1_Stream1}, - {UART4, RCC_AHB1Periph_DMA1, 4, DMA1_Stream2}, - {UART5, RCC_AHB1Periph_DMA1, 4, DMA1_Stream0}, - {USART6, RCC_AHB1Periph_DMA2, 5, DMA2_Stream1}, -#endif + #ifdef TX_DMA_WRITE + // USART TCC DMAx Channel RX Stream TX Stream + {USART1, RCC_AHB1Periph_DMA2, 4, DMA2_Stream2, DMA2_Stream7}, + {USART2, RCC_AHB1Periph_DMA1, 4, DMA1_Stream5, DMA1_Stream6}, + {USART3, RCC_AHB1Periph_DMA1, 4, DMA1_Stream1, DMA1_Stream3}, + {UART4, RCC_AHB1Periph_DMA1, 4, DMA1_Stream2, DMA1_Stream4}, + {UART5, RCC_AHB1Periph_DMA1, 4, DMA1_Stream0, DMA1_Stream7}, + {USART6, RCC_AHB1Periph_DMA2, 5, DMA2_Stream1, DMA2_Stream6}, + #else + // USART TCC DMAx Channel RX Stream + {USART1, RCC_AHB1Periph_DMA2, 4, DMA2_Stream2}, + {USART2, RCC_AHB1Periph_DMA1, 4, DMA1_Stream5}, + {USART3, RCC_AHB1Periph_DMA1, 4, DMA1_Stream1}, + {UART4, RCC_AHB1Periph_DMA1, 4, DMA1_Stream2}, + {UART5, RCC_AHB1Periph_DMA1, 4, DMA1_Stream0}, + {USART6, RCC_AHB1Periph_DMA2, 5, DMA2_Stream1}, + #endif }; // disable RX DMA and clear all interrupt flags for a serial port @@ -140,36 +140,36 @@ static inline void Serial_DMA_Config(uint8_t port) else cfg->dma_streamRX->CR |= (0<<16); // RX priority level: Low -//cfg->dma_streamRX->CR &= ~(3<<13); // RX memory data size: 8 bit -//cfg->dma_streamRX->CR &= ~(3<<11); // RX peripheral data size: 8 bit + //cfg->dma_streamRX->CR &= ~(3<<13); // RX memory data size: 8 bit + //cfg->dma_streamRX->CR &= ~(3<<11); // RX peripheral data size: 8 bit cfg->dma_streamRX->CR |= (1<<10); // RX memory increment mode -//cfg->dma_streamRX->CR &= ~(1<<9); // RX peripheral no increment mode + //cfg->dma_streamRX->CR &= ~(1<<9); // RX peripheral no increment mode cfg->dma_streamRX->CR |= (1<<8); // RX circular mode enabled -//cfg->dma_streamRX->CR &= ~(1<<6); // RX data transfer direction: Peripheral-to-memory + //cfg->dma_streamRX->CR &= ~(1<<6); // RX data transfer direction: Peripheral-to-memory -#ifdef TX_DMA_WRITE // TX DMA based serial writing - Serial_DMA_DisableAndClearFlagsTX(port); // TX disable DMA and clear all interrupt flags + #ifdef TX_DMA_WRITE // TX DMA based serial writing + Serial_DMA_DisableAndClearFlagsTX(port); // TX disable DMA and clear all interrupt flags - cfg->dma_streamTX->PAR = (uint32_t)(&cfg->uart->DR); // TX peripheral address (usart) + cfg->dma_streamTX->PAR = (uint32_t)(&cfg->uart->DR); // TX peripheral address (usart) - cfg->dma_streamTX->CR = (cfg->dma_channel << 25); // TX channel selection, set to 0 all the other CR bits + cfg->dma_streamTX->CR = (cfg->dma_channel << 25); // TX channel selection, set to 0 all the other CR bits - // primary serial port priority at highest level (TX higher than RX) - if (port == SERIAL_PORT) - cfg->dma_streamTX->CR |= (3<<16); // TX priority level: Very high - else - cfg->dma_streamTX->CR |= (1<<16); // TX priority level: Medium + // primary serial port priority at highest level (TX higher than RX) + if (port == SERIAL_PORT) + cfg->dma_streamTX->CR |= (3<<16); // TX priority level: Very high + else + cfg->dma_streamTX->CR |= (1<<16); // TX priority level: Medium -//cfg->dma_streamTX->CR &= ~(3<<13); // TX memory data size: 8 bit -//cfg->dma_streamTX->CR &= ~(3<<11); // TX peripheral data size: 8 bit - cfg->dma_streamTX->CR |= (1<<10); // TX memory increment mode -//cfg->dma_streamTX->CR &= ~(1<<9); // TX peripheral no increment mode -//cfg->dma_streamTX->CR &= ~(1<<8); // TX circular mode disabled - cfg->dma_streamTX->CR |= (1<<6); // TX data transfer direction: Memory-to-Peripheral + //cfg->dma_streamTX->CR &= ~(3<<13); // TX memory data size: 8 bit + //cfg->dma_streamTX->CR &= ~(3<<11); // TX peripheral data size: 8 bit + cfg->dma_streamTX->CR |= (1<<10); // TX memory increment mode + //cfg->dma_streamTX->CR &= ~(1<<9); // TX peripheral no increment mode + //cfg->dma_streamTX->CR &= ~(1<<8); // TX circular mode disabled + cfg->dma_streamTX->CR |= (1<<6); // TX data transfer direction: Memory-to-Peripheral - cfg->uart->CR3 |= (1<<7); // enable DMA transmitter (DMAT) -//cfg->dma_streamTX->CR |= (1<<0); // TX enable DMA, done later when needed -#endif + cfg->uart->CR3 |= (1<<7); // enable DMA transmitter (DMAT) + //cfg->dma_streamTX->CR |= (1<<0); // TX enable DMA, done later when needed + #endif cfg->uart->CR3 |= (1<<6); // enable DMA receiver (DMAR) cfg->dma_streamRX->CR |= (1<<0); // RX enable DMA @@ -215,11 +215,11 @@ void Serial_DeConfig(uint8_t port) { Serial_ClearData(port); - Serial_DMA_DisableAndClearFlagsRX(port); // disable RX DMA and clear all interrupt flags + Serial_DMA_DisableAndClearFlagsRX(port); // disable RX DMA and clear all interrupt flags -#ifdef TX_DMA_WRITE - Serial_DMA_DisableAndClearFlagsTX(port); // disable TX DMA and clear all interrupt flags -#endif + #ifdef TX_DMA_WRITE + Serial_DMA_DisableAndClearFlagsTX(port); // disable TX DMA and clear all interrupt flags + #endif UART_DeConfig(port); } @@ -287,51 +287,51 @@ void Serial_Put(uint8_t port, const char * msg) // ISR, serial interrupt handler void USART_IRQHandler(uint8_t port) { -#if IDLE_LINE_IT == true // IDLE Line interrupt - if ((Serial[port].uart->SR & USART_SR_IDLE) != RESET) // check for IDLE Line interrupt - { - Serial[port].uart->SR; // clear IDLE Line bit - Serial[port].uart->DR; - - dmaL1DataRX[port].wIndex = dmaL1DataRX[port].cacheSize - Serial[port].dma_streamRX->NDTR; - } -#endif - -#ifdef TX_DMA_WRITE // TX DMA based serial writing - if ((Serial[port].uart->SR & USART_SR_TC) != RESET) // check for Transfer Complete (TC) interrupt - { - Serial[port].uart->SR &= ~USART_SR_TC; // clear Transfer Complete (TC) bit - - // NOTE 1: use the serial TC, not the DMA TC because this only indicates DMA is done, peripheral might be still busy - // NOTE 2: the TC interrupt is sometimes called while DMA is still active, so check NDTR status! - // - if (Serial[port].dma_streamTX->NDTR == 0) // sending is complete + #if IDLE_LINE_IT == true // IDLE Line interrupt + if ((Serial[port].uart->SR & USART_SR_IDLE) != RESET) // check for IDLE Line interrupt { - dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + dmaL1DataTX[port].flag) % dmaL1DataTX[port].cacheSize; - dmaL1DataTX[port].flag = 0; + Serial[port].uart->SR; // clear IDLE Line bit + Serial[port].uart->DR; - if (dmaL1DataTX[port].wIndex != dmaL1DataTX[port].rIndex) // is more data available? - Serial_Send_TX(port); // continue sending data - else - Serial[port].uart->CR1 &= ~USART_CR1_TCIE; // disable Transfer Complete (TC) interrupt, nothing more to do + dmaL1DataRX[port].wIndex = dmaL1DataRX[port].cacheSize - Serial[port].dma_streamRX->NDTR; } - // else: more data is coming, wait for next Transfer Complete (TC) interrupt - } -#else // TX interrupt based serial writing - if ((Serial[port].uart->SR & USART_SR_TXE) != RESET) // check for TXE interrupt - { - if (dmaL1DataTX[port].rIndex == dmaL1DataTX[port].wIndex) // no more data? + #endif + + #ifdef TX_DMA_WRITE // TX DMA based serial writing + if ((Serial[port].uart->SR & USART_SR_TC) != RESET) // check for Transfer Complete (TC) interrupt { - Serial[port].uart->CR1 &= ~USART_CR1_TXEIE; // disable TXE interrupt + Serial[port].uart->SR &= ~USART_SR_TC; // clear Transfer Complete (TC) bit + + // NOTE 1: use the serial TC, not the DMA TC because this only indicates DMA is done, peripheral might be still busy + // NOTE 2: the TC interrupt is sometimes called while DMA is still active, so check NDTR status! + // + if (Serial[port].dma_streamTX->NDTR == 0) // sending is complete + { + dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + dmaL1DataTX[port].flag) % dmaL1DataTX[port].cacheSize; + dmaL1DataTX[port].flag = 0; + + if (dmaL1DataTX[port].wIndex != dmaL1DataTX[port].rIndex) // is more data available? + Serial_Send_TX(port); // continue sending data + else + Serial[port].uart->CR1 &= ~USART_CR1_TCIE; // disable Transfer Complete (TC) interrupt, nothing more to do + } + // else: more data is coming, wait for next Transfer Complete (TC) interrupt } - else + #else // TX interrupt based serial writing + if ((Serial[port].uart->SR & USART_SR_TXE) != RESET) // check for TXE interrupt { - Serial[port].uart->DR = (uint8_t)dmaL1DataTX[port].cache[dmaL1DataTX[port].rIndex]; // write next available character + if (dmaL1DataTX[port].rIndex == dmaL1DataTX[port].wIndex) // no more data? + { + Serial[port].uart->CR1 &= ~USART_CR1_TXEIE; // disable TXE interrupt + } + else + { + Serial[port].uart->DR = (uint8_t)dmaL1DataTX[port].cache[dmaL1DataTX[port].rIndex]; // write next available character - dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + 1) % dmaL1DataTX[port].cacheSize; // increase reading index + dmaL1DataTX[port].rIndex = (dmaL1DataTX[port].rIndex + 1) % dmaL1DataTX[port].cacheSize; // increase reading index + } } - } -#endif + #endif } void USART1_IRQHandler(void) diff --git a/TFT/src/User/Hal/stm32f2_f4xx/Serial.h b/TFT/src/User/Hal/stm32f2_f4xx/Serial.h index 5487a0cd8..c64f40b11 100644 --- a/TFT/src/User/Hal/stm32f2_f4xx/Serial.h +++ b/TFT/src/User/Hal/stm32f2_f4xx/Serial.h @@ -20,13 +20,13 @@ typedef struct // config for USART DMA channels typedef struct { - USART_TypeDef * uart; // uint32_t + USART_TypeDef * uart; // uint32_t uint32_t dma_rcc; uint32_t dma_channel; - DMA_Stream_TypeDef * dma_streamRX; // uint32_t -#ifdef TX_DMA_WRITE - DMA_Stream_TypeDef * dma_streamTX; // uint32_t -#endif + DMA_Stream_TypeDef * dma_streamRX; // uint32_t + #ifdef TX_DMA_WRITE + DMA_Stream_TypeDef * dma_streamTX; // uint32_t + #endif } SERIAL_CFG; extern DMA_CIRCULAR_BUFFER dmaL1DataRX[_UART_CNT]; diff --git a/TFT/src/User/Hal/stm32f2_f4xx/i2c_eeprom.c b/TFT/src/User/Hal/stm32f2_f4xx/i2c_eeprom.c index 1105e0321..df34b1c49 100644 --- a/TFT/src/User/Hal/stm32f2_f4xx/i2c_eeprom.c +++ b/TFT/src/User/Hal/stm32f2_f4xx/i2c_eeprom.c @@ -2,15 +2,11 @@ * For MKS_TFT35_V1_0 I2C FLASH MEMORY EEPROM support * HARD CODED FOR I2C1!!! */ - -#include "includes.h" - -#if defined(I2C_EEPROM) - #include "i2c_eeprom.h" -#include "my_misc.h" +#include "includes.h" // for I2C_EEPROM, GUI_DispString, Delay_us etc. #include "GPIO_Init.h" -#include "variants.h" + +#ifdef I2C_EEPROM #define EEPROM_OK 0 #define EEPROM_FAIL 1 @@ -26,8 +22,8 @@ #define AT24C128 16383 #define AT24C256 32767 -//#define AT24CXX_TYPE EEPROM_TYPE -#define AT24CXX_ADDRESS EEPROM_ADDRESS +//#define AT24CXX_TYPE EEPROM_TYPE +#define AT24CXX_ADDRESS EEPROM_ADDRESS // address #define AT24CXX_PAGE_SIZE 16 // 8 bytes // timeout for write based on max read/write which is diff --git a/TFT/src/User/Hal/stm32f2_f4xx/lcd.c b/TFT/src/User/Hal/stm32f2_f4xx/lcd.c index e7d1d7012..6314593f6 100644 --- a/TFT/src/User/Hal/stm32f2_f4xx/lcd.c +++ b/TFT/src/User/Hal/stm32f2_f4xx/lcd.c @@ -4,15 +4,6 @@ #ifdef STM32_HAS_FSMC -uint16_t LCD_RD_DATA(void) -{ - volatile uint16_t ram; - - ram = LCD->LCD_RAM; - - return ram; -} - static void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue) { LCD->LCD_REG = LCD_Reg; @@ -27,6 +18,15 @@ static uint16_t LCD_ReadReg(uint8_t LCD_Reg) return LCD_RD_DATA(); } +uint16_t LCD_RD_DATA(void) +{ + volatile uint16_t ram; + + ram = LCD->LCD_RAM; + + return ram; +} + static inline void LCD_GPIO_Config(void) { // fsmc 16bit data pins @@ -52,16 +52,16 @@ static inline void LCD_GPIO_Config(void) * PD4-FSMC_NOE :LCD-RD * PD5-FSMC_NWE :LCD-WR * PD7-FSMC_NE1 :LCD-CS - * PE2-FSMC_A23 :LCD-RS LCD-RS data or cmd + * PE2-FSMC_A23 :LCD-RS LCD-RS data or cmd */ GPIO_InitSet(PD4, MGPIO_MODE_AF_PP, GPIO_AF_FSMC); GPIO_InitSet(PD5, MGPIO_MODE_AF_PP, GPIO_AF_FSMC); -#ifdef MKS_TFT35_V1_0 // different pinout for MKS_TFT35_V1_0 - GPIO_InitSet(PD12, MGPIO_MODE_AF_PP, GPIO_AF_FSMC); -#else - GPIO_InitSet(PE2, MGPIO_MODE_AF_PP, GPIO_AF_FSMC); -#endif + #if defined(MKS_TFT35_V1_0) // different pinout for MKS_TFT35_V1_0 + GPIO_InitSet(PD12, MGPIO_MODE_AF_PP, GPIO_AF_FSMC); + #else + GPIO_InitSet(PE2, MGPIO_MODE_AF_PP, GPIO_AF_FSMC); + #endif GPIO_InitSet(PD7, MGPIO_MODE_AF_PP, GPIO_AF_FSMC); } @@ -121,5 +121,7 @@ void LCD_HardwareConfig(void) } #else - #error "don't support LCD-GPIO yet" -#endif + +#error "don't support LCD-GPIO yet" + +#endif // STM32_HAS_FSMC diff --git a/TFT/src/User/Hal/stm32f2_f4xx/lcd.h b/TFT/src/User/Hal/stm32f2_f4xx/lcd.h index 5daeaf573..d7e49b1f0 100644 --- a/TFT/src/User/Hal/stm32f2_f4xx/lcd.h +++ b/TFT/src/User/Hal/stm32f2_f4xx/lcd.h @@ -5,29 +5,27 @@ #include "variants.h" // for STM32_HAS_FSMC etc. #ifdef STM32_HAS_FSMC - typedef struct { volatile uint16_t LCD_REG; volatile uint16_t LCD_RAM; } LCD_TypeDef; -#ifdef MKS_TFT35_V1_0 // different LCD base address for MKS_TFT35_V1_0 - #define LCD_BASE ((uint32_t)(0x60000000 | 0x003fffe)) // 1111 1111 1111 1111 1111 1110 -#else - #define LCD_BASE ((uint32_t)(0x60000000 | 0x00FFFFFE)) // 1111 1111 1111 1111 1111 1110 -#endif + #if defined(MKS_TFT35_V1_0) // different LCD base address for MKS_TFT35_V1_0 + #define LCD_BASE ((uint32_t)(0x60000000 | 0x003fffe)) // 1111 1111 1111 1111 1111 1110 + #else + #define LCD_BASE ((uint32_t)(0x60000000 | 0x00FFFFFE)) // 1111 1111 1111 1111 1111 1110 + #endif #define LCD ((LCD_TypeDef *) LCD_BASE) #define LCD_WR_REG(regval) do{ LCD->LCD_REG = regval; }while(0) #define LCD_WR_DATA(data) do{ LCD->LCD_RAM = data; }while(0) + uint16_t LCD_RD_DATA(void); + void LCD_HardwareConfig(void); #else #error "don't support LCD-GPIO yet" #endif -uint16_t LCD_RD_DATA(void); -void LCD_HardwareConfig(void); - #endif diff --git a/TFT/src/User/Hal/stm32f2_f4xx/spi_slave.c b/TFT/src/User/Hal/stm32f2_f4xx/spi_slave.c index 7b18087f2..7d918d596 100644 --- a/TFT/src/User/Hal/stm32f2_f4xx/spi_slave.c +++ b/TFT/src/User/Hal/stm32f2_f4xx/spi_slave.c @@ -4,7 +4,7 @@ #include "GPIO_Init.h" #include "HD44780.h" -#if defined(ST7920_EMULATOR) +#ifdef ST7920_EMULATOR // TODO: // now support SPI2 and PB12 CS only @@ -138,26 +138,26 @@ void EXTI15_10_IRQHandler(void) switch (infoSettings.marlin_type) { #ifdef LCD2004_EMULATOR - case LCD2004: - HD44780_writeData(); - break; + case LCD2004: + HD44780_writeData(); + break; #endif #ifdef ST7920_EMULATOR - case LCD12864: - if ((GPIOB->IDR & (1<<12)) != 0) - { - SPI_ReEnable(!!(GPIOB->IDR & (1<<13))); // adaptive spi mode0 / mode3 - ST7920_SPI_NUM->CR1 |= (1<<6); - } - else - { - RCC->APB1RSTR |= 1<<14; - RCC->APB1RSTR &= ~(1<<14); // reset SPI2 - } - - EXTI->PR = 1<<12; // clear interrupt status register - break; + case LCD12864: + if ((GPIOB->IDR & (1<<12)) != 0) + { + SPI_ReEnable(!!(GPIOB->IDR & (1<<13))); // adaptive spi mode0 / mode3 + ST7920_SPI_NUM->CR1 |= (1<<6); + } + else + { + RCC->APB1RSTR |= 1<<14; + RCC->APB1RSTR &= ~(1<<14); // reset SPI2 + } + + EXTI->PR = 1<<12; // clear interrupt status register + break; #endif } } diff --git a/TFT/src/User/Hal/xpt2046.c b/TFT/src/User/Hal/xpt2046.c index 9d32904ef..fa3ee3df0 100644 --- a/TFT/src/User/Hal/xpt2046.c +++ b/TFT/src/User/Hal/xpt2046.c @@ -13,22 +13,22 @@ // Chip Select static void XPT2046_CS_Set(uint8_t level) { -#ifdef HW_SPI_TOUCH // added for MKS_TFT35_V1_0 support - GPIO_SetLevel(XPT2046_CS, level); - W25Qxx_SPI_CS_Set(1); -#else - SW_SPI_CS_Set(&xpt2046, level); -#endif + #ifdef HW_SPI_TOUCH // added for MKS_TFT35_V1_0 support + GPIO_SetLevel(XPT2046_CS, level); + W25Qxx_SPI_CS_Set(1); + #else + SW_SPI_CS_Set(&xpt2046, level); + #endif } // read and write functions static uint8_t XPT2046_ReadWriteByte(uint8_t TxData) { -#ifdef HW_SPI_TOUCH // added for MKS_TFT35_V1_0 support - return SPI_Read_Write(XPT2046_SPI, TxData); -#else - return SW_SPI_Read_Write(&xpt2046, TxData); -#endif + #ifdef HW_SPI_TOUCH // added for MKS_TFT35_V1_0 support + return SPI_Read_Write(XPT2046_SPI, TxData); + #else + return SW_SPI_Read_Write(&xpt2046, TxData); + #endif } // XPT2046 SPI and pen interrupt initialization @@ -36,16 +36,16 @@ void XPT2046_Init(void) { GPIO_InitSet(XPT2046_TPEN, MGPIO_MODE_IPN, 0); // PA15-TPEN -#ifdef HW_SPI_TOUCH // added for MKS_TFT35_V1_0 support - GPIO_InitSet(XPT2046_CS, MGPIO_MODE_OUT_PP, 0); -#else - SW_SPI_Config(&xpt2046, _SPI_MODE3, 8, // 8bit - XPT2046_CS, // CS - XPT2046_SCK, // SCK - XPT2046_MISO, // MISO - XPT2046_MOSI // MOSI - ); -#endif + #ifdef HW_SPI_TOUCH // added for MKS_TFT35_V1_0 support + GPIO_InitSet(XPT2046_CS, MGPIO_MODE_OUT_PP, 0); + #else + SW_SPI_Config(&xpt2046, _SPI_MODE3, 8, // 8bit + XPT2046_CS, // CS + XPT2046_SCK, // SCK + XPT2046_MISO, // MISO + XPT2046_MOSI // MOSI + ); + #endif XPT2046_CS_Set(1); } @@ -65,20 +65,20 @@ static uint16_t XPT2046_Read_AD(uint8_t CMD) XPT2046_CS_Set(0); -#ifdef MKS_TFT35_V1_0 // added for MKS_TFT35_V1_0 support - SPI_Protocol_Init(W25Qxx_SPI, 5); // max. ADS7843 SPI clock is 2 MHz, switch to low SPI speed when sampling touch screen, 4-7 works - // APB2 max frequency 84 MHz - // 0:fPCLK/2 42MHz, 1:fPCLK/4 21MHz, 2:fPCLK/8 10.5MHz, 3:fPCLK/16 5.3MHz, 4:fPCLK/32 2.6MHz, 5:fPCLK/64 1.3MHz, 6:fPCLK/128 0.7 MHz, 7:fPCLK/256 0.33MHz - // MKS Touchscreen source uses: SPI1_SetSpeed(SPI_BaudRatePrescaler_256) -#endif + #if defined(MKS_TFT35_V1_0) // added for MKS_TFT35_V1_0 support + SPI_Protocol_Init(W25Qxx_SPI, 5); // max. ADS7843 SPI clock is 2 MHz, switch to low SPI speed when sampling touch screen, 4-7 works + // APB2 max frequency 84 MHz + // 0:fPCLK/2 42MHz, 1:fPCLK/4 21MHz, 2:fPCLK/8 10.5MHz, 3:fPCLK/16 5.3MHz, 4:fPCLK/32 2.6MHz, 5:fPCLK/64 1.3MHz, 6:fPCLK/128 0.7 MHz, 7:fPCLK/256 0.33MHz + // MKS Touchscreen source uses: SPI1_SetSpeed(SPI_BaudRatePrescaler_256) + #endif XPT2046_ReadWriteByte(CMD); ADNum=XPT2046_ReadWriteByte(0xff); ADNum= ((ADNum) << 8) | XPT2046_ReadWriteByte(0xff); -#ifdef MKS_TFT35_V1_0 // added for MKS_TFT35_V1_0 support - SPI_Protocol_Init(W25Qxx_SPI, W25Qxx_SPEED); // switch back to high speed SPI -#endif + #if defined(MKS_TFT35_V1_0) // added for MKS_TFT35_V1_0 support + SPI_Protocol_Init(W25Qxx_SPI, W25Qxx_SPEED); // switch back to high speed SPI + #endif ADNum >>= 4; // XPT2046 data is only 12 bits, discarding the lower four bits diff --git a/TFT/src/User/Menu/ABL.c b/TFT/src/User/Menu/ABL.c index fcfd3c078..0bf09aa48 100644 --- a/TFT/src/User/Menu/ABL.c +++ b/TFT/src/User/Menu/ABL.c @@ -22,8 +22,8 @@ void ablUpdateStatus(bool succeeded) case BL_UBL: savingEnabled = false; - tempTitle.index = LABEL_ABL_SETTINGS_UBL; + tempTitle.index = LABEL_ABL_SETTINGS_UBL; sprintf(strchr(tempMsg, '\0'), "\n %s", textSelect(LABEL_BL_SMART_FILL)); break; @@ -70,8 +70,8 @@ void ablStart(void) storeCmd("G29 P3\n"); // run this multiple times since it only fills some missing points, not all storeCmd("G29 P3\n"); storeCmd("G29 P3\n"); - // Find Mean Mesh Height: with C this will automatically execute a G29 P6 C[mean height]. - // Ideally the Mesh is adjusted for a Mean Height of 0.00 and the Z-Probe measuring 0.0 at the Z homing position. + // find Mean Mesh Height: with option "C" this will automatically execute a G29 P6 C[mean height]. + // Ideally the Mesh is adjusted for a Mean Height of 0.00 and the Z-Probe measuring 0.0 at the Z homing position storeCmd("G29 P5 C\n"); break; diff --git a/TFT/src/User/Menu/BLTouch.c b/TFT/src/User/Menu/BLTouch.c index 08a70d44b..be0fab0fa 100644 --- a/TFT/src/User/Menu/BLTouch.c +++ b/TFT/src/User/Menu/BLTouch.c @@ -82,8 +82,10 @@ void menuBLTouch(void) if (bltHSmode != hsModeOld) { hsModeOld = bltHSmode; + BLTouchItems.items[5].icon = (bltHSmode == HS_ON) ? ICON_FAST_SPEED : ICON_SLOW_SPEED; BLTouchItems.items[5].label.index = (bltHSmode == HS_ON) ? LABEL_HS_ON : LABEL_HS_OFF; + menuDrawItem(&BLTouchItems.items[5], 5); } diff --git a/TFT/src/User/Menu/Babystep.c b/TFT/src/User/Menu/Babystep.c index 1750a0786..deef34325 100644 --- a/TFT/src/User/Menu/Babystep.c +++ b/TFT/src/User/Menu/Babystep.c @@ -45,7 +45,7 @@ static void babyReDraw(float babystep, float z_offset, bool force_z_offset, bool setFontSize(FONT_SIZE_NORMAL); } -// Set Z offset value for MBL bl type +// set Z offset value for MBL bl type static float babyMblOffsetSetValue(float value) { mustStoreCmd("G29 S4 Z%.2f\n", value); @@ -54,7 +54,7 @@ static float babyMblOffsetSetValue(float value) return value; } -// Get current Z offset value for MBL bl type +// get current Z offset value for MBL bl type static float babyMblOffsetGetValue(void) { return getParameter(P_MBL_OFFSET, 0); @@ -220,6 +220,7 @@ void menuBabystep(void) } now_babystep = babystep; + babyReDraw(now_babystep, new_z_offset, force_z_offset, false); } diff --git a/TFT/src/User/Menu/BedLeveling.c b/TFT/src/User/Menu/BedLeveling.c index 738460703..a8c2c77b7 100644 --- a/TFT/src/User/Menu/BedLeveling.c +++ b/TFT/src/User/Menu/BedLeveling.c @@ -16,17 +16,20 @@ static void blUpdateState(MENUITEMS * menu, const uint8_t bedLevelState) } #if DELTA_PROBE_TYPE == 2 // if Delta printer with removable probe - static void deltaMeshEditor(void) - { - OPEN_MENU(menuMeshEditor); - } - static void deltaZOffset(void) - { - storeCmd("M851\n"); - zOffsetSetMenu(true); // use Probe Offset menu - OPEN_MENU(menuZOffset); - } +static void deltaMeshEditor(void) +{ + OPEN_MENU(menuMeshEditor); +} + +static void deltaZOffset(void) +{ + storeCmd("M851\n"); + + zOffsetSetMenu(true); // use Probe Offset menu + OPEN_MENU(menuZOffset); +} + #endif void menuBedLeveling(void) @@ -148,6 +151,7 @@ void menuBedLeveling(void) { #if DELTA_PROBE_TYPE != 2 storeCmd("M851\n"); + zOffsetSetMenu(true); // use Probe Offset menu OPEN_MENU(menuZOffset); #else @@ -162,6 +166,7 @@ void menuBedLeveling(void) case KEY_ICON_7: COOLDOWN_TEMPERATURE(); + CLOSE_MENU(); break; diff --git a/TFT/src/User/Menu/CaseLight.c b/TFT/src/User/Menu/CaseLight.c index 54eb3de66..0e222b914 100644 --- a/TFT/src/User/Menu/CaseLight.c +++ b/TFT/src/User/Menu/CaseLight.c @@ -50,10 +50,11 @@ void menuCaseLight(void) } }; + static uint8_t percent_index = 1; + KEY_VALUES key_num = KEY_IDLE; uint8_t requestedCLpercent = caseLightPercent; uint8_t requestedCLstate = caseLightState; - static uint8_t percent_index = 1; enum { @@ -93,8 +94,8 @@ void menuCaseLight(void) // change unit case KEY_ICON_4: percent_index = (percent_index + 1) % ITEM_PERCENT_STEPS_NUM; - caseLightItems.items[key_num] = itemPercent[percent_index]; + menuDrawItem(&caseLightItems.items[key_num], key_num); break; @@ -130,6 +131,7 @@ void menuCaseLight(void) requestedCLstate = caseLightState; updateCaseLightIcon(&caseLightItems, caseLightState); + menuDrawItem(&caseLightItems.items[KEY_ICON_5], KEY_ICON_5); } diff --git a/TFT/src/User/Menu/ConnectionSettings.c b/TFT/src/User/Menu/ConnectionSettings.c index c1071f561..d22d2a224 100644 --- a/TFT/src/User/Menu/ConnectionSettings.c +++ b/TFT/src/User/Menu/ConnectionSettings.c @@ -76,9 +76,12 @@ static void menuBaudrate(void) if (curIndex < size && curIndex != curItem) // if changed { totalItems[curItem].icon = CHARICON_UNCHECKED; + listViewRefreshItem(curItem); // refresh unchecked status + curItem = curIndex; totalItems[curItem].icon = CHARICON_CHECKED; + listViewRefreshItem(curItem); // refresh checked status infoSettings.serial_port[portIndex] = curItem + minIndex; @@ -116,6 +119,7 @@ static void menuSerialPorts(void) if (curIndex < (KEY_VALUES)SERIAL_PORT_COUNT) { portIndex = (SERIAL_PORT_INDEX)curIndex; + OPEN_MENU(menuBaudrate); } @@ -144,6 +148,7 @@ void menuConnectionSettings(void) KEY_VALUES curIndex = KEY_IDLE; updateListeningMode(&connectionSettingsItems); + menuDrawPage(&connectionSettingsItems); while (MENU_IS(menuConnectionSettings)) @@ -177,6 +182,7 @@ void menuConnectionSettings(void) storePara(); updateListeningMode(&connectionSettingsItems); + menuDrawItem(&connectionSettingsItems.items[4], 4); break; diff --git a/TFT/src/User/Menu/Fan.c b/TFT/src/User/Menu/Fan.c index bed978bea..ea55dbfc1 100644 --- a/TFT/src/User/Menu/Fan.c +++ b/TFT/src/User/Menu/Fan.c @@ -85,6 +85,7 @@ void menuFan(void) } lastFan.set = val; // avoid unnecessary redraw of values + fanReDraw(fan_index, true); break; } @@ -110,6 +111,7 @@ void menuFan(void) fanSetSpeed(fan_index, fanGetCurSpeed(fan_index)); // set initial desired speed to actual speed lastFan = (LASTFAN) {fanGetCurSpeed(fan_index), fanGetSetSpeed(fan_index)}; // avoid unnecessary redraw of values + fanReDraw(fan_index, true); } else diff --git a/TFT/src/User/Menu/FeatureSettings.c b/TFT/src/User/Menu/FeatureSettings.c index f01ec0868..8a4456bdb 100644 --- a/TFT/src/User/Menu/FeatureSettings.c +++ b/TFT/src/User/Menu/FeatureSettings.c @@ -36,20 +36,22 @@ typedef enum // parameter values -#define ITEM_TOGGLE_AUTO_NUM 3 -static const LABEL itemToggleAuto[ITEM_TOGGLE_AUTO_NUM] = -{ - LABEL_OFF, - LABEL_ON, - LABEL_AUTO -}; +#ifdef FIL_RUNOUT_PIN + #define ITEM_TOGGLE_AUTO_NUM 3 + static const LABEL itemToggleAuto[ITEM_TOGGLE_AUTO_NUM] = { + LABEL_OFF, + LABEL_ON, + LABEL_AUTO + }; +#endif -#define ITEM_TOGGLE_SMART_NUM 2 -static const LABEL itemToggleSmart[ITEM_TOGGLE_SMART_NUM] = -{ - LABEL_ON, - LABEL_SMART -}; +#ifdef PS_ON_PIN + #define ITEM_TOGGLE_SMART_NUM 2 + static const LABEL itemToggleSmart[ITEM_TOGGLE_SMART_NUM] = { + LABEL_ON, + LABEL_SMART + }; +#endif static uint16_t fe_cur_page = 0; @@ -57,6 +59,7 @@ static void resetSettings(void) { initSettings(); storePara(); + popupReminder(DIALOG_TYPE_SUCCESS, LABEL_INFO, LABEL_SETTINGS_RESET_DONE); } @@ -179,6 +182,7 @@ static void loadFeatureSettings(LISTITEM * item, uint16_t item_index, uint8_t it case SKEY_FIL_RUNOUT: { LABEL sensorLabel = itemToggleSmart[GET_BIT(infoSettings.runout, 1)]; + item->valueLabel.index = (GET_BIT(infoSettings.runout, 0)) ? sensorLabel.index : LABEL_OFF; break; } diff --git a/TFT/src/User/Menu/Heat.c b/TFT/src/User/Menu/Heat.c index f2ba4d7bd..8663685da 100644 --- a/TFT/src/User/Menu/Heat.c +++ b/TFT/src/User/Menu/Heat.c @@ -29,6 +29,7 @@ void menuHeat(void) }; static uint8_t degreeSteps_index = 1; + KEY_VALUES key_num = KEY_IDLE; int16_t lastCurrent = heatGetCurrentTemp(tool_index); int16_t lastTarget = heatGetTargetTemp(tool_index); @@ -60,6 +61,7 @@ void menuHeat(void) case KEY_INFOBOX: { setTarget = editIntValue(0, infoSettings.max_temp[tool_index], 0, actTarget); + temperatureReDraw(tool_index, NULL, true); break; } @@ -102,14 +104,15 @@ void menuHeat(void) if (setTarget != lastTarget) { - heatSetTargetTemp(tool_index, setTarget, FROM_GUI); actTarget = setTarget; + heatSetTargetTemp(tool_index, setTarget, FROM_GUI); } if (lastCurrent != actCurrent || lastTarget != actTarget) { lastCurrent = actCurrent; lastTarget = actTarget; + temperatureReDraw(tool_index, NULL, false); } @@ -119,7 +122,7 @@ void menuHeat(void) if (WITHIN(tool_index, NOZZLE0, NOZZLE5)) last_nozzle_index = tool_index; // save last used hotend index - // Set slow update time if not waiting for target temperature + // set slow update time if not waiting for target temperature if (heatHasWaiting() == false) heatSetUpdateSeconds(TEMPERATURE_QUERY_SLOW_SECONDS); } diff --git a/TFT/src/User/Menu/Home.c b/TFT/src/User/Menu/Home.c index e0e79e062..6da057725 100644 --- a/TFT/src/User/Menu/Home.c +++ b/TFT/src/User/Menu/Home.c @@ -34,7 +34,7 @@ void menuHome(void) case KEY_ICON_2: storeCmd("G28 Y\n"); break; case KEY_ICON_3: storeCmd("G28 Z\n"); break; case KEY_ICON_7: CLOSE_MENU(); break; - default: break; + default: break; } loopProcess(); diff --git a/TFT/src/User/Menu/LEDColor.c b/TFT/src/User/Menu/LEDColor.c index e7989ceec..65135aed9 100644 --- a/TFT/src/User/Menu/LEDColor.c +++ b/TFT/src/User/Menu/LEDColor.c @@ -41,61 +41,61 @@ typedef enum // key button rectangles static const GUI_RECT ledKeyRect[KEY_NUM] = { -#ifdef KEYBOARD_ON_LEFT - // control bar - {0 * CTRL_WIDTH, 4 * CTRL_HEIGHT, 1 * CTRL_WIDTH, 5 * CTRL_HEIGHT}, // PREV - {1 * CTRL_WIDTH, 4 * CTRL_HEIGHT, 2 * CTRL_WIDTH, 5 * CTRL_HEIGHT}, // NEXT - - // menu buttons - {2 * KB_WIDTH, 0 * KB_HEIGHT, 3 * KB_WIDTH, 1 * KB_HEIGHT}, // RESET - {1 * KB_WIDTH, 0 * KB_HEIGHT, 2 * KB_WIDTH, 1 * KB_HEIGHT}, // CANCEL - {0 * KB_WIDTH, 0 * KB_HEIGHT, 1 * KB_WIDTH, 1 * KB_HEIGHT}, // OK - - // R component - {3 * KB_WIDTH, 1 * KB_HEIGHT, 4 * KB_WIDTH, 2 * KB_HEIGHT}, // COLOR - {2 * KB_WIDTH, 1 * KB_HEIGHT, 3 * KB_WIDTH, 2 * KB_HEIGHT}, // EDIT - {0 * KB_WIDTH, 1 * KB_HEIGHT, 1 * KB_WIDTH, 2 * KB_HEIGHT}, // DEC - {1 * KB_WIDTH, 1 * KB_HEIGHT, 2 * KB_WIDTH, 2 * KB_HEIGHT}, // INC - - // G component - {3 * KB_WIDTH, 2 * KB_HEIGHT, 4 * KB_WIDTH, 3 * KB_HEIGHT}, // COLOR - {2 * KB_WIDTH, 2 * KB_HEIGHT, 3 * KB_WIDTH, 3 * KB_HEIGHT}, // EDIT - {0 * KB_WIDTH, 2 * KB_HEIGHT, 1 * KB_WIDTH, 3 * KB_HEIGHT}, // DEC - {1 * KB_WIDTH, 2 * KB_HEIGHT, 2 * KB_WIDTH, 3 * KB_HEIGHT}, // INC - - // B component - {3 * KB_WIDTH, 3 * KB_HEIGHT, 4 * KB_WIDTH, 4 * KB_HEIGHT}, // COLOR - {2 * KB_WIDTH, 3 * KB_HEIGHT, 3 * KB_WIDTH, 4 * KB_HEIGHT}, // EDIT - {0 * KB_WIDTH, 3 * KB_HEIGHT, 1 * KB_WIDTH, 4 * KB_HEIGHT}, // DEC - {1 * KB_WIDTH, 3 * KB_HEIGHT, 2 * KB_WIDTH, 4 * KB_HEIGHT}, // INC -#else - // control bar - {1 * CTRL_WIDTH, 4 * CTRL_HEIGHT, 2 * CTRL_WIDTH, 5 * CTRL_HEIGHT}, // PREV - {2 * CTRL_WIDTH, 4 * CTRL_HEIGHT, 3 * CTRL_WIDTH, 5 * CTRL_HEIGHT}, // NEXT - - // menu buttons - {1 * KB_WIDTH, 0 * KB_HEIGHT, 2 * KB_WIDTH, 1 * KB_HEIGHT}, // RESET - {2 * KB_WIDTH, 0 * KB_HEIGHT, 3 * KB_WIDTH, 1 * KB_HEIGHT}, // CANCEL - {3 * KB_WIDTH, 0 * KB_HEIGHT, 4 * KB_WIDTH, 1 * KB_HEIGHT}, // OK - - // R component - {0 * KB_WIDTH, 1 * KB_HEIGHT, 1 * KB_WIDTH, 2 * KB_HEIGHT}, // COLOR - {1 * KB_WIDTH, 1 * KB_HEIGHT, 2 * KB_WIDTH, 2 * KB_HEIGHT}, // EDIT - {2 * KB_WIDTH, 1 * KB_HEIGHT, 3 * KB_WIDTH, 2 * KB_HEIGHT}, // DEC - {3 * KB_WIDTH, 1 * KB_HEIGHT, 4 * KB_WIDTH, 2 * KB_HEIGHT}, // INC - - // G component - {0 * KB_WIDTH, 2 * KB_HEIGHT, 1 * KB_WIDTH, 3 * KB_HEIGHT}, // COLOR - {1 * KB_WIDTH, 2 * KB_HEIGHT, 2 * KB_WIDTH, 3 * KB_HEIGHT}, // EDIT - {2 * KB_WIDTH, 2 * KB_HEIGHT, 3 * KB_WIDTH, 3 * KB_HEIGHT}, // DEC - {3 * KB_WIDTH, 2 * KB_HEIGHT, 4 * KB_WIDTH, 3 * KB_HEIGHT}, // INC - - // B component - {0 * KB_WIDTH, 3 * KB_HEIGHT, 1 * KB_WIDTH, 4 * KB_HEIGHT}, // COLOR - {1 * KB_WIDTH, 3 * KB_HEIGHT, 2 * KB_WIDTH, 4 * KB_HEIGHT}, // EDIT - {2 * KB_WIDTH, 3 * KB_HEIGHT, 3 * KB_WIDTH, 4 * KB_HEIGHT}, // DEC - {3 * KB_WIDTH, 3 * KB_HEIGHT, 4 * KB_WIDTH, 4 * KB_HEIGHT}, // INC -#endif + #ifdef KEYBOARD_ON_LEFT + // control bar + {0 * CTRL_WIDTH, 4 * CTRL_HEIGHT, 1 * CTRL_WIDTH, 5 * CTRL_HEIGHT}, // PREV + {1 * CTRL_WIDTH, 4 * CTRL_HEIGHT, 2 * CTRL_WIDTH, 5 * CTRL_HEIGHT}, // NEXT + + // menu buttons + {2 * KB_WIDTH, 0 * KB_HEIGHT, 3 * KB_WIDTH, 1 * KB_HEIGHT}, // RESET + {1 * KB_WIDTH, 0 * KB_HEIGHT, 2 * KB_WIDTH, 1 * KB_HEIGHT}, // CANCEL + {0 * KB_WIDTH, 0 * KB_HEIGHT, 1 * KB_WIDTH, 1 * KB_HEIGHT}, // OK + + // R component + {3 * KB_WIDTH, 1 * KB_HEIGHT, 4 * KB_WIDTH, 2 * KB_HEIGHT}, // COLOR + {2 * KB_WIDTH, 1 * KB_HEIGHT, 3 * KB_WIDTH, 2 * KB_HEIGHT}, // EDIT + {0 * KB_WIDTH, 1 * KB_HEIGHT, 1 * KB_WIDTH, 2 * KB_HEIGHT}, // DEC + {1 * KB_WIDTH, 1 * KB_HEIGHT, 2 * KB_WIDTH, 2 * KB_HEIGHT}, // INC + + // G component + {3 * KB_WIDTH, 2 * KB_HEIGHT, 4 * KB_WIDTH, 3 * KB_HEIGHT}, // COLOR + {2 * KB_WIDTH, 2 * KB_HEIGHT, 3 * KB_WIDTH, 3 * KB_HEIGHT}, // EDIT + {0 * KB_WIDTH, 2 * KB_HEIGHT, 1 * KB_WIDTH, 3 * KB_HEIGHT}, // DEC + {1 * KB_WIDTH, 2 * KB_HEIGHT, 2 * KB_WIDTH, 3 * KB_HEIGHT}, // INC + + // B component + {3 * KB_WIDTH, 3 * KB_HEIGHT, 4 * KB_WIDTH, 4 * KB_HEIGHT}, // COLOR + {2 * KB_WIDTH, 3 * KB_HEIGHT, 3 * KB_WIDTH, 4 * KB_HEIGHT}, // EDIT + {0 * KB_WIDTH, 3 * KB_HEIGHT, 1 * KB_WIDTH, 4 * KB_HEIGHT}, // DEC + {1 * KB_WIDTH, 3 * KB_HEIGHT, 2 * KB_WIDTH, 4 * KB_HEIGHT}, // INC + #else + // control bar + {1 * CTRL_WIDTH, 4 * CTRL_HEIGHT, 2 * CTRL_WIDTH, 5 * CTRL_HEIGHT}, // PREV + {2 * CTRL_WIDTH, 4 * CTRL_HEIGHT, 3 * CTRL_WIDTH, 5 * CTRL_HEIGHT}, // NEXT + + // menu buttons + {1 * KB_WIDTH, 0 * KB_HEIGHT, 2 * KB_WIDTH, 1 * KB_HEIGHT}, // RESET + {2 * KB_WIDTH, 0 * KB_HEIGHT, 3 * KB_WIDTH, 1 * KB_HEIGHT}, // CANCEL + {3 * KB_WIDTH, 0 * KB_HEIGHT, 4 * KB_WIDTH, 1 * KB_HEIGHT}, // OK + + // R component + {0 * KB_WIDTH, 1 * KB_HEIGHT, 1 * KB_WIDTH, 2 * KB_HEIGHT}, // COLOR + {1 * KB_WIDTH, 1 * KB_HEIGHT, 2 * KB_WIDTH, 2 * KB_HEIGHT}, // EDIT + {2 * KB_WIDTH, 1 * KB_HEIGHT, 3 * KB_WIDTH, 2 * KB_HEIGHT}, // DEC + {3 * KB_WIDTH, 1 * KB_HEIGHT, 4 * KB_WIDTH, 2 * KB_HEIGHT}, // INC + + // G component + {0 * KB_WIDTH, 2 * KB_HEIGHT, 1 * KB_WIDTH, 3 * KB_HEIGHT}, // COLOR + {1 * KB_WIDTH, 2 * KB_HEIGHT, 2 * KB_WIDTH, 3 * KB_HEIGHT}, // EDIT + {2 * KB_WIDTH, 2 * KB_HEIGHT, 3 * KB_WIDTH, 3 * KB_HEIGHT}, // DEC + {3 * KB_WIDTH, 2 * KB_HEIGHT, 4 * KB_WIDTH, 3 * KB_HEIGHT}, // INC + + // B component + {0 * KB_WIDTH, 3 * KB_HEIGHT, 1 * KB_WIDTH, 4 * KB_HEIGHT}, // COLOR + {1 * KB_WIDTH, 3 * KB_HEIGHT, 2 * KB_WIDTH, 4 * KB_HEIGHT}, // EDIT + {2 * KB_WIDTH, 3 * KB_HEIGHT, 3 * KB_WIDTH, 4 * KB_HEIGHT}, // DEC + {3 * KB_WIDTH, 3 * KB_HEIGHT, 4 * KB_WIDTH, 4 * KB_HEIGHT}, // INC + #endif }; static const GUI_RECT ledColorRect = { diff --git a/TFT/src/User/Menu/LevelCorner.c b/TFT/src/User/Menu/LevelCorner.c index e5a4516fa..6dd35a2d0 100644 --- a/TFT/src/User/Menu/LevelCorner.c +++ b/TFT/src/User/Menu/LevelCorner.c @@ -35,6 +35,7 @@ static void setLevelEdgeMin(void) static void refreshValue(MENUITEMS * levelItems, uint8_t index) { sprintf((char *)levelItems->items[valIconIndex[index]].label.address, "%.4f", levelCornerPosition[index]); + menuDrawIconText(&levelItems->items[valIconIndex[index]], valIconIndex[index]); } @@ -93,11 +94,11 @@ void menuLevelCorner(void) // wait until point probing is executed TASK_LOOP_WHILE(levelingGetProbedPoint() == LEVEL_NO_POINT); - levelCornerPosition[i] = levelingGetProbedZ(); + levelingResetProbedPoint(); // reset to check for new updates + levelCornerPosition[i] = levelingGetProbedZ(); // update position + refreshValue(&levelCornerItems, i); - levelingResetProbedPoint(); // reset to check for new updates } - break; case KEY_ICON_2: @@ -109,7 +110,6 @@ void menuLevelCorner(void) if (curLevelEdge >= getLevelEdgeMin() && infoSettings.level_edge < getLevelEdgeMin()) // if new value is below min limit popupDialog(DIALOG_TYPE_QUESTION, LABEL_WARNING, LABEL_LEVEL_CORNER_INFO, LABEL_CONFIRM, LABEL_CANCEL, setLevelEdgeMin, NULL, NULL); - break; } @@ -120,6 +120,7 @@ void menuLevelCorner(void) case KEY_ICON_7: infoSettings.level_edge = origLevelEdge; // restore original leveling edge value origLevelEdge = -1; + CLOSE_MENU(); break; diff --git a/TFT/src/User/Menu/Leveling.c b/TFT/src/User/Menu/Leveling.c index 9dbae83aa..f89d9b73c 100644 --- a/TFT/src/User/Menu/Leveling.c +++ b/TFT/src/User/Menu/Leveling.c @@ -96,6 +96,7 @@ void menuManualLeveling(void) case KEY_ICON_7: probeHeightMove(infoSettings.level_z_raise); + CLOSE_MENU(); break; diff --git a/TFT/src/User/Menu/LoadUnload.c b/TFT/src/User/Menu/LoadUnload.c index 745bfef53..0b7b3308e 100644 --- a/TFT/src/User/Menu/LoadUnload.c +++ b/TFT/src/User/Menu/LoadUnload.c @@ -168,7 +168,7 @@ void menuLoadUnload(void) loopProcess(); } - if (eAxisBackup.handled == false) // the user exited from menu (not any other process/popup/etc) + if (eAxisBackup.handled == false) // the user exited from menu (not any other process/popup/etc) mustStoreCmd("G92 E%.5f\n", eAxisBackup.coordinate); // reset E axis position in Marlin to pre - load/unload state // set slow update time if not waiting for target temperature diff --git a/TFT/src/User/Menu/MBL.c b/TFT/src/User/Menu/MBL.c index 5a100d734..0923dc110 100644 --- a/TFT/src/User/Menu/MBL.c +++ b/TFT/src/User/Menu/MBL.c @@ -5,7 +5,7 @@ static uint8_t curUnit_index = 0; static uint8_t mblPoint = 0; static bool mblRunning = false; -// Start MBL +// start MBL static inline void mblStart(void) { mblRunning = true; @@ -23,7 +23,7 @@ static inline void mblStart(void) probeHeightRelative(); // set relative position mode } -// Stop MBL +// stop MBL static inline void mblStop(void) { mblRunning = false; @@ -37,7 +37,7 @@ static inline void mblStop(void) probeHeightDisable(); // restore original software endstops state and ABL state } -// Abort MBL +// abort MBL static inline void mblAbort(void) { // MBL gcode sequence stop @@ -80,7 +80,7 @@ void mblUpdateStatus(bool succeeded) } } -// Show an error notification +// show an error notification static void mblNotifyError(bool isStarted) { LABELCHAR(tempMsg, LABEL_MBL); @@ -204,7 +204,6 @@ void menuMBL(void) // change unit case KEY_ICON_4: curUnit_index = (curUnit_index + 1) % ITEM_FINE_MOVE_LEN_NUM; - mblItems.items[key_num] = itemMoveLen[curUnit_index]; menuDrawItem(&mblItems.items[key_num], key_num); @@ -257,11 +256,11 @@ void menuMBL(void) if (memcmp(&now, &curValue, sizeof(COORDINATE))) { coordinateGetAllActual(&now); + mblDraw(&now); } probeHeightQueryCoord(); - loopProcess(); } } diff --git a/TFT/src/User/Menu/MPC.c b/TFT/src/User/Menu/MPC.c index 9cb9cd2d2..9c759dc45 100644 --- a/TFT/src/User/Menu/MPC.c +++ b/TFT/src/User/Menu/MPC.c @@ -100,6 +100,7 @@ static void menuSetMpcParam(void) parameter->heater_power = tmpVal; setDynamicValue(0, parameter->heater_power); + listViewRefreshMenu(); break; } @@ -120,6 +121,7 @@ static void menuSetMpcParam(void) parameter->fil_heat_capcity = tmpVal; setDynamicValue(1, parameter->fil_heat_capcity); + listViewRefreshMenu(); break; } @@ -127,12 +129,14 @@ static void menuSetMpcParam(void) case KEY_ICON_2: parameter->method = (parameter->method + 1) % MPC_METHOD_COUNT; setDynamicTextValue(2, mpcMethod_label[parameter->method]); + listViewRefreshItem(curIndex); break; case KEY_BACK: mustStoreCmd("M306 E%d P%d H%.5f\n", curTool_index, parameter->heater_power, parameter->fil_heat_capcity); - // CLOSE_MENU(); // commented because listViewCreate() handles it + + //CLOSE_MENU(); // commented because listViewCreate() handles it break; } @@ -262,7 +266,6 @@ void menuMPC(void) { popupReminder(DIALOG_TYPE_SUCCESS, LABEL_MPC_TITLE, (uint8_t *) tempMsg); } - break; } @@ -271,7 +274,6 @@ void menuMPC(void) BUZZER_PLAY(SOUND_ERROR); popupReminder(DIALOG_TYPE_ERROR, LABEL_MPC_TITLE, LABEL_PROCESS_ABORTED); - break; } diff --git a/TFT/src/User/Menu/MainPage.c b/TFT/src/User/Menu/MainPage.c index e7a07c3e0..937de3f6c 100644 --- a/TFT/src/User/Menu/MainPage.c +++ b/TFT/src/User/Menu/MainPage.c @@ -78,6 +78,7 @@ void menuMain(void) else { strcpy(infoFile.path, "Macros"); + OPEN_MENU(menuCallMacro); } break; diff --git a/TFT/src/User/Menu/MarlinMode.c b/TFT/src/User/Menu/MarlinMode.c index d977de1d6..e0fff2799 100644 --- a/TFT/src/User/Menu/MarlinMode.c +++ b/TFT/src/User/Menu/MarlinMode.c @@ -24,11 +24,13 @@ void menuMarlinMode(void) if (infoSettings.marlin_show_title == 1) { STRINGS_STORE tempST; + W25Qxx_ReadBuffer((uint8_t *)&tempST, STRINGS_STORE_ADDR, sizeof(STRINGS_STORE)); + GUI_DispStringInRect(0, 0, LCD_WIDTH, ST7920_GYSTART_FULLSCREEN, (uint8_t *)tempST.marlin_title); } - #if defined(ST7920_EMULATOR) + #ifdef ST7920_EMULATOR ST7920 st7920; if (infoSettings.marlin_type == LCD12864) @@ -42,7 +44,7 @@ void menuMarlinMode(void) } #endif - #if defined(LCD2004_EMULATOR) + #ifdef LCD2004_EMULATOR if (infoSettings.marlin_type == LCD2004) { marlinInit = HD44780_Config; diff --git a/TFT/src/User/Menu/MeshEditor.c b/TFT/src/User/Menu/MeshEditor.c index 3f17bbf3e..2cebcfc5b 100644 --- a/TFT/src/User/Menu/MeshEditor.c +++ b/TFT/src/User/Menu/MeshEditor.c @@ -162,70 +162,70 @@ enum static const GUI_RECT meshGridRect = {MESH_GRID_X0, MESH_GRID_Y0, MESH_GRID_X0 + MESH_GRID_WIDTH, MESH_GRID_Y0 + MESH_GRID_HEIGHT}; static const GUI_RECT meshInfoRect[ME_INFO_NUM] = { -#ifdef KEYBOARD_ON_LEFT - {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 + #ifdef KEYBOARD_ON_LEFT + {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 // current value -#ifdef PORTRAIT_MODE - {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}, // current value -#else - {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 -#endif + #ifdef PORTRAIT_MODE + {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}, // current value + #else + {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 + #endif }; static const GUI_RECT meshKeyRect[ME_KEY_NUM] = { -#ifdef PORTRAIT_MODE - {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}, // 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 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 2 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 3 * MESH_KEY_HEIGHT}, // RESET - {MESH_KEY_X0 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 3 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 4 * MESH_KEY_HEIGHT}, // HOME - - // current value - {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}, // current value - - // arrow keys - {MESH_ARROW_X0 + 0 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 0 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 2 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 1 * MESH_ARROW_HEIGHT}, // UP - {MESH_ARROW_X0 + 0 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 1 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 1 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 2 * MESH_ARROW_HEIGHT}, // PREV - {MESH_ARROW_X0 + 1 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 1 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 2 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 2 * MESH_ARROW_HEIGHT}, // NEXT - {MESH_ARROW_X0 + 0 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 2 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 2 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 3 * MESH_ARROW_HEIGHT}, // DOWN -#else - #ifdef KEYBOARD_ON_LEFT - {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 + #ifdef PORTRAIT_MODE + {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}, // 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 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 2 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 3 * MESH_KEY_HEIGHT}, // RESET + {MESH_KEY_X0 + 0 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 3 * MESH_KEY_HEIGHT, MESH_KEY_X0 + 1 * MESH_KEY_WIDTH, MESH_KEY_Y0 + 4 * MESH_KEY_HEIGHT}, // HOME + + // current value + {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}, // current value + + // arrow keys + {MESH_ARROW_X0 + 0 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 0 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 2 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 1 * MESH_ARROW_HEIGHT}, // UP + {MESH_ARROW_X0 + 0 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 1 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 1 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 2 * MESH_ARROW_HEIGHT}, // PREV + {MESH_ARROW_X0 + 1 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 1 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 2 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 2 * MESH_ARROW_HEIGHT}, // NEXT + {MESH_ARROW_X0 + 0 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 2 * MESH_ARROW_HEIGHT, MESH_ARROW_X0 + 2 * MESH_ARROW_WIDTH, MESH_ARROW_Y0 + 3 * MESH_ARROW_HEIGHT}, // DOWN #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 + #ifdef KEYBOARD_ON_LEFT + {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 + + // current value + {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 + + // arrow keys + {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 #endif - - // current value - {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 - - // arrow keys - {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 -#endif }; static const GUI_RECT meshAreaRect[ME_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_GRID_Y0}, // info area {MESH_KEY_X0, MESH_KEY_Y0, MESH_KEY_X0 + (LCD_WIDTH - MESH_GRID_WIDTH), LCD_HEIGHT}, // keyboard area -#ifdef PORTRAIT_MODE - {MESH_ARROW_X0, MESH_ARROW_Y0, MESH_ARROW_X0 + MESH_GRID_WIDTH, LCD_HEIGHT}, // arrow area -#endif + #ifdef PORTRAIT_MODE + {MESH_ARROW_X0, MESH_ARROW_Y0, MESH_ARROW_X0 + MESH_GRID_WIDTH, LCD_HEIGHT}, // arrow area + #endif }; static const char * const meshKeyString[ME_KEY_NUM] = { @@ -265,9 +265,9 @@ static inline void meshInitData(void) 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->rEnd = (rgbEnd >> 11) & 0b0000000000011111; + meshData->gEnd = (rgbEnd >> 5) & 0b0000000000111111; + meshData->bEnd = (rgbEnd) & 0b0000000000011111; meshData->rDelta = meshData->rEnd - meshData->rStart; meshData->gDelta = meshData->gEnd - meshData->gStart; meshData->bDelta = meshData->bEnd - meshData->bStart; diff --git a/TFT/src/User/Menu/MeshTuner.c b/TFT/src/User/Menu/MeshTuner.c index edcf6bf89..e6e4386aa 100644 --- a/TFT/src/User/Menu/MeshTuner.c +++ b/TFT/src/User/Menu/MeshTuner.c @@ -3,7 +3,7 @@ static uint8_t curUnit_index = 0; -// Init mesh point +// init mesh point static inline void meshInitPoint(uint16_t col, uint16_t row, float value) { // probeHeightEnable(); // temporary disable software endstops and save ABL state @@ -14,7 +14,7 @@ static inline void meshInitPoint(uint16_t col, uint16_t row, float value) probeHeightRelative(); // set relative position mode } -// Reset mesh point +// reset mesh point static inline void meshResetPoint(void) { // Z offset gcode sequence stop @@ -120,7 +120,6 @@ float menuMeshTuner(uint16_t col, uint16_t row, float value) // change unit case KEY_ICON_4: curUnit_index = (curUnit_index + 1) % ITEM_FINE_MOVE_LEN_NUM; - meshItems.items[key_num] = itemMoveLen[curUnit_index]; menuDrawItem(&meshItems.items[key_num], key_num); @@ -152,11 +151,11 @@ float menuMeshTuner(uint16_t col, uint16_t row, float value) if (memcmp(&now, &curValue, sizeof(COORDINATE))) { coordinateGetAllActual(&now); + meshDraw(col, row, &now); } probeHeightQueryCoord(); - loopProcess(); if (MENU_IS_NOT(menuMeshEditor)) diff --git a/TFT/src/User/Menu/MeshValid.c b/TFT/src/User/Menu/MeshValid.c index a7b264b7f..37e051577 100644 --- a/TFT/src/User/Menu/MeshValid.c +++ b/TFT/src/User/Menu/MeshValid.c @@ -23,6 +23,7 @@ void menuMeshValid(void) PREHEAT_STORE preheatStore; W25Qxx_ReadBuffer((uint8_t *)&preheatStore, PREHEAT_STORE_ADDR, sizeof(PREHEAT_STORE)); + menuDrawPage(&meshValidItems); for (int i = 0; i < PREHEAT_COUNT; i++) @@ -46,6 +47,7 @@ void menuMeshValid(void) mustStoreCmd("G26 H%u B%u R99\n", preheatStore.preheat_hotend[key_num], preheatStore.preheat_bed[key_num]); mustStoreCmd("G1 Z10 F%d\n", infoSettings.level_feedrate[FEEDRATE_Z]); mustStoreCmd("G1 X0 F%d\n", infoSettings.level_feedrate[FEEDRATE_XY]); + refreshPreheatIcon(&preheatStore, key_num, false); break; diff --git a/TFT/src/User/Menu/Monitoring.c b/TFT/src/User/Menu/Monitoring.c index 8d9cf47e8..2f047f038 100644 --- a/TFT/src/User/Menu/Monitoring.c +++ b/TFT/src/User/Menu/Monitoring.c @@ -59,6 +59,14 @@ void menuMonitoring(void) GUI_RestoreColorDefault(); } +// if (!isFullCmdQueue()) +// { +// mustStoreCmd("M118 P0 A1 test\n"); +// mustStoreCmd("M118 P0 A1 test test test test test test\n"); +// mustStoreCmd("M118 P0 A1 test test test test test test test test test test test test test test test test test\n"); +// mustStoreCmd("M43\n"); +// } + loopProcess(); } } diff --git a/TFT/src/User/Menu/Move.c b/TFT/src/User/Menu/Move.c index 9b2328faf..ba72194e4 100644 --- a/TFT/src/User/Menu/Move.c +++ b/TFT/src/User/Menu/Move.c @@ -2,7 +2,8 @@ #include "includes.h" #define LOAD_XYZ_LABEL_INDEX(p0, dir0, p1, dir1, axis) \ - do { \ + do \ + { \ moveItems.items[p0].label.index = LABEL_##axis##_##dir0; \ moveItems.items[p1].label.index = LABEL_##axis##_##dir1; \ } while (0) @@ -57,6 +58,7 @@ static inline void updateGantry(void) if (nextScreenUpdate(GANTRY_REFRESH_TIME)) { coordinateQuery(0); // query position manually for delay less than 1 second + drawXYZ(); } } @@ -196,6 +198,7 @@ void menuMove(void) } loopProcess(); + updateGantry(); } diff --git a/TFT/src/User/Menu/NotificationMenu.c b/TFT/src/User/Menu/NotificationMenu.c index 63bcf2bd5..1e03bf5ae 100644 --- a/TFT/src/User/Menu/NotificationMenu.c +++ b/TFT/src/User/Menu/NotificationMenu.c @@ -62,6 +62,7 @@ void menuNotification(void) menuDrawListPage(¬ificationItems); loadNotificationItems(); + setNotificationHandler(loadNotificationItems); while (MENU_IS(menuNotification)) diff --git a/TFT/src/User/Menu/ParameterSettings.c b/TFT/src/User/Menu/ParameterSettings.c index 4cb8f01ef..d18b9df46 100644 --- a/TFT/src/User/Menu/ParameterSettings.c +++ b/TFT/src/User/Menu/ParameterSettings.c @@ -42,7 +42,7 @@ static uint16_t psCurPage = 0; static uint8_t curParameter = 0; static bool parametersChanged = false; -// Load elements for selected parameter +// load elements for selected parameter static void loadElements(LISTITEM * parameterMainItem, uint16_t index, uint8_t itemPos) { uint8_t enabledElementCount = getEnabledElementCount(curParameter); @@ -154,12 +154,13 @@ static void loadElements(LISTITEM * parameterMainItem, uint16_t index, uint8_t i } } -// Show menu for selected parameter type +// show menu for selected parameter type static void menuShowParameter(void) { uint8_t enabledElementCount = getEnabledElementCount(curParameter); float oldval[enabledElementCount]; uint16_t curIndex = KEY_IDLE; + infoParametersRefreshBackup(); for (uint8_t i = 0; i < enabledElementCount; i++) @@ -222,7 +223,7 @@ static void menuShowParameter(void) } } -// Load main parameter list page +// load main parameter list page static void loadParameters(LISTITEM * parameterMainItem, uint16_t index, uint8_t itemPos) { uint8_t enabledParameterCount = getEnabledParameterCount(); @@ -252,7 +253,7 @@ static void loadParameters(LISTITEM * parameterMainItem, uint16_t index, uint8_t } } -// Main parameter menu +// main parameter menu void menuParameterSettings(void) { uint8_t enabledParameterCount = getEnabledParameterCount(); @@ -295,7 +296,6 @@ void menuParameterSettings(void) OPEN_MENU(menuShowParameter); } - break; } // perform EEPROM task else if (infoMachineSettings.EEPROM == 1 && curIndex < totalItems) @@ -307,19 +307,17 @@ void menuParameterSettings(void) parametersChanged = false; popupDialog(DIALOG_TYPE_ALERT, title.index, LABEL_EEPROM_SAVE_INFO, LABEL_CONFIRM, LABEL_CANCEL, saveEepromSettings, NULL, NULL); - break; } else if (curIndex_e == P_RESET_SETTINGS) { popupDialog(DIALOG_TYPE_ALERT, LABEL_SETTINGS_RESET, LABEL_SETTINGS_RESET_INFO, LABEL_CONFIRM, LABEL_CANCEL, resetEepromSettings, NULL, NULL); - break; } else if (curIndex_e == P_RESTORE_SETTINGS) { popupDialog(DIALOG_TYPE_ALERT, LABEL_SETTINGS_RESTORE, LABEL_EEPROM_RESTORE_INFO, LABEL_CONFIRM, LABEL_CANCEL, restoreEepromSettings, NULL, NULL); - break; } } + break; } loopProcess(); diff --git a/TFT/src/User/Menu/PersistentInfo.c b/TFT/src/User/Menu/PersistentInfo.c index 0e0262c8f..6ce613162 100644 --- a/TFT/src/User/Menu/PersistentInfo.c +++ b/TFT/src/User/Menu/PersistentInfo.c @@ -70,7 +70,8 @@ void loopTemperatureStatus(void) } } - if (update) menuDrawTitle(); + if (update) + menuDrawTitle(); } // draw temperature status on title bar @@ -78,7 +79,8 @@ int16_t drawTemperatureStatus(void) { int16_t x_offset = LCD_WIDTH - 10; - if (!temperatureStatusValid()) return x_offset; + if (!temperatureStatusValid()) + return x_offset; uint16_t tmpIcon[4]; // 1-2 hotend, bed, chamber uint8_t tmpHeater[4]; diff --git a/TFT/src/User/Menu/Pid.c b/TFT/src/User/Menu/Pid.c index 270bf6252..8373f71c0 100644 --- a/TFT/src/User/Menu/Pid.c +++ b/TFT/src/User/Menu/Pid.c @@ -43,6 +43,7 @@ static void pidRun(void) if (tool < MAX_HEATER_PID_COUNT) { mustStoreCmd("%s S%d\n", (infoMachineSettings.firmwareType != FW_REPRAPFW) ? pidCmdMarlin[tool] : pidCmdRRF[tool], (int)pidHeaterTarget[tool]); // start PID autotune + pidStatus = PID_RUNNING; } } @@ -64,8 +65,11 @@ static inline void pidResultAction(void) memset(pidHeaterTarget, 0, sizeof(pidHeaterTarget)); // reset pidHeaterTarget[] to 0 LABELCHAR(tempMsg, LABEL_TIMEOUT_REACHED); + sprintf(strchr(tempMsg, '\0'), "\n %s", textSelect(LABEL_BUSY)); + BUZZER_PLAY(SOUND_NOTIFY); + popupReminder(DIALOG_TYPE_ALERT, LABEL_PID_TITLE, (uint8_t *) tempMsg); } else if (pidStatus == PID_FAILED) @@ -73,6 +77,7 @@ static inline void pidResultAction(void) memset(pidHeaterTarget, 0, sizeof(pidHeaterTarget)); // reset pidHeaterTarget[] to 0 BUZZER_PLAY(SOUND_ERROR); + popupReminder(DIALOG_TYPE_ERROR, LABEL_PID_TITLE, LABEL_PROCESS_ABORTED); } else if (pidStatus == PID_SUCCESS) @@ -102,7 +107,9 @@ static inline void pidResultAction(void) LABELCHAR(tempMsg, LABEL_PID_TITLE); sprintf(strchr(tempMsg, '\0'), " %s", textSelect(LABEL_PROCESS_COMPLETED)); + BUZZER_PLAY(SOUND_NOTIFY); + addToast(DIALOG_TYPE_INFO, tempMsg); #endif diff --git a/TFT/src/User/Menu/Popup.c b/TFT/src/User/Menu/Popup.c index 3ecc0849f..d901df732 100644 --- a/TFT/src/User/Menu/Popup.c +++ b/TFT/src/User/Menu/Popup.c @@ -25,8 +25,8 @@ static WINDOW window = { POPUP_BOTTOM_HEIGHT, // height of action bar 2, // window border width POPUP_BORDER_COLOR, // window border color - {POPUP_TITLE_FONT_COLOR, POPUP_TITLE_BG_COLOR}, // Title bar font color / background color - {POPUP_MSG_FONT_COLOR, POPUP_MSG_BG_COLOR}, // Message area font color / background color + {POPUP_TITLE_FONT_COLOR, POPUP_TITLE_BG_COLOR}, // title bar font color / background color + {POPUP_MSG_FONT_COLOR, POPUP_MSG_BG_COLOR}, // message area font color / background color {POPUP_ACTION_FONT_COLOR, POPUP_ACTION_BG_COLOR}, // action bar font color / background color }; @@ -73,6 +73,7 @@ void _setDialogCancelTextStr(uint8_t * str) void _setDialogTitleLabel(int16_t index) { uint8_t tempstr[MAX_LANG_LABEL_LENGTH] = {0}; + loadLabelText(tempstr, index); strncpy_no_pad((char *)popup_title, (char *)tempstr, sizeof(popup_title)); } @@ -80,6 +81,7 @@ void _setDialogTitleLabel(int16_t index) void _setDialogMsgLabel(int16_t index) { uint8_t tempstr[MAX_LANG_LABEL_LENGTH] = {0}; + loadLabelText(tempstr, index); strncpy_no_pad((char *)popup_msg, (char *)tempstr, sizeof(popup_msg)); } @@ -87,6 +89,7 @@ void _setDialogMsgLabel(int16_t index) void _setDialogOkTextLabel(int16_t index) { uint8_t tempstr[MAX_LANG_LABEL_LENGTH] = {0}; + loadLabelText(tempstr, index); strncpy_no_pad((char *)popup_ok, (char *)tempstr, sizeof(popup_ok)); } @@ -94,6 +97,7 @@ void _setDialogOkTextLabel(int16_t index) void _setDialogCancelTextLabel(int16_t index) { uint8_t tempstr[MAX_LANG_LABEL_LENGTH] = {0}; + loadLabelText(tempstr, index); strncpy_no_pad((char *)popup_cancel, (char *)tempstr, sizeof(popup_cancel)); } @@ -124,17 +128,18 @@ void popupDrawPage(DIALOG_TYPE type, BUTTON * btn, const uint8_t * title, const windowButton = btn; if (yes && yes[0]) - { windowButton[buttonNum++].context = yes; - } + if (no && no[0]) - { windowButton[buttonNum++].context = no; - } // draw a window with buttons bar GUI_DrawWindow(&window, title, context, true); - for (uint8_t i = 0; i < buttonNum; i++) GUI_DrawButton(&windowButton[i], 0); + + for (uint8_t i = 0; i < buttonNum; i++) + { + GUI_DrawButton(&windowButton[i], 0); + } setMenuType(MENU_TYPE_DIALOG); } @@ -158,12 +163,14 @@ void menuDialog(void) { case KEY_POPUP_CONFIRM: CLOSE_MENU(); + if (action_ok != NULL) action_ok(); break; case KEY_POPUP_CANCEL: CLOSE_MENU(); + if (action_cancel != NULL) action_cancel(); break; @@ -213,11 +220,13 @@ void loopPopup(void) if (popup_cancel[0]) { popupDrawPage(popup_type, bottomDoubleBtn, popup_title, popup_msg, popup_ok, popup_cancel); + cur_btn_rect = doubleBtnRect; } else if (popup_ok[0]) // show only ok button { popupDrawPage(popup_type, &bottomSingleBtn, popup_title, popup_msg, popup_ok, NULL); + cur_btn_rect = &singleBtnRect; } else // if no button is requested @@ -231,7 +240,5 @@ void loopPopup(void) // avoid to nest menuDialog popup type (while a menuNotification popup type can be overridden) if (MENU_IS_NOT(menuDialog)) - { // handle the user interaction, then reload the previous menu - OPEN_MENU(menuDialog); - } + OPEN_MENU(menuDialog); // handle the user interaction, then reload the previous menu } diff --git a/TFT/src/User/Menu/Popup.h b/TFT/src/User/Menu/Popup.h index 6aecff12a..d43139caa 100644 --- a/TFT/src/User/Menu/Popup.h +++ b/TFT/src/User/Menu/Popup.h @@ -57,7 +57,7 @@ void showDialog(DIALOG_TYPE type, void (* ok_action)(), void (* cancel_action)() void loopPopup(void); /** - * @brief Displays a popup for a dialog, it needs user interaction to close it. + * @brief Displays a popup for a dialog, it needs user interaction to close it * * @param type the type of the dialog (alert, question, error, etc) * @param title title of the message box @@ -76,7 +76,7 @@ void loopPopup(void); /** - * @brief Displays a popup for a reminder, it needs user confirmation to close it. + * @brief Displays a popup for a reminder, it needs user confirmation to close it * * @param type the type of the reminder (info, alert, error, etc) * @param title title of the message box @@ -89,7 +89,7 @@ void loopPopup(void); } /** - * @brief Displays a popup with a message, the user cannot close it. + * @brief Displays a popup with a message, the user cannot close it * * @param type the type of the message (info, alert, error, etc) * @param title title of the message box diff --git a/TFT/src/User/Menu/PreheatMenu.c b/TFT/src/User/Menu/PreheatMenu.c index ce502dc70..145b7dfbe 100755 --- a/TFT/src/User/Menu/PreheatMenu.c +++ b/TFT/src/User/Menu/PreheatMenu.c @@ -1,10 +1,6 @@ #include "PreheatMenu.h" #include "includes.h" -static const GUI_POINT preheat_title = {ICON_WIDTH / 2, PREHEAT_TITLE_Y }; -static const GUI_POINT preheat_val_tool = {ICON_WIDTH - BYTE_WIDTH / 2, PREHEAT_TOOL_Y}; -static const GUI_POINT preheat_val_bed = {ICON_WIDTH - BYTE_WIDTH / 2, PREHEAT_BED_Y}; - typedef enum { BOTH = 0, @@ -13,6 +9,10 @@ typedef enum PREHEAT_TOOL_COUNT = 3, } TOOLPREHEAT; +static const GUI_POINT preheat_title = {ICON_WIDTH / 2, PREHEAT_TITLE_Y }; +static const GUI_POINT preheat_val_tool = {ICON_WIDTH - BYTE_WIDTH / 2, PREHEAT_TOOL_Y}; +static const GUI_POINT preheat_val_bed = {ICON_WIDTH - BYTE_WIDTH / 2, PREHEAT_BED_Y}; + static void setPreheatIcon(ITEM * item, TOOLPREHEAT nowHeater) { switch (nowHeater) @@ -37,10 +37,11 @@ static void setPreheatIcon(ITEM * item, TOOLPREHEAT nowHeater) } } -// Redraw Preheat icon details +// redraw Preheat icon details void refreshPreheatIcon(PREHEAT_STORE * preheatStore, uint8_t index, bool redrawIcon) { LIVE_INFO lvIcon; + lvIcon.iconIndex = ICON_PREHEAT; lvIcon.enabled[0] = true; lvIcon.enabled[1] = true; @@ -74,8 +75,10 @@ void refreshPreheatIcon(PREHEAT_STORE * preheatStore, uint8_t index, bool redraw char temptool[5]; char tempbed[5]; + sprintf(temptool, "%d", preheatStore->preheat_hotend[index]); sprintf(tempbed, "%d", preheatStore->preheat_bed[index]); + lvIcon.lines[1].text = (uint8_t *)temptool; lvIcon.lines[2].text = (uint8_t *)tempbed; @@ -101,10 +104,12 @@ void menuPreheat(void) }; static TOOLPREHEAT nowHeater = BOTH; + KEY_VALUES key_num = KEY_IDLE; PREHEAT_STORE preheatStore; setPreheatIcon(&preheatItems.items[KEY_ICON_6], nowHeater); + menuDrawPage(&preheatItems); W25Qxx_ReadBuffer((uint8_t *)&preheatStore, PREHEAT_STORE_ADDR, sizeof(PREHEAT_STORE)); @@ -150,8 +155,8 @@ void menuPreheat(void) case KEY_ICON_6: nowHeater = (TOOLPREHEAT)((nowHeater + 1) % PREHEAT_TOOL_COUNT); - setPreheatIcon(&preheatItems.items[key_num], nowHeater); + menuDrawItem(&preheatItems.items[key_num], key_num); break; diff --git a/TFT/src/User/Menu/Print.c b/TFT/src/User/Menu/Print.c index 14ad5875a..36a2d59fe 100644 --- a/TFT/src/User/Menu/Print.c +++ b/TFT/src/User/Menu/Print.c @@ -18,37 +18,37 @@ enum static const GUI_RECT titleRect = {10, (TITLE_END_Y - BYTE_HEIGHT) / 2, LCD_WIDTH - 10, (TITLE_END_Y - BYTE_HEIGHT) / 2 + BYTE_HEIGHT}; static const GUI_RECT gcodeRect[NUM_PER_PAGE] = { -#ifdef PORTRAIT_MODE - {BYTE_WIDTH/2+0*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, - 1*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, + #ifdef PORTRAIT_MODE + {BYTE_WIDTH/2+0*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, + 1*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, - {BYTE_WIDTH/2+1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, - 2*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, + {BYTE_WIDTH/2+1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, + 2*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, - {BYTE_WIDTH/2+2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, - 3*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, + {BYTE_WIDTH/2+2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, + 3*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, - {BYTE_WIDTH/2+0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, - 1*SPACE_X_PER_ICON-BYTE_WIDTH/2, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, + {BYTE_WIDTH/2+0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, + 1*SPACE_X_PER_ICON-BYTE_WIDTH/2, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, - {BYTE_WIDTH/2+1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, - 2*SPACE_X_PER_ICON-BYTE_WIDTH/2, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, -#else - {BYTE_WIDTH/2+0*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, - 1*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, + {BYTE_WIDTH/2+1*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, + 2*SPACE_X_PER_ICON-BYTE_WIDTH/2, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, + #else + {BYTE_WIDTH/2+0*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, + 1*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, - {BYTE_WIDTH/2+1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, - 2*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, + {BYTE_WIDTH/2+1*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, + 2*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, - {BYTE_WIDTH/2+2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, - 3*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, + {BYTE_WIDTH/2+2*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, + 3*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, - {BYTE_WIDTH/2+3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, - 4*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, + {BYTE_WIDTH/2+3*SPACE_X_PER_ICON, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, + 4*SPACE_X_PER_ICON-BYTE_WIDTH/2, 1*ICON_HEIGHT+0*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, - {BYTE_WIDTH/2+0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, - 1*SPACE_X_PER_ICON-BYTE_WIDTH/2, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, -#endif + {BYTE_WIDTH/2+0*SPACE_X_PER_ICON, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2, + 1*SPACE_X_PER_ICON-BYTE_WIDTH/2, 2*ICON_HEIGHT+1*SPACE_Y+ICON_START_Y+(SPACE_Y-BYTE_HEIGHT)/2+BYTE_HEIGHT}, + #endif }; // error labels for files/volume errors @@ -83,6 +83,7 @@ static inline void gcodeIconDraw(void) for (; (baseIndex + i < infoFile.folderCount) && (i < NUM_PER_PAGE); i++) { curItem.icon = ICON_FOLDER; + menuDrawItem(&curItem, i); normalNameDisp(&gcodeRect[i], (uint8_t *)getFoldername(baseIndex + i)); // display folder name } @@ -100,6 +101,7 @@ static inline void gcodeIconDraw(void) if (infoMachineSettings.firmwareType == FW_REPRAPFW || !model_DirectDisplay(getIconStartPoint(i), infoFile.path)) { curItem.icon = ICON_FILE; + menuDrawItem(&curItem, i); } @@ -113,6 +115,7 @@ static inline void gcodeIconDraw(void) for (; i < NUM_PER_PAGE; i++) { curItem.icon = ICON_NULL; + menuDrawItem(&curItem, i); } } @@ -125,7 +128,9 @@ static void gcodeListDraw(LISTITEM * item, uint16_t index, uint8_t itemPos) item->icon = CHARICON_FOLDER; item->itemType = LIST_LABEL; item->titlelabel.index = LABEL_DYNAMIC; - setDynamicLabel(itemPos, (char *)getFoldername(index)); // display short or long folder name + + // display short or long folder name + setDynamicLabel(itemPos, (char *)getFoldername(index)); } else if (index < infoFile.folderCount + infoFile.fileCount) // gcode file { @@ -178,6 +183,7 @@ static bool printPageItemSelected(uint16_t index) setPrintModelIcon(infoFile.source < FS_ONBOARD_MEDIA && model_DecodeToFlash(infoFile.path)); char temp_info[FILE_NUM + 50]; + sprintf(temp_info, (char *)textSelect(LABEL_START_PRINT), (uint8_t *)(filename)); // display short or long filename // confirm file selection @@ -224,6 +230,7 @@ void menuPrintFromSource(void) if (list_mode != true) { printIconItems.title.address = (uint8_t *)infoFile.path; + menuDrawPage(&printIconItems); } } @@ -235,6 +242,7 @@ void menuPrintFromSource(void) GUI_DispStringInRect(0, 0, LCD_WIDTH, LCD_HEIGHT, labelVolumeError[infoFile.source]); Delay_ms(1000); + CLOSE_MENU(); } @@ -271,8 +279,8 @@ void menuPrintFromSource(void) if (isRootFolder() == true) { clearInfoFile(); + CLOSE_MENU(); - break; } else { @@ -301,6 +309,7 @@ void menuPrintFromSource(void) if (isRootFolder() == true) { clearInfoFile(); + CLOSE_MENU(); } else @@ -329,6 +338,7 @@ void menuPrintFromSource(void) if (list_mode != true) { printIconItems.title.address = (uint8_t *)infoFile.path; + gcodeIconDraw(); if (update != 2) // update title only when entering/exiting to/from directory @@ -353,6 +363,7 @@ void menuPrintFromSource(void) if (volumeExists(infoFile.source) != true) { resetInfoFile(); + CLOSE_MENU(); } #endif @@ -367,7 +378,9 @@ void menuPrint(void) { list_mode = infoSettings.files_list_mode; infoFile.source = FS_ONBOARD_MEDIA; + REPLACE_MENU(menuPrintFromSource); + goto selectEnd; } @@ -414,18 +427,20 @@ void menuPrint(void) switch (key_num) { case PRINT_KEY_TFT_SD: - #ifdef SD_CD_PIN - if (!volumeExists(FS_TFT_SD)) - { - addToast(DIALOG_TYPE_ERROR, (char *)textSelect(LABEL_TFT_SD_NOT_DETECTED)); - } - else - #endif + #ifdef SD_CD_PIN + if (!volumeExists(FS_TFT_SD)) + { + addToast(DIALOG_TYPE_ERROR, (char *)textSelect(LABEL_TFT_SD_NOT_DETECTED)); + } + else + #endif { list_mode = infoSettings.files_list_mode; // follow list mode setting in TFT SD card infoFile.source = FS_TFT_SD; + OPEN_MENU(menuPrintFromSource); OPEN_MENU(menuPrintRestore); + goto selectEnd; } break; @@ -436,8 +451,10 @@ void menuPrint(void) { list_mode = infoSettings.files_list_mode; // follow list mode setting in TFT USB disk infoFile.source = FS_TFT_USB; + OPEN_MENU(menuPrintFromSource); OPEN_MENU(menuPrintRestore); + goto selectEnd; } else @@ -461,7 +478,9 @@ void menuPrint(void) { list_mode = true; // force list mode in onboard media infoFile.source = FS_ONBOARD_MEDIA; + OPEN_MENU(menuPrintFromSource); + goto selectEnd; } } diff --git a/TFT/src/User/Menu/PrintRestore.c b/TFT/src/User/Menu/PrintRestore.c index b0f540674..a3c9525f5 100644 --- a/TFT/src/User/Menu/PrintRestore.c +++ b/TFT/src/User/Menu/PrintRestore.c @@ -14,6 +14,7 @@ void menuPrintRestore(void) { char okTxt[MAX_LANG_LABEL_LENGTH]; char cancelTxt[MAX_LANG_LABEL_LENGTH]; + loadLabelText((uint8_t *)okTxt, LABEL_CONFIRM); loadLabelText((uint8_t *)cancelTxt, LABEL_CANCEL); @@ -28,7 +29,9 @@ void menuPrintRestore(void) { case KEY_POPUP_CONFIRM: powerFailedSetRestore(true); + CLOSE_MENU(); // close the menu first + startPrinting(); // start print and open Printing menu break; @@ -38,6 +41,7 @@ void menuPrintRestore(void) // in case the calling function is menuPrintFromSource, // remove the filename from path to allow the files scanning from its folder avoiding a scanning error message exitFolder(); + CLOSE_MENU(); break; } @@ -46,6 +50,7 @@ void menuPrintRestore(void) if (volumeExists(infoFile.source) != true) { resetInfoFile(); + CLOSE_MENU(); } #endif diff --git a/TFT/src/User/Menu/PrintingMenu.c b/TFT/src/User/Menu/PrintingMenu.c index beb2ec711..f4e8e760a 100644 --- a/TFT/src/User/Menu/PrintingMenu.c +++ b/TFT/src/User/Menu/PrintingMenu.c @@ -88,6 +88,7 @@ static inline void setPauseResumeIcon(MENUITEMS * curmenu, bool paused) static void setLayerHeightText(char * layer_height_txt) { float layer_height; + layer_height = coordinateGetAxis(Z_AXIS); if (layer_height > 0) @@ -104,10 +105,10 @@ static void setLayerNumberTxt(char * layer_number_txt) if (layerNumber > 0) { if (layerCount > 0 - #ifndef TFT70_V3_0 - && layerCount < 1000 // there's no space to display layer number & count if the layer count is above 999 - #endif - ) + #ifndef TFT70_V3_0 + && layerCount < 1000 // there's no space to display layer number & count if the layer count is above 999 + #endif + ) { sprintf(layer_number_txt, " %u/%u ", layerNumber, layerCount); } @@ -194,9 +195,9 @@ static void reDrawPrintingValue(uint8_t icon_pos, uint8_t draw_type) lvIcon.enabled[2] = false; - if (icon_pos == ICON_POS_BED && currentBCIndex != 0) // Bed & Chamber + if (icon_pos == ICON_POS_BED && currentBCIndex != 0) // bed & chamber lvIcon.iconIndex = printingIcon2nd[0]; - else if (icon_pos == ICON_POS_SPD && currentSpeedID != 0) // Speed & Flow + else if (icon_pos == ICON_POS_SPD && currentSpeedID != 0) // speed & flow lvIcon.iconIndex = printingIcon2nd[1]; else lvIcon.iconIndex = printingIcon[icon_pos]; @@ -315,8 +316,9 @@ static void reDrawPrintingValue(uint8_t icon_pos, uint8_t draw_type) } RAPID_SERIAL_LOOP(); // perform backend printing loop before drawing to avoid printer idling + showLiveInfo(icon_pos, &lvIcon, draw_type & LIVE_INFO_ICON); -} // reDrawPrintingValue +} // reDrawPrintingValue static inline void toggleInfo(void) { @@ -325,12 +327,14 @@ static inline void toggleInfo(void) if (infoSettings.hotend_count > 1) { currentTool = (currentTool + 1) % infoSettings.hotend_count; + reDrawPrintingValue(ICON_POS_EXT, LIVE_INFO_TOP_ROW | LIVE_INFO_BOTTOM_ROW); } if (infoSettings.chamber_en == 1) { TOGGLE_BIT(currentBCIndex, 0); + reDrawPrintingValue(ICON_POS_BED, LIVE_INFO_ICON | LIVE_INFO_TOP_ROW | LIVE_INFO_BOTTOM_ROW); } else @@ -349,6 +353,7 @@ static inline void toggleInfo(void) } TOGGLE_BIT(currentSpeedID, 0); + reDrawPrintingValue(ICON_POS_SPD, LIVE_INFO_ICON | LIVE_INFO_TOP_ROW | LIVE_INFO_BOTTOM_ROW); speedQuery(); @@ -409,8 +414,8 @@ static inline void drawLiveInfo(void) // progress GUI_SetColor(PB_BORDER); GUI_DrawRect(progressBar.x0 - 1, progressBar.y0 - 1, progressBar.x1 + 1, progressBar.y1 + 1); // draw progress bar border - reDrawProgressBar(0, 100, PB_BCKG, PB_STRIPE_REMAINING); // draw progress bar - reDrawProgress(0); // draw progress + reDrawProgressBar(0, 100, PB_BCKG, PB_STRIPE_REMAINING); // draw progress bar + reDrawProgress(0); // draw progress GUI_RestoreColorDefault(); } @@ -549,6 +554,7 @@ void menuPrinting(void) { nowHeat.T[currentTool].current = heatGetCurrentTemp(currentTool); nowHeat.T[currentTool].target = heatGetTargetTemp(currentTool); + reDrawPrintingValue(ICON_POS_EXT, LIVE_INFO_BOTTOM_ROW); } @@ -557,6 +563,7 @@ void menuPrinting(void) { nowHeat.T[BED].current = heatGetCurrentTemp(BED); nowHeat.T[BED].target = heatGetTargetTemp(BED); + reDrawPrintingValue(ICON_POS_BED, LIVE_INFO_BOTTOM_ROW); } @@ -564,6 +571,7 @@ void menuPrinting(void) if (nowFan[currentFan] != fanGetCurSpeed(currentFan)) { nowFan[currentFan] = fanGetCurSpeed(currentFan); + reDrawPrintingValue(ICON_POS_FAN, LIVE_INFO_BOTTOM_ROW); } @@ -582,6 +590,7 @@ void menuPrinting(void) if (oldProgress != updatePrintProgress()) { reDrawProgress(oldProgress); + oldProgress = getPrintProgress(); } @@ -598,6 +607,7 @@ void menuPrinting(void) if (layerDrawEnabled == true) { usedLayerHeight = curLayerHeight; + reDrawPrintingValue(ICON_POS_Z, (layerDisplayType == SHOW_LAYER_BOTH) ? LIVE_INFO_TOP_ROW : LIVE_INFO_BOTTOM_ROW); } @@ -615,6 +625,7 @@ void menuPrinting(void) if (curLayerNumber != prevLayerNumber) { prevLayerNumber = curLayerNumber; + reDrawPrintingValue(ICON_POS_Z, LIVE_INFO_BOTTOM_ROW); } } @@ -623,6 +634,7 @@ void menuPrinting(void) if (curspeed[currentSpeedID] != speedGetCurPercent(currentSpeedID)) { curspeed[currentSpeedID] = speedGetCurPercent(currentSpeedID); + reDrawPrintingValue(ICON_POS_SPD, LIVE_INFO_BOTTOM_ROW); } @@ -631,6 +643,7 @@ void menuPrinting(void) { lastPause = isPaused(); setPauseResumeIcon(&printingItems, lastPause); + menuDrawItem(&printingItems.items[KEY_ICON_4], KEY_ICON_4); } @@ -655,11 +668,13 @@ void menuPrinting(void) { case PS_KEY_0: heatSetCurrentIndex(LAST_NOZZLE); // preselect last selected nozzle for "Heat" menu + OPEN_MENU(menuHeat); break; case PS_KEY_1: heatSetCurrentIndex(BED); // preselect the bed for "Heat" menu + OPEN_MENU(menuHeat); break; @@ -669,6 +684,7 @@ void menuPrinting(void) case PS_KEY_3: progDisplayType = (progDisplayType + 1) % 3; + reDrawPrintingValue(ICON_POS_TIM, LIVE_INFO_TOP_ROW | LIVE_INFO_BOTTOM_ROW); break; diff --git a/TFT/src/User/Menu/RRFMacros.c b/TFT/src/User/Menu/RRFMacros.c index f0de80e1d..b869d849f 100644 --- a/TFT/src/User/Menu/RRFMacros.c +++ b/TFT/src/User/Menu/RRFMacros.c @@ -5,7 +5,7 @@ static const char * running_macro_name; static const GUI_RECT titleRect; -// Scan files in RRF +// scan files in RRF static void scanInfoFilesFs(void) { clearInfoFile(); @@ -24,6 +24,7 @@ void rrfShowRunningMacro(void) static inline void runMacro(const char *display_name) { running_macro_name = display_name; + rrfShowRunningMacro(); request_M98(infoFile.path); @@ -31,8 +32,8 @@ static inline void runMacro(const char *display_name) exitFolder(); } -// Draw Macro file list -// update items in list mode +// draw Macro file list. +// Update items in list mode static void macroListDraw(LISTITEM * item, uint16_t index, uint8_t itemPos) { if (index < infoFile.folderCount) @@ -55,11 +56,12 @@ static void macroListDraw(LISTITEM * item, uint16_t index, uint8_t itemPos) } } -// View and run macros stored in RRF firmware +// view and run macros stored in RRF firmware void menuCallMacro(void) { uint16_t key_num = KEY_IDLE; uint8_t update = 1; + infoFile.curPage = 0; infoFile.source = FS_ONBOARD_MEDIA; @@ -80,11 +82,12 @@ void menuCallMacro(void) { case KEY_BACK: infoFile.curPage = 0; + if (isRootFolder() == true) { clearInfoFile(); + CLOSE_MENU(); - break; } else { @@ -104,6 +107,7 @@ void menuCallMacro(void) { if (enterFolder(infoFile.folder[key_num]) == false) break; + scanInfoFilesFs(); update = 1; infoFile.curPage = 0; diff --git a/TFT/src/User/Menu/ScreenSettings.c b/TFT/src/User/Menu/ScreenSettings.c index 7badd9a09..47fac1d4f 100644 --- a/TFT/src/User/Menu/ScreenSettings.c +++ b/TFT/src/User/Menu/ScreenSettings.c @@ -15,25 +15,15 @@ enum #endif }; -#define ITEM_MARLIN_TYPE_NUM 2 -static const char * const labelMarlinType[ITEM_MARLIN_TYPE_NUM] = -{ - // item value text(only for custom value) - "128x64", - "20x4" -}; - #define ITEM_NOTIFICATION_TYPE_NUM 3 -static const char * const itemNotificationType[ITEM_NOTIFICATION_TYPE_NUM] = -{ +static const char * const itemNotificationType[ITEM_NOTIFICATION_TYPE_NUM] = { // item value text(only for custom value) "OFF", "POPUP", "TOAST" }; -static const char * const itemSortBy[SORT_BY_COUNT] = -{ +static const char * const itemSortBy[SORT_BY_COUNT] = { // item value text(only for custom value) "Date ▼", "Date ▲", @@ -43,6 +33,13 @@ static const char * const itemSortBy[SORT_BY_COUNT] = #ifdef HAS_EMULATOR +#define ITEM_MARLIN_TYPE_NUM 2 +static const char * const labelMarlinType[ITEM_MARLIN_TYPE_NUM] = { + // item value text(only for custom value) + "128x64", + "20x4" +}; + static void menuEmulatorFontColor(void) { LABEL title = {LABEL_FONT_COLOR}; @@ -62,9 +59,11 @@ static void menuEmulatorFontColor(void) { totalItems[i].icon = CHARICON_UNCHECKED; } + totalItems[i].itemType = LIST_LABEL; totalItems[i].titlelabel = lcd_color_names[i]; } + uint16_t curPage = curItem / LISTITEM_PER_PAGE; listViewCreate(title, totalItems, COUNT(totalItems), &curPage, true, NULL, NULL); @@ -78,9 +77,12 @@ static void menuEmulatorFontColor(void) if (curIndex < (uint16_t)LCD_COLOR_COUNT && curIndex != curItem) // has changed { totalItems[curItem].icon = CHARICON_UNCHECKED; + listViewRefreshItem(curItem); // refresh unchecked status + curItem = curIndex; totalItems[curItem].icon = CHARICON_CHECKED; + listViewRefreshItem(curItem); // refresh checked status infoSettings.marlin_font_color = lcd_colors[curItem]; @@ -112,9 +114,11 @@ static void menuEmulatorBGColor(void) { totalItems[i].icon = CHARICON_UNCHECKED; } + totalItems[i].itemType = LIST_LABEL; totalItems[i].titlelabel = lcd_color_names[i]; } + uint16_t curPage = curItem / LISTITEM_PER_PAGE; listViewCreate(title, totalItems, COUNT(totalItems), &curPage, true, NULL, NULL); @@ -128,9 +132,12 @@ static void menuEmulatorBGColor(void) if (curIndex < (uint16_t)LCD_COLOR_COUNT && curIndex != curItem) // has changed { totalItems[curItem].icon = CHARICON_UNCHECKED; + listViewRefreshItem(curItem); // refresh unchecked status + curItem = curIndex; totalItems[curItem].icon = CHARICON_CHECKED; + listViewRefreshItem(curItem); // refresh checked status infoSettings.marlin_bg_color = lcd_colors[curItem]; @@ -190,18 +197,21 @@ static void menuMarlinModeSettings(void) case 2: TOGGLE_BIT(infoSettings.marlin_fullscreen, 0); marlinModeitems[2].icon = iconToggle[infoSettings.marlin_fullscreen]; + listViewRefreshItem(curIndex); break; case 3: TOGGLE_BIT(infoSettings.marlin_show_title, 0); marlinModeitems[3].icon = iconToggle[infoSettings.marlin_show_title]; + listViewRefreshItem(curIndex); break; case 4: infoSettings.marlin_type = (infoSettings.marlin_type + 1) % ITEM_MARLIN_TYPE_NUM; setDynamicTextValue(curIndex, (char *)labelMarlinType[infoSettings.marlin_type]); + listViewRefreshItem(curIndex); break; @@ -215,7 +225,7 @@ static void menuMarlinModeSettings(void) saveSettings(); // save settings } -#endif // ST7920_EMULATOR +#endif // HAS_EMULATOR static void menuLanguage(void) { @@ -254,9 +264,12 @@ static void menuLanguage(void) if (curIndex < (uint16_t)LANGUAGE_NUM && curIndex != curItem) // has changed { totalItems[curItem].icon = CHARICON_UNCHECKED; + listViewRefreshItem(curItem); // refresh unchecked status + curItem = curIndex; // update selected index totalItems[curItem].icon = CHARICON_CHECKED; + listViewRefreshItem(curItem); // refresh checked status infoSettings.language = curItem; @@ -367,6 +380,7 @@ static void menuUISettings(void) case 8: infoSettings.knob_led_color = (infoSettings.knob_led_color + 1 ) % KNOB_LED_COLOR_COUNT; uiItems[curIndex].valueLabel = knob_led_color_names[infoSettings.knob_led_color]; + Knob_LED_SetColor(knob_led_colors[infoSettings.knob_led_color], infoSettings.neopixel_pixels); break; @@ -421,6 +435,7 @@ static void menuSoundSettings(void) { TOGGLE_BIT(infoSettings.sounds, curIndex); sounditems[curIndex].icon = iconToggle[GET_BIT(infoSettings.sounds, curIndex)]; + listViewRefreshItem(curIndex); } @@ -473,6 +488,7 @@ static void menuBrightnessSettings(void) sprintf(tempstr, (char *)textSelect(LABEL_PERCENT_VALUE), lcd_brightness[infoSettings.lcd_brightness]); setDynamicTextValue(curIndex, tempstr); + LCD_SET_BRIGHTNESS(lcd_brightness[infoSettings.lcd_brightness]); break; @@ -555,6 +571,7 @@ void menuScreenSettings(void) case KEY_ICON_0: TOGGLE_BIT(infoSettings.rotated_ui, 0); LCD_RefreshDirection(infoSettings.rotated_ui); + TS_Calibrate(); menuDrawPage(&screenSettingsItems); break; diff --git a/TFT/src/User/Menu/SelectMode.c b/TFT/src/User/Menu/SelectMode.c index 2e544c1e1..6692d8127 100644 --- a/TFT/src/User/Menu/SelectMode.c +++ b/TFT/src/User/Menu/SelectMode.c @@ -59,6 +59,7 @@ static void drawSelectedMode(int8_t nowMode) void menuMode(void) { int8_t nowMode = GET_BIT(infoSettings.mode, 0); + TS_ReDrawIcon = NULL; // disable icon redraw callback function GUI_Clear(infoSettings.bg_color); @@ -66,13 +67,9 @@ void menuMode(void) drawSelectedMode(nowMode); #if LCD_ENCODER_SUPPORT - while (!XPT2046_Read_Pen() || LCD_Enc_ReadBtn(LCD_ENC_BUTTON_INTERVAL)) // wait for button release - { - } + while (!XPT2046_Read_Pen() || LCD_Enc_ReadBtn(LCD_ENC_BUTTON_INTERVAL)); // wait for button release #else - while (!XPT2046_Read_Pen()) // wait for touch release - { - } + while (!XPT2046_Read_Pen()); // wait for touch release #endif while (MENU_IS(menuMode)) @@ -82,6 +79,7 @@ void menuMode(void) if (key_num == MKEY_0 || key_num == MKEY_1) { nowMode = key_num; + break; } @@ -89,8 +87,9 @@ void menuMode(void) if (encoderPosition) { nowMode = NOBEYOND(0, nowMode + encoderPosition, MODE_COUNT - 1); - drawSelectedMode(nowMode); encoderPosition = 0; + + drawSelectedMode(nowMode); } if (LCD_Enc_ReadBtn(LCD_ENC_BUTTON_INTERVAL)) @@ -100,14 +99,10 @@ void menuMode(void) #endif if (infoSettings.mode == MODE_SERIAL_TSC || infoSettings.serial_always_on == 1) - { loopBackEnd(); - } #ifdef LCD_LED_PWM_CHANNEL // LCD_CheckDimming() is invoked by loopBackEnd(), so we guarantee it is invoked only once else - { LCD_CheckDimming(); - } #endif } diff --git a/TFT/src/User/Menu/SettingsMenu.c b/TFT/src/User/Menu/SettingsMenu.c index 564cd7329..a4247514f 100644 --- a/TFT/src/User/Menu/SettingsMenu.c +++ b/TFT/src/User/Menu/SettingsMenu.c @@ -26,9 +26,9 @@ static const MENUITEMS settingsItems = { // {2 * LCD_WIDTH / 3, 1 * BYTE_HEIGHT},}; static char firmware_name[64] = "Unknown system"; // Marlin firmware version -char machine_type[64] = "3D Printer"; // Marlin machine type -static char access_point[64] = "Connecting..."; // Access point for RepRapFirmware -static char ip_address[20] = "0.0.0.0"; // IP address for RepRapFirmware +char machine_type[64] = "3D Printer"; // Marlin machine type +static char access_point[64] = "Connecting..."; // access point for RepRapFirmware +static char ip_address[20] = "0.0.0.0"; // IP address for RepRapFirmware void infoSetFirmwareName(char * name, uint8_t name_len) { @@ -56,11 +56,10 @@ void infoSetIPAddress(char * ip, uint8_t ip_len) strncpy_no_pad(ip_address, ip, MIN(sizeof(ip_address), ip_len)); } -// Version infomation +// version infomation void menuInfo(void) { char buf[128]; - const char * const hardware = HARDWARE_MANUFACTURER HARDWARE_VERSION; GUI_Clear(infoSettings.bg_color); @@ -86,7 +85,7 @@ void menuInfo(void) // GUI_HLine(0, clocks[5].y + BYTE_HEIGHT, LCD_WIDTH); - const uint16_t top_y = 0; //(LCD_HEIGHT - (7 * BYTE_HEIGHT)) / 2; // 8 firmware info lines + 1 SPI flash info line + const uint16_t top_y = 0; // (LCD_HEIGHT - (7 * BYTE_HEIGHT)) / 2; // 8 firmware info lines + 1 SPI flash info line const uint16_t start_x = strlen("Firmware:") * BYTE_WIDTH; const GUI_RECT version[7] = { {start_x, top_y + 0*BYTE_HEIGHT, LCD_WIDTH, top_y + 2*BYTE_HEIGHT}, @@ -104,6 +103,7 @@ void menuInfo(void) GUI_DispString(0, version[2].y0, (uint8_t *)"Board :"); GUI_DispString(0, version[3].y0, (uint8_t *)"Firmware:"); GUI_DispString(0, version[4].y0, (uint8_t *)"SPIFlash:"); + if (infoMachineSettings.firmwareType == FW_REPRAPFW) { GUI_DispString(0, version[5].y0, (uint8_t *)"WIFI :"); @@ -115,12 +115,16 @@ void menuInfo(void) GUI_DispStringInPrectEOL(&version[0], (uint8_t *)firmware_name); GUI_DispStringInPrectEOL(&version[1], (uint8_t *)machine_type); GUI_DispStringInPrectEOL(&version[2], (uint8_t *)hardware); + sprintf(buf, "V"STRINGIFY(SOFTWARE_VERSION) " " __DATE__ " in %dMhz", mcuClocks.rccClocks.SYSCLK_Frequency / 1000000); GUI_DispStringInPrectEOL(&version[3], (uint8_t *)buf); + // spi flash info - float usedMB = (float)FLASH_USED/1048576; + float usedMB = (float)FLASH_USED / 1048576; + sprintf(buf, "Used %.2f%% (%.2fMB/%uMB)", flashUsedPercentage(), usedMB, (W25Qxx_ReadCapacity() / 1048576)); GUI_DispStringInPrectEOL(&version[4], (uint8_t *)buf); + if (infoMachineSettings.firmwareType == FW_REPRAPFW) { GUI_DispStringInPrectEOL(&version[5], (uint8_t *)access_point); @@ -134,10 +138,13 @@ void menuInfo(void) GUI_DispStringInRect(20, LCD_HEIGHT - (BYTE_HEIGHT*2), LCD_WIDTH-20, LCD_HEIGHT, textSelect(LABEL_TOUCH_TO_EXIT)); while (!TS_IsPressed()) { loopBackEnd(); } + BUZZER_PLAY(SOUND_KEYPRESS); + while (TS_IsPressed()) { loopBackEnd(); } GUI_RestoreColorDefault(); + CLOSE_MENU(); } @@ -159,6 +166,7 @@ void menuSettings(void) case KEY_ICON_1: mustStoreCmd("M503 S0\n"); + OPEN_MENU(menuMachineSettings); break; diff --git a/TFT/src/User/Menu/Speed.c b/TFT/src/User/Menu/Speed.c index d6880c4b4..73051986d 100644 --- a/TFT/src/User/Menu/Speed.c +++ b/TFT/src/User/Menu/Speed.c @@ -22,10 +22,12 @@ static uint8_t item_index = 0; static uint8_t percentSteps_index = 1; #ifdef TFT70_V3_0 + void setSpeedItemIndex(uint8_t index) { item_index = index; } + #endif void menuSpeed(void) @@ -93,9 +95,7 @@ void menuSpeed(void) case KEY_ICON_4: if (infoSettings.ext_count > 0) - { item_index = (item_index + 1) % SPEED_NUM; - } percentageItems.title.index = itemPercentTypeTitle[item_index]; percentageItems.items[key_num] = itemPercentType[item_index]; diff --git a/TFT/src/User/Menu/StatusScreen.c b/TFT/src/User/Menu/StatusScreen.c index bea5bca1d..9fc705797 100644 --- a/TFT/src/User/Menu/StatusScreen.c +++ b/TFT/src/User/Menu/StatusScreen.c @@ -21,8 +21,8 @@ #define TOOL_TOGGLE_TIME 2000 // 1 seconds is 1000 // text position rectangles for Live icons -static const GUI_POINT ss_title_point = {SS_ICON_WIDTH - BYTE_WIDTH / 2, SS_ICON_NAME_Y0}; -static const GUI_POINT ss_val_point = {SS_ICON_WIDTH / 2, SS_ICON_VAL_Y0}; +static const GUI_POINT ss_title_point = {SS_ICON_WIDTH - BYTE_WIDTH / 2, SS_ICON_NAME_Y0}; +static const GUI_POINT ss_val_point = {SS_ICON_WIDTH / 2, SS_ICON_VAL_Y0}; #ifdef TFT70_V3_0 static const GUI_POINT ss_val_point_2 = {SS_ICON_WIDTH / 2, SS_ICON_VAL_Y0_2}; #endif @@ -64,7 +64,9 @@ static const MENUITEMS statusItems = { }; static const uint8_t bedIcons[2] = {ICON_STATUS_BED, ICON_STATUS_CHAMBER}; -static const uint8_t speedIcons[2] = {ICON_STATUS_SPEED, ICON_STATUS_FLOW}; +#ifndef TFT70_V3_0 + static const uint8_t speedIcons[2] = {ICON_STATUS_SPEED, ICON_STATUS_FLOW}; +#endif static const char * const speedID[2] = SPEED_ID; static int8_t lastConnectionStatus = -1; @@ -96,8 +98,8 @@ static void statusDraw(void) { // icons and their values are updated one by one to reduce flicker/clipping char tempstr[45]; - LIVE_INFO lvIcon; + lvIcon.enabled[0] = true; lvIcon.lines[0].h_align = RIGHT; lvIcon.lines[0].v_align = TOP; @@ -136,6 +138,7 @@ static void statusDraw(void) sprintf(tempstr2, "%3d℃", heatGetTargetTemp(currentTool)); lvIcon.lines[1].text = (uint8_t *)tempstr; lvIcon.lines[2].text = (uint8_t *)tempstr2; + showLiveInfo(0, &lvIcon, false); // BED / CHAMBER @@ -145,6 +148,7 @@ static void statusDraw(void) sprintf(tempstr2, "%3d℃", heatGetTargetTemp(BED + currentBCIndex)); lvIcon.lines[1].text = (uint8_t *)tempstr; lvIcon.lines[2].text = (uint8_t *)tempstr2; + showLiveInfo(1, &lvIcon, infoSettings.chamber_en == 1); lvIcon.enabled[2] = false; @@ -154,6 +158,7 @@ static void statusDraw(void) lvIcon.lines[0].text = (uint8_t *)heatShortID[currentTool]; sprintf(tempstr, "%3d/%-3d", heatGetCurrentTemp(currentTool), heatGetTargetTemp(currentTool)); lvIcon.lines[1].text = (uint8_t *)tempstr; + showLiveInfo(0, &lvIcon, false); // BED @@ -161,6 +166,7 @@ static void statusDraw(void) lvIcon.lines[0].text = (uint8_t *)heatShortID[BED + currentBCIndex]; sprintf(tempstr, "%3d/%-3d", heatGetCurrentTemp(BED + currentBCIndex), heatGetTargetTemp(BED + currentBCIndex)); lvIcon.lines[1].text = (uint8_t *)tempstr; + showLiveInfo(1, &lvIcon, infoSettings.chamber_en == 1); #endif @@ -174,6 +180,7 @@ static void statusDraw(void) sprintf(tempstr, "%3d", fanGetCurSpeed(currentFan)); lvIcon.lines[1].text = (uint8_t *)tempstr; + showLiveInfo(2, &lvIcon, false); #ifdef TFT70_V3_0 @@ -182,6 +189,7 @@ static void statusDraw(void) lvIcon.lines[0].text = (uint8_t *)speedID[0]; sprintf(tempstr, "%3d%%", speedGetCurPercent(0)); lvIcon.lines[1].text = (uint8_t *)tempstr; + showLiveInfo(3, &lvIcon, false); // FLOW @@ -189,6 +197,7 @@ static void statusDraw(void) lvIcon.lines[0].text = (uint8_t *)speedID[1]; sprintf(tempstr, "%3d%%", speedGetCurPercent(1)); lvIcon.lines[1].text = (uint8_t *)tempstr; + showLiveInfo(4, &lvIcon, false); #else // SPEED / FLOW @@ -196,6 +205,7 @@ static void statusDraw(void) lvIcon.lines[0].text = (uint8_t *)speedID[currentSpeedID]; sprintf(tempstr, "%3d%%", speedGetCurPercent(currentSpeedID)); lvIcon.lines[1].text = (uint8_t *)tempstr; + showLiveInfo(3, &lvIcon, true); #endif @@ -270,6 +280,7 @@ static inline void statusToggleTool(void) // switch speed/flow TOGGLE_BIT(currentSpeedID, 0); + statusDraw(); // gcode queries must be call after drawStatus @@ -287,6 +298,7 @@ void menuStatus(void) menuDrawPage(&statusItems); GUI_SetColor(GANTRY_XYZ_BG_COLOR); GUI_FillPrect(&recGantry); + statusDraw(); statusDrawMsg(); @@ -302,17 +314,20 @@ void menuStatus(void) statusDrawMsg(); statusScrollMsg(); + key_num = menuKeyGetValue(); switch (key_num) { case KEY_ICON_0: heatSetCurrentIndex(LAST_NOZZLE); // preselect last selected nozzle for "Heat" menu + OPEN_MENU(menuHeat); break; case KEY_ICON_1: heatSetCurrentIndex(BED); // preselect the bed for "Heat" menu + OPEN_MENU(menuHeat); break; @@ -322,12 +337,14 @@ void menuStatus(void) case KEY_SPEEDMENU: SET_SPEEDMENUINDEX(0); + OPEN_MENU(menuSpeed); break; #ifdef TFT70_V3_0 case KEY_FLOWMENU: SET_SPEEDMENUINDEX(1); + OPEN_MENU(menuSpeed); break; #endif @@ -347,6 +364,7 @@ void menuStatus(void) } statusToggleTool(); + loopProcess(); } diff --git a/TFT/src/User/Menu/Terminal.c b/TFT/src/User/Menu/Terminal.c index 907c73c91..b8d490c1b 100644 --- a/TFT/src/User/Menu/Terminal.c +++ b/TFT/src/User/Menu/Terminal.c @@ -147,13 +147,13 @@ static const GUI_RECT editorKeyRect[KEY_COUNT] = { {9 * KEY_WIDTH, (KB_START_ROW + 0) * KEY_HEIGHT, 10 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT}, #endif - // row 2 - {0 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 1 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, - {1 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 2 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, - {2 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 3 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, - {3 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 4 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, - {4 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 5 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, - {5 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 6 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, + // row 2 + {0 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 1 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, + {1 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 2 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, + {2 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 3 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, + {3 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 4 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, + {4 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 5 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, + {5 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 6 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, #if KB_COL_COUNT > LAYOUT_1_COL_COUNT {6 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 7 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, #endif @@ -163,13 +163,13 @@ static const GUI_RECT editorKeyRect[KEY_COUNT] = { {9 * KEY_WIDTH, (KB_START_ROW + 1) * KEY_HEIGHT, 10 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT}, #endif - // row 3 - {0 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 1 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, - {1 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 2 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, - {2 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 3 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, - {3 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 4 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, - {4 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 5 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, - {5 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 6 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, + // row 3 + {0 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 1 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, + {1 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 2 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, + {2 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 3 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, + {3 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 4 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, + {4 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 5 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, + {5 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 6 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, #if KB_COL_COUNT > LAYOUT_1_COL_COUNT {6 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 7 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, #endif @@ -179,13 +179,13 @@ static const GUI_RECT editorKeyRect[KEY_COUNT] = { {9 * KEY_WIDTH, (KB_START_ROW + 2) * KEY_HEIGHT, 10 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT}, #endif - // row 4 - {0 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 1 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, - {1 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 2 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, - {2 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 3 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, - {3 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 4 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, - {4 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 5 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, - {5 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 6 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, + // row 4 + {0 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 1 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, + {1 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 2 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, + {2 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 3 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, + {3 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 4 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, + {4 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 5 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, + {5 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 6 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, #if KB_COL_COUNT > LAYOUT_1_COL_COUNT {6 * KEY_WIDTH, (KB_START_ROW + 3) * KEY_HEIGHT, 7 * KEY_WIDTH, (KB_START_ROW + 4) * KEY_HEIGHT}, #endif @@ -319,7 +319,7 @@ static char * terminalBuf; static TERMINAL_WINDOW curView = KEYBOARD_VIEW; static bool numpad = - #if defined(KB_TYPE_QWERTY) + #ifdef KB_TYPE_QWERTY false; // show qwerty as default for larger #else true; @@ -599,14 +599,13 @@ static inline void menuKeyboardView(void) case GKEY_ABC_123: TOGGLE_BIT(numpad, 0); + drawKeyboard(); break; case GKEY_SPACE: if (nowIndex > 0 && nowIndex < CMD_MAX_SIZE - 2) // -2 to leave space for '\n' and '\0' char - { gcodeBuf[nowIndex++] = ' '; - } break; case GKEY_DEL: @@ -630,6 +629,7 @@ static inline void menuKeyboardView(void) { lastIndex = nowIndex; // update gcode size gcodeBuf[nowIndex] = '\0'; + drawGcodeText(gcodeBuf); if (*gcodeBuf == '\0') // text area empty @@ -710,6 +710,7 @@ static TERMINAL_SRC getLastSrc(char * ptr) if (ptr[0] == 0x5 || ptr[0] == 0x6) { lastSrc = ptr[0] - 0x5; + break; } @@ -866,6 +867,7 @@ static void menuTerminalView(void) case TERM_TOGGLE_ACK: // toggle ack in terminal TOGGLE_BIT(infoSettings.terminal_ack, 0); + terminalDrawButton(TERM_TOGGLE_ACK, false); break; @@ -911,6 +913,7 @@ static void menuTerminalView(void) // move to next first page and move on top of the loop and check again (with this block of code) terminalData->pageHead = (terminalData->pageHead + 1) % terminalData->maxPageCount; terminalUpdatePageCount(); // update page count + break; } } @@ -921,6 +924,7 @@ static void menuTerminalView(void) // set index to first page in page range and move on top of the loop to select the new page // to display (with block of code "if (oldPageIndex != terminalData->pageIndex)") terminalData->pageIndex = terminalData->pageCount; + break; } @@ -934,6 +938,7 @@ static void menuTerminalView(void) if (info.bytes == 0) // if '\0' is found, move to next byte in the buffer (avoiding an infinite loop due to info.bytes set to 0) { bufIndex = (bufIndex + 1) % terminalData->bufSize; + break; } diff --git a/TFT/src/User/Menu/TuneExtruder.c b/TFT/src/User/Menu/TuneExtruder.c index 6e5b39287..9917267a3 100644 --- a/TFT/src/User/Menu/TuneExtruder.c +++ b/TFT/src/User/Menu/TuneExtruder.c @@ -84,8 +84,8 @@ static void menuNewExtruderESteps(void) sendParameterCmd(P_STEPS_PER_MM, AXIS_INDEX_E0, new_esteps); char tempMsg[120]; - LABELCHAR(tempStr, LABEL_TUNE_EXT_ESTEPS_SAVED); + sprintf(tempMsg, tempStr, new_esteps); popupReminder(DIALOG_TYPE_QUESTION, newExtruderESteps.title.index, (uint8_t *) tempMsg); @@ -114,6 +114,7 @@ static void menuNewExtruderESteps(void) if (now != measured_length) { now = measured_length; + showNewESteps(measured_length, old_esteps, &new_esteps); } @@ -253,8 +254,8 @@ void menuTuneExtruder(void) loadRequested = false; char tempMsg[120]; - LABELCHAR(tempStr, LABEL_TUNE_EXT_MARK120MM); + sprintf(tempMsg, tempStr, textSelect(LABEL_EXTRUDE)); popupDialog(DIALOG_TYPE_QUESTION, tuneExtruderItems.title.index, (uint8_t *) tempMsg, LABEL_EXTRUDE, LABEL_CANCEL, extrudeFilament, NULL, NULL); diff --git a/TFT/src/User/Menu/Tuning.c b/TFT/src/User/Menu/Tuning.c index de8a03d26..48136c755 100644 --- a/TFT/src/User/Menu/Tuning.c +++ b/TFT/src/User/Menu/Tuning.c @@ -53,7 +53,6 @@ void menuTuning(void) OPEN_MENU(menuMPC); else OPEN_MENU(menuPid); - break; case KEY_ICON_1: @@ -61,21 +60,22 @@ void menuTuning(void) OPEN_MENU(menuPid); else OPEN_MENU(menuTuneExtruder); - break; case KEY_ICON_2: if (hasMPC() && infoSettings.bed_en) + { OPEN_MENU(menuTuneExtruder); + } #if DELTA_PROBE_TYPE == 0 // if not Delta printer else { storeCmd("M206\n"); + zOffsetSetMenu(false); // use Home Offset menu OPEN_MENU(menuZOffset); } #endif - break; case KEY_ICON_3: @@ -83,11 +83,11 @@ void menuTuning(void) if (hasMPC() && infoSettings.bed_en) { storeCmd("M206\n"); + zOffsetSetMenu(false); // use Home Offset menu OPEN_MENU(menuZOffset); } #endif - break; case KEY_ICON_7: diff --git a/TFT/src/User/Menu/UnifiedMove.c b/TFT/src/User/Menu/UnifiedMove.c index ba902cacd..3c884eccc 100644 --- a/TFT/src/User/Menu/UnifiedMove.c +++ b/TFT/src/User/Menu/UnifiedMove.c @@ -2,10 +2,12 @@ #include "includes.h" #if DELTA_PROBE_TYPE != 0 // if Delta printer - static void deltaCalibration(void) - { - mustStoreCmd("G33\n"); - } + +static void deltaCalibration(void) +{ + mustStoreCmd("G33\n"); +} + #endif void menuUnifiedMove(void) diff --git a/TFT/src/User/Menu/ZOffset.c b/TFT/src/User/Menu/ZOffset.c index 5253e2940..31da6ca13 100644 --- a/TFT/src/User/Menu/ZOffset.c +++ b/TFT/src/User/Menu/ZOffset.c @@ -5,7 +5,7 @@ static bool probeOffsetMenu = false; static uint8_t curUnit_index = 0; static uint8_t curSubmenu_index = 0; -// Show an error notification +// show an error notification static void zOffsetNotifyError(bool isStarted) { LABELCHAR(tempMsg, LABEL_PROBE_OFFSET) @@ -219,6 +219,7 @@ void menuZOffset(void) case 3: infoSettings.level_z_pos = editFloatValue(LEVELING_Z_POS_MIN, LEVELING_Z_POS_MAX, LEVELING_Z_POS_DEFAULT, infoSettings.level_z_pos); + zOffsetDraw(offsetGetStatus(), now); break; @@ -249,6 +250,7 @@ void menuZOffset(void) if (now != z_offset) { now = z_offset; + zOffsetDraw(offsetGetStatus(), now); // reset babystep every time Z offset is changed otherwise the set babystep value diff --git a/TFT/src/User/Menu/common.c b/TFT/src/User/Menu/common.c index 78bd2d5b5..4c0c7d032 100644 --- a/TFT/src/User/Menu/common.c +++ b/TFT/src/User/Menu/common.c @@ -12,9 +12,8 @@ uint8_t currentBCIndex = 0; uint8_t currentFan = 0; uint8_t currentSpeedID = 0; -// Icons list for tool change -const ITEM itemTool[MAX_HEATER_COUNT] = -{ +// icons list for tool change +const ITEM itemTool[MAX_HEATER_COUNT] = { // icon label {ICON_NOZZLE, LABEL_NOZZLE}, {ICON_NOZZLE, LABEL_NOZZLE}, @@ -26,42 +25,38 @@ const ITEM itemTool[MAX_HEATER_COUNT] = {ICON_CHAMBER, LABEL_CHAMBER}, }; -// Icons list for Temperature step change -const ITEM itemDegreeSteps[ITEM_DEGREE_NUM] = -{ +// icons list for Temperature step change +const ITEM itemDegreeSteps[ITEM_DEGREE_NUM] = { // icon label {ICON_1_DEGREE, LABEL_1_DEGREE}, {ICON_5_DEGREE, LABEL_5_DEGREE}, {ICON_10_DEGREE, LABEL_10_DEGREE}, }; -// List for temperature step change +// list for temperature step change const uint8_t degreeSteps[ITEM_DEGREE_NUM] = {1, 5, 10}; -// Icons list for speed change steps -const ITEM itemSpeed[ITEM_SPEED_NUM] = -{ +// icons list for speed change steps +const ITEM itemSpeed[ITEM_SPEED_NUM] = { // icon label {ICON_SLOW_SPEED, LABEL_SLOW}, {ICON_NORMAL_SPEED, LABEL_NORMAL}, {ICON_FAST_SPEED, LABEL_FAST}, }; -// Icons list for percent change steps -const ITEM itemPercent[ITEM_PERCENT_STEPS_NUM] = -{ +// icons list for percent change steps +const ITEM itemPercent[ITEM_PERCENT_STEPS_NUM] = { // icon label {ICON_E_1_PERCENT, LABEL_1_PERCENT}, {ICON_E_5_PERCENT, LABEL_5_PERCENT}, {ICON_E_10_PERCENT, LABEL_10_PERCENT}, }; -// List for percent change steps +// list for percent change steps const uint8_t percentSteps[ITEM_PERCENT_STEPS_NUM] = {1, 5, 10}; -// Icons list for axis length/distance change steps -const ITEM itemMoveLen[ITEM_MOVE_LEN_NUM] = -{ +// icons list for axis length/distance change steps +const ITEM itemMoveLen[ITEM_MOVE_LEN_NUM] = { // icon label {ICON_001_MM, LABEL_001_MM}, {ICON_01_MM, LABEL_01_MM}, @@ -70,12 +65,11 @@ const ITEM itemMoveLen[ITEM_MOVE_LEN_NUM] = {ICON_100_MM, LABEL_100_MM}, }; -// List for length/distance change steps +// list for length/distance change steps const float moveLenSteps[ITEM_MOVE_LEN_NUM] = {0.01f, 0.1f, 1, 10, 100}; -// Icons list for Extruder length/distance change steps -const ITEM itemExtLenSteps[ITEM_EXT_LEN_NUM] = -{ +// icons list for Extruder length/distance change steps +const ITEM itemExtLenSteps[ITEM_EXT_LEN_NUM] = { // icon label {ICON_E_1_MM, LABEL_1_MM}, {ICON_E_5_MM, LABEL_5_MM}, @@ -84,23 +78,21 @@ const ITEM itemExtLenSteps[ITEM_EXT_LEN_NUM] = {ICON_E_200_MM, LABEL_200_MM}, }; -// List for extruder length/distance change steps +// list for extruder length/distance change steps const float extlenSteps[ITEM_EXT_LEN_NUM] = {1.0f, 5.0f, 10.0f, 100.0f, 200.0f}; -// Labels list for ON/OFF settings -const LABEL itemToggle[ITEM_TOGGLE_NUM] = -{ +// labels list for ON/OFF settings +const LABEL itemToggle[ITEM_TOGGLE_NUM] = { LABEL_OFF, LABEL_ON }; -const uint16_t iconToggle[ITEM_TOGGLE_NUM] = -{ +const uint16_t iconToggle[ITEM_TOGGLE_NUM] = { CHARICON_TOGGLE_OFF, CHARICON_TOGGLE_ON }; -// Check time elapsed against the time specified in milliseconds for displaying/updating info on screen +// check time elapsed against the time specified in milliseconds for displaying/updating info on screen. // Use this for timed screen updates in menu loops only bool nextScreenUpdate(uint32_t refreshTime) { @@ -115,16 +107,18 @@ bool nextScreenUpdate(uint32_t refreshTime) } #ifdef FRIENDLY_Z_OFFSET_LANGUAGE - void invertZAxisIcons(MENUITEMS * menuItems) + +void invertZAxisIcons(MENUITEMS * menuItems) +{ + if (GET_BIT(infoSettings.inverted_axis, Z_AXIS)) { - if (GET_BIT(infoSettings.inverted_axis, Z_AXIS)) - { - menuItems->items[KEY_ICON_0].icon = ICON_Z_INC; - menuItems->items[KEY_ICON_0].label.index = LABEL_UP; - menuItems->items[KEY_ICON_3].icon = ICON_Z_DEC; - menuItems->items[KEY_ICON_3].label.index = LABEL_DOWN; - } + menuItems->items[KEY_ICON_0].icon = ICON_Z_INC; + menuItems->items[KEY_ICON_0].label.index = LABEL_UP; + menuItems->items[KEY_ICON_3].icon = ICON_Z_DEC; + menuItems->items[KEY_ICON_3].label.index = LABEL_DOWN; } +} + #endif void drawBorder(const GUI_RECT * rect, uint16_t color, uint16_t edgeDistance) @@ -199,15 +193,13 @@ void drawStandardValue(const GUI_RECT * rect, VALUE_TYPE valType, const void * v GUI_SetBkColor(origBgColor); } -// Show/draw a temperature in a standard menu +// show/draw temperature in a standard menu void temperatureReDraw(uint8_t toolIndex, int16_t * temp, bool drawHeader) { char tempstr[20]; if (drawHeader) - { displayExhibitHeader(heatDisplayID[toolIndex], "ºC"); - } if (temp != NULL) sprintf(tempstr, " %d ", *temp); @@ -217,15 +209,13 @@ void temperatureReDraw(uint8_t toolIndex, int16_t * temp, bool drawHeader) displayExhibitValue(tempstr); } -// Show/draw fan in a standard menu +// show/draw fan in a standard menu void fanReDraw(uint8_t fanIndex, bool drawHeader) { char tempstr[20]; if (drawHeader) - { displayExhibitHeader(fanID[fanIndex], (infoSettings.fan_percentage == 1) ? " % " : "PWM"); - } if (infoSettings.fan_percentage == 1) sprintf(tempstr, DUAL_VAL_FORMAT, fanGetCurPercent(fanIndex), fanGetSetPercent(fanIndex)); @@ -235,31 +225,29 @@ void fanReDraw(uint8_t fanIndex, bool drawHeader) displayExhibitValue(tempstr); } -// Show/draw extruder in a standard menu +// show/draw extruder in a standard menu void extruderReDraw(uint8_t extruderIndex, float extrusion, bool drawHeader) { char tempstr[20]; if (drawHeader) - { displayExhibitHeader(extruderDisplayID[extruderIndex], "mm"); - } sprintf(tempstr, " %.2f ", extrusion); + displayExhibitValue(tempstr); } -// Show/draw percentage in a standard menu +// show/draw percentage in a standard menu void percentageReDraw(uint8_t itemIndex, bool drawHeader) { char tempstr[20]; if (drawHeader) - { displayExhibitHeader((char *)textSelect((itemIndex == 0) ? LABEL_PERCENTAGE_SPEED : LABEL_PERCENTAGE_FLOW), "%"); - } sprintf(tempstr, DUAL_VAL_FORMAT, speedGetCurPercent(itemIndex), speedGetSetPercent(itemIndex)); + displayExhibitValue(tempstr); } @@ -271,7 +259,7 @@ static void redrawMenu(MENU_TYPE menuType) listViewRefreshMenu(); } -// Edit an integer value in a standard menu +// edit an integer value in a standard menu int32_t editIntValue(int32_t minValue, int32_t maxValue, int32_t resetValue, int32_t value) { int32_t val; @@ -286,7 +274,7 @@ int32_t editIntValue(int32_t minValue, int32_t maxValue, int32_t resetValue, int return NOBEYOND(minValue, val, maxValue); } -// Edit a float value in a standard menu +// edit a float value in a standard menu float editFloatValue(float minValue, float maxValue, float resetValue, float value) { float val; @@ -322,6 +310,7 @@ NOZZLE_STATUS warmupNozzle(void) sprintf(tempStr, (char *)textSelect(LABEL_HEAT_HOTEND), infoSettings.min_ext_temp); strcat(tempMsg, "\n"); strcat(tempMsg, tempStr); + popupDialog(DIALOG_TYPE_ERROR, LABEL_WARNING, (uint8_t *)tempMsg, LABEL_CONFIRM, LABEL_CANCEL, heatToMinTemp, NULL, NULL); return COLD; @@ -357,7 +346,7 @@ NOZZLE_STATUS warmupNozzle(void) #ifdef SAFETY_ALERT -// User choice for disabling all heaters/hotends +// user choice for disabling all heaters/hotends void cooldownTemperature(void) { if (!isPrinting()) @@ -367,6 +356,7 @@ void cooldownTemperature(void) if (heatGetTargetTemp(i) > 0) { popupDialog(DIALOG_TYPE_QUESTION, LABEL_WARNING, LABEL_HEATERS_ON, LABEL_CONFIRM, LABEL_CANCEL, heatCoolDown, NULL, NULL); + break; } } diff --git a/TFT/src/User/Menu/common.h b/TFT/src/User/Menu/common.h index 9da348035..54c9cba86 100644 --- a/TFT/src/User/Menu/common.h +++ b/TFT/src/User/Menu/common.h @@ -8,13 +8,13 @@ extern "C" { #include "Settings.h" #include "menu.h" -#define ITEM_DEGREE_NUM 3 -#define ITEM_SPEED_NUM 3 -#define ITEM_PERCENT_STEPS_NUM 3 -#define ITEM_MOVE_LEN_NUM 5 -#define ITEM_FINE_MOVE_LEN_NUM 3 -#define ITEM_EXT_LEN_NUM 5 -#define ITEM_TOGGLE_NUM 2 +#define ITEM_DEGREE_NUM 3 +#define ITEM_SPEED_NUM 3 +#define ITEM_PERCENT_STEPS_NUM 3 +#define ITEM_MOVE_LEN_NUM 5 +#define ITEM_FINE_MOVE_LEN_NUM 3 +#define ITEM_EXT_LEN_NUM 5 +#define ITEM_TOGGLE_NUM 2 typedef enum { @@ -57,7 +57,8 @@ extern const float extlenSteps[ITEM_EXT_LEN_NUM]; extern const LABEL itemToggle[ITEM_TOGGLE_NUM]; extern const uint16_t iconToggle[ITEM_TOGGLE_NUM]; -// Check if next screen update is due +// check time elapsed against the time specified in milliseconds for displaying/updating info on screen. +// Use this for timed screen updates in menu loops only bool nextScreenUpdate(uint32_t refreshTime); #ifdef FRIENDLY_Z_OFFSET_LANGUAGE @@ -75,27 +76,28 @@ void drawBackground(const GUI_RECT * rect, uint16_t bgColor, uint16_t edgeDistan void drawStandardValue(const GUI_RECT * rect, VALUE_TYPE valType, const void * val, uint16_t font, uint16_t color, uint16_t bgColor, uint16_t edgeDistance, bool clearBgColor); -// Show/draw temperature in a standard menu +// show/draw temperature in a standard menu void temperatureReDraw(uint8_t toolIndex, int16_t * temp, bool drawHeader); -// Show/draw fan in a standard menu +// show/draw fan in a standard menu void fanReDraw(uint8_t fanIndex, bool drawHeader); -// Show/draw extruder in a standard menu +// show/draw extruder in a standard menu void extruderReDraw(uint8_t extruderIndex, float extrusion, bool drawHeader); -// Show/draw percentage in a standard menu +// show/draw percentage in a standard menu void percentageReDraw(uint8_t itemIndex, bool drawHeader); -// Edit temperature in a standard menu +// edit an integer value in a standard menu int32_t editIntValue(int32_t minValue, int32_t maxValue, int32_t resetValue, int32_t value); -// Edit a float value in a standard menu +// edit a float value in a standard menu float editFloatValue(float minValue, float maxValue, float resetValue, float value); NOZZLE_STATUS warmupNozzle(void); #ifdef SAFETY_ALERT + // user choice for disabling all heaters/hotends void cooldownTemperature(void); #define COOLDOWN_TEMPERATURE() cooldownTemperature() diff --git a/TFT/src/User/Variants/pin_MKS_TFT28_NEW_GENIUS.h b/TFT/src/User/Variants/pin_MKS_TFT28_NEW_GENIUS.h index 79cc2e576..33ec9e534 100644 --- a/TFT/src/User/Variants/pin_MKS_TFT28_NEW_GENIUS.h +++ b/TFT/src/User/Variants/pin_MKS_TFT28_NEW_GENIUS.h @@ -22,7 +22,7 @@ #define FIL_RUNOUT_PIN PB0 #endif #endif - + #include "pin_MKS_TFT32_V1_4.h" #endif diff --git a/TFT/src/User/Variants/variants.h b/TFT/src/User/Variants/variants.h index fc6b7f594..5f02eed27 100644 --- a/TFT/src/User/Variants/variants.h +++ b/TFT/src/User/Variants/variants.h @@ -4,13 +4,13 @@ #include "../Configuration.h" /* - * hardware source + * Hardware source * TIM3 for Buzzer timer * TIM6 for Neopixel RGB * TIM7 for OS Timer */ -// Type of LCD driver, now support[RM68042, ILI9488, ILI9341, ILI9325, ST7789, HX8558, SSD1963]. +// Type of LCD driver, now support[RM68042, ILI9488, ILI9341, ILI9325, ST7789, HX8558, SSD1963] #define RM68042 (1 << 0) #define ILI9488 (1 << 1) #define ILI9341 (1 << 2) diff --git a/TFT/src/User/my_misc.h b/TFT/src/User/my_misc.h index 6a5baf1a3..73c2c98a5 100644 --- a/TFT/src/User/my_misc.h +++ b/TFT/src/User/my_misc.h @@ -9,7 +9,7 @@ extern "C" { #include #include // for size_t -// Macros to make a string from a macro +// macros to make a string from a macro #define STRINGIFY_(M) #M #define STRINGIFY(M) STRINGIFY_(M) @@ -23,27 +23,27 @@ extern "C" { #define WITHIN(N, L, H) ((N) >= (L) && (N) <= (H)) #define NUMERIC(a) WITHIN(a, '0', '9') -// Bitwise macros +// bitwise macros -// Get bit status at selected index +// get bit status at selected index #define GET_BIT(num, index) (((num) >> (index)) & 1) -// Set bit status at selected index to 1 +// get bit status at selected index to 1 #define SET_BIT_ON(num, index) ((num) |= (1 << (index))) -// Set bit status at selected index to 0 +// set bit status at selected index to 0 #define SET_BIT_OFF(num, index) ((num) &= ~(1 << (index))) -// Set bit status value (0 or 1) at selected index +// set bit status value (0 or 1) at selected index #define SET_BIT_VALUE(num, index, value) ((num) = ((num) & (~(1 << (index)))) | ((value) << (index))) -// Toggle bit status at selected index +// toggle bit status at selected index #define TOGGLE_BIT(num, index) ((num) ^= (1 << (index))) -// Flip all bits +// flip all bits #define FLIP_BITS(num) ~num -// Time conversion +// time conversion #define SEC_TO_MS(t) (t * 1000) // seconds to milliseconds #define MS_TO_SEC(t) (t / 1000) // milliseconds to seconds #define MIN_TO_SEC(t) (t * 60) // minute to seconds @@ -56,7 +56,8 @@ extern "C" { #define strtod strtod_ligth // light weight strtod() function without exponential support #define strncpy(...) \ - do { \ + do \ + { \ _Pragma("GCC error \"Error: strncpy() is deprecated! Use the alternatives like strncpy_pad() or strncpy_no_pad()\""); \ } while (0) diff --git a/TFT/src/User/os_timer.c b/TFT/src/User/os_timer.c index 0ec3cce35..3031c0704 100644 --- a/TFT/src/User/os_timer.c +++ b/TFT/src/User/os_timer.c @@ -5,34 +5,35 @@ OS_COUNTER os_counter = {0, 1000}; void OS_InitTimerMs(void) { -#if defined(GD32F2XX) || defined(GD32F3XX) - nvic_irq_enable(TIMER6_IRQn, 2U, 0U); - - rcu_periph_clock_enable(RCU_TIMER6); - TIMER_CAR(TIMER6) = 1000 - 1; - TIMER_PSC(TIMER6) = mcuClocks.PCLK1_Timer_Frequency / 1000000 - 1; - TIMER_INTF(TIMER6) = (uint16_t)~(1<<0); - TIMER_DMAINTEN(TIMER6) |= 1<<0; - TIMER_CTL0(TIMER6) |= 0x01; -#else - NVIC_InitTypeDef NVIC_InitStructure; - - NVIC_InitStructure.NVIC_IRQChannel = TIM7_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - RCC->APB1ENR |= 1<<5; - TIM7->ARR = 1000 - 1; - TIM7->PSC = mcuClocks.PCLK1_Timer_Frequency / 1000000 - 1; - TIM7->SR = (uint16_t)~(1<<0); - TIM7->DIER |= 1<<0; - TIM7->CR1 |= 0x01; -#endif + #if defined(GD32F2XX) || defined(GD32F3XX) + nvic_irq_enable(TIMER6_IRQn, 2U, 0U); + + rcu_periph_clock_enable(RCU_TIMER6); + TIMER_CAR(TIMER6) = 1000 - 1; + TIMER_PSC(TIMER6) = mcuClocks.PCLK1_Timer_Frequency / 1000000 - 1; + TIMER_INTF(TIMER6) = (uint16_t)~(1<<0); + TIMER_DMAINTEN(TIMER6) |= 1<<0; + TIMER_CTL0(TIMER6) |= 0x01; + #else + NVIC_InitTypeDef NVIC_InitStructure; + + NVIC_InitStructure.NVIC_IRQChannel = TIM7_IRQn; + NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; + NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; + NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; + NVIC_Init(&NVIC_InitStructure); + + RCC->APB1ENR |= 1<<5; + TIM7->ARR = 1000 - 1; + TIM7->PSC = mcuClocks.PCLK1_Timer_Frequency / 1000000 - 1; + TIM7->SR = (uint16_t)~(1<<0); + TIM7->DIER |= 1<<0; + TIM7->CR1 |= 0x01; + #endif } #if defined(GD32F2XX) || defined(GD32F3XX) + void TIMER6_IRQHandler(void) { if ((TIMER_INTF(TIMER6) & TIMER_INTF_UPIF) != 0) @@ -54,7 +55,9 @@ void TIMER6_IRQHandler(void) TS_CheckPress(); // check touch screen once a millisecond } } + #else + void TIM7_IRQHandler(void) { if ((TIM7->SR & TIM_SR_UIF) != 0) @@ -76,6 +79,7 @@ void TIM7_IRQHandler(void) TS_CheckPress(); // check touch screen once a millisecond } } + #endif // task: task structure to be filled