ui.screens.distance

Distance calibration screens.

Attributes

DISTANCE_MEASURE_RETRY

Classes

DistancePrepareScreen

Prepare screen for distance calibration.

DistanceDrivingScreen

Driving animation screen shown while robot moves.

DistanceMeasureScreen

Measure actual distance traveled.

DistanceConfirmResult

Result from DistanceConfirmScreen.

DistanceConfirmScreen

Confirm distance calibration results.

Module Contents

class ui.screens.distance.DistancePrepareScreen(requested_distance: float)

Bases: ui.screen.UIScreen[None]

Prepare screen for distance calibration.

Shows robot and target distance. Waits for button press to start.

title = 'Distance Calibration'
requested_distance
build() ui.widgets.Widget

Build the screen layout.

Called on every render. Return a Widget tree describing what to display.

async on_press()
class ui.screens.distance.DistanceDrivingScreen(requested_distance: float)

Bases: ui.screen.UIScreen[None]

Driving animation screen shown while robot moves.

This screen should be closed externally when driving completes.

title = 'Distance Calibration'
requested_distance
build() ui.widgets.Widget

Build the screen layout.

Called on every render. Return a Widget tree describing what to display.

ui.screens.distance.DISTANCE_MEASURE_RETRY
class ui.screens.distance.DistanceMeasureScreen(requested_distance: float, default_value: float | None = None, allow_retry: bool = False)

Bases: ui.screen.UIScreen[float]

Measure actual distance traveled.

Shows numeric keypad for entering measured distance. When allow_retry is set, an extra Retry button lets the operator re-drive (returning DISTANCE_MEASURE_RETRY) instead of entering a measurement — useful when the robot was moved after the drive.

title = 'Distance Calibration'
requested_distance
value
allow_retry = False
build() ui.widgets.Widget

Build the screen layout.

Called on every render. Return a Widget tree describing what to display.

async on_key(key: str)
async on_adjust(value: float)
async on_submit()
async on_retry()
class ui.screens.distance.DistanceConfirmResult

Result from DistanceConfirmScreen.

confirmed applies the trim. When confirmed is False the operator backed out: reenter distinguishes just fix the typed number (re-open the measurement keypad, keep the drive) from redo the whole calibration (reenter=False, drive again).

confirmed: bool
scale_factor: float
reenter: bool = False
class ui.screens.distance.DistanceConfirmScreen(requested: float, measured: float)

Bases: ui.screen.UIScreen[DistanceConfirmResult]

Confirm distance calibration results.

Shows requested, measured, scale factor, and adjustment percentage.

title = 'Distance Calibration'
requested
measured
property scale_factor: float
property adjustment: float
property is_good: bool
build() ui.widgets.Widget

Build the screen layout.

Called on every render. Return a Widget tree describing what to display.

async on_apply()
async on_reenter()
async on_retry()