Commit Graph
83 Commits
Author SHA1 Message Date
Laurens Valk 6875e6ff42 config: drop _instances for methods
This is no longer needed with the double colon reference to link to class instances.
2020-01-14 17:47:47 +01:00
Laurens Valk 02d64775af doc/*/button: update to double colon reference
This lets us drop the instances hack
2020-01-14 17:37:07 +01:00
Laurens Valk b578693422 doc/*/light: update to double colon reference
This lets us drop the instances hack
2020-01-14 17:34:04 +01:00
Laurens Valk 6371ebb870 doc/battery: update to double colon reference
This lets us drop the instances hack
2020-01-14 17:15:41 +01:00
David Lechner 9c024e17c4 pybricks/builtins: update speaker methods
Update Speaker class with newly implemented methods
2020-01-13 20:14:49 -06:00
David Lechner 0398d04af9 pybricks/resources/image: add show_image() method 2020-01-13 20:12:50 -06:00
David Lechner c3e74273d2 pybricks/builtins: update Speaker docs 2020-01-13 12:59:21 -06:00
David Lechner ee0819adef pybricks/builtins: remove deprecated Display class
The Display class is from Pybricks MicroPython 1.0 and has been
replaced by the Image class.
2020-01-13 12:59:07 -06:00
David Lechner b4cd9113b5 doc/api/hubs_ev3brick: add Image class as EV3Brick.screen
This duplicates the Image class documentation In pybricks.ev3devices
as EV3Bricks.screen.
2020-01-13 12:59:07 -06:00
David Lechner f694de2277 pbyricks/resources: new Image and Font classes
This adds API and documentation for the pybricks.resources module
Image and Font classes.
2020-01-13 12:59:07 -06:00
Laurens Valk 220ad471b8 api/ev3devices: remove duplicate AnalogSensor
This has previously been moved to the iodevices class
2020-01-13 13:30:08 +01:00
Laurens Valk e244f28ddb api/builtins: drop method string override
We had these because enums expanded to numeric values. Because we now have an alternate enum implementation, we don't need these strings anymore.
2020-01-13 12:19:59 +01:00
David Lechner 1b426b90f7 pybricks/parameters: introduce _PybricksEnum class
This adds a _PybricksEnum base class for all enums. In Pybricks
MicroPython, we don't have an Enum class, but rather just simple
lookup tables.

The __repr__() method prints the enum values like the Pybricks
MicroPython implementation and also causes sphinx doc to correctly
print the value when used as a default value for aguments.

The __dir__() method is overloaded for both the instance and the class
to match what is seen in Pybricks MicroPython. This should help hide
things from code Python completion that are not present in MicroPython.
2020-01-11 21:08:24 -06:00
David Lechner 31a639f55b doc/api/conf.py: enable nitpicky
This enables the sphinx doc nitpicky option to detect broken references.

Also fix all of the broken references.
2020-01-11 21:08:20 -06:00
Laurens Valk 1bafa67979 api/iodevices: add Ev3devSensor 2020-01-09 22:21:42 +01:00
Laurens Valk 5a2d1f5406 api/iodevices: simplify LUMPDevice API
All these device can do is read or write values at a particular mode. There is also no need for separate mode setters.
2020-01-06 17:48:03 +01:00
Laurens Valk 09d453480b api/robotics: add DriveBase state getters 2020-01-02 16:51:50 +01:00
Laurens Valk 3d9a6f11cc api/robotics: add DriveBase draft
This is a concept for a DriveBase class for common robot tasks.
2020-01-02 16:36:37 +01:00
Laurens Valk af3954989a doc/iodevices: add note about EV3 compatibility.
Some iodevices are only available on EV3 (for now or forever).
2020-01-02 16:02:10 +01:00
Laurens Valk f73e7f08bc api/iodevices: add LUMPDevice
This can be used to interface with LPF2 and EV3 sensors that use the LEGO UART Messaging Protocol.
2020-01-02 15:53:44 +01:00
Laurens Valk 21a0b8766e api: rename customdevices to iodevices
These devices are not always custom. Rather, the classes in this module are very generic and apply to a wide range of input/output devices.
2020-01-01 16:41:29 +01:00
Laurens Valk 46dba95342 api/builtins: add DCMotor
This is a strict subset of Motor, covering functionality of DC motors only. This is useful for motors without encoders, such as train motors.

It is inherited by Motor, which adds functionality that requires encoders.
2020-01-01 13:18:41 +01:00
Laurens Valk 990527c12a api/builtins/Motor: update reset_angle text
Control+ motors have absolute encoders, but no marker on the shaft. This revises the text accordingly.
2019-12-28 14:07:39 +01:00
Laurens Valk d78db6aefb doc/customdevices: use correct default argument
Make it match the implementation.
2019-12-10 13:25:06 +01:00
Laurens Valk 893b23ce90 api/builtins/Speaker: add speech 2019-12-09 14:15:43 +01:00
Laurens Valk be1522ad04 api/builtins: Update speaker API
- Volume is a setting.
- Remove beeps method. To do multiple beeps, users can make their own loop.
- Rename file to play.
2019-12-09 13:13:06 +01:00
Laurens Valk 2e78033720 doc/devices: simplify motor docs, reduce detail
Previously, we simplified the docs for initializing a motor. This commit also simplifies the docstrings for common motor methods, by leaving out details and optional arguments. Full details are still available on the dedicated motor page.
2019-12-09 11:09:11 +01:00
Laurens Valk 184763e81a Revert "add option to enable/disable encoders"
Encoderless motors are more an exception than the rule, so they will get a separate class.

This reverts commit 6f68c60d3b.
2019-12-06 15:19:18 +01:00
Laurens Valk 1187f059fa api/customdevices: add UARTDevice 2019-12-06 14:57:43 +01:00
Laurens Valk 3143b28be1 doc/customdevices: remove custom init string
We only need this if the string is different from the auto-generated default, such as when we want to prevent expansion of an enum to a number.
2019-12-06 14:35:16 +01:00
Laurens Valk 4086ee67ac api/customdevices: use bytes for I2C
This is a more natural data type than tuples or ints for this class.
2019-12-06 14:31:53 +01:00
Laurens Valk e6a1ae78ca doc+api/customdevices: add I2CDevice 2019-11-14 12:56:53 +01:00
Laurens Valk 653aa669b2 doc+api/customdevices: move AnalogSensor
Generic and custom devices like the AnalogSensor will live in a dedicated module.
2019-11-14 08:47:30 +01:00
Laurens Valk 6f68c60d3b api/builtins/Motor: add option to enable/disable encoders 2019-11-11 15:51:25 +01:00
Laurens Valk 63992c7ad0 doc/ev3devices/AnalogSensor: add passive/active methods 2019-11-11 15:29:39 +01:00
Laurens Valk 1be5beb54e doc/ev3devices/AnalogSensor: update type check
We no longer have to tell people to reboot the brick after changing the port mode. This is all done automatically now.
2019-11-11 15:22:41 +01:00
Laurens Valk f03970a77e doc/motors: rename direction to positive_direction
While being longer, this reflects more accurately what this setting does.
2019-11-11 15:19:25 +01:00
Laurens Valk 69216abc8a api/pupdevices: fix line break
This caused the init arguments to be displayed incorrectly.

Also, fix whitespaces and line ends.
2019-11-11 15:13:13 +01:00
Laurens Valk d172780508 doc/motors: add stalled section
By moving some of the technical details to dedicated sections of the docs, we can add more (or simplified, less technical) information without cluttering the API commands.
2019-11-11 15:08:08 +01:00
Laurens Valk d6f25acce8 doc/motors: add gears section
Explain the setting using an example.
2019-11-11 14:50:30 +01:00
Laurens Valk f12c579159 doc: move Motor to dedicated page.
Instead, show shorter, simpler Motor docs platform-devices pages. For the moment, this just means deleting the advanced methods section from those pages, but we may choose to simplify further.

This change makes it easier to navigate the ev3devices/pupdevices pages because the motor sections aren't overly long.

Details will still be available on the Motor pages for those who wish to use the more advanced motor capabilities such as adjusting the PID settings.
2019-11-11 13:22:08 +01:00
Laurens Valk f73e10b99b api: add EV3 Analog Sensor 2019-11-04 16:58:30 +01:00
Laurens Valk 8f4468880b api: move sounds, images to media submodule
These media are platform specific and do not belong in the generic parameters module.
2019-10-31 11:11:06 +01:00
Laurens Valk 6f173f3488 api: drop hub modules 2019-10-21 14:51:55 +02:00
Laurens Valk 5c832498b6 doc: motors match module 2019-10-19 21:38:33 +02:00
Laurens Valk 2ec5b0aab9 doc: organize motors 2019-10-18 18:32:09 +02:00
Laurens Valk 372e5ccbd0 doc: single api target
Also delete getting started instructions
2019-10-18 18:11:57 +02:00
Laurens Valk e23d9661cc doc: rename hub rst file
Each hub will have its own RST file.
2019-10-18 17:31:52 +02:00
Laurens Valk aa8c95234e doc: flake8 and doc8 2019-10-18 17:12:16 +02:00
Laurens Valk 529f8fe31c api: rename _common to builtins
Because this module describes devices that can be built into a hub or other device.

Since this design is now explicitly shown in
the docs as well, we don't need to hide this
module in the package.
2019-10-18 16:05:23 +02:00