aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/display/display.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2020-06-08 17:21:42 -0400
committerKevin O'Connor <kevin@koconnor.net>2020-06-08 21:40:42 -0400
commit1a7e4e51b32bb4eead6eab111293ced012871414 (patch)
tree90fa0c7fb432827396666d125ee65cceabea1c93 /klippy/extras/display/display.py
parentd94dd8e9fdb1bde245216ada4cfd2e16bf51c4e1 (diff)
downloadkutter-1a7e4e51b32bb4eead6eab111293ced012871414.tar.gz
kutter-1a7e4e51b32bb4eead6eab111293ced012871414.tar.xz
kutter-1a7e4e51b32bb4eead6eab111293ced012871414.zip
display: Use '.' and '*' in display_glyph description
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
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):