diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 2730f193c80a7a23459830cc82ca4f29bc06409c..97d5b44b287b6e66136979ce1bf4ca65c24702c7 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/Cartesio/Configuration.h b/Marlin/example_configurations/Cartesio/Configuration.h index 5fe019823ebddd388d25e6e494b48f21d8a09cf2..363f38c4a3d1a71b59c8aba61c450e15767f2084 100644 --- a/Marlin/example_configurations/Cartesio/Configuration.h +++ b/Marlin/example_configurations/Cartesio/Configuration.h @@ -165,7 +165,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h index e70962110e587a1971e058d280ae838f4156e0d0..b252f6abd7c2db71dca08d18fba302c6cd20cc21 100644 --- a/Marlin/example_configurations/Felix/Configuration.h +++ b/Marlin/example_configurations/Felix/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/Felix/DUAL/Configuration.h b/Marlin/example_configurations/Felix/DUAL/Configuration.h index 96ad7d2fc4eeb5c25744cfc16eda252162f731b6..b2c8aa78f8bba9242a6c94f889f70787dec15145 100644 --- a/Marlin/example_configurations/Felix/DUAL/Configuration.h +++ b/Marlin/example_configurations/Felix/DUAL/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index 7c6f79e4dc7b4e31c73e29f49c3c5a23bb59d560..bee7a1a4256a58961a55e8e3c66266b7c4382959 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -167,7 +167,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/Hephestos_2/Configuration.h b/Marlin/example_configurations/Hephestos_2/Configuration.h index 807fbd46bf49e83779d8541e955c28ec362d44a5..1e7544e40644bf3484f6da3d3d6a3ed255ee69e4 100644 --- a/Marlin/example_configurations/Hephestos_2/Configuration.h +++ b/Marlin/example_configurations/Hephestos_2/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index edc9c53830207b4aacfebf23175be3df7779bb79..1dfe9a9e8be9cea7690ecd9ff8a0daf6924e8998 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -184,7 +184,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/K8400/Configuration.h b/Marlin/example_configurations/K8400/Configuration.h index 15012c5b94341ba2c9324edc3210addead7d11bf..8707c3ca9d9aa7095a010e2c5eb90bcaabc0087f 100644 --- a/Marlin/example_configurations/K8400/Configuration.h +++ b/Marlin/example_configurations/K8400/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/K8400/Dual-head/Configuration.h b/Marlin/example_configurations/K8400/Dual-head/Configuration.h index e84fb3cad8e5bfbab7a5721072bb5b6969e0285e..a92a5e921f982f78557f247bdaeeca37f0bbf245 100644 --- a/Marlin/example_configurations/K8400/Dual-head/Configuration.h +++ b/Marlin/example_configurations/K8400/Dual-head/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index be434e951eb8051b7930270125d3f3917d09eb83..83beeb4d77eb3e157dd528b763ec5eb4cca5433c 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h index e401042dd4ca27f47872934ba285a4a17dc431ab..56eb3408fd2a18955748a7be060d2ca19838907b 100644 --- a/Marlin/example_configurations/RigidBot/Configuration.h +++ b/Marlin/example_configurations/RigidBot/Configuration.h @@ -167,7 +167,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index 29de498f21f51240c943b5fc56b0ce009642ce00..4115db2734cb8d4121dcb3b4c3ae9e39acb1d112 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -196,7 +196,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/TAZ4/Configuration.h b/Marlin/example_configurations/TAZ4/Configuration.h index 4ced451de1c4343b9ac58ef8eaad7fac5540dd1b..4955dab12d209bd3ded9d658504871444a8f2f00 100644 --- a/Marlin/example_configurations/TAZ4/Configuration.h +++ b/Marlin/example_configurations/TAZ4/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/TinyBoy2/Configuration.h b/Marlin/example_configurations/TinyBoy2/Configuration.h index cab37f2798208126dc065b8706568a8eeb8546c8..3755702929fa9bf0d036f09fecf4628f4c4545f3 100644 --- a/Marlin/example_configurations/TinyBoy2/Configuration.h +++ b/Marlin/example_configurations/TinyBoy2/Configuration.h @@ -186,7 +186,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index e33a5b9e9437f1c166f3eb1b17c2bb73461f7098..4eec6b503776da6bb2dfdaef8ff4dee8dbf3aec1 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -167,7 +167,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h index 7775dced2501d18e8522335fc2fd5819ac7fe237..7498087fb1b4457bc36ba4e497b81a5da15c4046 100644 --- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h +++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h index 28217571c8c2e3310c0d35c92b4b92d0559dc39a..aee1c8de53531f9266814fa4fa7a38a976c09da3 100644 --- a/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h +++ b/Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h index 09dd6c43eed24227ca2b46c6ae65b09c86f86750..3f572c158c6ee6791d710b0374bb9334d7b5f7d2 100644 --- a/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index c3e888cd6e3f9016b4ce66d795ce14ccd4ce2b34..55662e03d2e238a03b90b46a4c50e51e3851b132 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index 401f7b5cb3d3643f793a2c5a6eaac1350eb4a3ca..2cbe82a98aab947b0baf87b55db0d4c2548acfef 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h index 419f47ca4ee682370f36cd67e164661ce8dae7a7..862db686df6738dd8d0160054207b4dc46ca90bb 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h @@ -168,7 +168,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration.h b/Marlin/example_configurations/delta/kossel_xl/Configuration.h index 320e19bb1976642c0246ad511d9262b7489e7a39..d953a105743e5629026f7f40d5064e9bf0c2c2e1 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index 75a1afcb3054b0fb66cd4d46972c6f0c6b0f72cf..b997ae09cba4a20cd30f1df67b5305a9b4583fcc 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index 8753f88b79e11aa9e810a1625fe99bd701e774f8..bcca9b24a9f00f3247dc01c472dc5cdd455c0185 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/example_configurations/wt150/Configuration.h b/Marlin/example_configurations/wt150/Configuration.h index 996a82593df19e3c1ddb66491cdb4c10f3884ea0..33a98fc8fe66068b2ff70984ae1fa39c9da40926 100644 --- a/Marlin/example_configurations/wt150/Configuration.h +++ b/Marlin/example_configurations/wt150/Configuration.h @@ -164,7 +164,7 @@ * "Mixing Extruder" * - Adds a new code, M165, to set the current mix factors. * - Extends the stepping routines to move multiple steppers in proportion to the mix. - * - Optional support for Repetier Host M163, M164, and virtual extruder. + * - Optional support for Repetier Firmware M163, M164, and virtual extruder. * - This implementation supports only a single extruder. * - Enable DIRECT_MIXING_IN_G1 for Pia Taubert's reference implementation */ diff --git a/Marlin/ubl_G29.cpp b/Marlin/ubl_G29.cpp index 8d7f3dd82a5bc94f65466a70285ec723d6ac4a56..1fd0334b8d27298e9c5842003f3fa0aeb63b93ec 100755 --- a/Marlin/ubl_G29.cpp +++ b/Marlin/ubl_G29.cpp @@ -250,9 +250,9 @@ * for subsequent Load and Store operations. It will also store the current state of * the Unified Bed Leveling system in the EEPROM. * - * S -1 Store Store the current Mesh as a print out that is suitable to be feed back into - * the system at a later date. The text generated can be saved and later sent by PronterFace or - * Repetier Host to reconstruct the current mesh on another machine. + * S -1 Store Store the current Mesh as a print out that is suitable to be feed back into the system + * at a later date. The GCode output can be saved and later replayed by the host software + * to reconstruct the current mesh on another machine. * * T 3-Point Perform a 3 Point Bed Leveling on the current Mesh * diff --git a/Marlin/ultralcd_impl_DOGM.h b/Marlin/ultralcd_impl_DOGM.h index 1e67380924b43551b502e26b428e61c8437e040e..0db02992b91b898e44bd19eeee21f59110373567 100644 --- a/Marlin/ultralcd_impl_DOGM.h +++ b/Marlin/ultralcd_impl_DOGM.h @@ -422,17 +422,17 @@ static void lcd_implementation_status_screen() { _draw_heater_status(81, -1); #endif - if (PAGE_CONTAINS(20, 27)) { - // Fan - u8g.setPrintPos(104, 27); - #if HAS_FAN0 - int per = ((fanSpeeds[0] + 1) * 100) / 256; + #if HAS_FAN0 + if (PAGE_CONTAINS(20, 27)) { + // Fan + const int per = ((fanSpeeds[0] + 1) * 100) / 256; if (per) { + u8g.setPrintPos(104, 27); lcd_print(itostr3(per)); u8g.print('%'); } - #endif - } + } + #endif } #if ENABLED(SDSUPPORT) diff --git a/Marlin/utility.cpp b/Marlin/utility.cpp index 432045bc198d6fcc9eeb72577be4e4fee9c326f6..50dcbca80b1bf9b7ee61c69e78af803ddc667230 100644 --- a/Marlin/utility.cpp +++ b/Marlin/utility.cpp @@ -35,7 +35,7 @@ void safe_delay(millis_t ms) { #if ENABLED(ULTRA_LCD) - char conv[9]; + char conv[8] = { 0 }; #define DIGIT(n) ('0' + (n)) #define DIGIMOD(n, f) DIGIT((n)/(f) % 10) @@ -43,29 +43,25 @@ void safe_delay(millis_t ms) { #define MINUSOR(n, alt) (n >= 0 ? (alt) : (n = -n, '-')) // Convert unsigned int to string with 12 format - char* itostr2(const uint8_t& x) { - int xx = x; - conv[0] = DIGIMOD(xx, 10); - conv[1] = DIGIMOD(xx, 1); - conv[2] = '\0'; - return conv; + char* itostr2(const uint8_t& xx) { + conv[5] = DIGIMOD(xx, 10); + conv[6] = DIGIMOD(xx, 1); + return &conv[5]; } // Convert signed int to rj string with 123 or -12 format char* itostr3(const int& x) { int xx = x; - conv[0] = MINUSOR(xx, RJDIGIT(xx, 100)); - conv[1] = RJDIGIT(xx, 10); - conv[2] = DIGIMOD(xx, 1); - conv[3] = '\0'; - return conv; + conv[4] = MINUSOR(xx, RJDIGIT(xx, 100)); + conv[5] = RJDIGIT(xx, 10); + conv[6] = DIGIMOD(xx, 1); + return &conv[4]; } // Convert unsigned int to lj string with 123 format char* itostr3left(const int& xx) { - char *str = &conv[3]; - *str = '\0'; - *(--str) = DIGIMOD(xx, 1); + char *str = &conv[6]; + *str = DIGIMOD(xx, 1); if (xx >= 10) { *(--str) = DIGIMOD(xx, 10); if (xx >= 100) @@ -76,72 +72,70 @@ void safe_delay(millis_t ms) { // Convert signed int to rj string with 1234, _123, -123, _-12, or __-1 format char *itostr4sign(const int& x) { - int xx = abs(x); + const bool neg = x < 0; + const int xx = neg ? -x : x; if (x >= 1000) { - conv[0] = DIGIMOD(xx, 1000); - conv[1] = DIGIMOD(xx, 100); - conv[2] = DIGIMOD(xx, 10); + conv[3] = DIGIMOD(xx, 1000); + conv[4] = DIGIMOD(xx, 100); + conv[5] = DIGIMOD(xx, 10); } else { if (xx >= 100) { - conv[0] = x < 0 ? '-' : ' '; - conv[1] = DIGIMOD(xx, 100); - conv[2] = DIGIMOD(xx, 10); + conv[3] = neg ? '-' : ' '; + conv[4] = DIGIMOD(xx, 100); + conv[5] = DIGIMOD(xx, 10); } else { - conv[0] = ' '; + conv[4] = ' '; if (xx >= 10) { - conv[1] = x < 0 ? '-' : ' '; - conv[2] = DIGIMOD(xx, 10); + conv[4] = neg ? '-' : ' '; + conv[5] = DIGIMOD(xx, 10); } else { - conv[1] = ' '; - conv[2] = x < 0 ? '-' : ' '; + conv[4] = ' '; + conv[5] = neg ? '-' : ' '; } } } - conv[3] = DIGIMOD(xx, 1); - conv[4] = '\0'; - return conv; + conv[6] = DIGIMOD(xx, 1); + return &conv[3]; } // Convert unsigned float to string with 1.23 format char* ftostr12ns(const float& x) { - long xx = abs(x * 100); - conv[0] = DIGIMOD(xx, 100); - conv[1] = '.'; - conv[2] = DIGIMOD(xx, 10); - conv[3] = DIGIMOD(xx, 1); - conv[4] = '\0'; - return conv; + const long xx = (x < 0 ? -x : x) * 100; + conv[3] = DIGIMOD(xx, 100); + conv[4] = '.'; + conv[5] = DIGIMOD(xx, 10); + conv[6] = DIGIMOD(xx, 1); + return &conv[3]; } // Convert signed float to fixed-length string with 023.45 / -23.45 format char *ftostr32(const float& x) { long xx = x * 100; - conv[0] = MINUSOR(xx, DIGIMOD(xx, 10000)); - conv[1] = DIGIMOD(xx, 1000); - conv[2] = DIGIMOD(xx, 100); - conv[3] = '.'; - conv[4] = DIGIMOD(xx, 10); - conv[5] = DIGIMOD(xx, 1); - conv[6] = '\0'; - return conv; + conv[1] = MINUSOR(xx, DIGIMOD(xx, 10000)); + conv[2] = DIGIMOD(xx, 1000); + conv[3] = DIGIMOD(xx, 100); + conv[4] = '.'; + conv[5] = DIGIMOD(xx, 10); + conv[6] = DIGIMOD(xx, 1); + return &conv[1]; } #if ENABLED(LCD_DECIMAL_SMALL_XY) // Convert float to rj string with 1234, _123, -123, _-12, 12.3, _1.2, or -1.2 format char *ftostr4sign(const float& fx) { - int x = fx * 10; + const int x = fx * 10; if (!WITHIN(x, -99, 999)) return itostr4sign((int)fx); - int xx = abs(x); - conv[0] = x < 0 ? '-' : (xx >= 100 ? DIGIMOD(xx, 100) : ' '); - conv[1] = DIGIMOD(xx, 10); - conv[2] = '.'; - conv[3] = DIGIMOD(xx, 1); - conv[4] = '\0'; - return conv; + const bool neg = x < 0; + const int xx = neg ? -x : x; + conv[3] = neg ? '-' : (xx >= 100 ? DIGIMOD(xx, 100) : ' '); + conv[4] = DIGIMOD(xx, 10); + conv[5] = '.'; + conv[6] = DIGIMOD(xx, 1); + return &conv[3]; } #endif // LCD_DECIMAL_SMALL_XY @@ -149,39 +143,36 @@ void safe_delay(millis_t ms) { // Convert float to fixed-length string with +123.4 / -123.4 format char* ftostr41sign(const float& x) { int xx = x * 10; - conv[0] = MINUSOR(xx, '+'); - conv[1] = DIGIMOD(xx, 1000); - conv[2] = DIGIMOD(xx, 100); - conv[3] = DIGIMOD(xx, 10); - conv[4] = '.'; - conv[5] = DIGIMOD(xx, 1); - conv[6] = '\0'; - return conv; + conv[1] = MINUSOR(xx, '+'); + conv[2] = DIGIMOD(xx, 1000); + conv[3] = DIGIMOD(xx, 100); + conv[4] = DIGIMOD(xx, 10); + conv[5] = '.'; + conv[6] = DIGIMOD(xx, 1); + return &conv[1]; } // Convert signed float to string (6 digit) with -1.234 / _0.000 / +1.234 format char* ftostr43sign(const float& x, char plus/*=' '*/) { long xx = x * 1000; - conv[0] = xx ? MINUSOR(xx, plus) : ' '; - conv[1] = DIGIMOD(xx, 1000); - conv[2] = '.'; - conv[3] = DIGIMOD(xx, 100); - conv[4] = DIGIMOD(xx, 10); - conv[5] = DIGIMOD(xx, 1); - conv[6] = '\0'; - return conv; + conv[1] = xx ? MINUSOR(xx, plus) : ' '; + conv[2] = DIGIMOD(xx, 1000); + conv[3] = '.'; + conv[4] = DIGIMOD(xx, 100); + conv[5] = DIGIMOD(xx, 10); + conv[6] = DIGIMOD(xx, 1); + return &conv[1]; } // Convert unsigned float to rj string with 12345 format char* ftostr5rj(const float& x) { - long xx = abs(x); - conv[0] = RJDIGIT(xx, 10000); - conv[1] = RJDIGIT(xx, 1000); - conv[2] = RJDIGIT(xx, 100); - conv[3] = RJDIGIT(xx, 10); - conv[4] = DIGIMOD(xx, 1); - conv[5] = '\0'; - return conv; + const long xx = x < 0 ? -x : x; + conv[2] = RJDIGIT(xx, 10000); + conv[3] = RJDIGIT(xx, 1000); + conv[4] = RJDIGIT(xx, 100); + conv[5] = RJDIGIT(xx, 10); + conv[6] = DIGIMOD(xx, 1); + return &conv[2]; } // Convert signed float to string with +1234.5 format @@ -194,7 +185,6 @@ void safe_delay(millis_t ms) { conv[4] = DIGIMOD(xx, 10); conv[5] = '.'; conv[6] = DIGIMOD(xx, 1); - conv[7] = '\0'; return conv; } @@ -208,13 +198,12 @@ void safe_delay(millis_t ms) { conv[4] = '.'; conv[5] = DIGIMOD(xx, 10); conv[6] = DIGIMOD(xx, 1); - conv[7] = '\0'; return conv; } // Convert unsigned float to string with 1234.56 format omitting trailing zeros char* ftostr62rj(const float& x) { - long xx = abs(x * 100); + const long xx = (x < 0 ? -x : x) * 100; conv[0] = RJDIGIT(xx, 100000); conv[1] = RJDIGIT(xx, 10000); conv[2] = RJDIGIT(xx, 1000); @@ -222,7 +211,6 @@ void safe_delay(millis_t ms) { conv[4] = '.'; conv[5] = DIGIMOD(xx, 10); conv[6] = DIGIMOD(xx, 1); - conv[7] = '\0'; return conv; } @@ -230,26 +218,25 @@ void safe_delay(millis_t ms) { char* ftostr52sp(const float& x) { long xx = x * 100; uint8_t dig; - conv[0] = MINUSOR(xx, RJDIGIT(xx, 10000)); - conv[1] = RJDIGIT(xx, 1000); - conv[2] = DIGIMOD(xx, 100); + conv[1] = MINUSOR(xx, RJDIGIT(xx, 10000)); + conv[2] = RJDIGIT(xx, 1000); + conv[3] = DIGIMOD(xx, 100); if ((dig = xx % 10)) { // second digit after decimal point? - conv[3] = '.'; - conv[4] = DIGIMOD(xx, 10); - conv[5] = DIGIT(dig); + conv[4] = '.'; + conv[5] = DIGIMOD(xx, 10); + conv[6] = DIGIT(dig); } else { if ((dig = (xx / 10) % 10)) { // first digit after decimal point? - conv[3] = '.'; - conv[4] = DIGIT(dig); + conv[4] = '.'; + conv[5] = DIGIT(dig); } else // nothing after decimal point - conv[3] = conv[4] = ' '; - conv[5] = ' '; + conv[4] = conv[5] = ' '; + conv[6] = ' '; } - conv[6] = '\0'; - return conv; + return &conv[1]; } #endif // ULTRA_LCD