diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2021-08-25 10:36:45 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2021-08-25 10:36:45 -0400 |
commit | 84ac5b0146cbcec46419d4636b949f144992072e (patch) | |
tree | 81aaefd6ea5f939b9ad23935bdfbfaf4eefcb3b3 /klippy/extras | |
parent | 75183bfb86c7003d3bac0116dba7765e4a4ab241 (diff) | |
download | kutter-84ac5b0146cbcec46419d4636b949f144992072e.tar.gz kutter-84ac5b0146cbcec46419d4636b949f144992072e.tar.xz kutter-84ac5b0146cbcec46419d4636b949f144992072e.zip |
configfile: Support config.getchoice() with integer keys
If the choice mapping uses integer keys then lookup the config option
using self.getint(). This simplifies the callers and improves the
encoding of the printer.configfile.settings export.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras')
-rw-r--r-- | klippy/extras/display/hd44780.py | 12 | ||||
-rw-r--r-- | klippy/extras/display/hd44780_spi.py | 12 | ||||
-rw-r--r-- | klippy/extras/spi_temperature.py | 12 | ||||
-rw-r--r-- | klippy/extras/tmc.py | 7 |
4 files changed, 20 insertions, 23 deletions
diff --git a/klippy/extras/display/hd44780.py b/klippy/extras/display/hd44780.py index 7d7b5c6b..ea161348 100644 --- a/klippy/extras/display/hd44780.py +++ b/klippy/extras/display/hd44780.py @@ -7,8 +7,8 @@ import logging BACKGROUND_PRIORITY_CLOCK = 0x7fffffff00000000 -LINE_LENGTH_DEFAULT="20" -LINE_LENGTH_OPTIONS={"16":16, "20":20} +LINE_LENGTH_DEFAULT=20 +LINE_LENGTH_OPTIONS={16:16, 20:20} TextGlyphs = { 'right_arrow': '\x7e' } @@ -22,9 +22,9 @@ class HD44780: pins = [ppins.lookup_pin(config.get(name + '_pin')) for name in ['rs', 'e', 'd4', 'd5', 'd6', 'd7']] self.hd44780_protocol_init = config.getboolean('hd44780_protocol_init', - True) + True) self.line_length = config.getchoice('line_length', LINE_LENGTH_OPTIONS, - LINE_LENGTH_DEFAULT) + LINE_LENGTH_DEFAULT) mcu = None for pin_params in pins: if mcu is not None and pin_params['chip'] != mcu: @@ -43,9 +43,9 @@ class HD44780: self.all_framebuffers = [ # Text framebuffers (self.text_framebuffers[0], bytearray('~'*2*self.line_length), - 0x80), + 0x80), (self.text_framebuffers[1], bytearray('~'*2*self.line_length), - 0xc0), + 0xc0), # Glyph framebuffer (self.glyph_framebuffer, bytearray('~'*64), 0x40) ] def build_config(self): diff --git a/klippy/extras/display/hd44780_spi.py b/klippy/extras/display/hd44780_spi.py index a935a832..97edef31 100644 --- a/klippy/extras/display/hd44780_spi.py +++ b/klippy/extras/display/hd44780_spi.py @@ -8,8 +8,8 @@ import logging from .. import bus -LINE_LENGTH_DEFAULT="20" -LINE_LENGTH_OPTIONS={"16":16, "20":20} +LINE_LENGTH_DEFAULT=20 +LINE_LENGTH_OPTIONS={16:16, 20:20} TextGlyphs = { 'right_arrow': '\x7e' } @@ -19,7 +19,7 @@ class hd44780_spi: def __init__(self, config): self.printer = config.get_printer() self.hd44780_protocol_init = config.getboolean('hd44780_protocol_init', - True) + True) # spi config self.spi = bus.MCU_SPI_from_config( config, 0x00, pin_option="latch_pin") @@ -31,7 +31,7 @@ class hd44780_spi: self.icons = {} self.line_length = config.getchoice('line_length', LINE_LENGTH_OPTIONS, - LINE_LENGTH_DEFAULT) + LINE_LENGTH_DEFAULT) # framebuffers self.text_framebuffers = [bytearray(' '*2*self.line_length), @@ -40,9 +40,9 @@ class hd44780_spi: self.all_framebuffers = [ # Text framebuffers (self.text_framebuffers[0], bytearray('~'*2*self.line_length), - 0x80), + 0x80), (self.text_framebuffers[1], bytearray('~'*2*self.line_length), - 0xc0), + 0xc0), # Glyph framebuffer (self.glyph_framebuffer, bytearray('~'*64), 0x40) ] def send_4_bits(self, cmd, is_data, minclock): diff --git a/klippy/extras/spi_temperature.py b/klippy/extras/spi_temperature.py index 31efea58..1a45a624 100644 --- a/klippy/extras/spi_temperature.py +++ b/klippy/extras/spi_temperature.py @@ -167,13 +167,13 @@ class MAX31856(SensorBase): } value = config.getchoice('tc_type', types, default="K") averages = { - "1" : MAX31856_CR1_AVGSEL1, - "2" : MAX31856_CR1_AVGSEL2, - "4" : MAX31856_CR1_AVGSEL4, - "8" : MAX31856_CR1_AVGSEL8, - "16" : MAX31856_CR1_AVGSEL16 + 1 : MAX31856_CR1_AVGSEL1, + 2 : MAX31856_CR1_AVGSEL2, + 4 : MAX31856_CR1_AVGSEL4, + 8 : MAX31856_CR1_AVGSEL8, + 16 : MAX31856_CR1_AVGSEL16 } - value |= config.getchoice('tc_averaging_count', averages, "1") + value |= config.getchoice('tc_averaging_count', averages, 1) cmds.append(value) value = (MAX31856_MASK_VOLTAGE_UNDER_OVER_FAULT | diff --git a/klippy/extras/tmc.py b/klippy/extras/tmc.py index d849c1bb..0279a040 100644 --- a/klippy/extras/tmc.py +++ b/klippy/extras/tmc.py @@ -472,11 +472,8 @@ def TMCMicrostepHelper(config, mcu_tmc): and config.get('microsteps', None, note_valid=False) is not None): # Older config format with microsteps in tmc config section ms_config = config - ms = ms_config.getint('microsteps') - mres = {256: 0, 128: 1, 64: 2, 32: 3, 16: 4, 8: 5, 4: 6, 2: 7, 1: 8}.get(ms) - if mres is None: - raise config.error("Invalid '%s' microstep setting (%d)" - % (config.get_name(), ms)) + steps = {256: 0, 128: 1, 64: 2, 32: 3, 16: 4, 8: 5, 4: 6, 2: 7, 1: 8} + mres = ms_config.getchoice('microsteps', steps) fields.set_field("mres", mres) fields.set_field("intpol", config.getboolean("interpolate", True)) |