From d8bd8901017f1f1b9c8f54d7d19f2d5158801136 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Lobodinsky=CC=81?= Date: Tue, 1 Mar 2022 20:00:53 +0100 Subject: [PATCH] pybricks.common: Charger, IMU and System auto-completion --- CHANGELOG.md | 3 +++ src/pybricks/_common.pyi | 15 +++++++++++++++ src/pybricks/hubs.pyi | 10 +++++++++- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f30f8fe..dcf1771 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ ## Unreleased +### Added +- Code auto-completion for `hub.charger`, `hub.imu` and `hub.system`. + ### Fixed - Fixed code completion for `DCMotor` and `Motor` classes in MS Python VS Code extension. - Fixed missing `DCMotor` type in `ev3devices`. diff --git a/src/pybricks/_common.pyi b/src/pybricks/_common.pyi index d514c19..cf4e454 100644 --- a/src/pybricks/_common.pyi +++ b/src/pybricks/_common.pyi @@ -7,6 +7,12 @@ from .geometry import Axis, Matrix, vector from .parameters import Button, Color, Direction, Side, Stop, Port +class System: + def set_stop_button(self, button: Button) -> None: ... + def shutdown(self) -> None: ... + def reset_reason(self) -> int: ... + def name(self) -> str: ... + class DCMotor: def __init__( self, port: Port, positive_direction: Direction = Direction.CLOCKWISE @@ -128,6 +134,15 @@ class Battery: def voltage(self) -> int: ... def current(self) -> int: ... +class Charger: + def connected(self) -> bool: ... + def status(self) -> int: ... + def current(self) -> int: ... + +class SimpleAccelerometer: + def acceleration(self) -> Tuple[int, int, int]: ... + def up(self) -> Side: ... + class Accelerometer: def neutral(self, top: Axis, front: Axis) -> None: ... @overload diff --git a/src/pybricks/hubs.pyi b/src/pybricks/hubs.pyi index c1b09c6..7c071ea 100644 --- a/src/pybricks/hubs.pyi +++ b/src/pybricks/hubs.pyi @@ -1,7 +1,7 @@ # SPDX-License-Identifier: MIT # Copyright (c) 2020 The Pybricks Authors -from ._common import Speaker, Battery, ColorLight, LightMatrix, Keypad +from ._common import Battery, ColorLight, Charger, IMU, Keypad, LightMatrix, SimpleAccelerometer, Speaker, System from .ev3dev._speaker import Speaker as EV3Speaker from .geometry import Axis from .media.ev3dev import Image @@ -17,17 +17,22 @@ class EV3Brick: class MoveHub: battery: Battery light: ColorLight + system: System + imu: SimpleAccelerometer class CityHub: battery: Battery light: ColorLight + system: System class TechnicHub: def __init__(self, top_size: Axis, front_side: Axis): ... battery: Battery light: ColorLight + system: System + imu: IMU class PrimeHub: @@ -37,6 +42,9 @@ class PrimeHub: display: LightMatrix buttons: Keypad speaker: Speaker + system: System + imu: IMU + charger: Charger class InventorHub(PrimeHub): ...