Hello everyone, I’ve been trying the calibration to do something rather extreme: Abuse it to utilize a MT6701 as a sensor on the side of the magnet instead of the bottom. This has not worked so far, but I have found some curious things along the way.
Firstly, I have discovered that the LUT will in reality only ever have n_ticks * pole_pairs steps in it, even if the user creates say a CalibratedSensor sensor_calibrated = CalibratedSensor(sensor, 500);. n_ticks is hardcoded to be 5, so on a 7 pole pair motor there will only ever be 35 steps in the LUT.
I have plotted what happens if one increases the amount of LUT points (or leaves them at the default 200) when only 35 steps will ever happen:
There are many redundant points in the LUT and the LUT smoothness is jeopardized by the artificial super-resolution that applies no interpolation. With the current code anything but a LUT size of 5 * pole_pairs will actively harm performance.
— as a new user I can only post one media per post, so to be continued in post two —
