Simplify counting of printable characters
This commit is contained in:
parent
8d69394ae1
commit
4a96433b7e
|
@ -127,7 +127,6 @@
|
|||
#define DECIMAL(a) (NUMERIC(a) || a == '.')
|
||||
#define NUMERIC_SIGNED(a) (NUMERIC(a) || (a) == '-' || (a) == '+')
|
||||
#define DECIMAL_SIGNED(a) (DECIMAL(a) || (a) == '-' || (a) == '+')
|
||||
#define PRINTABLE(C) (((C) & 0xC0u) != 0x80u)
|
||||
#define COUNT(a) (sizeof(a)/sizeof(*a))
|
||||
#define ZERO(a) memset(a,0,sizeof(a))
|
||||
#define COPY(a,b) memcpy(a,b,min(sizeof(a),sizeof(b)))
|
||||
|
|
|
@ -3885,11 +3885,7 @@ void lcd_init() {
|
|||
int lcd_strlen(const char* s) {
|
||||
int i = 0, j = 0;
|
||||
while (s[i]) {
|
||||
#if ENABLED(MAPPER_NON)
|
||||
j++;
|
||||
#else
|
||||
if (PRINTABLE(s[i])) j++;
|
||||
#endif
|
||||
if (PRINTABLE(s[i])) j++;
|
||||
i++;
|
||||
}
|
||||
return j;
|
||||
|
@ -3898,11 +3894,7 @@ int lcd_strlen(const char* s) {
|
|||
int lcd_strlen_P(const char* s) {
|
||||
int j = 0;
|
||||
while (pgm_read_byte(s)) {
|
||||
#if ENABLED(MAPPER_NON)
|
||||
j++;
|
||||
#else
|
||||
if (PRINTABLE(pgm_read_byte(s))) j++;
|
||||
#endif
|
||||
if (PRINTABLE(pgm_read_byte(s))) j++;
|
||||
s++;
|
||||
}
|
||||
return j;
|
||||
|
@ -4167,11 +4159,7 @@ void lcd_update() {
|
|||
void set_utf_strlen(char* s, uint8_t n) {
|
||||
uint8_t i = 0, j = 0;
|
||||
while (s[i] && (j < n)) {
|
||||
#if ENABLED(MAPPER_NON)
|
||||
j++;
|
||||
#else
|
||||
if (PRINTABLE(s[i])) j++;
|
||||
#endif
|
||||
if (PRINTABLE(s[i])) j++;
|
||||
i++;
|
||||
}
|
||||
while (j++ < n) s[i++] = ' ';
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#ifndef UTF_MAPPER_H
|
||||
#define UTF_MAPPER_H
|
||||
|
||||
#include "language.h"
|
||||
#include "language.h"
|
||||
|
||||
#if ENABLED(DOGLCD)
|
||||
#define HARDWARE_CHAR_OUT u8g.print
|
||||
|
@ -144,6 +144,8 @@
|
|||
#endif // DISPLAY_CHARSET_HD44780
|
||||
#endif // SIMULATE_ROMFONT
|
||||
|
||||
#define PRINTABLE(C) (((C) & 0xC0u) != 0x80u)
|
||||
|
||||
#if ENABLED(MAPPER_C2C3)
|
||||
|
||||
char charset_mapper(const char c) {
|
||||
|
@ -466,8 +468,11 @@
|
|||
|
||||
#define MAPPER_NON
|
||||
|
||||
#undef PRINTABLE
|
||||
#define PRINTABLE(C) true
|
||||
|
||||
char charset_mapper(const char c) {
|
||||
HARDWARE_CHAR_OUT( c );
|
||||
HARDWARE_CHAR_OUT(c);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue