Merge pull request #1276 from thinkyhead/lcd_z_reformat
Format Z like XY on LCD
This commit is contained in:
commit
878b5557a1
3 changed files with 48 additions and 2 deletions
|
@ -1496,7 +1496,52 @@ char *ftostr12ns(const float &x)
|
||||||
return conv;
|
return conv;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert int to lj string with +123.0 format
|
// convert float to space-padded string with -_23.4_ format
|
||||||
|
char *ftostr32sp(const float &x) {
|
||||||
|
long xx = abs(x * 100);
|
||||||
|
uint8_t dig;
|
||||||
|
|
||||||
|
if (x < 0) { // negative val = -_0
|
||||||
|
conv[0] = '-';
|
||||||
|
dig = (xx / 1000) % 10;
|
||||||
|
conv[1] = dig ? '0' + dig : ' ';
|
||||||
|
}
|
||||||
|
else { // positive val = __0
|
||||||
|
dig = (xx / 10000) % 10;
|
||||||
|
if (dig) {
|
||||||
|
conv[0] = '0' + dig;
|
||||||
|
conv[1] = '0' + (xx / 1000) % 10;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
conv[0] = ' ';
|
||||||
|
dig = (xx / 1000) % 10;
|
||||||
|
conv[1] = dig ? '0' + dig : ' ';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
conv[2] = '0' + (xx / 100) % 10; // lsd always
|
||||||
|
|
||||||
|
dig = xx % 10;
|
||||||
|
if (dig) { // 2 decimal places
|
||||||
|
conv[5] = '0' + dig;
|
||||||
|
conv[4] = '0' + (xx / 10) % 10;
|
||||||
|
conv[3] = '.';
|
||||||
|
}
|
||||||
|
else { // 1 or 0 decimal place
|
||||||
|
dig = (xx / 10) % 10;
|
||||||
|
if (dig) {
|
||||||
|
conv[4] = '0' + dig;
|
||||||
|
conv[3] = '.';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
conv[3] = conv[4] = ' ';
|
||||||
|
}
|
||||||
|
conv[5] = ' ';
|
||||||
|
}
|
||||||
|
conv[6] = '\0';
|
||||||
|
return conv;
|
||||||
|
}
|
||||||
|
|
||||||
char *itostr31(const int &xx)
|
char *itostr31(const int &xx)
|
||||||
{
|
{
|
||||||
conv[0]=(xx>=0)?'+':'-';
|
conv[0]=(xx>=0)?'+':'-';
|
||||||
|
|
|
@ -119,6 +119,7 @@ char *ftostr31ns(const float &x); // float to string without sign character
|
||||||
char *ftostr31(const float &x);
|
char *ftostr31(const float &x);
|
||||||
char *ftostr32(const float &x);
|
char *ftostr32(const float &x);
|
||||||
char *ftostr12ns(const float &x);
|
char *ftostr12ns(const float &x);
|
||||||
|
char *ftostr32sp(const float &x); // remove zero-padding from ftostr32
|
||||||
char *ftostr5(const float &x);
|
char *ftostr5(const float &x);
|
||||||
char *ftostr51(const float &x);
|
char *ftostr51(const float &x);
|
||||||
char *ftostr52(const float &x);
|
char *ftostr52(const float &x);
|
||||||
|
|
|
@ -548,7 +548,7 @@ static void lcd_implementation_status_screen()
|
||||||
# endif//LCD_WIDTH > 19
|
# endif//LCD_WIDTH > 19
|
||||||
lcd.setCursor(LCD_WIDTH - 8, 1);
|
lcd.setCursor(LCD_WIDTH - 8, 1);
|
||||||
lcd.print('Z');
|
lcd.print('Z');
|
||||||
lcd.print(ftostr32(current_position[Z_AXIS] + 0.00001));
|
lcd.print(ftostr32sp(current_position[Z_AXIS] + 0.00001));
|
||||||
#endif//LCD_HEIGHT > 2
|
#endif//LCD_HEIGHT > 2
|
||||||
|
|
||||||
#if LCD_HEIGHT > 3
|
#if LCD_HEIGHT > 3
|
||||||
|
|
Reference in a new issue