aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/display/display.py
diff options
context:
space:
mode:
Diffstat (limited to 'klippy/extras/display/display.py')
-rw-r--r--klippy/extras/display/display.py20
1 files changed, 10 insertions, 10 deletions
diff --git a/klippy/extras/display/display.py b/klippy/extras/display/display.py
index 880e0a32..78d6667c 100644
--- a/klippy/extras/display/display.py
+++ b/klippy/extras/display/display.py
@@ -147,16 +147,16 @@ class PrinterLCD:
glyph_name = dg.get_name()[len(dg_prefix):]
glyph_data = []
for line in dg.get('data').split('\n'):
- if line:
- line_val = int(line, 2)
- if line_val > 65535:
- raise config.error("Glyph line out of range for " + \
- "glyph %s maximum is 65535" % (glyph_name,))
- glyph_data.append(line_val)
- if len(glyph_data) < 16:
- raise config.error("Not enough lines for" + \
- "glyph %s, 16 lines are needed" % (glyph_name,))
- icons[dg.get_name()[len(dg_prefix):]] = glyph_data
+ line = line.strip().replace('.', '0').replace('*', '1')
+ if not line:
+ continue
+ if len(line) != 16 or line.replace('0', '').replace('1', ''):
+ raise config.error("Invalid glyph line in %s"
+ % (glyph_name,))
+ glyph_data.append(int(line, 2))
+ if len(glyph_data) != 16:
+ raise config.error("Glyph %s must be 16 lines" % (glyph_name,))
+ icons[glyph_name] = glyph_data
self.lcd_chip.set_glyphs(icons)
# Initialization
def handle_ready(self):