diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2021-08-05 14:25:53 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2021-08-06 13:12:49 -0400 |
commit | 33dcb3829717102f5243ad805f3ee09d52c0c9cf (patch) | |
tree | 9cbbb18a4ce6bfebc54a60a395630c17e94849e9 /klippy/extras/tmc2660.py | |
parent | a52a627893071c0e68cd033ff4e745f017532ca2 (diff) | |
download | kutter-33dcb3829717102f5243ad805f3ee09d52c0c9cf.tar.gz kutter-33dcb3829717102f5243ad805f3ee09d52c0c9cf.tar.xz kutter-33dcb3829717102f5243ad805f3ee09d52c0c9cf.zip |
tmc: Consistently use lower case for all TMC field names
The Trinamic specs aren't consistent with upper vs lower case, which
can be confusing. Improve clarity by using lower case names
consistently in the code. Register names will continue to use all
upper case naming in the code.
Update the SET_TMC_FIELD command to automatically convert field names
to lower case.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/tmc2660.py')
-rw-r--r-- | klippy/extras/tmc2660.py | 102 |
1 files changed, 51 insertions, 51 deletions
diff --git a/klippy/extras/tmc2660.py b/klippy/extras/tmc2660.py index a91a42d3..3376f724 100644 --- a/klippy/extras/tmc2660.py +++ b/klippy/extras/tmc2660.py @@ -17,19 +17,19 @@ ReadRegisters = [ "READRSP@RDSEL0", "READRSP@RDSEL1", "READRSP@RDSEL2" ] Fields = {} Fields["DRVCTRL"] = { - "MRES": 0x0f, - "DEDGE": 0x01 << 8, + "mres": 0x0f, + "dedge": 0x01 << 8, "intpol": 0x01 << 9, } Fields["CHOPCONF"] = { "toff": 0x0f, - "HSTRT": 0x7 << 4, - "HEND": 0x0f << 7, - "HDEC": 0x03 << 11, - "RNDTF": 0x01 << 13, - "CHM": 0x01 << 14, - "TBL": 0x03 << 15 + "hstrt": 0x7 << 4, + "hend": 0x0f << 7, + "hdec": 0x03 << 11, + "rndtf": 0x01 << 13, + "chm": 0x01 << 14, + "tbl": 0x03 << 15 } Fields["SMARTEN"] = { @@ -41,24 +41,24 @@ Fields["SMARTEN"] = { } Fields["SGCSCONF"] = { - "CS": 0x1f, + "cs": 0x1f, "sgt": 0x7F << 8, "sfilt": 0x01 << 16 } Fields["DRVCONF"] = { - "RDSEL": 0x03 << 4, - "VSENSE": 0x01 << 6, - "SDOFF": 0x01 << 7, - "TS2G": 0x03 << 8, - "DISS2G": 0x01 << 10, - "SLPL": 0x03 << 12, - "SLPH": 0x03 << 14, - "TST": 0x01 << 16 + "rdsel": 0x03 << 4, + "vsense": 0x01 << 6, + "sdoff": 0x01 << 7, + "ts2g": 0x03 << 8, + "diss2g": 0x01 << 10, + "slpl": 0x03 << 12, + "slph": 0x03 << 14, + "tst": 0x01 << 16 } Fields["READRSP@RDSEL0"] = { - "stallGuard": 0x01 << 4, + "stallguard": 0x01 << 4, "ot": 0x01 << 5, "otpw": 0x01 << 6, "s2ga": 0x01 << 7, @@ -66,11 +66,11 @@ Fields["READRSP@RDSEL0"] = { "ola": 0x01 << 9, "olb": 0x01 << 10, "stst": 0x01 << 11, - "MSTEP": 0x3ff << 14 + "mstep": 0x3ff << 14 } Fields["READRSP@RDSEL1"] = { - "stallGuard": 0x01 << 4, + "stallguard": 0x01 << 4, "ot": 0x01 << 5, "otpw": 0x01 << 6, "s2ga": 0x01 << 7, @@ -78,11 +78,11 @@ Fields["READRSP@RDSEL1"] = { "ola": 0x01 << 9, "olb": 0x01 << 10, "stst": 0x01 << 11, - "SG_RESULT": 0x3ff << 14 + "sg_result": 0x3ff << 14 } Fields["READRSP@RDSEL2"] = { - "stallGuard": 0x01 << 4, + "stallguard": 0x01 << 4, "ot": 0x01 << 5, "otpw": 0x01 << 6, "s2ga": 0x01 << 7, @@ -90,20 +90,20 @@ Fields["READRSP@RDSEL2"] = { "ola": 0x01 << 9, "olb": 0x01 << 10, "stst": 0x01 << 11, - "SE": 0x1f << 14, - "SG_RESULT@RDSEL2": 0x1f << 19 + "se": 0x1f << 14, + "sg_result@rdsel2": 0x1f << 19 } SignedFields = ["sgt"] FieldFormatters = dict(tmc2130.FieldFormatters) FieldFormatters.update({ - "DEDGE": (lambda v: "1(Both Edges Active!)" if v else ""), - "CHM": (lambda v: "1(constant toff)" if v else "0(spreadCycle)"), - "VSENSE": (lambda v: "1(165mV)" if v else "0(305mV)"), - "SDOFF": (lambda v: "1(Step/Dir disabled!)" if v else ""), - "DISS2G": (lambda v: "1(Short to GND disabled!)" if v else ""), - "SE": (lambda v: ("%d" % v) if v else "0(Reset?)"), + "dedge": (lambda v: "1(Both Edges Active!)" if v else ""), + "chm": (lambda v: "1(constant toff)" if v else "0(spreadCycle)"), + "vsense": (lambda v: "1(165mV)" if v else "0(305mV)"), + "sdoff": (lambda v: "1(Step/Dir disabled!)" if v else ""), + "diss2g": (lambda v: "1(Short to GND disabled!)" if v else ""), + "se": (lambda v: ("%d" % v) if v else "0(Reset?)"), }) @@ -123,8 +123,8 @@ class TMC2660CurrentHelper: maxval=MAX_CURRENT) self.sense_resistor = config.getfloat('sense_resistor') vsense, cs = self._calc_current(self.current) - self.fields.set_field("CS", cs) - self.fields.set_field("VSENSE", vsense) + self.fields.set_field("cs", cs) + self.fields.set_field("vsense", vsense) # Register ready/printing handlers self.idle_current_percentage = config.getint( @@ -161,11 +161,11 @@ class TMC2660CurrentHelper: def _update_current(self, current, print_time): vsense, cs = self._calc_current(current) - val = self.fields.set_field("CS", cs) + val = self.fields.set_field("cs", cs) self.mcu_tmc.set_register("SGCSCONF", val, print_time) # Only update VSENSE if we need to - if vsense != self.fields.get_field("VSENSE"): - val = self.fields.set_field("VSENSE", vsense) + if vsense != self.fields.get_field("vsense"): + val = self.fields.set_field("vsense", vsense) self.mcu_tmc.set_register("DRVCONF", val, print_time) def get_current(self): @@ -196,8 +196,8 @@ class MCU_TMC2660_SPI: if self.printer.get_start_args().get('debugoutput') is not None: return 0 with self.mutex: - old_rdsel = self.fields.get_field("RDSEL") - val = self.fields.set_field("RDSEL", new_rdsel) + old_rdsel = self.fields.get_field("rdsel") + val = self.fields.set_field("rdsel", new_rdsel) msg = [((val >> 16) | reg) & 0xff, (val >> 8) & 0xff, val & 0xff] if new_rdsel != old_rdsel: # Must set RDSEL value first @@ -223,7 +223,7 @@ class TMC2660: def __init__(self, config): # Setup mcu communication self.fields = tmc.FieldHelper(Fields, SignedFields, FieldFormatters) - self.fields.set_field("SDOFF", 0) # Access DRVCTRL in step/dir mode + self.fields.set_field("sdoff", 0) # Access DRVCTRL in step/dir mode self.mcu_tmc = MCU_TMC2660_SPI(config, Registers, self.fields) # Register commands current_helper = TMC2660CurrentHelper(config, self.mcu_tmc) @@ -236,16 +236,16 @@ class TMC2660: self.get_phase = mh.get_phase # CHOPCONF set_config_field = self.fields.set_config_field - set_config_field(config, "TBL", 2) - set_config_field(config, "RNDTF", 0) - set_config_field(config, "HDEC", 0) - set_config_field(config, "CHM", 0) - set_config_field(config, "HEND", 3) - set_config_field(config, "HSTRT", 3) + set_config_field(config, "tbl", 2) + set_config_field(config, "rndtf", 0) + set_config_field(config, "hdec", 0) + set_config_field(config, "chm", 0) + set_config_field(config, "hend", 3) + set_config_field(config, "hstrt", 3) set_config_field(config, "toff", 4) - if not self.fields.get_field("CHM"): - if (self.fields.get_field("HSTRT") + - self.fields.get_field("HEND")) > 15: + if not self.fields.get_field("chm"): + if (self.fields.get_field("hstrt") + + self.fields.get_field("hend")) > 15: raise config.error("driver_HEND + driver_HSTRT must be <= 15") # SMARTEN set_config_field(config, "seimin", 0) @@ -259,10 +259,10 @@ class TMC2660: set_config_field(config, "sgt", 0) # DRVCONF - set_config_field(config, "SLPH", 0) - set_config_field(config, "SLPL", 0) - set_config_field(config, "DISS2G", 0) - set_config_field(config, "TS2G", 3) + set_config_field(config, "slph", 0) + set_config_field(config, "slpl", 0) + set_config_field(config, "diss2g", 0) + set_config_field(config, "ts2g", 3) def load_config_prefix(config): return TMC2660(config) |