tmc2130: Use FieldHelper() to set/get driver fields

Use the field helper to simplify the bit manipulation in the driver.
This also enables the extended DUMP_TMC output.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2019-02-21 11:35:58 -05:00
parent 328bd89fc1
commit 5bc47d9416
2 changed files with 106 additions and 57 deletions

View file

@ -168,26 +168,13 @@ Fields["PWM_AUTO"] = {
"PWM_GRAD_AUTO": 0xff << 16
}
FieldFormatters = {
"I_scale_analog": (lambda v: "1(ExtVREF)" if v else ""),
"shaft": (lambda v: "1(Reverse)" if v else ""),
"drv_err": (lambda v: "1(ErrorShutdown!)" if v else ""),
"uv_cp": (lambda v: "1(Undervoltage!)" if v else ""),
FieldFormatters = dict(tmc2130.FieldFormatters)
FieldFormatters.update({
"SEL_A": (lambda v: "%d(%s)" % (v, ["TMC222x", "TMC220x"][v])),
"VERSION": (lambda v: "%#x" % v),
"CUR_A": (lambda v: str(tmc2130.decode_signed_int(v, 9))),
"CUR_B": (lambda v: str(tmc2130.decode_signed_int(v, 9))),
"MRES": (lambda v: "%d(%dusteps)" % (v, 0x100 >> v)),
"otpw": (lambda v: "1(OvertempWarning!)" if v else ""),
"ot": (lambda v: "1(OvertempError!)" if v else ""),
"s2ga": (lambda v: "1(ShortToGND_A!)" if v else ""),
"s2gb": (lambda v: "1(ShortToGND_B!)" if v else ""),
"s2vsa": (lambda v: "1(LowSideShort_A!)" if v else ""),
"s2vsb": (lambda v: "1(LowSideShort_B!)" if v else ""),
"ola": (lambda v: "1(OpenLoad_A!)" if v else ""),
"olb": (lambda v: "1(OpenLoad_B!)" if v else ""),
"PWM_SCALE_AUTO": (lambda v: str(tmc2130.decode_signed_int(v, 9)))
}
"PWM_SCALE_AUTO": (lambda v: tmc2130.decode_signed_int(v, 9))
})
######################################################################