pi-top-Python-SDK
pi-top-Python-SDK copied to clipboard
Handle component calibration using miniscreen
Improve how the calibration process is currently performed. For now, only the pan tilt component needs to run a calibration, to align the mechanical zero-point to the software zero-point setting; this runs interactively requesting input from the user in the terminal, which is not great.
The proposal is to use the miniscreen and buttons to perform the calibration process, moving the pan tilt with the buttons, displaying feedback to the user in the OLED, and storing the position of the servo as zero whenever the SELECT button is pressed.
There are 2 approaches that we can use:
- Run the calibration in a separate program (e.g: using the CLI / or some other script we provide).
- Run it when the
calibrationmethod is called with the correct arguments.
Also, consider that other components might need some kind of calibration, such as the camera, IMU, ...
I think that we should think about calibration as a CLI tool, rather than something that is programmed into the API. This allows us to simply say "this will overtake the miniscreen and buttons", and just handle it that way.
Perhaps @duwudi has some thoughts on this, as he's been looking at some camera calibration stuff?