🧑💻 More num-to-string digits / precisions (#26343)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
parent
c53844ff91
commit
b17d3d3e9c
|
@ -371,8 +371,8 @@ void menu_backlash();
|
|||
|
||||
#define _MPC_EDIT_ITEMS(N) \
|
||||
MPC_t &mpc = thermalManager.temp_hotend[MenuItemBase::itemIndex].mpc; \
|
||||
EDIT_ITEM_FAST_N(float31sign, N, MSG_MPC_POWER_E, &mpc.heater_power, 1, 200); \
|
||||
EDIT_ITEM_FAST_N(float31sign, N, MSG_MPC_BLOCK_HEAT_CAPACITY_E, &mpc.block_heat_capacity, 0, 40); \
|
||||
EDIT_ITEM_FAST_N(float41, N, MSG_MPC_POWER_E, &mpc.heater_power, 1, 200); \
|
||||
EDIT_ITEM_FAST_N(float31, N, MSG_MPC_BLOCK_HEAT_CAPACITY_E, &mpc.block_heat_capacity, 0, 40); \
|
||||
EDIT_ITEM_FAST_N(float43, N, MSG_SENSOR_RESPONSIVENESS_E, &mpc.sensor_responsiveness, 0, 1); \
|
||||
EDIT_ITEM_FAST_N(float43, N, MSG_MPC_AMBIENT_XFER_COEFF_E, &mpc.ambient_xfer_coeff_fan0, 0, 1)
|
||||
|
||||
|
@ -563,7 +563,7 @@ void menu_backlash();
|
|||
editable.decimal = stepper.get_shaping_frequency(X_AXIS);
|
||||
if (editable.decimal) {
|
||||
ACTION_ITEM_N(X_AXIS, MSG_SHAPING_DISABLE, []{ stepper.set_shaping_frequency(X_AXIS, 0.0f); });
|
||||
EDIT_ITEM_FAST_N(float61, X_AXIS, MSG_SHAPING_FREQ, &editable.decimal, min_frequency, 200.0f, []{ stepper.set_shaping_frequency(X_AXIS, editable.decimal); });
|
||||
EDIT_ITEM_FAST_N(float41, X_AXIS, MSG_SHAPING_FREQ, &editable.decimal, min_frequency, 200.0f, []{ stepper.set_shaping_frequency(X_AXIS, editable.decimal); });
|
||||
editable.decimal = stepper.get_shaping_damping_ratio(X_AXIS);
|
||||
EDIT_ITEM_FAST_N(float42_52, X_AXIS, MSG_SHAPING_ZETA, &editable.decimal, 0.0f, 1.0f, []{ stepper.set_shaping_damping_ratio(X_AXIS, editable.decimal); });
|
||||
}
|
||||
|
@ -574,7 +574,7 @@ void menu_backlash();
|
|||
editable.decimal = stepper.get_shaping_frequency(Y_AXIS);
|
||||
if (editable.decimal) {
|
||||
ACTION_ITEM_N(Y_AXIS, MSG_SHAPING_DISABLE, []{ stepper.set_shaping_frequency(Y_AXIS, 0.0f); });
|
||||
EDIT_ITEM_FAST_N(float61, Y_AXIS, MSG_SHAPING_FREQ, &editable.decimal, min_frequency, 200.0f, []{ stepper.set_shaping_frequency(Y_AXIS, editable.decimal); });
|
||||
EDIT_ITEM_FAST_N(float41, Y_AXIS, MSG_SHAPING_FREQ, &editable.decimal, min_frequency, 200.0f, []{ stepper.set_shaping_frequency(Y_AXIS, editable.decimal); });
|
||||
editable.decimal = stepper.get_shaping_damping_ratio(Y_AXIS);
|
||||
EDIT_ITEM_FAST_N(float42_52, Y_AXIS, MSG_SHAPING_ZETA, &editable.decimal, 0.0f, 1.0f, []{ stepper.set_shaping_damping_ratio(Y_AXIS, editable.decimal); });
|
||||
}
|
||||
|
|
|
@ -150,10 +150,19 @@ DEFINE_MENU_EDIT_ITEM_TYPE(uint16_5 ,uint16_t ,ui16tostr5rj , 0.01f
|
|||
DEFINE_MENU_EDIT_ITEM_TYPE(float3 ,float ,ftostr3rj , 1 ); // 123 right-justified
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float42_52 ,float ,ftostr42_52 , 100 , + 0.001f ); // _2.34, 12.34, -2.34 or 123.45, -23.45
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float43 ,float ,ftostr43sign ,1000 , + 0.0001f); // -1.234, _1.234, +1.234
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float53 ,float ,ftostr53sign ,1000 , + 0.0001f); // -12.345, _2.345, +2.345
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float54 ,float ,ftostr54sign ,10000 , + 0.00001f); // -1.2345, _1.2345, +1.2345
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float4 ,float ,ftostr4sign , 1 ); // 1234 right-justified
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float5 ,float ,ftostr5rj , 1 ); // 12345 right-justified
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float5_25 ,float ,ftostr5rj , 0.04f ); // 12345 right-justified (25 increment)
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float31 ,float ,ftostr31rj , 10 , + 0.01f ); // 45.6 right-justified
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float41 ,float ,ftostr41rj , 10 , + 0.01f ); // 345.6 right-justified
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float51 ,float ,ftostr51rj , 10 , + 0.01f ); // 1234.5 right-justified
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float61 ,float ,ftostr61rj , 10 , + 0.01f ); // 12345.6 right-justified
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float32 ,float ,ftostr32rj , 100 , + 0.001f ); // 1.23
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float42 ,float ,ftostr42rj , 100 , + 0.001f ); // 12.34 right-justified
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float52 ,float ,ftostr52rj , 100 , + 0.001f ); // 123.45 right-justified
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float62 ,float ,ftostr62rj , 100 , + 0.001f ); // 1234.56 right-justified
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float72 ,float ,ftostr72rj , 100 , + 0.001f ); // 12345.67 right-justified
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float31sign ,float ,ftostr31sign , 10 , + 0.01f ); // +12.3
|
||||
DEFINE_MENU_EDIT_ITEM_TYPE(float41sign ,float ,ftostr41sign , 10 , + 0.01f ); // +123.4
|
||||
|
|
|
@ -45,7 +45,7 @@ constexpr long UINTFLOAT(const float V, const int N) {
|
|||
|
||||
char conv[9] = { 0 };
|
||||
|
||||
// Format uint8_t (0-100) as rj string with 123% / _12% / __1% format
|
||||
// Format uint8_t (0-100) as rj string with __3% / _23% / 123% format
|
||||
const char* pcttostrpctrj(const uint8_t i) {
|
||||
conv[4] = RJDIGIT(i, 100);
|
||||
conv[5] = RJDIGIT(i, 10);
|
||||
|
@ -59,7 +59,7 @@ const char* ui8tostr4pctrj(const uint8_t i) {
|
|||
return pcttostrpctrj(ui8_to_percent(i));
|
||||
}
|
||||
|
||||
// Convert unsigned 8bit int to string 123 format
|
||||
// Convert unsigned 8bit int to string with __3 / _23 / 123 format
|
||||
const char* ui8tostr3rj(const uint8_t i) {
|
||||
conv[5] = RJDIGIT(i, 100);
|
||||
conv[6] = RJDIGIT(i, 10);
|
||||
|
@ -74,7 +74,7 @@ const char* ui8tostr2(const uint8_t i) {
|
|||
return &conv[6];
|
||||
}
|
||||
|
||||
// Convert signed 8bit int to rj string with 123 or -12 format
|
||||
// Convert signed 8bit int to rj string with __3 / _23 / 123 / -_3 / -23 format
|
||||
const char* i8tostr3rj(const int8_t x) {
|
||||
int xx = x;
|
||||
conv[5] = MINUSOR(xx, RJDIGIT(xx, 100));
|
||||
|
@ -105,32 +105,26 @@ const char* i8tostr3rj(const int8_t x) {
|
|||
}
|
||||
#endif
|
||||
|
||||
// Convert unsigned 16bit int to string 12345 format
|
||||
const char* ui16tostr5rj(const uint16_t xx) {
|
||||
conv[3] = RJDIGIT(xx, 10000);
|
||||
conv[4] = RJDIGIT(xx, 1000);
|
||||
conv[5] = RJDIGIT(xx, 100);
|
||||
conv[6] = RJDIGIT(xx, 10);
|
||||
// Convert unsigned 16bit int to right-justified string
|
||||
inline const char* ui16tostrXrj(const uint16_t xx, const int index) {
|
||||
switch (index) {
|
||||
case 0 ... 3: conv[3] = RJDIGIT(xx, 10000);
|
||||
case 4: conv[4] = RJDIGIT(xx, 1000);
|
||||
case 5: conv[5] = RJDIGIT(xx, 100);
|
||||
case 6: conv[6] = RJDIGIT(xx, 10);
|
||||
}
|
||||
conv[7] = DIGIMOD(xx, 1);
|
||||
return &conv[3];
|
||||
return &conv[index];
|
||||
}
|
||||
|
||||
// Convert unsigned 16bit int to string 1234 format
|
||||
const char* ui16tostr4rj(const uint16_t xx) {
|
||||
conv[4] = RJDIGIT(xx, 1000);
|
||||
conv[5] = RJDIGIT(xx, 100);
|
||||
conv[6] = RJDIGIT(xx, 10);
|
||||
conv[7] = DIGIMOD(xx, 1);
|
||||
return &conv[4];
|
||||
}
|
||||
// Convert unsigned 16bit int to string with 12345 format
|
||||
const char* ui16tostr5rj(const uint16_t xx) { return ui16tostrXrj(xx, 8 - 5); }
|
||||
|
||||
// Convert unsigned 16bit int to string 123 format
|
||||
const char* ui16tostr3rj(const uint16_t xx) {
|
||||
conv[5] = RJDIGIT(xx, 100);
|
||||
conv[6] = RJDIGIT(xx, 10);
|
||||
conv[7] = DIGIMOD(xx, 1);
|
||||
return &conv[5];
|
||||
}
|
||||
// Convert unsigned 16bit int to string with 1234 format
|
||||
const char* ui16tostr4rj(const uint16_t xx) { return ui16tostrXrj(xx, 8 - 4); }
|
||||
|
||||
// Convert unsigned 16bit int to string with 123 format
|
||||
const char* ui16tostr3rj(const uint16_t xx) { return ui16tostrXrj(xx, 8 - 3); }
|
||||
|
||||
// Convert signed 16bit int to rj string with 123 or -12 format
|
||||
const char* i16tostr3rj(const int16_t x) {
|
||||
|
@ -222,7 +216,7 @@ const char* ftostr41ns(const_float_t f) {
|
|||
return &conv[3];
|
||||
}
|
||||
|
||||
// Convert signed float to fixed-length string with 12.34 / _2.34 / -2.34 or -23.45 / 123.45 format
|
||||
// Convert float to fixed-length string with 12.34 / _2.34 / -2.34 or -23.45 / 123.45 format
|
||||
const char* ftostr42_52(const_float_t f) {
|
||||
if (f <= -10 || f >= 100) return ftostr52(f); // -23.45 / 123.45
|
||||
long i = INTFLOAT(f, 2);
|
||||
|
@ -234,7 +228,7 @@ const char* ftostr42_52(const_float_t f) {
|
|||
return &conv[3];
|
||||
}
|
||||
|
||||
// Convert signed float to fixed-length string with 023.45 / -23.45 format
|
||||
// Convert float to fixed-length string with 023.45 / -23.45 format
|
||||
const char* ftostr52(const_float_t f) {
|
||||
long i = INTFLOAT(f, 2);
|
||||
conv[2] = MINUSOR(i, DIGIMOD(i, 10000));
|
||||
|
@ -246,7 +240,7 @@ const char* ftostr52(const_float_t f) {
|
|||
return &conv[2];
|
||||
}
|
||||
|
||||
// Convert signed float to fixed-length string with 12.345 / _2.345 / -2.345 or -23.45 / 123.45 format
|
||||
// Convert float to fixed-length string with 12.345 / _2.345 / -2.345 or -23.45 / 123.45 format
|
||||
const char* ftostr53_63(const_float_t f) {
|
||||
if (f <= -10 || f >= 100) return ftostr63(f); // -23.456 / 123.456
|
||||
long i = INTFLOAT(f, 3);
|
||||
|
@ -259,7 +253,7 @@ const char* ftostr53_63(const_float_t f) {
|
|||
return &conv[2];
|
||||
}
|
||||
|
||||
// Convert signed float to fixed-length string with 023.456 / -23.456 format
|
||||
// Convert float to fixed-length string with 023.456 / -23.456 format
|
||||
const char* ftostr63(const_float_t f) {
|
||||
long i = INTFLOAT(f, 3);
|
||||
conv[1] = MINUSOR(i, DIGIMOD(i, 100000));
|
||||
|
@ -289,42 +283,58 @@ const char* ftostr63(const_float_t f) {
|
|||
|
||||
#endif
|
||||
|
||||
// Convert float to fixed-length string with +12.3 / -12.3 format
|
||||
const char* ftostr31sign(const_float_t f) {
|
||||
int i = INTFLOAT(f, 1);
|
||||
conv[3] = MINUSOR(i, '+');
|
||||
conv[4] = DIGIMOD(i, 100);
|
||||
//
|
||||
// Convert float to fixed-length string with +/- and a single decimal place
|
||||
//
|
||||
inline const char* ftostrX1sign(const_float_t f, const int index) {
|
||||
long i = INTFLOAT(f, 1);
|
||||
conv[index] = MINUSOR(i, '+');
|
||||
switch (index + 1) {
|
||||
case 1: conv[1] = DIGIMOD(i, 100000);
|
||||
case 2: conv[2] = DIGIMOD(i, 10000);
|
||||
case 3: conv[3] = DIGIMOD(i, 1000);
|
||||
case 4: conv[4] = DIGIMOD(i, 100);
|
||||
}
|
||||
conv[5] = DIGIMOD(i, 10);
|
||||
conv[6] = '.';
|
||||
conv[7] = DIGIMOD(i, 1);
|
||||
return &conv[3];
|
||||
return &conv[index];
|
||||
}
|
||||
|
||||
// Convert float to fixed-length string with +12.3 / -12.3 format
|
||||
const char* ftostr31sign(const_float_t f) { return ftostrX1sign(f, 3); }
|
||||
|
||||
// Convert float to fixed-length string with +123.4 / -123.4 format
|
||||
const char* ftostr41sign(const_float_t f) {
|
||||
int i = INTFLOAT(f, 1);
|
||||
conv[2] = MINUSOR(i, '+');
|
||||
conv[3] = DIGIMOD(i, 1000);
|
||||
conv[4] = DIGIMOD(i, 100);
|
||||
conv[5] = DIGIMOD(i, 10);
|
||||
conv[6] = '.';
|
||||
conv[7] = DIGIMOD(i, 1);
|
||||
return &conv[2];
|
||||
}
|
||||
const char* ftostr41sign(const_float_t f) { return ftostrX1sign(f, 2); }
|
||||
|
||||
// Convert signed float to string (6 digit) with -1.234 / _0.000 / +1.234 format
|
||||
const char* ftostr43sign(const_float_t f, char plus/*=' '*/) {
|
||||
long i = INTFLOAT(f, 3);
|
||||
conv[2] = i ? MINUSOR(i, plus) : ' ';
|
||||
// Convert float to fixed-length string with +1234.5 / +1234.5 format
|
||||
const char* ftostr51sign(const_float_t f) { return ftostrX1sign(f, 1); }
|
||||
|
||||
//
|
||||
// Convert float to string with +/ /- and 3 decimal places
|
||||
//
|
||||
inline const char* ftostrX3sign(const_float_t f, const int index, char plus/*=' '*/) {
|
||||
long i = INTFLOAT(f, 1);
|
||||
conv[index] = i ? MINUSOR(i, plus) : ' ';
|
||||
switch (index + 1) {
|
||||
case 1: conv[1] = DIGIMOD(i, 100000);
|
||||
case 2: conv[2] = DIGIMOD(i, 10000);
|
||||
}
|
||||
conv[3] = DIGIMOD(i, 1000);
|
||||
conv[4] = '.';
|
||||
conv[5] = DIGIMOD(i, 100);
|
||||
conv[6] = DIGIMOD(i, 10);
|
||||
conv[7] = DIGIMOD(i, 1);
|
||||
return &conv[2];
|
||||
return &conv[index];
|
||||
}
|
||||
|
||||
// Convert signed float to string (5 digit) with -1.2345 / _0.0000 / +1.2345 format
|
||||
// Convert float to string (6 chars) with -1.234 / _0.000 / +1.234 format
|
||||
const char* ftostr43sign(const_float_t f, char plus/*=' '*/) { return ftostrX3sign(f, 2, plus); }
|
||||
|
||||
// Convert float to string (7 chars) with -12.345 / _00.000 / +12.345 format
|
||||
const char* ftostr53sign(const_float_t f, char plus/*=' '*/) { return ftostrX3sign(f, 1, plus); }
|
||||
|
||||
// Convert float to string (7 chars) with -1.2345 / _0.0000 / +1.2345 format
|
||||
const char* ftostr54sign(const_float_t f, char plus/*=' '*/) {
|
||||
long i = INTFLOAT(f, 4);
|
||||
conv[1] = i ? MINUSOR(i, plus) : ' ';
|
||||
|
@ -343,19 +353,6 @@ const char* ftostr5rj(const_float_t f) {
|
|||
return ui16tostr5rj(i);
|
||||
}
|
||||
|
||||
// Convert signed float to string with +1234.5 format
|
||||
const char* ftostr51sign(const_float_t f) {
|
||||
long i = INTFLOAT(f, 1);
|
||||
conv[1] = MINUSOR(i, '+');
|
||||
conv[2] = DIGIMOD(i, 10000);
|
||||
conv[3] = DIGIMOD(i, 1000);
|
||||
conv[4] = DIGIMOD(i, 100);
|
||||
conv[5] = DIGIMOD(i, 10);
|
||||
conv[6] = '.';
|
||||
conv[7] = DIGIMOD(i, 1);
|
||||
return &conv[1];
|
||||
}
|
||||
|
||||
// Convert signed float to string with +123.45 format
|
||||
const char* ftostr52sign(const_float_t f) {
|
||||
long i = INTFLOAT(f, 2);
|
||||
|
@ -369,47 +366,66 @@ const char* ftostr52sign(const_float_t f) {
|
|||
return &conv[1];
|
||||
}
|
||||
|
||||
// Convert signed float to string with +12.345 format
|
||||
const char* ftostr53sign(const_float_t f) {
|
||||
long i = INTFLOAT(f, 3);
|
||||
conv[1] = MINUSOR(i, '+');
|
||||
conv[2] = DIGIMOD(i, 10000);
|
||||
conv[3] = DIGIMOD(i, 1000);
|
||||
conv[4] = '.';
|
||||
conv[5] = DIGIMOD(i, 100);
|
||||
conv[6] = DIGIMOD(i, 10);
|
||||
conv[7] = DIGIMOD(i, 1);
|
||||
return &conv[1];
|
||||
}
|
||||
|
||||
// Convert unsigned float to string with ____5.6, ___45.6, __345.6, _2345.6, 12345.6 format
|
||||
const char* ftostr61rj(const_float_t f) {
|
||||
// Convert unsigned float to string with a single digit precision
|
||||
inline const char* ftostrX1rj(const_float_t f, const int index=1) {
|
||||
const long i = UINTFLOAT(f, 1);
|
||||
conv[1] = RJDIGIT(i, 100000);
|
||||
conv[2] = RJDIGIT(i, 10000);
|
||||
conv[3] = RJDIGIT(i, 1000);
|
||||
conv[4] = RJDIGIT(i, 100);
|
||||
switch (index) {
|
||||
case 0: conv[0] = RJDIGIT(i, 1000000);
|
||||
case 1: conv[1] = RJDIGIT(i, 100000);
|
||||
case 2: conv[2] = RJDIGIT(i, 10000);
|
||||
case 3: conv[3] = RJDIGIT(i, 1000);
|
||||
case 4: conv[4] = RJDIGIT(i, 100);
|
||||
}
|
||||
conv[5] = DIGIMOD(i, 10);
|
||||
conv[6] = '.';
|
||||
conv[7] = DIGIMOD(i, 1);
|
||||
return &conv[1];
|
||||
return &conv[index];
|
||||
}
|
||||
|
||||
// Convert unsigned float to string with ____5.67, ___45.67, __345.67, _2345.67, 12345.67 format
|
||||
const char* ftostr72rj(const_float_t f) {
|
||||
// Convert unsigned float to string with _2.3 / 12.3 format
|
||||
const char* ftostr31rj(const_float_t f) { return ftostrX1rj(f, 7 - 3); }
|
||||
|
||||
// Convert unsigned float to string with __3.4 / _23.4 / 123.4 format
|
||||
const char* ftostr41rj(const_float_t f) { return ftostrX1rj(f, 7 - 4); }
|
||||
|
||||
// Convert unsigned float to string with ___4.5 / __34.5 / _234.5 / 1234.5 format
|
||||
const char* ftostr51rj(const_float_t f) { return ftostrX1rj(f, 7 - 5); }
|
||||
|
||||
// Convert unsigned float to string with ____5.6 / ___45.6 / __345.6 / _2345.6 / 12345.6 format
|
||||
const char* ftostr61rj(const_float_t f) { return ftostrX1rj(f, 7 - 6); }
|
||||
|
||||
// Convert unsigned float to string with two digit precision
|
||||
inline const char* ftostrX2rj(const_float_t f, const int index=1) {
|
||||
const long i = UINTFLOAT(f, 2);
|
||||
conv[0] = RJDIGIT(i, 1000000);
|
||||
conv[1] = RJDIGIT(i, 100000);
|
||||
conv[2] = RJDIGIT(i, 10000);
|
||||
conv[3] = RJDIGIT(i, 1000);
|
||||
conv[4] = DIGIMOD(i, 100);
|
||||
switch (index) {
|
||||
case 0: conv[0] = RJDIGIT(i, 1000000);
|
||||
case 1: conv[1] = RJDIGIT(i, 100000);
|
||||
case 2: conv[2] = RJDIGIT(i, 10000);
|
||||
case 3: conv[3] = RJDIGIT(i, 1000);
|
||||
case 4: conv[4] = RJDIGIT(i, 100);
|
||||
}
|
||||
conv[5] = '.';
|
||||
conv[6] = DIGIMOD(i, 10);
|
||||
conv[7] = DIGIMOD(i, 1);
|
||||
return conv;
|
||||
return &conv[index];
|
||||
}
|
||||
|
||||
// Convert signed float to space-padded string with -_23.4_ format
|
||||
// Convert unsigned float to string with 1.23 format
|
||||
const char* ftostr32rj(const_float_t f) { return ftostrX2rj(f, 4); }
|
||||
|
||||
// Convert unsigned float to string with _2.34, 12.34 format
|
||||
const char* ftostr42rj(const_float_t f) { return ftostrX2rj(f, 3); }
|
||||
|
||||
// Convert unsigned float to string with __3.45, _23.45, 123.45 format
|
||||
const char* ftostr52rj(const_float_t f) { return ftostrX2rj(f, 2); }
|
||||
|
||||
// Convert unsigned float to string with ___4.56, __34.56, _234.56, 1234.56 format
|
||||
const char* ftostr62rj(const_float_t f) { return ftostrX2rj(f, 1); }
|
||||
|
||||
// Convert unsigned float to string with ____5.67, ___45.67, __345.67, _2345.67, 12345.67 format
|
||||
const char* ftostr72rj(const_float_t f) { return ftostrX2rj(f, 0); }
|
||||
|
||||
// Convert float to space-padded string with -_23.4_ format
|
||||
const char* ftostr52sp(const_float_t f) {
|
||||
long i = INTFLOAT(f, 2);
|
||||
uint8_t dig;
|
||||
|
@ -418,17 +434,17 @@ const char* ftostr52sp(const_float_t f) {
|
|||
conv[3] = RJDIGIT(i, 1000);
|
||||
conv[4] = DIGIMOD(i, 100);
|
||||
|
||||
if ((dig = i % 10)) { // second digit after decimal point?
|
||||
if ((dig = i % 10)) { // Second digit after decimal point?
|
||||
conv[5] = '.';
|
||||
conv[6] = DIGIMOD(i, 10);
|
||||
conv[7] = DIGIT(dig);
|
||||
}
|
||||
else {
|
||||
if ((dig = (i / 10) % 10)) { // first digit after decimal point?
|
||||
if ((dig = (i / 10) % 10)) { // First digit after decimal point?
|
||||
conv[5] = '.';
|
||||
conv[6] = DIGIT(dig);
|
||||
}
|
||||
else // nothing after decimal point
|
||||
else // Nothing after decimal point
|
||||
conv[5] = conv[6] = ' ';
|
||||
conv[7] = ' ';
|
||||
}
|
||||
|
@ -440,7 +456,7 @@ const char* utostr3(const uint16_t x) {
|
|||
return i16tostr3left(_MIN(x, 999U));
|
||||
}
|
||||
|
||||
// Convert signed float to space-padded string with 1.23, 12.34, 123.45 format
|
||||
// Convert float to space-padded string with 1.23, 12.34, 123.45 format
|
||||
const char* ftostr52sprj(const_float_t f) {
|
||||
long i = INTFLOAT(f, 2);
|
||||
LIMIT(i, -99999, 99999); // cap to -999.99 - 999.99 range
|
||||
|
|
|
@ -40,7 +40,7 @@ const char* ui8tostr3rj(const uint8_t i);
|
|||
const char* i8tostr3rj(const int8_t x);
|
||||
|
||||
#if HAS_PRINT_PROGRESS_PERMYRIAD
|
||||
// Convert 16-bit unsigned permyriad value to percent: 100 / 23 / 23.4 / 3.45
|
||||
// Convert 16-bit unsigned permyriad value to percent: _100 / __23 / 23.4 / 3.45
|
||||
const char* permyriadtostr4(const uint16_t xx);
|
||||
#endif
|
||||
|
||||
|
@ -86,22 +86,34 @@ const char* ftostr53_63(const_float_t x);
|
|||
// Convert signed float to fixed-length string with 023.456 / -23.456 format
|
||||
const char* ftostr63(const_float_t x);
|
||||
|
||||
// Convert float to fixed-length string with +12.3 / -12.3 format
|
||||
// Convert signed float to fixed-length string with +12.3 / -12.3 format
|
||||
const char* ftostr31sign(const_float_t x);
|
||||
|
||||
// Convert float to fixed-length string with +123.4 / -123.4 format
|
||||
// Convert signed float to fixed-length string with +123.4 / -123.4 format
|
||||
const char* ftostr41sign(const_float_t x);
|
||||
|
||||
// Convert signed float to fixed-length string with +1234.5 / +1234.5 format
|
||||
const char* ftostr51sign(const_float_t x);
|
||||
|
||||
// Convert signed float to string (6 digit) with -1.234 / _0.000 / +1.234 format
|
||||
const char* ftostr43sign(const_float_t x, char plus=' ');
|
||||
|
||||
// Convert signed float to string (7 chars) with -12.345 / _00.000 / +12.345 format
|
||||
const char* ftostr53sign(const_float_t x, char plus=' ');
|
||||
|
||||
// Convert signed float to string (5 digit) with -1.2345 / _0.0000 / +1.2345 format
|
||||
const char* ftostr54sign(const_float_t x, char plus=' ');
|
||||
|
||||
// Convert unsigned float to rj string with 12345 format
|
||||
const char* ftostr5rj(const_float_t x);
|
||||
|
||||
// Convert signed float to string with +1234.5 format
|
||||
// Convert signed float to fixed-length string with +12.3 / -12.3 format
|
||||
const char* ftostr31sign(const_float_t x);
|
||||
|
||||
// Convert signed float to fixed-length string with +123.4 / -123.4 format
|
||||
const char* ftostr41sign(const_float_t x);
|
||||
|
||||
// Convert signed float to fixed-length string with +1234.5 format
|
||||
const char* ftostr51sign(const_float_t x);
|
||||
|
||||
// Convert signed float to space-padded string with -_23.4_ format
|
||||
|
@ -110,23 +122,41 @@ const char* ftostr52sp(const_float_t x);
|
|||
// Convert signed float to string with +123.45 format
|
||||
const char* ftostr52sign(const_float_t x);
|
||||
|
||||
// Convert signed float to string with +12.345 format
|
||||
const char* ftostr53sign(const_float_t f);
|
||||
// Convert unsigned float to string with _2.3 / 12.3 format
|
||||
const char* ftostr31rj(const_float_t x);
|
||||
|
||||
// Convert unsigned float to string with 12345.6 format omitting trailing zeros
|
||||
// Convert unsigned float to string with __3.4 / _23.4 / 123.4 format
|
||||
const char* ftostr41rj(const_float_t x);
|
||||
|
||||
// Convert unsigned float to string with ___4.5 / __34.5 / _234.5 / 1234.5 format
|
||||
const char* ftostr51rj(const_float_t x);
|
||||
|
||||
// Convert unsigned float to string with ____5.6 / ___45.6 / __345.6 / _2345.6 / 12345.6 format
|
||||
const char* ftostr61rj(const_float_t x);
|
||||
|
||||
// Convert unsigned float to string with 12345.67 format omitting trailing zeros
|
||||
// Convert unsigned float to string with 1.23 format
|
||||
const char* ftostr32rj(const_float_t f);
|
||||
|
||||
// Convert unsigned float to string with _2.34, 12.34 format
|
||||
const char* ftostr42rj(const_float_t f);
|
||||
|
||||
// Convert unsigned float to string with __3.45, _23.45, 123.45 format
|
||||
const char* ftostr52rj(const_float_t f);
|
||||
|
||||
// Convert unsigned float to string with ___4.56, __34.56, _234.56, 1234.56 format
|
||||
const char* ftostr62rj(const_float_t f);
|
||||
|
||||
// Convert unsigned float to string with ____5.67, ___45.67, __345.67, _2345.67, 12345.67 format
|
||||
const char* ftostr72rj(const_float_t x);
|
||||
|
||||
// Convert float to rj string with 123 or -12 format
|
||||
// Convert signed float to rj string with 123 or -12 format
|
||||
FORCE_INLINE const char* ftostr3rj(const_float_t x) { return i16tostr3rj(int16_t(x + (x < 0 ? -0.5f : 0.5f))); }
|
||||
|
||||
#if ENABLED(LCD_DECIMAL_SMALL_XY)
|
||||
// Convert float to rj string with 1234, _123, 12.3, _1.2, -123, _-12, or -1.2 format
|
||||
// Convert signed float to rj string with 1234, _123, 12.3, _1.2, -123, _-12, or -1.2 format
|
||||
const char* ftostr4sign(const_float_t fx);
|
||||
#else
|
||||
// Convert float to rj string with 1234, _123, -123, __12, _-12, ___1, or __-1 format
|
||||
// Convert signed float to rj string with 1234, _123, -123, __12, _-12, ___1, or __-1 format
|
||||
FORCE_INLINE const char* ftostr4sign(const_float_t x) { return i16tostr4signrj(int16_t(x + (x < 0 ? -0.5f : 0.5f))); }
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue