From b578693422ff68671a5819b714e2e8ba0af569cf Mon Sep 17 00:00:00 2001 From: Laurens Valk Date: Tue, 14 Jan 2020 17:34:04 +0100 Subject: [PATCH] doc/*/light: update to double colon reference This lets us drop the instances hack --- doc/api/hubs_cityhub.inc | 4 ++-- doc/api/hubs_ev3brick.inc | 4 ++-- doc/api/hubs_movehub.inc | 4 ++-- doc/api/pupdevices.rst | 8 ++++---- pybricks/_instances.py | 5 ++--- pybricks/pupdevices.py | 9 ++++++--- 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/doc/api/hubs_cityhub.inc b/doc/api/hubs_cityhub.inc index 44a8192..e2f5f8e 100644 --- a/doc/api/hubs_cityhub.inc +++ b/doc/api/hubs_cityhub.inc @@ -5,9 +5,9 @@ .. rubric:: Using the hub status light - .. automethod:: pybricks._instances.light.on + .. automethod:: pybricks.hubs::CityHub.light.on - .. automethod:: pybricks._instances.light.off + .. automethod:: pybricks.hubs::CityHub.light.off .. rubric:: Using the battery diff --git a/doc/api/hubs_ev3brick.inc b/doc/api/hubs_ev3brick.inc index d467184..7ff08ee 100644 --- a/doc/api/hubs_ev3brick.inc +++ b/doc/api/hubs_ev3brick.inc @@ -7,7 +7,7 @@ .. rubric:: Using the brick status light - .. automethod:: pybricks._instances.light.on + .. automethod:: pybricks.hubs::EV3Brick.light.on .. toggle-header:: :header: **Show/hide example** @@ -16,7 +16,7 @@ .. literalinclude:: ../../pybricks-projects/snippets/ev3/light_color/main.py - .. automethod:: pybricks._instances.light.off + .. automethod:: pybricks.hubs::EV3Brick.light.off .. rubric:: Using the speaker diff --git a/doc/api/hubs_movehub.inc b/doc/api/hubs_movehub.inc index b273e54..12992dc 100644 --- a/doc/api/hubs_movehub.inc +++ b/doc/api/hubs_movehub.inc @@ -3,9 +3,9 @@ .. rubric:: Using the hub status light - .. automethod:: pybricks._instances.light.on + .. automethod:: pybricks.hubs::MoveHub.light.on - .. automethod:: pybricks._instances.light.off + .. automethod:: pybricks.hubs::MoveHub.light.off .. rubric:: Using the battery diff --git a/doc/api/pupdevices.rst b/doc/api/pupdevices.rst index bedcc8b..33ccf9e 100644 --- a/doc/api/pupdevices.rst +++ b/doc/api/pupdevices.rst @@ -72,9 +72,9 @@ Color and Distance Sensor it off. If you use the sensor to measure something afterwards, the light automatically turns back on at the default color for that sensing method. - .. automethod:: pybricks._instances.light.on + .. automethod:: pybricks.pupdevices::ColorDistanceSensor.light.on - .. automethod:: pybricks._instances.light.off + .. automethod:: pybricks.pupdevices::ColorDistanceSensor.light.off Tilt Sensor @@ -98,8 +98,8 @@ Remote Control .. autoclass:: pybricks.pupdevices.RemoteControl :no-members: - .. automethod:: pybricks._instances.light.on + .. automethod:: pybricks.pupdevices::RemoteControl.light.on - .. automethod:: pybricks._instances.light.off + .. automethod:: pybricks.pupdevices::RemoteControl.light.off .. automethod:: pybricks._instances.buttons.pressed diff --git a/pybricks/_instances.py b/pybricks/_instances.py index 67dddf9..7c9425f 100644 --- a/pybricks/_instances.py +++ b/pybricks/_instances.py @@ -1,6 +1,6 @@ """Sphinx workaround to document instance attributes such as self.light""" -from .builtins import Motor, Battery, ColorLight, KeyPad, LightArray +from .builtins import Motor, KeyPad, LightArray from .parameters import Direction, Stop from types import ModuleType @@ -15,12 +15,11 @@ def make_instance(classdef): return mod -light = make_instance(ColorLight) - lights = make_instance(LightArray) buttons = make_instance(KeyPad) + class Motor(Motor): """Generic class to control motors with built-in rotation sensors.""" diff --git a/pybricks/pupdevices.py b/pybricks/pupdevices.py index 73f6aaf..7494c8b 100644 --- a/pybricks/pupdevices.py +++ b/pybricks/pupdevices.py @@ -11,6 +11,9 @@ class Motor(CommonMotor): class RemoteControl(): """LEGO® Powered Up Bluetooth Remote Control/Handset (6214560)""" + light = ColorLight() + buttons = KeyPad() + def __init__(self, device=None, timeout=10000): """Connect the handset to the hub. @@ -22,8 +25,7 @@ class RemoteControl(): timeout (:ref:`time`): The amount of time before giving up searching. """ - self.buttons = KeyPad() - self.light = ColorLight() + pass class TiltSensor(Accelerometer): @@ -41,13 +43,14 @@ class TiltSensor(Accelerometer): class ColorDistanceSensor(): """LEGO® Powered Up Color and Distance Sensor (?/6182145)""" + light = ColorLight() + def __init__(self, port): """ColorDistanceSensor(port) Arguments: port (Port): Port to which the sensor is connected. """ - self.light = ColorLight() pass def color(self):