From 32f974e7e549ab4e44e2f69efb0c6c1187d47f9b Mon Sep 17 00:00:00 2001 From: Gabriel Couchenour <81648551+shaggysa@users.noreply.github.com> Date: Fri, 19 Sep 2025 21:53:37 -0500 Subject: [PATCH] Robotics.py: Fix issue with the type stub for DriveBase.angle() (#165) The type was changed from `int` to `float` in https://github.com/pybricks/pybricks-micropython/commit/4d457a17fc13d42d9b311df99e05dafaeed67862. Technically, it is still `int` on BOOST Move hub (any system without floating point support). But most platforms use `float` so makes sense to have that in the type hints. --- CHANGELOG.md | 4 ++++ jedi/tests/test_get_signature.py | 2 +- src/pybricks/robotics.py | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 780f2da..c078141 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ ## Unreleased +### Fixed + +- Fixed `DriveBase.angle` reporting an incorrect return type. + ## 3.6.1 - 2025-05-01 ### Fixed diff --git a/jedi/tests/test_get_signature.py b/jedi/tests/test_get_signature.py index 426b30d..a2aa1aa 100644 --- a/jedi/tests/test_get_signature.py +++ b/jedi/tests/test_get_signature.py @@ -1020,7 +1020,7 @@ METHOD_PARAMS = [ pytest.param("pybricks.robotics", "DriveBase", "stop", [([], "None")]), pytest.param("pybricks.robotics", "DriveBase", "brake", [([], "None")]), pytest.param("pybricks.robotics", "DriveBase", "distance", [([], "int")]), - pytest.param("pybricks.robotics", "DriveBase", "angle", [([], "int")]), + pytest.param("pybricks.robotics", "DriveBase", "angle", [([], "float")]), pytest.param( "pybricks.robotics", "DriveBase", "state", [([], "Tuple[int, int, int, int]")] ), diff --git a/src/pybricks/robotics.py b/src/pybricks/robotics.py index 8dd36c7..d18004b 100644 --- a/src/pybricks/robotics.py +++ b/src/pybricks/robotics.py @@ -101,8 +101,8 @@ class DriveBase: Driven distance since last reset. """ - def angle(self) -> int: - """angle() -> int: deg + def angle(self) -> float: + """angle() -> float: deg Gets the estimated rotation angle of the drive base.