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
Laurens Valk
f5762447b4
doc: take sphinx workarounds out of api
2019-10-18 15:11:20 +02:00
Laurens Valk
5812333119
api: EV3Brick as class instead of module
2019-10-18 14:47:48 +02:00
Laurens Valk
be1d30c4c8
api/ev3devices: add InfraredSensor.keypad
2019-07-22 11:44:56 +02:00
Laurens Valk
b5c9e3feb7
api: add simpler method for tilt
...
Provides a way of basic orientation checking independently of reference frame settings.
2019-07-04 11:55:01 +02:00
Laurens Valk
d198c45845
api: add heading for devices with a gyro
2019-07-02 14:07:36 +02:00
Laurens Valk
aa10118cfe
api: add gestures
2019-07-02 13:49:52 +02:00
Laurens Valk
e722451af1
api: add Axis.ALL identifier
2019-07-02 13:08:20 +02:00
Laurens Valk
240d21bcca
api: split frame configuration into method
...
Because the __init__ for built-in IMUs won't be called
by the user.
2019-07-02 12:59:21 +02:00