tmc2130: Add support for two's complement signed fields to FieldHelper

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor
2019-05-29 09:14:21 -04:00
parent 2cff3291c0
commit 6903ab87ca
4 changed files with 31 additions and 24 deletions

View File

@@ -211,8 +211,9 @@ fields["TSTEP"] = {
"TSTEP": 0xfffff << 0
}
FieldFormatters = dict(tmc2130.FieldFormatters)
SignedFields = ["CUR_A", "CUR_B", "sgt", "XACTUAL", "VACTUAL", "PWM_SCALE_AUTO"]
FieldFormatters = dict(tmc2130.FieldFormatters)
FieldFormatters.update({
"reset": (lambda v: "1(reset)" if v else ""),
"drv_err": (lambda v: "1(ErrorShutdown!)" if v else ""),
@@ -274,7 +275,8 @@ class TMC5160:
self.cmd_INIT_TMC, desc=self.cmd_INIT_TMC_help)
# Setup basic register values
self.regs = collections.OrderedDict()
self.fields = tmc2130.FieldHelper(fields, FieldFormatters, self.regs)
self.fields = tmc2130.FieldHelper(fields, SignedFields, FieldFormatters,
self.regs)
irun, ihold, self.sense_resistor = get_config_current(config)
msteps, en_pwm, thresh = \
tmc2130.get_config_stealthchop(config, TMC_FREQUENCY)