Compare commits

...
Author SHA1 Message Date
Laurens Valk 356f6ffdba v3.6.1 2025-05-01 11:30:32 +02:00
Laurens Valk 4967b96ddd doc/main: Fix trailing whitespace.
For some reason this was not caught by CI.
2025-05-01 11:27:33 +02:00
Laurens Valk 116368e4c7 pybricks.hubs: List missing system.info method. 2025-05-01 11:25:56 +02:00
Laurens Valk 5b56249d8c doc/common/extensions: Drop unused imports. 2025-05-01 11:19:48 +02:00
Laurens Valk 04fb7e3e19 @pybricks/images/v1.4.0 2025-03-19 10:33:59 +01:00
Laurens Valk 5814a73bb1 v3.6.0 2025-03-11 13:08:17 +01:00
Laurens Valk ed3059b47b pybricks.common.IMU: Clarify notes on calibrated values. 2025-03-11 13:01:10 +01:00
Laurens Valk 2a98264144 @pybricks/jedi/v1.17.0 2025-02-26 12:54:14 +01:00
Laurens Valk 6083b17d9a pybricks_jedi/v1.17.0 2025-02-26 12:49:04 +01:00
Laurens Valk 1c598f35be @pybricks/ide-docs/v2.20.0 2025-02-26 12:33:03 +01:00
Laurens Valk 52c522df2d v3.6.0b5 2025-02-26 12:29:10 +01:00
Laurens Valk 2380be2814 extensions/blockimg: Embed svg.
This cuts the total build from 527 to 156 files,
which is considerably fewer requests when loading
this inside Pybricks Code.

See https://github.com/pybricks/support/issues/1559
2025-02-26 10:58:03 +01:00
Laurens Valk 89a34e9f51 conf: Don't export txt sources.
The sources are hosted on GitHub, so there is not additional information here. Also, the actual docstrings are included in the .py files.

See https://github.com/pybricks/support/issues/1559
2025-02-26 10:17:08 +01:00
Laurens Valk 9597f227f4 pybricks.common.IMU: Add settings blocks. 2025-02-25 13:47:07 +01:00
Laurens Valk 1e09cb2232 builtins: Document missing eval and exec on Move Hub.
Fixes https://github.com/pybricks/support/issues/1931
2025-02-25 11:32:01 +01:00
Laurens Valk 6739b517a5 examples: Fix duty cycle comment.
Fixes https://github.com/pybricks/support/issues/2029
2025-02-25 11:26:16 +01:00
Laurens Valk c5cfcd0ac8 tests: Update for IMU changes. 2025-02-25 11:16:27 +01:00
Laurens Valk 827eda031b pybricks.common.System: Document new system info. 2025-02-25 11:16:27 +01:00
Laurens Valk c77b440270 pybricks.parameters: Allow iterating colors.
https://github.com/pybricks/support/issues/1661
2025-02-25 11:16:27 +01:00
Laurens Valk 789e70a42b pybricks.common.BLE: Broadcast fixes.
Fix missing awaitable. Fix default broadcast channel following firmware update.
2025-02-25 11:16:27 +01:00
Laurens Valk 53d6d14de6 pybricks.common.IMU: Document calibration kwarg option. 2025-02-25 11:16:27 +01:00
Laurens Valk ce9d7420fb pybricks.common.IMU: Document new settings.
Also dcument hub.system.reset_storage.
2025-02-25 11:16:27 +01:00
Laurens Valk 044903b193 pybricks.common.Motor: Clarify drive base reset side effect.
Fixes https://github.com/pybricks/support/issues/1449
2025-02-25 11:16:27 +01:00
Laurens Valk 25bfd0e80e pybricks.robotics.DriveBase: Document curve and reset updates. 2025-02-25 11:16:27 +01:00
David Lechner b28f768bec pybricks.lwp3device: Show compatibility.
It has come up a few times recently that this wasn't clear.
2025-01-25 11:02:54 -06:00
Laurens Valk f35bbe44f5 @pybricks/ide-docs/v2.19.0 2024-04-11 14:36:16 +02:00
Laurens Valk 08fa5b1c17 v3.5.0 2024-04-11 14:34:22 +02:00
Laurens Valk 6982cf4fd2 @pybricks/jedi/v1.16.0 2024-04-05 11:47:00 +02:00
Laurens Valk 8ffdde38e6 pybricks_jedi/v1.16.0 2024-04-05 11:45:50 +02:00
Laurens Valk 353310c1ba @pybricks/ide-docs/v2.18.0 2024-04-05 11:43:43 +02:00
Laurens Valk 4ca1ddf909 v3.5.0b2 2024-04-05 11:11:21 +02:00
Laurens Valk b0ff867dcc .github: Merge release and PyPI steps.
"on: release" only triggers for manual releases, not releases created by another workflow.

Fixes https://github.com/pybricks/support/issues/1558
2024-04-05 11:11:08 +02:00
Laurens Valk c05d5c42cd .github: Add release workflow.
This was the only step that wasn't automated, which made it a bit harder to remember what to do.

Fixes https://github.com/pybricks/support/issues/1558
2024-04-05 10:46:39 +02:00
Laurens Valk 190c0a4a75 blocks: Add in and double ternary blocks. 2024-04-04 21:45:26 +02:00
Laurens Valk 52b3b4c007 pybricks.tools.read_input_byte: Add last and chr options. 2024-04-04 21:45:26 +02:00
Laurens Valk 0145fd41ae pybricks.hubs: Add blocks for ready, stationary, up. 2024-04-04 21:45:09 +02:00
Laurens Valk d228b7de99 pybricks.pupdevices.Remote: Add disconnect. 2024-04-04 20:42:17 +02:00
Laurens Valk 615d21cd54 pyproject: Fix version v prefix. 2024-03-21 19:37:51 +01:00
Laurens Valk d028e805e7 @pybricks/jedi/v1.15.0 2024-03-21 19:23:54 +01:00
Laurens Valk d2fee3557d pybricks_jedi/v1.15.0 2024-03-21 19:21:52 +01:00
Laurens Valk c02ab79abe @pybricks/ide-docs/v2.17.0 2024-03-21 19:19:21 +01:00
Laurens Valk 3783fac4e3 v3.5.0b1 2024-03-21 19:16:39 +01:00
Laurens Valk dcf8405f31 doc/main: Add program exit and comment blocks. 2024-03-21 17:07:06 +01:00
Laurens Valk 2d0cf6c28c pybricks.iodevices.XboxController: Add rumble. 2024-03-21 17:06:41 +01:00
Laurens Valk d4e7657d31 pybricks.hubs: Add shutdown and stop button blocks. 2024-03-21 17:06:04 +01:00
Laurens Valk 15664146bd v3.4.1 2024-03-11 16:27:41 +01:00
Laurens Valk 32a63a4c09 .readthedocs: Fix change in handling of venv. 2024-03-11 16:23:47 +01:00
Laurens Valk c7e582ea22 @pybricks/ide-docs/v2.16.0 2024-03-11 15:48:39 +01:00
Laurens Valk fbea972807 v3.4.0 2024-03-11 15:40:47 +01:00
Laurens Valk ea4f594696 builtins: Update list blocks. 2024-03-11 13:43:45 +01:00
J 65748ca56c pybricks.common.Motor: Specify geartrain order. 2024-03-11 09:45:33 +01:00
Laurens Valk 1194f6c29f npm/jedi: v1.14.0 2024-03-05 17:08:42 +01:00
Laurens Valk 01070eea34 jedi: v1.14.0 2024-03-05 17:06:16 +01:00
Laurens Valk 6dd0d6dea0 @pybricks/ide-docs v2.15.0 2024-03-05 17:00:38 +01:00
Laurens Valk 0bc8675ca7 v3.4.0b5 2024-03-05 16:52:16 +01:00
Laurens Valk 7acdfc035e pybricks.tools: Document run loop active check. 2024-03-05 15:00:03 +01:00
Laurens Valk 2e538b66c3 pybricks.hubs: Change button to buttons.
Fixes https://github.com/pybricks/support/issues/1254
2024-03-05 14:52:54 +01:00
Laurens Valk b2b183ef8f pybricks.common.BLE: Document multitasked broadcast. 2024-03-05 14:42:35 +01:00
Laurens Valk 72f25cb88e pybricks.robotics: Car class updates.
Match minor firmware changes.
2024-03-05 14:29:58 +01:00
Laurens Valk 079b108680 pybricks.parameters: Add Xbox buttons. 2024-03-05 14:10:29 +01:00
Laurens Valk e3b2e6edca v3.4.0b4 2024-02-14 19:35:32 +01:00
Laurens Valk 194949c668 pybricks.iodevices.XboxController: Document pairing. 2024-02-14 19:34:12 +01:00
Laurens Valk d3ca8ee719 pybricks.iodevices: Add XboxController. 2024-02-11 14:26:03 +01:00
Laurens Valk fae24a6ef0 setup.cfg: Allow def oneliners.
The autoformatter puts ... on the same line, so allow it for flake8 too.
2024-02-11 13:35:02 +01:00
Laurens Valk dd192de18b npm/jedi: v1.13.0 2024-01-30 16:51:02 +01:00
Laurens Valk d1b7d0f61b jedi: v1.13.0 2024-01-30 16:48:20 +01:00
Laurens Valk 8fa99928dd @pybricks/ide-docs v2.14.0 2024-01-30 16:37:03 +01:00
Laurens Valk 00318fd815 v3.4.0b3 2024-01-30 16:35:21 +01:00
Laurens Valk b4adb50adf pybricks.robotics: Add Car class. 2024-01-25 20:38:02 +01:00
Laurens Valk 1d2c0c273c pybricks.robotics.DriveBase: Update icons to two wheels.
The steering wheel fits better with the new car blocks.
2024-01-25 19:49:36 +01:00
Laurens Valk 04b7c745e2 v3.4.0b2 2023-11-28 15:19:53 +01:00
Laurens Valk 1d7efe6bdc @pybricks/ide-docs v2.13.0 2023-11-28 15:12:08 +01:00
Laurens Valk 2b1f161005 v3.4.0b1 2023-11-28 15:12:05 +01:00
Laurens Valk 7b2242e420 blocks: Clarify license.
There was a license file in the folder, but this should way it gets included in the distribution.
2023-11-28 15:11:20 +01:00
Laurens Valk 45b6fd5de1 blocks: Document battery.
Also add City Hub BLE setup, which was missing.
2023-11-28 15:06:45 +01:00
Laurens Valk 296eb0f234 blocks: Include display. 2023-11-28 15:06:45 +01:00
Laurens Valk 43f0e72a09 blocks: Initial round of images. 2023-11-28 15:06:45 +01:00
Laurens Valk 4d864737ae blocks: Experiment with block documentation. 2023-11-28 15:06:35 +01:00
Laurens Valk 68e5dbd6d2 npm/jedi: v1.12.0 2023-11-24 11:28:16 +01:00
Laurens Valk 60ec65bd19 jedi: v1.12.0 2023-11-24 11:26:05 +01:00
Laurens Valk 27919bbcb1 @pybricks/ide-docs v2.12.0 2023-11-24 11:15:05 +01:00
Laurens Valk 7c0aac6ba9 v3.3.0 2023-11-24 11:10:05 +01:00
Laurens Valk 2f19fe210a npm/jedi: v1.11.0 2023-11-20 14:27:35 +01:00
Laurens Valk 463b608817 jedi: v1.11.0 2023-11-20 14:24:37 +01:00
Laurens Valk 49ce1d7829 @pybricks/ide-docs v2.11.0 2023-11-20 14:19:11 +01:00
Laurens Valk 15600c8a2b v3.3.0c1 2023-11-20 14:16:00 +01:00
Laurens Valk f509178dab pybricks.pupdevices.Motor: Document close. 2023-11-20 14:03:12 +01:00
Laurens Valk fd61866f2b pybricks.iodevices: Make LWP3 write awaitable. 2023-11-16 12:01:28 +01:00
Laurens Valk 91bc9a5d60 pybricks.hubs.MoveHub: Enable imu orientation. 2023-11-13 11:06:57 +01:00
Laurens Valk f470f1c510 pupdevices: Fix remote light being external.
So it is awaitable.
2023-11-13 08:49:19 +01:00
Laurens Valk d7f9723f6f pybricks.common.Accelerometer: Move tilt to simple.
The Move Hub has it too now.
2023-11-13 08:49:15 +01:00
Laurens Valk 0d0d479a86 npm/jedi: v1.10.0 2023-10-26 20:45:10 +02:00
Laurens Valk 252adb3e85 jedi: v1.10.0 2023-10-26 20:43:28 +02:00
Laurens Valk 36ed5917e9 @pybricks/ide-docs v2.10.0 2023-10-26 20:29:33 +02:00
Laurens Valk bec6aaa76e v3.3.0b9 2023-10-26 20:29:31 +02:00
Laurens Valk e7377dff31 pybricks.pupdevices.Motor: Clarify profile setting. 2023-10-26 14:31:16 +02:00
Laurens Valk d935841399 pybricks.robotics.DriveBase: Add brake. 2023-10-26 14:18:56 +02:00
David Lechner 3335042218 ubuiltins: add set class
Add type stubs and docs for builtin `set` type.

Issue: https://github.com/pybricks/support/issues/402
2023-10-26 09:21:41 +02:00
Laurens Valk 209fba5c7e pybricks.tools: Document multitasking. 2023-10-24 17:05:10 +02:00
Laurens Valk faf11581c0 pybricks.tools: Document hub_menu.
Fixes https://github.com/pybricks/pybricks-api/issues/144
2023-10-24 16:23:59 +02:00
Laurens Valk 8819446513 pybricks.common.BLE: Update broadcast API.
Match firmware updates.
2023-10-24 10:40:52 +02:00
Laurens Valk b97eef8152 conf: Fix RTD theme.
Fixes https://github.com/pybricks/pybricks-api/issues/150
2023-10-23 20:49:35 +02:00
Laurens Valk 6bbdccb25f pybricks.hubs.ThisHub.storage: Fix duplicate self.
Fixes https://github.com/pybricks/pybricks-api/issues/146
2023-10-23 16:36:13 +02:00
Laurens Valk 578abab24e signaltypes: Bare minimal async docs.
This is nowhere near complete, but provides handles to start documenting async for the relevant methods.
2023-10-23 16:28:50 +02:00
Laurens Valk 1a49d396d2 pybricks.robotics: Document use_gyro. 2023-10-23 15:39:52 +02:00
Laurens Valk 397663d631 poetry: Update deps and fix Sphinx breakage. 2023-10-23 15:30:19 +02:00
David Lechner 821a3e4455 pybricks.*: add MaybeAwaitable types
Many blocking functions now return Awaitable[T] when the async run
loop is running. The static analysis tools don't have a way of
knowing this, so the best we can do is return both types so that
x = method() and x = await method() both work mostly as expected.
2023-06-12 17:04:09 -05:00
David Lechner 41b9ce71dd pybricks.tools: add read_input_byte()
This adds stubs and docs for the new `pybricks.tools.read_input_byte()`
function.
2023-06-12 11:06:20 -05:00
David Lechner 6d69f04fe5 docs/cityhub: add ble.broadcast
A workaround has been implemented in the firmware so this is available
now.
2023-05-23 13:37:05 -05:00
dependabot[bot] 00ded2e2a0 build(deps): bump requests from 2.28.1 to 2.31.0
Bumps [requests](https://github.com/psf/requests) from 2.28.1 to 2.31.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.28.1...v2.31.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-23 09:36:46 -05:00
David Lechner dd1d167ad9 pyproject: drop alpha status
We accidentally published the last few versions as alpha. It should
have been beta to match the firmware.
2023-05-19 14:59:25 -05:00
David Lechner 4dc289ad61 pybricks.common.BLE.broadcast: fix missing `
This caused bad formatting.
2023-05-16 16:02:13 -05:00
David Lechner bc592b4469 npm/jedi: v1.9.0 2023-05-16 15:45:40 -05:00
David Lechner 784c7ec5fc jedi: v1.9.0
Update pybricks package for next beta.
2023-05-16 15:43:09 -05:00
David Lechner 9e2bac457a github/workflows/publish-ide-docs: poetry install --only=doc
We don't need to install other dependencies to build the docs.
2023-05-16 15:39:14 -05:00
David Lechner 61d18ebe6f @pybricks/ide-docs v2.9.0 2023-05-16 15:33:45 -05:00
David Lechner ff0b767e3e v3.3.0a5 2023-05-16 15:27:22 -05:00
David Lechner 3274cef849 pybricks.common: Add new BLE class.
This adds a new BLE class that is used for connectionless broadcasting/
observing on hubs with built-in Bluetooth Low Energy.

Also see https://github.com/pybricks/pybricks-micropython/pull/158.
2023-05-16 14:46:53 -05:00
David Lechner b4ff3af36d pyproject: split lint and doc dependencies
This allows a subset of dependencies to be installed if needed and
allows sharing requirements with readthedocs.
2023-05-10 14:35:08 -05:00
David Lechner 8e5891d9e8 all: spelling
Misc spelling fixes.
2023-05-10 14:16:15 -05:00
David Lechner 7de67852f7 vscode: change to ms-python.black-formatter
Microsoft is breaking out various Python tools into separate extensions.
2023-05-10 13:43:49 -05:00
David Lechner 31d3a117d6 doc/main/conf: update copyright year 2023-04-21 17:39:28 -05:00
David Lechner 263fe3a1cb npm/jedi: v1.8.0 2023-04-21 17:31:17 -05:00
David Lechner db8de447d5 jedi: v1.8.0 2023-04-21 17:26:38 -05:00
David Lechner 46d6189eb1 jedi: update pybricks package version
also bump python requirement since Pyodide is now using Python 3.11.
2023-04-21 17:24:47 -05:00
David Lechner 2278c7bcda @pybricks/ide-docs v2.8.0 2023-04-21 17:10:51 -05:00
David Lechner 4da3618428 v3.3.0b4 2023-04-21 17:00:18 -05:00
Laurens Valk 5bc11b185d pybricks.tools: Add versionchanged note. 2023-04-21 14:07:46 +02:00
Laurens Valk be9f99d41b pybricks.tools: Add category headings. 2023-04-21 13:59:16 +02:00
Laurens Valk 870aae83c0 pybricks.tools: Document cross product. 2023-04-21 13:39:08 +02:00
Laurens Valk 9cde749e8a pybricks.geometry: Drop module.
See https://github.com/pybricks/pybricks-micropython/pull/160
2023-04-21 13:33:19 +02:00
Laurens Valk 8bca5eb6e4 pybricks.robotics: Add GyroDriveBase. 2023-04-21 10:42:30 +02:00
Laurens Valk 95a12a7386 pybricks.robotics: Drop note suggesting to flip motors.
This will still work, but it is asking for trouble when including the gyro.

So it is probably better not to mention this at all.
2023-04-21 10:42:30 +02:00
Laurens Valk d6c78f1f39 pybricks.robotics: Drop note restricting when to change settings. 2023-04-21 10:42:30 +02:00
Laurens Valk 98f2bb27fe pybricks.robotics.DriveBase: Drop positive direction.
This reverts commit e4650cb1c9.

This is not needed for gyro support, so it is better to remove it
before it is ever released.
2023-04-21 10:42:30 +02:00
Laurens Valk fdbd078388 pybricks._common.IMU: Heading is clockwise positive.
This is not a breaking change because heading() was never implemented until now.
2023-04-21 10:42:30 +02:00
Laurens Valk ccd2b46819 pybricks.robotics.DriveBase: Revert gyro use via init.
This reverts commit dadaab6f61.

We will introduce a separate class instead.
2023-04-21 10:42:30 +02:00
Laurens Valk c0cb05dd74 pybricks.robotics.DriveBase: Document use of gyro. 2023-04-21 10:42:30 +02:00
Laurens Valk b183e1420a pybricks.pupdevices.Motor: Document speed time window. 2023-04-21 10:42:30 +02:00
Laurens Valk b311c54261 pybricks._common.IMU: Change settings setter. 2023-04-21 10:42:30 +02:00
Laurens Valk bb37b94f5e pybricks._common.IMU: Add imu status. 2023-04-21 10:42:30 +02:00
Laurens Valk 5b25606afa pybricks._common.IMU: Add rotation and orientation.
Also update implementation status for heading and reset_heading.
2023-04-21 10:42:30 +02:00
Laurens Valk 8172d11ef6 urandom: Fix formula in getrandbits. 2023-03-28 08:50:00 +02:00
Laurens Valk c415296b71 pybricks._common.Motor: Document profile.
Fixes https://github.com/pybricks/support/issues/966
2023-03-20 15:12:36 +01:00
Laurens Valk e4650cb1c9 pybricks.robotics.DriveBase: Document positive direction.
Fixes https://github.com/pybricks/support/issues/992
2023-03-20 14:22:25 +01:00
Laurens Valk 91154a394c pybricks.robotics.DriveBase: Clarify settings method.
Fixes https://github.com/pybricks/support/issues/882
2023-03-20 14:00:42 +01:00
David Lechner 3c36010c04 pybricks.ev3devices: Fix Gyro direction parameter name.
The actual implemented name is `direction`, not `positive_direction`.

Fixes: https://github.com/pybricks/support/issues/509
2023-03-20 13:56:16 +01:00
Laurens Valk a553df3b03 pybricks.iodevices.PUPDevice: Add device class as comments. 2023-02-23 16:31:38 +01:00
Hans Willemen dbd1cc8dc9 pybricks.iodevices.PUPDevice: Add more devices.
Added:
- non-uart DCMotors  (Medium and Train)
- non-uart Light
- SPIKE 3x3 Color Matrix
- SPIKE Small Angular Motor
2023-02-23 16:31:38 +01:00
Laurens Valk b40c3989aa pybricks.common.Motor: Add Model() class instance.
This is mainly used to debug the motor model, and to quickly select the
feedback parameters. This is useful when adding or configuring new motor
types.

Reading the estimated speed can also be useful in advanced applications
where the user builds their own PID controller.

We may choose to hide this method from the documentation before the
release.
2023-02-09 10:25:15 +01:00
Laurens Valk 13612bdb1a README: Fix D002 Trailing whitespace. 2023-02-09 10:25:10 +01:00
kai-morich 031e905e12 README: document stub usage in vs code
Fixes: pybricks/support#937
2023-02-07 15:37:15 -06:00
Laurens Valk 428bca79ab pybricks.common.Control: Document deadzone. 2023-02-02 14:45:34 +01:00
Laurens Valk 0e8b6cfd97 doc/main/cad/devices: Generate motor model. 2023-02-02 14:44:50 +01:00
David Lechner eea8ff0924 examples/ev3/bluetooth: remove 3rd party dependency
Since Python 3.10, RFCOMM sockets are available in Python on Windows
so we no longer need 3rd party code.

Fixes: pybricks/support#902
2023-01-06 14:17:29 -06:00
David Lechner 8c673ab280 github: update actions/checkout to v3
This fixes deprecation warnings about node v12.
2022-12-28 16:16:01 -06:00
David Lechner 73477169ae npm/jedi: v1.7.0
Update pybricks_jedi package to v1.7.0 and bump version for release.
2022-12-28 16:13:28 -06:00
David Lechner 5ccc60c177 jedi/pyproject: v1.7.0 2022-12-28 16:09:37 -06:00
David Lechner 93c4fcc884 jedi: add update_user_modules() function
This function will be used to fix import completion of user module
names in Pybricks Code.

Issue: https://github.com/pybricks/support/issues/759
2022-12-28 16:06:47 -06:00
David Lechner aa72605e99 jedi: fix code completion for local _*
This fixes code completion for identifier names starting with "_" in
the local ("__main__") file.
2022-12-28 15:33:33 -06:00
David Lechner 8ee725722f jedi: fix completion of builtin types
Completions for `x.` where `x` is an instance of a builtin type was
broken because of filtering on the `builtins` modules. This extends
the filtering to allow attributes available on common builtin types
in Pybricks MicroPython.
2022-12-28 15:33:33 -06:00
David Lechner 236bda5f31 ubuiltins.round: Fix example.
The example did not have proper line breaks between statements.

Also add an additional example using f-strings.
2022-12-28 14:09:18 -06:00
David Lechner 36ee3bd9ef pyproject: v3.2.0 2022-12-20 15:46:44 -06:00
David Lechner 16a0621e03 @pybricks/ide-docs v2.7.0 2022-12-20 11:05:36 -06:00
Laurens Valk 7c4c5439a4 pyproject: v3.2.0c2 2022-12-20 16:08:48 +01:00
David Lechner f7314bc1bc npm/images: v1.3.0
Bump version for release to npm.
2022-12-19 11:16:57 -06:00
David Lechner f14bbc3a36 npm/images: add DFU Windows driver images
This will be used in Pybricks Code for Windows driver installation
instructions.
2022-12-19 11:15:37 -06:00
Laurens Valk 44c6191b2f doc/main/diagrams_source: Add labels to DFU screenshots. 2022-12-19 10:55:20 -06:00
Laurens Valk 829b0ab97a doc/main/diagrams_source: Draft DFU screenshots. 2022-12-19 10:55:20 -06:00
Laurens Valk 1c5e390e13 doc/main/index: Clarify categories.
This is more descriptive than just repeating the module name.
2022-12-16 22:30:09 +01:00
David Lechner 98e7d814b1 npm/jedi/build: update @pybricks/jedi package version to v1.6.0
Update version for release to npm.
2022-12-09 15:28:11 -06:00
David Lechner 0117e50599 npm/jedi/build: update pybricks-jedi Python package to v1.6.0 2022-12-09 15:26:57 -06:00
David Lechner b4b17d6f55 jedi/pyproject: bump version to v1.6.0
Getting ready to publish to PyPI.
2022-12-09 15:19:53 -06:00
David Lechner a074c60c9e jedi/pyproject: fix authors
The expected format is "Name <email>".
2022-12-09 15:18:56 -06:00
David Lechner 9f80deec4a jedi/pyproject: bump pybricks package to v3.2.0c1 2022-12-09 15:17:12 -06:00
David Lechner 0655d807e4 github: fix job name in publish-jedi workflow
Fixes: https://github.com/pybricks/pybricks-api/issues/124
2022-12-09 15:13:41 -06:00
David Lechner ef7fa7bcfc @pybricks/ide-docs v2.6.0 2022-12-09 15:11:03 -06:00
David Lechner edf0f56675 github: simplify release-to-pypi action
We can just let pipx install poetry for us and we don't need a special
Python install or to run `poetry install`.

Also update action versions while we are touching this.
2022-12-09 15:05:10 -06:00
David Lechner 00f1c95ab2 pyproject: v3.2.0c1
Update `pybricks` package version for release to PyPI.
2022-12-09 15:03:27 -06:00
dependabot[bot] 72d55bdbd8 build(deps): bump certifi from 2022.9.24 to 2022.12.7
Bumps [certifi](https://github.com/certifi/python-certifi) from 2022.9.24 to 2022.12.7.
- [Release notes](https://github.com/certifi/python-certifi/releases)
- [Commits](https://github.com/certifi/python-certifi/compare/2022.09.24...2022.12.07)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-09 09:21:17 -06:00
Laurens Valk 585b1b8ba3 pybricks.parameters.Side: Change Technic Hub orientation.
This makes it consistent with other hubs.

See: https://github.com/pybricks/support/issues/848

The IMU section was not included in V3.1 so it is not a breaking change,
but we add a versionchanged comment just in case.
2022-12-09 14:23:01 +01:00
Laurens Valk d9dfd0e370 doc/common/extensions: Separate checkmark from image.
This makes it easier to see when the images are small.

Fixes: https://github.com/pybricks/support/issues/838
2022-12-09 08:35:33 +01:00
David Lechner 8bfc2e10c8 doc: Use Pybricks blue.
This changes the navbar background color to use the official Pybricks
blue color.
2022-12-08 17:16:32 -06:00
Laurens Valk e2710157f0 doc/main/hubs: Use width to set scale.
Fixes https://github.com/pybricks/support/issues/844
2022-12-08 20:07:11 +01:00
Laurens Valk 96a3c04836 doc/main/index: Drop links from menu.
Table of contents can't be hidden based on tags, so we just remove them.

Instead, add a note in the body of the standalone version.

Fixes: https://github.com/pybricks/support/issues/839
2022-12-08 09:47:04 +01:00
Laurens Valk 72f5cb6827 micropython: Use separate keys for CTRL + C.
Since each :kbd: key is rendered as a button, it is more intuitive to
render them separately. (There is no CTRL-C button.)

Fixes https://github.com/pybricks/pybricks-api/issues/125
2022-12-08 09:32:08 +01:00
David Lechner e939c14fee docs/main/{prime,essential}hub: Remove beta note.
We are close to final release, so these are no longer considered beta.
2022-12-07 16:31:19 -06:00
David Lechner 3418c8320c doc/common/css/ide: improve styling of field list
The default style of using a grid with two columns wastes space when
displayed in a narrow pane, like in Pybricks Code. Using flex with
column direction makes it flow from top to bottom.

Fixes: https://github.com/pybricks/support/issues/832
2022-12-07 20:21:47 +01:00
Laurens Valk 4da4ce8f7c pybricks.robotics.DriveBase: Add clarifying comments.
Fixes https://github.com/pybricks/support/issues/698
2022-12-06 16:38:31 +01:00
Laurens Valk 6640fba104 npm/jedi: v1.5.0 2022-12-02 15:20:08 +01:00
Laurens Valk ecbfbcfccc jedi/pyproject: v1.5.0 2022-12-02 15:18:10 +01:00
Laurens Valk eff6eaa253 jedi: Add ustruct, json modules. 2022-12-02 15:17:55 +01:00
Laurens Valk f7984a4816 @pybricks/ide-docs v2.5.0 2022-12-02 14:37:50 +01:00
Laurens Valk eac3535d92 npm/jedi: v1.4.0
Update pybricks_jedi Python package to v1.4.0.
2022-12-02 14:36:21 +01:00
Laurens Valk 7fd508cc84 jedi/pyproject: v1.4.0 2022-12-02 14:34:47 +01:00
Laurens Valk 3a12de4766 jedi: update pybricks package to v3.2.0b6 2022-12-02 14:33:16 +01:00
Laurens Valk 5535da5b38 pyproject: v3.2.0b6
Update version for pybricks Python package release.
2022-12-02 14:29:33 +01:00
Laurens Valk ab4d4cc848 pybricks.pupdevices.Motor: Add versionchanged.
Document moving stalled, load, done.
2022-12-02 14:20:51 +01:00
Laurens Valk 82340c3eec jedi: Update tests for stalled, done. 2022-12-02 12:43:24 +01:00
Laurens Valk 14a4fc0d74 pybricks.robotics: Document behavior on shared resources.
Fixes https://github.com/pybricks/pybricks-api/issues/105.
2022-12-02 12:43:24 +01:00
Laurens Valk 99d5210313 pybricks.robotics.DriveBase: Add stalled, done. 2022-12-02 12:43:24 +01:00
Laurens Valk e6d2ce7f62 examples: Update use of done(). 2022-12-02 12:43:24 +01:00
Laurens Valk c3802d38c2 pybricks.ev3devices: Keep motor class in sync.
Let's make sure we keep EV3 pages building.
2022-12-02 12:43:24 +01:00
Laurens Valk ac23a9bb59 pybricks.common.Motor: Document compatibility.
Control methods are not available on Move Hub.

Fixes: https://github.com/pybricks/pybricks-api/issues/106
2022-12-02 12:15:25 +01:00
Laurens Valk 631cf31a07 pybricks.common.Motor: Document when settings take effect.
This updates how and when settings take effect. In this release, you can
change them even while the motor is moving. Some settings do not
take effect right away, as now indicated in the relevant methods.

See also https://github.com/pybricks/pybricks-api/issues/105
2022-12-02 12:10:31 +01:00
Laurens Valk 115ae0d856 pybricks.common.Motor: Add done, stalled, load.
These used to be implemented as part of the Control object,
but now they are available directly on the motor.

This way they:
- Also give useful values when control is passive, via dc().
- Can be supported on Move Hub
- Give useful values for drive bases (see next commits).

Fixes https://github.com/pybricks/pybricks-api/issues/115
2022-12-02 12:02:22 +01:00
Laurens Valk eec6d2ff85 pybricks.parameters: Delete TODO on hue.
This should be an issue, not a mark in the released docs.
2022-12-01 16:59:54 +01:00
Laurens Valk 4d360d2b01 pybricks.parameters: Reduce floating warning to note.
This is a good case of a box. But nothing blows up if you try it, so a note suffices.
2022-12-01 16:59:08 +01:00
Laurens Valk 52cb0fe81e ubuiltins: Fix missing types on print args. 2022-12-01 16:49:45 +01:00
Laurens Valk 961cebe48b ustruct: Document modules. 2022-12-01 16:48:20 +01:00
Laurens Valk 87c2802b17 jedi/tests: Fix order for Poll/poll.
Poll needs to come first for correct typing of poll.
2022-12-01 15:06:31 +01:00
Laurens Valk 3c0aaea207 usys: Add version info.
Fixes https://github.com/pybricks/pybricks-api/issues/119
2022-12-01 15:02:25 +01:00
Laurens Valk 553490874b usys: Add examples. 2022-12-01 14:21:12 +01:00
Laurens Valk 31d3872405 uselect: Rewrite the docs. 2022-12-01 14:11:41 +01:00
Laurens Valk 6f55e90365 urandom: Update remaining functions.
Also modify the categories given implicitly in the Python
file and make them explicit in the docs.

Most users are going to want to use `randint` or `random`, so
that basic category comes first.
2022-12-01 11:19:42 +01:00
Laurens Valk 76f129f6d1 urandom: Update docstring style.
Also remove the tip boxes. The entire documentation consist of tips of
one form or another.

Boxes should only be used when necessary such as safety reasons (warnings)
or to prevent costly/time consuming mistakes (notes/tips).
2022-12-01 10:48:06 +01:00
Laurens Valk d4d7971a56 pybricks.hubs: Update storage documentation.
This moves the per-hub storage size to the respective page.

This also clarifies that data is cleared when updating Powered Up hubs.

Also flip docstring signatures around to work around https://github.com/pybricks/pybricks-api/issues/117
2022-12-01 10:17:41 +01:00
Laurens Valk 64b0489a73 urandom: Move example to Move Hub.
Move it do a dedicated example instead of hardcoding it in the module docstring.

Also update changelog for missing previous changes while we are at it.
2022-12-01 09:55:40 +01:00
Laurens Valk 87ed7353b4 ujson, urandom, uselect: Document compatibility. 2022-11-29 20:32:53 +01:00
Laurens Valk aca23197a1 micropython: Document compatibility.
Fixes https://github.com/pybricks/pybricks-api/issues/118
2022-11-29 20:32:09 +01:00
Laurens Valk 69a2a2b8a2 uio: Don't use alloc_size.
Follows the upstream MicroPython guidance.
2022-11-29 20:30:08 +01:00
Laurens Valk f5d9a4f1c6 uio: Document getvalue. 2022-11-29 20:28:08 +01:00
Laurens Valk 71ce165a46 uio: Update style.
Also fix compatibility information.
2022-11-29 20:23:23 +01:00
Laurens Valk 56ab509630 ujson: Document module. 2022-11-29 16:00:00 +01:00
Laurens Valk 9608a16d95 micropython: Update style.
This makes it consistent with our other modules.

Follows https://github.com/pybricks/pybricks-api/issues/82
2022-11-29 15:59:32 +01:00
Laurens Valk 9b314777e0 micropython: Document heap_lock, heap_unlock.
Fixes https://github.com/pybricks/pybricks-api/issues/116
2022-11-29 13:51:34 +01:00
Laurens Valk 1ae0a9005f pybricks.parameters.Stop: Document NONE.
Fixes https://github.com/pybricks/pybricks-api/issues/104
2022-11-28 17:10:53 +01:00
Laurens Valk 1d5956a58a pybricks.parameters.Stop: Document COAST_SMART.
See https://github.com/pybricks/pybricks-api/issues/104
2022-11-28 17:01:06 +01:00
Laurens Valk 73c4a449ab ubuiltins: Document super. 2022-11-28 16:17:36 +01:00
Laurens Valk aeeed159d7 ubuiltins: Document isinstance, issubclass. 2022-11-28 16:13:59 +01:00
Laurens Valk 104fd7d70f ubuiltins: Document setattr. 2022-11-28 16:07:10 +01:00
Laurens Valk e9e5f48756 ubuiltins: Document getattr, hasattr. 2022-11-28 16:04:25 +01:00
Laurens Valk 8260d71cd7 ubuiltins: Document dir. 2022-11-28 15:51:44 +01:00
Laurens Valk ac43f8a29f ubuiltins: Document callable. 2022-11-28 15:45:30 +01:00
Laurens Valk f6f87fec95 ubuiltins: Document help. 2022-11-28 15:37:20 +01:00
Laurens Valk d1081229b3 ubuiltins: Document id. 2022-11-28 15:32:54 +01:00
Laurens Valk 8a73e916e7 ubuiltins: Fix id. 2022-11-28 15:31:25 +01:00
Laurens Valk 17c45c3245 ubuiltins: Document hash. 2022-11-28 15:30:55 +01:00
Laurens Valk 0ecf1cabde ubuiltins: Document globals. 2022-11-28 15:27:47 +01:00
Laurens Valk ba8d9806f7 ubuiltins: Document exec. 2022-11-28 15:25:12 +01:00
Laurens Valk 99b289aa58 ubuiltins: Document eval. 2022-11-28 15:19:43 +01:00
Laurens Valk 334b91f128 ubuiltins: Document sum. 2022-11-28 15:07:44 +01:00
Laurens Valk f7380b8bb0 ubuiltins: Remove set. This is not enabled. 2022-11-28 15:03:18 +01:00
Laurens Valk 6ad229c7c0 ubuiltins: Document round. 2022-11-28 15:02:03 +01:00
Laurens Valk 94dfbbf7c1 ubuiltins: Document pow. 2022-11-28 14:54:11 +01:00
Laurens Valk 88b2502eb3 ubuiltins: Fix pow.
MICROPY_PY_BUILTINS_POW3 is not enabled.

And floats are accepted.
2022-11-28 14:50:59 +01:00
Laurens Valk cd2e53f70b ubuiltins: Document max, min. 2022-11-28 14:41:29 +01:00
Laurens Valk e009ff2cbc ubuiltins: Document divmod. 2022-11-28 14:36:02 +01:00
Laurens Valk 4816b58914 ubuiltins: Document zip. 2022-11-28 14:23:55 +01:00
Laurens Valk 875a433182 ubuiltins: Document sorted. 2022-11-28 14:16:51 +01:00
Laurens Valk dc8d029e96 ubuiltins: Document reversed. 2022-11-28 14:05:48 +01:00
Laurens Valk af80c4770e ubuiltins: Document range. 2022-11-28 14:01:40 +01:00
Laurens Valk ddcdc6f745 ubuiltins: Document next. 2022-11-28 13:50:36 +01:00
Laurens Valk 81ac996deb ubuiltins: Fix next.
MICROPY_PY_BUILTINS_NEXT2 is not enabled.
2022-11-28 13:45:48 +01:00
Laurens Valk 84d1d7bf3b ubuiltins: Document iter, enumerate, map. 2022-11-28 12:36:32 +01:00
Laurens Valk 9578fc1035 ubuiltins: Document str. 2022-11-28 11:37:24 +01:00
Laurens Valk 25f427d8bf ubuiltins: Slice instances are not supported. 2022-11-28 11:24:51 +01:00
Laurens Valk 725b6d672c ubuiltins: Document list, tuple. 2022-11-28 11:17:18 +01:00
Laurens Valk 4bc53b17f4 ubuiltins: Document len(). 2022-11-28 11:11:15 +01:00
Laurens Valk 666f2a6b52 .vscode/settings: Set interpreter path.
This way vscode will pick up all the right tools and not complain about
linters not being installed.
2022-11-28 11:07:50 +01:00
Laurens Valk cbf6eb9578 ubuiltins: Document bytes, bytearray, type. 2022-11-28 10:53:53 +01:00
Laurens Valk 7dd3edaee4 jedi/tests: Make PrimeHub the same as InventorHub. 2022-11-22 14:26:25 +01:00
Laurens Valk ef57dbf4a1 pybricks.common.LightMatrix: Rename image() to icon().
Fixes https://github.com/pybricks/support/issues/409
2022-11-22 14:26:15 +01:00
David Lechner 3a60d40bac @pybricks/ide-docs v2.4.0 2022-11-11 11:39:47 -06:00
David Lechner cb0dee3e99 npm/jedi: v1.3.0
Update `pybricks_jedi` Python package to v1.3.0.
2022-11-11 11:36:31 -06:00
David Lechner 19673da32e jedi/pyproject: v1.3.0 2022-11-11 11:31:02 -06:00
David Lechner b8b5652cb6 jedi: update pybricks package to v3.2.0b5 2022-11-11 11:30:01 -06:00
David Lechner 7b4953bc5f pyproject: v3.2.0b5
Update version for `pybricks` Python package release.
2022-11-11 11:24:57 -06:00
David Lechner 62f6fc85a5 jedi: fix code completion for Color and Icon
The pybricks.parameters.Color and Icon types were not working with Jedi
for code completion since the constants were never assigned a value.
2022-11-10 12:23:24 -06:00
Laurens Valk d2b1b2183b pybricks.parameters.Icon: Document it.
Fixes https://github.com/pybricks/pybricks-api/issues/107
2022-11-10 16:38:44 +01:00
David Lechner a236609ebf npm/icons: v1.2.1 2022-11-08 15:06:55 -06:00
Laurens Valk 6c893c136e doc/main/diagrams: Fix City Hub position.
It was accidentally moved to a non-integer position. This causes the PNG to re-render. This increases the file size and makes it looks less crisp.
2022-11-08 19:55:48 +01:00
Laurens Valk f4212f232e doc/main/diagrams: Adjust Move Hub icon scale.
Fixes https://github.com/pybricks/support/issues/773
2022-11-08 19:52:51 +01:00
David Lechner 3a805b0ca9 npm/images: v1.2.0 2022-11-03 13:03:19 -05:00
Laurens Valk c52627cc8f doc/main/diagrams: Add hub icon variants.
This re-exports all hub images in a square format for use as icons while getting correct relative scaling.
2022-11-03 17:07:41 +01:00
David Lechner b84fed1de9 npm/images: add hub-inventor.png file to package 2022-10-28 12:38:07 -05:00
David Lechner d49bc548c7 npm/images: new @pybricks/images package v1.0.0 2022-10-28 12:21:27 -05:00
Barry-Williams 492d6cd2d4 pybricks.robotics.DriveBase: Add basic example. 2022-10-28 08:23:14 +02:00
Laurens Valk be3558167e doc/common/extensions: Fix compatibility labels.
Fixes https://github.com/pybricks/support/issues/754
2022-10-27 15:41:42 +02:00
David Lechner 4573fd2760 LICENSE: update copyright year 2022-10-21 13:14:13 -05:00
David Lechner 2a23c2e81d npm/jedi: v1.1.0
- Update pybricks_jedi Python package dependency.
- Bump JavaScript package version for release.
2022-10-21 13:08:14 -05:00
David Lechner fe126de264 npm/pybricks-docs: v2.3.0
New JavaScript package release for v3.2.0b4 docs.
2022-10-21 12:59:25 -05:00
David Lechner b290f7dc6b github: update jedi action dependencies
Update to current Ubuntu LTS and actions.

This fixes deprecation warnings about node v12 and fixes wrong python
version used by poetry.
2022-10-21 12:55:28 -05:00
David Lechner 9127afdcbc jedi: pybricks_jedi v1.2.0
Bump pybricks_jedi package version for release.
2022-10-21 12:51:43 -05:00
David Lechner 7ee1f66556 jedi: update pybricks package
This updates the pybricks package dependency to v3.2.0b4.
2022-10-21 12:51:00 -05:00
David Lechner f5422e9c90 v3.2.0b4 2022-10-21 12:39:27 -05:00
David Lechner 40fc2588f9 pybricks._common.System: add storage method
This adds stubs, docs and code completion tests for the System.storage()
method.

This was added to Pybricks MicroPython in:
https://github.com/pybricks/pybricks-micropython/commit/246ebea25d25d5a3e4a4e62ebd031491a409c923
2022-10-21 12:35:34 -05:00
David Lechner 96be47f21b doc/main/pupdevices/motor: Fix center example.
This fixes the include for the centering example to link it to the correct source file.

Fixes: https://github.com/pybricks/support/issues/734#issuecomment-1272329217
2022-10-10 09:20:00 +02:00
Laurens Valk e1be50181a doc/main: Revisit and automate all renders and diagrams.
Previously, all renders were created and added manually when a newly
supported device was added to the documentation.

This commit revisits all diagrams by creating them using a single
LDRAW multi-file part model and LPUB3D building instructions file.

This makes perspective and resolution consistent across all images, and
we could update them all at once if needed.

It also removes the background from all images so they can be used
with different documentation themes.
2022-10-10 09:19:49 +02:00
Laurens Valk 52117157d8 .gitignore: Ignore LDRAW tool data. 2022-10-02 19:31:06 +02:00
Laurens Valk 7778ce96a5 setup: Ignore jedi for doc8. 2022-10-02 19:29:57 +02:00
Laurens Valk 637677dae2 jedi/poetry: Install in project.
Nested virtual environments are complicated enough, so this way we can at least get back to a clean state if we need to.
2022-09-30 16:04:33 +02:00
Laurens Valk abc00df943 pybricks.pupdevices: Avoid class-specific LightArray.
Let's minimize complicated hacks if we can help it.
2022-09-30 16:04:33 +02:00
David Lechner bfa0b69e93 npm/jedi: fix exports and copy extra files
The export keys were wrong and the README and CHANGELOG files were
missing the the final package.
2022-09-07 20:19:23 -05:00
David Lechner f664757ef3 npm/jedi: new js package
This adds a new javascript package for distributing the pybricks-jedi
Python package and it's dependencies via the npm ecosystem for use in
Pybricks Code.
2022-09-07 20:10:34 -05:00
David Lechner b747520d1c jedi: add LICENSE file
This adds a LICENSE file to the jedi directory specifically for the
pybricks-jedi Python package. Poetry will automatically pick up this
file and include it in the distributed package.
2022-09-07 19:41:23 -05:00
The Vinh Luong (Lương Thế Vinh) dcddf15d15 flake8: Update VSCode settings and suppress some Flake8 linting warnings.
* update VSCode settings to exclude __pycache__

* suppress some Flake8 linting warnings

* minor fix: SPHINX_BUILD env var may not be set

* decorate _PybricksEnumMeta.__dir__() with @classmethod

* flake8-ignore E501
2022-09-05 18:40:39 -05:00
The Vinh Luong (Lương Thế Vinh) c64458d3b9 parameters: Fix wrong typing in pybricks.parameters.Stop. 2022-09-05 18:38:29 -05:00
David Lechner 2a963b2a0b poetry: update dependencies
This fixes:

    Invalid PEP 440 version: '5.1.0.dev20220527.dev-20220527'
2022-09-05 16:58:56 -05:00
Laurens Valk 6df509b66e pybricks.hubs.EssentialHub: Fix duplicate example.
Also delete reference image with the light consistent with other small hubs.
2022-07-04 15:00:41 +02:00
Laurens Valk ac9585b7a5 ubuiltins: Fix broken classmethod decorator.
Since classmethod is being redefined here, it broke Sphinx.

Fixes https://github.com/pybricks/pybricks-api/issues/86
2022-07-04 14:33:17 +02:00
Laurens Valk 0982d5d65b ubuiltins: Document int. 2022-07-04 14:33:17 +02:00
Laurens Valk 8e7f8c619e ubuiltins: Document float. 2022-07-04 14:33:17 +02:00
Laurens Valk a0b3ba1d74 ubuiltins: Document dict.
This just adds a direct reference to the Python docs.
2022-07-04 14:33:17 +02:00
Laurens Valk 3dc28579ef ubuiltins: Document bool, complex. 2022-07-04 14:33:17 +02:00
Laurens Valk 923f9df3da ubuiltins: Document input, print. 2022-07-04 14:33:17 +02:00
Laurens Valk 1665b77847 ubuiltins: Start converting signatures to new standard.
Also clarify description wherever applicable.
2022-07-04 14:33:17 +02:00
Laurens Valk 96e7e5f3d0 umath: Convert signatures to new standard. 2022-07-04 14:33:17 +02:00
Laurens Valk 1b51d71061 examples: Generate hub examples while building.
This way we don't have to commit the generated scripts.

While we do this, rename ExampleHub to ThisHub so that the common scripts can actually run.
2022-07-04 14:29:33 +02:00
Laurens Valk 9d706d719a .gitignore: Ignore .python-version. 2022-07-04 08:40:28 +02:00
David Lechner 7c62a2833a doc/main/images: add temporary essentialhub images
We don't have proper images yet, so we are adding copies of the Prime
hub images for now to not take up space in git history with temporary
images and to at least have something so the docs will build.
2022-06-29 12:08:33 -05:00
David Lechner 03ee7f74e8 doc/pup/essentialhub: fix bit rot
This fixes bitrot for PR #96. Also fixes a few minor issues where
changes were missed.
2022-06-29 12:08:33 -05:00
Pavel Lobodinský 025147680c pybricks.hubs.EssentialHub: Added missing Hub 2022-06-29 12:08:33 -05:00
David Lechner e467bb57c9 pybricks_jedi/v1.1.0 2022-06-26 00:10:04 -05:00
David Lechner 33d0c9fa49 v3.2.0b1-r3 2022-06-26 00:00:11 -05:00
David Lechner e95386e23e jedi: improve signature information
This fixes numerous issues where jedi provided incomplete or poorly
formatted signatures and docstrings.

Issue: https://github.com/pybricks/pybricks-code/issues/932
2022-06-25 23:54:49 -05:00
David Lechner a758eaa1db github/build: don't run build on tags
This is almost always redundant.
2022-06-24 15:37:59 -05:00
David Lechner 470eebd1c5 github/jedi: fix working directory in publish job
This was building the pybricks package instead of the pybricks_jedi
package because it was using the wrong directory.
2022-06-24 15:29:02 -05:00
David Lechner 37cdd2a83b v3.2.0b1-r2 2022-06-24 15:14:42 -05:00
David Lechner a2d9c33eb5 jedi: add new pybricks_jedi package
This package will be used in Pybricks Code to provide some intellesense
operations.
2022-06-24 14:52:45 -05:00
Laurens Valk 6d0de1effa doc/main: Drop beta tag.
Less variants is better. Now we'll just have to add beta support for SPIKE in the next release.

Fixes https://github.com/pybricks/pybricks-api/issues/102
2022-06-10 11:31:08 +02:00
Laurens Valk 8e7fc53974 doc/main: Disable NXT and EV3 pages again.
Now that all typehints have been added, we can
revert commit 4c583a9d4e again.
2022-06-10 11:20:32 +02:00
Laurens Valk e456c8ef91 pybricks: Drop underscores on imports.
Fixes https://github.com/pybricks/pybricks-api/issues/101
2022-06-10 11:10:20 +02:00
Laurens Valk 6500440031 pybricks: Drop most ellipsis and pass instances.
See [1]: "I still prefer ... over pass. This clarifies to the readers that they are reading a stub. But if there's a docstring we need neither."

[1] https://github.com/srittau/type-stub-pep/issues/88#issuecomment-758843441

Fixes https://github.com/pybricks/pybricks-api/issues/101#issuecomment-1148780369
2022-06-10 10:46:44 +02:00
Laurens Valk 8ec1b18629 pybricks.parameters: Add typing, part 2. 2022-06-10 10:33:33 +02:00
Laurens Valk 26908040eb pybricks.common: Add CommonColorSensor class.
Fixes https://github.com/pybricks/pybricks-api/issues/103
2022-06-10 10:05:13 +02:00
Laurens Valk f67c98105a pybricks.parameters: Add typing, part 1. 2022-06-10 10:05:13 +02:00
Laurens Valk 877391dea7 pybricks.parameters: Add typing. 2022-06-10 10:05:13 +02:00
Laurens Valk fb3446ad0d pybricks.robotics: Add typing. 2022-06-10 10:05:12 +02:00
Laurens Valk 31256d70c1 pybricks.tools: Add typing. 2022-06-10 10:05:12 +02:00
Laurens Valk f87e1b48ac pybricks.messaging: Add typing. 2022-06-10 10:05:12 +02:00
Laurens Valk 6bcf6117c3 pybricks.hubs: Add typing. 2022-06-10 10:05:11 +02:00
Laurens Valk c77682f50d pybricks.iodevices: Add typing. 2022-06-10 10:05:11 +02:00
Laurens Valk 4c583a9d4e doc/main: Enable NXT and EV3 pages.
This will help us review the pages as we add typing to the documentation. Then they will be hidden again.

This commit can be cherry-picked later on if we ever enable NXT and EV3 content again.
2022-06-10 10:05:10 +02:00
Laurens Valk 0688b8dded doc/common/conf.py: Add missing units.
These are used for NXT sensors.
2022-06-10 10:05:10 +02:00
Laurens Valk d1a4327751 pybricks.ev3dev.media: Type file classes. 2022-06-10 10:05:10 +02:00
Laurens Valk 4aec24a051 pybricks.ev3dev.media: Type Font class. 2022-06-10 10:05:09 +02:00
Laurens Valk 7bc995d0b6 pybricks.ev3dev.media: Type Image class. 2022-06-10 10:05:09 +02:00
Laurens Valk 725a07e6e1 pybricks.ev3dev._speaker: Add typing. 2022-06-10 10:05:09 +02:00
David Lechner d43bf94720 v3.2.0b1-r1 2022-06-09 19:31:04 -05:00
David Lechner c6163fcc81 pybricks: add __init__.py
This file was missing which breaks some tools that don't know about
namespace packages. Also `from pybricks import version` is a thing.
2022-06-09 19:25:44 -05:00
David Lechner 34992d5b20 vscode: drop deprecated setting
This setting no longer has any effect.
2022-06-09 19:25:21 -05:00
David Lechner c77aedcd8a @pybricks/ide-docs v2.2.0 2022-06-02 10:44:03 -05:00
David Lechner 7b9209681c @pybricks/ide-docs v2.1.0 2022-06-02 10:40:55 -05:00
Laurens Valk 7de33c0ce5 v3.2.0b1 2022-06-02 17:10:46 +02:00
Laurens Valk dbc5d327e3 doc/common/conf: Display s^2 units correctly.
Now that we no longer use these in hyperlinks, we can use the right
unicode to display this unit correctly.
2022-05-30 17:29:30 +02:00
Laurens Valk 2e39740e4b pybricks.nxtdevices: Add typing. 2022-05-30 17:19:38 +02:00
Laurens Valk 45e0744b3f pybricks.ev3devices: Add typing. 2022-05-30 15:34:07 +02:00
Laurens Valk aab6c0d3e0 pybricks.media.ev3dev: Repair build.
Upon temporarily including these to update typing for pybricks.ev3devices, a lot of build errors were encountered.

Even though we won't be re-including these pages any time soon, we'll want to occasionally make sure that they still build with more recent versions of Sphinx.
2022-05-30 14:29:14 +02:00
Laurens Valk 8a4c4a5400 CONTRIBUTING: Add basic docstring guidelines.
Fixes https://github.com/pybricks/pybricks-api/issues/99
2022-05-30 10:57:31 +02:00
Laurens Valk ecfbc6ca75 CONTRIBUTING: Fix formatting and link to setup.
We don't have a wiki.
2022-05-30 10:21:34 +02:00
Laurens Valk c3b6d44c59 pybricks.geometry: Add typing. 2022-05-30 10:17:47 +02:00
Laurens Valk db71a80f36 pybricks.common.IMU: Add typing. 2022-05-30 10:03:44 +02:00
Laurens Valk a80d5cf91e pybricks.common.Accelerometer: Add typing.
Also remove tapped and shaken, which are not implemented.
2022-05-30 09:46:00 +02:00
Laurens Valk 515d261bad pybricks.common.Charger: Add typing. 2022-05-30 09:29:14 +02:00
Laurens Valk dd54d67720 pybricks.common: Use Number as input type where allowed. 2022-05-28 11:33:08 +02:00
Laurens Valk 453332201e pybricks.common.Battery: Add typing. 2022-05-28 11:23:21 +02:00
Laurens Valk 3548ff47ce pybricks.common.Keypad: Add typing. 2022-05-28 11:20:07 +02:00
Laurens Valk a02b283f3f pybricks.common.LightMatrix: Add typing. 2022-05-28 11:15:17 +02:00
Laurens Valk f197531979 pybricks.common.LightArray: Add typing.
Remove blink and animate, which aren't implemented. These weren't displayed in the docs, so this is not a real change; it just makes typing more correct.
2022-05-28 10:55:40 +02:00
Laurens Valk 2167b9d52d pybricks.common.ColorLight: Add typing.
Also remove pybricks.common.Light which isn't used anywhere.

pupdevices.Light is a standalone light that does not support animations or blinks, so don't inherit from this nonexistent class.

Also remove the ColorLight.reset() method which was never implemented.
2022-05-27 20:00:28 +02:00
Laurens Valk 2be15fdf4d pybricks.common.Speaker: Add typing. 2022-05-27 19:14:22 +02:00
Laurens Valk aaf3ad1b9c pybricks.common.Control: Add typing. 2022-05-27 17:15:24 +02:00
Laurens Valk bd7806d2d4 all: Format with black.
Also activate auto formatting. Bump flake8 and mark black
disagreements in setup.cfg.
2022-05-27 16:22:05 +02:00
Laurens Valk 24f7d7c288 pybricks.common.Motor: Add typing. 2022-05-27 16:01:18 +02:00
Laurens Valk 5e0ba1de07 doc/common/conf: Format units in return type.
This formats return types so they don't look like tuples:

int: deg

If we can figure out how these nodes work, we can create proper links
and maybe use italics for the units or a slightly different font color.
2022-05-27 14:59:32 +02:00
Laurens Valk 2f8ba40034 poetry: Patch Sphinx to use docstring signatures when given.
This is the intended behavior everywhere, but it wasn't working for overloaded functions and methods.

See https://github.com/pybricks/sphinx/commit/f57417c042cbf4a72448518b7599517495cc6fde
2022-05-27 12:21:45 +02:00
Laurens Valk c4a09ab62a pybricks.common.DCMotor: Add typing. 2022-05-09 15:05:09 +02:00
Laurens Valk c0c53db5ee pybricks.common.System: Add typing. 2022-05-09 10:41:39 +02:00
Laurens Valk 5e09a6f1bd .vscode/settings: Add rewrap setting.
Now we can press Alt+Q to hard (re)wrap comments and docstrings.
2022-05-09 10:28:39 +02:00
Laurens Valk 5e9a8c5737 doc/main/signaltypes: Change how units are documented.
Previously, arguments had "types" like ":ref:`speed`", which would be rendered by Sphinx as a hyperlink and displayed as "rotational speed: deg/s".

This worked well enough but it had a few shortcomings:
- It looks bad on autocomplete, which doesn't know how to render RST with cross references.
- No real type information: int, float, ... ?
- Some units are very long, making the docs less concise.
- The unified approach doesn't always work. Some method arguments can be either deg/s or mm/s, depending on the application. This gets even lengthier.
- It's hard to maintain if you don't know what to link to.

In the new approach, the unit is just added to the type as plain text. Instead of giving the physical signal name, we give the real data type, which is more standard. The physical signal name is usually apparent from the docstring anyway, and can be inferred from the unit as well. This also solves all of the above problems.

Since most Pybricks methods allow both int and float for numeric inputs, we document these as a Number type, which is the union of int and float. Since the type is no longer directly tied to the type, we can still document the return type correctly, since this is never a union.

Instead of having complicated hacks in Sphinx to make this work (I have tried many), it turns out we can conveniently suppress broken references and still display the units. The only downside is that units will no longer have hyperlinks to the signal pages, at least for the moment. We should be able to make on_missing_reference a bit smarter to format the units as we see fit if needed.

The approach here is exemplified in the Motor.run_until_stalled method. Subsequent commits will apply it everywhere. Also clarify the behavior for duty_limit=None while we are updating this code anyway.
2022-05-09 10:28:31 +02:00
Laurens Valk f934fdd9bd pybricks.common.IMU: Change example to print G force.
Since we changed the acceleration units to mm/s/s, the output values are
fairly large.

The Matrix repr function prints values up to 999, so this avoids
truncating the output.

It is also a good demo of scalar division for a Matrix / Vector.
2022-04-01 16:32:39 +02:00
Laurens Valk 556728937f pybricks.common.Accelerometer: Use mm/s/s units.
Fixes https://github.com/pybricks/pybricks-api/issues/94

For Move Hub, this is a breaking change since Move Hub IMU support
was already released. For the other hubs, the IMU API has not been
released yet, so we can do this silently.
2022-04-01 15:41:15 +02:00
Laurens Valk 813ea61308 doc/main/conf.py: Show beta features on RTD/latest. 2022-04-01 14:51:38 +02:00
Laurens Valk 2e8e43bcdf rtd-requirements: Upgrade to Sphinx 4.4.0. 2022-04-01 14:31:35 +02:00
Laurens Valk e4ddd1ffce pybricks.geometry.Axis: Drop ANY.
This was previously dropped in a2583944d9
but it was added in again in c666009511.

Since this module was never included in a release (it was hidden),
it is OK to do this.
2022-04-01 14:28:38 +02:00
Laurens Valk 243f2948ef pybricks.hubs.primehub: Show in beta version.
Make it show up in the beta build and hide it in the release build.
2022-04-01 14:28:31 +02:00
Laurens Valk 81a1379781 doc/Makefile: Allow BETA=1 to include beta features.
Prior to every previous release, we we had to delete certain
features that did not make it into the release. This lets us
do that with a tag instead. This way we can keep a clean git
history that is easier to follow.
2022-04-01 13:39:04 +02:00
Laurens Valk 93a9370790 doc/common/extensions: Hide version directives in IDE build.
Version tags can be useful to keep track of new or updated features.

This lets us hide such details in the documentation that ships with the IDE to keep it concise.
2022-04-01 09:38:41 +02:00
Laurens Valk 1989561c90 .github/workflows: Fix typo in build name. 2022-03-22 15:49:23 +01:00
Laurens Valk 4101f9be79 poetry: Update Sphinx and RTD-theme.
We were not using a proper release for sphinx-rtd-theme
in order to work around some bugs. Meanwhile, a proper
release has come out, so let's upgrade to 1.0.0.

Also bump Sphinx to 4.4.

Also update and fix workarounds for cross references.
Fixes https://github.com/pybricks/pybricks-api/issues/98.
2022-03-22 15:38:04 +01:00
Laurens Valk 0a31bc711f pybricks.common.Control: Add deceleration setter.
Fixes https://github.com/pybricks/pybricks-api/issues/97
2022-03-21 11:17:34 +01:00
Pavel Lobodinský d8bd890101 pybricks.common: Charger, IMU and System auto-completion 2022-03-02 10:31:53 -06:00
David Lechner 2ba7edab0c pybricks.ev3/pupdevices: fix Motor code completion
The Microsoft Python extension for VS code doesn't include imports in
type hints, so the Motor type wasn't working properly. We can fix this
by wrapping the import type in a new, empty class definition.

The DCMotor class was also missing from ev3devices and the typing for
the overloaded reset_angle method in pupdevices was missing. These are
fixed as well.
2022-02-21 10:59:00 -06:00
Pavel Lobodinský 616051149b pybricks.common.Speaker: Add volume setter. 2022-01-20 08:56:29 +01:00
Laurens Valk e69c422f83 pybricks.common.Motor: Add absolute value example.
Fixes https://github.com/pybricks/support/issues/611
2022-01-20 08:39:43 +01:00
Laurens Valk 0ceabe8497 pybricks.common.Charger: Document it. 2022-01-14 15:14:28 +01:00
Laurens Valk d3ae4ec9ee pybricks.pupdevices.ColorSensor: Move cleanup example.
The color sensor light is much brighter, so having an example
to turn it off is a bit more useful.

Fixes https://github.com/pybricks/pybricks-api/pull/90
2022-01-07 14:11:03 +01:00
Laurens Valk ffb2f8aa96 pybricks.pupdevices.UltrasonicSensor: Move cleanup example.
Also generalize the example so that it can be used on all hubs.
2022-01-07 13:38:07 +01:00
Pavel Lobodinský 65c81834c9 pybricks.hubs.PrimeHub: Added a cleanup example. 2022-01-07 13:38:07 +01:00
Pavel Lobodinský 97002948d1 pybricks.common: Refactored Speaker API to be hub specific.
The Prime/Inventor Hub Speaker allows only a subset of EV3 Speaker API. Hence, splitting the API up.
2022-01-05 12:10:11 -06:00
Pavel Lobodinský 70aa5ee0e2 pybricks._common: Renamed incorrect argument name, fixed tuple type. 2022-01-03 11:01:33 +01:00
Pavel Lobodinský efc1650e7f pybricks.parameters: Added Icon class, added missing methods and attributes.
Added missing Icon class present in the firmware
2022-01-03 11:01:33 +01:00
Pavel Lobodinský fe60636072 pybricks.geometry: Fixed Matrix incorrect rows type, added missing methods. 2022-01-03 11:01:33 +01:00
Pavel Lobodinský a1342f77c9 pybricks.hubs: Default values for the PrimeHub. 2022-01-03 11:01:33 +01:00
Laurens Valk d806fe9fbe pybricks.common.Control: Fix docstring and type hints for limits().
Fixes https://github.com/pybricks/support/issues/565
2021-12-30 09:12:27 +01:00
David Lechner 1259d5d33a bump version for development 2021-12-16 15:36:52 -06:00
David Lechner 098b8eb9cb v3.1.0 2021-12-16 15:36:14 -06:00
David Lechner c666009511 pybricks.geometry: add Axis.ANY
This exists in the firmware but was missing here.
2021-12-16 15:08:50 -06:00
David Lechner 7f4234fc1e pybricks._common: remove type hint for integral_range()
This was removed in e061617.

Also fix import of Axis while we are touching this file.
2021-12-16 15:07:33 -06:00
David Lechner 482289c384 pybricks.robotics: add type hint for curve()
This method was added in 30803fc.
2021-12-16 15:06:00 -06:00
Laurens Valk 30803fc017 pybricks.robotics.DriveBase: Add curve method.
This generalizes motion to curves (arcs), which is in
between straight lines and in-place turns.
2021-12-01 15:38:27 +01:00
Laurens Valk 749eceefc4 pybricks.robotics.DriveBase: Document then and wait arguments. 2021-12-01 15:35:37 +01:00
Laurens Valk 57f6f0fbef pybricks.pupdevices.DCMotor: Document settings method.
Also update changelog for recent changes.
2021-12-01 14:55:34 +01:00
Laurens Valk e061617c34 pybricks.common.Control: Drop integral_range.
This setting is no longer used. We leave a placeholder setting so we don't break existing programs.

See https://github.com/pybricks/pybricks-micropython/commit/e82dd6a2be4e378ab0b1ee7e3b2643fe654de4a9#diff-e529f43c94cf766ade4b68930f9713a45b62618f4305e4c0c88ba872e9f9cd0e
2021-12-01 14:54:21 +01:00
Laurens Valk eb09ecd7c7 pybricks.common.Control: Drop duty limit.
This is now a per-motor voltage limit.

See https://github.com/pybricks/support/issues/536
2021-12-01 14:41:09 +01:00
Laurens Valk 06a1542613 pybricks.pupdevices.DCMotor: Document settings method.
See https://github.com/pybricks/support/issues/536
2021-12-01 14:40:06 +01:00
Laurens Valk 82a8f2ae89 pybricks.pupdevices.Motor: Add small motor render.
Fixes https://github.com/pybricks/support/issues/441
2021-11-23 08:59:44 +01:00
Laurens Valk 7d0fe9cb85 doc/common/extensions: Fix classlink.
Allow the link to be different from the name.

This lets us fix the link for the Inventor Hub, which was linking to a non-existent page.
2021-11-22 14:49:20 +01:00
Laurens Valk 1af876ac8f pybricks.pupdevices.ColorLightMatrix: Fix render.
- Use isometric projection
- Fix broken plug
- Use correct background color

While we are at it, add colors to show which 9 colors this device supports.
2021-11-22 14:49:20 +01:00
David Lechner 718a28c0da @pybricks/ide-docs v2.0.1 2021-11-19 20:30:11 -06:00
David Lechner a2a375cb5c docs/pupdevices: fix broken link
The link to the color light matrix page was broken due to an invalid
file name.
2021-11-19 20:28:33 -06:00
David Lechner 466d8d6c86 @pybricks/ide-docs v2.0.0 2021-11-19 19:59:19 -06:00
David Lechner e77b3dcf4d v3.1.0rc1 2021-11-19 19:42:07 -06:00
David Lechner b6d1eef2a1 pybricks.iodevices.LWP3Device: add api and docs
This adds docs and API stubs for pybricks.iodevices.LWP3Device.

Fixes: https://github.com/pybricks/support/issues/534
2021-11-19 19:31:53 -06:00
David Lechner 20cb5fdde5 doc: make all titles sentence case
This makes the casing of titles consistent throughout the docs.

Fixes: https://github.com/pybricks/pybricks-api/issues/75
2021-11-19 19:30:57 -06:00
David Lechner 2f574e8c03 pybricks.pupdevices.ColorLightMatrix: add api and docs
This adds the SPIKE 3x3 Color Light Matrix to the API and docs.
2021-11-19 19:30:57 -06:00
David Lechner 9d8531a85b npm/ide-docs: move npm packaging to separate directory
This makes a clean separation between the packaging and the docs.
2021-11-19 19:30:57 -06:00
David Lechner fee122cf33 CHANGELOG: move to top level
This makes the CHANGELOG easy to find.
2021-11-19 16:37:38 -06:00
David Lechner f42ed06d4f doc/main/CHANGELOG: use keepachangelog.com recommendations
This updates the changelog to use keepachangelog.com recommendations
to make it consistent with other Pybricks changelogs.
2021-08-30 13:29:38 -05:00
David Lechner a8126f0bed doc/main: fix dir in package.json
Another case of a missed ide to main directory.
2021-08-30 12:20:44 -05:00
David Lechner 2c4685f594 doc/main: add TAG make option
This splits the Sphinx tag option from SPHINXOPTS. This allows us to
specify the tag without having to remember to add -W and -t. It also
fixes not being able to specify the tag with make.bat on Windows.

While we are touching this, redundant SOURCEDIR uses are removed (main
is already the default) and the .github/workflows/publish-ide-docs.yml
script is fixed (ide directory no longer exists).
2021-08-30 12:14:34 -05:00
David Lechner 8b0f98d25b @pybricks/ide-docs v1.6.0 2021-08-30 11:12:05 -05:00
Laurens Valk dd2e6e8603 ubuiltins.int: Document from_bytes manually.
Sphinx fails to show the docsting for class methods. Since we have very few of them, it is easier to just document this one manually

Fixes https://github.com/pybricks/pybricks-api/issues/86
2021-08-22 12:15:42 +02:00
Laurens Valk a0f4818e26 ubuiltins.int: Document it. 2021-08-06 14:59:45 +02:00
Laurens Valk af23c10566 ubuiltins.float: Document it.
Override typed docstrings in order to hide types like SupportsFloat.
2021-08-06 14:58:19 +02:00
Laurens Valk d7096dad80 ubuiltins.complex: Document it.
Override typed docstrings in order to hide types like SupportsFloat and SupportsComplex.

Avoid use of ``real`` and ``imag``, since both ``a`` and ``b`` can be
either.

Also reduce number of overloads by letting ``b`` default to 0, which is true in practice.

See also https://github.com/pybricks/pybricks-api/issues/84
2021-08-06 14:25:00 +02:00
Laurens Valk 1d2b1f0307 rtd-requirements: Update to Sphinx 4.1
See https://github.com/pybricks/pybricks-api/issues/70
2021-08-06 10:47:14 +02:00
Laurens Valk 9945b43713 pyproject: Update to Sphinx 4.1.
Also bump to a development version of sphinx-rtd-theme that supports Sphinx 4.

Fixes https://github.com/pybricks/pybricks-api/issues/70
2021-08-06 10:40:26 +02:00
Laurens Valk 4124e1dd4e doc/common/conf: Drop unused imports.
These prevent us from upgrading Sphinx and they aren't being used anyway.

Fixes e4c7e5abeb
2021-08-06 10:07:42 +02:00
Laurens Valk d86b5584fb ubuiltins: Type enumerate as a class.
This reverts commit a0ea0d8ca0 because of https://github.com/pybricks/pybricks-api/issues/72
2021-08-06 09:51:52 +02:00
Laurens Valk 1c01e981e0 usys: Clean up.
Add requirements, drop autodoc, and add a few cross references.
2021-08-05 16:13:50 +02:00
Laurens Valk 8a6ddf677c pybricks.pupdevices.Remote: Light examples. 2021-08-05 14:56:00 +02:00
Laurens Valk 5d4481dbb0 pybricks.pupdevices.ColorDistanceSensor: Drop duplicate example. 2021-08-05 13:45:57 +02:00
Laurens Valk 786770cff2 ubuiltins.bool: Use arguments.
https://github.com/pybricks/pybricks-api/issues/82
2021-08-05 12:49:44 +02:00
Laurens Valk 572b573d2f ubuiltins: Fix _type typos.
This was accidentally introduced via https://github.com/pybricks/pybricks-api/issues/71 by replacing too many things automatically.
2021-08-05 12:33:00 +02:00
Laurens Valk 15bd870140 ubuiltins: Use argument layout.
https://github.com/pybricks/pybricks-api/issues/82
2021-08-05 12:32:56 +02:00
Laurens Valk b101d1992d ubuiltins.print: Use English. 2021-08-05 12:32:51 +02:00
Laurens Valk b013204f88 ubuiltins.input: Say what it does.
The docstring said something about an argument, but not what this function is for.
2021-08-05 12:32:47 +02:00
Laurens Valk b3c5353dd6 ubuiltins: Reorganize page.
Fixes https://github.com/pybricks/pybricks-api/issues/80
2021-08-05 12:32:41 +02:00
Laurens Valk 0ecf536cda ubuiltins: Add compatibility everywhere.
This lets us sort everything by category or alphabetically without having to make special categories for Move Hub.
2021-08-05 12:32:37 +02:00
David Lechner f2124615ba ubuiltins: List decorators in separate section.
This moves the built-in decorators to their own section and uses
`autodecorator` to indicate they are decorators.
2021-08-05 12:32:29 +02:00
Laurens Valk 49ade9d9c6 pybricks.robotics: Show compatibility. 2021-08-05 12:32:03 +02:00
Laurens Valk 045312921e pybricks.geometry: Show compatibility. 2021-08-05 12:32:03 +02:00
Laurens Valk 39f58b9e03 pybricks.tools: Show compatibility. 2021-08-05 12:32:03 +02:00
Laurens Valk a0467b8d8e doc/common/requirements: Fix image paths.
This ensures that the requirements directive works regardless of the depth of the document in the tree.
2021-08-05 12:32:03 +02:00
Laurens Valk 4945156d9a pybricks.parameters: Show compatibility. 2021-08-05 12:32:03 +02:00
Laurens Valk 97b2de46ac pybricks.hubs: Show compatibility. 2021-08-05 12:32:03 +02:00
Laurens Valk e8d7281626 doc/common/requirements: A hub supports itself.
This way we can do the following, which is useful if it cannot be expressed in terms of other requirements.

.. pybricks-requirements:: movehub

A good example is on the specific hub page itself. The Move Hub requires the Move Hub.
2021-08-05 12:32:03 +02:00
Laurens Valk 979da8b170 pybricks.pupdevices: Show compatibility. 2021-08-05 12:32:03 +02:00
Laurens Valk ac4a913be3 doc/common/requirements: Toggle hub table.
This makes it possible to hide/unhide the compatibility table.

It is adapted from the sphinxcontrib-contentui extension: https://github.com/ulrobix/sphinxcontrib-contentui
2021-08-05 12:32:03 +02:00
Laurens Valk 31a30f380f doc/common/requirements: Rename to static.
We will work on a version that can be toggled dynamically. It will just include this static version. This keeps things simple and still lets
us use the static version as needed.
2021-08-05 12:32:03 +02:00
Laurens Valk 87dacfbf76 doc/common/extensions/requirements: Allow none.
With no requirements imposed, this means all hubs will work.
2021-08-05 12:32:03 +02:00
Laurens Valk b02895e5fc ubuiltins: Use raw strings for inline math.
This resolves the following warnings:
./src/ubuiltins/__init__.py:143:31: W605 invalid escape sequence '\l'
./src/ubuiltins/__init__.py:143:38: W605 invalid escape sequence '\l'
./src/ubuiltins/__init__.py:174:31: W605 invalid escape sequence '\l'
./src/ubuiltins/__init__.py:174:38: W605 invalid escape sequence '\l'
2021-08-05 12:32:21 +02:00
Laurens Valk 486ac60ea0 ubuiltins.bool: Clarify docs.
Avoid double and triple negatives.
2021-08-05 12:32:17 +02:00
Laurens Valk a3b6507a15 ubuiltins.bytes: Clarify docs. 2021-08-05 12:32:14 +02:00
Laurens Valk 75bc15f071 ubuiltins: Add bytearray. 2021-08-05 12:32:03 +02:00
Laurens Valk 0b9280a8df uerrno: Display on separate page.
Fixes https://github.com/pybricks/pybricks-api/issues/78
2021-08-02 11:01:20 +02:00
David Lechner 677656f669 pybricks.robotics.DriveBase: Fix arg name in type hints.
This fixes the `speed` arg name in the `DriveBase.drive()` method in the type hint file. Fixes #76.
2021-07-30 15:27:09 -05:00
Laurens Valk a8ab8b2314 pybricks.pupdevices.Motor: Add reset_angle kwarg.
Documents https://github.com/pybricks/support/issues/389
2021-07-28 16:07:53 +02:00
Laurens Valk 62bb262b96 pybricks.pupdevices.Remote: Add more examples. 2021-07-28 14:50:43 +02:00
Laurens Valk 8463206f8e pybricks.pupdevices.Remote: Add name().
https://github.com/pybricks/support/issues/404
2021-07-28 13:41:00 +02:00
Laurens Valk 1cf6f8d31b pybricks.iodevices: Document availability. 2021-07-27 15:55:38 +02:00
Laurens Valk a0bd4a6812 doc/common/extensions: Show compatibility on hub.
This simplifies the table and reduces its size.

Also copy assets manually since Sphinx does not automatically copy
images to _images when used for custom directives.
2021-07-27 15:43:13 +02:00
Laurens Valk efc907fb0c doc/main: Add hub compatibility icons.
Also render to git tree.
2021-07-27 14:56:11 +02:00
Laurens Valk be0903de9e doc/common/extensions: Basic styling.
Turns it into a table with images, using builtin RTD classes for CSS.
2021-07-26 15:47:02 +02:00
Laurens Valk 20361971da doc/main/images: Crop City Hub.
This hub had extra whitespace so they were all the same height, but this is no longer needed in the current layout.
2021-07-26 15:03:42 +02:00
Laurens Valk cefa78270a doc/common/extensions: Add requirements directive.
Displays compatibility for each hub depending on its features.
2021-07-26 12:18:55 +02:00
Laurens Valk 1f5eb1790b doc/main/package: Reenable warnings as errors.
This gets disabled when overriding SPHINXOPTS.
2021-07-23 15:59:33 +02:00
Laurens Valk 84335d0032 doc/make: Build main doc target by default.
Less typing is better.
2021-07-23 15:46:58 +02:00
Laurens Valk cb74f8e302 doc/main: Move signals to Pybricks TOC.
This was the only remaining section under "extras", so it is better to have it elsewhere. Since it only applies to the Pybricks package, put it there.

Also rename Pybricks Modules heading to Pybricks Package, since it behaves more like a package in contrast with the MicroPython modules that we now document as well.
2021-07-23 15:38:05 +02:00
Laurens Valk 78bd21b197 pybricks.common.Control: Drop feed_forward.
The implementation no longer includes this, so it is removed from the docs as well.

Fixes https://github.com/pybricks/pybricks-api/issues/74
2021-07-23 15:35:13 +02:00
Laurens Valk 24bba6d24c pybricks.pupdevices.Motor: Document control here.
Based on user feedback, we learned that the control attribute is used more frequently than anticipated. Therefore it makes sense to document it here, just like we do with instances of pybricks.common classes in hubs.

This makes it a bit easier to find and see how it is used, along with some of the existing examples.
2021-07-23 15:33:18 +02:00
Laurens Valk 0edddbb0c2 pybricks.common.Control: Fix scale doc.
Document it as an attribute instead of in the main docstring. This way we can choose where it shows up in the docs.
2021-07-23 14:51:21 +02:00
Laurens Valk a11af0845b doc/main/motors: Drop commented sections.
This is not going to be completed here in the API docs.
2021-07-23 14:37:28 +02:00
Laurens Valk 3b71bce0b0 doc/main: Build IDE docs from main docs.
With EV3 dropped from the 3.X documentation, the main docs are now nearly identical to the IDE docs, save for some layout changes.

Having just one set of docs is easier to maintain. This drops the IDE doc target.
2021-07-23 12:56:33 +02:00
Laurens Valk 434ff5e346 doc/common/conf: Keep IDE conf settings.
We are going to be deleting the ide build files, so make sure we keep what's needed.
2021-07-23 12:45:30 +02:00
Laurens Valk f7239fc9a9 pybricks.parameters.Port: Drop EV3 sensor ports.
We can restore these if the docs cover EV3 once more.
2021-07-23 12:35:46 +02:00
Laurens Valk 7e13611bc5 doc/common/conf: Default to main on RTD.
It would be nicer to specify this in the .readthedocs.yaml file, but this appears to not to be supported.
2021-07-23 12:34:10 +02:00
Laurens Valk 78feab8949 pybricks.tools: Drop Datalog class from doc.
We can unhide this if/when we support this on Powered Up.
2021-07-23 11:35:32 +02:00
Laurens Valk f692e5a127 pybricks.iodevices: Drop EV3 specific devices.
Some of these could be brought back if we add Powered Up support.
2021-07-23 11:32:01 +02:00
Laurens Valk fbd843cb54 doc/main/index: Unify IDE and main build.
The `only` directive can be used to include content selectively. It cannot be used to select a different TOC, which is why we resorted to separate doc builds before.

Now that we have dropped EV3 references from the docs, we can use a single build and just customize the content on the landing page with the only directive.

The docs can now be built with:

# Main docs:
make -C doc html SPHINXOPTS=-tmain

# IDE docs:
make -C doc html SPHINXOPTS=-tide
2021-07-23 11:25:51 +02:00
Laurens Valk e4c7e5abeb doc/common/conf: Drop class method hack.
This can be traced back to 0013a74d72 and 92e3735d63.

It was used to work around things like

sound.beeps(number)
   Description

being incorrectly displayed as

classmethod sound.beeps(number)
   Description

But the current version of sphinx appears to display this correctly even without the hack. We want to reduce the number of hacks because they tend to break updates (https://github.com/pybricks/pybricks-api/issues/69#issuecomment-879822417).
2021-07-23 11:04:03 +02:00
Laurens Valk 8d521c1b1f doc/common/conf: Drop EV3 hack.
This is no longer required, perhaps not even for EV3. For example, PrimeHub.speaker looks as intended.

We want to reduce the number of hacks because they tend to break updates (https://github.com/pybricks/pybricks-api/issues/69#issuecomment-879822417).
2021-07-23 10:48:07 +02:00
Laurens Valk 1be7fce116 doc/main: Drop EV3 references.
To make the documentation easier to use and maintain, EV3 content will be hidden.

The stable 2.0 docs should be used for EV3 instead.
2021-07-23 10:41:34 +02:00
Laurens Valk 5ab81dc732 doc/main: Update landing page with link to EV3. 2021-07-21 19:27:45 +02:00
Laurens Valk 72e0d87f77 ubuiltins: Examples for common exceptions. 2021-07-21 14:53:56 +02:00
Laurens Valk 923e8caf84 ubuiltins: Organize exceptions. 2021-07-21 11:12:51 +02:00
Laurens Valk e8d47ffca1 uerrno: Document alongside OSError.
These are meant to be used together, so document them in the same place along with a practical example.
2021-07-19 15:03:10 +02:00
Laurens Valk 2c32d093d0 ubuiltins.bytes: Clarify range up to 255.
Be consistent and use <= for both. A bit more intuitive because the number 256 cannot be used in bytes objects.
2021-07-16 16:12:43 +02:00
Laurens Valk ba6d7ac3f5 ubuiltins: Fix unwanted ubuiltins prefix.
Fixes https://github.com/pybricks/pybricks-api/issues/71.
2021-07-16 16:07:55 +02:00
Laurens Valk 64ea5e341c ubuiltins: Sort classes and functions by use case. 2021-07-16 16:07:55 +02:00
Laurens Valk a0ea0d8ca0 ubuiltins: Document enumerate as a function.
Though it is technically its own type in MicroPython, this change follows the CPython documentation. Essentially this just drops the class prefix and leaves everything else unchanged.

This makes more sense when organizing this module by classes and functions. It's also a bit more logical since the equivalent example we provoide is a function definition, not a class definition.
2021-07-16 16:07:55 +02:00
Laurens Valk 29404babcf ubuiltins: Split out automodule.
List all functions and classes explicitly so we can organize them by category in later commits.

Also split out exceptions and uerrno to dedicated page because the builtins page was getting very long and hard to navigate.
2021-07-16 16:07:46 +02:00
Laurens Valk 3b1fd091f1 micropython: Add examples for memory stats. 2021-07-14 16:08:52 +02:00
Laurens Valk cd7d5be748 micropython.stack_info: Clean up docstring.
Reword to say how it useful, not how it is not useful.

Also fix return type.
2021-07-14 15:36:18 +02:00
Laurens Valk 97e368312e micropython.qstr_info: Clean up docstring.
Say the same with less words. Also add one line from elsewhere in the MicroPython docs to explain what this is about.
2021-07-14 15:32:28 +02:00
Laurens Valk 28af77fcfc micropython.mem_info: Clean up docstring.
Say the same with less words.
2021-07-14 15:31:41 +02:00
Laurens Valk 3ed6e2dd7d micropython.opt_level: Clarify docstring.
Just list what each level does instead of a complicated if-then bullet list. It's still shorter anyway.

Also add a note that this only applies to REPL code in case of Pybricks.
2021-07-14 15:13:26 +02:00
Laurens Valk 4c00c3209b micropython.const: Improve docstring, add example.
This merges the useful information from two different places:
- The original docstring for const.
- Writing MicroPython code for constrained devices.

Also reduce type to just int, because only ints are supported.
2021-07-14 14:48:59 +02:00
Laurens Valk c656eae2f3 micropython: Drop TConst type.
TConst does not exist, so adding it makes it a bit harder to read than needed. The const() "function" will take int or float, and the return value can be used as such, even if it is optimized out. This is described in the docstring, so we can leave out the additional type.

Also adds autofunctions in place of one auto module so we can move things around as needed. Also fix cross links with usys to get the build to pass before we update that module.
2021-07-14 14:13:18 +02:00
Laurens Valk 456dc28c1b .readthedocs: Add configuration file.
When this file is present, the settings in the online dashboard will be ignored.

This lets us explicitly set the Python version, in this case to 3.8 to match pyproject.toml.

Fixes https://github.com/pybricks/pybricks-api/issues/68.
2021-07-14 13:06:30 +02:00
Laurens Valk 238204d280 doc/main: Rename from doc/api.
The doc/api is a legacy name, which is confusing in the current use, since all build targets are now APIs.

Today we have:

doc/common: Common configuration and settings between all targets.

doc/main: Main Pybricks documentation at docs.pybricks.com.

doc/ide: Documentation shipped with the Pybricks Code IDE.
2021-07-14 11:39:20 +02:00
Laurens Valk 55aec445b1 CONTRIBUTING: Update commit message guidelines. 2021-07-14 11:39:20 +02:00
Laurens Valk 7f622927ff CHANGELOG: Add recent changes. 2021-07-14 11:39:20 +02:00
Laurens Valk 8384a10c2d doc/ide/index: Enable MicroPython modules. 2021-07-14 11:39:20 +02:00
Laurens Valk 619fa0c968 doc/main: Group MicroPython rst files.
They are easier to find when they are not mixed with Pybricks docs.
2021-07-14 11:39:25 +02:00
Laurens Valk 1fab46e67f doc/main/index: Clean up menu and builtins.
There is no ubuiltins module, so we shouldn't mention it.

Also reduce size of other module titles so they fit on one line in the
menu. This makes it easier to read and get an overview.
2021-07-14 11:39:20 +02:00
Laurens Valk 727ec3fe46 umath: Redo module docs.
This reworks the documentation for the umath module, as done previously as per https://github.com/pybricks/pybricks-api/pull/64 and https://github.com/pybricks/pybricks-api/issues/63

The presentation and docstrings are inspired by the Python 3 math module documentation instead of the MicroPython math module documentation. Functions are grouped roughly by use case.
2021-07-14 11:22:04 +02:00
Laurens Valk a0e4ffdb5c umath: Use umath for math.
Do this for all Powered Up examples.
2021-07-14 11:22:04 +02:00
Laurens Valk 9b8a66e3da pybricks.hubs.PrimeHub: Add system examples. 2021-07-14 09:43:34 +02:00
Laurens Valk 9944cf3adf pybricks.common.System: Add name() getter. 2021-07-14 09:43:20 +02:00
David Lechner 286079fe68 ubuiltins: add stubs and docs for ubuiltins module
Issue: https://github.com/pybricks/support/issues/236
2021-07-14 09:41:30 +02:00
David Lechner d492b04402 umath: add stubs and docs for umath module
Issue: https://github.com/pybricks/support/issues/236
2021-07-14 09:41:30 +02:00
David Lechner 818409f675 usys: add stubs and docs for usys module
Issue: https://github.com/pybricks/support/issues/236
2021-07-14 09:41:30 +02:00
David Lechner 9dd131142e uselect: add stubs and docs for uselect module
Issue: https://github.com/pybricks/support/issues/236
2021-07-14 09:41:30 +02:00
David Lechner f828d11f40 urandom: add stubs and docs for urandom module
Issue: https://github.com/pybricks/support/issues/236
2021-07-14 09:41:30 +02:00
David Lechner 532639b820 uio: add stubs and docs for uio module
Issue: https://github.com/pybricks/support/issues/236
2021-07-14 09:41:30 +02:00
David Lechner 0865a58632 uerrno: add uerrno module stubs and docs
Issue: https://github.com/pybricks/support/issues/236
2021-07-14 09:41:30 +02:00
David Lechner 0eb0e160e9 micropython: Add stubs and docs for micropython module
Issue: https://github.com/pybricks/support/issues/236
2021-07-14 09:41:30 +02:00
David Lechner 7126431f9f pybricks: move into src/ directory
Moving the pybricks package into a src/ directory so that we can add
additional packages without polluting the top-level directory.
2021-07-14 09:41:30 +02:00
Laurens Valk 5a8baeff4c pybricks.hubs: Add system examples. 2021-07-07 09:58:51 +02:00
Laurens Valk a2801aff41 pybricks.hubs: Enable single button. 2021-07-07 09:47:28 +02:00
Laurens Valk 76432120c4 pybricks.common.System: Add shutdown method.
Also drop reset() and update reset_reason() after https://github.com/pybricks/support/issues/379
2021-07-07 09:47:35 +02:00
Laurens Valk 3ce741ac2b pybricks.common.System: Add initial documentation. 2021-07-07 09:47:28 +02:00
Laurens Valk ce1456cb92 @pybricks/ide-docs v1.5.0 2021-07-01 15:56:32 +02:00
Laurens Valk f8cd3451ea pupdevices.Remote: Enable it.
Also add an example.
2021-06-30 17:14:25 +02:00
Laurens Valk cb84ca87c6 @pybricks/ide-docs v1.4.0 2021-06-23 19:56:31 +02:00
Laurens Valk e1995f9d1b ide: Display note about beta version. 2021-06-23 19:50:51 +02:00
Laurens Valk 7f0b1489a2 ide: Re-enable 3.X features.
These were hidden for the 3.0 release, but we can re-enable them for
the beta release of 3.1.

Revert "v3: Drop parameters Side and Button."

This reverts commit 07c53e9a3d.

Revert "v3: Drop Remote control."

This reverts commit b600f5029e.

Revert "v3: Drop geometry module."

This reverts commit 5f767f3fee.

Revert "v3: Drop Prime Hub and Inventor Hub."

This reverts commit 8db7892f8c.

Revert "v3: Drop IMU documentation."

This reverts commit b325bf4bff.
2021-06-23 19:41:15 +02:00
Laurens Valk aa2019be02 @pybricks/ide-docs v1.3.3 2021-06-23 19:36:00 +02:00
Laurens Valk 1ac78b5b82 @pybricks/ide-docs v1.3.2 2021-06-23 19:35:59 +02:00
Laurens Valk 847a3d5eec @pybricks/ide-docs v1.3.1 2021-06-23 19:35:59 +02:00
Laurens Valk 1a208ddd25 @pybricks/ide-docs v1.3.0 2021-06-23 19:35:59 +02:00
Laurens Valk 07c53e9a3d v3: Drop parameters Side and Button. 2021-06-23 19:35:58 +02:00
Laurens Valk b600f5029e v3: Drop Remote control. 2021-06-23 19:35:58 +02:00
Laurens Valk 5f767f3fee v3: Drop geometry module. 2021-06-23 19:35:57 +02:00
Laurens Valk 8db7892f8c v3: Drop Prime Hub and Inventor Hub. 2021-06-23 19:35:57 +02:00
Laurens Valk b325bf4bff v3: Drop IMU documentation.
This is not officially supported yet, so drop from release docs.
2021-06-23 19:35:57 +02:00
David Lechner 5d355e9892 doc/api/media: fix audio playback
Sphinx changed how filenames are generated which broke media playback.
The file name now includes the MD5 hash of the filename passed to the
:download: directive.

This was done with the following script:

    for f in $(find media/ev3dev-media/ -name "*.wav" -exec bash -c 'echo "$(echo -n ../../'{}' | md5sum)/$(basename '{}')"' \;); do
        sed -i "s,_downloads/$(basename $f),_downloads/$f," doc/api/media.rst;
    done
2021-06-04 12:45:44 -05:00
Laurens Valk 3b20a811cb examples/pup/motor_dc: Add battery box example. 2021-05-21 14:00:57 +02:00
David Lechner 73cc441edb github: add release action
This publishes the Python package to PyPI when a release is created on
GitHub.
2021-05-17 16:42:16 -05:00
David Lechner 7770a88aa0 github: fix build action name
It does more than just build the Python package.
2021-05-17 16:38:58 -05:00
David Lechner f06caa32bc 3.0.0-rc.1 2021-05-17 16:35:37 -05:00
thesynman fb8198fe8f pybricks/robotics.pyi: improve type hint (#60)
* Allow the wheel diameter and axle track of a DriveBase to be an int or a float
2021-05-10 13:08:25 -05:00
David Lechner 3dad15ac11 examples: fix use of OSError
We generally shouldn't be raising OSError from user code since it
represents an error the bubbles up from the OS. Also, when handling
an OSError, we almost always want to check for a specific error code.
2021-04-29 09:38:16 -05:00
Laurens Valk 790fcfa66a examples/pup/iodevices: Add PUPDevice example. 2021-04-29 13:03:34 +02:00
David Lechner d108d7c163 doc/common/conf: use xcode syntax highlighting
This matches the style used in Pybricks Code.
2021-04-28 15:54:11 -05:00
Martyn Boogaarts 7ce3721b48 examples/pup/hub_shared: Update light animation examples.
See https://github.com/pybricks/support/issues/253

* Update light_animate.py

corrected syntax

* Update light_animate.py

corrected syntax

* Update light_animate.py

corrected syntax

* Update light_animate.py

corrected syntax
2021-04-24 21:36:10 +02:00
David Lechner d0bfbcb4d1 js: only apply target="_blank" to IDE build
On the web, we want to be able to navigate between the various Pybricks
subdomains without opening new tabs. But Pybricks Code is treated as an
"app", we don't want links to open in Pybricks Code.
2021-04-20 12:38:33 -05:00
David Lechner 2aadc75f2c poetry: bump version to match current firmware 2021-04-20 12:07:36 -05:00
David Lechner 8bf42c7d2d poetry: Bump RTD and theme versions.
This is mainly to pull in the requirement of docutils < 0.17 from
sphinx-rtd-theme. Just bumping to latest sphinx doc while we are at it.

Issue: https://github.com/pybricks/pybricks-api/issues/55
2021-04-12 11:12:23 +02:00
1015 changed files with 344456 additions and 8571 deletions
@@ -1,26 +1,30 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python package
name: Build Python package and docs
on:
push:
tags-ignore:
- '**'
pull_request:
paths:
- doc/**
- src/**
- poetry.lock
- poetry.toml
- pyproject.toml
- setup.cfg
on: [ push, pull_request ]
jobs:
build:
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.8, 3.9]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install poetry
@@ -35,9 +39,9 @@ jobs:
run: poetry run doc8
- name: Build html docs for Read the Docs
run: poetry run make -C doc html
- name: Instal IDE docs dependencies
- name: Install IDE docs dependencies
run: |
sudo apt-get update
sudo apt-get install dvisvgm preview-latex-style texlive texlive-fonts-extra texlive-latex-extra
- name: Build html docs for Pybricks Code IDE
run: poetry run make -C doc html SOURCEDIR=ide
run: poetry run make -C doc html TAG=ide
+30
View File
@@ -0,0 +1,30 @@
name: pybricks_jedi
on: [push, pull_request]
jobs:
test:
if: github.ref_type != 'tag'
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- run: pipx install poetry
- run: poetry install
working-directory: ./jedi
- run: poetry run pytest -vv
working-directory: ./jedi
publish:
if: github.ref_type == 'tag' && startsWith(github.ref_name, 'pybricks_jedi/')
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- run: pipx install poetry
- run: poetry install
working-directory: ./jedi
- run: poetry build
working-directory: ./jedi
- run: poetry publish
working-directory: ./jedi
env:
POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_PYBRICKS_JEDI_TOKEN }}
+7 -7
View File
@@ -7,17 +7,17 @@ on:
jobs:
publish_ide_docs:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Ubuntu packages
run: |
sudo apt-get update
sudo apt-get install -y dvisvgm preview-latex-style texlive texlive-fonts-extra texlive-latex-extra
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Python 3.8
uses: actions/setup-python@v1
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Install dependencies
@@ -25,14 +25,14 @@ jobs:
pip install poetry
poetry run python -m pip install --upgrade pip
poetry run python -m pip install --upgrade setuptools
poetry install
- uses: actions/setup-node@v1
poetry install --only=doc
- uses: actions/setup-node@v3
with:
node-version: '14.x'
registry-url: 'https://registry.npmjs.org'
- run: yarn build
working-directory: doc/ide
working-directory: npm/ide-docs
- run: yarn publish
working-directory: doc/ide
working-directory: npm/ide-docs
env:
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
+23
View File
@@ -0,0 +1,23 @@
name: Release @pybricks/images
on:
push:
tags:
- '@pybricks/images/**'
jobs:
publish_ide_docs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@v3
with:
node-version: '16.x'
registry-url: 'https://registry.npmjs.org'
- run: ./build.py
working-directory: npm/images
- run: yarn publish
working-directory: npm/images/build
env:
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
+23
View File
@@ -0,0 +1,23 @@
name: Release @pybricks/jedi
on:
push:
tags:
- '@pybricks/jedi/**'
jobs:
publish_jedi:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@v3
with:
node-version: '16.x'
registry-url: 'https://registry.npmjs.org'
- run: ./build.py
working-directory: npm/jedi
- run: yarn publish
working-directory: npm/jedi/build
env:
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
+45
View File
@@ -0,0 +1,45 @@
on:
push:
tags:
- 'v3.*'
name: Create release on GitHub and PyPI
permissions:
contents: write
jobs:
create_release:
name: Create release on GitHub
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
submodules: true
fetch-depth: 0
- name: Get tag
run: echo "GITHUB_TAG=${GITHUB_REF#*refs/tags/}" >> $GITHUB_ENV
- name: Create release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref_name }}
run: |
if [[ "${{ contains(env.GITHUB_TAG, 'a') || contains(env.GITHUB_TAG, 'b') || contains(env.GITHUB_TAG, 'c') }}" == "true" ]]; then
PRERELEASE_FLAG="--prerelease"
else
PRERELEASE_FLAG=""
fi
gh release create "$tag" \
--repo="$GITHUB_REPOSITORY" \
--title="${tag#v}" \
-F CHANGELOG.md \
$PRERELEASE_FLAG
build_and_publish:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- run: pipx run poetry build
- run: pipx run poetry publish
env:
POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_TOKEN }}
+9 -1
View File
@@ -26,8 +26,9 @@ build/
build-*/
_build/
# Test failure outputs
# Tests
######################
.pytest_cache/
tests/*.exp
tests/*.out
@@ -57,3 +58,10 @@ genrst/
# Virtual environment
######################
.venv/
.python-version
# Generated LDRAW output
######################
stderr-ldview
stdout-ldview
LPub3D/
+24
View File
@@ -0,0 +1,24 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
build:
os: "ubuntu-22.04"
tools:
python: "3.10"
jobs:
post_create_environment:
- pip install poetry
post_install:
- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --only=doc
# Build documentation in the doc/main/ directory with Sphinx
sphinx:
configuration: doc/main/conf.py
# Optionally build your docs in additional formats such as PDF
formats:
- pdf
+2 -1
View File
@@ -4,7 +4,8 @@
// List of extensions which should be recommended for users of this workspace.
"recommendations": [
"ms-python.python"
"ms-python.python",
"ms-python.black-formatter"
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": [
+26 -5
View File
@@ -1,12 +1,26 @@
{
"python.pythonPath": "${workspaceFolder}/.venv",
"python.formatting.provider": "black",
"python.linting.pycodestyleEnabled": false,
"files.exclude": {
"**/__pycache__": true,
},
"python.defaultInterpreterPath": ".venv/bin/python",
"python.autoComplete.extraPaths": ["jedi/src"],
"python.formatting.provider": "none",
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.linting.pycodestyleEnabled": false,
"python.linting.enabled": true,
"[python]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "ms-python.black-formatter"
},
"python.languageServer": "Pylance",
"python.testing.pytestArgs": [
"jedi/tests"
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true,
"files.associations": {"*.inc": "restructuredtext"},
"restructuredtext.confPath": "${workspaceFolder}/doc/api",
"restructuredtext.confPath": "${workspaceFolder}/doc/main",
"spellright.language": [
"en_US"
],
@@ -34,5 +48,12 @@
"plaintext",
"python",
"restructuredtext",
]
],
"rewrap.wrappingColumn": 78,
"python.analysis.extraPaths": [
"jedi/src"
],
"yaml.schemas": {
"https://json.schemastore.org/github-workflow.json": "file:///home/david/work/pybricks/pybricks-api/.github/workflows/build.yml"
},
}
+1
View File
@@ -78,3 +78,4 @@ thermistor
toctree
TODO
UART
utf-8
+303
View File
@@ -0,0 +1,303 @@
# Changelog
<!-- refer to https://keepachangelog.com/en/1.0.0/ for guidance -->
## Unreleased
## 3.6.1 - 2025-05-01
### Fixed
- Fixed missing `hub.system.info` method on some hubs.
## 3.6.0 - 2025-03-11
### Changed
- Update API for firmware 3.6.0. See upstream changelog for details.
## 3.6.0b5 - 2025-02-26
### Changed
- Update API for firmware 3.6.0b5. See upstream changelog for details.
## 3.5.0 - 2024-04-11
### Changed
- Bump version to 3.5.0 without additional changes.
## 3.5.0b2 - 2024-04-05
### Added
- Added `pybricks.pupdevices.Remote.disconnect` method.
- Added blocks for `up`, `ready` and `stationary` for IMUs.
- Added `last` and `chr` parameters to `read_input_byte` and add blocks.
- Added block for the `in` operation.
- Add double ternary block.
## 3.5.0b1 - 2024-03-11
### Added
- Added `XboxController.rumble` method.
- Added block icons for `hub.system.set_stop_button` and `hub.system.shutdown`.
- Added program stop block (`raise SystemExit`).
## 3.4.1 - 2024-03-11
### Fixed
- Fixed Read The Docs virtual environment workflow.
## 3.4.0 - 2024-03-11
### Changed
- Update list block screenshots to match implementation.
## 3.4.0b5 - 2024-03-05
### Changed
- Updates for v3.4.0b3 firmware (out of sync with docs).
- Changed `hub.button` to `hub.buttons` on single button hubs. Access via
`hub.button` will keep working in the firmware for backwards compatibility.
## 3.4.0b4 - 2024-02-14
### Added
- Added `pybricks.iodevices.XboxController` class.
### Changed
- Changed `buttons.pressed` return type to set.
## 3.4.0b3 - 2024-01-30
### Added
- Added `pybricks.robotics.Car` class.
### Changed
- Changed `pybricks.robotics.DriveBase` icon to two wheels instead of steering
wheel, which will be used for the new car class.
## 3.4.0b2 - 2023-11-28
### Changed
- Include first batch of block coding images.
## 3.3.0 - 2023-11-24
### Changed
- Bump beta version to release version with no further changes.
## 3.3.0c1 - 2023-11-20
### Added
- Enabled tilt and orientation config for `MoveHub()`.
- Documented `Motor.close()`
## Fixed
- Fixed missing awaitable for `Remote.light` and LWP3 writes.
## 3.3.0b9 - 2023-10-26
### Changed
- Changed the beta feature for using the hub's gyro. Gyro control can now be
toggled using `use_gyro` instead of using a separate `GyroDriveBase` class.
- Documentation updates to match firmware 3.3.0b5--3.3.0b9 updates.
### Added
- Added `set` to `ubuiltins` module.
- Basic multitasking docs.
- Awaitable keyword for awaitable methods and functions.
## 3.3.0b5 - 2023-05-16
### Added
- Documented new `hub.ble` methods.
## 3.3.0b4 - 2023-04-21
### Added
- Documented `integral_deadzone` in `Control.pid()`.
- Documented `Motor.model`. This can be used to view the estimated motor
state and change its settings.
- Added `rotation`, `orientation`, `ready`, `stationary` and `settings` methods
to `IMU` class.
- Added `GyroDriveBase` class to `pybricks.robotics`.
### Changed
- Change implementation status of `IMU.heading` and `IMU.reset_heading`. They
are now implemented, with some limitations as noted in a note box.
- Moved `Matrix` and `vector` from `pybricks.geometry` to `pybricks.tools`.
- Moved `Axis` from `pybricks.geometry` to `pybricks.parameters`.
### Removed
- Removed `pybricks.geometry` module.
## 3.2.0 - 2022-12-20
### Changed
- Changed module TOC headings to make it easier to find things.
## 3.2.0c1 - 2022-12-09
### Changed
- Updated "front" side of the Technic Hub to be consistent with
the Prime Hub.
## 3.2.0b6 - 2022-12-02
### Added
- Documented ``Stop.NONE`` and ``Stop.COAST_SMART``.
- Documented ``ujson`` module.
- Added `done` and `stalled` methods for `DriveBase`.
### Changed
- Changed `PrimeHub.display.image()` to `PrimeHub.display.icon()` and renamed
its kwarg from `image` to `icon`.
- Improved presentation and docstrings of the ``ubuiltins`` and other
MicroPython modules
- Moved the random numbers example for Move Hub to the Move Hub page.
- Moved `done()`, `stalled()`, `load()` from `Control` to `Motor` object.
## 3.2.0b5 - 2022-11-11
### Fixed
- Fixed Jedi code completion for `Color` and `Icon` classes in `pybricks.parameters`.
## 3.2.0b4 - 2022-10-21
### Added
- Code auto-completion for `EssentialHub`.
- Added `System.storage` method.
### Fixed
- Fixed some type hints in `parameters` submodule.
## 3.2.0b1-r3 - 2022-06-26
### Fixed
- Fixed more type hints and improved compatibility with jedi.
## 3.2.0b1-r2 - 2022-06-24
### Changed
- Moved remaining type hints from `.pyi` files to the python stub modules, and
fixed numerous errors in the type hints throughout.
## 3.2.0b1-r1 - 2022-06-09
### Added
- Added `__init__.py` to `pybricks` package.
## 3.2.0b1 - 2022-06-02
### Added
- Code auto-completion for `hub.charger`, `hub.imu` and `hub.system`.
- Moved typing from several `.pyi` files to the actual python modules.
### Fixed
- Fixed code completion for `DCMotor` and `Motor` classes in MS Python VS Code extension.
- Fixed missing `DCMotor` type in `ev3devices`.
- Fixed type hint for `Motor.reset_angle()` in `pupdevices`.
### Changed
- Setter for acceleration can now also be used to set acceleration and
deceleration to different values, using a two-valued tuple.
## 3.1.0 - 2021-12-16
### Added
- Added maximum voltage setter for `DCMotor` and `Motor`.
- Documented `DriveBase.curve()` method.
### Changed
- Removed `duty` setting from `Control.limits` method.
- Removed `integral_range` setting from `Control.pid` method.
### Fixed
- Fixed link to Color Light Matrix page.
- Fixed link to Inventor Hub page.
## 3.1.0rc1 - 2021-11-19
### Added
- Added `ColorLightMatrix` class.
- Added `LWP3Device` class.
**NOTE: version number after this point were from JavaScript package and do
not correspond to Pybricks firmware version numbers.**
## 1.6.0 - 2021-08-30
### Added
- MicroPython module documentation.
- Examples for hub system functions including stop button and shutdown.
### Changed
- Build IDE docs as main docs with minor changes, instead of a completely
separate build.
- Moved motor control documentation to the motor page.
## 1.5.0 - 2021-07-01
### Added
- Documentation for Powered Up Remote Control.
## 1.4.0 - 2021-06-23
### Added
- Enabled beta content that was hidden for the 3.0 release.
- Added notice about using the latest beta version.
## 1.3.3 - 2021-05-21
### Changed
- Match example snippet styling to IDE.
- Add more examples.
## 1.3.2 - 2021-04-26
### Changed
- Theme style fixes.
- Example code fixes
- Match doc version to firmware version.
## 1.3.1 - 2021-04-12
### Changed
- Upgrade sphinx and rtd-theme to fix style issues.
## 1.3.0 - 2021-04-12
### Removed
- Removed features which not be in the official 3.0 release. These features
are still in beta. They'll come back in future releases once tested.
## 1.2.0 - 2021-04-09
### Changed
- Moved installation guide to external site.
## 1.1.1 - 2021-02-14
### Added
- Added installation guide.
- Various documentation fixes.
## 1.1.0 - 2021-01-28
### Added
- Scrollbar styling.
## 1.0.0 - 2021-01-25
### Added
- Sphinx build output.
+104 -15
View File
@@ -20,23 +20,103 @@ will actually be implemented.
- Commit messages have a one-line subject, a blank line and a multiline body:
prefix: subject
prefix: Subject of the change.
body...
- Use a prefix to categorize the change. Usually this is the path the the file
being changed.
- If it is a documentation change, it can be shortened to `doc/<file>` (omit
`api` from the path).
- If it is an API change (in the `pybricks` folder), write `api/<file>`
instead of `pybricks/<file>`.
- The subject briefly describes _what_ was changed, e.g. `fix typo`.
- Use a prefix to categorize the change:
- Use the import path as the prefix whenever possible. Examples:
- pybricks.tools: Add StopWatch class.
- pybricks.tools: Reorganize RST files.
- pybricks.tools.StopWatch: Fix return type.
- pybricks.tools.wait: Add example of waiting.
- pybricks.pupdevices: Fix all sensor class ports.
- umath.sin: Fix spelling of Hypotenuse.
- If an import path makes no sense, just use the file path without
extensions:
- .vscode/settings: Fix file associations.
- The subject briefly describes _what_ was changed. Use a short full sentence
as in the examples above.
- The body describes _why_ the change was made, e.g. `The word "sensor" was
spelled incorrectly`.
- See the [commit history][commits] for more examples.
[commits]: https://github.com/pybricks/pybricks-api/commits/master
**General docstring principles:**
The stubs libraries in this repository have two different purposes:
1. Auto-generating documentation with Sphinx. For this purpose, the
documentation should be concise and clear.
2. Provide autocomplete and intellisense in code editors. For this purpose,
the code needs to be 100% correct. This way, computers can parse your code
correctly and tell you when something is wrong.
Since these objectives don't always align, we address these separately in the
stubs library:
1. The first line(s) of the docstring contain the function or method signature
as it should be displayed in the human-readable documentation.
2. The real function signature can be as complex as it needs to be to make it
correct for intellisense. Overloads can be uses if needed.
In the rare case where the docstring signature is the same as the typed
version, we'll still include it for consistency.
**Docstring details:**
Make sure to look at existing function signatures and docstrings for
inspiration when documenting new functionality. As an example, consider:
```python
def run_until_stalled(
self,
speed: Number,
then: Stop = Stop.COAST,
duty_limit: Optional[Number] = None,
) -> int:
"""
run_until_stalled(speed, then=Stop.COAST, duty_limit=None) -> int: deg
Runs the motor at a constant speed until it stalls.
Arguments:
speed (Number, deg/s): Speed of the motor.
then (Stop): What to do after coming to a standstill.
duty_limit (Number, %): Duty cycle limit during this
command. This is useful to avoid applying the full motor
torque to a geared or lever mechanism. If it is ``None``, the
duty limit won't be changed during this command.
Returns:
Angle at which the motor becomes stalled.
"""
```
The real method signature at the top contains the full detail, including the
type of each argument and return value.
The docstring starts with the signature. Use more than one signature if needed
to represent overloaded methods. The signatures are written in the way they
should be displayed in the docs:
- Argument types are omitted because they are also shown with the argument
description below.
- Default values should be given (``then=Stop.COAST``).
- The return type should be given (``-> int``). When applicable, include
the unit of the return value, so it becomes ``-> int: deg``
Then follows a concise description of what this method, function, or class
does.
Then follows a list of arguments:
- For each argument, include the expected type and unit if applicable, e.g.
``(int)`` or ``(Number, deg/s)``.
- Use ``Number`` when ``int`` and ``float`` are both allowed.
- If the description is long, use the indentation shown above.
- Make it readable. Instead
of ``Union[float, SupportsFloat, complex, SupportsComplex]``,
just say _float or complex_.
Then follows a description of the return value. The type is omitted here since
it is already include in the docstring signature.
**Development environment:**
@@ -46,8 +126,8 @@ Prerequisites:
- [Python 3][python]
- [Poetry][poetry]
Information on installing prerequisites can be found on the [pybricks-micropython
wiki][wiki].
Information on installing prerequisites can be found on the
[pybricks-micropython contributor's guide][contributing].
Initial setup:
@@ -59,15 +139,24 @@ Build docs:
# Linux
poetry run make -C doc html
xdg-open doc/api/build/html/index.html
xdg-open doc/main/build/html/index.html
# macOS
poetry run make -C doc html
open doc/api/build/html/index.html
open doc/main/build/html/index.html
# Windows (PowerShell)
poetry run doc\make.bat html
Invoke-Item doc\api\build\html\index.html
Invoke-Item doc\main\build\html\index.html
Building IDE docs variant:
# Linux/macOS
poetry run make -C doc html TAG=ide
# Windows (PowerShell)
$env:TAG="ide"
poetry run doc\make.bat html
Linting:
@@ -78,4 +167,4 @@ Linting:
[git]: https://git-scm.com/
[python]: https://www.python.org/
[poetry]: https://python-poetry.org/
[wiki]: https://github.com/pybricks-micropython/wiki
[contributing]: https://github.com/pybricks/pybricks-micropython/blob/master/CONTRIBUTING.md
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2018-2021 The Pybricks Authors
Copyright (c) 2018-2022 The Pybricks Authors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+5
View File
@@ -12,6 +12,11 @@ used to generate the `official documentation`_.
See the `contributor's guide <CONTRIBUTING.md>`_ for acceptable changes and
instructions to build the documentation locally.
You can use the API stubs in this repository for syntax highlighting and code
completion when programming the EV3 with VS Code. To enable, remove the
``"python.languageServer"="None"`` line in the ``.vscode/settings.json`` file
generated by the *LEGO® MINDSTORMS® EV3 MicroPython* extension.
For general discussion, please visit the `support`_ issue tracker.
.. _Pybricks package: pybricks
+6 -5
View File
@@ -5,20 +5,21 @@
SPHINXOPTS = -W
SPHINXBUILD = sphinx-build
SPHINXPROJ = Pybricks
SOURCEDIR = api
SOURCEDIR = main
BUILDDIR = "$(SOURCEDIR)"/build
TAG = main
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(TAG) $(O)
.PHONY: help Makefile
diagrams:
@$(MAKE) -C "$(SOURCEDIR)"/diagram_source clean
@$(MAKE) -C "$(SOURCEDIR)"/diagram_source
@$(MAKE) -C "$(SOURCEDIR)"/diagrams_source clean
@$(MAKE) -C "$(SOURCEDIR)"/diagrams_source
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) -t $(TAG) $(O)
-22
View File
@@ -1,22 +0,0 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Pybricks documentation build configuration file
#
import os
# General information about the project.
project = 'pybricks'
copyright = '2018-2021 The Pybricks Authors'
author = ''
_TITLE = 'Pybricks Modules and Examples'
_DISCLAIMER = 'LEGO, the LEGO logo, MINDSTORMS and the MINDSTORMS EV3 logo are\
trademarks and/or copyrights of the LEGO Group of companies \
which does not sponsor, authorize or endorse this site.'
html_favicon = '../common/images/favicon.ico'
html_logo = '../common/images/pybricks-logo-rtd.png'
latex_logo = '../common/images/pybricks-logo-large.png'
exec(open(os.path.abspath("../common/conf.py")).read())
-25
View File
@@ -1,25 +0,0 @@
SRC_DIR = .
OUT_DIR = ../images
POSTFIX := _label
SVG := $(wildcard $(SRC_DIR)/*.svg)
DIAGRAMS := $(patsubst $(SRC_DIR)/%.svg,$(OUT_DIR)/%$(POSTFIX).png,$(SVG))
DIR := ${CURDIR}
all: $(DIAGRAMS)
clean:
rm -f $(DIAGRAMS)
$(OUT_DIR)/%$(POSTFIX).png: $(SRC_DIR)/%.svg
if inkscape --version | grep -q "Inkscape 0"; then \
inkscape --file=$(DIR)/$< --export-area-drawing --export-png=$(DIR)/$@; \
else \
inkscape \
--export-area-drawing \
--export-background=white \
--export-background-opacity=1.0 \
--export-file=$(DIR)/$@ \
$(DIR)/$<; \
fi
-6
View File
@@ -1,6 +0,0 @@
0 Name: pupmotors
0 Author: Pybricks {laurens@pybricks.com}
0 !LICENSE MIT
1 15 370 -296 -430 0 0 1 0 1 0 -1 0 0 95658.dat
1 15 90 -296 -340 1 0 0 0 1 0 0 0 1 99455.dat
1 15 610 -296 -580 0 0 1 0 -1 0 1 0 0 53787.dat
Binary file not shown.

Before

Width:  |  Height:  |  Size: 236 KiB

-16
View File
@@ -1,16 +0,0 @@
0 Name: ev3sensors
0 Author: Pybricks {laurens@pybricks.com}
0 !LICENSE MIT
1 15 390 -320 -200 1 0 0 0 1 0 0 0 1 95648.dat
1 15 10 -320 -240 1 0 0 0 1 0 0 0 1 95652.dat
1 15 310 -320 210 1 0 0 0 1 0 0 0 1 99380.dat
1 15 -70 -320 170 1 0 0 0 1 0 0 0 1 95650.dat
1 15 720 -320 370 1 0 0 0 1 0 0 0 1 95654.dat
1 15 910 -400 150 -1 0 0 0 1 0 0 0 -1 72156.dat
1 151 410 -320 -910 1 0 0 0 1 0 0 0 1 55969.dat
1 151 730 -320 -880 1 0 0 0 1 0 0 0 1 64892.dat
1 151 1000 -320 -1000 1 0 0 0 1 0 0 0 1 55963.dat
1 151 -360 -320 -940 1 0 0 0 1 0 0 0 1 62840.dat
1 151 90 -320 -970 1 0 0 0 1 0 0 0 1 53793.dat
1 151 1250 -320 -580 1 0 0 0 1 0 0 0 1 53792.dat
1 151 1340 -320 -970 1 0 0 0 1 0 0 0 1 55963.dat
-14
View File
@@ -1,14 +0,0 @@
0 Name: hubs.ldr
0 Author: Pybricks {laurens@pybricks.com}
0 !LICENSE MIT
0 ROTATION CENTER 0 0 0 1 "Custom"
0 ROTATION CONFIG 0 0
1 15 -20 -56 320 1 0 0 0 1 0 0 0 1 26910.dat
1 15 -330 -80 110 0 0 1 0 1 0 -1 0 0 28738.dat
1 71 -310 -40 390 1 0 0 0 1 0 0 0 1 22127.dat
1 15 260 -16 90 1 0 0 0 1 0 0 0 1 45601p02.dat
1 3 440 -16 10 1 0 0 0 1 0 0 0 1 45601c01.dat
1 3 780 -16 -310 1 0 0 0 1 0 0 0 1 45601c01.dat
1 15 -930 -40 360 1 0 0 0 1 0 0 0 1 95646c01.dat
1 15 -1490 32 350 1 0 0 0 1 0 0 0 1 53788c01.dat
0
-11
View File
@@ -1,11 +0,0 @@
0 Name: hubsoverview.ldr
0 Author: Pybricks {laurens@pybricks.com}
0 !LICENSE MIT
0 ROTATION CENTER 0 0 0 1 "Custom"
0 ROTATION CONFIG 0 0
1 15 90 -56 300 1 0 0 0 1 0 0 0 1 26910.dat
1 15 -150 -80 300 1 0 0 0 1 0 0 0 1 28738.dat
1 71 -360 -40 120 -1 0 0 0 1 0 0 0 -1 22127.dat
1 15 -160 -16 -40 1 0 0 0 1 0 0 0 1 45601p02.dat
1 3 50 -16 -140 1 0 0 0 1 0 0 0 1 45601c01.dat
0
-40
View File
@@ -1,40 +0,0 @@
0 Name: imu.ldr
0 Author: Pybricks {laurens@pybricks.com}
0 !LICENSE MIT
0 ROTATION CENTER 0 0 0 1 "Custom"
0 ROTATION CONFIG 0 0
1 3 -80 -20 160 0 0 1 0 1 0 -1 0 0 45601c01.dat
1 322 0 20 70 1 0 0 0 1 0 0 0 1 39367p01.dat
1 322 -160 20 70 1 0 0 0 1 0 0 0 1 39367p01.dat
1 322 0 20 250 1 0 0 0 1 0 0 0 1 39367p01.dat
1 322 -160 20 250 1 0 0 0 1 0 0 0 1 39367p01.dat
0 WRITE Type in the comment
1 3 720 -80 170 0 0 -1 0 -1 0 -1 0 0 45601c01.dat
1 322 800 20 80 1 0 0 0 1 0 0 0 1 39367p01.dat
1 322 640 20 80 1 0 0 0 1 0 0 0 1 39367p01.dat
1 322 800 20 260 1 0 0 0 1 0 0 0 1 39367p01.dat
1 322 640 20 260 1 0 0 0 1 0 0 0 1 39367p01.dat
0 WRITE Type in the comment
1 3 720 -70 -630 0 1 0 0 0 -1 -1 0 0 45601c01.dat
1 322 770 20 -720 1 0 0 0 1 0 0 0 1 39367p01.dat
1 322 610 20 -720 1 0 0 0 1 0 0 0 1 39367p01.dat
1 322 770 20 -540 1 0 0 0 1 0 0 0 1 39367p01.dat
1 322 610 20 -540 1 0 0 0 1 0 0 0 1 39367p01.dat
0 WRITE Type in the comment
0 WRITE Type in the comment
0 MLCAD BTG Group name
1 71 -230 60 -780 0 0 1 -1 0 0 0 -1 0 55615.dat
0 MLCAD BTG Group name
1 4 -90 60 -800 0 0 1 -1 0 0 0 -1 0 32278.dat
0 MLCAD BTG Group name
1 2 -250 60 -640 0 1 0 -1 0 0 0 0 1 32278.dat
0 MLCAD BTG Group name
1 71 -230 40 -780 0 0 1 0 1 0 -1 0 0 55615.dat
0 MLCAD BTG Group name
1 1 -250 -100 -780 0 1 0 0 0 -1 -1 0 0 32278.dat
0 GROUP 5 Group name
1 15 -20 90 -570 0 0 -1 0 -1 0 -1 0 0 3811.dat
1 15 720 90 -570 0 0 -1 0 -1 0 -1 0 0 3811.dat
1 15 -30 90 190 0 0 -1 0 -1 0 -1 0 0 3811.dat
1 15 720 90 190 0 0 -1 0 -1 0 -1 0 0 3811.dat
0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 654 KiB

-486
View File
@@ -1,486 +0,0 @@
0 FILE main.ldr
0 Name: ev3sensors
0 Author: Pybricks {laurens@pybricks.com}
0 !LICENSE MIT
0 !LDCAD GROUP_DEF [topLevel=true] [LID=0] [GID=Iv9FbUdBPsB] [name=Group 1] [center=0 0 0]
0 !LDCAD GROUP_DEF [topLevel=true] [LID=1] [GID=IMOjEZg0eXo] [name=Group 2] [center=0 0 0]
0 !LDCAD GROUP_DEF [topLevel=true] [LID=2] [GID=7Zgg7xpsn7m] [name=Group 3] [center=0 0 0]
0 !LDCAD GROUP_DEF [topLevel=true] [LID=3] [GID=37IHSsFLUIW] [name=Group 4] [center=0 0 0]
0 !LDCAD GROUP_DEF [topLevel=true] [LID=4] [GID=78T5iMUZhPB] [name=Group 5] [center=0 0 0]
0 !LDCAD GROUP_DEF [topLevel=true] [LID=5] [GID=6l6RjlBcxBO] [name=Group 6] [center=0 0 0]
0 !LDCAD GROUP_NXT [ids=2] [nrs=-1]
1 1 1390 -320 -320 0 0 -30 0 1 0 50 0 0 box.dat
0 !LDCAD GROUP_NXT [ids=2] [nrs=2]
1 151 1390 -320 -370 1 0 0 0 1 0 0 0 1 54732b.dat
0 !LDCAD GROUP_NXT [ids=3] [nrs=2]
1 0 1510 -315 -390 0 0 -40 0 6 0 50 0 0 box.dat
0 !LDCAD GROUP_NXT [ids=3] [nrs=-1]
1 151 1510 -320 -440 1 0 0 0 1 0 0 0 1 54732b.dat
0 !LDCAD GROUP_NXT [ids=0] [nrs=3]
1 2 1350 -320 140 0 0 -30 0 1 0 50 0 0 box.dat
0 !LDCAD GROUP_NXT [ids=0] [nrs=2]
1 151 1350 -320 90 1 0 0 0 1 0 0 0 1 54732b.dat
0 !LDCAD GROUP_NXT [ids=1] [nrs=2]
1 2 1470 -320 60 0 0 -30 0 1 0 50 0 0 box.dat
0 !LDCAD GROUP_NXT [ids=1] [nrs=3]
1 0 1470 -320 110 1 0 0 0 1 0 0 0 1 u9218c01.dat
0 !LDCAD GROUP_NXT [ids=0] [nrs=-1]
1 0 1350 -321 170 -20 0 0 0 1 0 0 0 -10 box.dat
0 !LDCAD GROUP_NXT [ids=1] [nrs=-1]
1 0 1470 -321 30 -20 0 0 0 1 0 0 0 -10 box.dat
0 !LDCAD GROUP_NXT [ids=4] [nrs=8]
1 0 1620 -320 -20 1 0 0 0 1 0 0 0 1 u9470c01.dat
0 !LDCAD GROUP_NXT [ids=4] [nrs=9]
1 15 1620 -305 -20 1 0 0 0 1 0 0 0 1 u9218c01.dat
0 !LDCAD GROUP_NXT [ids=4] [nrs=7]
1 2 1620 -320 -50 50 0 0 0 0 20 0 -1 0 box.dat
0 !LDCAD GROUP_NXT [ids=4] [nrs=-1]
1 0 1590 -320 -51 15 0 0 0 0 15 0 -1 0 box.dat
0 !LDCAD GROUP_NXT [ids=4] [nrs=5]
1 0 1650 -320 -51 0 0 -8 15 0 0 0 -1 0 box.dat
0 !LDCAD GROUP_NXT [ids=4] [nrs=6]
1 0 1630 -320 -51 0 0 8 -15 0 0 0 -1 0 box.dat
0 !LDCAD GROUP_NXT [ids=4] [nrs=2]
1 4 1665 -328 -51 0 0 2 -2 0 0 0 -1 0 box.dat
0 !LDCAD GROUP_NXT [ids=4] [nrs=3]
1 1 1665 -320 -51 0 0 2 -2 0 0 0 -1 0 box.dat
0 !LDCAD GROUP_NXT [ids=4] [nrs=4]
1 14 1665 -312 -51 0 0 2 -2 0 0 0 -1 0 box.dat
1 151 1200 -392 -350 1 0 0 0 1 0 0 0 1 ms1040.dat
0 !LDCAD GROUP_NXT [ids=5] [nrs=4]
1 47 625 -780 -230 0 0 -1 0 -1 0 -1 0 0 55804.dat
0 !LDCAD GROUP_NXT [ids=5] [nrs=3]
1 0 695 -780 -309 0 0 -1 0 -1 0 -1 0 0 897.dat
0 !LDCAD GROUP_NXT [ids=5] [nrs=2]
1 0 695 -784 -314 -1 0 0 0 1 0 0 0 -1 elecCable2Brick-1.ldr
0 !LDCAD GROUP_NXT [ids=5] [nrs=1]
1 0 695 -784 -449 1 0 0 0 1 0 0 0 1 71427.dat
1 0 990 -321 -330 -20 0 0 0 1 0 0 0 -10 box.dat
1 151 990 -320 -410 1 0 0 0 1 0 0 0 1 54732b.dat
1 6 990 -320 -360 0 0 -30 0 1 0 50 0 0 box.dat
1 0 1100 -321 -440 -20 0 0 0 1 0 0 0 -10 box.dat
1 151 1100 -320 -520 1 0 0 0 1 0 0 0 1 54732b.dat
1 3 1100 -320 -470 0 0 -30 0 1 0 50 0 0 box.dat
1 0 1210 -321 -520 -20 0 0 0 1 0 0 0 -10 box.dat
1 151 1210 -320 -600 1 0 0 0 1 0 0 0 1 54732b.dat
1 7 1210 -320 -550 0 0 -30 0 1 0 50 0 0 box.dat
0 FILE elecCable2Brick-1.ldr
0 Author: LDCad
0 !LICENSE MIT
0 !CATEGORY electric
0 !KEYWORDS flexible, cable, 9V
0 !LDCAD CONTENT [type=path] [addFallBack=default] [looped=false] [displayKind=mm] [curveStep=0] [displayLenCor=0]
0 !LDCAD PATH_POINT [type=bezier] [posOri=0 4 15 0 0 1 -1 0 0 0 -1 0] [prevCPDist=25] [nextCPDist=25] [cirR=20] [cirDir=xyCW] [prevYRoll=0] [nextYRoll=0]
0 !LDCAD PATH_POINT [type=bezier] [posOri=0 4 140 0 0 1 -1 0 0 0 -1 0] [prevCPDist=25] [nextCPDist=25] [cirR=20] [cirDir=xyCW] [prevYRoll=0] [nextYRoll=0]
0 !LDCAD PATH_SKIN [donCol=16] [donOri=1 0 0 0 1 0 0 0 1] [donPart=ldcElecWire2Seg.dat] [donYSize=400%] [donCen=absCen] [donCenYOfs=0] [donFinScale=fitDon2Seg] [donPlace=deform] [donYAlign=0] [donInline=false] [segSize=100%] [segSizeTol=5%] [segsCnt=0] [segsGrp=0] [segsMaxMerge=10] [segsMrgAng=0] [segsMrgRollAng=0] [segsEdgeDelKind=keepFirstLeft]
0 !LDCAD PATH_CAP [group=end] [color=0] [posOri=0 0 155 0 0 1 0 1 0 -1 0 0] [part=6625c01.dat] [extraLen=0mm] [inlineRef=false]
0 !LDCAD PATH_CAP [group=end] [color=0] [posOri=0 16 155 0 0 1 0 1 0 -1 0 0] [part=2727ac01.dat] [extraLen=0mm] [inlineRef=false]
0 !LDCAD GENERATED [generator=LDCad 1.6c]
0 //This is the fallback LDraw content for above PATH configuration.
0 // Do not edit, any changes will be lost upon regeneration.
0 // The path is approx 50.00 mm (125.00) and exists out of 4 segments.
0 //Some general hints about the document.
0 UNOFFICIAL PART
0 BFC CERTIFY CCW
0 //Some of this content has been generated from other LDraw files, many thanks to all involved.
0 // Credits for "ldcElecWire2Seg.dat":
0 // Author: LDCad
0 // Credits for "7-8cyli.dat":
0 // Author: Guy Vivan
0 // History:
0 // 2009-05-02 [PTadmin] Official Update 2009-01
0 // Credits for "ldcConRing-7-8.dat":
0 // Author: LDCad
0 //End cap reference(s)
1 0 0 0 155 0 0 1 0 1 0 -1 0 0 6625c01.dat
1 0 0 16 155 0 0 1 0 1 0 -1 0 0 2727ac01.dat
0 //Segments
0 // Segment 1, this block is (recursively) generated from "ldcElecWire2Seg.dat"
4 16 0.32452 2.939305 55.645161 -0.00062 3.425975 55.645161 -0.00062 3.425975 15.000001 0.32452 2.939305 15.000001
4 16 0.81118 2.614194 55.645161 0.32452 2.939305 55.645161 0.32452 2.939305 15.000001 0.81118 2.614194 15.000001
4 16 1.385188 2.499961 55.645161 0.81118 2.614194 55.645161 0.81118 2.614194 15.000001 1.385188 2.499961 15.000001
4 16 1.959225 2.61418 55.645161 1.385188 2.499961 55.645161 1.385188 2.499961 15.000001 1.959225 2.61418 15.000001
4 16 2.445895 2.93932 55.645161 1.959225 2.61418 55.645161 1.959225 2.61418 15.000001 2.445895 2.93932 15.000001
4 16 2.771006 3.42598 55.645161 2.445895 2.93932 55.645161 2.445895 2.93932 15.000001 2.771006 3.42598 15.000001
4 16 2.885238 3.999988 55.645161 2.771006 3.42598 55.645161 2.771006 3.42598 15.000001 2.885238 3.999988 15.000001
4 16 2.77102 4.574025 55.645161 2.885238 3.999988 55.645161 2.885238 3.999988 15.000001 2.77102 4.574025 15.000001
4 16 2.44588 5.060695 55.645161 2.77102 4.574025 55.645161 2.77102 4.574025 15.000001 2.44588 5.060695 15.000001
4 16 1.95922 5.385806 55.645161 2.44588 5.060695 55.645161 2.44588 5.060695 15.000001 1.95922 5.385806 15.000001
4 16 1.385212 5.500039 55.645161 1.95922 5.385806 55.645161 1.95922 5.385806 15.000001 1.385212 5.500039 15.000001
4 16 0.811175 5.38582 55.645161 1.385212 5.500039 55.645161 1.385212 5.500039 15.000001 0.811175 5.38582 15.000001
4 16 0.324505 5.06068 55.645161 0.811175 5.38582 55.645161 0.811175 5.38582 15.000001 0.324505 5.06068 15.000001
4 16 -0.000606 4.57402 55.645161 0.324505 5.06068 55.645161 0.324505 5.06068 15.000001 -0.000606 4.57402 15.000001
4 16 -0.32452 5.060695 55.645161 -0.000606 4.57402 55.645161 -0.000606 4.57402 15.000001 -0.32452 5.060695 15.000001
4 16 -0.81118 5.385806 55.645161 -0.32452 5.060695 55.645161 -0.32452 5.060695 15.000001 -0.81118 5.385806 15.000001
4 16 -1.385188 5.500039 55.645161 -0.81118 5.385806 55.645161 -0.81118 5.385806 15.000001 -1.385188 5.500039 15.000001
4 16 -1.959225 5.38582 55.645161 -1.385188 5.500039 55.645161 -1.385188 5.500039 15.000001 -1.959225 5.38582 15.000001
4 16 -2.445895 5.06068 55.645161 -1.959225 5.38582 55.645161 -1.959225 5.38582 15.000001 -2.445895 5.06068 15.000001
4 16 -2.771006 4.57402 55.645161 -2.445895 5.06068 55.645161 -2.445895 5.06068 15.000001 -2.771006 4.57402 15.000001
4 16 -2.885238 4.000011 55.645161 -2.771006 4.57402 55.645161 -2.771006 4.57402 15.000001 -2.885238 4.000011 15.000001
4 16 -2.77102 3.425975 55.645161 -2.885238 4.000011 55.645161 -2.885238 4.000011 15.000001 -2.77102 3.425975 15.000001
4 16 -2.44588 2.939305 55.645161 -2.77102 3.425975 55.645161 -2.77102 3.425975 15.000001 -2.44588 2.939305 15.000001
4 16 -1.95922 2.614194 55.645161 -2.44588 2.939305 55.645161 -2.44588 2.939305 15.000001 -1.95922 2.614194 15.000001
4 16 -1.385212 2.499961 55.645161 -1.95922 2.614194 55.645161 -1.95922 2.614194 15.000001 -1.385212 2.499961 15.000001
4 16 -0.811175 2.61418 55.645161 -1.385212 2.499961 55.645161 -1.385212 2.499961 15.000001 -0.811175 2.61418 15.000001
4 16 -0.324505 2.93932 55.645161 -0.811175 2.61418 55.645161 -0.811175 2.61418 15.000001 -0.324505 2.93932 15.000001
4 16 -0.00062 3.425975 55.645161 -0.324505 2.93932 55.645161 -0.324505 2.93932 15.000001 -0.00062 3.425975 15.000001
5 24 -0.00062 3.425975 15.000001 -0.00062 3.425975 55.645161 -0.574645 4.811795 15.000001 0.32452 2.939305 15.000001
5 24 0.32452 2.939305 15.000001 0.32452 2.939305 55.645161 -0.00062 3.425975 15.000001 0.81118 2.614194 15.000001
5 24 0.81118 2.614194 15.000001 0.81118 2.614194 55.645161 0.32452 2.939305 15.000001 1.385188 2.499961 15.000001
5 24 1.385188 2.499961 15.000001 1.385188 2.499961 55.645161 0.81118 2.614194 15.000001 1.959225 2.61418 15.000001
5 24 1.959225 2.61418 15.000001 1.959225 2.61418 55.645161 1.385188 2.499961 15.000001 2.445895 2.93932 15.000001
5 24 2.445895 2.93932 15.000001 2.445895 2.93932 55.645161 1.959225 2.61418 15.000001 2.771006 3.42598 15.000001
5 24 2.771006 3.42598 15.000001 2.771006 3.42598 55.645161 2.445895 2.93932 15.000001 2.885238 3.999988 15.000001
5 24 2.885238 3.999988 15.000001 2.885238 3.999988 55.645161 2.771006 3.42598 15.000001 2.77102 4.574025 15.000001
5 24 2.77102 4.574025 15.000001 2.77102 4.574025 55.645161 2.885238 3.999988 15.000001 2.44588 5.060695 15.000001
5 24 2.44588 5.060695 15.000001 2.44588 5.060695 55.645161 2.77102 4.574025 15.000001 1.95922 5.385806 15.000001
5 24 1.95922 5.385806 15.000001 1.95922 5.385806 55.645161 2.44588 5.060695 15.000001 1.385212 5.500039 15.000001
5 24 1.385212 5.500039 15.000001 1.385212 5.500039 55.645161 1.95922 5.385806 15.000001 0.811175 5.38582 15.000001
5 24 0.811175 5.38582 15.000001 0.811175 5.38582 55.645161 1.385212 5.500039 15.000001 0.324505 5.06068 15.000001
5 24 0.324505 5.06068 15.000001 0.324505 5.06068 55.645161 0.811175 5.38582 15.000001 -0.000606 4.57402 15.000001
5 24 -0.000606 4.57402 15.000001 -0.000606 4.57402 55.645161 -0.574627 3.188214 15.000001 0.324505 5.06068 15.000001
5 24 -0.000606 4.57402 15.000001 -0.000606 4.57402 55.645161 0.574645 3.188205 15.000001 -0.32452 5.060695 15.000001
5 24 -0.32452 5.060695 15.000001 -0.32452 5.060695 55.645161 -0.000606 4.57402 15.000001 -0.81118 5.385806 15.000001
5 24 -0.81118 5.385806 15.000001 -0.81118 5.385806 55.645161 -0.32452 5.060695 15.000001 -1.385188 5.500039 15.000001
5 24 -1.385188 5.500039 15.000001 -1.385188 5.500039 55.645161 -0.81118 5.385806 15.000001 -1.959225 5.38582 15.000001
5 24 -1.959225 5.38582 15.000001 -1.959225 5.38582 55.645161 -1.385188 5.500039 15.000001 -2.445895 5.06068 15.000001
5 24 -2.445895 5.06068 15.000001 -2.445895 5.06068 55.645161 -1.959225 5.38582 15.000001 -2.771006 4.57402 15.000001
5 24 -2.771006 4.57402 15.000001 -2.771006 4.57402 55.645161 -2.445895 5.06068 15.000001 -2.885238 4.000011 15.000001
5 24 -2.885238 4.000011 15.000001 -2.885238 4.000011 55.645161 -2.771006 4.57402 15.000001 -2.77102 3.425975 15.000001
5 24 -2.77102 3.425975 15.000001 -2.77102 3.425975 55.645161 -2.885238 4.000011 15.000001 -2.44588 2.939305 15.000001
5 24 -2.44588 2.939305 15.000001 -2.44588 2.939305 55.645161 -2.77102 3.425975 15.000001 -1.95922 2.614194 15.000001
5 24 -1.95922 2.614194 15.000001 -1.95922 2.614194 55.645161 -2.44588 2.939305 15.000001 -1.385212 2.499961 15.000001
5 24 -1.385212 2.499961 15.000001 -1.385212 2.499961 55.645161 -1.95922 2.614194 15.000001 -0.811175 2.61418 15.000001
5 24 -0.811175 2.61418 15.000001 -0.811175 2.61418 55.645161 -1.385212 2.499961 15.000001 -0.324505 2.93932 15.000001
5 24 -0.324505 2.93932 15.000001 -0.324505 2.93932 55.645161 -0.811175 2.61418 15.000001 -0.00062 3.425975 15.000001
5 24 -0.00062 3.425975 15.000001 -0.00062 3.425975 55.645161 0.574627 4.811786 15.000001 -0.324505 2.93932 15.000001
5 24 -0.00062 3.425975 55.645161 0.32452 2.939305 55.645161 -0.00062 3.425975 75.717743 -0.00062 3.425975 15
5 24 0.32452 2.939305 55.645161 0.81118 2.614194 55.645161 0.32452 2.939305 75.717743 0.32452 2.939305 15
5 24 0.81118 2.614194 55.645161 1.385188 2.499961 55.645161 0.81118 2.614194 75.717743 0.81118 2.614194 15
5 24 1.385188 2.499961 55.645161 1.959225 2.61418 55.645161 1.385188 2.499961 75.717743 1.385188 2.499961 15
5 24 1.959225 2.61418 55.645161 2.445895 2.93932 55.645161 1.959225 2.61418 75.717743 1.959225 2.61418 15
5 24 2.445895 2.93932 55.645161 2.771006 3.42598 55.645161 2.445895 2.93932 75.717743 2.445895 2.93932 15
5 24 2.771006 3.42598 55.645161 2.885238 3.999988 55.645161 2.771006 3.42598 75.717743 2.771006 3.42598 15
5 24 2.885238 3.999988 55.645161 2.77102 4.574025 55.645161 2.885238 3.999988 75.717743 2.885238 3.999988 15
5 24 2.77102 4.574025 55.645161 2.44588 5.060695 55.645161 2.77102 4.574025 75.717743 2.77102 4.574025 15
5 24 2.44588 5.060695 55.645161 1.95922 5.385806 55.645161 2.44588 5.060695 75.717743 2.44588 5.060695 15
5 24 1.95922 5.385806 55.645161 1.385212 5.500039 55.645161 1.95922 5.385806 75.717743 1.95922 5.385806 15
5 24 1.385212 5.500039 55.645161 0.811175 5.38582 55.645161 1.385212 5.500039 75.717743 1.385212 5.500039 15
5 24 0.811175 5.38582 55.645161 0.324505 5.06068 55.645161 0.811175 5.38582 75.717743 0.811175 5.38582 15
5 24 0.324505 5.06068 55.645161 -0.000606 4.57402 55.645161 0.324505 5.06068 75.717743 0.324505 5.06068 15
5 24 -0.000606 4.57402 55.645161 -0.32452 5.060695 55.645161 0.00062 4.574025 75.717743 -0.000606 4.57402 15
5 24 -0.32452 5.060695 55.645161 -0.81118 5.385806 55.645161 -0.32452 5.060695 75.717743 -0.32452 5.060695 15
5 24 -0.81118 5.385806 55.645161 -1.385188 5.500039 55.645161 -0.81118 5.385806 75.717743 -0.81118 5.385806 15
5 24 -1.385188 5.500039 55.645161 -1.959225 5.38582 55.645161 -1.385188 5.500039 75.717743 -1.385188 5.500039 15
5 24 -1.959225 5.38582 55.645161 -2.445895 5.06068 55.645161 -1.959225 5.38582 75.717743 -1.959225 5.38582 15
5 24 -2.445895 5.06068 55.645161 -2.771006 4.57402 55.645161 -2.445895 5.06068 75.717743 -2.445895 5.06068 15
5 24 -2.771006 4.57402 55.645161 -2.885238 4.000011 55.645161 -2.771006 4.57402 75.717743 -2.771006 4.57402 15
5 24 -2.885238 4.000011 55.645161 -2.77102 3.425975 55.645161 -2.885238 4.000011 75.717743 -2.885238 4.000011 15
5 24 -2.77102 3.425975 55.645161 -2.44588 2.939305 55.645161 -2.77102 3.425975 75.717743 -2.77102 3.425975 15
5 24 -2.44588 2.939305 55.645161 -1.95922 2.614194 55.645161 -2.44588 2.939305 75.717743 -2.44588 2.939305 15
5 24 -1.95922 2.614194 55.645161 -1.385212 2.499961 55.645161 -1.95922 2.614194 75.717743 -1.95922 2.614194 15
5 24 -1.385212 2.499961 55.645161 -0.811175 2.61418 55.645161 -1.385212 2.499961 75.717743 -1.385212 2.499961 15
5 24 -0.811175 2.61418 55.645161 -0.324505 2.93932 55.645161 -0.811175 2.61418 75.717743 -0.811175 2.61418 15
5 24 -0.324505 2.93932 55.645161 -0.00062 3.425975 55.645161 -0.324505 2.93932 75.717743 -0.324505 2.93932 15
5 24 -0.00062 3.425975 15.000001 0.32452 2.939305 15.000001 -0.00062 3.425975 55.645161 -0.00062 3.425975 14.000001
5 24 0.32452 2.939305 15.000001 0.81118 2.614194 15.000001 0.32452 2.939305 55.645161 0.32452 2.939305 14.000001
5 24 0.81118 2.614194 15.000001 1.385188 2.499961 15.000001 0.81118 2.614194 55.645161 0.81118 2.614194 14.000001
5 24 1.385188 2.499961 15.000001 1.959225 2.61418 15.000001 1.385188 2.499961 55.645161 1.385188 2.499961 14.000001
5 24 1.959225 2.61418 15.000001 2.445895 2.93932 15.000001 1.959225 2.61418 55.645161 1.959225 2.61418 14.000001
5 24 2.445895 2.93932 15.000001 2.771006 3.42598 15.000001 2.445895 2.93932 55.645161 2.445895 2.93932 14.000001
5 24 2.771006 3.42598 15.000001 2.885238 3.999988 15.000001 2.771006 3.42598 55.645161 2.771006 3.42598 14.000001
5 24 2.885238 3.999988 15.000001 2.77102 4.574025 15.000001 2.885238 3.999988 55.645161 2.885238 3.999988 14.000001
5 24 2.77102 4.574025 15.000001 2.44588 5.060695 15.000001 2.77102 4.574025 55.645161 2.77102 4.574025 14.000001
5 24 2.44588 5.060695 15.000001 1.95922 5.385806 15.000001 2.44588 5.060695 55.645161 2.44588 5.060695 14.000001
5 24 1.95922 5.385806 15.000001 1.385212 5.500039 15.000001 1.95922 5.385806 55.645161 1.95922 5.385806 14.000001
5 24 1.385212 5.500039 15.000001 0.811175 5.38582 15.000001 1.385212 5.500039 55.645161 1.385212 5.500039 14.000001
5 24 0.811175 5.38582 15.000001 0.324505 5.06068 15.000001 0.811175 5.38582 55.645161 0.811175 5.38582 14.000001
5 24 0.324505 5.06068 15.000001 -0.000606 4.57402 15.000001 0.324505 5.06068 55.645161 0.324505 5.06068 14.000001
5 24 -0.000606 4.57402 15.000001 -0.32452 5.060695 15.000001 -0.000606 4.57402 55.645161 0.00062 4.574025 14.000001
5 24 -0.32452 5.060695 15.000001 -0.81118 5.385806 15.000001 -0.32452 5.060695 55.645161 -0.32452 5.060695 14.000001
5 24 -0.81118 5.385806 15.000001 -1.385188 5.500039 15.000001 -0.81118 5.385806 55.645161 -0.81118 5.385806 14.000001
5 24 -1.385188 5.500039 15.000001 -1.959225 5.38582 15.000001 -1.385188 5.500039 55.645161 -1.385188 5.500039 14.000001
5 24 -1.959225 5.38582 15.000001 -2.445895 5.06068 15.000001 -1.959225 5.38582 55.645161 -1.959225 5.38582 14.000001
5 24 -2.445895 5.06068 15.000001 -2.771006 4.57402 15.000001 -2.445895 5.06068 55.645161 -2.445895 5.06068 14.000001
5 24 -2.771006 4.57402 15.000001 -2.885238 4.000011 15.000001 -2.771006 4.57402 55.645161 -2.771006 4.57402 14.000001
5 24 -2.885238 4.000011 15.000001 -2.77102 3.425975 15.000001 -2.885238 4.000011 55.645161 -2.885238 4.000011 14.000001
5 24 -2.77102 3.425975 15.000001 -2.44588 2.939305 15.000001 -2.77102 3.425975 55.645161 -2.77102 3.425975 14.000001
5 24 -2.44588 2.939305 15.000001 -1.95922 2.614194 15.000001 -2.44588 2.939305 55.645161 -2.44588 2.939305 14.000001
5 24 -1.95922 2.614194 15.000001 -1.385212 2.499961 15.000001 -1.95922 2.614194 55.645161 -1.95922 2.614194 14.000001
5 24 -1.385212 2.499961 15.000001 -0.811175 2.61418 15.000001 -1.385212 2.499961 55.645161 -1.385212 2.499961 14.000001
5 24 -0.811175 2.61418 15.000001 -0.324505 2.93932 15.000001 -0.811175 2.61418 55.645161 -0.811175 2.61418 14.000001
5 24 -0.324505 2.93932 15.000001 -0.00062 3.425975 15.000001 -0.324505 2.93932 55.645161 -0.324505 2.93932 14.000001
0 // Segment 2, this block is (recursively) generated from "ldcElecWire2Seg.dat"
4 16 0.32452 2.939305 95.790321 -0.00062 3.425975 95.790321 -0.00062 3.425975 55.645161 0.32452 2.939305 55.645161
4 16 0.81118 2.614194 95.790321 0.32452 2.939305 95.790321 0.32452 2.939305 55.645161 0.81118 2.614194 55.645161
4 16 1.385188 2.499961 95.790321 0.81118 2.614194 95.790321 0.81118 2.614194 55.645161 1.385188 2.499961 55.645161
4 16 1.959225 2.61418 95.790321 1.385188 2.499961 95.790321 1.385188 2.499961 55.645161 1.959225 2.61418 55.645161
4 16 2.445895 2.93932 95.790321 1.959225 2.61418 95.790321 1.959225 2.61418 55.645161 2.445895 2.93932 55.645161
4 16 2.771006 3.42598 95.790321 2.445895 2.93932 95.790321 2.445895 2.93932 55.645161 2.771006 3.42598 55.645161
4 16 2.885238 3.999988 95.790321 2.771006 3.42598 95.790321 2.771006 3.42598 55.645161 2.885238 3.999988 55.645161
4 16 2.77102 4.574025 95.790321 2.885238 3.999988 95.790321 2.885238 3.999988 55.645161 2.77102 4.574025 55.645161
4 16 2.44588 5.060695 95.790321 2.77102 4.574025 95.790321 2.77102 4.574025 55.645161 2.44588 5.060695 55.645161
4 16 1.95922 5.385806 95.790321 2.44588 5.060695 95.790321 2.44588 5.060695 55.645161 1.95922 5.385806 55.645161
4 16 1.385212 5.500039 95.790321 1.95922 5.385806 95.790321 1.95922 5.385806 55.645161 1.385212 5.500039 55.645161
4 16 0.811175 5.38582 95.790321 1.385212 5.500039 95.790321 1.385212 5.500039 55.645161 0.811175 5.38582 55.645161
4 16 0.324505 5.06068 95.790321 0.811175 5.38582 95.790321 0.811175 5.38582 55.645161 0.324505 5.06068 55.645161
4 16 -0.000606 4.57402 95.790321 0.324505 5.06068 95.790321 0.324505 5.06068 55.645161 -0.000606 4.57402 55.645161
4 16 -0.32452 5.060695 95.790321 -0.000606 4.57402 95.790321 -0.000606 4.57402 55.645161 -0.32452 5.060695 55.645161
4 16 -0.81118 5.385806 95.790321 -0.32452 5.060695 95.790321 -0.32452 5.060695 55.645161 -0.81118 5.385806 55.645161
4 16 -1.385188 5.500039 95.790321 -0.81118 5.385806 95.790321 -0.81118 5.385806 55.645161 -1.385188 5.500039 55.645161
4 16 -1.959225 5.38582 95.790321 -1.385188 5.500039 95.790321 -1.385188 5.500039 55.645161 -1.959225 5.38582 55.645161
4 16 -2.445895 5.06068 95.790321 -1.959225 5.38582 95.790321 -1.959225 5.38582 55.645161 -2.445895 5.06068 55.645161
4 16 -2.771006 4.57402 95.790321 -2.445895 5.06068 95.790321 -2.445895 5.06068 55.645161 -2.771006 4.57402 55.645161
4 16 -2.885238 4.000011 95.790321 -2.771006 4.57402 95.790321 -2.771006 4.57402 55.645161 -2.885238 4.000011 55.645161
4 16 -2.77102 3.425975 95.790321 -2.885238 4.000011 95.790321 -2.885238 4.000011 55.645161 -2.77102 3.425975 55.645161
4 16 -2.44588 2.939305 95.790321 -2.77102 3.425975 95.790321 -2.77102 3.425975 55.645161 -2.44588 2.939305 55.645161
4 16 -1.95922 2.614194 95.790321 -2.44588 2.939305 95.790321 -2.44588 2.939305 55.645161 -1.95922 2.614194 55.645161
4 16 -1.385212 2.499961 95.790321 -1.95922 2.614194 95.790321 -1.95922 2.614194 55.645161 -1.385212 2.499961 55.645161
4 16 -0.811175 2.61418 95.790321 -1.385212 2.499961 95.790321 -1.385212 2.499961 55.645161 -0.811175 2.61418 55.645161
4 16 -0.324505 2.93932 95.790321 -0.811175 2.61418 95.790321 -0.811175 2.61418 55.645161 -0.324505 2.93932 55.645161
4 16 -0.00062 3.425975 95.790321 -0.324505 2.93932 95.790321 -0.324505 2.93932 55.645161 -0.00062 3.425975 55.645161
5 24 -0.00062 3.425975 55.645161 -0.00062 3.425975 95.790321 -0.574645 4.811795 55.645161 0.32452 2.939305 55.645161
5 24 0.32452 2.939305 55.645161 0.32452 2.939305 95.790321 -0.00062 3.425975 55.645161 0.81118 2.614194 55.645161
5 24 0.81118 2.614194 55.645161 0.81118 2.614194 95.790321 0.32452 2.939305 55.645161 1.385188 2.499961 55.645161
5 24 1.385188 2.499961 55.645161 1.385188 2.499961 95.790321 0.81118 2.614194 55.645161 1.959225 2.61418 55.645161
5 24 1.959225 2.61418 55.645161 1.959225 2.61418 95.790321 1.385188 2.499961 55.645161 2.445895 2.93932 55.645161
5 24 2.445895 2.93932 55.645161 2.445895 2.93932 95.790321 1.959225 2.61418 55.645161 2.771006 3.42598 55.645161
5 24 2.771006 3.42598 55.645161 2.771006 3.42598 95.790321 2.445895 2.93932 55.645161 2.885238 3.999988 55.645161
5 24 2.885238 3.999988 55.645161 2.885238 3.999988 95.790321 2.771006 3.42598 55.645161 2.77102 4.574025 55.645161
5 24 2.77102 4.574025 55.645161 2.77102 4.574025 95.790321 2.885238 3.999988 55.645161 2.44588 5.060695 55.645161
5 24 2.44588 5.060695 55.645161 2.44588 5.060695 95.790321 2.77102 4.574025 55.645161 1.95922 5.385806 55.645161
5 24 1.95922 5.385806 55.645161 1.95922 5.385806 95.790321 2.44588 5.060695 55.645161 1.385212 5.500039 55.645161
5 24 1.385212 5.500039 55.645161 1.385212 5.500039 95.790321 1.95922 5.385806 55.645161 0.811175 5.38582 55.645161
5 24 0.811175 5.38582 55.645161 0.811175 5.38582 95.790321 1.385212 5.500039 55.645161 0.324505 5.06068 55.645161
5 24 0.324505 5.06068 55.645161 0.324505 5.06068 95.790321 0.811175 5.38582 55.645161 -0.000606 4.57402 55.645161
5 24 -0.000606 4.57402 55.645161 -0.000606 4.57402 95.790321 -0.574627 3.188214 55.645161 0.324505 5.06068 55.645161
5 24 -0.000606 4.57402 55.645161 -0.000606 4.57402 95.790321 0.574645 3.188205 55.645161 -0.32452 5.060695 55.645161
5 24 -0.32452 5.060695 55.645161 -0.32452 5.060695 95.790321 -0.000606 4.57402 55.645161 -0.81118 5.385806 55.645161
5 24 -0.81118 5.385806 55.645161 -0.81118 5.385806 95.790321 -0.32452 5.060695 55.645161 -1.385188 5.500039 55.645161
5 24 -1.385188 5.500039 55.645161 -1.385188 5.500039 95.790321 -0.81118 5.385806 55.645161 -1.959225 5.38582 55.645161
5 24 -1.959225 5.38582 55.645161 -1.959225 5.38582 95.790321 -1.385188 5.500039 55.645161 -2.445895 5.06068 55.645161
5 24 -2.445895 5.06068 55.645161 -2.445895 5.06068 95.790321 -1.959225 5.38582 55.645161 -2.771006 4.57402 55.645161
5 24 -2.771006 4.57402 55.645161 -2.771006 4.57402 95.790321 -2.445895 5.06068 55.645161 -2.885238 4.000011 55.645161
5 24 -2.885238 4.000011 55.645161 -2.885238 4.000011 95.790321 -2.771006 4.57402 55.645161 -2.77102 3.425975 55.645161
5 24 -2.77102 3.425975 55.645161 -2.77102 3.425975 95.790321 -2.885238 4.000011 55.645161 -2.44588 2.939305 55.645161
5 24 -2.44588 2.939305 55.645161 -2.44588 2.939305 95.790321 -2.77102 3.425975 55.645161 -1.95922 2.614194 55.645161
5 24 -1.95922 2.614194 55.645161 -1.95922 2.614194 95.790321 -2.44588 2.939305 55.645161 -1.385212 2.499961 55.645161
5 24 -1.385212 2.499961 55.645161 -1.385212 2.499961 95.790321 -1.95922 2.614194 55.645161 -0.811175 2.61418 55.645161
5 24 -0.811175 2.61418 55.645161 -0.811175 2.61418 95.790321 -1.385212 2.499961 55.645161 -0.324505 2.93932 55.645161
5 24 -0.324505 2.93932 55.645161 -0.324505 2.93932 95.790321 -0.811175 2.61418 55.645161 -0.00062 3.425975 55.645161
5 24 -0.00062 3.425975 55.645161 -0.00062 3.425975 95.790321 0.574627 4.811786 55.645161 -0.324505 2.93932 55.645161
5 24 -0.00062 3.425975 95.790321 0.32452 2.939305 95.790321 -0.00062 3.425975 116.1129 -0.00062 3.425975 55.645161
5 24 0.32452 2.939305 95.790321 0.81118 2.614194 95.790321 0.32452 2.939305 116.1129 0.32452 2.939305 55.645161
5 24 0.81118 2.614194 95.790321 1.385188 2.499961 95.790321 0.81118 2.614194 116.1129 0.81118 2.614194 55.645161
5 24 1.385188 2.499961 95.790321 1.959225 2.61418 95.790321 1.385188 2.499961 116.1129 1.385188 2.499961 55.645161
5 24 1.959225 2.61418 95.790321 2.445895 2.93932 95.790321 1.959225 2.61418 116.1129 1.959225 2.61418 55.645161
5 24 2.445895 2.93932 95.790321 2.771006 3.42598 95.790321 2.445895 2.93932 116.1129 2.445895 2.93932 55.645161
5 24 2.771006 3.42598 95.790321 2.885238 3.999988 95.790321 2.771006 3.42598 116.1129 2.771006 3.42598 55.645161
5 24 2.885238 3.999988 95.790321 2.77102 4.574025 95.790321 2.885238 3.999988 116.1129 2.885238 3.999988 55.645161
5 24 2.77102 4.574025 95.790321 2.44588 5.060695 95.790321 2.77102 4.574025 116.1129 2.77102 4.574025 55.645161
5 24 2.44588 5.060695 95.790321 1.95922 5.385806 95.790321 2.44588 5.060695 116.1129 2.44588 5.060695 55.645161
5 24 1.95922 5.385806 95.790321 1.385212 5.500039 95.790321 1.95922 5.385806 116.1129 1.95922 5.385806 55.645161
5 24 1.385212 5.500039 95.790321 0.811175 5.38582 95.790321 1.385212 5.500039 116.1129 1.385212 5.500039 55.645161
5 24 0.811175 5.38582 95.790321 0.324505 5.06068 95.790321 0.811175 5.38582 116.1129 0.811175 5.38582 55.645161
5 24 0.324505 5.06068 95.790321 -0.000606 4.57402 95.790321 0.324505 5.06068 116.1129 0.324505 5.06068 55.645161
5 24 -0.000606 4.57402 95.790321 -0.32452 5.060695 95.790321 0.00062 4.574025 116.1129 -0.000606 4.57402 55.645161
5 24 -0.32452 5.060695 95.790321 -0.81118 5.385806 95.790321 -0.32452 5.060695 116.1129 -0.32452 5.060695 55.645161
5 24 -0.81118 5.385806 95.790321 -1.385188 5.500039 95.790321 -0.81118 5.385806 116.1129 -0.81118 5.385806 55.645161
5 24 -1.385188 5.500039 95.790321 -1.959225 5.38582 95.790321 -1.385188 5.500039 116.1129 -1.385188 5.500039 55.645161
5 24 -1.959225 5.38582 95.790321 -2.445895 5.06068 95.790321 -1.959225 5.38582 116.1129 -1.959225 5.38582 55.645161
5 24 -2.445895 5.06068 95.790321 -2.771006 4.57402 95.790321 -2.445895 5.06068 116.1129 -2.445895 5.06068 55.645161
5 24 -2.771006 4.57402 95.790321 -2.885238 4.000011 95.790321 -2.771006 4.57402 116.1129 -2.771006 4.57402 55.645161
5 24 -2.885238 4.000011 95.790321 -2.77102 3.425975 95.790321 -2.885238 4.000011 116.1129 -2.885238 4.000011 55.645161
5 24 -2.77102 3.425975 95.790321 -2.44588 2.939305 95.790321 -2.77102 3.425975 116.1129 -2.77102 3.425975 55.645161
5 24 -2.44588 2.939305 95.790321 -1.95922 2.614194 95.790321 -2.44588 2.939305 116.1129 -2.44588 2.939305 55.645161
5 24 -1.95922 2.614194 95.790321 -1.385212 2.499961 95.790321 -1.95922 2.614194 116.1129 -1.95922 2.614194 55.645161
5 24 -1.385212 2.499961 95.790321 -0.811175 2.61418 95.790321 -1.385212 2.499961 116.1129 -1.385212 2.499961 55.645161
5 24 -0.811175 2.61418 95.790321 -0.324505 2.93932 95.790321 -0.811175 2.61418 116.1129 -0.811175 2.61418 55.645161
5 24 -0.324505 2.93932 95.790321 -0.00062 3.425975 95.790321 -0.324505 2.93932 116.1129 -0.324505 2.93932 55.645161
0 // Segment 3, this block is (recursively) generated from "ldcElecWire2Seg.dat"
4 16 0.32452 2.939305 136.435486 -0.00062 3.425975 136.435486 -0.00062 3.425975 95.790321 0.32452 2.939305 95.790321
4 16 0.81118 2.614194 136.435486 0.32452 2.939305 136.435486 0.32452 2.939305 95.790321 0.81118 2.614194 95.790321
4 16 1.385188 2.499961 136.435486 0.81118 2.614194 136.435486 0.81118 2.614194 95.790321 1.385188 2.499961 95.790321
4 16 1.959225 2.61418 136.435486 1.385188 2.499961 136.435486 1.385188 2.499961 95.790321 1.959225 2.61418 95.790321
4 16 2.445895 2.93932 136.435486 1.959225 2.61418 136.435486 1.959225 2.61418 95.790321 2.445895 2.93932 95.790321
4 16 2.771006 3.42598 136.435486 2.445895 2.93932 136.435486 2.445895 2.93932 95.790321 2.771006 3.42598 95.790321
4 16 2.885238 3.999988 136.435486 2.771006 3.42598 136.435486 2.771006 3.42598 95.790321 2.885238 3.999988 95.790321
4 16 2.77102 4.574025 136.435486 2.885238 3.999988 136.435486 2.885238 3.999988 95.790321 2.77102 4.574025 95.790321
4 16 2.44588 5.060695 136.435486 2.77102 4.574025 136.435486 2.77102 4.574025 95.790321 2.44588 5.060695 95.790321
4 16 1.95922 5.385806 136.435486 2.44588 5.060695 136.435486 2.44588 5.060695 95.790321 1.95922 5.385806 95.790321
4 16 1.385212 5.500039 136.435486 1.95922 5.385806 136.435486 1.95922 5.385806 95.790321 1.385212 5.500039 95.790321
4 16 0.811175 5.38582 136.435486 1.385212 5.500039 136.435486 1.385212 5.500039 95.790321 0.811175 5.38582 95.790321
4 16 0.324505 5.06068 136.435486 0.811175 5.38582 136.435486 0.811175 5.38582 95.790321 0.324505 5.06068 95.790321
4 16 -0.000606 4.57402 136.435486 0.324505 5.06068 136.435486 0.324505 5.06068 95.790321 -0.000606 4.57402 95.790321
4 16 -0.32452 5.060695 136.435486 -0.000606 4.57402 136.435486 -0.000606 4.57402 95.790321 -0.32452 5.060695 95.790321
4 16 -0.81118 5.385806 136.435486 -0.32452 5.060695 136.435486 -0.32452 5.060695 95.790321 -0.81118 5.385806 95.790321
4 16 -1.385188 5.500039 136.435486 -0.81118 5.385806 136.435486 -0.81118 5.385806 95.790321 -1.385188 5.500039 95.790321
4 16 -1.959225 5.38582 136.435486 -1.385188 5.500039 136.435486 -1.385188 5.500039 95.790321 -1.959225 5.38582 95.790321
4 16 -2.445895 5.06068 136.435486 -1.959225 5.38582 136.435486 -1.959225 5.38582 95.790321 -2.445895 5.06068 95.790321
4 16 -2.771006 4.57402 136.435486 -2.445895 5.06068 136.435486 -2.445895 5.06068 95.790321 -2.771006 4.57402 95.790321
4 16 -2.885238 4.000011 136.435486 -2.771006 4.57402 136.435486 -2.771006 4.57402 95.790321 -2.885238 4.000011 95.790321
4 16 -2.77102 3.425975 136.435486 -2.885238 4.000011 136.435486 -2.885238 4.000011 95.790321 -2.77102 3.425975 95.790321
4 16 -2.44588 2.939305 136.435486 -2.77102 3.425975 136.435486 -2.77102 3.425975 95.790321 -2.44588 2.939305 95.790321
4 16 -1.95922 2.614194 136.435486 -2.44588 2.939305 136.435486 -2.44588 2.939305 95.790321 -1.95922 2.614194 95.790321
4 16 -1.385212 2.499961 136.435486 -1.95922 2.614194 136.435486 -1.95922 2.614194 95.790321 -1.385212 2.499961 95.790321
4 16 -0.811175 2.61418 136.435486 -1.385212 2.499961 136.435486 -1.385212 2.499961 95.790321 -0.811175 2.61418 95.790321
4 16 -0.324505 2.93932 136.435486 -0.811175 2.61418 136.435486 -0.811175 2.61418 95.790321 -0.324505 2.93932 95.790321
4 16 -0.00062 3.425975 136.435486 -0.324505 2.93932 136.435486 -0.324505 2.93932 95.790321 -0.00062 3.425975 95.790321
5 24 -0.00062 3.425975 95.790321 -0.00062 3.425975 136.435486 -0.574645 4.811795 95.790321 0.32452 2.939305 95.790321
5 24 0.32452 2.939305 95.790321 0.32452 2.939305 136.435486 -0.00062 3.425975 95.790321 0.81118 2.614194 95.790321
5 24 0.81118 2.614194 95.790321 0.81118 2.614194 136.435486 0.32452 2.939305 95.790321 1.385188 2.499961 95.790321
5 24 1.385188 2.499961 95.790321 1.385188 2.499961 136.435486 0.81118 2.614194 95.790321 1.959225 2.61418 95.790321
5 24 1.959225 2.61418 95.790321 1.959225 2.61418 136.435486 1.385188 2.499961 95.790321 2.445895 2.93932 95.790321
5 24 2.445895 2.93932 95.790321 2.445895 2.93932 136.435486 1.959225 2.61418 95.790321 2.771006 3.42598 95.790321
5 24 2.771006 3.42598 95.790321 2.771006 3.42598 136.435486 2.445895 2.93932 95.790321 2.885238 3.999988 95.790321
5 24 2.885238 3.999988 95.790321 2.885238 3.999988 136.435486 2.771006 3.42598 95.790321 2.77102 4.574025 95.790321
5 24 2.77102 4.574025 95.790321 2.77102 4.574025 136.435486 2.885238 3.999988 95.790321 2.44588 5.060695 95.790321
5 24 2.44588 5.060695 95.790321 2.44588 5.060695 136.435486 2.77102 4.574025 95.790321 1.95922 5.385806 95.790321
5 24 1.95922 5.385806 95.790321 1.95922 5.385806 136.435486 2.44588 5.060695 95.790321 1.385212 5.500039 95.790321
5 24 1.385212 5.500039 95.790321 1.385212 5.500039 136.435486 1.95922 5.385806 95.790321 0.811175 5.38582 95.790321
5 24 0.811175 5.38582 95.790321 0.811175 5.38582 136.435486 1.385212 5.500039 95.790321 0.324505 5.06068 95.790321
5 24 0.324505 5.06068 95.790321 0.324505 5.06068 136.435486 0.811175 5.38582 95.790321 -0.000606 4.57402 95.790321
5 24 -0.000606 4.57402 95.790321 -0.000606 4.57402 136.435486 -0.574627 3.188214 95.790321 0.324505 5.06068 95.790321
5 24 -0.000606 4.57402 95.790321 -0.000606 4.57402 136.435486 0.574645 3.188205 95.790321 -0.32452 5.060695 95.790321
5 24 -0.32452 5.060695 95.790321 -0.32452 5.060695 136.435486 -0.000606 4.57402 95.790321 -0.81118 5.385806 95.790321
5 24 -0.81118 5.385806 95.790321 -0.81118 5.385806 136.435486 -0.32452 5.060695 95.790321 -1.385188 5.500039 95.790321
5 24 -1.385188 5.500039 95.790321 -1.385188 5.500039 136.435486 -0.81118 5.385806 95.790321 -1.959225 5.38582 95.790321
5 24 -1.959225 5.38582 95.790321 -1.959225 5.38582 136.435486 -1.385188 5.500039 95.790321 -2.445895 5.06068 95.790321
5 24 -2.445895 5.06068 95.790321 -2.445895 5.06068 136.435486 -1.959225 5.38582 95.790321 -2.771006 4.57402 95.790321
5 24 -2.771006 4.57402 95.790321 -2.771006 4.57402 136.435486 -2.445895 5.06068 95.790321 -2.885238 4.000011 95.790321
5 24 -2.885238 4.000011 95.790321 -2.885238 4.000011 136.435486 -2.771006 4.57402 95.790321 -2.77102 3.425975 95.790321
5 24 -2.77102 3.425975 95.790321 -2.77102 3.425975 136.435486 -2.885238 4.000011 95.790321 -2.44588 2.939305 95.790321
5 24 -2.44588 2.939305 95.790321 -2.44588 2.939305 136.435486 -2.77102 3.425975 95.790321 -1.95922 2.614194 95.790321
5 24 -1.95922 2.614194 95.790321 -1.95922 2.614194 136.435486 -2.44588 2.939305 95.790321 -1.385212 2.499961 95.790321
5 24 -1.385212 2.499961 95.790321 -1.385212 2.499961 136.435486 -1.95922 2.614194 95.790321 -0.811175 2.61418 95.790321
5 24 -0.811175 2.61418 95.790321 -0.811175 2.61418 136.435486 -1.385212 2.499961 95.790321 -0.324505 2.93932 95.790321
5 24 -0.324505 2.93932 95.790321 -0.324505 2.93932 136.435486 -0.811175 2.61418 95.790321 -0.00062 3.425975 95.790321
5 24 -0.00062 3.425975 95.790321 -0.00062 3.425975 136.435486 0.574627 4.811786 95.790321 -0.324505 2.93932 95.790321
5 24 -0.00062 3.425975 136.435486 0.32452 2.939305 136.435486 -0.00062 3.425975 138.217743 -0.00062 3.425975 95.790321
5 24 0.32452 2.939305 136.435486 0.81118 2.614194 136.435486 0.32452 2.939305 138.217743 0.32452 2.939305 95.790321
5 24 0.81118 2.614194 136.435486 1.385188 2.499961 136.435486 0.81118 2.614194 138.217743 0.81118 2.614194 95.790321
5 24 1.385188 2.499961 136.435486 1.959225 2.61418 136.435486 1.385188 2.499961 138.217743 1.385188 2.499961 95.790321
5 24 1.959225 2.61418 136.435486 2.445895 2.93932 136.435486 1.959225 2.61418 138.217743 1.959225 2.61418 95.790321
5 24 2.445895 2.93932 136.435486 2.771006 3.42598 136.435486 2.445895 2.93932 138.217743 2.445895 2.93932 95.790321
5 24 2.771006 3.42598 136.435486 2.885238 3.999988 136.435486 2.771006 3.42598 138.217743 2.771006 3.42598 95.790321
5 24 2.885238 3.999988 136.435486 2.77102 4.574025 136.435486 2.885238 3.999988 138.217743 2.885238 3.999988 95.790321
5 24 2.77102 4.574025 136.435486 2.44588 5.060695 136.435486 2.77102 4.574025 138.217743 2.77102 4.574025 95.790321
5 24 2.44588 5.060695 136.435486 1.95922 5.385806 136.435486 2.44588 5.060695 138.217743 2.44588 5.060695 95.790321
5 24 1.95922 5.385806 136.435486 1.385212 5.500039 136.435486 1.95922 5.385806 138.217743 1.95922 5.385806 95.790321
5 24 1.385212 5.500039 136.435486 0.811175 5.38582 136.435486 1.385212 5.500039 138.217743 1.385212 5.500039 95.790321
5 24 0.811175 5.38582 136.435486 0.324505 5.06068 136.435486 0.811175 5.38582 138.217743 0.811175 5.38582 95.790321
5 24 0.324505 5.06068 136.435486 -0.000606 4.57402 136.435486 0.324505 5.06068 138.217743 0.324505 5.06068 95.790321
5 24 -0.000606 4.57402 136.435486 -0.32452 5.060695 136.435486 0.00062 4.574025 138.217743 -0.000606 4.57402 95.790321
5 24 -0.32452 5.060695 136.435486 -0.81118 5.385806 136.435486 -0.32452 5.060695 138.217743 -0.32452 5.060695 95.790321
5 24 -0.81118 5.385806 136.435486 -1.385188 5.500039 136.435486 -0.81118 5.385806 138.217743 -0.81118 5.385806 95.790321
5 24 -1.385188 5.500039 136.435486 -1.959225 5.38582 136.435486 -1.385188 5.500039 138.217743 -1.385188 5.500039 95.790321
5 24 -1.959225 5.38582 136.435486 -2.445895 5.06068 136.435486 -1.959225 5.38582 138.217743 -1.959225 5.38582 95.790321
5 24 -2.445895 5.06068 136.435486 -2.771006 4.57402 136.435486 -2.445895 5.06068 138.217743 -2.445895 5.06068 95.790321
5 24 -2.771006 4.57402 136.435486 -2.885238 4.000011 136.435486 -2.771006 4.57402 138.217743 -2.771006 4.57402 95.790321
5 24 -2.885238 4.000011 136.435486 -2.77102 3.425975 136.435486 -2.885238 4.000011 138.217743 -2.885238 4.000011 95.790321
5 24 -2.77102 3.425975 136.435486 -2.44588 2.939305 136.435486 -2.77102 3.425975 138.217743 -2.77102 3.425975 95.790321
5 24 -2.44588 2.939305 136.435486 -1.95922 2.614194 136.435486 -2.44588 2.939305 138.217743 -2.44588 2.939305 95.790321
5 24 -1.95922 2.614194 136.435486 -1.385212 2.499961 136.435486 -1.95922 2.614194 138.217743 -1.95922 2.614194 95.790321
5 24 -1.385212 2.499961 136.435486 -0.811175 2.61418 136.435486 -1.385212 2.499961 138.217743 -1.385212 2.499961 95.790321
5 24 -0.811175 2.61418 136.435486 -0.324505 2.93932 136.435486 -0.811175 2.61418 138.217743 -0.811175 2.61418 95.790321
5 24 -0.324505 2.93932 136.435486 -0.00062 3.425975 136.435486 -0.324505 2.93932 138.217743 -0.324505 2.93932 95.790321
0 // Segment 4, this block is (recursively) generated from "ldcElecWire2Seg.dat"
4 16 0.32452 2.939305 140 -0.00062 3.425975 140 -0.00062 3.425975 136.435486 0.32452 2.939305 136.435486
4 16 0.81118 2.614194 140 0.32452 2.939305 140 0.32452 2.939305 136.435486 0.81118 2.614194 136.435486
4 16 1.385188 2.499961 140 0.81118 2.614194 140 0.81118 2.614194 136.435486 1.385188 2.499961 136.435486
4 16 1.959225 2.61418 140 1.385188 2.499961 140 1.385188 2.499961 136.435486 1.959225 2.61418 136.435486
4 16 2.445895 2.93932 140 1.959225 2.61418 140 1.959225 2.61418 136.435486 2.445895 2.93932 136.435486
4 16 2.771006 3.42598 140 2.445895 2.93932 140 2.445895 2.93932 136.435486 2.771006 3.42598 136.435486
4 16 2.885238 3.999988 140 2.771006 3.42598 140 2.771006 3.42598 136.435486 2.885238 3.999988 136.435486
4 16 2.77102 4.574025 140 2.885238 3.999988 140 2.885238 3.999988 136.435486 2.77102 4.574025 136.435486
4 16 2.44588 5.060695 140 2.77102 4.574025 140 2.77102 4.574025 136.435486 2.44588 5.060695 136.435486
4 16 1.95922 5.385806 140 2.44588 5.060695 140 2.44588 5.060695 136.435486 1.95922 5.385806 136.435486
4 16 1.385212 5.500039 140 1.95922 5.385806 140 1.95922 5.385806 136.435486 1.385212 5.500039 136.435486
4 16 0.811175 5.38582 140 1.385212 5.500039 140 1.385212 5.500039 136.435486 0.811175 5.38582 136.435486
4 16 0.324505 5.06068 140 0.811175 5.38582 140 0.811175 5.38582 136.435486 0.324505 5.06068 136.435486
4 16 -0.000606 4.57402 140 0.324505 5.06068 140 0.324505 5.06068 136.435486 -0.000606 4.57402 136.435486
4 16 -0.32452 5.060695 140 -0.000606 4.57402 140 -0.000606 4.57402 136.435486 -0.32452 5.060695 136.435486
4 16 -0.81118 5.385806 140 -0.32452 5.060695 140 -0.32452 5.060695 136.435486 -0.81118 5.385806 136.435486
4 16 -1.385188 5.500039 140 -0.81118 5.385806 140 -0.81118 5.385806 136.435486 -1.385188 5.500039 136.435486
4 16 -1.959225 5.38582 140 -1.385188 5.500039 140 -1.385188 5.500039 136.435486 -1.959225 5.38582 136.435486
4 16 -2.445895 5.06068 140 -1.959225 5.38582 140 -1.959225 5.38582 136.435486 -2.445895 5.06068 136.435486
4 16 -2.771006 4.57402 140 -2.445895 5.06068 140 -2.445895 5.06068 136.435486 -2.771006 4.57402 136.435486
4 16 -2.885238 4.000011 140 -2.771006 4.57402 140 -2.771006 4.57402 136.435486 -2.885238 4.000011 136.435486
4 16 -2.77102 3.425975 140 -2.885238 4.000011 140 -2.885238 4.000011 136.435486 -2.77102 3.425975 136.435486
4 16 -2.44588 2.939305 140 -2.77102 3.425975 140 -2.77102 3.425975 136.435486 -2.44588 2.939305 136.435486
4 16 -1.95922 2.614194 140 -2.44588 2.939305 140 -2.44588 2.939305 136.435486 -1.95922 2.614194 136.435486
4 16 -1.385212 2.499961 140 -1.95922 2.614194 140 -1.95922 2.614194 136.435486 -1.385212 2.499961 136.435486
4 16 -0.811175 2.61418 140 -1.385212 2.499961 140 -1.385212 2.499961 136.435486 -0.811175 2.61418 136.435486
4 16 -0.324505 2.93932 140 -0.811175 2.61418 140 -0.811175 2.61418 136.435486 -0.324505 2.93932 136.435486
4 16 -0.00062 3.425975 140 -0.324505 2.93932 140 -0.324505 2.93932 136.435486 -0.00062 3.425975 136.435486
5 24 -0.00062 3.425975 136.435486 -0.00062 3.425975 140 -0.574645 4.811795 136.435486 0.32452 2.939305 136.435486
5 24 0.32452 2.939305 136.435486 0.32452 2.939305 140 -0.00062 3.425975 136.435486 0.81118 2.614194 136.435486
5 24 0.81118 2.614194 136.435486 0.81118 2.614194 140 0.32452 2.939305 136.435486 1.385188 2.499961 136.435486
5 24 1.385188 2.499961 136.435486 1.385188 2.499961 140 0.81118 2.614194 136.435486 1.959225 2.61418 136.435486
5 24 1.959225 2.61418 136.435486 1.959225 2.61418 140 1.385188 2.499961 136.435486 2.445895 2.93932 136.435486
5 24 2.445895 2.93932 136.435486 2.445895 2.93932 140 1.959225 2.61418 136.435486 2.771006 3.42598 136.435486
5 24 2.771006 3.42598 136.435486 2.771006 3.42598 140 2.445895 2.93932 136.435486 2.885238 3.999988 136.435486
5 24 2.885238 3.999988 136.435486 2.885238 3.999988 140 2.771006 3.42598 136.435486 2.77102 4.574025 136.435486
5 24 2.77102 4.574025 136.435486 2.77102 4.574025 140 2.885238 3.999988 136.435486 2.44588 5.060695 136.435486
5 24 2.44588 5.060695 136.435486 2.44588 5.060695 140 2.77102 4.574025 136.435486 1.95922 5.385806 136.435486
5 24 1.95922 5.385806 136.435486 1.95922 5.385806 140 2.44588 5.060695 136.435486 1.385212 5.500039 136.435486
5 24 1.385212 5.500039 136.435486 1.385212 5.500039 140 1.95922 5.385806 136.435486 0.811175 5.38582 136.435486
5 24 0.811175 5.38582 136.435486 0.811175 5.38582 140 1.385212 5.500039 136.435486 0.324505 5.06068 136.435486
5 24 0.324505 5.06068 136.435486 0.324505 5.06068 140 0.811175 5.38582 136.435486 -0.000606 4.57402 136.435486
5 24 -0.000606 4.57402 136.435486 -0.000606 4.57402 140 -0.574627 3.188214 136.435486 0.324505 5.06068 136.435486
5 24 -0.000606 4.57402 136.435486 -0.000606 4.57402 140 0.574645 3.188205 136.435486 -0.32452 5.060695 136.435486
5 24 -0.32452 5.060695 136.435486 -0.32452 5.060695 140 -0.000606 4.57402 136.435486 -0.81118 5.385806 136.435486
5 24 -0.81118 5.385806 136.435486 -0.81118 5.385806 140 -0.32452 5.060695 136.435486 -1.385188 5.500039 136.435486
5 24 -1.385188 5.500039 136.435486 -1.385188 5.500039 140 -0.81118 5.385806 136.435486 -1.959225 5.38582 136.435486
5 24 -1.959225 5.38582 136.435486 -1.959225 5.38582 140 -1.385188 5.500039 136.435486 -2.445895 5.06068 136.435486
5 24 -2.445895 5.06068 136.435486 -2.445895 5.06068 140 -1.959225 5.38582 136.435486 -2.771006 4.57402 136.435486
5 24 -2.771006 4.57402 136.435486 -2.771006 4.57402 140 -2.445895 5.06068 136.435486 -2.885238 4.000011 136.435486
5 24 -2.885238 4.000011 136.435486 -2.885238 4.000011 140 -2.771006 4.57402 136.435486 -2.77102 3.425975 136.435486
5 24 -2.77102 3.425975 136.435486 -2.77102 3.425975 140 -2.885238 4.000011 136.435486 -2.44588 2.939305 136.435486
5 24 -2.44588 2.939305 136.435486 -2.44588 2.939305 140 -2.77102 3.425975 136.435486 -1.95922 2.614194 136.435486
5 24 -1.95922 2.614194 136.435486 -1.95922 2.614194 140 -2.44588 2.939305 136.435486 -1.385212 2.499961 136.435486
5 24 -1.385212 2.499961 136.435486 -1.385212 2.499961 140 -1.95922 2.614194 136.435486 -0.811175 2.61418 136.435486
5 24 -0.811175 2.61418 136.435486 -0.811175 2.61418 140 -1.385212 2.499961 136.435486 -0.324505 2.93932 136.435486
5 24 -0.324505 2.93932 136.435486 -0.324505 2.93932 140 -0.811175 2.61418 136.435486 -0.00062 3.425975 136.435486
5 24 -0.00062 3.425975 136.435486 -0.00062 3.425975 140 0.574627 4.811786 136.435486 -0.324505 2.93932 136.435486
5 24 -0.00062 3.425975 140 0.32452 2.939305 140 -0.00062 3.425975 141 -0.00062 3.425975 136.435486
5 24 0.32452 2.939305 140 0.81118 2.614194 140 0.32452 2.939305 141 0.32452 2.939305 136.435486
5 24 0.81118 2.614194 140 1.385188 2.499961 140 0.81118 2.614194 141 0.81118 2.614194 136.435486
5 24 1.385188 2.499961 140 1.959225 2.61418 140 1.385188 2.499961 141 1.385188 2.499961 136.435486
5 24 1.959225 2.61418 140 2.445895 2.93932 140 1.959225 2.61418 141 1.959225 2.61418 136.435486
5 24 2.445895 2.93932 140 2.771006 3.42598 140 2.445895 2.93932 141 2.445895 2.93932 136.435486
5 24 2.771006 3.42598 140 2.885238 3.999988 140 2.771006 3.42598 141 2.771006 3.42598 136.435486
5 24 2.885238 3.999988 140 2.77102 4.574025 140 2.885238 3.999988 141 2.885238 3.999988 136.435486
5 24 2.77102 4.574025 140 2.44588 5.060695 140 2.77102 4.574025 141 2.77102 4.574025 136.435486
5 24 2.44588 5.060695 140 1.95922 5.385806 140 2.44588 5.060695 141 2.44588 5.060695 136.435486
5 24 1.95922 5.385806 140 1.385212 5.500039 140 1.95922 5.385806 141 1.95922 5.385806 136.435486
5 24 1.385212 5.500039 140 0.811175 5.38582 140 1.385212 5.500039 141 1.385212 5.500039 136.435486
5 24 0.811175 5.38582 140 0.324505 5.06068 140 0.811175 5.38582 141 0.811175 5.38582 136.435486
5 24 0.324505 5.06068 140 -0.000606 4.57402 140 0.324505 5.06068 141 0.324505 5.06068 136.435486
5 24 -0.000606 4.57402 140 -0.32452 5.060695 140 0.00062 4.574025 141 -0.000606 4.57402 136.435486
5 24 -0.32452 5.060695 140 -0.81118 5.385806 140 -0.32452 5.060695 141 -0.32452 5.060695 136.435486
5 24 -0.81118 5.385806 140 -1.385188 5.500039 140 -0.81118 5.385806 141 -0.81118 5.385806 136.435486
5 24 -1.385188 5.500039 140 -1.959225 5.38582 140 -1.385188 5.500039 141 -1.385188 5.500039 136.435486
5 24 -1.959225 5.38582 140 -2.445895 5.06068 140 -1.959225 5.38582 141 -1.959225 5.38582 136.435486
5 24 -2.445895 5.06068 140 -2.771006 4.57402 140 -2.445895 5.06068 141 -2.445895 5.06068 136.435486
5 24 -2.771006 4.57402 140 -2.885238 4.000011 140 -2.771006 4.57402 141 -2.771006 4.57402 136.435486
5 24 -2.885238 4.000011 140 -2.77102 3.425975 140 -2.885238 4.000011 141 -2.885238 4.000011 136.435486
5 24 -2.77102 3.425975 140 -2.44588 2.939305 140 -2.77102 3.425975 141 -2.77102 3.425975 136.435486
5 24 -2.44588 2.939305 140 -1.95922 2.614194 140 -2.44588 2.939305 141 -2.44588 2.939305 136.435486
5 24 -1.95922 2.614194 140 -1.385212 2.499961 140 -1.95922 2.614194 141 -1.95922 2.614194 136.435486
5 24 -1.385212 2.499961 140 -0.811175 2.61418 140 -1.385212 2.499961 141 -1.385212 2.499961 136.435486
5 24 -0.811175 2.61418 140 -0.324505 2.93932 140 -0.811175 2.61418 141 -0.811175 2.61418 136.435486
5 24 -0.324505 2.93932 140 -0.00062 3.425975 140 -0.324505 2.93932 141 -0.324505 2.93932 136.435486
Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 KiB

-3
View File
@@ -1,3 +0,0 @@
0 Author: Pybricks {laurens@pybricks.com}
0 !LICENSE MIT
1 15 0 -48 -20 1 0 0 0 1 0 0 0 1 26910.dat
Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

-12
View File
@@ -1,12 +0,0 @@
0 Name: orientation.ldr
0 Author: Pybricks {laurens@pybricks.com}
0 !LICENSE MIT
0 ROTATION CENTER 0 0 0 1 "Custom"
0 ROTATION CONFIG 0 0
1 15 -160 -56 260 0 0 1 0 1 0 -1 0 0 26910.dat
1 71 -430 -40 520 0 0 -1 0 1 0 1 0 0 22127.dat
1 15 140 -16 30 0 0 1 0 1 0 -1 0 0 45601p02.dat
1 3 430 -16 -180 0 0 1 0 1 0 -1 0 0 45601c01.dat
1 0 724 -90 -378 0 0 -1 0 -1 0 -1 0 0 u9218c01.dat
1 15 760 -100 -378 1 0 0 0 1 0 0 0 1 20841.dat
0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

-14
View File
@@ -1,14 +0,0 @@
0 Name: pupmotors
0 Author: Pybricks {laurens@pybricks.com}
0 !LICENSE MIT
1 0 60 -352 -90 1 0 0 0 1 0 0 0 1 87574.dat
1 15 60 -336 -70 0 0 1 0.259 0.966 0 -0.966 0.259 0 20844c01.dat
1 0 60 -312 -150 1 0 0 0 1 0 0 0 1 3706.dat
1 0 100 -312 -150 0 0 -1 0 1 0 1 0 0 u9241.dat
1 0 100 -312 -30 0 0 -1 0 1 0 1 0 0 u9241.dat
1 0 20 -312 -30 0 0 1 0 1 0 -1 0 0 u9241.dat
1 0 20 -312 -150 0 0 1 0 1 0 -1 0 0 u9241.dat
1 0 60 -312 -30 1 0 0 0 1 0 0 0 1 3706.dat
1 0 90 -344 -90 1 0 0 0 1 0 0 0 1 2871b.dat
1 0 30 -344 -90 -1 0 0 0 1 0 0 0 -1 2871b.dat
1 15 10 -376 -310 0 0 -1 0 1 0 1 0 0 21980c01.dat
Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 KiB

@@ -1,14 +0,0 @@
0 Name: pupdevicesoverview.ldr
0 Author: Pybricks {laurens@pybricks.com}
0 !LICENSE MIT
0 ROTATION CENTER 0 0 0 1 "Custom"
0 ROTATION CONFIG 0 0
1 15 130 -280 500 0 1 0 -1 0 0 0 0 1 54675c01.dat
1 71 330 -280 300 0 1 0 -1 0 0 0 0 1 22169c01.dat
1 15 540 -280 220 1 0 0 0 1 0 0 0 1 21980c01.dat
1 15 560 -280 830 1 0 0 0 1 0 0 0 1 37316.dat
1 15 370 -280 990 -1 0 0 0 -1 0 0 0 1 37308c01.dat
1 15 750 -320 550 1 0 0 0 1 0 0 0 1 26912.dat
1 0 750 -310 586 -1 0 0 0 -1 0 0 0 1 u9218c01.dat
1 15 560 -266 808 -1 0 0 0 -1 0 0 0 1 u9218c01.dat
0
-13
View File
@@ -1,13 +0,0 @@
0 Name: pupmotors.ldr
0 Author: Pybricks {laurens@pybricks.com}
0 !LICENSE MIT
0 ROTATION CENTER 0 0 0 1 "Custom"
0 ROTATION CONFIG 0 0
1 15 430 -96 190 0 0 1 1 0 0 0 1 0 54675c01.dat
1 15 430 -96 400 0 0 1 1 0 0 0 1 0 54675c01.dat
1 322 430 -72 30 0 0 1 1 0 0 0 1 0 54696c01.dat
1 71 430 -72 -180 0 0 1 1 0 0 0 1 0 54696c01.dat
1 71 190 -144 -180 1 0 0 0 1 0 0 0 1 22169c01.dat
1 71 -20 -216 -140 1 0 0 0 1 0 0 0 1 22172c01.dat
1 15 120 -320 160 1 0 0 0 1 0 0 0 1 26913c01.dat
0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 866 KiB

-21
View File
@@ -1,21 +0,0 @@
0 Name: pupmotors
0 Author: Pybricks {laurens@pybricks.com}
0 !LICENSE MIT
0 !LDCAD GROUP_DEF [topLevel=true] [LID=0] [GID=9FDP9pj0O55] [name=Group 1] [center=0 0 0]
1 15 600 -280 180 1 0 0 0 1 0 0 0 1 37316.dat
1 15 60 -272 160 -1 0 0 0 -1 0 0 0 1 37312c01.dat
1 15 -400 -280 240 -1 0 0 0 -1 0 0 0 1 37308c01.dat
1 0 -400 -310 -374 -1 0 0 0 -1 0 0 0 1 u9218c01.dat
1 15 -400 -320 -410 0 0 1 0 1 0 -1 0 0 20841.dat
1 15 630 -320 -420 1 0 0 0 1 0 0 0 1 26912.dat
1 0 630 -310 -384 -1 0 0 0 -1 0 0 0 1 u9218c01.dat
1 15 60 -320 -430 0 0 1 0 1 0 -1 0 0 20844.dat
1 0 60 -310 -394 -1 0 0 0 -1 0 0 0 1 u9218c01.dat
1 15 600 -266 158 -1 0 0 0 -1 0 0 0 1 u9218c01.dat
1 15 1130 -280 240 1 0 0 0 1 0 0 0 1 37316.dat
1 15 1290 -280 220 1 0 0 0 1 0 0 0 1 37308.dat
1 0 690 -312 530 0 0 1 0 1 0 -1 0 0 22168.dat
0 !LDCAD GROUP_NXT [ids=0] [nrs=2]
1 71 704.852 -312 -628.188 -0.5 0 0.866 0 1 0 -0.866 0 -0.5 58123.dat
0 !LDCAD GROUP_NXT [ids=0] [nrs=-1]
1 71 972.1 -321.5 -814.7 0.5 0 -0.866 0 1 0 0.866 0 0.5 99499c01.dat
-49
View File
@@ -1,49 +0,0 @@
:mod:`geometry <pybricks.geometry>` -- Geometry and algebra
============================================================
.. module:: pybricks.geometry
.. autoclass:: pybricks.geometry.Matrix
:no-members:
.. autoattribute:: pybricks.geometry::Matrix.T
.. autoattribute:: pybricks.geometry::Matrix.shape
.. autofunction:: pybricks.geometry.vector
.. autoclass:: pybricks.geometry.Axis
:no-members:
.. _robotframe:
Reference frames
-----------------------
The Pybricks module and this documentation use the following conventions:
- X: Positive means forward. Negative means backward.
- Y: Positive means to the left. Negative means to the right.
- Z: Positive means upward. Negative means downward.
To make sure that all hub measurements (such as acceleration) have the correct
value and sign, you can specify how the hub is mounted in your creation. This
adjust the measurements so that it is easy to see how your *robot* is moving,
rather than how the *hub* is moving.
For example, the hub may be mounted upside down in your design. If you
configure the settings as shown in :numref:`fig_imuexamples`, the hub
measurements will be adjusted accordingly. This way, a positive acceleration
value in the X direction means that your *robot* accelerates forward, even
though the *hub* accelerates backward.
.. _fig_imuexamples:
.. figure:: ../api/images/imuexamples_label.png
:width: 100 %
How to configure the ``top_side`` and ``front_side`` settings for three
different robot designs. The same technique can be applied to other hubs
and other creations, by noting which way the top and
front :class:`Side <Side>` of the hub are pointing. The example
on the left is the default configuration.
-51
View File
@@ -1,51 +0,0 @@
City Hub
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. figure:: ../../api/images/cityhub.png
:height: 15 em
.. autoclass:: pybricks.hubs.CityHub
:no-members:
.. rubric:: Using the hub status light
.. automethod:: pybricks.hubs::CityHub.light.on
.. automethod:: pybricks.hubs::CityHub.light.off
.. automethod:: pybricks.hubs::CityHub.light.blink
.. automethod:: pybricks.hubs::CityHub.light.animate
.. rubric:: Using the battery
.. automethod:: pybricks.hubs::CityHub.battery.voltage
.. automethod:: pybricks.hubs::CityHub.battery.current
Status light examples
---------------------
Turning the light on and off
****************************
.. literalinclude::
../../../examples/pup/hub_cityhub/light_off.py
Changing brightness and using custom colors
*******************************************
.. literalinclude::
../../../examples/pup/hub_cityhub/light_hsv.py
Making the light blink
**********************
.. literalinclude::
../../../examples/pup/hub_cityhub/light_blink.py
Creating light animations
*************************
.. literalinclude::
../../../examples/pup/hub_cityhub/light_animate.py
-51
View File
@@ -1,51 +0,0 @@
:mod:`hubs <pybricks.hubs>` -- Programmable Hubs
================================================
.. module:: pybricks.hubs
.. toctree::
:maxdepth: 1
:hidden:
movehub
cityhub
technichub
primehub
ev3brick
.. pybricks-classlink:: MoveHub
.. figure:: ../../api/images/movehub.png
:height: 10 em
:target: movehub.html
.. pybricks-classlink:: CityHub
.. figure:: ../../api/images/cityhub.png
:height: 10 em
:target: cityhub.html
.. pybricks-classlink:: TechnicHub
.. figure:: ../../api/images/technichub.png
:height: 10 em
:target: technichub.html
.. pybricks-classlink:: PrimeHub
.. figure:: ../../api/images/primehub.png
:height: 10 em
:target: primehub.html
.. pybricks-classlink:: InventorHub
.. figure:: ../../api/images/inventorhub.png
:height: 10 em
:target: primehub.html
.. pybricks-classlink:: EV3Brick
.. figure:: ../../api/images/ev3brick.png
:height: 10 em
:target: ev3brick.html
-62
View File
@@ -1,62 +0,0 @@
Move Hub
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. _fig_movehub:
.. figure:: ../../api/images/movehub_label.png
:height: 15 em
.. autoclass:: pybricks.hubs.MoveHub
:no-members:
.. rubric:: Using the hub status light
.. automethod:: pybricks.hubs::MoveHub.light.on
.. automethod:: pybricks.hubs::MoveHub.light.off
.. automethod:: pybricks.hubs::MoveHub.light.blink
.. automethod:: pybricks.hubs::MoveHub.light.animate
.. rubric:: Using the IMU
.. automethod:: pybricks.hubs::MoveHub.imu.up
.. automethod:: pybricks.hubs::MoveHub.imu.acceleration
.. rubric:: Using the battery
.. automethod:: pybricks.hubs::MoveHub.battery.voltage
.. automethod:: pybricks.hubs::MoveHub.battery.current
Status light examples
---------------------
Turning the light on and off
******************************
.. literalinclude::
../../../examples/pup/hub_movehub/light_off.py
Making the light blink
******************************
.. literalinclude::
../../../examples/pup/hub_movehub/light_blink.py
IMU examples
---------------
Testing which way is up
********************************
.. literalinclude::
../../../examples/pup/hub_movehub/imu_up.py
Reading acceleration
**************************************************
.. literalinclude::
../../../examples/pup/hub_movehub/imu_read_acceleration.py
-210
View File
@@ -1,210 +0,0 @@
Prime Hub / Inventor Hub
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. figure:: ../../api/images/primeinventorhub.png
:height: 15 em
.. class:: InventorHub
This class is the same as the ``PrimeHub`` class, shown below. Both classes
work on both hubs.
These hubs are completely identical. They use the same Pybricks firmware.
.. autoclass:: pybricks.hubs.PrimeHub
:no-members:
.. rubric:: Using the hub status light
.. figure:: ../../api/images/primehub_light_label.png
:width: 22 em
.. automethod:: pybricks.hubs::PrimeHub.light.on
.. automethod:: pybricks.hubs::PrimeHub.light.off
.. automethod:: pybricks.hubs::PrimeHub.light.blink
.. automethod:: pybricks.hubs::PrimeHub.light.animate
.. rubric:: Using the light matrix display
.. figure:: ../../api/images/primehub_display_label.png
:width: 22 em
.. automethod:: pybricks.hubs::PrimeHub.display.orientation
.. automethod:: pybricks.hubs::PrimeHub.display.off
.. automethod:: pybricks.hubs::PrimeHub.display.pixel
.. automethod:: pybricks.hubs::PrimeHub.display.image
.. automethod:: pybricks.hubs::PrimeHub.display.animate
.. automethod:: pybricks.hubs::PrimeHub.display.number
.. automethod:: pybricks.hubs::PrimeHub.display.char
.. automethod:: pybricks.hubs::PrimeHub.display.text
.. rubric:: Using the buttons
.. figure:: ../../api/images/primehub_buttons_label.png
:width: 22 em
.. automethod:: pybricks.hubs::PrimeHub.buttons.pressed
.. rubric:: Using the IMU
.. automethod:: pybricks.hubs::PrimeHub.imu.up
.. automethod:: pybricks.hubs::PrimeHub.imu.tilt
.. automethod:: pybricks.hubs::PrimeHub.imu.acceleration
.. automethod:: pybricks.hubs::PrimeHub.imu.angular_velocity
.. automethod:: pybricks.hubs::PrimeHub.imu.heading
.. automethod:: pybricks.hubs::PrimeHub.imu.reset_heading
.. rubric:: Using the speaker
.. automethod:: pybricks.hubs::PrimeHub.speaker.beep
.. automethod:: pybricks.hubs::PrimeHub.speaker.play_notes
.. rubric:: Using the battery
.. automethod:: pybricks.hubs::PrimeHub.battery.voltage
.. automethod:: pybricks.hubs::PrimeHub.battery.current
.. note:: The examples below use the ``PrimeHub`` class. The examples work fine
on both hubs because they are the identical. If you prefer, you can
change this to ``InventorHub``.
Status light examples
---------------------
Turning the light on and off
****************************
.. literalinclude::
../../../examples/pup/hub_primehub/light_off.py
Changing brightness and using custom colors
*******************************************
.. literalinclude::
../../../examples/pup/hub_primehub/light_hsv.py
Making the light blink
**********************
.. literalinclude::
../../../examples/pup/hub_primehub/light_blink.py
Creating light animations
*************************
.. literalinclude::
../../../examples/pup/hub_primehub/light_animate.py
Matrix display examples
-----------------------
Displaying images
*****************
.. literalinclude::
../../../examples/pup/hub_primehub/display_image.py
Displaying numbers
******************
.. literalinclude::
../../../examples/pup/hub_primehub/display_number.py
Displaying text
***************
.. literalinclude::
../../../examples/pup/hub_primehub/display_text.py
Displaying individual pixels
****************************
.. literalinclude::
../../../examples/pup/hub_primehub/display_pixel.py
Changing the display orientation
********************************
.. literalinclude::
../../../examples/pup/hub_primehub/display_orientation.py
.. literalinclude::
../../../examples/pup/hub_primehub/display_orientation_imu.py
Making your own images
**********************
.. literalinclude::
../../../examples/pup/hub_primehub/display_matrix.py
Combining images to make expressions
************************************
.. literalinclude::
../../../examples/pup/hub_primehub/display_expression.py
Displaying animations
*********************
.. literalinclude::
../../../examples/pup/hub_primehub/display_animate.py
Button examples
---------------
Detecting button presses
************************
.. literalinclude::
../../../examples/pup/hub_primehub/button_main.py
IMU examples
---------------
Testing which way is up
********************************
.. literalinclude::
../../../examples/pup/hub_primehub/imu_up.py
Reading the tilt value
********************************
.. literalinclude::
../../../examples/pup/hub_primehub/imu_tilt.py
Using a custom hub orientation
**************************************************
.. literalinclude::
../../../examples/pup/hub_primehub/imu_tilt_blast.py
Reading acceleration and angular velocity vectors
**************************************************
.. literalinclude::
../../../examples/pup/hub_primehub/imu_read_vector.py
Reading acceleration and angular velocity on one axis
*****************************************************
.. literalinclude::
../../../examples/pup/hub_primehub/imu_read_scalar.py
-99
View File
@@ -1,99 +0,0 @@
Technic Hub
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. figure:: ../../api/images/technichub.png
:height: 15 em
.. autoclass:: pybricks.hubs.TechnicHub
:no-members:
.. rubric:: Using the hub status light
.. automethod:: pybricks.hubs::TechnicHub.light.on
.. automethod:: pybricks.hubs::TechnicHub.light.off
.. automethod:: pybricks.hubs::TechnicHub.light.blink
.. automethod:: pybricks.hubs::TechnicHub.light.animate
.. rubric:: Using the IMU
.. automethod:: pybricks.hubs::TechnicHub.imu.up
.. automethod:: pybricks.hubs::TechnicHub.imu.tilt
.. automethod:: pybricks.hubs::TechnicHub.imu.acceleration
.. automethod:: pybricks.hubs::TechnicHub.imu.angular_velocity
.. automethod:: pybricks.hubs::TechnicHub.imu.heading
.. automethod:: pybricks.hubs::TechnicHub.imu.reset_heading
.. rubric:: Using the battery
.. automethod:: pybricks.hubs::TechnicHub.battery.voltage
.. automethod:: pybricks.hubs::TechnicHub.battery.current
Status light examples
---------------------
Turning the light on and off
****************************
.. literalinclude::
../../../examples/pup/hub_technichub/light_off.py
Changing brightness and using custom colors
*******************************************
.. literalinclude::
../../../examples/pup/hub_technichub/light_hsv.py
Making the light blink
**********************
.. literalinclude::
../../../examples/pup/hub_technichub/light_blink.py
Creating light animations
*************************
.. literalinclude::
../../../examples/pup/hub_technichub/light_animate.py
IMU examples
---------------
Testing which way is up
********************************
.. literalinclude::
../../../examples/pup/hub_technichub/imu_up.py
Reading the tilt value
********************************
.. literalinclude::
../../../examples/pup/hub_technichub/imu_tilt.py
Using a custom hub orientation
**************************************************
.. literalinclude::
../../../examples/pup/hub_technichub/imu_tilt_blast.py
Reading acceleration and angular velocity vectors
**************************************************
.. literalinclude::
../../../examples/pup/hub_technichub/imu_read_vector.py
Reading acceleration and angular velocity on one axis
*****************************************************
.. literalinclude::
../../../examples/pup/hub_technichub/imu_read_scalar.py
Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 350 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1009 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

Some files were not shown because too many files have changed in this diff Show More