From 08e3bc753b2f15493ab25f4aed192d9d9e3cd3fe Mon Sep 17 00:00:00 2001 From: vke Date: Sun, 26 Jan 2025 19:40:35 +0100 Subject: [PATCH 1/8] enable sphinx-i18n --- .gitignore | 5 +++++ CONTRIBUTING.md | 41 +++++++++++++++++++++++++++++++++++++++++ doc/Makefile | 13 +++++++++++++ doc/main/conf.py | 8 ++++++++ pyproject.toml | 1 + 5 files changed, 68 insertions(+) diff --git a/.gitignore b/.gitignore index 93232f33..1424107b 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,8 @@ genrst/ stderr-ldview stdout-ldview LPub3D/ + +# Translation files +###################### +doc/locales/pot/ +*.mo \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0510fc30..21881385 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -149,6 +149,47 @@ Build docs: poetry run doc\make.bat html Invoke-Item doc\main\build\html\index.html +Translations: + +The documentation supports multiple languages through Sphinx's internationalization (i18n) feature. + +Directory structure: +- `doc/locales/pot/` - Contains template (.pot) files generated by `make gettext`. These files contain all original strings that need to be translated. +- `doc/locales//LC_MESSAGES/` - Contains translation (.po) files for each language. These files must be directly in the LC_MESSAGES directory (not in subdirectories) and contain the actual translations that will be used to build the documentation. + +Note about translations: +The translation system uses unique IDs (UUIDs) for each translatable string. This ensures that translations are preserved even if you move text to different files or lines. The source file locations are included as comments in the .po files to help track where translations are used. + +Translation files: +- `.po` files are human-readable text files containing the translations. These should be committed to the repository. +- `.mo` files are compiled binary versions of .po files, generated automatically during build. These should not be committed. + +To work with translations: + +1. Generate translation templates: + + poetry run make -C doc gettext + + This creates .pot template files in `doc/locales/pot/` + +2. Initialize or update a language (e.g., German 'de'): + + poetry run make -C doc update-po-de + + This creates or updates .po files in `doc/locales/de/LC_MESSAGES/` + +3. Edit the .po files in `doc/locales//LC_MESSAGES/` to add translations + +4. Build documentation for a specific language: + + poetry run make -C doc html-de # For German + poetry run make -C doc html-fr # For French + poetry run make -C doc html-ja # For Japanese + +When adding translations to the repository: +- Commit the .po files in `doc/locales//LC_MESSAGES/` +- Do not commit the .pot files in `doc/locales/pot/` (these are generated files) + Building IDE docs variant: # Linux/macOS diff --git a/doc/Makefile b/doc/Makefile index b1807399..c882b7cc 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -8,6 +8,7 @@ SPHINXPROJ = Pybricks SOURCEDIR = main BUILDDIR = "$(SOURCEDIR)"/build TAG = main +LOCALEDIR = locales # Put it first so that "make" without argument is like "make help". help: @@ -19,7 +20,19 @@ diagrams: @$(MAKE) -C "$(SOURCEDIR)"/diagrams_source clean @$(MAKE) -C "$(SOURCEDIR)"/diagrams_source +# i18n targets +gettext: + @$(SPHINXBUILD) -b gettext "$(SOURCEDIR)" "$(LOCALEDIR)/pot" -D gettext_compact=0 $(SPHINXOPTS) -t $(TAG) $(O) + +update-po-%: + @sphinx-intl update -p "$(LOCALEDIR)/pot" -l $* + +html-%: + @$(SPHINXBUILD) -b html "$(SOURCEDIR)" "$(BUILDDIR)/$*" $(SPHINXOPTS) -t $(TAG) -D language=$* $(O) + # 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) -t $(TAG) $(O) + +.PHONY: gettext update-po-% html-% diff --git a/doc/main/conf.py b/doc/main/conf.py index f6d3b063..df42900a 100644 --- a/doc/main/conf.py +++ b/doc/main/conf.py @@ -53,6 +53,14 @@ extensions.append("sphinx.ext.imgmath") # noqa F821 html_theme_options["prev_next_buttons_location"] = None # noqa F821 +# Internationalization configuration +language = 'en' +locale_dirs = ['../locales'] # path relative to conf.py location +gettext_compact = False # optional +gettext_uuid = True # Use UUIDs to preserve translations when text moves +gettext_location = True # Include locations as comments for reference +gettext_additional_targets = ['literal-block', 'image'] # Also translate code blocks and image captions + # Build hub specific example scripts. sys.path.append(os.path.abspath("../../examples/pup/hub_common")) import make_examples # noqa F401, E402 diff --git a/pyproject.toml b/pyproject.toml index 97efa139..2b68da40 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,6 +36,7 @@ flake8 = "^4.0" [tool.poetry.group.doc.dependencies] Sphinx = { git = "https://github.com/pybricks/sphinx.git", rev = "cd277d09" } sphinx-rtd-theme = "^1.0.0" +sphinx-intl = "^2.1.0" toml = "^0.10.0" [build-system] From 2b806e808d0e204535fb7007e2de97f32d45cae8 Mon Sep 17 00:00:00 2001 From: vke Date: Sun, 26 Jan 2025 20:11:39 +0100 Subject: [PATCH 2/8] locales: pristine import of de --- doc/locales/de/LC_MESSAGES/blocks/index.po | 283 +++ doc/locales/de/LC_MESSAGES/hubs/cityhub.po | 662 +++++++ .../de/LC_MESSAGES/hubs/essentialhub.po | 1130 +++++++++++ doc/locales/de/LC_MESSAGES/hubs/index.po | 49 + doc/locales/de/LC_MESSAGES/hubs/movehub.po | 783 ++++++++ doc/locales/de/LC_MESSAGES/hubs/primehub.po | 1664 +++++++++++++++++ doc/locales/de/LC_MESSAGES/hubs/technichub.po | 1077 +++++++++++ doc/locales/de/LC_MESSAGES/index.po | 97 + doc/locales/de/LC_MESSAGES/iodevices/index.po | 41 + .../de/LC_MESSAGES/iodevices/lwp3device.po | 105 ++ .../de/LC_MESSAGES/iodevices/pupdevice.po | 163 ++ .../LC_MESSAGES/iodevices/xboxcontroller.po | 341 ++++ .../de/LC_MESSAGES/micropython/builtins.po | 1391 ++++++++++++++ .../de/LC_MESSAGES/micropython/exceptions.po | 270 +++ .../de/LC_MESSAGES/micropython/micropython.po | 272 +++ .../de/LC_MESSAGES/micropython/uerrno.po | 76 + doc/locales/de/LC_MESSAGES/micropython/uio.po | 68 + .../de/LC_MESSAGES/micropython/ujson.po | 103 + .../de/LC_MESSAGES/micropython/umath.po | 443 +++++ .../de/LC_MESSAGES/micropython/urandom.po | 186 ++ .../de/LC_MESSAGES/micropython/uselect.po | 189 ++ .../de/LC_MESSAGES/micropython/ustruct.po | 355 ++++ .../de/LC_MESSAGES/micropython/usys.po | 115 ++ doc/locales/de/LC_MESSAGES/parameters/axis.po | 35 + .../de/LC_MESSAGES/parameters/button.po | 86 + .../de/LC_MESSAGES/parameters/color.po | 162 ++ .../de/LC_MESSAGES/parameters/direction.po | 78 + doc/locales/de/LC_MESSAGES/parameters/icon.po | 352 ++++ .../de/LC_MESSAGES/parameters/index.po | 29 + doc/locales/de/LC_MESSAGES/parameters/port.po | 29 + doc/locales/de/LC_MESSAGES/parameters/side.po | 90 + doc/locales/de/LC_MESSAGES/parameters/stop.po | 159 ++ .../pupdevices/colordistancesensor.po | 432 +++++ .../pupdevices/colorlightmatrix.po | 84 + .../de/LC_MESSAGES/pupdevices/colorsensor.po | 478 +++++ .../de/LC_MESSAGES/pupdevices/dcmotor.po | 219 +++ .../de/LC_MESSAGES/pupdevices/forcesensor.po | 203 ++ .../de/LC_MESSAGES/pupdevices/index.po | 77 + .../LC_MESSAGES/pupdevices/infraredsensor.po | 125 ++ .../de/LC_MESSAGES/pupdevices/light.po | 127 ++ .../de/LC_MESSAGES/pupdevices/motor.po | 1055 +++++++++++ .../de/LC_MESSAGES/pupdevices/pfmotor.po | 185 ++ .../de/LC_MESSAGES/pupdevices/remote.po | 324 ++++ .../de/LC_MESSAGES/pupdevices/tiltsensor.po | 93 + .../pupdevices/ultrasonicsensor.po | 203 ++ doc/locales/de/LC_MESSAGES/robotics.po | 741 ++++++++ doc/locales/de/LC_MESSAGES/signaltypes.po | 568 ++++++ doc/locales/de/LC_MESSAGES/tools/index.po | 409 ++++ 48 files changed, 16206 insertions(+) create mode 100644 doc/locales/de/LC_MESSAGES/blocks/index.po create mode 100644 doc/locales/de/LC_MESSAGES/hubs/cityhub.po create mode 100644 doc/locales/de/LC_MESSAGES/hubs/essentialhub.po create mode 100644 doc/locales/de/LC_MESSAGES/hubs/index.po create mode 100644 doc/locales/de/LC_MESSAGES/hubs/movehub.po create mode 100644 doc/locales/de/LC_MESSAGES/hubs/primehub.po create mode 100644 doc/locales/de/LC_MESSAGES/hubs/technichub.po create mode 100644 doc/locales/de/LC_MESSAGES/index.po create mode 100644 doc/locales/de/LC_MESSAGES/iodevices/index.po create mode 100644 doc/locales/de/LC_MESSAGES/iodevices/lwp3device.po create mode 100644 doc/locales/de/LC_MESSAGES/iodevices/pupdevice.po create mode 100644 doc/locales/de/LC_MESSAGES/iodevices/xboxcontroller.po create mode 100644 doc/locales/de/LC_MESSAGES/micropython/builtins.po create mode 100644 doc/locales/de/LC_MESSAGES/micropython/exceptions.po create mode 100644 doc/locales/de/LC_MESSAGES/micropython/micropython.po create mode 100644 doc/locales/de/LC_MESSAGES/micropython/uerrno.po create mode 100644 doc/locales/de/LC_MESSAGES/micropython/uio.po create mode 100644 doc/locales/de/LC_MESSAGES/micropython/ujson.po create mode 100644 doc/locales/de/LC_MESSAGES/micropython/umath.po create mode 100644 doc/locales/de/LC_MESSAGES/micropython/urandom.po create mode 100644 doc/locales/de/LC_MESSAGES/micropython/uselect.po create mode 100644 doc/locales/de/LC_MESSAGES/micropython/ustruct.po create mode 100644 doc/locales/de/LC_MESSAGES/micropython/usys.po create mode 100644 doc/locales/de/LC_MESSAGES/parameters/axis.po create mode 100644 doc/locales/de/LC_MESSAGES/parameters/button.po create mode 100644 doc/locales/de/LC_MESSAGES/parameters/color.po create mode 100644 doc/locales/de/LC_MESSAGES/parameters/direction.po create mode 100644 doc/locales/de/LC_MESSAGES/parameters/icon.po create mode 100644 doc/locales/de/LC_MESSAGES/parameters/index.po create mode 100644 doc/locales/de/LC_MESSAGES/parameters/port.po create mode 100644 doc/locales/de/LC_MESSAGES/parameters/side.po create mode 100644 doc/locales/de/LC_MESSAGES/parameters/stop.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/colordistancesensor.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/colorlightmatrix.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/colorsensor.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/dcmotor.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/forcesensor.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/index.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/infraredsensor.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/light.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/motor.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/pfmotor.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/remote.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/tiltsensor.po create mode 100644 doc/locales/de/LC_MESSAGES/pupdevices/ultrasonicsensor.po create mode 100644 doc/locales/de/LC_MESSAGES/robotics.po create mode 100644 doc/locales/de/LC_MESSAGES/signaltypes.po create mode 100644 doc/locales/de/LC_MESSAGES/tools/index.po diff --git a/doc/locales/de/LC_MESSAGES/blocks/index.po b/doc/locales/de/LC_MESSAGES/blocks/index.po new file mode 100644 index 00000000..094e50e8 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/blocks/index.po @@ -0,0 +1,283 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/blocks/index.rst:4 bbf0428a87c744a5a41a61a5c7400df3 +msgid "Other blocks" +msgstr "" + +#: ../../main/blocks/index.rst:6 9bae0978607a44e7a43a904bbc8b78da +msgid "" +"Most blocks correspond directly to one of the documented Python commands." +" This page lists the remaining blocks." +msgstr "" + +#: ../../main/blocks/index.rst:9 d9afda44235f483cbfa80dcff99425cc +msgid "This page will be expanded with more details in the next release." +msgstr "" + +#: ../../main/blocks/index.rst:12 403c5b901ce44977b923464492863ac9 +msgid "Math" +msgstr "" + +#: ../../main/blocks/index.rst:14 97cf5a87c81f49579d668718f79cceb9 +msgid "See also :mod:`umath` for other math operations." +msgstr "" + +#: ../../main/blocks/index.rst:16 97ce10b7b672416c813919fdc5604497 +msgid ".. image:: /blockimg/pybricks_blockMathFormula.svg" +msgstr "" + +#: ../../main/blocks/index.rst:18 e9c5805792b1449b9d5fe1310b0de6de +msgid ".. image:: /blockimg/pybricks_blockMathOp_modulo.svg" +msgstr "" + +#: ../../main/blocks/index.rst:20 61a507b760d94187a9fe373e7a6d9523 +msgid ".. image:: /blockimg/pybricks_blockMathArithmetic_add.svg" +msgstr "" + +#: ../../main/blocks/index.rst:22 ae6386f043ff4586867442a2b580b865 +msgid ".. image:: /blockimg/pybricks_blockMathArithmetic_minus.svg" +msgstr "" + +#: ../../main/blocks/index.rst:24 84c7b562816d47faac134f1efadaf896 +msgid ".. image:: /blockimg/pybricks_blockMathArithmetic_multiply.svg" +msgstr "" + +#: ../../main/blocks/index.rst:26 a45f79e48d5843d997d26e3b269d0df4 +msgid ".. image:: /blockimg/pybricks_blockMathArithmetic_divide.svg" +msgstr "" + +#: ../../main/blocks/index.rst:28 84edf51e89fc442192fcb9188db0f8a9 +msgid ".. image:: /blockimg/pybricks_blockMathArithmetic_power.svg" +msgstr "" + +#: ../../main/blocks/index.rst:31 8a10c0e4fd624489a9171a0fc5b2c8aa +msgid "Logic" +msgstr "" + +#: ../../main/blocks/index.rst:33 b87b7ad68ce147d9be21e5facebdc0f6 +msgid ".. image:: /blockimg/pybricks_blockLogicCompareDouble.svg" +msgstr "" + +#: ../../main/blocks/index.rst:35 1bad08140a10482db9f0037ace2ec149 +msgid ".. image:: /blockimg/pybricks_blockLogicCompare_eq.svg" +msgstr "" + +#: ../../main/blocks/index.rst:37 e96d4aaecd57425a8a48831c50b7b2ce +msgid ".. image:: /blockimg/pybricks_blockLogicCompare_gte.svg" +msgstr "" + +#: ../../main/blocks/index.rst:39 4be5575aae46431fa907b322665a4f37 +msgid ".. image:: /blockimg/pybricks_blockLogicCompare_gt.svg" +msgstr "" + +#: ../../main/blocks/index.rst:41 53f1f13d6d7f418aa9715a15e6d4c494 +msgid ".. image:: /blockimg/pybricks_blockLogicCompare_lte.svg" +msgstr "" + +#: ../../main/blocks/index.rst:43 1e9a25d8c3214c77ae496eaec15a4baf +msgid ".. image:: /blockimg/pybricks_blockLogicCompare_lt.svg" +msgstr "" + +#: ../../main/blocks/index.rst:45 348b163b01f843618406b16cbdf93712 +msgid ".. image:: /blockimg/pybricks_blockLogicCompare_neq.svg" +msgstr "" + +#: ../../main/blocks/index.rst:47 5e13277fe2274bfb89f3ab9f2ffd0000 +msgid ".. image:: /blockimg/pybricks_blockLogicIsNone_is_none.svg" +msgstr "" + +#: ../../main/blocks/index.rst:49 f745df7fd9c544d0bd4fae86f181b9ec +msgid ".. image:: /blockimg/pybricks_blockLogicIsNone_is_not_none.svg" +msgstr "" + +#: ../../main/blocks/index.rst:51 8a09d74a4909486d9bb57233039164db +msgid ".. image:: /blockimg/pybricks_blockLogicIsNone_not.svg" +msgstr "" + +#: ../../main/blocks/index.rst:53 b9db063093894cd09da24f2cab19e24c +msgid ".. image:: /blockimg/pybricks_blockLogicOperation_and.svg" +msgstr "" + +#: ../../main/blocks/index.rst:55 69c2788fef634435a2995ac36d3df14e +msgid ".. image:: /blockimg/pybricks_blockLogicOperation_or.svg" +msgstr "" + +#: ../../main/blocks/index.rst:57 5cb193e92e724dbc91984f3ec080ad43 +msgid ".. image:: /blockimg/pybricks_blockLogicTernary.svg" +msgstr "" + +#: ../../main/blocks/index.rst:59 21b141f3869e475e9cc8d14ce1190b75 +msgid ".. image:: /blockimg/pybricks_blockLogicTernaryDouble.svg" +msgstr "" + +#: ../../main/blocks/index.rst:61 62d75ce07ebb40918ba84824c82c9ac6 +msgid ".. image:: /blockimg/pybricks_blockIsIn.svg" +msgstr "" + +#: ../../main/blocks/index.rst:64 de1f9fa6415e40cfa67e3ca629097efc +msgid "Flow" +msgstr "" + +#: ../../main/blocks/index.rst:66 95e47af1a51540b89901ee14aecc4a71 +msgid ".. image:: /blockimg/pybricks_blockFlowBreakContinue_break.svg" +msgstr "" + +#: ../../main/blocks/index.rst:68 109a025be48648358af331d6f3d8a42d +msgid ".. image:: /blockimg/pybricks_blockFlowBreakContinue_continue.svg" +msgstr "" + +#: ../../main/blocks/index.rst:70 6703456e0b9a4d0683d329cf181afb2b +msgid ".. image:: /blockimg/pybricks_blockFlowForEach_loop_for.svg" +msgstr "" + +#: ../../main/blocks/index.rst:72 728a9743fa05458080cbb18c899575fe +msgid ".. image:: /blockimg/pybricks_blockFlowForEach_loop_for_list.svg" +msgstr "" + +#: ../../main/blocks/index.rst:74 5e460a7e3a8348ce9e2070f5cee7f4e4 +msgid ".. image:: /blockimg/pybricks_blockFlowForEach_loop_for_range.svg" +msgstr "" + +#: ../../main/blocks/index.rst:76 c2f6ab8fe0ae449987adc3463138ff43 +msgid ".. image:: /blockimg/pybricks_blockFlowRepeat.svg" +msgstr "" + +#: ../../main/blocks/index.rst:78 a392be3b7edb4414b593d2f427c7fefa +msgid ".. image:: /blockimg/pybricks_blockFlowWhile_until.svg" +msgstr "" + +#: ../../main/blocks/index.rst:80 d7889bea5be344869a2ea0214777d032 +msgid ".. image:: /blockimg/pybricks_blockFlowWhile_while.svg" +msgstr "" + +#: ../../main/blocks/index.rst:83 f0c8e8cd2f6d405ea9e9c71caf3523b4 +msgid ".. image:: /blockimg/pybricks_blockIfElse_if_else.svg" +msgstr "" + +#: ../../main/blocks/index.rst:85 bc836bd1a2a04cda95c6db1bcf4463f8 +msgid ".. image:: /blockimg/pybricks_blockIfElse_if_else_else.svg" +msgstr "" + +#: ../../main/blocks/index.rst:87 75531194266a47b78929dbbdbab44db3 +msgid ".. image:: /blockimg/pybricks_blockIfElse_if_only.svg" +msgstr "" + +#: ../../main/blocks/index.rst:91 4e565b0ba4e64a61b9a355c5c581e793 +msgid "Device and system setup" +msgstr "" + +#: ../../main/blocks/index.rst:93 aa8ef9f52beb42a5bdb0e8fbb3a0044b +msgid ".. image:: /blockimg/pybricks_blockGlobalSetup.svg" +msgstr "" + +#: ../../main/blocks/index.rst:96 3be4165b492445adb750c5309c9398ac +msgid "Waiting" +msgstr "" + +#: ../../main/blocks/index.rst:98 5da78e0d825c43dbb08adb67541f6107 +msgid ".. image:: /blockimg/pybricks_blockWaitTime.svg" +msgstr "" + +#: ../../main/blocks/index.rst:100 ca374cae706141d295a833d4ef02af9d +msgid ".. image:: /blockimg/pybricks_blockWaitUntil.svg" +msgstr "" + +#: ../../main/blocks/index.rst:102 ced49d50361e4b9688ed0f19b26ef720 +msgid ".. image:: /blockimg/pybricks_blockWaitForever.svg" +msgstr "" + +#: ../../main/blocks/index.rst:107 7c5da062009c4cbe9bc59070860d0dcd +msgid "Variables" +msgstr "" + +#: ../../main/blocks/index.rst:109 fab70143d7154714a180d105ee4559d4 +msgid ".. image:: /blockimg/pybricks_variables_setup_any.svg" +msgstr "" + +#: ../../main/blocks/index.rst:111 9a349582da5e457f82bb90d2ad7c3150 +msgid ".. image:: /blockimg/pybricks_blockVariableGetValue.svg" +msgstr "" + +#: ../../main/blocks/index.rst:113 46342489c31d4681b07490fd35f8b627 +msgid ".. image:: /blockimg/pybricks_blockVariableSetValue.svg" +msgstr "" + +#: ../../main/blocks/index.rst:116 5989311707e145e6b8a175e957188320 +msgid "Multitasking" +msgstr "" + +#: ../../main/blocks/index.rst:118 c9ebf66a838248e38ec4b2a9bbacc6a9 +msgid ".. image:: /blockimg/pybricks_blockGlobalStart.svg" +msgstr "" + +#: ../../main/blocks/index.rst:120 6585c34381844be6a4c0c58a1e62ff2b +msgid ".. image:: /blockimg/pybricks_blockMultiTask.svg" +msgstr "" + +#: ../../main/blocks/index.rst:123 f9401481c49842389ade49d67e84cbfa +msgid "Your own tasks" +msgstr "" + +#: ../../main/blocks/index.rst:125 8fa430fad1dd40baadc702d6f7e180a7 +msgid ".. image:: /blockimg/pybricks_variables_setup_function_basic.svg" +msgstr "" + +#: ../../main/blocks/index.rst:127 46845a6d83e64e9a822e714dabe3739e +msgid ".. image:: /blockimg/pybricks_variables_setup_function_with_args.svg" +msgstr "" + +#: ../../main/blocks/index.rst:129 7a837e832eca4760ad24745a0be276f9 +msgid ".. image:: /blockimg/pybricks_blockTaskReturn.svg" +msgstr "" + +#: ../../main/blocks/index.rst:132 c64e5a9c408f40ce85a4cdc566fd78b7 +msgid "External tasks" +msgstr "" + +#: ../../main/blocks/index.rst:134 e28f90992fd84dd296f20a07ac052fb0 +msgid ".. image:: /blockimg/pybricks_variables_setup_imported_function.svg" +msgstr "" + +#: ../../main/blocks/index.rst:136 3e16c9941f36448ba8628ce6aab78395 +msgid ".. image:: /blockimg/pybricks_blockImportTaskCallStatement.svg" +msgstr "" + +#: ../../main/blocks/index.rst:138 1f3b09b2e8ce41c98dd9a711f4a4a765 +msgid ".. image:: /blockimg/pybricks_blockImportTaskCallValue.svg" +msgstr "" + +#: ../../main/blocks/index.rst:141 d0a7739b589b470cbb5e0679db876fd7 +msgid "Comments" +msgstr "" + +#: ../../main/blocks/index.rst:143 082d8f7f50164884bd1d7421573d3481 +msgid ".. image:: /blockimg/pybricks_blockComment.svg" +msgstr "" + +#: ../../main/blocks/index.rst:146 79298fb781ca4dfd841553ad76a65c2f +msgid "Stopping programs" +msgstr "" + +#: ../../main/blocks/index.rst:148 d91019ffdec441cf97be5d79252c8b78 +msgid ".. image:: /blockimg/pybricks_blockProgramStop.svg" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/hubs/cityhub.po b/doc/locales/de/LC_MESSAGES/hubs/cityhub.po new file mode 100644 index 00000000..44095005 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/hubs/cityhub.po @@ -0,0 +1,662 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/hubs/cityhub.rst:4 faf12c5d72654a509218c2511870f982 +msgid "City Hub" +msgstr "" + +#: ../../main/hubs/cityhub.rst:5 1c9a41f2591140d0862ba00fb24d1d20 +msgid ".. image:: ../../main/cad/output/hub-city.png" +msgstr "" + +#: ../../main/hubs/cityhub.rst:8 d95eb1bf435d4fa998893d69b7ace8ad +msgid ".. image:: /blockimg/pybricks_variables_set_city_hub_option0.svg" +msgstr "" + +#: ../../main/hubs/cityhub.rst:10 a5f5811bf49f4ba5adb602b3d723735f +msgid ".. image:: /blockimg/pybricks_variables_set_city_hub_option3.svg" +msgstr "" + +#: b96588ecd5d2431b8d45065237e3bfec of pybricks.hubs.CityHub:1 +msgid "LEGO® City Hub." +msgstr "" + +#: ../../main/hubs/cityhub.rst 03fbcad1f9a841ef879ec1c15a5b3e3d +#: 1b0358c241104fffa0d2b5d1baab3245 27badc64a2f941aeba7a76764e65da49 +#: 64497fc002ab447ba4dd029bb9957c95 84287270ecf04a91896a0c1347a7863b +#: 860934d9b1454044a0ab91edac18b5e5 ad7e0d4560494893ba3a2cc51fffb3cc +#: c61b88a861d445afb42bc39a6a634a02 e08a29d5f18540b0958226d56bdf88b6 +msgid "Parameters" +msgstr "" + +#: 15ad9c0b75634f5d946f60eda53457c9 of pybricks.hubs.CityHub:3 +msgid "" +"A value from 0 to 255 indicating which channel ``hub.ble.broadcast()`` " +"will use. Default is channel 0." +msgstr "" + +#: 33f657aeeacd49859ac840b63a2ac072 of pybricks.hubs.CityHub:5 +msgid "" +"A list of channels to listen to when ``hub.ble.observe()`` is called. " +"Listening to more channels requires more memory. Default is an empty list" +" (no channels)." +msgstr "" + +#: d175e96a086043e9acd6443c85c6fa87 of pybricks.hubs.CityHub:9 +msgid "Added *broadcast_channel* and *observe_channels* arguments." +msgstr "" + +#: ../../main/hubs/cityhub.rst:17 a4f1537ce31d459da612450006b22d5f +msgid "Using the hub status light" +msgstr "" + +#: ../../main/hubs/cityhub.rst:18 4d964d10df8d4798a94c1792aff56e8e +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_cityhub_on.svg" +msgstr "" + +#: 088015529dee4b21889f9faa369bf364 of pybricks._common.ColorLight.on:1 +msgid "Turns on the light at the specified color." +msgstr "" + +#: 16fc4d38ce1f4b5e94c5e817690e6e6c fce6d6fe4666407083a70e8a07125ff1 of +#: pybricks._common.ColorLight.blink:11 pybricks._common.ColorLight.on:3 +msgid "Color of the light." +msgstr "" + +#: ../../main/hubs/cityhub.rst:22 2e4f6d1722704c248011bf1df7cab27a +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_cityhub_off.svg" +msgstr "" + +#: 0894188fa7cb4b6eb040446a02953109 of pybricks._common.ColorLight.off:1 +msgid "Turns off the light." +msgstr "" + +#: ace2f8db08ff423c87bed4bea64e06bd of pybricks._common.ColorLight.blink:1 +msgid "" +"Blinks the light at a given color by turning it on and off for given " +"durations." +msgstr "" + +#: a263b7ed4717405a8f956e8d65ca82e7 of pybricks._common.ColorLight.blink:4 +msgid "" +"The light keeps blinking indefinitely while the rest of your program " +"keeps running." +msgstr "" + +#: 95d275a84d524c26995fc28b5eb6fa55 of pybricks._common.ColorLight.blink:7 +msgid "" +"This method provides a simple way to make basic but useful patterns. For " +"more generic and multi-color patterns, use ``animate()`` instead." +msgstr "" + +#: b2cb572bea614068b39e9bfa97028cf7 of pybricks._common.ColorLight.blink:13 +msgid "Sequence of time values of the form ``[on_1, off_1, on_2, off_2, ...]``." +msgstr "" + +#: f533aa0b16fe4c938a9fde6a32605525 of pybricks._common.ColorLight.animate:1 +msgid "" +"Animates the light with a sequence of colors, shown one by one for the " +"given interval." +msgstr "" + +#: 7ebe8735de3147ccbd4a6cd2656e62ef of pybricks._common.ColorLight.animate:4 +msgid "" +"The animation runs in the background while the rest of your program keeps" +" running. When the animation completes, it repeats." +msgstr "" + +#: 694dc2455a704be28aa6b52f06446057 of pybricks._common.ColorLight.animate:7 +msgid "Sequence of :class:`Color <.parameters.Color>` values." +msgstr "" + +#: 0ef99f7f21ef4608a4be6e22344315a8 of pybricks._common.ColorLight.animate:10 +msgid "Time between color updates." +msgstr "" + +#: ../../main/hubs/cityhub.rst:31 1c33b768312a41fab39ea71620c6d92a +msgid "Using connectionless Bluetooth messaging" +msgstr "" + +#: ../../main/hubs/cityhub.rst:32 3ca9e34bfebf46cba5d904f2390e2d81 +msgid ".. image:: /blockimg/pybricks_blockBleBroadcast_CityHub.svg" +msgstr "" + +#: 60835a3856bb4882a04f9f56f3fbc640 of pybricks._common.BLE.broadcast:1 +msgid "" +"Starts broadcasting the given data on the ``broadcast_channel`` you " +"selected when initializing the hub." +msgstr "" + +#: 5d747120e7434d75b40166ceb2d6ba11 of pybricks._common.BLE.broadcast:4 +msgid "" +"Data may be of type ``int``, ``float``, ``str``, ``bytes``, ``True``, or " +"``False``, or a list thereof." +msgstr "" + +#: 496cfdfda52046ef84e9e8323a2c9a49 of pybricks._common.BLE.broadcast:7 +msgid "" +"Choose ``None`` to stop broadcasting. This helps improve performance when" +" you don't need the broadcast feature, especially when observing at the " +"same time." +msgstr "" + +#: 3379248231db4fc2bd777d8d3145f1db of pybricks._common.BLE.broadcast:11 +msgid "" +"The total data size is quite limited (26 bytes). ``True`` and ``False`` " +"take 1 byte each. ``float`` takes 5 bytes. ``int`` takes 2 to 5 bytes " +"depending on how big the number is. ``str`` and ``bytes`` take the number" +" of bytes in the object plus one extra byte." +msgstr "" + +#: 21d69eb948d54bcf8da38430fbcadc94 of pybricks._common.BLE.broadcast:16 +msgid "" +"When multitasking, only one task can broadcast at a time. To broadcast " +"information from multiple tasks (or block stacks), you could use a " +"dedicated separate task that broadcast new values when one or more " +"variables change." +msgstr "" + +#: cd32e0957fa24900a9eb1f8c5cc9fc28 of pybricks._common.BLE.broadcast:21 +msgid "The value or values to be broadcast." +msgstr "" + +#: ../../main/hubs/cityhub.rst:36 f38c7eaeb75e428782f93280ad353d92 +msgid ".. image:: /blockimg/pybricks_blockBleObserve_CityHub.svg" +msgstr "" + +#: c086388e64f449d682a3dc92be8290c0 of pybricks._common.BLE.observe:1 +msgid "Retrieves the last observed data for a given channel." +msgstr "" + +#: 5acb7814c6ad45388203b3112e96b7a4 of pybricks._common.BLE.observe:3 +msgid "" +"Receiving data is more reliable when the hub is not connected to a " +"computer or other devices at the same time." +msgstr "" + +#: de574f034cfe45f1b075a8db35821490 of pybricks._common.BLE.observe:6 +msgid "The channel to observe (0 to 255)." +msgstr "" + +#: ../../main/hubs/cityhub.rst 06e875bf0dc445de9c876ab5f27e516c +#: 0ef1e7ea8b634d8b91c62ee9ba0f6e5e 1c9ac26ce3724d578b9c8bbb07607a8e +#: 5564523205fe47f6b616fee42b71daf9 9a3f2b04a3a149e79db32f2b537d296d +#: a174898c10b145c7be6aef98820c814f b5140f30fc174df4950d3257d98f5404 +#: f054703ab8cd4b1aa37c0883acd3867e +msgid "Returns" +msgstr "" + +#: bab4ed6e99434492865ae80bb9ae382e of pybricks._common.BLE.observe:9 +msgid "" +"The received data in the same format as it was sent, or ``None`` if no " +"recent data is available." +msgstr "" + +#: 96454d99d2564685a24cf8a72e9729a8 of pybricks._common.BLE.signal_strength:1 +msgid "Gets the average signal strength in dBm for the given channel." +msgstr "" + +#: 8fa08919108b46e9aaafa3273f82ebd3 of pybricks._common.BLE.signal_strength:3 +msgid "" +"This indicates how near the broadcasting device is. Nearby devices may " +"have a signal strength around -40 dBm, while far away devices might have " +"a signal strength around -70 dBm." +msgstr "" + +#: cc2786baa8fc425e8e0f212c6f4931df of pybricks._common.BLE.signal_strength:7 +msgid "The channel number (0 to 255)." +msgstr "" + +#: 93f7b05c5750481c97e319a00603b58b of pybricks._common.BLE.signal_strength:10 +msgid "The signal strength or ``-128`` if there is no recent observed data." +msgstr "" + +#: 3327e4455f0d4b06ae522df1358653e4 of pybricks._common.BLE.version:1 +msgid "Gets the firmware version from the Bluetooth chip." +msgstr "" + +#: ../../main/hubs/cityhub.rst:45 974ea9a290b94d15b4f28209fc64ea72 +msgid "Using the battery" +msgstr "" + +#: ../../main/hubs/cityhub.rst:46 68f916e7efaf4510bd7583c1de54d28f +msgid "" +".. image:: " +"/blockimg/pybricks_blockBatteryMeasure_CityHub_battery.voltage.svg" +msgstr "" + +#: a7becd6b2c314c19bb90243c423bb544 of pybricks._common.Battery.voltage:1 +msgid "Gets the voltage of the battery." +msgstr "" + +#: 8b6d07c2dfca4ba79004721f49281499 of pybricks._common.Battery.voltage:3 +msgid "Battery voltage." +msgstr "" + +#: ../../main/hubs/cityhub.rst:50 db35275eedb04b6aa7ff8515d2cf2c2a +msgid "" +".. image:: " +"/blockimg/pybricks_blockBatteryMeasure_CityHub_battery.current.svg" +msgstr "" + +#: 0011f50bef3843a98f958f5c71771c9b of pybricks._common.Battery.current:1 +msgid "Gets the current supplied by the battery." +msgstr "" + +#: 0f1b7ab11466474aaa14468e888412f5 of pybricks._common.Battery.current:3 +msgid "Battery current." +msgstr "" + +#: ../../main/hubs/cityhub.rst:55 811bca6917f648368ea9310b64fb60e9 +msgid "Button and system control" +msgstr "" + +#: ../../main/hubs/cityhub.rst:56 279efbda76ac4eb0809dc20347f2dfa7 +msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_CityHub.svg" +msgstr "" + +#: d4881e9ca1a2446eb5890f8cbe336026 of pybricks._common.Keypad.pressed:1 +msgid "Checks which buttons are currently pressed." +msgstr "" + +#: 3737edb9317a4aa6a2a043a7bd93ee49 of pybricks._common.Keypad.pressed:3 +msgid "Set of pressed buttons." +msgstr "" + +#: ../../main/hubs/cityhub.rst:60 ffa99c025539438fb304ac5b5770bd34 +msgid ".. image:: /blockimg/pybricks_blockHubStopButton_CityHub.svg" +msgstr "" + +#: ../../main/hubs/cityhub.rst:62 a4491cefad0f4abfa2441d5a7221e686 +msgid ".. image:: /blockimg/pybricks_blockHubStopButton_CityHub_none.svg" +msgstr "" + +#: 1515325f47f04583a2cb4f3e4bc60bbe of +#: pybricks._common.System.set_stop_button:1 +msgid "Sets the button or button combination that stops a running script." +msgstr "" + +#: 0d83afd48a3d4861a8cefcef8d9f30c3 of +#: pybricks._common.System.set_stop_button:3 +msgid "" +"Normally, the center button is used to stop a running script. You can " +"change or disable this behavior in order to use the button for other " +"purposes." +msgstr "" + +#: 2f753e54ecd845e68eee311e6b45939a of +#: pybricks._common.System.set_stop_button:7 +msgid "" +"A button such as :attr:`Button.CENTER " +"`, or a tuple of multiple buttons. " +"Choose ``None`` to disable the stop button altogether. If you do, you can" +" still turn the hub off by holding the center button for three seconds." +msgstr "" + +#: 8d9b56f2d2aa4680aa268be0f541f7ad of pybricks._common.System.name:1 +msgid "Gets the hub name. This is the name you see when connecting via Bluetooth." +msgstr "" + +#: 6710ddf9b53445329ed9bdfa0cbe067d of pybricks._common.System.name:4 +msgid "The hub name." +msgstr "" + +#: d423d5e600a64b46ae834702ab9673cf of pybricks._common.System.storage:1 +msgid "Reads or writes binary data to persistent storage." +msgstr "" + +#: 898106a98e9743129079dac224d15c83 of pybricks._common.System.storage:3 +msgid "" +"This lets you store data that can be used the next time you run the " +"program." +msgstr "" + +#: d4b6799f0e5f4a0a963c6bff01456b29 of pybricks._common.System.storage:6 +msgid "" +"The data will be saved to flash memory when you turn the hub off " +"normally. It will not be saved if the batteries are removed *while* the " +"hub is still running." +msgstr "" + +#: 89719829651c4b66b9228cdfe2997f9c of pybricks._common.System.storage:10 +msgid "" +"Once saved, the data will remain available even after you remove the " +"batteries." +msgstr "" + +#: b489bcff9ee44d2587223336316f6641 of pybricks._common.System.storage:13 +msgid "The offset from the start of the user storage memory, in bytes." +msgstr "" + +#: 2ebabce1296a4b08bce76b55f1d894fe of pybricks._common.System.storage:15 +msgid "The number of bytes to read. Omit this argument when writing." +msgstr "" + +#: d45d9eaf7bbb4948b802a55c198adaff of pybricks._common.System.storage:17 +msgid "The bytes to write. Omit this argument when reading." +msgstr "" + +#: e45474dfe8d24405a22d4b5b8a4b7d5d of pybricks._common.System.storage:20 +msgid "The bytes read if reading, otherwise ``None``." +msgstr "" + +#: ../../main/hubs/cityhub.rst d93adf60e8414c5b8609c93c9e86c220 +msgid "Raises" +msgstr "" + +#: f4f262121cf84f6d80a00a691898f91d of pybricks._common.System.storage:22 +msgid "If you try to read or write data outside of the allowed range." +msgstr "" + +#: ../../main/hubs/cityhub.rst:71 7006359686cb481e99c50702cced0710 +msgid "" +"You can store up to 128 bytes of data on this hub. The data is cleared " +"when you update the Pybricks firmware or if you restore the original " +"firmware." +msgstr "" + +#: ../../main/hubs/cityhub.rst:75 b3b11bc87926424ba6cdd0050fe506cf +msgid ".. image:: /blockimg/pybricks_blockHubShutdown_CityHub.svg" +msgstr "" + +#: d65e42d9a33b4aa79d549b0f74c5376b of pybricks._common.System.shutdown:1 +msgid "Stops your program and shuts the hub down." +msgstr "" + +#: 9a75cf96c8c74de5ba60e53c05423dc2 of pybricks._common.System.reset_reason:1 +msgid "" +"Finds out how and why the hub (re)booted. This can be useful to diagnose " +"some problems." +msgstr "" + +#: 91e5d7ead57742719652a52bf851952b of pybricks._common.System.reset_reason:4 +msgid "" +"* ``0`` if the hub was previously powered off normally. * ``1`` if the " +"hub rebooted automatically, like after a firmware update. * ``2`` if " +"the hub previously crashed due to a watchdog timeout, which indicates a" +" firmware issue." +msgstr "" + +#: fef78910ae364af083b27baa83218ed8 of pybricks._common.System.reset_reason:6 +msgid "``0`` if the hub was previously powered off normally." +msgstr "" + +#: c019c4b55bb84ec4827fa676a53dcb7f of pybricks._common.System.reset_reason:8 +msgid "``1`` if the hub rebooted automatically, like after a firmware update." +msgstr "" + +#: 5c6c443f34504577aaaada33cbd37cf0 of pybricks._common.System.reset_reason:10 +msgid "" +"``2`` if the hub previously crashed due to a watchdog timeout, which " +"indicates a firmware issue." +msgstr "" + +#: ../../main/hubs/cityhub.rst:82 06077bf518034f569a119c7d137f1012 +msgid "Status light examples" +msgstr "" + +#: ../../main/hubs/cityhub.rst:85 f1f4124e9b424b19af2e6ee99e2230fd +msgid "Turning the light on and off" +msgstr "" + +#: ../../main/hubs/cityhub.rst:87 dda9946c91724fd5b0de299299aabcb7 +msgid "" +"from pybricks.hubs import CityHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = CityHub()\n" +"\n" +"# Turn the light on and off 5 times.\n" +"for i in range(5):\n" +"\n" +" hub.light.on(Color.RED)\n" +" wait(1000)\n" +"\n" +" hub.light.off()\n" +" wait(500)\n" +msgstr "" + +#: ../../main/hubs/cityhub.rst:91 deb6e9e3dc774d0295cdbc745d2f5067 +msgid "Changing brightness and using custom colors" +msgstr "" + +#: ../../main/hubs/cityhub.rst:93 4d52884fb8c4407ea918d21a2343e915 +msgid "" +"from pybricks.hubs import CityHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = CityHub()\n" +"\n" +"# Show the color at 30% brightness.\n" +"hub.light.on(Color.RED * 0.3)\n" +"\n" +"wait(2000)\n" +"\n" +"# Use your own custom color.\n" +"hub.light.on(Color(h=30, s=100, v=50))\n" +"\n" +"wait(2000)\n" +"\n" +"# Go through all the colors.\n" +"for hue in range(360):\n" +" hub.light.on(Color(hue))\n" +" wait(10)\n" +msgstr "" + +#: ../../main/hubs/cityhub.rst:97 e2256ca40ee04429972f53d570536198 +msgid "Making the light blink" +msgstr "" + +#: ../../main/hubs/cityhub.rst:99 bcb94cec0be940009d2aa03bc8e85cda +msgid "" +"from pybricks.hubs import CityHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub\n" +"hub = CityHub()\n" +"\n" +"# Keep blinking red on and off.\n" +"hub.light.blink(Color.RED, [500, 500])\n" +"\n" +"wait(10000)\n" +"\n" +"# Keep blinking green slowly and then quickly.\n" +"hub.light.blink(Color.GREEN, [500, 500, 50, 900])\n" +"\n" +"wait(10000)\n" +msgstr "" + +#: ../../main/hubs/cityhub.rst:103 c4a159a2f27d430c89499e43fb85cb21 +msgid "Creating light animations" +msgstr "" + +#: ../../main/hubs/cityhub.rst:105 48bc5a686aca451e8e5a567f612f4218 +msgid "" +"from pybricks.hubs import CityHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"from umath import sin, pi\n" +"\n" +"# Initialize the hub.\n" +"hub = CityHub()\n" +"\n" +"# Make an animation with multiple colors.\n" +"hub.light.animate([Color.RED, Color.GREEN, Color.NONE], interval=500)\n" +"\n" +"wait(10000)\n" +"\n" +"# Make the color RED grow faint and bright using a sine pattern.\n" +"hub.light.animate([Color.RED * (0.5 * sin(i / 15 * pi) + 0.5) for i in " +"range(30)], 40)\n" +"\n" +"wait(10000)\n" +"\n" +"# Cycle through a rainbow of colors.\n" +"hub.light.animate([Color(h=i * 8) for i in range(45)], interval=40)\n" +"\n" +"wait(10000)\n" +msgstr "" + +#: ../../main/hubs/cityhub.rst:110 2b2add31d7ea431cbdaf61572bf645d6 +msgid "Bluetooth examples" +msgstr "" + +#: ../../main/hubs/cityhub.rst:113 8e05c1c6a87e4857a94ba53b3f15752c +msgid "Broadcasting data to other hubs" +msgstr "" + +#: ../../main/hubs/cityhub.rst:115 b19eeb9ddd2141cdae34a53fcb273100 +msgid "" +"from pybricks.hubs import CityHub\n" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = CityHub(broadcast_channel=1)\n" +"\n" +"# Initialize the motors.\n" +"left_motor = Motor(Port.A)\n" +"right_motor = Motor(Port.B)\n" +"\n" +"while True:\n" +" # Read the motor angles to be sent to the other hub.\n" +" left_angle = left_motor.angle()\n" +" right_angle = right_motor.angle()\n" +"\n" +" # Set the broadcast data and start broadcasting if not already doing " +"so.\n" +" data = (left_angle, right_angle)\n" +" hub.ble.broadcast(data)\n" +"\n" +" # Broadcasts are only sent every 100 milliseconds, so there is no " +"reason\n" +" # to call the broadcast() method more often than that.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/cityhub.rst:119 4756ce9e77194f999381fc78d3706e11 +msgid "Observing data from other hubs" +msgstr "" + +#: ../../main/hubs/cityhub.rst:121 54495978c3bc4333a8dc51a406ce38cf +msgid "" +"from pybricks.hubs import CityHub\n" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Color, Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = CityHub(observe_channels=[1])\n" +"\n" +"# Initialize the motors.\n" +"left_motor = Motor(Port.A)\n" +"right_motor = Motor(Port.B)\n" +"\n" +"while True:\n" +" # Receive broadcast from the other hub.\n" +"\n" +" data = hub.ble.observe(1)\n" +"\n" +" if data is None:\n" +" # No data has been received in the last 1 second.\n" +" hub.light.on(Color.RED)\n" +" else:\n" +" # Data was received and is less that one second old.\n" +" hub.light.on(Color.GREEN)\n" +"\n" +" # *data* contains the same values in the same order\n" +" # that were passed to hub.ble.broadcast() on the\n" +" # other hub.\n" +" left_angle, right_angle = data\n" +"\n" +" # Make the motors on this hub mirror the position of the\n" +" # motors on the other hub.\n" +" left_motor.track_target(left_angle)\n" +" right_motor.track_target(right_angle)\n" +"\n" +" # Broadcasts are only sent every 100 milliseconds, so there is\n" +" # no reason to call the observe() method more often than that.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/cityhub.rst:126 4f4e4a7303fe4ebab3193bba879e9985 +msgid "Button and system examples" +msgstr "" + +#: ../../main/hubs/cityhub.rst:129 9598d557692d4869962dbb28ea43f45f +msgid "Using the stop button during your program" +msgstr "" + +#: ../../main/hubs/cityhub.rst:131 ba4677813ce94aa798f7aa6a69783aab +msgid "" +"from pybricks.hubs import CityHub\n" +"from pybricks.parameters import Color, Button\n" +"from pybricks.tools import wait, StopWatch\n" +"\n" +"# Initialize the hub.\n" +"hub = CityHub()\n" +"\n" +"# Disable the stop button.\n" +"hub.system.set_stop_button(None)\n" +"\n" +"# Check the button for 5 seconds.\n" +"watch = StopWatch()\n" +"while watch.time() < 5000:\n" +"\n" +" # Set light to green if pressed, else red.\n" +" if hub.buttons.pressed():\n" +" hub.light.on(Color.GREEN)\n" +" else:\n" +" hub.light.on(Color.RED)\n" +"\n" +"# Enable the stop button again.\n" +"hub.system.set_stop_button(Button.CENTER)\n" +"\n" +"# Now you can press the stop button as usual.\n" +"wait(5000)\n" +msgstr "" + +#: ../../main/hubs/cityhub.rst:135 567424b4e6964b8e8903c35da51c4967 +msgid "Turning the hub off" +msgstr "" + +#: ../../main/hubs/cityhub.rst:137 45ed5edb9dca4ee3bbf63bda1f6c43ef +msgid "" +"from pybricks.hubs import CityHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = CityHub()\n" +"\n" +"# Say goodbye and give some time to send it.\n" +"print(\"Goodbye!\")\n" +"wait(100)\n" +"\n" +"# Shut the hub down.\n" +"hub.system.shutdown()\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/hubs/essentialhub.po b/doc/locales/de/LC_MESSAGES/hubs/essentialhub.po new file mode 100644 index 00000000..3ce2407a --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/hubs/essentialhub.po @@ -0,0 +1,1130 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/hubs/essentialhub.rst:4 09b29e88293c4d42ac82d3baac93598c +msgid "Essential Hub" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:6 a7ef9666f4da4347b4db75c73547c10d +msgid ".. image:: ../../main/cad/output/hub-essential.png" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:9 ac9a340042544ff2814098f0f089ba79 +msgid ".. image:: /blockimg/pybricks_variables_set_essential_hub_option0.svg" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:11 2ef5549dff294964ad498566d691c95c +msgid ".. image:: /blockimg/pybricks_variables_set_essential_hub_option4.svg" +msgstr "" + +#: 4c1c9ea0dc514aa8ae078a2d1ae85970 of pybricks.hubs.EssentialHub:1 +msgid "LEGO® SPIKE Essential Hub." +msgstr "" + +#: 56370502cef1457580cadc6d1561e9ca of pybricks.hubs.EssentialHub:3 +msgid "" +"Initializes the hub. Optionally, specify how the hub is :ref:`placed in " +"your design ` by saying in which direction the top side (with" +" the button) and the front side (with the USB port, and I/O ports A and " +"B) are pointing." +msgstr "" + +#: ../../main/hubs/essentialhub.rst 07517519be924cab80d2ed48958c22d8 +#: 17d559ed155f4f13bf75e70e54c9845d 2ef15b1482264304b0e0495a2b93404e +#: 3d65d1a7dfe848e8a7802f2d6c461b4f 4727c9a88ae7492f8a9c5b2a0903038b +#: 5ae9fcc7d76d472387aa07d7e2be2835 9674d1dd10e94cf3b3491c473c6d476a +#: a48333edb2ab4a548f0e8155e5ca0800 a8a02aa0602c49a1a5df511f807a393c +#: c131bfe2b98243618d27e83d6ce784e1 cbe7e7066b084c5c93c2771edf9a4851 +#: e49e00e181e441cdad0fae62f2fcf819 e54520850dd84a80a812bd7e116ff7f0 +#: ed34b11e61cf45e4be736667957ac38c +msgid "Parameters" +msgstr "" + +#: 27ce49fe395b472284891a8209853788 of pybricks.hubs.EssentialHub:8 +msgid "The axis that passes through the *top side* of the hub." +msgstr "" + +#: 4726601c71a34e71bd88f96b679cde1f of pybricks.hubs.EssentialHub:11 +msgid "The axis that passes through the *front side* of the hub." +msgstr "" + +#: 412506f2454d465383e855e14af2dc5f of pybricks.hubs.EssentialHub:14 +msgid "" +"A value from 0 to 255 indicating which channel ``hub.ble.broadcast()`` " +"will use. Default is channel 0." +msgstr "" + +#: 51abe73829694d4eb5c5447b9148f119 of pybricks.hubs.EssentialHub:16 +msgid "" +"A list of channels to listen to when ``hub.ble.observe()`` is called. " +"Listening to more channels requires more memory. Default is an empty list" +" (no channels)." +msgstr "" + +#: 63af3705e3104898bd2acff5f977f713 of pybricks.hubs.EssentialHub:20 +msgid "Added *broadcast_channel* and *observe_channels* arguments." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:18 cd5e41ab9c5d47af8e73f076587e9047 +msgid "Using the hub status light" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:19 c9eccdcda77149768fd942406d1dc7a7 +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_essentialhub_on.svg" +msgstr "" + +#: b4f5bf415baa48ed827f8a4c6ae465ba of pybricks._common.ColorLight.on:1 +msgid "Turns on the light at the specified color." +msgstr "" + +#: 0e0405ef1bfb4cc7ab43304d0f171477 e04589e27a054c22ad0798c9f9280823 of +#: pybricks._common.ColorLight.blink:11 pybricks._common.ColorLight.on:3 +msgid "Color of the light." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:23 65edb4fea87040c587c1dc605c5fe962 +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_essentialhub_off.svg" +msgstr "" + +#: 553de262d91145deb847c9123069e56b of pybricks._common.ColorLight.off:1 +msgid "Turns off the light." +msgstr "" + +#: 0d25c06b71df427fa35caa27eff72767 of pybricks._common.ColorLight.blink:1 +msgid "" +"Blinks the light at a given color by turning it on and off for given " +"durations." +msgstr "" + +#: 2506cb6f90ae41a388aaa920b992159a of pybricks._common.ColorLight.blink:4 +msgid "" +"The light keeps blinking indefinitely while the rest of your program " +"keeps running." +msgstr "" + +#: 57ff44bf911e4cbb99392e573a16b3ed of pybricks._common.ColorLight.blink:7 +msgid "" +"This method provides a simple way to make basic but useful patterns. For " +"more generic and multi-color patterns, use ``animate()`` instead." +msgstr "" + +#: 8dc888cb1ecb4eb3a748eb7a78fbe8b3 of pybricks._common.ColorLight.blink:13 +msgid "Sequence of time values of the form ``[on_1, off_1, on_2, off_2, ...]``." +msgstr "" + +#: a1c6f19244b24773ac6b95ae602ad249 of pybricks._common.ColorLight.animate:1 +msgid "" +"Animates the light with a sequence of colors, shown one by one for the " +"given interval." +msgstr "" + +#: c00986707d62433f85a7add0c5d8faca of pybricks._common.ColorLight.animate:4 +msgid "" +"The animation runs in the background while the rest of your program keeps" +" running. When the animation completes, it repeats." +msgstr "" + +#: 9a07b75771f64831bc2bb4314615fea0 of pybricks._common.ColorLight.animate:7 +msgid "Sequence of :class:`Color <.parameters.Color>` values." +msgstr "" + +#: cc6232aed68147baa8387a3fee5f7b04 of pybricks._common.ColorLight.animate:10 +msgid "Time between color updates." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:32 70461b63d22442ba997c347153e8199b +msgid "Using the button" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:33 e721b62f9ecb49f78e97e72723ab65f5 +msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_EssentialHub.svg" +msgstr "" + +#: 4a88413829f84ca2990b72da5ee22754 of pybricks._common.Keypad.pressed:1 +msgid "Checks which buttons are currently pressed." +msgstr "" + +#: ../../main/hubs/essentialhub.rst 05273114748345c6862b4f9434e54a55 +#: 091ebfe5e65b49fbb80661ce691e9186 183a935a849a4a3bb0636268d1dfca30 +#: 185d5665ee0146f1b805302de65be291 20d30e74a4d14ae5a5ebf6ecb4e4a6c1 +#: 477d0e4ceb3b4051b5a929bae5122118 511a981d9787447284e10e60b538452a +#: 58bbf081ad224fe98f7335b6f3c05581 6d6d400feda8429d8c518da7792f4d14 +#: 780b274414ff42ccb14a7e6216f951af 7819b75de0ed436db677d5fce5c77994 +#: 7e3f65def44b441aa831e35cd01ac13b 7f3772d45d0144e4bd83a09be1de61b4 +#: 8489ee82614c4befbba121e32a7b3998 8b16e0c86fdb48579f6b3b968138320f +#: b07a4a5fcdad4820986d6b6a811cc609 b08318628af84a60904a7ebf488716c8 +#: b2d90b1e9fc34dd0b7c85e4118cb2509 caea7785e81f466c82dc062cf9580cb2 +#: cfc4844c89f14d6196b02f6f81e869aa +msgid "Returns" +msgstr "" + +#: 2658067bdae049e2b9b38b94f8aa0b55 of pybricks._common.Keypad.pressed:3 +msgid "Set of pressed buttons." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:37 aacc9df7159643e483a60289e22ad218 +msgid ".. image:: /blockimg/pybricks_blockHubStopButton_EssentialHub.svg" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:39 e306c01a695f4c368cb3d158e623dbc6 +msgid ".. image:: /blockimg/pybricks_blockHubStopButton_EssentialHub_none.svg" +msgstr "" + +#: 80ff9d1894e14cd1aaaae1aa5368cf46 of +#: pybricks._common.System.set_stop_button:1 +msgid "Sets the button or button combination that stops a running script." +msgstr "" + +#: 3aaa6824512c4fbd9f9ca4c2786dd036 of +#: pybricks._common.System.set_stop_button:3 +msgid "" +"Normally, the center button is used to stop a running script. You can " +"change or disable this behavior in order to use the button for other " +"purposes." +msgstr "" + +#: c490e3e2e3c745bca6c19e57877d80a8 of +#: pybricks._common.System.set_stop_button:7 +msgid "" +"A button such as :attr:`Button.CENTER " +"`, or a tuple of multiple buttons. " +"Choose ``None`` to disable the stop button altogether. If you do, you can" +" still turn the hub off by holding the center button for three seconds." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:45 3f04b7af15e04880b19e2dcfa88e46ce +msgid "Using the IMU" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:46 0baeff3f9ecf4ef4ad838013f9f65371 +msgid ".. image:: /blockimg/pybricks_blockImuStatus_EssentialHub_ready.svg" +msgstr "" + +#: aa869da684ab4a6fbcab9eab00de82c1 of pybricks._common.IMU.ready:1 +msgid "Checks if the device is calibrated and ready for use." +msgstr "" + +#: d3792fd5349e42f682ff505bad4b04f2 of pybricks._common.IMU.ready:3 +msgid "" +"This becomes ``True`` when the robot has been sitting stationary for a " +"few seconds, which allows the device to re-calibrate. It is ``False`` if " +"the hub has just been started, or if it hasn't had a chance to calibrate " +"for more than 10 minutes." +msgstr "" + +#: 08d4f3b821a7436da93e3f3189c40c33 of pybricks._common.IMU.ready:8 +msgid "``True`` if it is ready for use, ``False`` if not." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:50 a40d4d2c180f4c06aed020418bbb8ba8 +msgid ".. image:: /blockimg/pybricks_blockImuStatus_EssentialHub_stationary.svg" +msgstr "" + +#: 7e87bfe7a6f9493f91a280164b2c9bb0 of pybricks._common.IMU.stationary:1 +msgid "Checks if the device is currently stationary (not moving)." +msgstr "" + +#: 969052b63e55489a885137e262fd01cc of pybricks._common.IMU.stationary:3 +msgid "``True`` if stationary for at least a second, ``False`` if it is moving." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:54 edad79af6ede4d168446c3564a44a235 +msgid ".. image:: /blockimg/pybricks_blockImuUp_EssentialHub.svg" +msgstr "" + +#: c2744a2e8a364321ac1fb6c467a24353 of +#: pybricks._common.SimpleAccelerometer.up:1 +msgid "Checks which side of the hub currently faces upward." +msgstr "" + +#: 70418963098d46be9c670f49bfbc818c of +#: pybricks._common.SimpleAccelerometer.up:3 +msgid "" +"``Side.TOP``, ``Side.BOTTOM``, ``Side.LEFT``, ``Side.RIGHT``, " +"``Side.FRONT`` or ``Side.BACK``." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:58 77a03e3fa845495ba2fedab1ab345077 +msgid ".. image:: /blockimg/pybricks_blockTilt_EssentialHub_imu.tilt.pitch.svg" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:60 716eda2dd6034fa0a85ea38ac00fa4aa +msgid ".. image:: /blockimg/pybricks_blockTilt_EssentialHub_imu.tilt.roll.svg" +msgstr "" + +#: 6ce61ca177884b5e99b64c89c76b1784 of +#: pybricks._common.SimpleAccelerometer.tilt:1 +msgid "" +"Gets the pitch and roll angles. This is relative to the :ref:`user-" +"specified neutral orientation `." +msgstr "" + +#: 6947b70c528c40aebf3583d4434e6ccb of +#: pybricks._common.SimpleAccelerometer.tilt:4 +msgid "" +"The order of rotation is pitch-then-roll. This is equivalent to a " +"positive rotation along the robot y-axis and then a positive rotation " +"along the x-axis." +msgstr "" + +#: a132b1380f7f42a2b2ae90b84a47f893 of +#: pybricks._common.SimpleAccelerometer.tilt:8 +msgid "Tuple of pitch and roll angles in degrees." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:65 e6f978a17c7b4c3295c29bb911e02f00 +msgid ".. image:: /blockimg/pybricks_blockImuAcceleration_EssentialHub.svg" +msgstr "" + +#: 283f0d4e743745889f5e585d0d7709ff of +#: pybricks._common.Accelerometer.acceleration:1 +msgid "" +"Gets the acceleration of the device along a given axis in the :ref:`robot" +" reference frame `." +msgstr "" + +#: e96dddff04ce4b2397c06063c0415dd4 of +#: pybricks._common.Accelerometer.acceleration:4 +msgid "Axis along which the acceleration should be measured." +msgstr "" + +#: 1d0ac36b61e24f72a8e08099f930bf77 of +#: pybricks._common.Accelerometer.acceleration:8 +msgid "" +"Acceleration along the specified axis. If you specify no axis, this " +"returns a vector of accelerations along all axes." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:69 fdabf1bab2da4131b521b2942a4999f0 +msgid "" +".. image:: " +"/blockimg/pybricks_blockImuRotation_EssentialHub_imu.angular_velocity.svg" +msgstr "" + +#: b1eeb4c7dcb842f881398b559b44f9a9 of pybricks._common.IMU.angular_velocity:1 +msgid "" +"Gets the angular velocity of the device along a given axis in the " +":ref:`robot reference frame `." +msgstr "" + +#: 6d54944349f84d69affe4ddc9ba245a8 of pybricks._common.IMU.angular_velocity:4 +msgid "Axis along which the angular velocity should be measured." +msgstr "" + +#: 715d09cba4fe4cacabff5e83416f480f of pybricks._common.IMU.angular_velocity:8 +msgid "" +"Angular velocity along the specified axis. If you specify no axis, this " +"returns a vector of accelerations along all axes." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:73 e3f50f9df3e34bac919b81ab7f2d1e11 +msgid ".. image:: /blockimg/pybricks_blockImuGetHeading_EssentialHub.svg" +msgstr "" + +#: ab4311d3f0604b7b9a4aa418f650ebac of pybricks._common.IMU.heading:1 +msgid "" +"Gets the heading angle of your robot. A positive value means a clockwise " +"turn." +msgstr "" + +#: 28338e0cc7d4408b95be3d9564ee711b of pybricks._common.IMU.heading:4 +msgid "" +"The heading is 0 when your program starts. The value continues to grow " +"even as the robot turns more than 180 degrees. It does not wrap around to" +" -180 like it does in some apps." +msgstr "" + +#: a33f42e236f54447a7680d544b40c6f7 of pybricks._common.IMU.heading:9 +msgid "" +"*For now, this method only keeps track of the heading while the robot is " +"on a flat surface.*" +msgstr "" + +#: ff7161ac2e564badb94bdba1ef5ced72 of pybricks._common.IMU.heading:12 +msgid "" +"This means that the value is no longer correct if you lift it from the " +"table. To solve this, you can call ``reset_heading`` to reset the heading" +" to a known value *after* you put it back down. For example, you could " +"align your robot with the side of the competition table and reset the " +"heading 90 degrees as the new starting point." +msgstr "" + +#: d5128e9c84a24057a230c4a1fe877285 of pybricks._common.IMU.heading:19 +msgid "Heading angle relative to starting orientation." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:77 d9dd3fc7ca2e48e587a1ed43a337cc60 +msgid ".. image:: /blockimg/pybricks_blockImuResetHeading_EssentialHub.svg" +msgstr "" + +#: e3b8e22d04854d718efe12db6a4ec7d5 of pybricks._common.IMU.reset_heading:1 +msgid "Resets the accumulated heading angle of the robot." +msgstr "" + +#: 4c4f17c3cf2e43c8ae1e92e68215eae5 of pybricks._common.IMU.reset_heading:3 +msgid "Value to which the heading should be reset." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:81 00442181242348c081f7e5eb196fe623 +msgid "" +".. image:: " +"/blockimg/pybricks_blockImuRotation_EssentialHub_imu.rotation.svg" +msgstr "" + +#: 845f98aea3e14153b2aa22901cee0211 of pybricks._common.IMU.rotation:1 +msgid "" +"Gets the rotation of the device along a given axis in the :ref:`robot " +"reference frame `." +msgstr "" + +#: e0d675950bd14330a64b7b4b16f88f30 of pybricks._common.IMU.rotation:4 +msgid "" +"This value is useful if your robot *only* rotates along the requested " +"axis. For general three-dimensional motion, use the ``orientation()`` " +"method instead." +msgstr "" + +#: e27e5f4756184e289d9763217520725d of pybricks._common.IMU.rotation:8 +msgid "The value starts counting from ``0`` when you initialize this class." +msgstr "" + +#: 2aafe0e80e4940e6bd8f7939a612113c of pybricks._common.IMU.rotation:10 +msgid "Axis along which the rotation should be measured." +msgstr "" + +#: a369f7e5d5d94066a1afe784bdb175d7 of pybricks._common.IMU.rotation:13 +msgid "The rotation angle." +msgstr "" + +#: b14919af09fe4d0a92eafed1188d6658 of pybricks._common.IMU.orientation:1 +msgid "" +"Gets the three-dimensional orientation of the robot in the :ref:`robot " +"reference frame `." +msgstr "" + +#: afe4d71dbbe14e37abe790429a45b1bb of pybricks._common.IMU.orientation:4 +msgid "" +"It returns a rotation matrix whose columns represent the ``X``, ``Y``, " +"and ``Z`` axis of the robot." +msgstr "" + +#: 096b0ad4219948329895a42405a65782 of pybricks._common.IMU.orientation:7 +msgid "This method is not yet implemented." +msgstr "" + +#: 925c990cedee49509c8391bb9de71c87 of pybricks._common.IMU.orientation:9 +msgid "The rotation matrix." +msgstr "" + +#: e144361ae7824c0ea2c98dde30711106 of pybricks._common.IMU.settings:1 +msgid "" +"Configures the IMU settings. If no arguments are given, this returns the " +"current values." +msgstr "" + +#: a3d1e553893144a99e9aa82fd04fb6ce of pybricks._common.IMU.settings:4 +msgid "" +"The ``angular_velocity_threshold`` and ``acceleration_threshold`` define " +"when the hub is considered stationary. If all measurements stay below " +"these thresholds for one second, the IMU will recalibrate itself." +msgstr "" + +#: 3a6041f861b7460d9976a63784933bad of pybricks._common.IMU.settings:9 +msgid "" +"In a noisy room with high ambient vibrations (such as a competition " +"hall), it is recommended to increase the thresholds slightly to give your" +" robot the chance to calibrate. To verify that your settings are working " +"as expected, test that the ``stationary()`` method gives ``False`` if " +"your robot is moving, and ``True`` if it is sitting still for at least a " +"second." +msgstr "" + +#: d7635e62589e43a5b40da0a43a2844c8 of pybricks._common.IMU.settings:16 +msgid "The threshold for angular velocity. The default value is 1.5 deg/s." +msgstr "" + +#: 63a804d9697c4e57bf4fec7d62a930f4 of pybricks._common.IMU.settings:19 +msgid "The threshold for angular velocity. The default value is 250 mm/s²." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:90 13ca454b512e440683bf18c70b9f3a06 +msgid "Using connectionless Bluetooth messaging" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:91 8e1d32c4ca824d5fb775df8d12b2ddfc +msgid ".. image:: /blockimg/pybricks_blockBleBroadcast_EssentialHub.svg" +msgstr "" + +#: d5514e8814a3482b9fc6cce61d6d9a9d of pybricks._common.BLE.broadcast:1 +msgid "" +"Starts broadcasting the given data on the ``broadcast_channel`` you " +"selected when initializing the hub." +msgstr "" + +#: 17898588fa904bbc94bb7853c92dc6af of pybricks._common.BLE.broadcast:4 +msgid "" +"Data may be of type ``int``, ``float``, ``str``, ``bytes``, ``True``, or " +"``False``, or a list thereof." +msgstr "" + +#: c57d0ba56c8c4abcb1af6dbaa53c49cb of pybricks._common.BLE.broadcast:7 +msgid "" +"Choose ``None`` to stop broadcasting. This helps improve performance when" +" you don't need the broadcast feature, especially when observing at the " +"same time." +msgstr "" + +#: 8561e09e7ca64b2f9fe069e3a5d10357 of pybricks._common.BLE.broadcast:11 +msgid "" +"The total data size is quite limited (26 bytes). ``True`` and ``False`` " +"take 1 byte each. ``float`` takes 5 bytes. ``int`` takes 2 to 5 bytes " +"depending on how big the number is. ``str`` and ``bytes`` take the number" +" of bytes in the object plus one extra byte." +msgstr "" + +#: c084c5e2e16e4b578ca3fb1ed24868a2 of pybricks._common.BLE.broadcast:16 +msgid "" +"When multitasking, only one task can broadcast at a time. To broadcast " +"information from multiple tasks (or block stacks), you could use a " +"dedicated separate task that broadcast new values when one or more " +"variables change." +msgstr "" + +#: 458b6ede0c004ef488bb3c0262b80c23 of pybricks._common.BLE.broadcast:21 +msgid "The value or values to be broadcast." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:95 86b94fd6a7334f6f9ca48ab398fef128 +msgid ".. image:: /blockimg/pybricks_blockBleObserve_EssentialHub.svg" +msgstr "" + +#: 140781f852324d309e4f1ea3e6e29b9d of pybricks._common.BLE.observe:1 +msgid "Retrieves the last observed data for a given channel." +msgstr "" + +#: bd4e4b53f79d42e08f9c2ff34c80a68e of pybricks._common.BLE.observe:3 +msgid "" +"Receiving data is more reliable when the hub is not connected to a " +"computer or other devices at the same time." +msgstr "" + +#: 8e81ea35ecd543cdbe1d10eadd409c67 of pybricks._common.BLE.observe:6 +msgid "The channel to observe (0 to 255)." +msgstr "" + +#: df47481a06924275bfd01aadabe596b1 of pybricks._common.BLE.observe:9 +msgid "" +"The received data in the same format as it was sent, or ``None`` if no " +"recent data is available." +msgstr "" + +#: 0a69ff4c6857471e9201ab5040f0ba3a of pybricks._common.BLE.signal_strength:1 +msgid "Gets the average signal strength in dBm for the given channel." +msgstr "" + +#: 7c0e1180a7fb4bf996cc808dcbc78a61 of pybricks._common.BLE.signal_strength:3 +msgid "" +"This indicates how near the broadcasting device is. Nearby devices may " +"have a signal strength around -40 dBm, while far away devices might have " +"a signal strength around -70 dBm." +msgstr "" + +#: 272fb33ba7f9475cbeb7dd1d7aef8fc0 of pybricks._common.BLE.signal_strength:7 +msgid "The channel number (0 to 255)." +msgstr "" + +#: 6a5c6e1513994591b92a71aeae96135a of pybricks._common.BLE.signal_strength:10 +msgid "The signal strength or ``-128`` if there is no recent observed data." +msgstr "" + +#: 27bfa5415f1b4a2da5bdff168044738c of pybricks._common.BLE.version:1 +msgid "Gets the firmware version from the Bluetooth chip." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:104 c45697895e8d4b0faa9df55eb73edc79 +msgid "Using the battery" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:105 2f866d92eb124e9b8952dccdccc20f56 +msgid "" +".. image:: " +"/blockimg/pybricks_blockBatteryMeasure_EssentialHub_battery.voltage.svg" +msgstr "" + +#: e9ee83676d0a43da91d197e7d8c5e449 of pybricks._common.Battery.voltage:1 +msgid "Gets the voltage of the battery." +msgstr "" + +#: c28c4da9b3854b15ad7774ed48d9d56c of pybricks._common.Battery.voltage:3 +msgid "Battery voltage." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:109 c3a38a07ab794daf88eb686cbeefe947 +msgid "" +".. image:: " +"/blockimg/pybricks_blockBatteryMeasure_EssentialHub_battery.current.svg" +msgstr "" + +#: 9df4a02d8f304683bf7f5f649f5918de of pybricks._common.Battery.current:1 +msgid "Gets the current supplied by the battery." +msgstr "" + +#: 8b6b0be3413d40a58bb8b95e52d83556 of pybricks._common.Battery.current:3 +msgid "Battery current." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:114 822daacddd8f4abe898a7ed6f4604e0d +msgid "Getting the charger status" +msgstr "" + +#: 55554eecf16c4ad685ca8172a030468f of pybricks._common.Charger.connected:1 +msgid "Checks whether a charger is connected via USB." +msgstr "" + +#: 0a905c47882c454faf9108319f51770d of pybricks._common.Charger.connected:3 +msgid "``True`` if a charger is connected, ``False`` if not." +msgstr "" + +#: 999a05b7daa941faa158fa6c1636ba32 of pybricks._common.Charger.current:1 +msgid "Gets the charging current." +msgstr "" + +#: c7fceef22a8a4736a497d3ae5a734ad2 of pybricks._common.Charger.current:3 +msgid "Charging current." +msgstr "" + +#: 722f5360fdc9438ca9ccc945f7700bd0 of pybricks._common.Charger.status:1 +msgid "" +"Gets the status of the battery charger, represented by one of the " +"following values. This corresponds to the battery light indicator right " +"next to the USB port." +msgstr "" + +#: 3c2cbde2c53d4b35a1b042df838758c2 of pybricks._common.Charger.status:5 +msgid "Not charging (light is off)." +msgstr "" + +#: e7bf3ef0cb984a18b2dd91f3ef3d7659 of pybricks._common.Charger.status:6 +msgid "Charging (light is red)." +msgstr "" + +#: 2c9de1c0b1ae4c3fa92bd1851164f0f6 of pybricks._common.Charger.status:7 +msgid "Charging is complete (light is green)." +msgstr "" + +#: 1baa0a13322a4807a74e0c68b9a1d3fd of pybricks._common.Charger.status:8 +msgid "There is a problem with the charger (light is yellow)." +msgstr "" + +#: fed3893881a64f3fa6d69c84b90c1c18 of pybricks._common.Charger.status:10 +msgid "Status value." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:122 c1a71050f43a44b1a4a7928ea8ec83a4 +msgid "System control" +msgstr "" + +#: 30893eabe19c4862aeff35c17ec0a8a8 of pybricks._common.System.name:1 +msgid "Gets the hub name. This is the name you see when connecting via Bluetooth." +msgstr "" + +#: 65a478770781486dbb6381de8c5343f7 of pybricks._common.System.name:4 +msgid "The hub name." +msgstr "" + +#: ff29c8ca44014126aebaf6d0aa6c6aa4 of pybricks._common.System.storage:1 +msgid "Reads or writes binary data to persistent storage." +msgstr "" + +#: 81480c40ca824d54b44a9cc8575ef506 of pybricks._common.System.storage:3 +msgid "" +"This lets you store data that can be used the next time you run the " +"program." +msgstr "" + +#: 0f8f9c2b65fc4f3597b4be690de62a9c of pybricks._common.System.storage:6 +msgid "" +"The data will be saved to flash memory when you turn the hub off " +"normally. It will not be saved if the batteries are removed *while* the " +"hub is still running." +msgstr "" + +#: d937ba1e6cdb4c3f8f087b713452f7c8 of pybricks._common.System.storage:10 +msgid "" +"Once saved, the data will remain available even after you remove the " +"batteries." +msgstr "" + +#: 5281b8cf3c1e447691bcf8e6c271dfbd of pybricks._common.System.storage:13 +msgid "The offset from the start of the user storage memory, in bytes." +msgstr "" + +#: 9639d02c80f3470e9121ce5a26394ee8 of pybricks._common.System.storage:15 +msgid "The number of bytes to read. Omit this argument when writing." +msgstr "" + +#: c8c9d2ab79b34817b0b7365c99d8748d of pybricks._common.System.storage:17 +msgid "The bytes to write. Omit this argument when reading." +msgstr "" + +#: a0fe785cff9e4355b4d5ea555694267a of pybricks._common.System.storage:20 +msgid "The bytes read if reading, otherwise ``None``." +msgstr "" + +#: ../../main/hubs/essentialhub.rst c3a039baa59a4be0a1b410948f56d5dd +msgid "Raises" +msgstr "" + +#: 59ac7d6e8a0541818ed969f58d643a6e of pybricks._common.System.storage:22 +msgid "If you try to read or write data outside of the allowed range." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:127 fccda237506141838df584cb099cbccd +msgid "You can store up to 512 bytes of data on this hub." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:129 ffaa6872f8c84a95ab2cb50faf7d825e +msgid ".. image:: /blockimg/pybricks_blockHubShutdown_EssentialHub.svg" +msgstr "" + +#: 89de9ab1f2574d9dbfe120df98b4718c of pybricks._common.System.shutdown:1 +msgid "Stops your program and shuts the hub down." +msgstr "" + +#: 7db8a2a24dcd491f818c0fd3f79286c6 of pybricks._common.System.reset_reason:1 +msgid "" +"Finds out how and why the hub (re)booted. This can be useful to diagnose " +"some problems." +msgstr "" + +#: 841baee29d864d5081748572281d3941 of pybricks._common.System.reset_reason:4 +msgid "" +"* ``0`` if the hub was previously powered off normally. * ``1`` if the " +"hub rebooted automatically, like after a firmware update. * ``2`` if " +"the hub previously crashed due to a watchdog timeout, which indicates a" +" firmware issue." +msgstr "" + +#: e3ea73f955d94b4db7e39d4cefe6d27d of pybricks._common.System.reset_reason:6 +msgid "``0`` if the hub was previously powered off normally." +msgstr "" + +#: 889307577c30458ba191099add95eef8 of pybricks._common.System.reset_reason:8 +msgid "``1`` if the hub rebooted automatically, like after a firmware update." +msgstr "" + +#: 17cfcb983786480badf18dab4f2c5da7 of pybricks._common.System.reset_reason:10 +msgid "" +"``2`` if the hub previously crashed due to a watchdog timeout, which " +"indicates a firmware issue." +msgstr "" + +#: ../../main/hubs/essentialhub.rst:136 2251e1da6c294f8783459a4d32f2af02 +msgid "Status light examples" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:139 0c312b78de4d4d60905e1190515014ba +msgid "Turning the light on and off" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:141 bf4d57c0357b49928568cb267b13aca2 +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = EssentialHub()\n" +"\n" +"# Turn the light on and off 5 times.\n" +"for i in range(5):\n" +"\n" +" hub.light.on(Color.RED)\n" +" wait(1000)\n" +"\n" +" hub.light.off()\n" +" wait(500)\n" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:145 e8213e5027554d46affb2fa17489b027 +msgid "Changing brightness and using custom colors" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:147 e9718d9b5a694769b9fb0e217f14e91b +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = EssentialHub()\n" +"\n" +"# Show the color at 30% brightness.\n" +"hub.light.on(Color.RED * 0.3)\n" +"\n" +"wait(2000)\n" +"\n" +"# Use your own custom color.\n" +"hub.light.on(Color(h=30, s=100, v=50))\n" +"\n" +"wait(2000)\n" +"\n" +"# Go through all the colors.\n" +"for hue in range(360):\n" +" hub.light.on(Color(hue))\n" +" wait(10)\n" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:151 d551b722141341a8a1d4e8c8a9dd8a2f +msgid "Making the light blink" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:153 71cd99eda8484b769b8712da731446b4 +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub\n" +"hub = EssentialHub()\n" +"\n" +"# Keep blinking red on and off.\n" +"hub.light.blink(Color.RED, [500, 500])\n" +"\n" +"wait(10000)\n" +"\n" +"# Keep blinking green slowly and then quickly.\n" +"hub.light.blink(Color.GREEN, [500, 500, 50, 900])\n" +"\n" +"wait(10000)\n" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:157 6707f8472fc54911ade965aad8c2d224 +msgid "Creating light animations" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:159 c900e531b8c44bb18cb7b078e3d3d9ba +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"from umath import sin, pi\n" +"\n" +"# Initialize the hub.\n" +"hub = EssentialHub()\n" +"\n" +"# Make an animation with multiple colors.\n" +"hub.light.animate([Color.RED, Color.GREEN, Color.NONE], interval=500)\n" +"\n" +"wait(10000)\n" +"\n" +"# Make the color RED grow faint and bright using a sine pattern.\n" +"hub.light.animate([Color.RED * (0.5 * sin(i / 15 * pi) + 0.5) for i in " +"range(30)], 40)\n" +"\n" +"wait(10000)\n" +"\n" +"# Cycle through a rainbow of colors.\n" +"hub.light.animate([Color(h=i * 8) for i in range(45)], interval=40)\n" +"\n" +"wait(10000)\n" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:163 67ecd0f7ca4149c9b8fca0befb897cc4 +msgid "IMU examples" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:166 91a8effa41db4322839f902b530d0872 +msgid "Testing which way is up" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:168 446b794b58cc428da79181b8333fba56 +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.parameters import Color, Side\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = EssentialHub()\n" +"\n" +"# Define colors for each side in a dictionary.\n" +"SIDE_COLORS = {\n" +" Side.TOP: Color.RED,\n" +" Side.BOTTOM: Color.BLUE,\n" +" Side.LEFT: Color.GREEN,\n" +" Side.RIGHT: Color.YELLOW,\n" +" Side.FRONT: Color.MAGENTA,\n" +" Side.BACK: Color.BLACK,\n" +"}\n" +"\n" +"# Keep updating the color based on detected up side.\n" +"while True:\n" +"\n" +" # Check which side of the hub is up.\n" +" up_side = hub.imu.up()\n" +"\n" +" # Change the color based on the side.\n" +" hub.light.on(SIDE_COLORS[up_side])\n" +"\n" +" # Also print the result.\n" +" print(up_side)\n" +" wait(50)\n" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:173 185994f41aa643d3a7509958c3601aed +msgid "Reading the tilt value" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:175 0b3c239b1ec94357b9a01b07d63c80fb +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = EssentialHub()\n" +"\n" +"while True:\n" +" # Read the tilt values.\n" +" pitch, roll = hub.imu.tilt()\n" +"\n" +" # Print the result.\n" +" print(pitch, roll)\n" +" wait(200)\n" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:179 dca196657c4d4a0484a51dc42fdb6671 +msgid "Using a custom hub orientation" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:181 1cba6b7e965e4f4cb969117ef6faaa57 +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.tools import wait\n" +"from pybricks.parameters import Axis\n" +"\n" +"# Initialize the hub. In this case, specify that the hub is mounted with " +"the\n" +"# top side facing forward and the front side facing to the right.\n" +"# For example, this is how the hub is mounted in BLAST in the 51515 set.\n" +"hub = EssentialHub(top_side=Axis.X, front_side=-Axis.Y)\n" +"\n" +"while True:\n" +" # Read the tilt values. Now, the values are 0 when BLAST stands " +"upright.\n" +" # Leaning forward gives positive pitch. Leaning right gives positive " +"roll.\n" +" pitch, roll = hub.imu.tilt()\n" +"\n" +" # Print the result.\n" +" print(pitch, roll)\n" +" wait(200)\n" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:185 f5a680b97f234f2da1b4d26f5b92eb11 +msgid "Reading acceleration and angular velocity vectors" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:187 bf45e4cd9e174c5287004875f8234484 +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = EssentialHub()\n" +"\n" +"# Get the acceleration vector in g's.\n" +"print(hub.imu.acceleration() / 9810)\n" +"\n" +"# Get the angular velocity vector.\n" +"print(hub.imu.angular_velocity())\n" +"\n" +"# Wait so we can see what we printed\n" +"wait(5000)\n" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:191 54e3e6eaf69840de9798aa94f2898eb2 +msgid "Reading acceleration and angular velocity on one axis" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:193 73481194fbbc461282356ec4352860c8 +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.tools import wait\n" +"from pybricks.parameters import Axis\n" +"\n" +"# Initialize the hub.\n" +"hub = EssentialHub()\n" +"\n" +"# Get the acceleration or angular_velocity along a single axis.\n" +"# If you need only one value, this is more memory efficient.\n" +"while True:\n" +"\n" +" # Read the forward acceleration.\n" +" forward_acceleration = hub.imu.acceleration(Axis.X)\n" +"\n" +" # Read the yaw rate.\n" +" yaw_rate = hub.imu.angular_velocity(Axis.Z)\n" +"\n" +" # Print the yaw rate.\n" +" print(yaw_rate)\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:198 9a8d27cbdecd4fe783e088942aae8233 +msgid "Bluetooth examples" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:201 4630515dfa774d269c19c0f1be555850 +msgid "Broadcasting data to other hubs" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:203 cccda56c0f284d2fa3224acdaeee9b87 +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = EssentialHub(broadcast_channel=1)\n" +"\n" +"# Initialize the motors.\n" +"left_motor = Motor(Port.A)\n" +"right_motor = Motor(Port.B)\n" +"\n" +"while True:\n" +" # Read the motor angles to be sent to the other hub.\n" +" left_angle = left_motor.angle()\n" +" right_angle = right_motor.angle()\n" +"\n" +" # Set the broadcast data and start broadcasting if not already doing " +"so.\n" +" data = (left_angle, right_angle)\n" +" hub.ble.broadcast(data)\n" +"\n" +" # Broadcasts are only sent every 100 milliseconds, so there is no " +"reason\n" +" # to call the broadcast() method more often than that.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:207 88c03db8fe6047f58ab684cd985827ce +msgid "Observing data from other hubs" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:209 b006de58d4ae43c4ac902184bb8e4091 +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Color, Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = EssentialHub(observe_channels=[1])\n" +"\n" +"# Initialize the motors.\n" +"left_motor = Motor(Port.A)\n" +"right_motor = Motor(Port.B)\n" +"\n" +"while True:\n" +" # Receive broadcast from the other hub.\n" +"\n" +" data = hub.ble.observe(1)\n" +"\n" +" if data is None:\n" +" # No data has been received in the last 1 second.\n" +" hub.light.on(Color.RED)\n" +" else:\n" +" # Data was received and is less that one second old.\n" +" hub.light.on(Color.GREEN)\n" +"\n" +" # *data* contains the same values in the same order\n" +" # that were passed to hub.ble.broadcast() on the\n" +" # other hub.\n" +" left_angle, right_angle = data\n" +"\n" +" # Make the motors on this hub mirror the position of the\n" +" # motors on the other hub.\n" +" left_motor.track_target(left_angle)\n" +" right_motor.track_target(right_angle)\n" +"\n" +" # Broadcasts are only sent every 100 milliseconds, so there is\n" +" # no reason to call the observe() method more often than that.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:214 b0b62103d2a44997ba1dd4ddb0c30c3f +msgid "System examples" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:217 23e61666bcae40ffbd510f6dab3d40aa +msgid "Using the stop button during your program" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:219 00c06c1501474a6c95d691337844dcb5 +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.parameters import Color, Button\n" +"from pybricks.tools import wait, StopWatch\n" +"\n" +"# Initialize the hub.\n" +"hub = EssentialHub()\n" +"\n" +"# Disable the stop button.\n" +"hub.system.set_stop_button(None)\n" +"\n" +"# Check the button for 5 seconds.\n" +"watch = StopWatch()\n" +"while watch.time() < 5000:\n" +"\n" +" # Set light to green if pressed, else red.\n" +" if hub.buttons.pressed():\n" +" hub.light.on(Color.GREEN)\n" +" else:\n" +" hub.light.on(Color.RED)\n" +"\n" +"# Enable the stop button again.\n" +"hub.system.set_stop_button(Button.CENTER)\n" +"\n" +"# Now you can press the stop button as usual.\n" +"wait(5000)\n" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:223 de2abc570da74363ad91a8adb6d31262 +msgid "Turning the hub off" +msgstr "" + +#: ../../main/hubs/essentialhub.rst:225 ac01a64c305e4a98bd199f0f8fdd5176 +msgid "" +"from pybricks.hubs import EssentialHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = EssentialHub()\n" +"\n" +"# Say goodbye and give some time to send it.\n" +"print(\"Goodbye!\")\n" +"wait(100)\n" +"\n" +"# Shut the hub down.\n" +"hub.system.shutdown()\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/hubs/index.po b/doc/locales/de/LC_MESSAGES/hubs/index.po new file mode 100644 index 00000000..9d221564 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/hubs/index.po @@ -0,0 +1,49 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/hubs/index.rst:4 d99f3eed06ec4fc1b67d5e7bcefeab81 +msgid ":mod:`hubs ` -- Built-in hub functions" +msgstr "" + +#: ../../main/hubs/index.rst:20 d61b8a8bf36541e09f4f5ee42588a529 +msgid ".. image:: ../../main/cad/output/hub-move.png" +msgstr "" + +#: ../../main/hubs/index.rst:26 43c7161ca4d34a0283ac7c13759b75b3 +msgid ".. image:: ../../main/cad/output/hub-city.png" +msgstr "" + +#: ../../main/hubs/index.rst:32 60a3050aff8d4949bea4904232deddc3 +msgid ".. image:: ../../main/cad/output/hub-technic.png" +msgstr "" + +#: ../../main/hubs/index.rst:38 2fb4338938bb45b6b0b3898f92ba6e38 +msgid ".. image:: ../../main/cad/output/hub-inventor.png" +msgstr "" + +#: ../../main/hubs/index.rst:44 72f70e18afb9482d99df560a4f5a38a7 +msgid ".. image:: ../../main/cad/output/hub-prime.png" +msgstr "" + +#: ../../main/hubs/index.rst:50 fcb24dfbe8e0438da7253f923ec4aeb8 +msgid ".. image:: ../../main/cad/output/hub-essential.png" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/hubs/movehub.po b/doc/locales/de/LC_MESSAGES/hubs/movehub.po new file mode 100644 index 00000000..c097c3af --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/hubs/movehub.po @@ -0,0 +1,783 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/hubs/movehub.rst:4 9c7d44da467a4d39914ff489bdd4198c +msgid "Move Hub" +msgstr "" + +#: ../../main/hubs/movehub.rst:8 00bbf6271cb54051ae79b73f7f1f2662 +msgid ".. image:: ../../main/diagrams/movehub.png" +msgstr "" + +#: ../../main/hubs/movehub.rst:11 cf03ad45a9374996b263fc1893dd4820 +msgid ".. image:: /blockimg/pybricks_variables_set_move_hub_option0.svg" +msgstr "" + +#: ../../main/hubs/movehub.rst:13 8e8b2ba0573d4da8aa31d0fa7014dbd7 +msgid ".. image:: /blockimg/pybricks_variables_set_move_hub_option4.svg" +msgstr "" + +#: 04e0acacb0f44e2ba9481b727df6a076 of pybricks.hubs.MoveHub:1 +msgid "LEGO® BOOST Move Hub." +msgstr "" + +#: ../../main/hubs/movehub.rst 29e02797f85c4eff9ce511f090db7020 +#: 45a72f651b6f46c895a131343f2a4775 8f43b6d7c35a4ad699a9574779cdfe64 +#: 904f348c27e44a0bbc974cf983cffd40 9157c9ff8c5f48e28b4eae895185fde5 +#: 9a4b191aea9940a89840b8aa13bb6f41 a8348a4207f5408d9a65da0df6ebe48d +#: ae2e1b761c5d4c0cbf1e25bd80ef02b7 f938df10e322433ba5139afd3543fa02 +msgid "Parameters" +msgstr "" + +#: 790304ec80944c589e54db4f80dfd35e of pybricks.hubs.MoveHub:3 +msgid "The axis that passes through the *top side* of the hub." +msgstr "" + +#: 31198960bdf9465d9228512ec0d36390 of pybricks.hubs.MoveHub:6 +msgid "The axis that passes through the *front side* of the hub." +msgstr "" + +#: 3b08085af1684bd8aa4972f9b007ca3f of pybricks.hubs.MoveHub:9 +msgid "" +"A value from 0 to 255 indicating which channel ``hub.ble.broadcast()`` " +"will use. Default is channel 0." +msgstr "" + +#: f89cd05c8b684b879b795f06fcad9974 of pybricks.hubs.MoveHub:11 +msgid "" +"A list of channels to listen to when ``hub.ble.observe()`` is called. " +"Listening to more channels requires more memory. Default is an empty list" +" (no channels)." +msgstr "" + +#: f9c84c2dbdcf4bb6b1851f95e4e911ac of pybricks.hubs.MoveHub:15 +msgid "Added *broadcast_channel* and *observe_channels* arguments." +msgstr "" + +#: ../../main/hubs/movehub.rst:20 964e6bef509b47f4b740df300efc17b7 +msgid "Using the hub status light" +msgstr "" + +#: ../../main/hubs/movehub.rst:21 a3e8032effe647d1b37247fc68824a20 +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_movehub_on.svg" +msgstr "" + +#: 6513dd2de9914829ac2fd1076283fd70 of pybricks._common.ColorLight.on:1 +msgid "Turns on the light at the specified color." +msgstr "" + +#: 0e5221deebd34ba5883c551e659a5513 d5896b2c465a439384c6d6d51fab4c12 of +#: pybricks._common.ColorLight.blink:11 pybricks._common.ColorLight.on:3 +msgid "Color of the light." +msgstr "" + +#: ../../main/hubs/movehub.rst:25 847cd5a89270486d960cd266c314c50e +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_movehub_off.svg" +msgstr "" + +#: 14ab25ba2b9c42ef8baa0cee0860cdd2 of pybricks._common.ColorLight.off:1 +msgid "Turns off the light." +msgstr "" + +#: 627e64ea99884ccfb918df21d0b75d0c of pybricks._common.ColorLight.blink:1 +msgid "" +"Blinks the light at a given color by turning it on and off for given " +"durations." +msgstr "" + +#: 4cadb5d7ee4d4c26afe11f460aa7ae20 of pybricks._common.ColorLight.blink:4 +msgid "" +"The light keeps blinking indefinitely while the rest of your program " +"keeps running." +msgstr "" + +#: 0bfb170b70c043ff93d4ea39d7f55f3f of pybricks._common.ColorLight.blink:7 +msgid "" +"This method provides a simple way to make basic but useful patterns. For " +"more generic and multi-color patterns, use ``animate()`` instead." +msgstr "" + +#: 8416857d6c1942f1b65ce535e3e1bcd6 of pybricks._common.ColorLight.blink:13 +msgid "Sequence of time values of the form ``[on_1, off_1, on_2, off_2, ...]``." +msgstr "" + +#: 994d23e577b34e74b5ea3850a5d0e984 of pybricks._common.ColorLight.animate:1 +msgid "" +"Animates the light with a sequence of colors, shown one by one for the " +"given interval." +msgstr "" + +#: ad129f2c53c7402fbd6182086fddcaca of pybricks._common.ColorLight.animate:4 +msgid "" +"The animation runs in the background while the rest of your program keeps" +" running. When the animation completes, it repeats." +msgstr "" + +#: 6510085da3f643fea2bd474b7c328737 of pybricks._common.ColorLight.animate:7 +msgid "Sequence of :class:`Color <.parameters.Color>` values." +msgstr "" + +#: 0a77ca8d878b4df8a976fed5d8620939 of pybricks._common.ColorLight.animate:10 +msgid "Time between color updates." +msgstr "" + +#: ../../main/hubs/movehub.rst:34 10195217b3eb4e18a27ca111ab720323 +msgid "Using the IMU" +msgstr "" + +#: ../../main/hubs/movehub.rst:35 45f2c333cdf741498f37ba33ecf76196 +msgid ".. image:: /blockimg/pybricks_blockImuUp_MoveHub.svg" +msgstr "" + +#: 8107cc94918f4c7e90ab404798e899a1 of +#: pybricks._common.SimpleAccelerometer.up:1 +msgid "Checks which side of the hub currently faces upward." +msgstr "" + +#: ../../main/hubs/movehub.rst 026a5fcabc734e11b1ba4996541f0067 +#: 0797a6f3b61c412db339def42948e44f 12da0e0d4c0748dca321de4c461d7ff1 +#: 52e8861d10a441f688577840e7028bb5 60905b100b264c56ab10c945c774088d +#: 68b90255fa7b443dae9e5fa73be5665d aba9a8bd7ef341babd0480e5cfa481ef +#: d2639b03a43c48958a775e090822e820 d3b3cb205aac44439602013804eaf07e +#: d7e93ab4d3354d0d99658f34c93fad2b f2970aa1f8224c3d9e7891d8b89c5e4d +msgid "Returns" +msgstr "" + +#: a427b664bcd24140b21f40479b5edf3c of +#: pybricks._common.SimpleAccelerometer.up:3 +msgid "" +"``Side.TOP``, ``Side.BOTTOM``, ``Side.LEFT``, ``Side.RIGHT``, " +"``Side.FRONT`` or ``Side.BACK``." +msgstr "" + +#: ../../main/hubs/movehub.rst:39 ccedb27a8c2d44ed82d80fc60a6e22da +msgid ".. image:: /blockimg/pybricks_blockTilt_MoveHub_imu.tilt.pitch.svg" +msgstr "" + +#: ../../main/hubs/movehub.rst:41 ddd4389ad86b4f10b76081bd390d2eaa +msgid ".. image:: /blockimg/pybricks_blockTilt_MoveHub_imu.tilt.roll.svg" +msgstr "" + +#: e07120e34ed04c6bbe8a48c3d9edbfea of +#: pybricks._common.SimpleAccelerometer.tilt:1 +msgid "" +"Gets the pitch and roll angles. This is relative to the :ref:`user-" +"specified neutral orientation `." +msgstr "" + +#: db411922ef3846f9a6ae9aa3b16e11b4 of +#: pybricks._common.SimpleAccelerometer.tilt:4 +msgid "" +"The order of rotation is pitch-then-roll. This is equivalent to a " +"positive rotation along the robot y-axis and then a positive rotation " +"along the x-axis." +msgstr "" + +#: 9df26d213c8946948a30f4fc2a55dea7 of +#: pybricks._common.SimpleAccelerometer.tilt:8 +msgid "Tuple of pitch and roll angles in degrees." +msgstr "" + +#: ../../main/hubs/movehub.rst:46 c001175bf7694063a29d608934598173 +msgid ".. image:: /blockimg/pybricks_blockImuAcceleration_MoveHub.svg" +msgstr "" + +#: 7c97e4a80c714e2ea08aa8a728eef933 of +#: pybricks._common.SimpleAccelerometer.acceleration:1 +msgid "Gets the acceleration of the device." +msgstr "" + +#: d066d70391944ae8bf35c30bae0b1827 of +#: pybricks._common.SimpleAccelerometer.acceleration:3 +msgid "Acceleration along all three axes." +msgstr "" + +#: ../../main/hubs/movehub.rst:52 f67548bed6414c989ebf3c0f6c7bedc4 +msgid "Changed acceleration units from m/s² to mm/s²." +msgstr "" + +#: ../../main/hubs/movehub.rst:55 9699ae5079704e2492e640f06bc07ea9 +msgid "Using connectionless Bluetooth messaging" +msgstr "" + +#: ../../main/hubs/movehub.rst:56 fc14bcb149d549a3b9ffb8f7cb3172f9 +msgid ".. image:: /blockimg/pybricks_blockBleBroadcast_PrimeHub.svg" +msgstr "" + +#: 1bbd86cc1c71498f9d5308214ed9c594 of pybricks._common.BLE.broadcast:1 +msgid "" +"Starts broadcasting the given data on the ``broadcast_channel`` you " +"selected when initializing the hub." +msgstr "" + +#: e00e3f830e0d477e80df77e20a1e8797 of pybricks._common.BLE.broadcast:4 +msgid "" +"Data may be of type ``int``, ``float``, ``str``, ``bytes``, ``True``, or " +"``False``, or a list thereof." +msgstr "" + +#: 19daf26f0a9a42eb84e13a355f436ce7 of pybricks._common.BLE.broadcast:7 +msgid "" +"Choose ``None`` to stop broadcasting. This helps improve performance when" +" you don't need the broadcast feature, especially when observing at the " +"same time." +msgstr "" + +#: d8cb0935be934b7bada09eaeb13af2a8 of pybricks._common.BLE.broadcast:11 +msgid "" +"The total data size is quite limited (26 bytes). ``True`` and ``False`` " +"take 1 byte each. ``float`` takes 5 bytes. ``int`` takes 2 to 5 bytes " +"depending on how big the number is. ``str`` and ``bytes`` take the number" +" of bytes in the object plus one extra byte." +msgstr "" + +#: 8b95869a34a548ea8fc63fccf4064d63 of pybricks._common.BLE.broadcast:16 +msgid "" +"When multitasking, only one task can broadcast at a time. To broadcast " +"information from multiple tasks (or block stacks), you could use a " +"dedicated separate task that broadcast new values when one or more " +"variables change." +msgstr "" + +#: 46560ab2a72b45a1be422dcb12f7e3a5 of pybricks._common.BLE.broadcast:21 +msgid "The value or values to be broadcast." +msgstr "" + +#: ../../main/hubs/movehub.rst:60 38ebf810ac54406b8a339a0671da8087 +msgid ".. image:: /blockimg/pybricks_blockBleObserve_PrimeHub.svg" +msgstr "" + +#: e720a64ae83c40f69f2ea9998da455ef of pybricks._common.BLE.observe:1 +msgid "Retrieves the last observed data for a given channel." +msgstr "" + +#: 4b46fe96d23b4333a85f1a9c610e823a of pybricks._common.BLE.observe:3 +msgid "" +"Receiving data is more reliable when the hub is not connected to a " +"computer or other devices at the same time." +msgstr "" + +#: 6f468fae4d194c49af531b6cdc576b69 of pybricks._common.BLE.observe:6 +msgid "The channel to observe (0 to 255)." +msgstr "" + +#: e2432f70a20a4391a418c745544e80f8 of pybricks._common.BLE.observe:9 +msgid "" +"The received data in the same format as it was sent, or ``None`` if no " +"recent data is available." +msgstr "" + +#: 087917fa3657455598a2e372d8134ad8 of pybricks._common.BLE.signal_strength:1 +msgid "Gets the average signal strength in dBm for the given channel." +msgstr "" + +#: d1a9b060e63d40adb2a8ad64951bc56c of pybricks._common.BLE.signal_strength:3 +msgid "" +"This indicates how near the broadcasting device is. Nearby devices may " +"have a signal strength around -40 dBm, while far away devices might have " +"a signal strength around -70 dBm." +msgstr "" + +#: 2159d77ac77b44e0a21172eb15d8b40d of pybricks._common.BLE.signal_strength:7 +msgid "The channel number (0 to 255)." +msgstr "" + +#: 33d4aa75939a4ea59cf7c76b1aaf6946 of pybricks._common.BLE.signal_strength:10 +msgid "The signal strength or ``-128`` if there is no recent observed data." +msgstr "" + +#: 86511c646a2d4f989a80161d17659822 of pybricks._common.BLE.version:1 +msgid "Gets the firmware version from the Bluetooth chip." +msgstr "" + +#: ../../main/hubs/movehub.rst:69 ca0cbd620b5446bcb0361f9e61dedfd1 +msgid "Using the battery" +msgstr "" + +#: ../../main/hubs/movehub.rst:70 21172e914aa44f53bc850f45cdfbffcc +msgid "" +".. image:: " +"/blockimg/pybricks_blockBatteryMeasure_MoveHub_battery.voltage.svg" +msgstr "" + +#: 7f00b22e14c84637b6f214e5049f80b7 of pybricks._common.Battery.voltage:1 +msgid "Gets the voltage of the battery." +msgstr "" + +#: 2cca4e8a52944b28879f14d2dbe4bc45 of pybricks._common.Battery.voltage:3 +msgid "Battery voltage." +msgstr "" + +#: ../../main/hubs/movehub.rst:74 7763949a228e45af88982318e9659391 +msgid "" +".. image:: " +"/blockimg/pybricks_blockBatteryMeasure_MoveHub_battery.current.svg" +msgstr "" + +#: d51aa1f35b624b68b91e05dad95ca576 of pybricks._common.Battery.current:1 +msgid "Gets the current supplied by the battery." +msgstr "" + +#: 16a010ffd04940a1afcd06c4757157db of pybricks._common.Battery.current:3 +msgid "Battery current." +msgstr "" + +#: ../../main/hubs/movehub.rst:79 54d2a7efdd9f49aa981ba4b5249e52c1 +msgid "Button and system control" +msgstr "" + +#: ../../main/hubs/movehub.rst:80 4edc3f618a7b4af49436438b743a25a5 +msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_PrimeHub.svg" +msgstr "" + +#: c8ca40f6d58b4e45b4822a7f3d1d17e8 of pybricks._common.Keypad.pressed:1 +msgid "Checks which buttons are currently pressed." +msgstr "" + +#: 7e7f93c75da24b87a21fa8ec049e8857 of pybricks._common.Keypad.pressed:3 +msgid "Set of pressed buttons." +msgstr "" + +#: ../../main/hubs/movehub.rst:84 6958c37bb48f4cd6b5f56962d041cb5c +msgid ".. image:: /blockimg/pybricks_blockHubStopButton_MoveHub.svg" +msgstr "" + +#: ../../main/hubs/movehub.rst:86 2f929c178b65485b9f16c55724ea3354 +msgid ".. image:: /blockimg/pybricks_blockHubStopButton_MoveHub_none.svg" +msgstr "" + +#: 5fbf6bb9b4804acdbdc33ba47793bfd8 of +#: pybricks._common.System.set_stop_button:1 +msgid "Sets the button or button combination that stops a running script." +msgstr "" + +#: e15d3146a06f4192b2345cd16d953a70 of +#: pybricks._common.System.set_stop_button:3 +msgid "" +"Normally, the center button is used to stop a running script. You can " +"change or disable this behavior in order to use the button for other " +"purposes." +msgstr "" + +#: 366fbb1802494c60a8421fc0855013c3 of +#: pybricks._common.System.set_stop_button:7 +msgid "" +"A button such as :attr:`Button.CENTER " +"`, or a tuple of multiple buttons. " +"Choose ``None`` to disable the stop button altogether. If you do, you can" +" still turn the hub off by holding the center button for three seconds." +msgstr "" + +#: eaad7efab2e14454b51eef8e723d260a of pybricks._common.System.name:1 +msgid "Gets the hub name. This is the name you see when connecting via Bluetooth." +msgstr "" + +#: 42526191568e4d61a2349eb2e8be2986 of pybricks._common.System.name:4 +msgid "The hub name." +msgstr "" + +#: a5274c7075cf4f1bb89d778c8ad35409 of pybricks._common.System.storage:1 +msgid "Reads or writes binary data to persistent storage." +msgstr "" + +#: f81d1a2917d34ea0a507c57b5f0f705d of pybricks._common.System.storage:3 +msgid "" +"This lets you store data that can be used the next time you run the " +"program." +msgstr "" + +#: 9a200e3efae2451c90196860d9a97f5c of pybricks._common.System.storage:6 +msgid "" +"The data will be saved to flash memory when you turn the hub off " +"normally. It will not be saved if the batteries are removed *while* the " +"hub is still running." +msgstr "" + +#: d70a80b3ef9343d6bd05ad217416402d of pybricks._common.System.storage:10 +msgid "" +"Once saved, the data will remain available even after you remove the " +"batteries." +msgstr "" + +#: 6765e74f297e40d98cdb8fae2e58acc0 of pybricks._common.System.storage:13 +msgid "The offset from the start of the user storage memory, in bytes." +msgstr "" + +#: 26f96e39ea5a4e83a62bfa2b4bebbb01 of pybricks._common.System.storage:15 +msgid "The number of bytes to read. Omit this argument when writing." +msgstr "" + +#: a54d1260fa024cbb85e95f059a7fe962 of pybricks._common.System.storage:17 +msgid "The bytes to write. Omit this argument when reading." +msgstr "" + +#: 5303d2e252b244339052dbd76f374734 of pybricks._common.System.storage:20 +msgid "The bytes read if reading, otherwise ``None``." +msgstr "" + +#: ../../main/hubs/movehub.rst e6c7ea86a0754184a775c31132c11b94 +msgid "Raises" +msgstr "" + +#: 8e26e9583de744e7a11006a4aa832c53 of pybricks._common.System.storage:22 +msgid "If you try to read or write data outside of the allowed range." +msgstr "" + +#: ../../main/hubs/movehub.rst:95 70f7c85412884d88b432733cde3fd677 +msgid "" +"You can store up to 128 bytes of data on this hub. The data is cleared " +"when you update the Pybricks firmware or if you restore the original " +"firmware." +msgstr "" + +#: ../../main/hubs/movehub.rst:99 48e30e061e3746378c6cddd1761d7d98 +msgid ".. image:: /blockimg/pybricks_blockHubShutdown_MoveHub.svg" +msgstr "" + +#: 6c5845d88f21451b991bc533d659572e of pybricks._common.System.shutdown:1 +msgid "Stops your program and shuts the hub down." +msgstr "" + +#: 228da4a7e64a4ce7b6e37d74ae3e6574 of pybricks._common.System.reset_reason:1 +msgid "" +"Finds out how and why the hub (re)booted. This can be useful to diagnose " +"some problems." +msgstr "" + +#: d42a7d748bdd4733b6ec7b758fa35b04 of pybricks._common.System.reset_reason:4 +msgid "" +"* ``0`` if the hub was previously powered off normally. * ``1`` if the " +"hub rebooted automatically, like after a firmware update. * ``2`` if " +"the hub previously crashed due to a watchdog timeout, which indicates a" +" firmware issue." +msgstr "" + +#: ca980ce597834ea1adb34343fb62cde4 of pybricks._common.System.reset_reason:6 +msgid "``0`` if the hub was previously powered off normally." +msgstr "" + +#: 8a08a114430a4f60bdb3f13a7edd5c08 of pybricks._common.System.reset_reason:8 +msgid "``1`` if the hub rebooted automatically, like after a firmware update." +msgstr "" + +#: 323dff436f1c497e95feac199d470abf of pybricks._common.System.reset_reason:10 +msgid "" +"``2`` if the hub previously crashed due to a watchdog timeout, which " +"indicates a firmware issue." +msgstr "" + +#: ../../main/hubs/movehub.rst:106 8499bf3203154c7db450a273fff42a00 +msgid "Status light examples" +msgstr "" + +#: ../../main/hubs/movehub.rst:109 9d4094fcb3184ccb8c1b52e33b482174 +msgid "Turning the light on and off" +msgstr "" + +#: ../../main/hubs/movehub.rst:111 0af8e2a60a65479da6cd16a6a314ca84 +msgid "" +"from pybricks.hubs import MoveHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = MoveHub()\n" +"\n" +"# Turn the light on and off 5 times.\n" +"for i in range(5):\n" +"\n" +" hub.light.on(Color.RED)\n" +" wait(1000)\n" +"\n" +" hub.light.off()\n" +" wait(500)\n" +msgstr "" + +#: ../../main/hubs/movehub.rst:115 04a1471f992347f29eb007892b5574c7 +msgid "Making the light blink" +msgstr "" + +#: ../../main/hubs/movehub.rst:117 965334d174e64bfbad91d0ef43057e8f +msgid "" +"from pybricks.hubs import MoveHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub\n" +"hub = MoveHub()\n" +"\n" +"# Keep blinking red on and off.\n" +"hub.light.blink(Color.RED, [500, 500])\n" +"\n" +"wait(10000)\n" +"\n" +"# Keep blinking green slowly and then quickly.\n" +"hub.light.blink(Color.GREEN, [500, 500, 50, 900])\n" +"\n" +"wait(10000)\n" +msgstr "" + +#: ../../main/hubs/movehub.rst:121 1c9988136e3548e3bb45084ca6309924 +msgid "IMU examples" +msgstr "" + +#: ../../main/hubs/movehub.rst:124 179380abe89f4c9a9cd6983ffa275ac5 +msgid "Testing which way is up" +msgstr "" + +#: ../../main/hubs/movehub.rst:126 118d455c5b104276b1cbb0b680e20e13 +msgid "" +"from pybricks.hubs import MoveHub\n" +"from pybricks.parameters import Color, Side\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = MoveHub()\n" +"\n" +"# Define colors for each side in a dictionary.\n" +"SIDE_COLORS = {\n" +" Side.TOP: Color.RED,\n" +" Side.BOTTOM: Color.BLUE,\n" +" Side.LEFT: Color.GREEN,\n" +" Side.RIGHT: Color.YELLOW,\n" +" Side.FRONT: Color.MAGENTA,\n" +" Side.BACK: Color.BLACK,\n" +"}\n" +"\n" +"# Keep updating the color based on detected up side.\n" +"while True:\n" +"\n" +" # Check which side of the hub is up.\n" +" up_side = hub.imu.up()\n" +"\n" +" # Change the color based on the side.\n" +" hub.light.on(SIDE_COLORS[up_side])\n" +"\n" +" # Also print the result.\n" +" print(up_side)\n" +" wait(50)\n" +msgstr "" + +#: ../../main/hubs/movehub.rst:130 d5d076762664412d847dd175cf2ee8f1 +msgid "Reading acceleration" +msgstr "" + +#: ../../main/hubs/movehub.rst:132 5fa245c2e87442e9822d097d0a4e1949 +msgid "" +"from pybricks.hubs import MoveHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = MoveHub()\n" +"\n" +"# Get the acceleration tuple.\n" +"print(hub.imu.acceleration())\n" +"\n" +"while True:\n" +" # Get individual acceleration values.\n" +" x, y, z = hub.imu.acceleration()\n" +" print(x, y, z)\n" +"\n" +" # Wait so we can see what we printed.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/movehub.rst:137 d7a2fc5f5ed94c309a024dda2020326b +msgid "Bluetooth examples" +msgstr "" + +#: ../../main/hubs/movehub.rst:140 95cb2b0f0c0a41488d61095c48c80dd8 +msgid "Broadcasting data to other hubs" +msgstr "" + +#: ../../main/hubs/movehub.rst:142 66dfd3f9e698457ab9be9f386331b67d +msgid "" +"from pybricks.hubs import MoveHub\n" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = MoveHub(broadcast_channel=1)\n" +"\n" +"# Initialize the motors.\n" +"left_motor = Motor(Port.A)\n" +"right_motor = Motor(Port.B)\n" +"\n" +"while True:\n" +" # Read the motor angles to be sent to the other hub.\n" +" left_angle = left_motor.angle()\n" +" right_angle = right_motor.angle()\n" +"\n" +" # Set the broadcast data and start broadcasting if not already doing " +"so.\n" +" data = (left_angle, right_angle)\n" +" hub.ble.broadcast(data)\n" +"\n" +" # Broadcasts are only sent every 100 milliseconds, so there is no " +"reason\n" +" # to call the broadcast() method more often than that.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/movehub.rst:146 038fd68a9e1b464e99bd5c70d5072f95 +msgid "Observing data from other hubs" +msgstr "" + +#: ../../main/hubs/movehub.rst:148 c3c7d70c157542e389a2b441cf4078de +msgid "" +"from pybricks.hubs import MoveHub\n" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Color, Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = MoveHub(observe_channels=[1])\n" +"\n" +"# Initialize the motors.\n" +"left_motor = Motor(Port.A)\n" +"right_motor = Motor(Port.B)\n" +"\n" +"while True:\n" +" # Receive broadcast from the other hub.\n" +"\n" +" data = hub.ble.observe(1)\n" +"\n" +" if data is None:\n" +" # No data has been received in the last 1 second.\n" +" hub.light.on(Color.RED)\n" +" else:\n" +" # Data was received and is less that one second old.\n" +" hub.light.on(Color.GREEN)\n" +"\n" +" # *data* contains the same values in the same order\n" +" # that were passed to hub.ble.broadcast() on the\n" +" # other hub.\n" +" left_angle, right_angle = data\n" +"\n" +" # Make the motors on this hub mirror the position of the\n" +" # motors on the other hub.\n" +" left_motor.track_target(left_angle)\n" +" right_motor.track_target(right_angle)\n" +"\n" +" # Broadcasts are only sent every 100 milliseconds, so there is\n" +" # no reason to call the observe() method more often than that.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/movehub.rst:153 50bd45547b384a539ef9662f958b10c7 +msgid "Button and system examples" +msgstr "" + +#: ../../main/hubs/movehub.rst:156 25f8f1827e674540b15b903f5e526fee +msgid "Using the stop button during your program" +msgstr "" + +#: ../../main/hubs/movehub.rst:158 c8b4eab5895f4cedb32b045d2c3fc2cf +msgid "" +"from pybricks.hubs import MoveHub\n" +"from pybricks.parameters import Color, Button\n" +"from pybricks.tools import wait, StopWatch\n" +"\n" +"# Initialize the hub.\n" +"hub = MoveHub()\n" +"\n" +"# Disable the stop button.\n" +"hub.system.set_stop_button(None)\n" +"\n" +"# Check the button for 5 seconds.\n" +"watch = StopWatch()\n" +"while watch.time() < 5000:\n" +"\n" +" # Set light to green if pressed, else red.\n" +" if hub.buttons.pressed():\n" +" hub.light.on(Color.GREEN)\n" +" else:\n" +" hub.light.on(Color.RED)\n" +"\n" +"# Enable the stop button again.\n" +"hub.system.set_stop_button(Button.CENTER)\n" +"\n" +"# Now you can press the stop button as usual.\n" +"wait(5000)\n" +msgstr "" + +#: ../../main/hubs/movehub.rst:162 08edabd28a284594a7242a86d2bef934 +msgid "Turning the hub off" +msgstr "" + +#: ../../main/hubs/movehub.rst:164 2db026e8851441368146c72008393c4d +msgid "" +"from pybricks.hubs import MoveHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = MoveHub()\n" +"\n" +"# Say goodbye and give some time to send it.\n" +"print(\"Goodbye!\")\n" +"wait(100)\n" +"\n" +"# Shut the hub down.\n" +"hub.system.shutdown()\n" +msgstr "" + +#: ../../main/hubs/movehub.rst:168 6186e7affa6242d7ad4c8c7aa46a0fc9 +msgid "Making random numbers" +msgstr "" + +#: ../../main/hubs/movehub.rst:170 07c19a3da402454388f3b4f25d786639 +msgid "" +"The Move Hub does not include the :mod:`urandom` module. If you need " +"random numbers in your application, you can try a variation of the " +"following example." +msgstr "" + +#: ../../main/hubs/movehub.rst:173 bd08b3fc8fe449ab8c22e09ffcc37b9a +msgid "" +"To make it work better, change the initial value of ``_rand`` to " +"something that is truly random in your application. You could use the IMU" +" acceleration or a sensor value, for example." +msgstr "" + +#: ../../main/hubs/movehub.rst:177 08a8423c18b947809d02fdb1cae58484 +msgid "" +"from pybricks.hubs import MoveHub\n" +"\n" +"# Initialize the hub.\n" +"hub = MoveHub()\n" +"\n" +"# Initialize \"random\" seed.\n" +"_rand = hub.battery.voltage() + hub.battery.current()\n" +"\n" +"\n" +"# Return a random integer N such that a <= N <= b.\n" +"def randint(a, b):\n" +" global _rand\n" +" _rand = 75 * _rand % 65537 # Lehmer\n" +" return _rand * (b - a + 1) // 65537 + a\n" +"\n" +"\n" +"# Generate a few example numbers.\n" +"for i in range(5):\n" +" print(randint(0, 1000))\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/hubs/primehub.po b/doc/locales/de/LC_MESSAGES/hubs/primehub.po new file mode 100644 index 00000000..6fd8d5ff --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/hubs/primehub.po @@ -0,0 +1,1664 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/hubs/primehub.rst:4 ec24727afc6a497ba5fe0f2f81b95606 +msgid "Prime Hub / Inventor Hub" +msgstr "" + +#: ../../main/hubs/primehub.rst:6 f35fab25ddf54f009ca61ae710f8ae37 +msgid ".. image:: ../../main/cad/output/hub-spike-inventor.png" +msgstr "" + +#: ../../main/hubs/primehub.rst:9 fbfafec225c24d098cd155087c89768f +msgid ".. image:: /blockimg/pybricks_variables_set_inventor_hub_option0.svg" +msgstr "" + +#: ../../main/hubs/primehub.rst:11 65e66cede2894de791ed7cfc0d315a69 +msgid ".. image:: /blockimg/pybricks_variables_set_inventor_hub_option4.svg" +msgstr "" + +#: ../../main/hubs/primehub.rst:16 9da66012daf24cd0bbbad734ce2ecea6 +msgid "" +"This class is the same as the ``PrimeHub`` class, shown below. Both " +"classes work on both hubs." +msgstr "" + +#: ../../main/hubs/primehub.rst:19 7ccc5bbca55a4a6c867bc7f0dc77cc16 +msgid "These hubs are completely identical. They use the same Pybricks firmware." +msgstr "" + +#: ../../main/hubs/primehub.rst:21 0bf656e3553d4e47aeb21696c146048e +msgid ".. image:: /blockimg/pybricks_variables_set_prime_hub_option0.svg" +msgstr "" + +#: ../../main/hubs/primehub.rst:23 c7b4f324a1cc4e61a4febef22b272b35 +msgid ".. image:: /blockimg/pybricks_variables_set_prime_hub_option4.svg" +msgstr "" + +#: b67cc6c451d746118dddeb3ab3da9981 of pybricks.hubs.PrimeHub:1 +msgid "LEGO® SPIKE Prime Hub." +msgstr "" + +#: 1526de721dec467fadf11b0b1b0e2ae9 of pybricks.hubs.PrimeHub:3 +msgid "" +"Initializes the hub. Optionally, specify how the hub is :ref:`placed in " +"your design ` by saying in which direction the top side (with" +" the buttons) and front side (with the USB port) are pointing." +msgstr "" + +#: ../../main/hubs/primehub.rst 0612540f1ad54248a5774e81932b8b72 +#: 1cd9b05ae9cb418eb2a1fd4aef6127e5 30956555231f47ba85ce7ca439e63799 +#: 411c6152eac040ffa63472b3e53da048 4f9353d39245465f9c86722e48f25dc6 +#: 511c0a59afef4c2d8984d2f58a6f3945 5b55d64f72d04ff78cc5da89d4f363b3 +#: 61949a83dad345ef8025432f632ea5e4 773b6b59c71140328c28474ba198bdde +#: 8289a4d5e7e24d38ad7e9d1525180a89 893102c4fdf44c408647c85c272cc39b +#: 89d8d851ede64d1888d7fc30776d4a0c 932bc4774d7b497b9c772f33cc859880 +#: 9c7cbd5c769041a4aad66b2f12083cfa a5b395a4b61f40cc8a3622afaa78a03d +#: b8ed39b1d02d4b5bafd84941ad204e86 c2b90c13ac0f401db3623ca715d77c9e +#: c5f2bec1b79d4137b685a22372469457 d4f7a5e899b5465c8d06c5ce372dcb4d +#: d837cd671b444167acea3dba0c790c55 e1cc6f09ef9b40879f4961f9643220a0 +#: e56eadcb18e84367bd41c1b2a6ca390a ed546098b52547979a0fb67f42c05200 +#: fa155790f2b34d3cb096eade5eba6c12 +msgid "Parameters" +msgstr "" + +#: 4f2755198ac74cbbab384faa3b11be90 of pybricks.hubs.PrimeHub:8 +msgid "The axis that passes through the *top side* of the hub." +msgstr "" + +#: eb4f31b4b9db4591aaf0bcd09f26a088 of pybricks.hubs.PrimeHub:11 +msgid "The axis that passes through the *front side* of the hub." +msgstr "" + +#: b1f18bc6a8ce414f8372181b57ad7e3f of pybricks.hubs.PrimeHub:14 +msgid "" +"A value from 0 to 255 indicating which channel ``hub.ble.broadcast()`` " +"will use. Default is channel 0." +msgstr "" + +#: 39dcbe47d0e44046a6701115999ad6e5 of pybricks.hubs.PrimeHub:16 +msgid "" +"A list of channels to listen to when ``hub.ble.observe()`` is called. " +"Listening to more channels requires more memory. Default is an empty list" +" (no channels)." +msgstr "" + +#: 823f0e4c324043ccb6412804ade5c4a7 of pybricks.hubs.PrimeHub:20 +msgid "Added *broadcast_channel* and *observe_channels* arguments." +msgstr "" + +#: ../../main/hubs/primehub.rst:30 5c0d2acfa9ac475cb0e9cd7851655e8c +msgid "Using the hub status light" +msgstr "" + +#: ../../main/hubs/primehub.rst:31 960eaf9e95ce47acbdc0ed00ee2ad5d8 +msgid ".. image:: ../../main/diagrams/primehub_light.png" +msgstr "" + +#: ../../main/hubs/primehub.rst:34 3f1f3d609f4f4d9f8006cbae35db8524 +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_primehub_on.svg" +msgstr "" + +#: 1d5c65ca14ee4d239a9fcfb95cd7410c of pybricks._common.ColorLight.on:1 +msgid "Turns on the light at the specified color." +msgstr "" + +#: 2ca74b7902034ec88c29924638abb008 f25a0c97a4954b60be3a4935e4346496 of +#: pybricks._common.ColorLight.blink:11 pybricks._common.ColorLight.on:3 +msgid "Color of the light." +msgstr "" + +#: ../../main/hubs/primehub.rst:38 256fb1bb195246c083c62edbbf5051bf +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_primehub_off.svg" +msgstr "" + +#: a20860e09f174744a288e082201e946d of pybricks._common.ColorLight.off:1 +msgid "Turns off the light." +msgstr "" + +#: aa2a56c045fb467da020ac0f719d9e7f of pybricks._common.ColorLight.blink:1 +msgid "" +"Blinks the light at a given color by turning it on and off for given " +"durations." +msgstr "" + +#: 29c5cb1ef4854d56b534728a7dea4ec7 of pybricks._common.ColorLight.blink:4 +msgid "" +"The light keeps blinking indefinitely while the rest of your program " +"keeps running." +msgstr "" + +#: d64bb8c722a4411d922cf8a00a515ed6 of pybricks._common.ColorLight.blink:7 +msgid "" +"This method provides a simple way to make basic but useful patterns. For " +"more generic and multi-color patterns, use ``animate()`` instead." +msgstr "" + +#: 76a0713570324c8faa47024410203f3f of pybricks._common.ColorLight.blink:13 +msgid "Sequence of time values of the form ``[on_1, off_1, on_2, off_2, ...]``." +msgstr "" + +#: 838e6f2a28b844f3a8d5a0ab39950d4e of pybricks._common.ColorLight.animate:1 +msgid "" +"Animates the light with a sequence of colors, shown one by one for the " +"given interval." +msgstr "" + +#: d0f40e8e46fb4b81b5c448240d314b59 of pybricks._common.ColorLight.animate:4 +msgid "" +"The animation runs in the background while the rest of your program keeps" +" running. When the animation completes, it repeats." +msgstr "" + +#: 62474878c26c4c0397b07c60e2438487 of pybricks._common.ColorLight.animate:7 +msgid "Sequence of :class:`Color <.parameters.Color>` values." +msgstr "" + +#: f7900b5f291749589ef8751110c8e4fb of pybricks._common.ColorLight.animate:10 +msgid "Time between color updates." +msgstr "" + +#: ../../main/hubs/primehub.rst:47 08857c7b15e44f46a930b6c0641f7b68 +msgid "Using the light matrix display" +msgstr "" + +#: ../../main/hubs/primehub.rst:48 abbc701b0c5646fcafb83bf6ec1da75b +msgid ".. image:: ../../main/diagrams/primehub_display.png" +msgstr "" + +#: b073815c172547cb8bd816e49a757a17 of +#: pybricks._common.LightMatrix.orientation:1 +msgid "Sets the orientation of the light matrix display." +msgstr "" + +#: f7682fb1360e40aeb681b66cb0ea57b4 of +#: pybricks._common.LightMatrix.orientation:3 +msgid "" +"Only new displayed images and pixels are affected. The existing display " +"contents remain unchanged." +msgstr "" + +#: d8efe204a76c42f1b65fdab3ff8e68fa of +#: pybricks._common.LightMatrix.orientation:6 +msgid "" +"Which side of the light matrix display is \"up\" in your design. Choose " +"``Side.TOP``, ``Side.LEFT``, ``Side.RIGHT``, or ``Side.BOTTOM``." +msgstr "" + +#: ../../main/hubs/primehub.rst:53 c274d1d4d05847f3a4f5a452986fd891 +msgid ".. image:: /blockimg/pybricks_blockLightMatrixDo_light_matrix_off.svg" +msgstr "" + +#: 57f75be75fd74cbea39f8a1742c8a8d7 of pybricks._common.LightMatrix.off:1 +msgid "Turns off all the pixels." +msgstr "" + +#: ../../main/hubs/primehub.rst:57 ddcdc73046324342ac924966abe7461e +msgid ".. image:: /blockimg/pybricks_blockLightMatrixDo_light_matrix_pixel.svg" +msgstr "" + +#: a2e0387bf50f414382be782c1d07d607 of pybricks._common.LightMatrix.pixel:1 +msgid "Turns on one pixel at the specified brightness." +msgstr "" + +#: 914a0e7522b741be8677a509c11b782b of pybricks._common.LightMatrix.pixel:3 +msgid "Vertical grid index, starting at 0 from the top." +msgstr "" + +#: 1acdaaaf097d47079bbc0403a3b442ba of pybricks._common.LightMatrix.pixel:5 +msgid "Horizontal grid index, starting at 0 from the left." +msgstr "" + +#: f661c580d1e943e2ae5d4bcdcef360cd of pybricks._common.LightMatrix.pixel:7 +msgid "Brightness of the pixel." +msgstr "" + +#: fad3220419b0480da137a53706f4a8b6 of pybricks._common.LightMatrix.icon:1 +msgid "Displays an icon, represented by a matrix of :ref:`brightness` values." +msgstr "" + +#: 645b0996edbf49b885820960b8f79e3f of pybricks._common.LightMatrix.icon:4 +msgid "Matrix of intensities (:ref:`brightness`). A 2D list is also accepted." +msgstr "" + +#: c91494a7428a424ca3d8189397e3d56b of pybricks._common.LightMatrix.animate:1 +msgid "Displays an animation made using a list of images." +msgstr "" + +#: 13a6d1cc43b64e40a8dd76a9f3086c93 of pybricks._common.LightMatrix.animate:3 +msgid "" +"Each image has the same format as above. Each image is shown for the " +"given interval. The animation repeats forever while the rest of your " +"program keeps running." +msgstr "" + +#: b6151a646d714681aa4286fafdc738c9 of pybricks._common.LightMatrix.animate:7 +msgid "Sequence of :class:`Matrix ` of intensities." +msgstr "" + +#: fdf9b01307404044805a723c8cad41e1 of pybricks._common.LightMatrix.animate:10 +msgid "Time to display each image in the list." +msgstr "" + +#: ../../main/hubs/primehub.rst:65 e41593134dd84251b8cf0f018998010a +msgid ".. image:: /blockimg/pybricks_blockLightMatrixDo_light_matrix_number.svg" +msgstr "" + +#: e59feb18f1994e018538cb631e2f13bd of pybricks._common.LightMatrix.number:1 +msgid "Displays a number in the range -99 to 99." +msgstr "" + +#: 8850027e287a432680bdcf40dbfa2f5c of pybricks._common.LightMatrix.number:3 +msgid "" +"A minus sign (``-``) is shown as a faint dot in the center of the " +"display. Numbers greater than 99 are shown as ``>``. Numbers less than " +"-99 are shown as ``<``." +msgstr "" + +#: 9997a28c94824bd9a5f1d7a453176205 of pybricks._common.LightMatrix.number:7 +msgid "The number to be displayed." +msgstr "" + +#: ../../main/hubs/primehub.rst:69 1a2c4506c7c249c3990f3643c7abd293 +msgid ".. image:: /blockimg/pybricks_blockLightMatrixDo_light_matrix_symbol.svg" +msgstr "" + +#: c675a5e660b3499db79f32cb337fe305 of pybricks._common.LightMatrix.char:1 +msgid "" +"Displays a character or symbol on the light grid. This may be any letter " +"(``a``--``z``), capital letter (``A``--``Z``) or one of the following " +"symbols: ``!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}``." +msgstr "" + +#: 7b8c7adc13ed440c9a61f8868b80f0b1 of pybricks._common.LightMatrix.char:5 +msgid "The character or symbol to be displayed." +msgstr "" + +#: c90365e1ab7543408c44a15adab6c9f4 of pybricks._common.LightMatrix.text:1 +msgid "" +"Displays a text string, one character at a time, with a pause between " +"each character. After the last character is shown, all lights turn off." +msgstr "" + +#: 02e34a740df54ede82c7c1f5e22d0178 of pybricks._common.LightMatrix.text:5 +msgid "The text to be displayed." +msgstr "" + +#: 4fb87e2608f24e478804e2b3b994bfc9 of pybricks._common.LightMatrix.text:7 +msgid "For how long a character is shown." +msgstr "" + +#: b373dee96f8b4d8bbe228631e4b9f692 of pybricks._common.LightMatrix.text:9 +msgid "For how long the display is off between characters." +msgstr "" + +#: ../../main/hubs/primehub.rst:76 c921ea9bcde74be0b4473a30d01fb121 +msgid "Using the buttons" +msgstr "" + +#: ../../main/hubs/primehub.rst:77 92cc111cd08c4c2897a22c212c435734 +msgid ".. image:: ../../main/diagrams/primehub_buttons.png" +msgstr "" + +#: ../../main/hubs/primehub.rst:80 c92ab1943f5f4df39e8a52ab8aecc14d +msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_PrimeHub.svg" +msgstr "" + +#: c9e5dfde33864002bdef5e4308fc019c of pybricks._common.Keypad.pressed:1 +msgid "Checks which buttons are currently pressed." +msgstr "" + +#: ../../main/hubs/primehub.rst 00194d398654424f86a5220b831a253d +#: 08d1b398e8f448a6ac3654d1fe9feb46 0cb1c679a87a4a5f9ab584c0b300da75 +#: 12b7a78757934fcfb97092f976120ebf 369403b0af784c118f9a873125a535b7 +#: 45ee2aa3123840fe850ea4e21fb4f812 4e68e1c764524885912cecd667c18ed0 +#: 557fe9c133ef46e2a73fa4c134da19f1 568e89e88cbb479d9b2f61098443c1ca +#: 58eb996f765f469ba6e962d9307d066f 61f7e632f97e4c1ba8ca2ddcdb29057c +#: 6bada488a7bb4a10b8f47ab8e9befb14 9766cdce84fb4344890b20d5dbd584e2 +#: 9d5f370540304b26bf022deffc61c7a8 acc49e42e4bf4ba5bbbd07ad387e178f +#: b075e5ca75ad4d91b4f50307217fe39a b155a081026f4bb0b2117507b784fb39 +#: dde4a5789125405ea898f6fa5e7c2949 e2d6e4952d604d9486118f66ab51fae6 +#: e9bb574363274b4db768068aba062655 +msgid "Returns" +msgstr "" + +#: fa0f88cd42ae4b07906f3d6fe976a23a of pybricks._common.Keypad.pressed:3 +msgid "Set of pressed buttons." +msgstr "" + +#: ../../main/hubs/primehub.rst:84 eee85ecb6af7447eb6dd8b0c8e86c315 +msgid ".. image:: /blockimg/pybricks_blockHubStopButton_PrimeHub.svg" +msgstr "" + +#: ../../main/hubs/primehub.rst:86 40b1730c2c2e49258031a11dd85d9988 +msgid ".. image:: /blockimg/pybricks_blockHubStopButton_PrimeHub_none.svg" +msgstr "" + +#: b0f0e5c3a2cf40dc9bc21cdd2ffc80c0 of +#: pybricks._common.System.set_stop_button:1 +msgid "Sets the button or button combination that stops a running script." +msgstr "" + +#: a273aee8b3e44a4b921f9bfb607e918b of +#: pybricks._common.System.set_stop_button:3 +msgid "" +"Normally, the center button is used to stop a running script. You can " +"change or disable this behavior in order to use the button for other " +"purposes." +msgstr "" + +#: 7b6acff7fe0f4f40b4278ea2da7821a6 of +#: pybricks._common.System.set_stop_button:7 +msgid "" +"A button such as :attr:`Button.CENTER " +"`, or a tuple of multiple buttons. " +"Choose ``None`` to disable the stop button altogether. If you do, you can" +" still turn the hub off by holding the center button for three seconds." +msgstr "" + +#: ../../main/hubs/primehub.rst:92 07b42462dd2b4bd5bbf9ca851f07be34 +msgid "Using the IMU" +msgstr "" + +#: ../../main/hubs/primehub.rst:93 f0c41370935249c894a84d394fb8be37 +msgid ".. image:: /blockimg/pybricks_blockImuStatus_PrimeHub_ready.svg" +msgstr "" + +#: ada8609b17034c79b9f0c45f2651ee96 of pybricks._common.IMU.ready:1 +msgid "Checks if the device is calibrated and ready for use." +msgstr "" + +#: e6fbea87f0f24ef7a3255d1bdd44481a of pybricks._common.IMU.ready:3 +msgid "" +"This becomes ``True`` when the robot has been sitting stationary for a " +"few seconds, which allows the device to re-calibrate. It is ``False`` if " +"the hub has just been started, or if it hasn't had a chance to calibrate " +"for more than 10 minutes." +msgstr "" + +#: a6acca58e5f548f99b58034b5cc88ac4 of pybricks._common.IMU.ready:8 +msgid "``True`` if it is ready for use, ``False`` if not." +msgstr "" + +#: ../../main/hubs/primehub.rst:97 f7c0747f4fbf42f1bcd48a5bb6726d41 +msgid ".. image:: /blockimg/pybricks_blockImuStatus_PrimeHub_stationary.svg" +msgstr "" + +#: 0f9017c05d954c75b8c4d9cfb16655ab of pybricks._common.IMU.stationary:1 +msgid "Checks if the device is currently stationary (not moving)." +msgstr "" + +#: 5dd1f2fbae3c434aba76245c553e6a74 of pybricks._common.IMU.stationary:3 +msgid "``True`` if stationary for at least a second, ``False`` if it is moving." +msgstr "" + +#: ../../main/hubs/primehub.rst:101 88c363534a274c51bfa494752e5e2517 +msgid ".. image:: /blockimg/pybricks_blockImuUp_PrimeHub.svg" +msgstr "" + +#: 7e65fa0a3028468b929953b3ef2d87da of +#: pybricks._common.SimpleAccelerometer.up:1 +msgid "Checks which side of the hub currently faces upward." +msgstr "" + +#: 9ad0cc96049140e6ad5fe4833b71af26 of +#: pybricks._common.SimpleAccelerometer.up:3 +msgid "" +"``Side.TOP``, ``Side.BOTTOM``, ``Side.LEFT``, ``Side.RIGHT``, " +"``Side.FRONT`` or ``Side.BACK``." +msgstr "" + +#: ../../main/hubs/primehub.rst:105 4493a764c6ce4811b75b4cb1e1f26a12 +msgid ".. image:: /blockimg/pybricks_blockTilt_PrimeHub_imu.tilt.pitch.svg" +msgstr "" + +#: ../../main/hubs/primehub.rst:107 0138d8b101d046a3bd874a0d75e8671c +msgid ".. image:: /blockimg/pybricks_blockTilt_PrimeHub_imu.tilt.roll.svg" +msgstr "" + +#: c482fc156d7947979e7becee587f1885 of +#: pybricks._common.SimpleAccelerometer.tilt:1 +msgid "" +"Gets the pitch and roll angles. This is relative to the :ref:`user-" +"specified neutral orientation `." +msgstr "" + +#: fe1c5b758acf4db1aeb94c25ae85fd04 of +#: pybricks._common.SimpleAccelerometer.tilt:4 +msgid "" +"The order of rotation is pitch-then-roll. This is equivalent to a " +"positive rotation along the robot y-axis and then a positive rotation " +"along the x-axis." +msgstr "" + +#: fcd57af86765478e92e7c26eeaaa4e69 of +#: pybricks._common.SimpleAccelerometer.tilt:8 +msgid "Tuple of pitch and roll angles in degrees." +msgstr "" + +#: ../../main/hubs/primehub.rst:112 ebbf9cfe8a4a4196881bb49e3074ba2b +msgid ".. image:: /blockimg/pybricks_blockImuAcceleration_PrimeHub.svg" +msgstr "" + +#: 7210b6fa926b4f85bb9102a7e12c4ac0 of +#: pybricks._common.Accelerometer.acceleration:1 +msgid "" +"Gets the acceleration of the device along a given axis in the :ref:`robot" +" reference frame `." +msgstr "" + +#: cb6d1763173f4197be85d1c2b9a6e68b of +#: pybricks._common.Accelerometer.acceleration:4 +msgid "Axis along which the acceleration should be measured." +msgstr "" + +#: 16f6343cda04469c8bab92cee646b3c7 of +#: pybricks._common.Accelerometer.acceleration:8 +msgid "" +"Acceleration along the specified axis. If you specify no axis, this " +"returns a vector of accelerations along all axes." +msgstr "" + +#: ../../main/hubs/primehub.rst:116 e95132563c39478da497367ed9ef6054 +msgid "" +".. image:: " +"/blockimg/pybricks_blockImuRotation_PrimeHub_imu.angular_velocity.svg" +msgstr "" + +#: 0def91ca7b8f40ac9662ac189726e357 of pybricks._common.IMU.angular_velocity:1 +msgid "" +"Gets the angular velocity of the device along a given axis in the " +":ref:`robot reference frame `." +msgstr "" + +#: 513f6369d8ae4e29858fb48e71b3e360 of pybricks._common.IMU.angular_velocity:4 +msgid "Axis along which the angular velocity should be measured." +msgstr "" + +#: dddd523de6004d3d808e20a183e8c734 of pybricks._common.IMU.angular_velocity:8 +msgid "" +"Angular velocity along the specified axis. If you specify no axis, this " +"returns a vector of accelerations along all axes." +msgstr "" + +#: ../../main/hubs/primehub.rst:120 26eeb4a849314b85bd9746b094540326 +msgid ".. image:: /blockimg/pybricks_blockImuGetHeading_PrimeHub.svg" +msgstr "" + +#: 3ac70234bd07491ba055eb8484f10e7e of pybricks._common.IMU.heading:1 +msgid "" +"Gets the heading angle of your robot. A positive value means a clockwise " +"turn." +msgstr "" + +#: 142cdf832b0d4fe7938f4b92b463f9f4 of pybricks._common.IMU.heading:4 +msgid "" +"The heading is 0 when your program starts. The value continues to grow " +"even as the robot turns more than 180 degrees. It does not wrap around to" +" -180 like it does in some apps." +msgstr "" + +#: 5e9ca72ea7b84fb5bbca9f30a1a3d23c of pybricks._common.IMU.heading:9 +msgid "" +"*For now, this method only keeps track of the heading while the robot is " +"on a flat surface.*" +msgstr "" + +#: 6c44948ff7714f06b7f99f2eefb0bde4 of pybricks._common.IMU.heading:12 +msgid "" +"This means that the value is no longer correct if you lift it from the " +"table. To solve this, you can call ``reset_heading`` to reset the heading" +" to a known value *after* you put it back down. For example, you could " +"align your robot with the side of the competition table and reset the " +"heading 90 degrees as the new starting point." +msgstr "" + +#: 0875aea728e140819d04786168da4692 of pybricks._common.IMU.heading:19 +msgid "Heading angle relative to starting orientation." +msgstr "" + +#: ../../main/hubs/primehub.rst:124 055ca5ad9edb41d29209c4b68ec6cf87 +msgid ".. image:: /blockimg/pybricks_blockImuResetHeading_PrimeHub.svg" +msgstr "" + +#: 3d92f9281d224bb69c92798a3c1ebd89 of pybricks._common.IMU.reset_heading:1 +msgid "Resets the accumulated heading angle of the robot." +msgstr "" + +#: 2d4004c06e994da9baaf43ed4d325901 of pybricks._common.IMU.reset_heading:3 +msgid "Value to which the heading should be reset." +msgstr "" + +#: ../../main/hubs/primehub.rst:128 247edb89c4f2445c9fb37c6ee00ee74c +msgid ".. image:: /blockimg/pybricks_blockImuRotation_PrimeHub_imu.rotation.svg" +msgstr "" + +#: c219522e93964fd5a0cd3e38956670bf of pybricks._common.IMU.rotation:1 +msgid "" +"Gets the rotation of the device along a given axis in the :ref:`robot " +"reference frame `." +msgstr "" + +#: ac488762362a4ad8bcc27df3ec4213bd of pybricks._common.IMU.rotation:4 +msgid "" +"This value is useful if your robot *only* rotates along the requested " +"axis. For general three-dimensional motion, use the ``orientation()`` " +"method instead." +msgstr "" + +#: 24e230a36eca47d98f1b5562a930faf8 of pybricks._common.IMU.rotation:8 +msgid "The value starts counting from ``0`` when you initialize this class." +msgstr "" + +#: 5f06298612f34f0dbfac0ac077f86251 of pybricks._common.IMU.rotation:10 +msgid "Axis along which the rotation should be measured." +msgstr "" + +#: 920ad1c356eb4ff8a859625a855492e1 of pybricks._common.IMU.rotation:13 +msgid "The rotation angle." +msgstr "" + +#: c9fb21ba39bd46a495cd7860161e1dbd of pybricks._common.IMU.orientation:1 +msgid "" +"Gets the three-dimensional orientation of the robot in the :ref:`robot " +"reference frame `." +msgstr "" + +#: fb617471181c4773a4db956e7f76c037 of pybricks._common.IMU.orientation:4 +msgid "" +"It returns a rotation matrix whose columns represent the ``X``, ``Y``, " +"and ``Z`` axis of the robot." +msgstr "" + +#: bb98c26a40e9418888059bc809313794 of pybricks._common.IMU.orientation:7 +msgid "This method is not yet implemented." +msgstr "" + +#: 40b3e47b965546daa8bdc704cfceba36 of pybricks._common.IMU.orientation:9 +msgid "The rotation matrix." +msgstr "" + +#: 4638214ed646413f816b624959844f41 of pybricks._common.IMU.settings:1 +msgid "" +"Configures the IMU settings. If no arguments are given, this returns the " +"current values." +msgstr "" + +#: 9c280bca1e3b43c3bf3c562f92a34f7e of pybricks._common.IMU.settings:4 +msgid "" +"The ``angular_velocity_threshold`` and ``acceleration_threshold`` define " +"when the hub is considered stationary. If all measurements stay below " +"these thresholds for one second, the IMU will recalibrate itself." +msgstr "" + +#: 15b9b356da2f47678c785e574a53526c of pybricks._common.IMU.settings:9 +msgid "" +"In a noisy room with high ambient vibrations (such as a competition " +"hall), it is recommended to increase the thresholds slightly to give your" +" robot the chance to calibrate. To verify that your settings are working " +"as expected, test that the ``stationary()`` method gives ``False`` if " +"your robot is moving, and ``True`` if it is sitting still for at least a " +"second." +msgstr "" + +#: a7e01763236f4fa6879564de56a7301d of pybricks._common.IMU.settings:16 +msgid "The threshold for angular velocity. The default value is 1.5 deg/s." +msgstr "" + +#: 12fe302ddebe457aa2c5b0e0dd8e60e9 of pybricks._common.IMU.settings:19 +msgid "The threshold for angular velocity. The default value is 250 mm/s²." +msgstr "" + +#: ../../main/hubs/primehub.rst:137 5e01f4cf0498439ca54aab8256a0f971 +msgid "Using the speaker" +msgstr "" + +#: fe8dd2f9f56449aa83d7178c11c346ea of pybricks._common.Speaker.volume:1 +msgid "Gets or sets the speaker volume." +msgstr "" + +#: 5f871012238c4e25863112e78eaa3d7b of pybricks._common.Speaker.volume:3 +msgid "If no volume is given, this method returns the current volume." +msgstr "" + +#: 55c9c407d30d4a2ab666a7e72ad56794 of pybricks._common.Speaker.volume:5 +msgid "Volume of the speaker in the 0-100 range." +msgstr "" + +#: 9563d21e80074d74bce97cfb24557202 of pybricks._common.Speaker.beep:1 +msgid "Play a beep/tone." +msgstr "" + +#: e28f7caf28d84bccaa73c154ab2959e6 of pybricks._common.Speaker.beep:3 +msgid "Frequency of the beep in the 64-24000 Hz range." +msgstr "" + +#: e71780ee23d44ac4ac764586de86f6fc of pybricks._common.Speaker.beep:5 +msgid "" +"Duration of the beep. If the duration is less than 0, then the method " +"returns immediately and the frequency play continues to play " +"indefinitely." +msgstr "" + +#: 7ce5f92e7c8040ce8f89c8e6193e3979 of pybricks._common.Speaker.play_notes:1 +msgid "" +"Plays a sequence of musical notes. For example: ``[\"C4/4\", \"C4/4\", " +"\"G4/4\", \"G4/4\"]``." +msgstr "" + +#: 15ee13489ccd444ca5bf50763bda3c94 of pybricks._common.Speaker.play_notes:4 +msgid "Each note is a string with the following format:" +msgstr "" + +#: 0b5dbbc153b540ad884427b69673d618 of pybricks._common.Speaker.play_notes:6 +msgid "" +"The first character is the name of the note, ``A`` to ``G`` or ``R`` for " +"a rest." +msgstr "" + +#: 0678399f2fc049009bff2c332aa21f29 of pybricks._common.Speaker.play_notes:8 +msgid "" +"Note names can also include an accidental ``#`` (sharp) or ``b`` (flat). " +"``B#``/``Cb`` and ``E#``/``Fb`` are not allowed." +msgstr "" + +#: 305469d8a3f740ebad1927f8af4c1841 of pybricks._common.Speaker.play_notes:11 +msgid "" +"The note name is followed by the octave number ``2`` to ``8``. For " +"example ``C4`` is middle C. The octave changes to the next number at the " +"note C, for example, ``B3`` is the note below middle C (``C4``)." +msgstr "" + +#: dbc6a18340d54d3a827ce252ed22c799 of pybricks._common.Speaker.play_notes:15 +msgid "" +"The octave is followed by ``/`` and a number that indicates the size of " +"the note. For example ``/4`` is a quarter note, ``/8`` is an eighth note " +"and so on." +msgstr "" + +#: e89db57cdcf84dc89072b38508bb99f8 of pybricks._common.Speaker.play_notes:18 +msgid "" +"This can optionally followed by a ``.`` to make a dotted note. Dotted " +"notes are 1-1/2 times as long as notes without a dot." +msgstr "" + +#: 1dc0a9e0b86f44f6adf96e9b776b9d60 of pybricks._common.Speaker.play_notes:21 +msgid "" +"The note can optionally end with a ``_`` which is a tie or a slur. This " +"causes there to be no pause between this note and the next note." +msgstr "" + +#: 7361d828687c4f3091c5c38d8c0320c4 of pybricks._common.Speaker.play_notes:25 +msgid "A sequence of notes to be played." +msgstr "" + +#: e6859fd9a05f48eeaf6352ae676f5a5f of pybricks._common.Speaker.play_notes:27 +msgid "Beats per minute. A quarter note is one beat." +msgstr "" + +#: ../../main/hubs/primehub.rst:145 56f6380e1531471db353e3f598213826 +msgid "Using connectionless Bluetooth messaging" +msgstr "" + +#: ../../main/hubs/primehub.rst:146 4fe5314067954f449f83b8d97bc3d9cb +msgid ".. image:: /blockimg/pybricks_blockBleBroadcast_PrimeHub.svg" +msgstr "" + +#: 52a0dc8fa41442428adf2fb5c56ebb68 of pybricks._common.BLE.broadcast:1 +msgid "" +"Starts broadcasting the given data on the ``broadcast_channel`` you " +"selected when initializing the hub." +msgstr "" + +#: 3fb5e06692ca448d91297baf609e5d2f of pybricks._common.BLE.broadcast:4 +msgid "" +"Data may be of type ``int``, ``float``, ``str``, ``bytes``, ``True``, or " +"``False``, or a list thereof." +msgstr "" + +#: 43156a99298d488a801fa5c1ba9153ad of pybricks._common.BLE.broadcast:7 +msgid "" +"Choose ``None`` to stop broadcasting. This helps improve performance when" +" you don't need the broadcast feature, especially when observing at the " +"same time." +msgstr "" + +#: cd0c8997b23c424a9d567b4db1abbdf6 of pybricks._common.BLE.broadcast:11 +msgid "" +"The total data size is quite limited (26 bytes). ``True`` and ``False`` " +"take 1 byte each. ``float`` takes 5 bytes. ``int`` takes 2 to 5 bytes " +"depending on how big the number is. ``str`` and ``bytes`` take the number" +" of bytes in the object plus one extra byte." +msgstr "" + +#: bb6e1e15d5aa4b399e59c29ee19b6dda of pybricks._common.BLE.broadcast:16 +msgid "" +"When multitasking, only one task can broadcast at a time. To broadcast " +"information from multiple tasks (or block stacks), you could use a " +"dedicated separate task that broadcast new values when one or more " +"variables change." +msgstr "" + +#: 7c66b95db51c468eab7919a17004d444 of pybricks._common.BLE.broadcast:21 +msgid "The value or values to be broadcast." +msgstr "" + +#: ../../main/hubs/primehub.rst:150 cead8998764d47e7b4436c6238fb6aa8 +msgid ".. image:: /blockimg/pybricks_blockBleObserve_PrimeHub.svg" +msgstr "" + +#: ebb99e8633c9479ab1f9cfa574bcb385 of pybricks._common.BLE.observe:1 +msgid "Retrieves the last observed data for a given channel." +msgstr "" + +#: aab41d0549114c378033caaecd2cad2f of pybricks._common.BLE.observe:3 +msgid "" +"Receiving data is more reliable when the hub is not connected to a " +"computer or other devices at the same time." +msgstr "" + +#: 967e367c845b4d7fb98bbde0f5b14937 of pybricks._common.BLE.observe:6 +msgid "The channel to observe (0 to 255)." +msgstr "" + +#: 9474e1197917409b8930d322968fcfbb of pybricks._common.BLE.observe:9 +msgid "" +"The received data in the same format as it was sent, or ``None`` if no " +"recent data is available." +msgstr "" + +#: 4a3796071b2e4d6ba436d0c537593b4f of pybricks._common.BLE.signal_strength:1 +msgid "Gets the average signal strength in dBm for the given channel." +msgstr "" + +#: 6d2490d30ceb42c4b18515da2d4f9627 of pybricks._common.BLE.signal_strength:3 +msgid "" +"This indicates how near the broadcasting device is. Nearby devices may " +"have a signal strength around -40 dBm, while far away devices might have " +"a signal strength around -70 dBm." +msgstr "" + +#: fd4f5281153641e689f66711db3e66e4 of pybricks._common.BLE.signal_strength:7 +msgid "The channel number (0 to 255)." +msgstr "" + +#: ceb689ba5796459f9df38387ff6dc5e3 of pybricks._common.BLE.signal_strength:10 +msgid "The signal strength or ``-128`` if there is no recent observed data." +msgstr "" + +#: 0d24c85bc7c54d1a9e72d1fa19a43c87 of pybricks._common.BLE.version:1 +msgid "Gets the firmware version from the Bluetooth chip." +msgstr "" + +#: ../../main/hubs/primehub.rst:159 7d42db760fc04e0fb3be6683645eb42d +msgid "Using the battery" +msgstr "" + +#: ../../main/hubs/primehub.rst:160 7cccce150bdd47adb4714d1a38a8c879 +msgid "" +".. image:: " +"/blockimg/pybricks_blockBatteryMeasure_PrimeHub_battery.voltage.svg" +msgstr "" + +#: e11df868ac1d47cba85ca79663946220 of pybricks._common.Battery.voltage:1 +msgid "Gets the voltage of the battery." +msgstr "" + +#: b734de0693784036aff1aeef4a71de19 of pybricks._common.Battery.voltage:3 +msgid "Battery voltage." +msgstr "" + +#: ../../main/hubs/primehub.rst:164 e7ce3ef73f8c4f27a34f131ccb4e921b +msgid "" +".. image:: " +"/blockimg/pybricks_blockBatteryMeasure_PrimeHub_battery.current.svg" +msgstr "" + +#: 664ca0dc22244f26af1ef6073ba9849c of pybricks._common.Battery.current:1 +msgid "Gets the current supplied by the battery." +msgstr "" + +#: e2982d0e245f42a989cb89b6dfb6d475 of pybricks._common.Battery.current:3 +msgid "Battery current." +msgstr "" + +#: ../../main/hubs/primehub.rst:169 44965301796e483c8329bef230b59d1d +msgid "Getting the charger status" +msgstr "" + +#: fe82135cb5bb45aaa50a51a62cc465dc of pybricks._common.Charger.connected:1 +msgid "Checks whether a charger is connected via USB." +msgstr "" + +#: 934fa6240c4a497895fcc3590cebbe13 of pybricks._common.Charger.connected:3 +msgid "``True`` if a charger is connected, ``False`` if not." +msgstr "" + +#: 3486eedab52d4442a3bc1f1826f2e30e of pybricks._common.Charger.current:1 +msgid "Gets the charging current." +msgstr "" + +#: 606a950f20254a8fa8220db99e5c4c89 of pybricks._common.Charger.current:3 +msgid "Charging current." +msgstr "" + +#: 69d5c3eea18b4034890e0f993f105711 of pybricks._common.Charger.status:1 +msgid "" +"Gets the status of the battery charger, represented by one of the " +"following values. This corresponds to the battery light indicator right " +"next to the USB port." +msgstr "" + +#: 5a579c5a232441379c37e97d0eb39dfa of pybricks._common.Charger.status:5 +msgid "Not charging (light is off)." +msgstr "" + +#: 92a78b74f5d142dc8e069f5360dbb8a3 of pybricks._common.Charger.status:6 +msgid "Charging (light is red)." +msgstr "" + +#: 196f1be7314b4938bef4dd1cfdd2cdaa of pybricks._common.Charger.status:7 +msgid "Charging is complete (light is green)." +msgstr "" + +#: 42246b0f64ad47999f9e67f1befe2035 of pybricks._common.Charger.status:8 +msgid "There is a problem with the charger (light is yellow)." +msgstr "" + +#: c078b1ba7eca428c8a4040e71612f904 of pybricks._common.Charger.status:10 +msgid "Status value." +msgstr "" + +#: ../../main/hubs/primehub.rst:177 b9154398bf294e8bbda3af698a55dcff +msgid "System control" +msgstr "" + +#: 8b0e089d6bef4787ab6a290f6618a79b of pybricks._common.System.name:1 +msgid "Gets the hub name. This is the name you see when connecting via Bluetooth." +msgstr "" + +#: d4a5a9eb2a9d481b8f92b1412a43490d of pybricks._common.System.name:4 +msgid "The hub name." +msgstr "" + +#: c2deee8c96aa47f09255ec3002a1b0fe of pybricks._common.System.storage:1 +msgid "Reads or writes binary data to persistent storage." +msgstr "" + +#: ee3dede377d6416680f9cac5f5834c38 of pybricks._common.System.storage:3 +msgid "" +"This lets you store data that can be used the next time you run the " +"program." +msgstr "" + +#: 285f78c46fa94afe9fc659fcbc296d64 of pybricks._common.System.storage:6 +msgid "" +"The data will be saved to flash memory when you turn the hub off " +"normally. It will not be saved if the batteries are removed *while* the " +"hub is still running." +msgstr "" + +#: 14fb80c51176449c9ef3f1e0ab81c737 of pybricks._common.System.storage:10 +msgid "" +"Once saved, the data will remain available even after you remove the " +"batteries." +msgstr "" + +#: ff3a3b3d1a4f4c6f97fa86e65ccb64a3 of pybricks._common.System.storage:13 +msgid "The offset from the start of the user storage memory, in bytes." +msgstr "" + +#: 41932c0c5b3949a6975164724eb27dc8 of pybricks._common.System.storage:15 +msgid "The number of bytes to read. Omit this argument when writing." +msgstr "" + +#: 3f51b9a27c3d4dffae092840af11f466 of pybricks._common.System.storage:17 +msgid "The bytes to write. Omit this argument when reading." +msgstr "" + +#: 8f30e0de61c444b1a5f045861220068a of pybricks._common.System.storage:20 +msgid "The bytes read if reading, otherwise ``None``." +msgstr "" + +#: ../../main/hubs/primehub.rst 2f7433d25e7d47f48ab86a6c5c724da5 +msgid "Raises" +msgstr "" + +#: fe33fd74f8da41ab8a457ad9685ad1d5 of pybricks._common.System.storage:22 +msgid "If you try to read or write data outside of the allowed range." +msgstr "" + +#: ../../main/hubs/primehub.rst:182 7bcb4b49148e472cb7ef3e08f9fe8f98 +msgid "You can store up to 512 bytes of data on this hub." +msgstr "" + +#: ../../main/hubs/primehub.rst:184 565ed3e4027c43bd9b9ffd744fc05b3b +msgid ".. image:: /blockimg/pybricks_blockHubShutdown_PrimeHub.svg" +msgstr "" + +#: 81901d84fcc646b985953a33daa61a50 of pybricks._common.System.shutdown:1 +msgid "Stops your program and shuts the hub down." +msgstr "" + +#: 78c1964226624fd490223730b4859198 of pybricks._common.System.reset_reason:1 +msgid "" +"Finds out how and why the hub (re)booted. This can be useful to diagnose " +"some problems." +msgstr "" + +#: e9a652d75411453a8eece7066890e0d6 of pybricks._common.System.reset_reason:4 +msgid "" +"* ``0`` if the hub was previously powered off normally. * ``1`` if the " +"hub rebooted automatically, like after a firmware update. * ``2`` if " +"the hub previously crashed due to a watchdog timeout, which indicates a" +" firmware issue." +msgstr "" + +#: 2ef18b2fbeaa4f7b9b3d5818b909cc82 of pybricks._common.System.reset_reason:6 +msgid "``0`` if the hub was previously powered off normally." +msgstr "" + +#: bdd4d9b285304c4c90a515006b683abb of pybricks._common.System.reset_reason:8 +msgid "``1`` if the hub rebooted automatically, like after a firmware update." +msgstr "" + +#: b631eeacab2a4122be6dacbfcae6deea of pybricks._common.System.reset_reason:10 +msgid "" +"``2`` if the hub previously crashed due to a watchdog timeout, which " +"indicates a firmware issue." +msgstr "" + +#: ../../main/hubs/primehub.rst:190 8de50009b9744bba87c77c777933b295 +msgid "" +"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``." +msgstr "" + +#: ../../main/hubs/primehub.rst:195 a715df03670a447a861fe165b43187cf +msgid "Status light examples" +msgstr "" + +#: ../../main/hubs/primehub.rst:198 1b5afeb8d9894c9093a676cc1306d20b +msgid "Turning the light on and off" +msgstr "" + +#: ../../main/hubs/primehub.rst:200 81526efc00ec42198453df9884c704a6 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Turn the light on and off 5 times.\n" +"for i in range(5):\n" +"\n" +" hub.light.on(Color.RED)\n" +" wait(1000)\n" +"\n" +" hub.light.off()\n" +" wait(500)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:204 ebd9e8d19dc2400c9f36494aebd19f57 +msgid "Changing brightness and using custom colors" +msgstr "" + +#: ../../main/hubs/primehub.rst:206 e820ee24bc3a4e81b01f72f6f777d482 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Show the color at 30% brightness.\n" +"hub.light.on(Color.RED * 0.3)\n" +"\n" +"wait(2000)\n" +"\n" +"# Use your own custom color.\n" +"hub.light.on(Color(h=30, s=100, v=50))\n" +"\n" +"wait(2000)\n" +"\n" +"# Go through all the colors.\n" +"for hue in range(360):\n" +" hub.light.on(Color(hue))\n" +" wait(10)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:210 58b5723c72054ba9a5ab9a713c345049 +msgid "Making the light blink" +msgstr "" + +#: ../../main/hubs/primehub.rst:212 7abc28a8edd64044852e1c3181279eaf +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub\n" +"hub = PrimeHub()\n" +"\n" +"# Keep blinking red on and off.\n" +"hub.light.blink(Color.RED, [500, 500])\n" +"\n" +"wait(10000)\n" +"\n" +"# Keep blinking green slowly and then quickly.\n" +"hub.light.blink(Color.GREEN, [500, 500, 50, 900])\n" +"\n" +"wait(10000)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:216 87bd986fd079420cae2d0df3192d8680 +msgid "Creating light animations" +msgstr "" + +#: ../../main/hubs/primehub.rst:218 53552909ebb34e7f9ca2c2bbe594a68e +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"from umath import sin, pi\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Make an animation with multiple colors.\n" +"hub.light.animate([Color.RED, Color.GREEN, Color.NONE], interval=500)\n" +"\n" +"wait(10000)\n" +"\n" +"# Make the color RED grow faint and bright using a sine pattern.\n" +"hub.light.animate([Color.RED * (0.5 * sin(i / 15 * pi) + 0.5) for i in " +"range(30)], 40)\n" +"\n" +"wait(10000)\n" +"\n" +"# Cycle through a rainbow of colors.\n" +"hub.light.animate([Color(h=i * 8) for i in range(45)], interval=40)\n" +"\n" +"wait(10000)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:222 a11f76e7a7ca43f9969714e9ca568aa3 +msgid "Matrix display examples" +msgstr "" + +#: ../../main/hubs/primehub.rst:225 ba5d416cc8a3443a9eb738e5978115a2 +msgid "Displaying images" +msgstr "" + +#: ../../main/hubs/primehub.rst:227 34f287520a0142da8c4fd35609a245ab +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.tools import wait\n" +"from pybricks.parameters import Icon\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Display a big arrow pointing up.\n" +"hub.display.icon(Icon.UP)\n" +"\n" +"# Wait so we can see what is displayed.\n" +"wait(2000)\n" +"\n" +"# Display a heart at half brightness.\n" +"hub.display.icon(Icon.HEART / 2)\n" +"\n" +"# Wait so we can see what is displayed.\n" +"wait(2000)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:231 ce75eceb844c4dcf93781ecc002eb1e7 +msgid "Displaying numbers" +msgstr "" + +#: ../../main/hubs/primehub.rst:233 6173252fb86c4da6acf2b95974b592c6 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Count from 0 to 99.\n" +"for i in range(100):\n" +" hub.display.number(i)\n" +" wait(200)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:237 7c71a669ae844a6fac9a7ec4dc7a256f +msgid "Displaying text" +msgstr "" + +#: ../../main/hubs/primehub.rst:239 461f69d6212747c1a3548e68e0f55c86 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Display the letter A for two seconds.\n" +"hub.display.char(\"A\")\n" +"wait(2000)\n" +"\n" +"# Display text, one letter at a time.\n" +"hub.display.text(\"Hello, world!\")\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:243 806b187125aa4296821b75a0f8af5d85 +msgid "Displaying individual pixels" +msgstr "" + +#: ../../main/hubs/primehub.rst:245 aea18eb166834f4dabfe274052465463 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Turn on the pixel at row 1, column 2.\n" +"hub.display.pixel(1, 2)\n" +"wait(2000)\n" +"\n" +"# Turn on the pixel at row 2, column 4, at 50% brightness.\n" +"hub.display.pixel(2, 4, 50)\n" +"wait(2000)\n" +"\n" +"# Turn off the pixel at row 1, column 2.\n" +"hub.display.pixel(1, 2, 0)\n" +"wait(2000)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:249 da80bde6ca564c03ba973c5374541b6b +msgid "Changing the display orientation" +msgstr "" + +#: ../../main/hubs/primehub.rst:251 3c6309800e284feca5844408ff8f0b20 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.tools import wait\n" +"from pybricks.parameters import Side\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Rotate the display. Now right is up.\n" +"hub.display.orientation(up=Side.RIGHT)\n" +"\n" +"# Display a number. This will be shown sideways.\n" +"hub.display.number(23)\n" +"\n" +"# Wait so we can see what is displayed.\n" +"wait(10000)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:254 64310a271a044f01ba2ddc7b88d17ac2 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.parameters import Icon\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"while True:\n" +"\n" +" # Check which side of the hub is up.\n" +" up_side = hub.imu.up()\n" +"\n" +" # Use this side to set the display orientation.\n" +" hub.display.orientation(up_side)\n" +"\n" +" # Display something, like an arrow.\n" +" hub.display.icon(Icon.UP)\n" +"\n" +" wait(10)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:260 784303cbfd6b47a4a4689357fad9f9e4 +msgid "Making your own images" +msgstr "" + +#: ../../main/hubs/primehub.rst:262 04fd5ed85462481a942c179ee1445c2b +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.tools import wait, Matrix\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Make a square that is bright on the outside and faint in the middle.\n" +"SQUARE = Matrix(\n" +" [\n" +" [100, 100, 100, 100, 100],\n" +" [100, 50, 50, 50, 100],\n" +" [100, 50, 0, 50, 100],\n" +" [100, 50, 50, 50, 100],\n" +" [100, 100, 100, 100, 100],\n" +" ]\n" +")\n" +"\n" +"# Display the square.\n" +"hub.display.icon(SQUARE)\n" +"wait(3000)\n" +"\n" +"# Make an image using a Python list comprehension. In this image, the\n" +"# brightness of each pixel is the sum of the row and column index. So the" +"\n" +"# light is faint in the top left and bright in the bottom right.\n" +"GRADIENT = Matrix([[(r + c) for c in range(5)] for r in range(5)]) * 12.5" +"\n" +"\n" +"# Display the generated gradient.\n" +"hub.display.icon(GRADIENT)\n" +"wait(3000)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:266 ea7b5cc5d77644ca8507aa273df03727 +msgid "Combining icons to make expressions" +msgstr "" + +#: ../../main/hubs/primehub.rst:268 98a479feb4f24413bf5663da2f16888b +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.parameters import Icon, Side\n" +"from pybricks.tools import wait\n" +"\n" +"from urandom import randint\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"hub.display.orientation(up=Side.RIGHT)\n" +"\n" +"while True:\n" +"\n" +" # Start with random left brow: up or down.\n" +" if randint(0, 100) < 70:\n" +" brows = Icon.EYE_LEFT_BROW * 0.5\n" +" else:\n" +" brows = Icon.EYE_LEFT_BROW_UP * 0.5\n" +"\n" +" # Add random right brow: up or down.\n" +" if randint(0, 100) < 70:\n" +" brows += Icon.EYE_RIGHT_BROW * 0.5\n" +" else:\n" +" brows += Icon.EYE_RIGHT_BROW_UP * 0.5\n" +"\n" +" for i in range(3):\n" +" # Display eyes open plus the random brows.\n" +" hub.display.icon(Icon.EYE_LEFT + Icon.EYE_RIGHT + brows)\n" +" wait(2000)\n" +"\n" +" # Display eyes blinked plus the random brows.\n" +" hub.display.icon(Icon.EYE_LEFT_BLINK * 0.7 + Icon.EYE_RIGHT_BLINK" +" * 0.7 + brows)\n" +" wait(200)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:272 ba6935b91f424d8982e8ad7bb3eb5bec +msgid "Displaying animations" +msgstr "" + +#: ../../main/hubs/primehub.rst:274 b64081437fa44f078500ec80200fe559 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.parameters import Icon\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Turn the hub light off (optional).\n" +"hub.light.off()\n" +"\n" +"# Create a list of intensities from 0 to 100 and back.\n" +"brightness = list(range(0, 100, 4)) + list(range(100, 0, -4))\n" +"\n" +"# Create an animation of the heart icon with changing brightness.\n" +"hub.display.animate([Icon.HEART * i / 100 for i in brightness], 30)\n" +"\n" +"# The animation repeats in the background. Here we just wait.\n" +"while True:\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:278 235878862ab047c380187a102b4656e3 +msgid "Button examples" +msgstr "" + +#: ../../main/hubs/primehub.rst:281 c89298fac8294a41a5e03a4517c6daf6 +msgid "Detecting button presses" +msgstr "" + +#: ../../main/hubs/primehub.rst:283 c1547171ebdb4c36bdad1524211b76d5 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.parameters import Button, Icon\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Wait for any button to be pressed, and save the result.\n" +"pressed = []\n" +"while not any(pressed):\n" +" pressed = hub.buttons.pressed()\n" +" wait(10)\n" +"\n" +"# Display a circle.\n" +"hub.display.icon(Icon.CIRCLE)\n" +"\n" +"# Wait for all buttons to be released.\n" +"while any(hub.buttons.pressed()):\n" +" wait(10)\n" +"\n" +"# Display an arrow to indicate which button was pressed.\n" +"if Button.LEFT in pressed:\n" +" hub.display.icon(Icon.ARROW_LEFT_DOWN)\n" +"elif Button.RIGHT in pressed:\n" +" hub.display.icon(Icon.ARROW_RIGHT_DOWN)\n" +"elif Button.BLUETOOTH in pressed:\n" +" hub.display.icon(Icon.ARROW_RIGHT_UP)\n" +"\n" +"wait(3000)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:287 c5dcd1e3312f4785a2ae17f17cc244e0 +msgid "IMU examples" +msgstr "" + +#: ../../main/hubs/primehub.rst:290 1c2476cf19e943c7b7d9c3e52c0c48a6 +msgid "Testing which way is up" +msgstr "" + +#: ../../main/hubs/primehub.rst:292 5b955aecc86f47d897f77e5e8823b24b +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.parameters import Color, Side\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Define colors for each side in a dictionary.\n" +"SIDE_COLORS = {\n" +" Side.TOP: Color.RED,\n" +" Side.BOTTOM: Color.BLUE,\n" +" Side.LEFT: Color.GREEN,\n" +" Side.RIGHT: Color.YELLOW,\n" +" Side.FRONT: Color.MAGENTA,\n" +" Side.BACK: Color.BLACK,\n" +"}\n" +"\n" +"# Keep updating the color based on detected up side.\n" +"while True:\n" +"\n" +" # Check which side of the hub is up.\n" +" up_side = hub.imu.up()\n" +"\n" +" # Change the color based on the side.\n" +" hub.light.on(SIDE_COLORS[up_side])\n" +"\n" +" # Also print the result.\n" +" print(up_side)\n" +" wait(50)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:297 8cf823cf373c415ebc2e03234d3716ea +msgid "Reading the tilt value" +msgstr "" + +#: ../../main/hubs/primehub.rst:299 2dc8757a3641482eba59ba0769bc0874 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"while True:\n" +" # Read the tilt values.\n" +" pitch, roll = hub.imu.tilt()\n" +"\n" +" # Print the result.\n" +" print(pitch, roll)\n" +" wait(200)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:303 42485f2405204d2d8b9b9ef5627d93c8 +msgid "Using a custom hub orientation" +msgstr "" + +#: ../../main/hubs/primehub.rst:305 7fbe7a9bf7694efe876635f6ec58da73 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.tools import wait\n" +"from pybricks.parameters import Axis\n" +"\n" +"# Initialize the hub. In this case, specify that the hub is mounted with " +"the\n" +"# top side facing forward and the front side facing to the right.\n" +"# For example, this is how the hub is mounted in BLAST in the 51515 set.\n" +"hub = PrimeHub(top_side=Axis.X, front_side=-Axis.Y)\n" +"\n" +"while True:\n" +" # Read the tilt values. Now, the values are 0 when BLAST stands " +"upright.\n" +" # Leaning forward gives positive pitch. Leaning right gives positive " +"roll.\n" +" pitch, roll = hub.imu.tilt()\n" +"\n" +" # Print the result.\n" +" print(pitch, roll)\n" +" wait(200)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:309 5894a5127dd04543be712699dc2b306b +msgid "Reading acceleration and angular velocity vectors" +msgstr "" + +#: ../../main/hubs/primehub.rst:311 5ffe41fa536b44e681a7c0874bfa0d70 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Get the acceleration vector in g's.\n" +"print(hub.imu.acceleration() / 9810)\n" +"\n" +"# Get the angular velocity vector.\n" +"print(hub.imu.angular_velocity())\n" +"\n" +"# Wait so we can see what we printed\n" +"wait(5000)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:315 6fbbb8205df445ca8e5dd0d46dc4446d +msgid "Reading acceleration and angular velocity on one axis" +msgstr "" + +#: ../../main/hubs/primehub.rst:317 d6b457b2ff474baf9eee16eaebb28652 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.tools import wait\n" +"from pybricks.parameters import Axis\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Get the acceleration or angular_velocity along a single axis.\n" +"# If you need only one value, this is more memory efficient.\n" +"while True:\n" +"\n" +" # Read the forward acceleration.\n" +" forward_acceleration = hub.imu.acceleration(Axis.X)\n" +"\n" +" # Read the yaw rate.\n" +" yaw_rate = hub.imu.angular_velocity(Axis.Z)\n" +"\n" +" # Print the yaw rate.\n" +" print(yaw_rate)\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:322 c5fa90fc16dc44ca95d0b2f4b5535ddf +msgid "Bluetooth examples" +msgstr "" + +#: ../../main/hubs/primehub.rst:325 9ecb224cf3b645af93150a5a6705d202 +msgid "Broadcasting data to other hubs" +msgstr "" + +#: ../../main/hubs/primehub.rst:327 adf6e6c858a442808e0b3e912283b903 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub(broadcast_channel=1)\n" +"\n" +"# Initialize the motors.\n" +"left_motor = Motor(Port.A)\n" +"right_motor = Motor(Port.B)\n" +"\n" +"while True:\n" +" # Read the motor angles to be sent to the other hub.\n" +" left_angle = left_motor.angle()\n" +" right_angle = right_motor.angle()\n" +"\n" +" # Set the broadcast data and start broadcasting if not already doing " +"so.\n" +" data = (left_angle, right_angle)\n" +" hub.ble.broadcast(data)\n" +"\n" +" # Broadcasts are only sent every 100 milliseconds, so there is no " +"reason\n" +" # to call the broadcast() method more often than that.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:331 479df91df61a413bb0453c832c24e679 +msgid "Observing data from other hubs" +msgstr "" + +#: ../../main/hubs/primehub.rst:333 e354ee7893924e22ae4d6fb7b88d2c56 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Color, Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub(observe_channels=[1])\n" +"\n" +"# Initialize the motors.\n" +"left_motor = Motor(Port.A)\n" +"right_motor = Motor(Port.B)\n" +"\n" +"while True:\n" +" # Receive broadcast from the other hub.\n" +"\n" +" data = hub.ble.observe(1)\n" +"\n" +" if data is None:\n" +" # No data has been received in the last 1 second.\n" +" hub.light.on(Color.RED)\n" +" else:\n" +" # Data was received and is less that one second old.\n" +" hub.light.on(Color.GREEN)\n" +"\n" +" # *data* contains the same values in the same order\n" +" # that were passed to hub.ble.broadcast() on the\n" +" # other hub.\n" +" left_angle, right_angle = data\n" +"\n" +" # Make the motors on this hub mirror the position of the\n" +" # motors on the other hub.\n" +" left_motor.track_target(left_angle)\n" +" right_motor.track_target(right_angle)\n" +"\n" +" # Broadcasts are only sent every 100 milliseconds, so there is\n" +" # no reason to call the observe() method more often than that.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:338 f9c02884fe7346ed8b889e7f3f6dd16e +msgid "System examples" +msgstr "" + +#: ../../main/hubs/primehub.rst:341 fce45a93ad15463d81a7770b55938e68 +msgid "Changing the stop button combination" +msgstr "" + +#: ../../main/hubs/primehub.rst:343 e8479f58eb2648b791a968affde33cd5 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.parameters import Button\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Configure the stop button combination. Now, your program stops\n" +"# if you press the center and Bluetooth buttons simultaneously.\n" +"hub.system.set_stop_button((Button.CENTER, Button.BLUETOOTH))\n" +"\n" +"# Now we can use the center button as a normal button.\n" +"while True:\n" +"\n" +" # Play a sound if the center button is pressed.\n" +" if Button.CENTER in hub.buttons.pressed():\n" +" hub.speaker.beep()\n" +msgstr "" + +#: ../../main/hubs/primehub.rst:347 a9c0720e81564db3a7dc9a08b7e67b71 +msgid "Turning the hub off" +msgstr "" + +#: ../../main/hubs/primehub.rst:349 178e0ff920f84f9586da16ccee0d5875 +msgid "" +"from pybricks.hubs import PrimeHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = PrimeHub()\n" +"\n" +"# Say goodbye and give some time to send it.\n" +"print(\"Goodbye!\")\n" +"wait(100)\n" +"\n" +"# Shut the hub down.\n" +"hub.system.shutdown()\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/hubs/technichub.po b/doc/locales/de/LC_MESSAGES/hubs/technichub.po new file mode 100644 index 00000000..b2a047a2 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/hubs/technichub.po @@ -0,0 +1,1077 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/hubs/technichub.rst:4 ce735b3dc64c442187411240eae0e20d +msgid "Technic Hub" +msgstr "" + +#: ../../main/hubs/technichub.rst:6 7bda3fd2b07345f5b31ce105e3b3128a +msgid ".. image:: ../../main/cad/output/hub-technic.png" +msgstr "" + +#: ../../main/hubs/technichub.rst:9 3201d97d3c924e7e9044ef5996b30e04 +msgid ".. image:: /blockimg/pybricks_variables_set_technic_hub_option0.svg" +msgstr "" + +#: ../../main/hubs/technichub.rst:11 6fa4403d3ce74bcb8ac82a7bf66ef472 +msgid ".. image:: /blockimg/pybricks_variables_set_technic_hub_option4.svg" +msgstr "" + +#: 32bff09f59e24fb3a27059b6a9f9ac01 of pybricks.hubs.TechnicHub:1 +msgid "LEGO® Technic Hub." +msgstr "" + +#: b3c3d8f8e3ed491586575d7d28653617 of pybricks.hubs.TechnicHub:3 +msgid "" +"Initializes the hub. Optionally, specify how the hub is :ref:`placed in " +"your design ` by saying in which direction the top side (with" +" the button) and front side (with the light) are pointing." +msgstr "" + +#: ../../main/hubs/technichub.rst 06f5d8152dea4a6195acc78c7dc6a315 +#: 1c729138095c44bb9dcedf459e31522f 23abc55c054140269911d23212eb2823 +#: 4533ed0fa5164f6eb31183f0d757a88a 4b94646b8f864784930a30145a242f88 +#: 8a96a6a982f8499898dcf9e5f583e0f5 9a650181133747f58c5215488854ba82 +#: a523ceab7db94e9499d0317328cbb879 b6c4245e7b4d45cf838ed746e2f2f541 +#: b966ad5595d8483a9eb24c5f4071b8d6 bca49795062a4e68b9b7ca8739ba65a4 +#: c2d3d63db4cd48c4920fb1c34f45a78a c7c326fba49940d8acc8a9934d46a958 +#: e60500e4dcda475eb87d0adcc68c6baa +msgid "Parameters" +msgstr "" + +#: 00a1a1bc1fb24cf2861a7102d404e64b of pybricks.hubs.TechnicHub:8 +msgid "The axis that passes through the *top side* of the hub." +msgstr "" + +#: 91d6884f5c1944c78038815f77924187 of pybricks.hubs.TechnicHub:11 +msgid "The axis that passes through the *front side* of the hub." +msgstr "" + +#: 0a3ae9b2fbe64872916316866feb78e3 of pybricks.hubs.TechnicHub:14 +msgid "" +"A value from 0 to 255 indicating which channel ``hub.ble.broadcast()`` " +"will use. Default is channel 0." +msgstr "" + +#: 9ed2c806edc7463c9f5e398fd61c6f01 of pybricks.hubs.TechnicHub:16 +msgid "" +"A list of channels to listen to when ``hub.ble.observe()`` is called. " +"Listening to more channels requires more memory. Default is an empty list" +" (no channels)." +msgstr "" + +#: 1056b9fea3a34991b79d4d970251e335 of pybricks.hubs.TechnicHub:20 +msgid "Added *broadcast_channel* and *observe_channels* arguments." +msgstr "" + +#: ../../main/hubs/technichub.rst:18 bd42080a87984ae4baed3717ee94dcb7 +msgid "Using the hub status light" +msgstr "" + +#: ../../main/hubs/technichub.rst:19 20edb9b909ae492681abb3ac2fb406a5 +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_technichub_on.svg" +msgstr "" + +#: 07f035e47c6248e899fc7111ddd74e98 of pybricks._common.ColorLight.on:1 +msgid "Turns on the light at the specified color." +msgstr "" + +#: 33ec748022f6405497423f436fff0d33 4eef93ea83444877a1c2ed1e77b9f371 of +#: pybricks._common.ColorLight.blink:11 pybricks._common.ColorLight.on:3 +msgid "Color of the light." +msgstr "" + +#: ../../main/hubs/technichub.rst:23 f87ba32638cd401a95348f7671da3567 +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_technichub_off.svg" +msgstr "" + +#: dd812b6360c8495abae3a26438fa1f18 of pybricks._common.ColorLight.off:1 +msgid "Turns off the light." +msgstr "" + +#: 04a9dd34606c43aa9c7e18d929b0ef5a of pybricks._common.ColorLight.blink:1 +msgid "" +"Blinks the light at a given color by turning it on and off for given " +"durations." +msgstr "" + +#: 08478cb07788436b9a426f679c13e74d of pybricks._common.ColorLight.blink:4 +msgid "" +"The light keeps blinking indefinitely while the rest of your program " +"keeps running." +msgstr "" + +#: 2c405033d40841e0a5253f6ff618851b of pybricks._common.ColorLight.blink:7 +msgid "" +"This method provides a simple way to make basic but useful patterns. For " +"more generic and multi-color patterns, use ``animate()`` instead." +msgstr "" + +#: 693b605b85ae4be7a4b5f053a1cbad80 of pybricks._common.ColorLight.blink:13 +msgid "Sequence of time values of the form ``[on_1, off_1, on_2, off_2, ...]``." +msgstr "" + +#: a6f89ce4a95d4beea797d42629a9b615 of pybricks._common.ColorLight.animate:1 +msgid "" +"Animates the light with a sequence of colors, shown one by one for the " +"given interval." +msgstr "" + +#: 582579ea110941c9aaa6c715ba2525ea of pybricks._common.ColorLight.animate:4 +msgid "" +"The animation runs in the background while the rest of your program keeps" +" running. When the animation completes, it repeats." +msgstr "" + +#: 81529d58c2eb436682ef87f00db9e7cb of pybricks._common.ColorLight.animate:7 +msgid "Sequence of :class:`Color <.parameters.Color>` values." +msgstr "" + +#: 24cfb71516ec4c6f84301a973ec78ef2 of pybricks._common.ColorLight.animate:10 +msgid "Time between color updates." +msgstr "" + +#: ../../main/hubs/technichub.rst:32 0f73741f22834e30a231a173311b43d4 +msgid "Using the IMU" +msgstr "" + +#: ../../main/hubs/technichub.rst:33 de431a5762004278ab5213e913ebf644 +msgid ".. image:: /blockimg/pybricks_blockImuStatus_TechnicHub_ready.svg" +msgstr "" + +#: e651a1840a584dbab7bf2f219ba28dea of pybricks._common.IMU.ready:1 +msgid "Checks if the device is calibrated and ready for use." +msgstr "" + +#: 77058c1fc47a4ef5bcb1ada6cb240b8b of pybricks._common.IMU.ready:3 +msgid "" +"This becomes ``True`` when the robot has been sitting stationary for a " +"few seconds, which allows the device to re-calibrate. It is ``False`` if " +"the hub has just been started, or if it hasn't had a chance to calibrate " +"for more than 10 minutes." +msgstr "" + +#: ../../main/hubs/technichub.rst 0cf2c45fdba84d0d8fba02d62a623755 +#: 15e67514d6814b6f96a50381dafa7ccc 2144a96015d94cab9d6d8719a9a473e3 +#: 2bf92e16f23b4891a58797222f7d4e3f 4443ef790451470695325f64074aedd9 +#: 566f68df02f14a40b03fdc701653a6a8 596faa686da3467ab529150b7c46c789 +#: 62740ca5d22546278fceace5927bcb04 6473f3f5f9ab4c5fa693312810f918e5 +#: 673d929b580149d082ad7ebdc65c13c5 69916748472e4f5dbb9ddd1240d8663d +#: 709e87e74037449c99d795384b0067f8 9e85402b52bc468587f011111f8f3d2c +#: a7788e80034f47a5b4fa243ac83daae9 b515af99c7ff46ea97b2fddde5def50d +#: b6503a520a7f4520b5734fbc3050a5f9 ba82f1869d5c47a0bb17877ad36f1606 +msgid "Returns" +msgstr "" + +#: 500455a77e0b4d77be23540d6a7de369 of pybricks._common.IMU.ready:8 +msgid "``True`` if it is ready for use, ``False`` if not." +msgstr "" + +#: ../../main/hubs/technichub.rst:37 9b2dd5955ca84336a484b1084d2c4ff4 +msgid ".. image:: /blockimg/pybricks_blockImuStatus_TechnicHub_stationary.svg" +msgstr "" + +#: be86de4092be4310908b3b05e38f1e3b of pybricks._common.IMU.stationary:1 +msgid "Checks if the device is currently stationary (not moving)." +msgstr "" + +#: 445711cfd21d443aa0ed834d77ef4954 of pybricks._common.IMU.stationary:3 +msgid "``True`` if stationary for at least a second, ``False`` if it is moving." +msgstr "" + +#: ../../main/hubs/technichub.rst:41 ca427348e5574a73937a4f057064d7a1 +msgid ".. image:: /blockimg/pybricks_blockImuUp_TechnicHub.svg" +msgstr "" + +#: db31c5f475b04c43a2e35770005cc620 of +#: pybricks._common.SimpleAccelerometer.up:1 +msgid "Checks which side of the hub currently faces upward." +msgstr "" + +#: 15d4bb5a1a4740c384044f9dc87bf953 of +#: pybricks._common.SimpleAccelerometer.up:3 +msgid "" +"``Side.TOP``, ``Side.BOTTOM``, ``Side.LEFT``, ``Side.RIGHT``, " +"``Side.FRONT`` or ``Side.BACK``." +msgstr "" + +#: ../../main/hubs/technichub.rst:45 38c29f9261a644db8ace81f87da1b7ca +msgid ".. image:: /blockimg/pybricks_blockTilt_TechnicHub_imu.tilt.pitch.svg" +msgstr "" + +#: ../../main/hubs/technichub.rst:47 5e4f1a4959e7438eaff5a69f1aeafdac +msgid ".. image:: /blockimg/pybricks_blockTilt_TechnicHub_imu.tilt.roll.svg" +msgstr "" + +#: 0b811fbcbb6c40e680b31b1e9a693f68 of +#: pybricks._common.SimpleAccelerometer.tilt:1 +msgid "" +"Gets the pitch and roll angles. This is relative to the :ref:`user-" +"specified neutral orientation `." +msgstr "" + +#: c4f77690090d4ee69d3318ffb4904e0c of +#: pybricks._common.SimpleAccelerometer.tilt:4 +msgid "" +"The order of rotation is pitch-then-roll. This is equivalent to a " +"positive rotation along the robot y-axis and then a positive rotation " +"along the x-axis." +msgstr "" + +#: 1bd5ee8cacb94b71b1645ad0edf53df3 of +#: pybricks._common.SimpleAccelerometer.tilt:8 +msgid "Tuple of pitch and roll angles in degrees." +msgstr "" + +#: ../../main/hubs/technichub.rst:52 3fab17bfc1284f3baf4f939a8ed5f900 +msgid ".. image:: /blockimg/pybricks_blockImuAcceleration_TechnicHub.svg" +msgstr "" + +#: 8202d685ec854b52a29e80db702b1390 of +#: pybricks._common.Accelerometer.acceleration:1 +msgid "" +"Gets the acceleration of the device along a given axis in the :ref:`robot" +" reference frame `." +msgstr "" + +#: db7899c137ab43cd9eec53b1b0dc7166 of +#: pybricks._common.Accelerometer.acceleration:4 +msgid "Axis along which the acceleration should be measured." +msgstr "" + +#: e6fc434b4e864485bda6dd7f6b8a19cb of +#: pybricks._common.Accelerometer.acceleration:8 +msgid "" +"Acceleration along the specified axis. If you specify no axis, this " +"returns a vector of accelerations along all axes." +msgstr "" + +#: ../../main/hubs/technichub.rst:56 d3c5e9a3e2c94f169bb3a5e68495c33c +msgid "" +".. image:: " +"/blockimg/pybricks_blockImuRotation_TechnicHub_imu.angular_velocity.svg" +msgstr "" + +#: 982abce644ef400d960432460d039da0 of pybricks._common.IMU.angular_velocity:1 +msgid "" +"Gets the angular velocity of the device along a given axis in the " +":ref:`robot reference frame `." +msgstr "" + +#: e30a5dedb8dd470f9703ab90c08898bd of pybricks._common.IMU.angular_velocity:4 +msgid "Axis along which the angular velocity should be measured." +msgstr "" + +#: 48e9a72cb65548cc915f9fb766c30ada of pybricks._common.IMU.angular_velocity:8 +msgid "" +"Angular velocity along the specified axis. If you specify no axis, this " +"returns a vector of accelerations along all axes." +msgstr "" + +#: ../../main/hubs/technichub.rst:60 9ff42923981849b0969f867e7add92bd +msgid ".. image:: /blockimg/pybricks_blockImuGetHeading_TechnicHub.svg" +msgstr "" + +#: 37851eee82fb4bcb8de0fc24f1777329 of pybricks._common.IMU.heading:1 +msgid "" +"Gets the heading angle of your robot. A positive value means a clockwise " +"turn." +msgstr "" + +#: 25c4a4da74d34229a3963a72032e1813 of pybricks._common.IMU.heading:4 +msgid "" +"The heading is 0 when your program starts. The value continues to grow " +"even as the robot turns more than 180 degrees. It does not wrap around to" +" -180 like it does in some apps." +msgstr "" + +#: 38eb0061488e434e9832dfa2073dd697 of pybricks._common.IMU.heading:9 +msgid "" +"*For now, this method only keeps track of the heading while the robot is " +"on a flat surface.*" +msgstr "" + +#: cd2ea9d61a704bdbbda5a00c595bc0af of pybricks._common.IMU.heading:12 +msgid "" +"This means that the value is no longer correct if you lift it from the " +"table. To solve this, you can call ``reset_heading`` to reset the heading" +" to a known value *after* you put it back down. For example, you could " +"align your robot with the side of the competition table and reset the " +"heading 90 degrees as the new starting point." +msgstr "" + +#: 9fc8cd8239974855972d7b04024327c7 of pybricks._common.IMU.heading:19 +msgid "Heading angle relative to starting orientation." +msgstr "" + +#: ../../main/hubs/technichub.rst:64 08663c441b6544b28b14126a560440e1 +msgid ".. image:: /blockimg/pybricks_blockImuResetHeading_TechnicHub.svg" +msgstr "" + +#: 7e6d816d7f5a46409165025630b16a07 of pybricks._common.IMU.reset_heading:1 +msgid "Resets the accumulated heading angle of the robot." +msgstr "" + +#: fc4f2a4044f5476b83ce9a3873b45ffd of pybricks._common.IMU.reset_heading:3 +msgid "Value to which the heading should be reset." +msgstr "" + +#: ../../main/hubs/technichub.rst:68 b3b6076a9cdb48f29a2da1bf20447aa9 +msgid ".. image:: /blockimg/pybricks_blockImuRotation_TechnicHub_imu.rotation.svg" +msgstr "" + +#: e0406c1e011648bfa14714c0703b098a of pybricks._common.IMU.rotation:1 +msgid "" +"Gets the rotation of the device along a given axis in the :ref:`robot " +"reference frame `." +msgstr "" + +#: 81900ce9b0564dbbab4e458351b21f8d of pybricks._common.IMU.rotation:4 +msgid "" +"This value is useful if your robot *only* rotates along the requested " +"axis. For general three-dimensional motion, use the ``orientation()`` " +"method instead." +msgstr "" + +#: 52551e76a4d34ee3bded103c231d9a55 of pybricks._common.IMU.rotation:8 +msgid "The value starts counting from ``0`` when you initialize this class." +msgstr "" + +#: cefba74533fb4891ae11024c0784afbe of pybricks._common.IMU.rotation:10 +msgid "Axis along which the rotation should be measured." +msgstr "" + +#: a9eb8901cb60431ca39b3b92009c4cbe of pybricks._common.IMU.rotation:13 +msgid "The rotation angle." +msgstr "" + +#: 43cbfc0625dd4fc2b84a085f932cd4d4 of pybricks._common.IMU.orientation:1 +msgid "" +"Gets the three-dimensional orientation of the robot in the :ref:`robot " +"reference frame `." +msgstr "" + +#: f383f95ab62046f29db46b1187e45cde of pybricks._common.IMU.orientation:4 +msgid "" +"It returns a rotation matrix whose columns represent the ``X``, ``Y``, " +"and ``Z`` axis of the robot." +msgstr "" + +#: b250a0c5b2e44684bc422a0f820a7baf of pybricks._common.IMU.orientation:7 +msgid "This method is not yet implemented." +msgstr "" + +#: 759dd17cdbee4fda9e0657c667998739 of pybricks._common.IMU.orientation:9 +msgid "The rotation matrix." +msgstr "" + +#: debfaeae5070474e96393d00b98a5038 of pybricks._common.IMU.settings:1 +msgid "" +"Configures the IMU settings. If no arguments are given, this returns the " +"current values." +msgstr "" + +#: 9c237644302145d5a134ccb2d06061d4 of pybricks._common.IMU.settings:4 +msgid "" +"The ``angular_velocity_threshold`` and ``acceleration_threshold`` define " +"when the hub is considered stationary. If all measurements stay below " +"these thresholds for one second, the IMU will recalibrate itself." +msgstr "" + +#: aafa34900795492bae069b4d4523ea82 of pybricks._common.IMU.settings:9 +msgid "" +"In a noisy room with high ambient vibrations (such as a competition " +"hall), it is recommended to increase the thresholds slightly to give your" +" robot the chance to calibrate. To verify that your settings are working " +"as expected, test that the ``stationary()`` method gives ``False`` if " +"your robot is moving, and ``True`` if it is sitting still for at least a " +"second." +msgstr "" + +#: 71ed69d041924024bce315a086cc1b42 of pybricks._common.IMU.settings:16 +msgid "The threshold for angular velocity. The default value is 1.5 deg/s." +msgstr "" + +#: e4207d33fe3240be98f8cd1270b9a0b8 of pybricks._common.IMU.settings:19 +msgid "The threshold for angular velocity. The default value is 250 mm/s²." +msgstr "" + +#: ../../main/hubs/technichub.rst:77 7921ef5b84184f98b88034de69d69bf7 +msgid "Using connectionless Bluetooth messaging" +msgstr "" + +#: ../../main/hubs/technichub.rst:78 7d75e6ed49474e3ba4cbf56b41ba7fc0 +msgid ".. image:: /blockimg/pybricks_blockBleBroadcast_TechnicHub.svg" +msgstr "" + +#: ae420684b551464c866c75104b8bbc71 of pybricks._common.BLE.broadcast:1 +msgid "" +"Starts broadcasting the given data on the ``broadcast_channel`` you " +"selected when initializing the hub." +msgstr "" + +#: ec79f9a3c6404d1f870d7dfd75a9a8dd of pybricks._common.BLE.broadcast:4 +msgid "" +"Data may be of type ``int``, ``float``, ``str``, ``bytes``, ``True``, or " +"``False``, or a list thereof." +msgstr "" + +#: e9ec714c335e419895beed223eedf0c1 of pybricks._common.BLE.broadcast:7 +msgid "" +"Choose ``None`` to stop broadcasting. This helps improve performance when" +" you don't need the broadcast feature, especially when observing at the " +"same time." +msgstr "" + +#: 42aacfb3e2b34f498e18c7584cee6845 of pybricks._common.BLE.broadcast:11 +msgid "" +"The total data size is quite limited (26 bytes). ``True`` and ``False`` " +"take 1 byte each. ``float`` takes 5 bytes. ``int`` takes 2 to 5 bytes " +"depending on how big the number is. ``str`` and ``bytes`` take the number" +" of bytes in the object plus one extra byte." +msgstr "" + +#: bfd89cc535a2465284779215b3cdbf11 of pybricks._common.BLE.broadcast:16 +msgid "" +"When multitasking, only one task can broadcast at a time. To broadcast " +"information from multiple tasks (or block stacks), you could use a " +"dedicated separate task that broadcast new values when one or more " +"variables change." +msgstr "" + +#: 67613e33c75a4ec7910072261c96b2a2 of pybricks._common.BLE.broadcast:21 +msgid "The value or values to be broadcast." +msgstr "" + +#: ../../main/hubs/technichub.rst:82 22255060c1d647fb8244c1414675d854 +msgid ".. image:: /blockimg/pybricks_blockBleObserve_TechnicHub.svg" +msgstr "" + +#: d3fd4400efa4469eac57cb1e4052f297 of pybricks._common.BLE.observe:1 +msgid "Retrieves the last observed data for a given channel." +msgstr "" + +#: 286072aec584440b90e8158660959a3a of pybricks._common.BLE.observe:3 +msgid "" +"Receiving data is more reliable when the hub is not connected to a " +"computer or other devices at the same time." +msgstr "" + +#: 2b84fb1299cf4cfda73833c4b829e4df of pybricks._common.BLE.observe:6 +msgid "The channel to observe (0 to 255)." +msgstr "" + +#: 4a975320837b48cc95d59973ba435b0f of pybricks._common.BLE.observe:9 +msgid "" +"The received data in the same format as it was sent, or ``None`` if no " +"recent data is available." +msgstr "" + +#: 0c2fac2941d34c0c95c9addc195eeaa7 of pybricks._common.BLE.signal_strength:1 +msgid "Gets the average signal strength in dBm for the given channel." +msgstr "" + +#: 1a3d9894348740bf910f5f92355a0a81 of pybricks._common.BLE.signal_strength:3 +msgid "" +"This indicates how near the broadcasting device is. Nearby devices may " +"have a signal strength around -40 dBm, while far away devices might have " +"a signal strength around -70 dBm." +msgstr "" + +#: 3862ede41df6441580537a31dc735e0f of pybricks._common.BLE.signal_strength:7 +msgid "The channel number (0 to 255)." +msgstr "" + +#: 78c7932ea554471c93461b8e69dbe839 of pybricks._common.BLE.signal_strength:10 +msgid "The signal strength or ``-128`` if there is no recent observed data." +msgstr "" + +#: b90b8c834b8c4975b9d27ff0ccb59c50 of pybricks._common.BLE.version:1 +msgid "Gets the firmware version from the Bluetooth chip." +msgstr "" + +#: ../../main/hubs/technichub.rst:91 1d7fd84c48d94a91a89aaa095b07e7b5 +msgid "Using the battery" +msgstr "" + +#: ../../main/hubs/technichub.rst:92 18fb28da4eb44546bcabf92a10312034 +msgid "" +".. image:: " +"/blockimg/pybricks_blockBatteryMeasure_TechnicHub_battery.voltage.svg" +msgstr "" + +#: 7b1e44dac21c48f39b9cc9e7e0e08a87 of pybricks._common.Battery.voltage:1 +msgid "Gets the voltage of the battery." +msgstr "" + +#: 8cddd39689584074b41d524d021c5d0c of pybricks._common.Battery.voltage:3 +msgid "Battery voltage." +msgstr "" + +#: ../../main/hubs/technichub.rst:96 f39009b25e844fffbb65dd9bf95b4f42 +msgid "" +".. image:: " +"/blockimg/pybricks_blockBatteryMeasure_TechnicHub_battery.current.svg" +msgstr "" + +#: 8c233e6802fc4c1ebbdb48474c19211e of pybricks._common.Battery.current:1 +msgid "Gets the current supplied by the battery." +msgstr "" + +#: 931843acf85b40a2bcb6cddc94d2d113 of pybricks._common.Battery.current:3 +msgid "Battery current." +msgstr "" + +#: ../../main/hubs/technichub.rst:101 5cd917576711494b9360f419c5997f9d +msgid "Button and system control" +msgstr "" + +#: ../../main/hubs/technichub.rst:102 f70c0d354bf0484a9ee099002ccc3ee7 +msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_TechnicHub.svg" +msgstr "" + +#: 01ce0242dc844a72aa03fae540578fd7 of pybricks._common.Keypad.pressed:1 +msgid "Checks which buttons are currently pressed." +msgstr "" + +#: 66bd1d7bd41c45d8b39fad8b66ce1c25 of pybricks._common.Keypad.pressed:3 +msgid "Set of pressed buttons." +msgstr "" + +#: ../../main/hubs/technichub.rst:106 fc90748efb5c4bc58416cac5752e198f +msgid ".. image:: /blockimg/pybricks_blockHubStopButton_TechnicHub.svg" +msgstr "" + +#: ../../main/hubs/technichub.rst:108 5bb39be9d0f549a2ba91fe3dc8285163 +msgid ".. image:: /blockimg/pybricks_blockHubStopButton_TechnicHub_none.svg" +msgstr "" + +#: fd412ebc7a42422badd9dddf841e34d0 of +#: pybricks._common.System.set_stop_button:1 +msgid "Sets the button or button combination that stops a running script." +msgstr "" + +#: 488b47dd03a34f3c8580a7f9ec6ec696 of +#: pybricks._common.System.set_stop_button:3 +msgid "" +"Normally, the center button is used to stop a running script. You can " +"change or disable this behavior in order to use the button for other " +"purposes." +msgstr "" + +#: 12ac542567444df08b1dbbb40e7bd3d9 of +#: pybricks._common.System.set_stop_button:7 +msgid "" +"A button such as :attr:`Button.CENTER " +"`, or a tuple of multiple buttons. " +"Choose ``None`` to disable the stop button altogether. If you do, you can" +" still turn the hub off by holding the center button for three seconds." +msgstr "" + +#: ea3a023423784d3fb967a6569b5c45c4 of pybricks._common.System.name:1 +msgid "Gets the hub name. This is the name you see when connecting via Bluetooth." +msgstr "" + +#: efdf28f6521b4a5885f030240786ffec of pybricks._common.System.name:4 +msgid "The hub name." +msgstr "" + +#: 3057d1e2ff1644f494f991ffa2ff9611 of pybricks._common.System.storage:1 +msgid "Reads or writes binary data to persistent storage." +msgstr "" + +#: 9b2ad7a17bc1486e90683f41e222ec81 of pybricks._common.System.storage:3 +msgid "" +"This lets you store data that can be used the next time you run the " +"program." +msgstr "" + +#: 96b6c97d11584904a6780682e06d41a1 of pybricks._common.System.storage:6 +msgid "" +"The data will be saved to flash memory when you turn the hub off " +"normally. It will not be saved if the batteries are removed *while* the " +"hub is still running." +msgstr "" + +#: 188db81fd186481f8453927f7ba00735 of pybricks._common.System.storage:10 +msgid "" +"Once saved, the data will remain available even after you remove the " +"batteries." +msgstr "" + +#: e414111026c34d28ae95abedf33cd012 of pybricks._common.System.storage:13 +msgid "The offset from the start of the user storage memory, in bytes." +msgstr "" + +#: afa1b8b86f464f52adb194b55879a53f of pybricks._common.System.storage:15 +msgid "The number of bytes to read. Omit this argument when writing." +msgstr "" + +#: 8a0bfb50a91845ba93bc3525197739cc of pybricks._common.System.storage:17 +msgid "The bytes to write. Omit this argument when reading." +msgstr "" + +#: 7a13a7c6f59d4cc8b8b620121b7829cc of pybricks._common.System.storage:20 +msgid "The bytes read if reading, otherwise ``None``." +msgstr "" + +#: ../../main/hubs/technichub.rst 5cd1000da3cc4358bdc438d235d179d3 +msgid "Raises" +msgstr "" + +#: d3256b841fb84e60b7b55d2e4848f45b of pybricks._common.System.storage:22 +msgid "If you try to read or write data outside of the allowed range." +msgstr "" + +#: ../../main/hubs/technichub.rst:117 bb1f6285a5e14bf7aaea57b2971f3ef6 +msgid "" +"You can store up to 128 bytes of data on this hub. The data is cleared " +"when you update the Pybricks firmware or if you restore the original " +"firmware." +msgstr "" + +#: ../../main/hubs/technichub.rst:121 e7cd2617686e41d6ac44c97313611ca5 +msgid ".. image:: /blockimg/pybricks_blockHubShutdown_TechnicHub.svg" +msgstr "" + +#: a4856bb8de584fb5b05b4a25e9824469 of pybricks._common.System.shutdown:1 +msgid "Stops your program and shuts the hub down." +msgstr "" + +#: 63bf18c88b4d4888a15678c2c8af0889 of pybricks._common.System.reset_reason:1 +msgid "" +"Finds out how and why the hub (re)booted. This can be useful to diagnose " +"some problems." +msgstr "" + +#: a8cf16dc33c44785a0c8b60820b5d0d2 of pybricks._common.System.reset_reason:4 +msgid "" +"* ``0`` if the hub was previously powered off normally. * ``1`` if the " +"hub rebooted automatically, like after a firmware update. * ``2`` if " +"the hub previously crashed due to a watchdog timeout, which indicates a" +" firmware issue." +msgstr "" + +#: f3821e5327cf41638e58a32a4c501494 of pybricks._common.System.reset_reason:6 +msgid "``0`` if the hub was previously powered off normally." +msgstr "" + +#: 698dd1ae6f56404b987faf05985e64a3 of pybricks._common.System.reset_reason:8 +msgid "``1`` if the hub rebooted automatically, like after a firmware update." +msgstr "" + +#: c15227db97234381ba28d6063036c23b of pybricks._common.System.reset_reason:10 +msgid "" +"``2`` if the hub previously crashed due to a watchdog timeout, which " +"indicates a firmware issue." +msgstr "" + +#: ../../main/hubs/technichub.rst:128 436dd836029047c8a85376528cc56c68 +msgid "Status light examples" +msgstr "" + +#: ../../main/hubs/technichub.rst:131 ae6fe7257c614e4fa5ccdadba89d49af +msgid "Turning the light on and off" +msgstr "" + +#: ../../main/hubs/technichub.rst:133 fde2776ad2b148979831a3e91eaeabda +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = TechnicHub()\n" +"\n" +"# Turn the light on and off 5 times.\n" +"for i in range(5):\n" +"\n" +" hub.light.on(Color.RED)\n" +" wait(1000)\n" +"\n" +" hub.light.off()\n" +" wait(500)\n" +msgstr "" + +#: ../../main/hubs/technichub.rst:137 17a7df5e631d4a6c87299f7372d23e56 +msgid "Changing brightness and using custom colors" +msgstr "" + +#: ../../main/hubs/technichub.rst:139 ed81c603cb374ea0be6f8e6636ff9089 +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = TechnicHub()\n" +"\n" +"# Show the color at 30% brightness.\n" +"hub.light.on(Color.RED * 0.3)\n" +"\n" +"wait(2000)\n" +"\n" +"# Use your own custom color.\n" +"hub.light.on(Color(h=30, s=100, v=50))\n" +"\n" +"wait(2000)\n" +"\n" +"# Go through all the colors.\n" +"for hue in range(360):\n" +" hub.light.on(Color(hue))\n" +" wait(10)\n" +msgstr "" + +#: ../../main/hubs/technichub.rst:143 58554ab41f0f4d8bbc464f98a5c414b1 +msgid "Making the light blink" +msgstr "" + +#: ../../main/hubs/technichub.rst:145 466ade77acf64a978df838f5b1fda32b +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub\n" +"hub = TechnicHub()\n" +"\n" +"# Keep blinking red on and off.\n" +"hub.light.blink(Color.RED, [500, 500])\n" +"\n" +"wait(10000)\n" +"\n" +"# Keep blinking green slowly and then quickly.\n" +"hub.light.blink(Color.GREEN, [500, 500, 50, 900])\n" +"\n" +"wait(10000)\n" +msgstr "" + +#: ../../main/hubs/technichub.rst:149 d001945be34c43afbd80cd2072e75ffc +msgid "Creating light animations" +msgstr "" + +#: ../../main/hubs/technichub.rst:151 6541f2122791447cb197783bb0adf420 +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"from umath import sin, pi\n" +"\n" +"# Initialize the hub.\n" +"hub = TechnicHub()\n" +"\n" +"# Make an animation with multiple colors.\n" +"hub.light.animate([Color.RED, Color.GREEN, Color.NONE], interval=500)\n" +"\n" +"wait(10000)\n" +"\n" +"# Make the color RED grow faint and bright using a sine pattern.\n" +"hub.light.animate([Color.RED * (0.5 * sin(i / 15 * pi) + 0.5) for i in " +"range(30)], 40)\n" +"\n" +"wait(10000)\n" +"\n" +"# Cycle through a rainbow of colors.\n" +"hub.light.animate([Color(h=i * 8) for i in range(45)], interval=40)\n" +"\n" +"wait(10000)\n" +msgstr "" + +#: ../../main/hubs/technichub.rst:155 fd1b41d8eb4f40faae1c875bd44b88d0 +msgid "IMU examples" +msgstr "" + +#: ../../main/hubs/technichub.rst:158 3030bce5e78648b6b16eeccd5195ac86 +msgid "Testing which way is up" +msgstr "" + +#: ../../main/hubs/technichub.rst:160 44ece850592247d38acd69acf765b305 +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.parameters import Color, Side\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = TechnicHub()\n" +"\n" +"# Define colors for each side in a dictionary.\n" +"SIDE_COLORS = {\n" +" Side.TOP: Color.RED,\n" +" Side.BOTTOM: Color.BLUE,\n" +" Side.LEFT: Color.GREEN,\n" +" Side.RIGHT: Color.YELLOW,\n" +" Side.FRONT: Color.MAGENTA,\n" +" Side.BACK: Color.BLACK,\n" +"}\n" +"\n" +"# Keep updating the color based on detected up side.\n" +"while True:\n" +"\n" +" # Check which side of the hub is up.\n" +" up_side = hub.imu.up()\n" +"\n" +" # Change the color based on the side.\n" +" hub.light.on(SIDE_COLORS[up_side])\n" +"\n" +" # Also print the result.\n" +" print(up_side)\n" +" wait(50)\n" +msgstr "" + +#: ../../main/hubs/technichub.rst:165 8028f5938f9f4d1ab01ac60a0e6f7796 +msgid "Reading the tilt value" +msgstr "" + +#: ../../main/hubs/technichub.rst:167 529894bd865649638dc9d2a6a49c8cac +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = TechnicHub()\n" +"\n" +"while True:\n" +" # Read the tilt values.\n" +" pitch, roll = hub.imu.tilt()\n" +"\n" +" # Print the result.\n" +" print(pitch, roll)\n" +" wait(200)\n" +msgstr "" + +#: ../../main/hubs/technichub.rst:171 c07274a3c5e64a10a2d91110f32ec1ab +msgid "Using a custom hub orientation" +msgstr "" + +#: ../../main/hubs/technichub.rst:173 c330a7f8dfd64cadb8477ab525b96793 +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.tools import wait\n" +"from pybricks.parameters import Axis\n" +"\n" +"# Initialize the hub. In this case, specify that the hub is mounted with " +"the\n" +"# top side facing forward and the front side facing to the right.\n" +"# For example, this is how the hub is mounted in BLAST in the 51515 set.\n" +"hub = TechnicHub(top_side=Axis.X, front_side=-Axis.Y)\n" +"\n" +"while True:\n" +" # Read the tilt values. Now, the values are 0 when BLAST stands " +"upright.\n" +" # Leaning forward gives positive pitch. Leaning right gives positive " +"roll.\n" +" pitch, roll = hub.imu.tilt()\n" +"\n" +" # Print the result.\n" +" print(pitch, roll)\n" +" wait(200)\n" +msgstr "" + +#: ../../main/hubs/technichub.rst:177 ce7575fa9fce448abff76ba88785e525 +msgid "Reading acceleration and angular velocity vectors" +msgstr "" + +#: ../../main/hubs/technichub.rst:179 0c959fd6ee1b46b6b0bda14a12b9a86b +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = TechnicHub()\n" +"\n" +"# Get the acceleration vector in g's.\n" +"print(hub.imu.acceleration() / 9810)\n" +"\n" +"# Get the angular velocity vector.\n" +"print(hub.imu.angular_velocity())\n" +"\n" +"# Wait so we can see what we printed\n" +"wait(5000)\n" +msgstr "" + +#: ../../main/hubs/technichub.rst:183 59e941c6814945c692e1ee21763c601d +msgid "Reading acceleration and angular velocity on one axis" +msgstr "" + +#: ../../main/hubs/technichub.rst:185 3b891d65f74f412f8fd59c9424c2ff43 +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.tools import wait\n" +"from pybricks.parameters import Axis\n" +"\n" +"# Initialize the hub.\n" +"hub = TechnicHub()\n" +"\n" +"# Get the acceleration or angular_velocity along a single axis.\n" +"# If you need only one value, this is more memory efficient.\n" +"while True:\n" +"\n" +" # Read the forward acceleration.\n" +" forward_acceleration = hub.imu.acceleration(Axis.X)\n" +"\n" +" # Read the yaw rate.\n" +" yaw_rate = hub.imu.angular_velocity(Axis.Z)\n" +"\n" +" # Print the yaw rate.\n" +" print(yaw_rate)\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/technichub.rst:190 6b09669d93bf483990adb378e6246e21 +msgid "Bluetooth examples" +msgstr "" + +#: ../../main/hubs/technichub.rst:193 f46d0997e62243278aa864629c1a38aa +msgid "Broadcasting data to other hubs" +msgstr "" + +#: ../../main/hubs/technichub.rst:195 3a80f7fb6cae4a92a0c3d24729a73d5e +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = TechnicHub(broadcast_channel=1)\n" +"\n" +"# Initialize the motors.\n" +"left_motor = Motor(Port.A)\n" +"right_motor = Motor(Port.B)\n" +"\n" +"while True:\n" +" # Read the motor angles to be sent to the other hub.\n" +" left_angle = left_motor.angle()\n" +" right_angle = right_motor.angle()\n" +"\n" +" # Set the broadcast data and start broadcasting if not already doing " +"so.\n" +" data = (left_angle, right_angle)\n" +" hub.ble.broadcast(data)\n" +"\n" +" # Broadcasts are only sent every 100 milliseconds, so there is no " +"reason\n" +" # to call the broadcast() method more often than that.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/technichub.rst:199 0fc20b070880434e84741fcc7e3c89c9 +msgid "Observing data from other hubs" +msgstr "" + +#: ../../main/hubs/technichub.rst:201 dcada32ea3d048e6aac92a064717c072 +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Color, Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = TechnicHub(observe_channels=[1])\n" +"\n" +"# Initialize the motors.\n" +"left_motor = Motor(Port.A)\n" +"right_motor = Motor(Port.B)\n" +"\n" +"while True:\n" +" # Receive broadcast from the other hub.\n" +"\n" +" data = hub.ble.observe(1)\n" +"\n" +" if data is None:\n" +" # No data has been received in the last 1 second.\n" +" hub.light.on(Color.RED)\n" +" else:\n" +" # Data was received and is less that one second old.\n" +" hub.light.on(Color.GREEN)\n" +"\n" +" # *data* contains the same values in the same order\n" +" # that were passed to hub.ble.broadcast() on the\n" +" # other hub.\n" +" left_angle, right_angle = data\n" +"\n" +" # Make the motors on this hub mirror the position of the\n" +" # motors on the other hub.\n" +" left_motor.track_target(left_angle)\n" +" right_motor.track_target(right_angle)\n" +"\n" +" # Broadcasts are only sent every 100 milliseconds, so there is\n" +" # no reason to call the observe() method more often than that.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/hubs/technichub.rst:206 0068a070977f4c6b82324e1d6f2417b3 +msgid "Button and system examples" +msgstr "" + +#: ../../main/hubs/technichub.rst:209 5a43275cc17b4528813ddd981d4f3c0b +msgid "Using the stop button during your program" +msgstr "" + +#: ../../main/hubs/technichub.rst:211 6da903837e114a35845b479a1e1c6025 +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.parameters import Color, Button\n" +"from pybricks.tools import wait, StopWatch\n" +"\n" +"# Initialize the hub.\n" +"hub = TechnicHub()\n" +"\n" +"# Disable the stop button.\n" +"hub.system.set_stop_button(None)\n" +"\n" +"# Check the button for 5 seconds.\n" +"watch = StopWatch()\n" +"while watch.time() < 5000:\n" +"\n" +" # Set light to green if pressed, else red.\n" +" if hub.buttons.pressed():\n" +" hub.light.on(Color.GREEN)\n" +" else:\n" +" hub.light.on(Color.RED)\n" +"\n" +"# Enable the stop button again.\n" +"hub.system.set_stop_button(Button.CENTER)\n" +"\n" +"# Now you can press the stop button as usual.\n" +"wait(5000)\n" +msgstr "" + +#: ../../main/hubs/technichub.rst:215 2c207244ba2b4e0daadaff36a257fdc2 +msgid "Turning the hub off" +msgstr "" + +#: ../../main/hubs/technichub.rst:217 5cb9e7e7fc474a54b2a8714df43de932 +msgid "" +"from pybricks.hubs import TechnicHub\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the hub.\n" +"hub = TechnicHub()\n" +"\n" +"# Say goodbye and give some time to send it.\n" +"print(\"Goodbye!\")\n" +"wait(100)\n" +"\n" +"# Shut the hub down.\n" +"hub.system.shutdown()\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/index.po b/doc/locales/de/LC_MESSAGES/index.po new file mode 100644 index 00000000..631a1f82 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/index.po @@ -0,0 +1,97 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/index.rst:47 +msgid "Table of contents" +msgstr "" + +#: ../../main/index.rst:52 +msgid "Pybricks modules" +msgstr "" + +#: ../../main/index.rst:65 +msgid "Code with blocks" +msgstr "" + +#: ../../main/index.rst:72 +msgid "MicroPython modules" +msgstr "" + +#: ../../main/index.rst:2 d8a5a3bce53e4b26a9fa905abb1f7aeb +msgid "Pybricks Documentation" +msgstr "" + +#: ../../main/index.rst:4 ace3f6b560d74c5d8310a1ec605a5cb1 +msgid "" +"`Pybricks `_ is Python coding for smart LEGO® " +"hubs. Run MicroPython scripts directly on the hub, and get full control " +"of your motors and sensors." +msgstr "" + +#: ../../main/index.rst:8 5af5bfe703cb456987231815f44b2cfe +msgid "" +"Pybricks runs on LEGO® BOOST, City, Technic, MINDSTORMS®, and SPIKE®. You" +" can code using Windows, Mac, Linux, Chromebook, and Android." +msgstr "" + +#: ../../main/index.rst:11 d6db49cd2dca414b94258551fd876cb1 +msgid "" +"Click on any device below to see its documentation. Use the menu on the " +"left to find documentation for additional modules. You may need to click " +"the ☰ icon above to reveal this menu." +msgstr "" + +#: ../../main/index.rst:17 8edd21d2913c4d208e06954de552c473 +msgid "" +"You are viewing the stand-alone version of the documentation. To learn " +"more about Pybricks and to start coding, visit the `Pybricks website`_" +msgstr "" + +#: ../../main/index.rst:21 6ada5d3378004bf785cb4d04f15e6fce +msgid "" +"Are you using LEGO MINDSTORMS EV3? Check out the `EV3 documentation`_ " +"instead." +msgstr "" + +#: ../../main/index.rst:28 241d4b5322ac4018be4c4150422314c5 +msgid "Programmable hubs" +msgstr "" + +#: ../../main/index.rst:29 50e55b7c46524e5ba88fd4bbedd5588c +msgid ".. image:: ../main/cad/output/hub-all.png" +msgstr "" + +#: ../../main/index.rst:34 c1a176dd78fc443e880d6facee8d502a +msgid "Powered Up motors and sensors" +msgstr "" + +#: ../../main/index.rst:35 6c8cc15971ec413ab0ea49f9112eaed2 +msgid ".. image:: ../main/cad/output/pupdevice-all.png" +msgstr "" + +#: ../../main/index.rst:39 833315cebf2c4adca3cdffdeaae1573a +msgid ".. image:: ../main/cad/output/pupdevice-motors.png" +msgstr "" + +#: ../../main/index.rst:43 81874ef831ce4f1b87e55026cc18fd9d +msgid ".. image:: ../main/cad/output/pupdevice-dcmotors.png" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/iodevices/index.po b/doc/locales/de/LC_MESSAGES/iodevices/index.po new file mode 100644 index 00000000..6b60819e --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/iodevices/index.po @@ -0,0 +1,41 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/iodevices/index.rst:4 3cfb8b8319b9454195be43ce15225a64 +msgid ":mod:`iodevices ` -- Custom devices" +msgstr "" + +#: ../../main/iodevices/index.rst:16 dac253e1fd9a4ff3977871206e9a71cf +msgid "This module has classes for generic and custom input/output devices." +msgstr "" + +#: ../../main/iodevices/index.rst:20 7724b890d67942ddb4a0b65bccb7daa0 +msgid ".. image:: ../../main/cad/output/iodevice-pupdevice.png" +msgstr "" + +#: ../../main/iodevices/index.rst:26 f8f3964521b24ab9b2c89f4f11f32b8f +msgid ".. image:: ../../main/cad/output/hub-lwp3.png" +msgstr "" + +#: ../../main/iodevices/index.rst:32 83fd7f6751b24bb2a27d56ff4554842c +msgid ".. image:: ../../main/diagrams_source/xboxcontroller.png" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/iodevices/lwp3device.po b/doc/locales/de/LC_MESSAGES/iodevices/lwp3device.po new file mode 100644 index 00000000..51945eae --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/iodevices/lwp3device.po @@ -0,0 +1,105 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/iodevices/lwp3device.rst:4 dc7d19c27a6c4f12a268359f57655116 +msgid "LEGO Wireless Protocol v3 device" +msgstr "" + +#: ../../main/iodevices/lwp3device.rst:8 73e7487e621b4958b2dadbb2b94f5414 +msgid "" +"This is an experimental class. It has not been well tested and may be " +"changed in future." +msgstr "" + +#: ../../main/iodevices/lwp3device.rst:11 5245b3f080c04b6dae96d6350fb1d8d0 +msgid ".. image:: ../../main/cad/output/hub-lwp3.png" +msgstr "" + +#: a147f21080554ede9a0270dd0c5754a9 of pybricks.iodevices.LWP3Device:1 +msgid "" +"Connects to a hub running official LEGO firmware using the `LEGO Wireless" +" Protocol v3`_" +msgstr "" + +#: ../../main/iodevices/lwp3device.rst 72096b15bfbf46a88e8e52c990aaf4d3 +#: e726d33d2c8e4ea198c3960f8d64b206 f905f75d223c4b1a86891997baf95e76 +msgid "Parameters" +msgstr "" + +#: 8d30eca4b91c4323be3b857a2f4bfd7a of pybricks.iodevices.LWP3Device:7 +msgid "The `hub type identifier`_ of the hub to connect to." +msgstr "" + +#: 94bce86ffae6492780fb62e536a9826a of pybricks.iodevices.LWP3Device:9 +msgid "The name of the hub to connect to or ``None`` to connect to any hub." +msgstr "" + +#: 6612032a97ee4ed8a4aa04e6c4969a1f of pybricks.iodevices.LWP3Device:12 +msgid "" +"The time, in milliseconds, to wait for a connection before raising an " +"exception." +msgstr "" + +#: 02503a0bec9e4428908cb0236cf199fe of pybricks.iodevices.LWP3Device.name:1 +msgid "name(name) name() -> str" +msgstr "" + +#: f63cef3545d94bb3b613ab8480179847 of pybricks.iodevices.LWP3Device.name:4 +msgid "Sets or gets the Bluetooth name of the device." +msgstr "" + +#: 9a106f9029fb4046ad3147beddb5ba3b of pybricks.iodevices.LWP3Device.name:6 +msgid "" +"New Bluetooth name of the device. If no name is given, this method " +"returns the current name." +msgstr "" + +#: ccea1505be7b47a7929b9fefdb12d9ac of pybricks.iodevices.LWP3Device.write:1 +msgid "Sends a message to the remote hub." +msgstr "" + +#: 3f735e7718f7405ab0be2cdf0bfe4257 of pybricks.iodevices.LWP3Device.write:3 +msgid "The raw binary message to send." +msgstr "" + +#: 5098a5d20fa44470934702693ae3b401 of pybricks.iodevices.LWP3Device.read:1 +msgid "Retrieves the most recent message received from the remote hub." +msgstr "" + +#: c13b7002518e44a3997db61837e680e5 of pybricks.iodevices.LWP3Device.read:3 +msgid "" +"If a message has not been received since the last read, the method will " +"block until a message is received." +msgstr "" + +#: ../../main/iodevices/lwp3device.rst d02cfd1453c6494faf7382baf85fe29c +msgid "Returns" +msgstr "" + +#: deaaab2ab9164ee1b421bfa4dea94354 of pybricks.iodevices.LWP3Device.read:6 +msgid "The raw binary message." +msgstr "" + +#: bc066de8c0ce4ee28b56c01df5a60cff of +#: pybricks.iodevices.LWP3Device.disconnect:1 +msgid "Disconnects the remote LWP3Device from the hub." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/iodevices/pupdevice.po b/doc/locales/de/LC_MESSAGES/iodevices/pupdevice.po new file mode 100644 index 00000000..aedd99d0 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/iodevices/pupdevice.po @@ -0,0 +1,163 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/iodevices/pupdevice.rst:4 3f2b717ea65f4f4f8319ec02436bc7ec +msgid "Powered Up Device" +msgstr "" + +#: ../../main/iodevices/pupdevice.rst:6 ed0d66e4f8f449bab7f53d68faf13120 +msgid ".. image:: ../cad/output/iodevice-pupdevice.png" +msgstr "" + +#: 8addb77097f54c9a9c32b1640efa9c13 of pybricks.iodevices.PUPDevice:1 +msgid "Powered Up motor or sensor." +msgstr "" + +#: ../../main/iodevices/pupdevice.rst b59e9ffef11043948dfbfd3b3d5df45b +#: b83d509326af494cab61f56215513eba dcffb70b1fee4106887639745b528359 +msgid "Parameters" +msgstr "" + +#: 67c0dd8106614e99a65ab29d80ec1bfa of pybricks.iodevices.PUPDevice:3 +msgid "Port to which the device is connected." +msgstr "" + +#: d3950ee859ce469ca6bcecade9372306 of pybricks.iodevices.PUPDevice.info:1 +msgid "Gets information about the device." +msgstr "" + +#: ../../main/iodevices/pupdevice.rst 99f6e80fa6ac4e0788be527dcb483b91 +#: 9af3b7fe84424c4a858b4e1a3094886e +msgid "Returns" +msgstr "" + +#: 78e1dd02b9b443faa4a286e45b8ad86d of pybricks.iodevices.PUPDevice.info:3 +msgid "Dictionary with information, such as the device ``id``." +msgstr "" + +#: 3cfeca952ad6434fa9ba063f9a0b639a of pybricks.iodevices.PUPDevice.read:1 +msgid "Reads values from a given mode." +msgstr "" + +#: 452ecdf7e58d4cbba68f07e172e34456 c0ac5960f3e24ac0997066576fce5880 of +#: pybricks.iodevices.PUPDevice.read:3 pybricks.iodevices.PUPDevice.write:4 +msgid "Device mode." +msgstr "" + +#: a8f6850b64574f00aaf22bb866315978 of pybricks.iodevices.PUPDevice.read:6 +msgid "Values read from the sensor." +msgstr "" + +#: d7fa0b55308843ae8d70ed25729a9e01 of pybricks.iodevices.PUPDevice.write:1 +msgid "Writes values to the sensor. Only selected sensors and modes support this." +msgstr "" + +#: f71e10fd1e5a477097de4851587e79fe of pybricks.iodevices.PUPDevice.write:6 +msgid "Values to be written." +msgstr "" + +#: ../../main/iodevices/pupdevice.rst:19 b250ed31a0ea4c58a1738b474ce0f810 +msgid "Examples" +msgstr "" + +#: ../../main/iodevices/pupdevice.rst:22 ee5ab0007fcb4098a76c8f6a204d8fc3 +msgid "Detecting devices" +msgstr "" + +#: ../../main/iodevices/pupdevice.rst:24 ba2a783202ec4c38ac9388d4789b99a4 +msgid "" +"from pybricks.iodevices import PUPDevice\n" +"from pybricks.parameters import Port\n" +"from uerrno import ENODEV\n" +"\n" +"# Dictionary of device identifiers along with their name.\n" +"device_names = {\n" +" # pybricks.pupdevices.DCMotor\n" +" 1: \"Wedo 2.0 Medium Motor\",\n" +" 2: \"Powered Up Train Motor\",\n" +" # pybricks.pupdevices.Light\n" +" 8: \"Powered Up Light\",\n" +" # pybricks.pupdevices.Motor\n" +" 38: \"BOOST Interactive Motor\",\n" +" 46: \"Technic Large Motor\",\n" +" 47: \"Technic Extra Large Motor\",\n" +" 48: \"SPIKE Medium Angular Motor\",\n" +" 49: \"SPIKE Large Angular Motor\",\n" +" 65: \"SPIKE Small Angular Motor\",\n" +" 75: \"Technic Medium Angular Motor\",\n" +" 76: \"Technic Large Angular Motor\",\n" +" # pybricks.pupdevices.TiltSensor\n" +" 34: \"Wedo 2.0 Tilt Sensor\",\n" +" # pybricks.pupdevices.InfraredSensor\n" +" 35: \"Wedo 2.0 Infrared Motion Sensor\",\n" +" # pybricks.pupdevices.ColorDistanceSensor\n" +" 37: \"BOOST Color Distance Sensor\",\n" +" # pybricks.pupdevices.ColorSensor\n" +" 61: \"SPIKE Color Sensor\",\n" +" # pybricks.pupdevices.UltrasonicSensor\n" +" 62: \"SPIKE Ultrasonic Sensor\",\n" +" # pybricks.pupdevices.ForceSensor\n" +" 63: \"SPIKE Force Sensor\",\n" +" # pybricks.pupdevices.ColorLightMatrix\n" +" 64: \"SPIKE 3x3 Color Light Matrix\",\n" +"}\n" +"\n" +"# Make a list of known ports.\n" +"ports = [Port.A, Port.B]\n" +"\n" +"# On hubs that support it, add more ports.\n" +"try:\n" +" ports.append(Port.C)\n" +" ports.append(Port.D)\n" +"except AttributeError:\n" +" pass\n" +"\n" +"# On hubs that support it, add more ports.\n" +"try:\n" +" ports.append(Port.E)\n" +" ports.append(Port.F)\n" +"except AttributeError:\n" +" pass\n" +"\n" +"# Go through all available ports.\n" +"for port in ports:\n" +"\n" +" # Try to get the device, if it is attached.\n" +" try:\n" +" device = PUPDevice(port)\n" +" except OSError as ex:\n" +" if ex.args[0] == ENODEV:\n" +" # No device found on this port.\n" +" print(port, \": ---\")\n" +" continue\n" +" else:\n" +" raise\n" +"\n" +" # Get the device id\n" +" id = device.info()[\"id\"]\n" +"\n" +" # Look up the name.\n" +" try:\n" +" print(port, \":\", device_names[id])\n" +" except KeyError:\n" +" print(port, \":\", \"Unknown device with ID\", id)\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/iodevices/xboxcontroller.po b/doc/locales/de/LC_MESSAGES/iodevices/xboxcontroller.po new file mode 100644 index 00000000..a9ce9df1 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/iodevices/xboxcontroller.po @@ -0,0 +1,341 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/iodevices/xboxcontroller.rst:4 da498f76d1e648829bc06abfa5e7c28e +msgid "Xbox Controller" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:6 3f1f4b1875404b72b65dc207694ff75a +msgid ".. image:: ../../main/diagrams_source/xboxcontroller.png" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:9 4b93c07bbc45422fac1c9d9c78a0ef2a +msgid ".. image:: /blockimg/pybricks_variables_set_xbox_controller.svg" +msgstr "" + +#: f64a7486a6344157be5d5fff9adbfdf0 of pybricks.iodevices.XboxController:1 +msgid "" +"Use the Microsoft® Xbox® controller as a sensor in your projects to " +"control them remotely." +msgstr "" + +#: ff6191937f84457a9ddf87f7ce0c4d59 of pybricks.iodevices.XboxController:4 +msgid "" +"The hub will scan for the controller and connect to it. It will " +"disconnect when the program ends." +msgstr "" + +#: cf8326e9ab45410ea4f7a8e4207552c7 of pybricks.iodevices.XboxController:7 +msgid "" +"For tips on connectivity and pairing, see :ref:`below `." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:14 3aa9b72a7bdb4c9d99b1ff7d73cc37bc +msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_XboxController.svg" +msgstr "" + +#: 0888867720534cb6af3bab36b01023ef of pybricks._common.Keypad.pressed:1 +msgid "Checks which buttons are currently pressed." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst 11e6125b70d84f778412238b9e4258fb +#: 89bd355cb680426cb9befbe6679ba9df 932e6c94c2814221abbf0e9797486107 +#: b53b649c3fb44817b59442d6bf1de9a2 cf950589fa57409ebe7c86969ee714f8 +#: f6b61e75475040b1811817d92519f8dc +msgid "Returns" +msgstr "" + +#: 763d16630d094f2fb8c47ddf3ee4e58c of pybricks._common.Keypad.pressed:3 +msgid "Set of pressed buttons." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:18 1e8d42ab931141c18859d8a726795160 +msgid "Buttons include:" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:20 eaf7d14383774a05bb3aa03a62daa251 +msgid "``Button.A``, ``Button.B``, ``Button.X``, ``Button.Y``." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:21 b03834221c1a4d16aeb68292be5b5fca +msgid "" +"``Button.UP``, ``Button.DOWN``, ``Button.LEFT``, ``Button.RIGHT`` " +"(direction pad). At most two of these can be pressed at the same time." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:23 ead35b31bf154ba8862f6e7588471813 +msgid "``Button.LB`` and ``Button.RB`` (bumpers)." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:24 9bcb960fd5364ada9cbb519515a2fa6a +msgid "``Button.LJ`` and ``Button.RJ`` (pressing the joysticks)." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:25 3fd6271d97d64a8a97de60bf46c3ac55 +msgid "" +"``Button.VIEW``, ``Button.MENU``, ``Button.GUIDE`` (the Xbox logo), and " +"``Button.UPLOAD``." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:26 e7cd7c10f1b04764a5b8bc99e186e05f +msgid "" +"``Button.P1``, ``Button.P2``, ``Button.P3``, and ``Button.P4`` (Elite " +"Series 2 only). Pressing the paddles may also be detected as other button" +" presses, depending on the currently active profile." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:30 ebe84ea0169d4d438873ee7c9b43713a +msgid ".. image:: /blockimg/pybricks_blockJoystickValue_lj_x.svg" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:32 91d934c247614547b161d9116ee5641e +msgid ".. image:: /blockimg/pybricks_blockJoystickValue_lj_y.svg" +msgstr "" + +#: 1eed8f9d310449e4b105fab1578c36bf of +#: pybricks.iodevices.XboxController.joystick_left:1 +msgid "" +"Gets the left joystick position as percentages between -100% and 100%. " +"The center position is (0, 0)." +msgstr "" + +#: 89670685c5454096a986ff465e2cfdfe ff801829fe9a4c5db3557a9b630d73da of +#: pybricks.iodevices.XboxController.joystick_left:4 +#: pybricks.iodevices.XboxController.joystick_right:4 +msgid "Tuple of X (horizontal) and Y (vertical) position." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:37 5b85df5ff92946caa5bd8b50b69ab036 +msgid ".. image:: /blockimg/pybricks_blockJoystickValue_rj_x.svg" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:39 58867a7c4fd94e0d8261f4a2abf0add0 +msgid ".. image:: /blockimg/pybricks_blockJoystickValue_rj_y.svg" +msgstr "" + +#: d3c74e213d7a46519f04c872a9df9a9f of +#: pybricks.iodevices.XboxController.joystick_right:1 +msgid "" +"Gets the right joystick position as percentages between -100% and 100%. " +"The center position is (0, 0)." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:44 637367956fb44f48a703d837b5ffd458 +msgid ".. image:: /blockimg/pybricks_blockJoystickValue_lt.svg" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:46 f64833af4b6548ef93804524a7b97cef +msgid ".. image:: /blockimg/pybricks_blockJoystickValue_rt.svg" +msgstr "" + +#: 880f3263397d42c0a409682a9ed3c7ec of +#: pybricks.iodevices.XboxController.triggers:1 +msgid "" +"Gets the left and right trigger positions as percentages between 0% and " +"100%." +msgstr "" + +#: dffbde2d44e540bbad8e8f790e6f06a5 of +#: pybricks.iodevices.XboxController.triggers:4 +msgid "Tuple of left and right trigger positions." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:51 0d7b9919fade4a38be18a20548e441dd +msgid ".. image:: /blockimg/pybricks_blockJoystickValue_dpad.svg" +msgstr "" + +#: 3c2a333ab37444e494fc1cd4d04f669c of pybricks.iodevices.XboxController.dpad:1 +msgid "" +"Gets the direction-pad value. ``1`` is up, ``2`` is up-right, ``3`` is " +"right, ``4`` is down-right, ``5`` is down, ``6`` is down-left, ``7`` is " +"left, ``8`` is up-left, and ``0`` is not pressed." +msgstr "" + +#: f54b9217b6fa4711884eb0fd259c4300 of pybricks.iodevices.XboxController.dpad:5 +msgid "" +"This is essentially the same as reading the state of the ``Button.UP``, " +"``Button.RIGHT``, ``Button.DOWN``, and ``Button.LEFT`` buttons, but this " +"method conveniently returns a number that indicates a direction." +msgstr "" + +#: 101a0bdfd58b4c14bfc435cdbc2c6d6f of +#: pybricks.iodevices.XboxController.dpad:10 +msgid "Direction-pad position, indicating a direction." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:55 8a24a38809af43babee508797ae30a1c +msgid ".. image:: /blockimg/pybricks_blockJoystickValue_profile.svg" +msgstr "" + +#: ff866bbba41d49e991f85cbcafb6179c of +#: pybricks.iodevices.XboxController.profile:1 +msgid "" +"Gets the current profile of the controller. Only available on the Xbox " +"Elite Controller Series 2." +msgstr "" + +#: 4c1de3b8b13f47b4a7396cc71e9aaa99 of +#: pybricks.iodevices.XboxController.profile:4 +msgid "Profile number." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:59 736ccd9f180a4ada833f3c910e519a3b +msgid ".. image:: /blockimg/pybricks_blockGamepadRumble_default.svg" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:61 1d0579c8fc4a4dd19388e18414fca60c +msgid ".. image:: /blockimg/pybricks_blockGamepadRumble_default_with_list.svg" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:64 a714858865ca48c7bf77709dacb7f44c +msgid ".. image:: /blockimg/pybricks_blockGamepadRumble_with_options.svg" +msgstr "" + +#: 8581ae36786e41278af5659d7438fb3d of +#: pybricks.iodevices.XboxController.rumble:1 +msgid "Makes the builtin actuators rumble, creating force feedback." +msgstr "" + +#: ef0dbe3e20c04b78a46da6b4e2f93f04 of +#: pybricks.iodevices.XboxController.rumble:3 +msgid "" +"If you give a single ``power`` value, the left and right main actuators " +"will both rumble with that power. For more fine-grained control, set " +"``power`` as a tuple of four values, which control the left main " +"actuator, right main actuator, left trigger actuator, and the right " +"trigger actuator, respectively. For example, ``power=(0, 0, 100, 0)`` " +"makes the left trigger rumble at full power." +msgstr "" + +#: 7c059ce5900c4982a5828ceb37b9f972 of +#: pybricks.iodevices.XboxController.rumble:10 +msgid "" +"The rumble runs in the background while your program continues. To make " +"your program wait, just pause the program for a matching duration. For " +"one rumble, this equals ``duration``. For multiple rumbles, this equals " +"``count * (duration + delay)``." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst 3a9f251edc1941739ef338430da362f7 +msgid "Parameters" +msgstr "" + +#: fcca7b5dbcfb4c54af7137a103dfcf2a of +#: pybricks.iodevices.XboxController.rumble:15 +msgid "Rumble power." +msgstr "" + +#: b3a3a8912b9644bf9617f890a2a15a4c of +#: pybricks.iodevices.XboxController.rumble:17 +msgid "Rumble duration." +msgstr "" + +#: 14a42649ee36470bb75e12e7f1f6b370 of +#: pybricks.iodevices.XboxController.rumble:19 +msgid "Rumble count." +msgstr "" + +#: 67679a2216254ab9ab11235b8dcbd77c of +#: pybricks.iodevices.XboxController.rumble:21 +msgid "Delay before each rumble. Only if ``count > 1``." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:72 96310cab3f934963b9c8c8b4aef53910 +msgid "Xbox Controller Pairing Instructions" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:73 393dbcaa8601481193f4ff66c402e71b +msgid "" +"The first time you use a controller with a hub, you will need to pair " +"them: Turn the controller on and then press and hold the pairing button " +"on the back of the controller for a few seconds. When you release it, the" +" Xbox button starts flashing more rapidly. Then start your program." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:78 64df7cb9a450498aa308e98b43da99a0 +msgid "" +"When pairing and the connection is succesful, the Xbox button will stop " +"flashing and stay on for as long as the program is running." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:82 1e84c1c4d20643cc8cd5344ab551f1f1 +msgid "Repeat Connections" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:84 397a9fe28edd44519e1ca33d91874cf0 +msgid "" +"If you keep using the same controller with the same hub, you can simply " +"turn the controller on the next time and the hub will connect to it " +"automatically when your program with this class runs." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:88 82fe1f81b74048ef974539caf51a5a15 +msgid "" +"The Xbox controller only accepts this simpler connection with the most " +"recently connected device. So if you connect to your Xbox console again, " +"or connect to another hub, you will need to pair them again as described " +"above." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:94 1f3d3faa91bd47c39086d45fc49f68ff +msgid "Compatible Controllers" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:96 31791ddeb3fe49998b7bab5cc8c86e27 +msgid "" +"All Xbox controllers released since 2016 are compatible. This includes " +"the controller from the One S (``1708`` from 2016), the Elite Series 2 " +"(``1797`` from 2019), and the Series X/S (``1914`` from 2020), which is " +"the latest model as of this writing." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:107 47ec4f14fc5a4dc2ba7dfa45fb9ec1c2 +msgid "Updating the Xbox Controller" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:109 29d8fb8ae4004d8e9b019711f548a1ee +msgid "" +"If you frequently use the Xbox Controller with your console, your " +"controller is probably already up to date. If you have not used it for a " +"while or if you bought one recently, you may need to update it." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:113 2bb1b6d4c5ba4d4e83a64e153dade81b +msgid "" +"To update the controller without a console, you can use the Xbox " +"Accessories app on a Windows computer. You can download it from the " +"Microsoft Store. Connect the controller via USB to the computer and " +"follow the instructions in the app to click on \"Update now\"." +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:119 8f69d636c52f45a0a919749b2cbe782e +msgid "Technic Hub Limitations" +msgstr "" + +#: ../../main/iodevices/xboxcontroller.rst:121 b49a24581a294452ae0893aa66a56614 +msgid "" +"Due to limitations of the Technic Hub, the hub will disconnect from the " +"computer when searching for the Xbox controller. This means you will not " +"be able to see output from the ``print`` command. Also, you'll have to " +"connect to the computer again if you want to change your program." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/micropython/builtins.po b/doc/locales/de/LC_MESSAGES/micropython/builtins.po new file mode 100644 index 00000000..30d65f18 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/micropython/builtins.po @@ -0,0 +1,1391 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/micropython/builtins.rst:2 b85a6c29396f4e5b8ab7c9f5417462a2 +msgid "Built-in classes and functions" +msgstr "" + +#: ../../main/micropython/builtins.rst:4 7d7c86b29d424d16ad0c2ba19663173c +msgid "" +"The classes and functions shown on this page can be used without " +"importing anything." +msgstr "" + +#: ../../main/micropython/builtins.rst:8 ec5b7b889e634251a7bfa6cd7687b372 +msgid "Input and output" +msgstr "" + +#: bacda4e6fb4f4375984ba79988de52d3 of ubuiltins.input:1 +msgid "input() -> str input(prompt) -> str" +msgstr "" + +#: f659923d9daa4f269e5a7cbb1090e02d of ubuiltins.input:4 +msgid "" +"Gets input from the user in the terminal window. It waits until the user " +"presses :kbd:`Enter`." +msgstr "" + +#: ../../main/micropython/builtins.rst 03549ab4ad6648b5b474c53f6a2d85f1 +#: 086f353c635843c4ac00bb8c78aba0a1 137015d943234185b5a2121f1a851d0c +#: 143502e94b804a2e9cc260ca3cad43cd 14520705c87141d9b52bab3dc7aa7120 +#: 1483e3d8722d448aa6bb702cf7cd78ba 157fe0a621cd4427abe139e9f385d050 +#: 1ad57990f97c42c1b38b33d07ba2ac22 2948b35bb1bb4cec8495876960b05a3c +#: 2ddf93a0fafd4217a6110b736ed57ff9 3ce0822d00694be686356ace97a089c7 +#: 3d94ec02b877405fa4f756e560263bd0 4670d4948a834bc7b063c25f6bd7d02e +#: 4b0be7684ebc477cb8b93541b73a5e67 5304b50553d34df394ccc3dc00b081e9 +#: 5484eed76be34057b3a96a74aaba9c07 5d2b13c8ecc64824b305662918c888e2 +#: 62a313600099453db6f95a5916a6d814 63c15c96746c4c8cac2dec6e61c172bc +#: 6566b8ce31984785af04b10f5f02df5a 7208ca8bea094e71bc8c8548b4393c4d +#: 753b652cbb8047d08e9301b1aea8fc37 77051ec9518d4c7097daaac9f1031d24 +#: 78fb87c21f8b4cdd9484163c57eddc02 7a9210aedc454de6b58a460e1a0d7063 +#: 7aa1576416bb4532828f561183c8afcf 80b4e62186534aa18ef02c71a75eaa54 +#: 80d14de2456e4eb2b1a1154be1d22cc1 8dd5ac681cd04e2c95e382cc9504e9d1 +#: 963e18da01b64884a80676f7aeb2b47d 982e913d33024d89bd2c7792c90239f2 +#: 9aa678a5cd724da4b18c060eac455737 9e4ae2490f4d4d399e8a38ffc1fee6ce +#: a0b8dd4c4bbc4dac9f3da5d4a0243268 a203781ac4724d618e1f968aef8f2eb6 +#: a268c04c88084b3dad9476a6b0f23d67 a80cbaba70314db1be439fa3b1c5ed72 +#: b1988a4ea19d48deb2298df88f1d7ac9 b4abf439a52546918568aaee5c973e89 +#: b8f434895eb045edbfbecfc76a23552c c3f8edb18a9a4e20993d4df23aec9e45 +#: c874bddccf3d49ebbc8f3227a0602299 cd9b916739ad48418b8f9ea2ae5803c4 +#: cf53cc2a9da2475a83fca115a76a79cc d106c1ca57a14b34b4e241d3ec8a3cdb +#: d3289dc553454ecd955ca77e643ebfff d4541caaaf1646d6a60ebc742ef18f62 +#: da1beef8b1c34e868131a32b2406f63e db1ba6d0f06f4842a301775af1ed59d0 +#: e53b03acdf234bb7b8ab6a0eb5c1287f e80b196d87114d2abe4d39c3c38f3476 +#: e9f44ff2744840a5acae4b49995bc93c ef9d829271ab404aa25fae5fb240d84d +#: f807afe168014a17ac6ca6cd172501b3 ff47f17b597e444daf0bf384f66221eb +msgid "Parameters" +msgstr "" + +#: 687e1fe888b84ca1ac0eb8919dbc1010 of ubuiltins.input:7 +msgid "" +"If given, this is printed in the terminal window first. This can be used " +"to ask a question so the user knows what to type." +msgstr "" + +#: ../../main/micropython/builtins.rst 03ed9b549e674f8b830b5688c929bee4 +#: 0935a7421438452d9ff2783afeee0d9d 130a45f1c1784187b619fa3cb9aa450a +#: 14ada215ef0b4d14bfb486eb79fdd83e 1ca5ccdd3f0540afbc63a27b9069ffb5 +#: 287ae187cecc4e48807a171c879fd8cf 316c48e0bd9e4a0ead3bb1ebbbad5ecc +#: 34db986bb0f04361a83fcfdd8d69a76b 3746a091ca83417c99d322779fae97a0 +#: 3769fd0899e4436384b74ac219c8353f 3b7bb45febcb40439111b580be42c7c4 +#: 4c3fd1d713c7448daf2d0acbb72d67f2 4fa97816ade545cfa3c7fa4383cbaeb5 +#: 502a2296841a4f1ca22d185faae172d5 56d4dae7c68d46d9bc99ae90d9bed392 +#: 5d6458b426234c56bb2a89c02a3ccaa7 69f7824c670845f6b53b396111570b96 +#: 757336b9d9a948fba657c9ae7fc2fdc1 7ba140c7381d47249a00fa33498f90fa +#: 82f6ce832c0a43be9b98223c98cde3e7 84918014efde4d72ad89b1458b8aee2a +#: 87d38b1e9ab44810a309c585cc498cb7 9d555585055e4358bc93fe58730cc43b +#: a2d267efba5a422a802ad04c027a1687 a38a1e2500b64ca7bb76854969192e21 +#: a8748292772d4fb287ad982b94a13b6a aae1d60298554e56aded9177524a9909 +#: abe622c5de3845f6bf8ef53fa357bd4c ac25172d6f814cb28678d81bb8a1ccf5 +#: ace0d8adf9c04ccbae89c8d094de2600 ae74ae20a9ae4bb787d9dbb0b6e5f2ab +#: b63e7666761a48a8885ea34f866b83ac b6a1433356034781b36785bb244dcacd +#: b893aaf749e04283a9c47e314378cd57 b8b2ae46ceed4d61a645eeec53d73f57 +#: bef1d8d179b14e8d8107c768a6ba90f0 c6a2d9a38ebd49baabd98ba70c0c1674 +#: c7c0e3eda69b446bb896f50c5304cd77 d038a8afb42041e8ac8f2dc7fbea9a4b +#: d7c8bfd301274d8a97defb3f544e767b d7fef30b013e42c09331291ace05fba3 +#: e78c1e4730f64f0dbde39fda02968048 f2dc42c6a8c048df8e59586c04dfd3b0 +#: f6e2010a64844a22bc795b36fbca9850 f70604514ded4f279832cc512a82f56f +#: fb3437eaa6af4267b112c2f4f546cc44 +msgid "Returns" +msgstr "" + +#: 02c2d8d370dd4cb7a590c8db58b474e3 of ubuiltins.input:11 +msgid "Everything the user typed before pressing :kbd:`Enter`." +msgstr "" + +#: ../../main/micropython/builtins.rst:16 48ad70213b954e9cb2baaeb82af33e70 +msgid ".. image:: /blockimg/pybricks_blockPrint_print_basic.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:18 b3c0b5d399ec46f5b789c96359480c03 +msgid ".. image:: /blockimg/pybricks_blockPrint_print_multiple.svg" +msgstr "" + +#: 8e0fcc096a7d4cd5965f5cc4f941f4f0 of ubuiltins.print:1 +msgid "print(*objects, sep=\" \", end=\"\\n\", file=usys.stdin)" +msgstr "" + +#: 7f73ced025464b3882125ee7eb1d40b0 of ubuiltins.print:3 +msgid "Prints text or other objects in the terminal window." +msgstr "" + +#: e7d24f9c70e54f3ab5e3ed7dd8ebb1ae of ubuiltins.print:5 +msgid "Zero or more objects to print." +msgstr "" + +#: ../../main/micropython/builtins.rst 6ead053d2ae6461f85492acedc6e1ea0 +msgid "Keyword Arguments" +msgstr "" + +#: d43a5d96288e49ef9f02fcbfc2f4e2bc of ubuiltins.print:7 +msgid "This is printed between objects, if there is more than one." +msgstr "" + +#: 6ae54732958f469c82538e43f212ddb6 of ubuiltins.print:9 +msgid "This is printed after the last object." +msgstr "" + +#: fb9bdd4c539d460782f0ac4939df89a3 of ubuiltins.print:11 +msgid "" +"By default, the result is printed in the terminal window. This argument " +"lets you print it to a file instead, if files are supported." +msgstr "" + +#: ../../main/micropython/builtins.rst:23 7de845d6f5f54e6bb30a9d6cdc863c63 +msgid "Basic types" +msgstr "" + +#: ../../main/micropython/builtins.rst:27 f0f0a75253424c1abcdeb1cf61c997e1 +msgid ".. image:: /blockimg/pybricks_blockLogicTrueFalse_false.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:29 81c029d38832444483b9bf467626ae36 +msgid ".. image:: /blockimg/pybricks_blockLogicTrueFalse_true.svg" +msgstr "" + +#: 204a516d758e4894afb5b6f3645cd0b1 of ubuiltins.bool:1 +msgid "Creates a boolean value, which is either ``True`` or ``False``." +msgstr "" + +#: 463585771f0d487985b3dcf51ff21c83 of ubuiltins.bool:3 +msgid "" +"The input value is converted using the standard truth testing procedure. " +"If no input is given, it is assumed to be ``False``." +msgstr "" + +#: 4c8cdc27d8804b8db4a1fc89974f2af3 7122dfe7be5e4a5cb23c9cf1e1c0b374 +#: cad451dd63d54b94a770b45dc81d5483 f8ba0231b0f44421b9c4b3bc441fd992 of +#: ubuiltins.bin:5 ubuiltins.bool:6 ubuiltins.hex:5 ubuiltins.oct:5 +msgid "Value to be converted." +msgstr "" + +#: 77e813b776684f469760991d93d2b93f of ubuiltins.bool:8 +msgid "Result of the truth-test." +msgstr "" + +#: 6d6bd4a7aabe4093ab89000406726aeb of ubuiltins.complex:1 +msgid "Creates a complex number from a string or from a pair of numbers." +msgstr "" + +#: 7ab387787bf840aa90e5e98bc371424e of ubuiltins.complex:3 +msgid "" +"If a string is given, it must be of the form ``'1+2j'``. If a pair of " +"numbers is provided, the result is computed as: ``a + b * j``." +msgstr "" + +#: 6a4489610d30499b9f40ea74721407c4 of ubuiltins.complex:7 +msgid "A string of the form ``'1+2j'`` ." +msgstr "" + +#: 1ed12ed8bb4241c3926a4ef77d44b209 bfa326fc1cb44e5aab0c954c1b3bde83 of +#: ubuiltins.complex:9 ubuiltins.complex:11 +msgid "A real-valued or complex number." +msgstr "" + +#: 42cd1a176247467eb33b0189816180fc of ubuiltins.complex:14 +msgid "The resulting complex number." +msgstr "" + +#: b7cf8336bfc04d1aa4705ac50bfdec3c of ubuiltins.dict:1 +msgid "Creates a dictionary object." +msgstr "" + +#: 13c43e04654840fba3f64dd1a8f95f13 of ubuiltins.dict:3 +msgid "" +"See the standard `Python documentation " +"`_ " +"for a comprehensive reference with examples." +msgstr "" + +#: 7bbbbee2e6a64e65bc54098b9440de4f of ubuiltins.float:1 +msgid "Creates a floating point number from a given object." +msgstr "" + +#: a09b9a7cf62042458d9190a6d85da939 of ubuiltins.float:3 +msgid "Number or string to be converted." +msgstr "" + +#: a7db6b1b684e4e699317f98c6848b6f6 of ubuiltins.int:1 +msgid "Creates an integer." +msgstr "" + +#: 3ad58a348c8e432a9a36fcc38472357b 78be22492744410d9a4b9727352ac431 of +#: ubuiltins.int:3 ubuiltins.repr:3 +msgid "Object to be converted." +msgstr "" + +#: e51c93a4947a4eb5af81f7fda5dc7ed0 of ubuiltins.int.to_bytes:1 +msgid "Get a :class:`bytes` representation of the integer." +msgstr "" + +#: d0682e3b6c7c4585a383085771c98c27 of ubuiltins.int.to_bytes:3 +msgid "How many bytes to use." +msgstr "" + +#: a9ae4a825c6444d3905ae63a237e1d74 of ubuiltins.int.to_bytes:5 +msgid "" +"Choose ``\"big\"`` to put the most significant byte first. Choose " +"``\"little\"`` to put the least significant byte first." +msgstr "" + +#: ae0887f4552f4590abc4cc6f30f2d82e of ubuiltins.int.to_bytes:10 +msgid "Byte sequence that represents the integer." +msgstr "" + +#: 0a9f519c555f4d31ba0d6663b816f23c of ubuiltins.int.from_bytes:1 +msgid "Convert a byte sequence to the number it represents." +msgstr "" + +#: 27dc9efaf258475997f7c56e408ae263 of ubuiltins.int.from_bytes:3 +msgid "The bytes to convert." +msgstr "" + +#: d89eeb20c83c4494bfb6dec39645aa86 of ubuiltins.int.from_bytes:5 +msgid "" +"Choose ``\"big\"`` if the most significant byte is the first element. " +"Choose ``\"little\"`` if the least significant byte is the first element." +msgstr "" + +#: 2b2fccd983ea4e198974d36cc537ee72 of ubuiltins.int.from_bytes:10 +msgid "The number represented by the bytes." +msgstr "" + +#: 9847a6e46892457aacce3006d4287126 of ubuiltins.object:1 +msgid "Creates a new, featureless object." +msgstr "" + +#: b41978b611ee44e0a906ba6bfe901dc3 of ubuiltins.type:1 +msgid "" +"Gets the type of an object. This can be used to check if an object is an " +"instance of a particular class." +msgstr "" + +#: a3988299ba12487eb7307cf859fefadf of ubuiltins.type:4 +msgid "Object of which to check the type." +msgstr "" + +#: ../../main/micropython/builtins.rst:63 da300c3abf79483aad382a8b17a47048 +msgid "Sequences" +msgstr "" + +#: efb9abde8a3e40cabed69a17cf911f90 of ubuiltins.bytearray:1 +msgid "" +"Creates a new ``bytearray`` object, which is a sequence of integers in " +"the range :math:`0 \\leq x \\leq 255`. This object is *mutable*, which " +"means that you *can* change its contents after you create it." +msgstr "" + +#: 95509a686a544d90a6348f5f83c3fbc1 of ubuiltins.bytearray:5 +msgid "If no argument is given, this creates an empty ``bytearray`` object." +msgstr "" + +#: 1dc60154ead2403aad61e52105cf13c6 of ubuiltins.bytearray:7 +msgid "" +"If the argument is a single integer, this creates a ``bytearray`` object " +"of zeros. The argument specifies how many." +msgstr "" + +#: 0dff25e5e1fb4ede828ca2a4894f5005 of ubuiltins.bytearray:10 +msgid "" +"If the argument is a ``bytearray``, ``bytes`` object, or some other " +"iterable of integers, this creates a ``bytearray`` object with the same " +"byte sequence as the argument." +msgstr "" + +#: adf5651a2a5845b6ae7b56e8883378a0 of ubuiltins.bytearray:14 +msgid "" +"If the argument is a string, this creates a ``bytearray`` object " +"containing the encoded string." +msgstr "" + +#: 4922495975dc49298b660f8e2c639ba0 of ubuiltins.bytes:1 +msgid "" +"Creates a new ``bytes`` object, which is a sequence of integers in the " +"range :math:`0 \\leq x \\leq 255`. This object is *immutable*, which " +"means that you *cannot* change its contents after you create it." +msgstr "" + +#: bd7545c95d2c40718411295adcedd4f5 of ubuiltins.bytes:5 +msgid "If no argument is given, this creates an empty ``bytes`` object." +msgstr "" + +#: bc592cc99a23468d8274c216031a4582 of ubuiltins.bytes:7 +msgid "" +"If the argument is a single integer, this creates a ``bytes`` object of " +"zeros. The argument specifies how many." +msgstr "" + +#: 218598bcf8f542b9b6cdfafed8d6ecf2 of ubuiltins.bytes:10 +msgid "" +"If the argument is a ``bytearray``, ``bytes`` object, or some other " +"iterable of integers, this creates a ``bytes`` object with the same byte " +"sequence as the argument." +msgstr "" + +#: 2431a031208444dbab6330161a2656f4 of ubuiltins.bytes:14 +msgid "" +"If the argument is a string, this creates a ``bytes`` object containing " +"the encoded string." +msgstr "" + +#: 47c6278496f24ac6bb1bfa1168b3cb04 of ubuiltins.bytes:17 +msgid "" +"Specifies which encoding to use for the ``string`` argument. Only " +"``\"utf-8\"`` is supported." +msgstr "" + +#: ../../main/micropython/builtins.rst:75 cfc4b740999549edbffd51c3e8d6e513 +msgid ".. image:: /blockimg/pybricks_blockListLength.svg" +msgstr "" + +#: 25f09c52a7d747a9a4af78b386bfdb4a of ubuiltins.len:1 +msgid "Gets the length (the number of items) of an object." +msgstr "" + +#: b9a30edb319b4fa2b1b93f37d636dcb7 of ubuiltins.len:3 +msgid "The sequence of which to get the length." +msgstr "" + +#: 1b9fbe2eef9c44f18bec8ee13bdd5d32 of ubuiltins.len:6 +msgid "The length." +msgstr "" + +#: ../../main/micropython/builtins.rst:81 f3d4d6628bc7492e8bd6cb15bdfafbc3 +msgid ".. image:: /blockimg/pybricks_blockListCreate_list_empty.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:84 cd85640f24ec4b9d840406f250f0ec7e +msgid ".. image:: /blockimg/pybricks_blockListCreate_list_3.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:87 92f56bae52bb4e67937ee02f143d1c07 +msgid ".. image:: /blockimg/pybricks_blockListUnpack.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:90 4cfe77ea0734477ab7f17addb4346cd3 +msgid ".. image:: /blockimg/pybricks_blockListGet_list_get_first.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:93 df224935c7df45beb0e6284303298384 +msgid ".. image:: /blockimg/pybricks_blockListGet_list_get_index.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:96 1dcc5a4e1c9b4f82872b45a63b2c14bd +msgid ".. image:: /blockimg/pybricks_blockListGet_list_get_last.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:99 8524aeeab16e440ea9897f960d3cbc9e +msgid ".. image:: /blockimg/pybricks_blockListGet_list_get_random.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:102 0a2e4d4687b04390b6ec99fc1f0070dd +msgid ".. image:: /blockimg/pybricks_blockListSet_list_insert_first.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:105 ce94de4fb23747d1928aa08f7556c5eb +msgid ".. image:: /blockimg/pybricks_blockListSet_list_insert_index.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:108 2dfbbb64fe0a47c28eb0f6d58047c26f +msgid ".. image:: /blockimg/pybricks_blockListSet_list_insert_last.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:111 1b34b0a87d854bd5b1a310a4bda6eaa0 +msgid ".. image:: /blockimg/pybricks_blockListSet_list_remove_first.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:114 a85187f5dd81483783f621cfdef45f7d +msgid ".. image:: /blockimg/pybricks_blockListSet_list_remove_index.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:117 b26184a0c6be4ee3a8b309d7bc10ca14 +msgid ".. image:: /blockimg/pybricks_blockListSet_list_remove_last.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:120 55b76be9582146f189008b3d7ee97da6 +msgid ".. image:: /blockimg/pybricks_blockListSet_list_set_first.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:123 03cc129d069a4045bd2ca139961cf88a +msgid ".. image:: /blockimg/pybricks_blockListSet_list_set_index.svg" +msgstr "" + +#: ../../main/micropython/builtins.rst:126 900b25a2c2dd47a4971ff435b716cb3e +msgid ".. image:: /blockimg/pybricks_blockListSet_list_set_last.svg" +msgstr "" + +#: 21d81f744226411f9a9609983d3f9910 of ubuiltins.list:1 +msgid "" +"Creates a new list. If no argument is given, this creates an empty " +"``list`` object." +msgstr "" + +#: cc30ffeb6fe54ff5bf99db28238449f5 of ubuiltins.list:4 +msgid "" +"A list is *mutable*, which means that you *can* change its contents after" +" you create it." +msgstr "" + +#: 08bede73e7b14eeb840e683e3ebbaf3e of ubuiltins.list:7 +msgid "Iterable from which to build the list." +msgstr "" + +#: 5d1f7c832729409db3db11cc2230988b of ubuiltins.set:1 +msgid "Creates a new set." +msgstr "" + +#: f6457e1e58bf4220847d89c78fa21122 of ubuiltins.set:3 +msgid "" +"With no arguments, creates a new empty set, otherwise creates a set " +"containing unique items of *iterable*." +msgstr "" + +#: 409ef67b15f94528a516470613c153b4 of ubuiltins.set:6 +msgid "Sets can also be created using a set literal::" +msgstr "" + +#: 4960675c45a144b2aa08a5d4c4582a36 of ubuiltins.set:8 +msgid "my_set = {1, 2, 3}" +msgstr "" + +#: 1fb7d9e44cb546ed82868844da607403 of ubuiltins.set:10 +msgid "" +"Elements of a set must be hashable. There are only a few types, like " +":class:`list` that aren't hashable." +msgstr "" + +#: 1031a3ae8ab54c86a693f28fd838bb68 of ubuiltins.set:13 +msgid "An iterable of hashable objects." +msgstr "" + +#: 671ffdb644bb46f5b1de71b43fe9f004 of ubuiltins.set.copy:1 +msgid "Returns a shallow copy of the set." +msgstr "" + +#: 6d81610e639c4ede817c62ddc996abf9 725100f51b0e4d6b82592c0325275a4d +#: aab0b4f65ba54910a0dc03c8b6f2d764 aef51f30d5f14ccdb3201034eb10bb27 +#: b40c68618c78402dab4d70e805608b69 of ubuiltins.set.copy:3 +#: ubuiltins.set.difference:9 ubuiltins.set.intersection:10 +#: ubuiltins.set.symmetric_difference:9 ubuiltins.set.union:9 +msgid "A new set." +msgstr "" + +#: 3800c3ac82c94b07ba48b960305aedcd of ubuiltins.set.difference:1 +msgid "Returns a new set with elements that are not in any of the other sets." +msgstr "" + +#: 93dbc160381e46d596359e1a3b40a6e7 of ubuiltins.set.difference:3 +msgid "The difference can also be computed using the ``-`` operator::" +msgstr "" + +#: d6b4fcc8faa74445888199aa83bf9f45 of ubuiltins.set.difference:5 +msgid "diff = s - other" +msgstr "" + +#: 516116608dbe484795d2c0a1b47507af 64ed9263a54d4fa7bec951d8a5ea37a0 +#: e1a8797c8bd14eab866f06b1538ee468 of ubuiltins.set.difference:7 +#: ubuiltins.set.intersection:8 ubuiltins.set.union:7 +msgid "1 or more other sets." +msgstr "" + +#: 754841bb9c35414e83ae79e110cb819c of ubuiltins.set.intersection:1 +msgid "" +"Returns a new set with elements that are common between this set and all " +"other sets." +msgstr "" + +#: 124c9575ad114abaa85ecd182a80891f of ubuiltins.set.intersection:4 +msgid "The intersection can also be computed using the ``&`` operator::" +msgstr "" + +#: 10ec83b4903743c6b78852682f29865d of ubuiltins.set.intersection:6 +msgid "intersect = s & other" +msgstr "" + +#: 718dfd3460db4d2cbb29c4ddda1dcdd1 of ubuiltins.set.isdisjoint:1 +msgid "Tests if a set and *other* have no elements in common." +msgstr "" + +#: 364e5c0b210748ae80cbe7c4899f3e5f 89c94b438e6f440fa88c0c772b2b1c0a +#: a758a11a58b8479fb2eb8f4e62973835 aa546f135a05436d99e81a5b7033533b of +#: ubuiltins.set.isdisjoint:3 ubuiltins.set.issubset:9 +#: ubuiltins.set.issuperset:9 ubuiltins.set.symmetric_difference:7 +msgid "Another set." +msgstr "" + +#: 7c5ebb23126c4935b6d9ccbe5cfa4063 of ubuiltins.set.isdisjoint:5 +msgid "" +"``True`` if this set has no elements in common with *other*, otherwise " +"``False``." +msgstr "" + +#: c8187579782b4c82b177931d8586ea28 of ubuiltins.set.issubset:1 +msgid "Tests if a set is a subset of *other*." +msgstr "" + +#: 76d6b57cc8714388a0b643478e080548 of ubuiltins.set.issubset:3 +msgid "The test can also be performed using using the ``<=`` operator::" +msgstr "" + +#: 945aac4f12a94ad0bdeb2a8efc5eda6f of ubuiltins.set.issubset:5 +msgid "" +"if s <= other:\n" +" # s is subset of other\n" +" ..." +msgstr "" + +#: f3631e0309d74b69aef3eaea44ef9007 of ubuiltins.set.issubset:11 +msgid "``True`` if this set is a subset of *other*, otherwise ``False``." +msgstr "" + +#: 146f5991750d40e4b92024a52e4596a7 of ubuiltins.set.issuperset:1 +msgid "Tests if a set is a superset of *other*." +msgstr "" + +#: 8df6ee6cba5a4538a4a651b21332a014 of ubuiltins.set.issuperset:3 +msgid "The test can also be performed using using the ``>=`` operator::" +msgstr "" + +#: b23a8b243b4f4ccc9378df7bf6323c0d of ubuiltins.set.issuperset:5 +msgid "" +"if s >= other:\n" +" # s is superset of other\n" +" ..." +msgstr "" + +#: f654000474c949b38ee0586985578ce3 of ubuiltins.set.issuperset:11 +msgid "``True`` if this set is a superset of *other*, otherwise ``False``." +msgstr "" + +#: c3e50312e71e40bdab47355deed5a32e of ubuiltins.set.symmetric_difference:1 +msgid "Returns a new set with elements in one set or the other but not in both." +msgstr "" + +#: 9342b527803548698cd4196b36cbe953 of ubuiltins.set.symmetric_difference:3 +msgid "The symmetric difference can also be computed using the ``^`` operator::" +msgstr "" + +#: fb7c70197dbd4626b6312bfde6ac1f3e of ubuiltins.set.symmetric_difference:5 +msgid "diff = s ^ other" +msgstr "" + +#: f61b5ba6d79e49a194ac349b6e6938c2 of ubuiltins.set.union:1 +msgid "Returns a new set with elements from this set and all other sets." +msgstr "" + +#: 4eb5bce469de418faf6062cfd8085fc9 of ubuiltins.set.union:3 +msgid "The union can also be computed using the ``|`` operator::" +msgstr "" + +#: 9b62b447ad864b3e922649d14eb44767 of ubuiltins.set.union:5 +msgid "u = s | other" +msgstr "" + +#: b4c84ce2865646c28f61c5a38dad056a of ubuiltins.slice:1 +msgid "Creating instances of this class is not supported." +msgstr "" + +#: 769b0fefbc2440f487684e382f8056ff of ubuiltins.slice:3 +msgid "" +"Use indexing syntax instead. For example: ``a[start:stop:step]`` or " +"``a[start:stop, i]``." +msgstr "" + +#: ../../main/micropython/builtins.rst:141 2a8f959e5c0e495e8059ac7881cca56f +msgid ".. image:: /blockimg/pybricks_blockTextLiteral.svg" +msgstr "" + +#: 78aef3249c3740d4be00dbb8c4746b96 of ubuiltins.str:1 +msgid "Gets the string representation of an object." +msgstr "" + +#: 8a5c0f93441a40c69c438d0d85241942 of ubuiltins.str:3 +msgid "If no argument is given, this creates an empty ``str`` object." +msgstr "" + +#: e96cb063d3844eafbe9e8188c907c49d of ubuiltins.str:5 +msgid "" +"If only this argument is given, this returns the string representation of" +" the object." +msgstr "" + +#: c1d6a1ad4184402b8172d691994b7093 of ubuiltins.str:7 +msgid "" +"If the first argument is a ``bytearray`` or ``bytes`` object and the " +"encoding argument is ``\"utf-8\"``, this will decode the byte data to get" +" a string representation." +msgstr "" + +#: ceec84ecd09d4a59a650fd1f64122a88 of ubuiltins.tuple:1 +msgid "" +"Creates a new tuple. If no argument is given, this creates an empty " +"``tuple`` object." +msgstr "" + +#: c9cbb79294ed4535a3aba488127d651e of ubuiltins.tuple:4 +msgid "" +"A tuple is *immutable*, which means that you *cannot* change its contents" +" after you create it." +msgstr "" + +#: ddef1526ef9546e7b6df03d2639739e7 of ubuiltins.tuple:7 +msgid "Iterable from which to build the tuple." +msgstr "" + +#: ../../main/micropython/builtins.rst:150 c757be623df8472bbbf6633eb4a7bec5 +msgid "Iterators" +msgstr "" + +#: e74ccbbf25954b25b873069bab71c6cc of ubuiltins.all:1 +msgid "Checks if all elements of the iterable are true." +msgstr "" + +#: 7bf136436c8b442c956887806d2c2add faf73cc670d24776baf928c5939b1a7d of +#: ubuiltins.all:3 ubuiltins.any:3 +msgid "Equivalent to::" +msgstr "" + +#: 764122b61bb94519bf982ba6ab24e3c6 of ubuiltins.all:5 +msgid "" +"def all(x):\n" +" for element in x:\n" +" if not element:\n" +" return False\n" +" return True" +msgstr "" + +#: 61a91b7da74a4eee97a3bebce076b363 a12bc7f35cc349bbaa475edbbd6110b0 of +#: ubuiltins.all:11 ubuiltins.any:11 +msgid "The iterable to be checked." +msgstr "" + +#: 7e0baf5eda444c75aa5437de647b9350 of ubuiltins.all:14 +msgid "" +"``True`` if the iterable ``x`` is empty or if all elements are true. " +"Otherwise ``False``." +msgstr "" + +#: 6b9961a018984c1292e8167aebe6b653 of ubuiltins.any:1 +msgid "Checks if at least one elements of the iterable is true." +msgstr "" + +#: 8f559c7de5b54bc6b45a3257bfe6c1cf of ubuiltins.any:5 +msgid "" +"def any(x):\n" +" for element in x:\n" +" if element:\n" +" return True\n" +" return False" +msgstr "" + +#: 7faf4881991947ad92161d94ab036658 of ubuiltins.any:14 +msgid "``True`` if at least one element in ``x`` is true. Otherwise ``False``." +msgstr "" + +#: e703dc52e58c4b9dab7db76193475b5d of ubuiltins.enumerate:1 +msgid "Enumerates an existing iterator by adding a numeric index." +msgstr "" + +#: f68da5ccefe348d69fe66b3030066d33 of ubuiltins.enumerate:3 +msgid "This function is equivalent to::" +msgstr "" + +#: 370fd57b1a604483b63dc65f4cde0439 of ubuiltins.enumerate:5 +msgid "" +"def enumerate(sequence, start=0):\n" +" n = start\n" +" for elem in sequence:\n" +" yield n, elem\n" +" n += 1" +msgstr "" + +#: b3fef563a0654b2a95b3d5f32c1c6bad of ubuiltins.iter:1 +msgid "Gets the iterator of the object if available." +msgstr "" + +#: 2274feb713614af895bda78514798cdb of ubuiltins.iter:3 +msgid "Object for which to get the iterator." +msgstr "" + +#: 6d7e36e989fa43688c16043ebb0c330a of ubuiltins.iter:5 +msgid "The iterator." +msgstr "" + +#: 4135ba1990d249d08755419cd207e08f of ubuiltins.map:1 +msgid "" +"Creates a new iterator that applies the given function to each item in " +"the given iterable and yields the results." +msgstr "" + +#: 0aea4dbf61294444a1f7e2b2e412b68d of ubuiltins.map:4 +msgid "" +"Function that computes a result for one item in the iterable(s). The " +"number of arguments to this function must match the number of iterables " +"given." +msgstr "" + +#: 43a3634afee543b2b806a9697456f381 of ubuiltins.map:8 +msgid "" +"One or more source interables from which to draw data. With multiple " +"iterables, the iterator stops when the shortest iterable is exhausted." +msgstr "" + +#: a4e59fbadb1b4911b6912c8026141d63 of ubuiltins.map:13 +msgid "The new, mapped iterator." +msgstr "" + +#: ea1312ba913948078bf5a734f6a26cbe of ubuiltins.next:1 +msgid "" +"Retrieves the next item from the iterator by calling its ``__next__()`` " +"method." +msgstr "" + +#: 9f3a50d0b4f7414792bf06f9569b261a of ubuiltins.next:3 +msgid "Initialized generator object from which to draw the next value." +msgstr "" + +#: 58252e1659534d758dcf38f1e0748de6 of ubuiltins.next:7 +msgid "The next value from the generator." +msgstr "" + +#: 4d58fdc12c624b748ff0efb9353a124f of ubuiltins.range:1 +msgid "" +"Creates a generator that yields values from ``start`` up to ``stop``, " +"with increments of ``step``." +msgstr "" + +#: 859fbaebc9474af2a1f8642681aec95b of ubuiltins.range:4 +msgid "Starting value. Defaults to ``0`` if only one argument is given." +msgstr "" + +#: 108cd25f88104929be7ace064e37d2c8 of ubuiltins.range:6 +msgid "Endpoint. This value is *not* included." +msgstr "" + +#: a33dcd208cb04e668d60bcce2e30e6e2 of ubuiltins.range:8 +msgid "" +"Increment between values. Defaults to ``1`` if only one or two arguments " +"are given." +msgstr "" + +#: 94886e1ac7f74334992622025ec7ea49 of ubuiltins.reversed:1 +msgid "" +"Gets an iterator that yields the values from the sequence in the reverse," +" if supported." +msgstr "" + +#: c19b7c353c304949b319ddc319cdfe72 of ubuiltins.reversed:4 +msgid "Sequence from which to draw samples." +msgstr "" + +#: 156d54d4646d4be9b94d0792f2548f66 of ubuiltins.reversed:6 +msgid "" +"Iterator that yields values in reverse order, starting with the last " +"value." +msgstr "" + +#: 62536eac93064cb2a0703982faa1233a of ubuiltins.sorted:1 +msgid "Sorts objects." +msgstr "" + +#: c24d391286d040a1af47109d4eb08680 of ubuiltins.sorted:3 +msgid "" +"Objects to be sorted. This can also be a generator that yield a finite " +"number of objects." +msgstr "" + +#: ff151b2111b843d8807b51819166f47c of ubuiltins.sorted:6 +msgid "" +"Function ``def(item) -> int`` that maps an object to a numerical value. " +"This is used to figure out the order of the sorted items." +msgstr "" + +#: 56f1ecf9543e4217ad62aeac3003bc59 of ubuiltins.sorted:10 +msgid "Whether to sort in reverse, putting the highest value first." +msgstr "" + +#: 876fd7e68e4a455db1ce221891add205 of ubuiltins.sorted:14 +msgid "A new list with the sorted items." +msgstr "" + +#: 648ca1b8ad6f41fa9200f3c6f6965f1e of ubuiltins.zip:1 +msgid "" +"Returns an iterator of tuples, where the *i*-th tuple contains the *i*-th" +" element from each of the argument sequences or iterables. The iterator " +"stops when the shortest input iterable is exhausted." +msgstr "" + +#: 33774896b11f44aeb89a43c12f614546 of ubuiltins.zip:5 +msgid "" +"With a single iterable argument, it returns an iterator of 1-tuples. With" +" no arguments, it returns an empty iterator." +msgstr "" + +#: e6696b1bba4b4f9794b4642eeb4d301c of ubuiltins.zip:8 +msgid "This functionality is equivalent to::" +msgstr "" + +#: 1ba25f2666cd40dea6d953e5111ef360 of ubuiltins.zip:10 +msgid "" +"def zip(*iterables):\n" +" sentinel = object()\n" +" iterators = [iter(it) for it in iterables]\n" +" while iterators:\n" +" result = []\n" +" for it in iterators:\n" +" elem = next(it, sentinel)\n" +" if elem is sentinel:\n" +" return\n" +" result.append(elem)\n" +" yield tuple(result)" +msgstr "" + +#: bf2ca3c502f04fdead0f80b2e9f9649e of ubuiltins.zip:22 +msgid "" +"The first iterable. This provides the first value for each of the yielded" +" tuples." +msgstr "" + +#: f1f8f2467f454bd68451874ce2cc2931 of ubuiltins.zip:25 +msgid "" +"The second iterable. This provides the second value in each of the " +"yielded tuples. And so on." +msgstr "" + +#: 844d12b67a914b8098cce039812c458b of ubuiltins.zip:29 +msgid "" +"A new iterator that yields tuples containing the values of the individual" +" iterables." +msgstr "" + +#: ../../main/micropython/builtins.rst:193 03368c0ad5cf4ca584dde7553d5aa371 +msgid "Conversion functions" +msgstr "" + +#: ae4a941a2c8e4ffd9d6bbcda392a4cfe of ubuiltins.bin:1 +msgid "" +"Converts an integer to its binary representation. The result is a string " +"prefixed with ``0b``. The result is a valid Python expression. For " +"example, ``bin(5)`` gives ``\"0b101\"``." +msgstr "" + +#: f6892969d2c14b84b7b3a44b05e6c692 of ubuiltins.bin:8 +msgid "A string representing the binary form of the input." +msgstr "" + +#: 49b3bcb2a7d940ae8b9df3e1ddf85125 of ubuiltins.chr:1 +msgid "" +"Returns the string representing a character whose Unicode code is the " +"integer ``x``. This is the inverse of :meth:`ord`. For example, " +"``chr(97)`` gives ``\"a\"``." +msgstr "" + +#: 98f0c23104da4f878714a3719ab3f4cb of ubuiltins.chr:5 +msgid "Value to be converted (0-255)." +msgstr "" + +#: b019555c1fbd4a1ca2893c1bceb1fd9f of ubuiltins.chr:8 +msgid "A string with one character, corresponding to the given Unicode value." +msgstr "" + +#: ae3666fb7ffc49c6ac9a717aac397ec5 of ubuiltins.hex:1 +msgid "" +"Converts an integer to its hexadecimal representation. The result is a " +"lowercase string prefixed with ``0x``. The result is a valid Python " +"expression. For example, ``hex(25)`` gives ``\"0x19\"``." +msgstr "" + +#: 9bb7f9c165304ce289303fe9dec1b95c of ubuiltins.hex:8 +msgid "A string representing the hexadecimal form of the input." +msgstr "" + +#: e3f518c87c974176ba60df3bb284f754 of ubuiltins.oct:1 +msgid "" +"Converts an integer to its octal representation. The result is a string " +"prefixed with ``0o``. The result is a valid Python expression. For " +"example, ``oct(25)`` gives ``\"0o31\"``." +msgstr "" + +#: eff453b2d10740d8a65a2031193cb912 of ubuiltins.oct:8 +msgid "A string representing the octal form of the input." +msgstr "" + +#: f50dfa3c1eae4f95b655518f4b24b810 of ubuiltins.ord:1 +msgid "" +"Converts a string consisting of one Unicode character to the " +"corresponding number. This is the inverse of :meth:`chr`." +msgstr "" + +#: 5eaa4c3c00684cc2b46caeb94e1c9a0c of ubuiltins.ord:4 +msgid "Character to be converted." +msgstr "" + +#: 830773257ab945fb8d0318367310c971 of ubuiltins.ord:7 +msgid "Number that represents the character (0--255)." +msgstr "" + +#: b58356a8ce0b4950a33bf9900b777c94 of ubuiltins.repr:1 +msgid "Gets the string that represents an object." +msgstr "" + +#: 74302d90ff1f4190af7301fcde52d794 of ubuiltins.repr:6 +msgid "String representation implemented by the object's ``__repr__`` method." +msgstr "" + +#: ../../main/micropython/builtins.rst:222 2e2597bf040c41b5ae037f72498900a8 +msgid "Math functions" +msgstr "" + +#: ../../main/micropython/builtins.rst:224 0c27b8ce453b40e693302f3585321f6e +msgid "See also :mod:`umath` for floating point math operations." +msgstr "" + +#: ../../main/micropython/builtins.rst:228 a05c63c024824d8ca2b36d50a802b95a +msgid ".. image:: /blockimg/pybricks_blockMathOp_abs.svg" +msgstr "" + +#: dda3d087291b4a3dbba8168a46cf8777 of ubuiltins.abs:1 +msgid "Returns the absolute value of a number." +msgstr "" + +#: 8355bbcb9e6b431da6346ba5c0170adb of ubuiltins.abs:3 +msgid "" +"The argument may be an integer, a floating point number, or any object " +"implementing ``__abs__()``. If the argument is a complex number, its " +"magnitude is returned." +msgstr "" + +#: 33b52bb976664780bcef309b4f704c7d of ubuiltins.abs:7 +msgid "The value." +msgstr "" + +#: 0b85195db24744598ec18979ead6e337 of ubuiltins.abs:10 +msgid "Absolute value of ``x``." +msgstr "" + +#: 985cc1b439024356a30060beeee16772 of ubuiltins.divmod:1 +msgid "divmod(a, b) -> Tuple[int, int]" +msgstr "" + +#: d9f49e08da244dd6abca6efb80da5a2f of ubuiltins.divmod:3 +msgid "Gets the quotient and remainder for dividing two integers." +msgstr "" + +#: 3754fac14ee144ffa37bd1dfb896fc4c of ubuiltins.divmod:5 +msgid "" +"See the standard `Python divmod documentation " +"`_ for the " +"expected behavior when ``a`` or ``b`` are floating point numbers instead." +msgstr "" + +#: 30d8a1ad36ee4d9086eb1c0388201534 of ubuiltins.divmod:10 +msgid "Numerator." +msgstr "" + +#: 8181f4ff9b184dde8956428cc858b11b of ubuiltins.divmod:12 +msgid "Denominator." +msgstr "" + +#: 5ab244e408e042eb9e7ca194064e2c0d of ubuiltins.divmod:15 +msgid "A tuple with the quotient ``a // b`` and the remainder ``a % b``." +msgstr "" + +#: ../../main/micropython/builtins.rst:238 99d025233f1c4d10ae0533810809787e +msgid ".. image:: /blockimg/pybricks_blockMathOp_max.svg" +msgstr "" + +#: 21e1bae3d5d94fca94180f5d64f38c8a of ubuiltins.max:1 +msgid "max(iterable) -> Any max(arg1, arg2, ....) -> Any" +msgstr "" + +#: eefb093adacd45df8f0d81aa39dc7cdf of ubuiltins.max:4 +msgid "Gets the object with largest value." +msgstr "" + +#: 2e9f7e9395794b23a3013ea8362562de 793524bbf8504dd3b88c4e7c58031b7f of +#: ubuiltins.max:6 ubuiltins.min:6 +msgid "The argument may be a single iterable, or any number of objects." +msgstr "" + +#: c83a508af78040209bc45e61a399ff32 of ubuiltins.max:8 +msgid "The object with the largest value." +msgstr "" + +#: ../../main/micropython/builtins.rst:244 65c82a8aee694251b4e338c3bfeec975 +msgid ".. image:: /blockimg/pybricks_blockMathOp_min.svg" +msgstr "" + +#: 089163468fba4894b3c6b1a55effd77a of ubuiltins.min:1 +msgid "min(iterable) -> Any min(arg1, arg2, ....) -> Any" +msgstr "" + +#: f9914fb202344ff7ae98ce261c466c77 of ubuiltins.min:4 +msgid "Gets the object with smallest value." +msgstr "" + +#: 3041df60564143f1b03cc9228212ee7b of ubuiltins.min:8 +msgid "The object with the smallest value." +msgstr "" + +#: fe0cf74815734a34975de47038253d0e of ubuiltins.pow:1 +msgid "" +"Raises the base to the given exponent: " +":math:`\\text{base}^{\\mathrm{exp}}`." +msgstr "" + +#: 0ab7ce54cf5b4ca88f3cc176bf35bb2f of ubuiltins.pow:3 +msgid "This is the same as doing ``base ** exp``." +msgstr "" + +#: c6bb1979e2db48989971326822a7bc73 of ubuiltins.pow:5 +msgid "The base." +msgstr "" + +#: 86db63c0e94f4310a40edc8b045542a5 of ubuiltins.pow:7 +msgid "The exponent." +msgstr "" + +#: bcaf4020e9324507b1aaf99fbe6afd16 of ubuiltins.pow:10 +msgid "The result." +msgstr "" + +#: ../../main/micropython/builtins.rst:254 740f43fd8d9540d4ae582c0f3a0cd49a +msgid ".. image:: /blockimg/pybricks_blockMathOp_round.svg" +msgstr "" + +#: 5417726a3e884991af842b3632350d84 of ubuiltins.round:1 +msgid "round(number) -> int round(number, ndigits) -> float" +msgstr "" + +#: c300874193e94e09a319fdc54a20d197 of ubuiltins.round:4 +msgid "Round a number to a given number of digits after the decimal point." +msgstr "" + +#: 3e9bbfe72f1a479ba7a3afab05936bfe of ubuiltins.round:6 +msgid "If ``ndigits`` is omitted or ``None``, it returns the nearest integer." +msgstr "" + +#: 9825053727654d26a6b57b9f1b7ef5fe of ubuiltins.round:8 +msgid "" +"Rounding with one or more digits after the decimal point will not always " +"truncate trailing zeros. To print numbers nicely, format strings " +"instead::" +msgstr "" + +#: f5b00dc22a974398a8a497f4e150063c of ubuiltins.round:11 +#, python-format +msgid "" +"# print two decimal places\n" +"print('my number: %.2f' % number)\n" +"print('my number: {:.2f}'.format(number))\n" +"print(f'my number: {number:.2f}')" +msgstr "" + +#: e5b9932afe6a4c47826dfbcf2296af19 of ubuiltins.round:16 +msgid "The number to be rounded." +msgstr "" + +#: 7bd7b806172a449ab9f8204cf6cd19ef of ubuiltins.round:18 +msgid "The number of digits remaining after the decimal point." +msgstr "" + +#: 677413f4514a4846b88510ae1e4f2793 of ubuiltins.sum:1 +msgid "sum(iterable) -> Number sum(iterable, start) -> Number" +msgstr "" + +#: 902e48615d2c4cdda651272ac4802a7e of ubuiltins.sum:4 +msgid "Sums the items from the iterable and the start value." +msgstr "" + +#: ab2cc6c89b2745d99997cd4b7c5bfefd of ubuiltins.sum:6 +msgid "Values to be summed, starting with the first value." +msgstr "" + +#: 9e25544dfab5407ea440594b633feeda of ubuiltins.sum:8 +msgid "Value added to the total." +msgstr "" + +#: 9240f269048e4c90ab8ac0648582097b of ubuiltins.sum:11 +msgid "The total sum." +msgstr "" + +#: ../../main/micropython/builtins.rst:263 804cbe1db1924268bc1655041c5a52dd +msgid "Runtime functions" +msgstr "" + +#: 27dcb66edc294875a01f4f053be0d2a3 of ubuiltins.eval:1 +msgid "" +"eval(expression) -> Any eval(expression, globals) -> Any eval(expression," +" globals, locals) -> Any" +msgstr "" + +#: 8c8126a199f04ab793ce645cb348a8d9 of ubuiltins.eval:5 +msgid "Evaluates the result of an expression." +msgstr "" + +#: 7bf41dce74c64168a199a0c15fd2abfa c180e6f0461745c5b77640c054fef023 of +#: ubuiltins.eval:7 ubuiltins.exec:7 +msgid "Syntax errors are reported as exceptions." +msgstr "" + +#: 59f1bb4c40504e7bb4be48091acbfce2 of ubuiltins.eval:9 +msgid "Expression to evaluate result of." +msgstr "" + +#: 8ee23f16879c4f559262e32094b32e08 9dca6ff7d3e6484795a5e4c74a7ed9bc of +#: ubuiltins.eval:11 ubuiltins.exec:11 +msgid "" +"If given, this controls what functions are available for use in the " +"expression. By default the global scope is accessible." +msgstr "" + +#: 4aac0480e4154f9c8e316c8a832249ce 9ced64133efb4ab3ad19ae9862960913 of +#: ubuiltins.eval:14 ubuiltins.exec:14 +msgid "" +"If given, this controls what functions are available for use in the " +"expression. Defaults to the same as ``globals``." +msgstr "" + +#: 2995f5be1b0a4b6289c467769f74969c of ubuiltins.eval:18 +msgid "The value obtained by executing the expression." +msgstr "" + +#: f905963f9c10458b85de7857b5ae9aa7 of ubuiltins.exec:1 +msgid "" +"exec(expression) exec(expression, globals) exec(expression, globals, " +"locals)" +msgstr "" + +#: 0199fd836f654430acc59c8fad63fd43 of ubuiltins.exec:5 +msgid "Executes MicroPython code." +msgstr "" + +#: 22b6e91f251b4f7aad534f7727fc8add of ubuiltins.exec:9 +msgid "Code to be executed." +msgstr "" + +#: 410d78011ab742d9bc00d4e958f7c08c of ubuiltins.globals:1 +msgid "Gets a dictionary representing the current global symbol table." +msgstr "" + +#: b76c8caec3e64cc889bbc58a6b325dbe of ubuiltins.globals:3 +msgid "The dictionary of globals." +msgstr "" + +#: 4da56a2fa94b41278b1e99aa5f58a3f2 of ubuiltins.hash:1 +msgid "Gets the hash value of an object, if the object supports it." +msgstr "" + +#: aaed6f300b854b829453922d53522b11 of ubuiltins.hash:3 +msgid "Object for which to get a hash value." +msgstr "" + +#: 3a35ffe8d7624a0480771cb63afeda51 of ubuiltins.hash:5 +msgid "The hash value." +msgstr "" + +#: da74fe567c8645229c1d73cbdef4f64a of ubuiltins.help:1 +msgid "help() help(object)" +msgstr "" + +#: 59cef90477274f5098607e2a88a44b9e of ubuiltins.help:4 +msgid "Get information about an object." +msgstr "" + +#: 3bfb1ffdcd8e49049648c64f84601c0b of ubuiltins.help:6 +msgid "" +"If no arguments are given, this function prints instructions to operate " +"the REPL. If the argument is ``\"modules\"``, it prints the available " +"modules." +msgstr "" + +#: a170901e16f046c8a5d1fdbcd6f89a39 of ubuiltins.help:9 +msgid "Object for which to print help information." +msgstr "" + +#: 86950669eec44840bcaf53a6edebed40 of ubuiltins.id:1 +msgid "" +"Gets the *identity* of an object. This is an integer which is guaranteed " +"to be unique and constant for this object during its lifetime." +msgstr "" + +#: 567ab4095c844dca8bf3e51f671c02fd of ubuiltins.id:4 +msgid "Object of which to get the identifier." +msgstr "" + +#: 74322645936f4768a5cfb7e29a930b7e of ubuiltins.id:6 +msgid "The identifier." +msgstr "" + +#: 042d3210d25a4df59cece2d9af6c33e3 of ubuiltins.locals:1 +msgid "Gets a dictionary representing the current local symbol table." +msgstr "" + +#: 48afdf4b5572462599342b9a3109e44a of ubuiltins.locals:3 +msgid "The dictionary of locals." +msgstr "" + +#: ../../main/micropython/builtins.rst:295 11d0e8c3a0bd40fe861d04a885362363 +msgid "Class functions" +msgstr "" + +#: 3b114b6dcc0a49ddaa900b95ac26d251 of ubuiltins.callable:1 +msgid "Checks if an object is callable." +msgstr "" + +#: e48e9dcee3714c348c03b0e7dfbabb30 of ubuiltins.callable:3 +msgid "Object to check." +msgstr "" + +#: 09bebc240992400a95b8bccfec58630b of ubuiltins.callable:5 +msgid "``True`` if the object argument appears callable, ``False`` if not." +msgstr "" + +#: 44bde476cf6f40aa9a6babc608eb5d08 of ubuiltins.dir:1 +msgid "dir() -> List[str] dir(object) -> List[str]" +msgstr "" + +#: 9b602518ec0c4449a7364adc9cb182a8 of ubuiltins.dir:4 +msgid "Gets a list of attributes of an object." +msgstr "" + +#: bb2be9c993124033a3052b87f14b254f of ubuiltins.dir:6 +msgid "" +"If no object argument is given, this function gets the list of names in " +"the current local scope." +msgstr "" + +#: 36ac58ce134d42f79efb4517d6eee19f of ubuiltins.dir:9 +msgid "Object to check for valid attributes." +msgstr "" + +#: 5fef769835994279830dcd4e6fc5e78e of ubuiltins.dir:11 +msgid "List of object attributes or list of names in current local scope." +msgstr "" + +#: 136c285006644d4c8326d6991c01572b of ubuiltins.getattr:1 +msgid "getattr(object, name) -> Any getattr(object, name, default) -> Any" +msgstr "" + +#: 41f16f8ce37e4bdf8667dc94c379b0ce of ubuiltins.getattr:4 +msgid "Looks up the attribute called ``name`` in the given ``object``." +msgstr "" + +#: 41652dd04a924292a12a78fc5056e579 e59196bba26949a295e186a97f259b53 of +#: ubuiltins.getattr:6 ubuiltins.hasattr:3 +msgid "Object in which to look for the attribute." +msgstr "" + +#: 27340d067c0d4a1086eb37a057a5cd95 97e24631e2f8474ca9f57218f8a95588 +#: eb71e92a7d8d406388b2060d8b49e2a8 of ubuiltins.getattr:7 ubuiltins.hasattr:4 +#: ubuiltins.setattr:6 +msgid "Name of the attribute." +msgstr "" + +#: 88ec665d2b8640d3adb7f911d4d41731 of ubuiltins.getattr:9 +msgid "Object to return if the attribute is not found." +msgstr "" + +#: e8c03abc9a8c4ad6bd2443bf02759d3a of ubuiltins.getattr:11 +msgid "Returns the value of the named attribute." +msgstr "" + +#: 2a6771d8be794268b852e86ec90448ac of ubuiltins.hasattr:1 +msgid "Checks if an attribute exists on an object." +msgstr "" + +#: 15a9767a106f4b7ebd888470835dec80 of ubuiltins.hasattr:7 +msgid "``True`` if an attribute by that name exists, ``False`` if not." +msgstr "" + +#: f7b36fa2a8eb4d2b86515187dc82f1be of ubuiltins.isinstance:1 +msgid "Checks if an object is an instance of a certain class." +msgstr "" + +#: b7f9b28fe51c4327b91d29cdb0988f26 of ubuiltins.isinstance:3 +msgid "Object to check the type of." +msgstr "" + +#: c087c5ff79874426b83195c7d92a505c cf24e22c770441039312199f6a3dcf41 of +#: ubuiltins.isinstance:4 ubuiltins.issubclass:4 +msgid "Class information." +msgstr "" + +#: 915a221e02d6496d9b846afbcb2f9b35 of ubuiltins.isinstance:7 +msgid "" +"``True`` if the ``object`` argument is an instance of the ``classinfo`` " +"argument, or of a subclass thereof." +msgstr "" + +#: 88bd9025ee514a299a3cdabfdf02cf00 of ubuiltins.issubclass:1 +msgid "Checks if one class is a subclass of another class." +msgstr "" + +#: 4fc5637872334072b736c6b3bc368992 of ubuiltins.issubclass:3 +msgid "Class type." +msgstr "" + +#: d69b46050a844bdcb67ea404e47ed556 of ubuiltins.issubclass:7 +msgid "``True`` if ``cls`` is a subclass of ``classinfo``." +msgstr "" + +#: 913feac0aec24f1d8180001f843acf8d of ubuiltins.setattr:1 +msgid "Assigns a value to an attribute, provided that the object allows it." +msgstr "" + +#: 20275130867149a1a28b1ad05ed7e640 of ubuiltins.setattr:3 +msgid "This is the counterpart of :meth:`getattr`." +msgstr "" + +#: c91abcb2a1174f90a12ee3c5f3065ea4 of ubuiltins.setattr:5 +msgid "Object in which to store the attribute." +msgstr "" + +#: 6e3702a85b954ce1900dd3949403dbda of ubuiltins.setattr:8 +msgid "Value to store." +msgstr "" + +#: a4064a2d701447c4b561a83d3ab9b458 of ubuiltins.super:1 +msgid "super() -> type super(type) -> type super(type, object_or_type) -> type" +msgstr "" + +#: 4bf998947d9048d0bd72f304bef5fb06 of ubuiltins.super:5 +msgid "" +"Gets an object that delegates method calls to a parent, or a sibling " +"class of the given type." +msgstr "" + +#: dc9fe581703c4687b9b8c2260cc9477d of ubuiltins.super:8 +msgid "The matching `super()` object." +msgstr "" + +#: ../../main/micropython/builtins.rst:331 4e5a77d06565477caeca93f4b10c8e19 +msgid "Method decorators" +msgstr "" + +#: 6d8ca77abd064e2e8ccbb8f554b20115 of ubuiltins.classmethod:1 +msgid "Transforms a method into a class method." +msgstr "" + +#: 6d9fe96317c44860afc83cc479cc24a6 of ubuiltins.staticmethod:1 +msgid "Transforms a method into a static method." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/micropython/exceptions.po b/doc/locales/de/LC_MESSAGES/micropython/exceptions.po new file mode 100644 index 00000000..890cc84e --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/micropython/exceptions.po @@ -0,0 +1,270 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/micropython/exceptions.rst:2 12565ae385c64804b48e8be5bd5a5d52 +msgid "Exceptions and errors" +msgstr "" + +#: ../../main/micropython/exceptions.rst:4 62e2d35a1ac54375933622ef4862e473 +msgid "This section lists all available exceptions in alphabetical order." +msgstr "" + +#: 34af942520c54a4ea492e859a5528087 of ubuiltins.ArithmeticError:1 +msgid "" +"The base class for those built-in exceptions that are raised for various " +"arithmetic errors." +msgstr "" + +#: 29e5635d48a64ac6ba89555f26570a71 of ubuiltins.AssertionError:1 +msgid "Raised when an assert statement fails." +msgstr "" + +#: f55d234028354c0fa0294226e1f76ead of ubuiltins.AttributeError:1 +msgid "Raised when an attribute reference or assignment fails." +msgstr "" + +#: edceb1e8c6b842bebb14f2c2dbd87f2d of ubuiltins.BaseException:1 +msgid "The base class for all built-in exceptions." +msgstr "" + +#: 100bcc2ca4614ecabf3d7e466ff1b8d1 of ubuiltins.BaseException:3 +msgid "" +"It is not meant to be directly inherited by user-defined classes (for " +"that, use :class:`Exception`)." +msgstr "" + +#: 8b728bd1ed4541cdbb95a73cc65254f6 of ubuiltins.EOFError:1 +msgid "" +"Raised when the :meth:`input` function hits an end-of-file condition " +"(EOF) without reading any data." +msgstr "" + +#: 2ca3c14ff42c4475837d0090a555be86 of ubuiltins.Exception:1 +msgid "All built-in exceptions are derived from this class." +msgstr "" + +#: 5cab26a8fcf7474391a79bf931c4a2e7 of ubuiltins.Exception:3 +msgid "All user-defined exceptions should also be derived from this class." +msgstr "" + +#: aa417a2205074b12bab4d0ede959b44c of ubuiltins.GeneratorExit:1 +msgid "Raised when a generator or coroutine is closed." +msgstr "" + +#: ab819e507fc944768712e20c799d70dc of ubuiltins.ImportError:1 +msgid "Raised when the ``import`` statement is unable to load a module." +msgstr "" + +#: a6f442773a3c443284dcb11ef30556e0 of ubuiltins.IndentationError:1 +msgid "Base class for syntax errors related to incorrect indentation." +msgstr "" + +#: 90a8b12582364ecda35c59144f798440 of ubuiltins.IndexError:1 +msgid "Raised when a sequence subscript is out of range." +msgstr "" + +#: 0cab63b71b294382b6defa992c7592e1 of ubuiltins.KeyboardInterrupt:1 +msgid "" +"Raised when the user hits the interrupt key (normally :kbd:`Ctrl` " +":kbd:`C`)." +msgstr "" + +#: 52397d73b483489c896e5129d8e08879 of ubuiltins.KeyError:1 +msgid "" +"Raised when a mapping (dictionary) key is not found in the set of " +"existing keys." +msgstr "" + +#: 4a8e5fe7f5cd4db583df43ef4e27833c of ubuiltins.LookupError:1 +msgid "" +"The base class for the exceptions that are raised when a key or index " +"used on a mapping or sequence is invalid." +msgstr "" + +#: a62ed0cf181c4ada9af96f5918154d85 of ubuiltins.MemoryError:1 +msgid "Raised when an operation runs out of memory." +msgstr "" + +#: 4abfd6f9aeb14eaf8bdc55a4514d0a19 of ubuiltins.NameError:1 +msgid "Raised when a local or global name is not found." +msgstr "" + +#: ab18b487ef754a48a31199bb82866dbe of ubuiltins.NotImplementedError:1 +msgid "" +"In user defined base classes, abstract methods should raise this " +"exception when they require derived classes to override the method, or " +"while the class is being developed to indicate that the real " +"implementation still needs to be added." +msgstr "" + +#: 7c2628e6ca164428a704d04537fa9ad9 of ubuiltins.OSError:1 +msgid "" +"This exception is raised by the firmware, which is the Operating System " +"that runs on the hub. For :ref:`example `, it raises an" +" ``OSError`` if you call ``Motor(Port.A)`` when there is no motor on port" +" A." +msgstr "" + +#: ../../docstring 1e74f1a0248c4ef6af3f964d74821c4d of +#: ubuiltins.OSError.errno:1 +msgid "" +"Specifies which kind of ``OSError`` occurred, as listed in the " +":mod:`uerrno` module." +msgstr "" + +#: 2a6a36d48999438a826a59a7edfe2c56 of ubuiltins.OverflowError:1 +msgid "" +"Raised when the result of an arithmetic operation is too large to be " +"represented." +msgstr "" + +#: 52b251c2dc32489a8df935f07a1f5261 of ubuiltins.RuntimeError:1 +msgid "" +"Raised when an error is detected that doesn’t fall in any of the other " +"categories." +msgstr "" + +#: e449bbd00a434981a109f30a271db192 of ubuiltins.RuntimeError:3 +msgid "The associated value is a string indicating what precisely went wrong." +msgstr "" + +#: 324e7a89db074c05a6bb63be0302cb62 of ubuiltins.StopIteration:1 +msgid "" +"Raised by built-in function :meth:`next` and an iterator’s ``__next__()``" +" method to signal that there are no further items produced by the " +"iterator." +msgstr "" + +#: a2fa3e14ef2e49ae85fbd5d76b448ab8 of ubuiltins.StopIteration:4 +msgid "Generator functions should return instead of raising this directly." +msgstr "" + +#: 50acdf2b890e4d47bb8af4471f26a66d of ubuiltins.SyntaxError:1 +msgid "Raised when the parser encounters a syntax error." +msgstr "" + +#: 394f3bb1dbfe4520863b543fed66c584 of ubuiltins.SystemExit:1 +msgid "" +"Raised when you press the stop button on the hub or in the Pybricks Code " +"app." +msgstr "" + +#: 4c087c3909454594ba9accf7533568e0 of ubuiltins.TypeError:1 +msgid "" +"Raised when an operation or function is applied to an object of " +"inappropriate type." +msgstr "" + +#: ec5ae0638ed341bdb8ea3c2c5e133b1d of ubuiltins.ValueError:1 +msgid "" +"Raised when an operation or function receives an argument that has the " +"right type but an inappropriate value. This is used when the situation is" +" not described by a more precise exception such as :class:`IndexError`." +msgstr "" + +#: fb83946477074d2f9d1782d7616bff62 of ubuiltins.ZeroDivisionError:1 +msgid "Raised when the second argument of a division or modulo operation is zero." +msgstr "" + +#: ../../main/micropython/exceptions.rst:84 0a1e31c0aaea45eaa58701c74f67a323 +msgid "Examples" +msgstr "" + +#: ../../main/micropython/exceptions.rst:87 d9aef24687d64ec481ed840c1ce64ee5 +msgid "Debugging in the REPL terminal" +msgstr "" + +#: ../../main/micropython/exceptions.rst:89 99301cda7a2846aebe1625cb930d0845 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the motor.\n" +"test_motor = Motor(Port.A)\n" +"\n" +"# Start moving at 500 deg/s.\n" +"test_motor.run(500)\n" +"\n" +"# If you click on the terminal window and press CTRL+C,\n" +"# you can continue debugging in this terminal.\n" +"wait(5000)\n" +"\n" +"# You can also do this to exit the script and enter the\n" +"# terminal. Variables in the global scope are still available.\n" +"raise KeyboardInterrupt\n" +"\n" +"# For example, you can copy the following line to the terminal\n" +"# to get the angle, because test_motor is still available.\n" +"test_motor.angle()\n" +msgstr "" + +#: ../../main/micropython/exceptions.rst:93 8e2b13e79b8e434892683486b2afd313 +msgid "Running code when the stop button is pressed" +msgstr "" + +#: ../../main/micropython/exceptions.rst:95 37c1574a7b6e4ea5aab2c3db10d511a8 +msgid "" +"from pybricks.tools import wait\n" +"\n" +"print(\"Started!\")\n" +"\n" +"try:\n" +"\n" +" # Run your script here as you normally would. In this\n" +" # example we just wait forever and do nothing.\n" +" while True:\n" +" wait(1000)\n" +"\n" +"except SystemExit:\n" +" # This code will run when you press the stop button.\n" +" # This can be useful to \"clean up\", such as to move\n" +" # the motors back to their starting positions.\n" +" print(\"You pressed the stop button!\")\n" +msgstr "" + +#: ../../main/micropython/exceptions.rst:101 d1066dfe777b4276996e3988173b7d40 +msgid "Detecting devices using ``OSError``" +msgstr "" + +#: ../../main/micropython/exceptions.rst:103 f5442faaede24372b6841b5df150cfd2 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"\n" +"from uerrno import ENODEV\n" +"\n" +"try:\n" +" # Try to initialize a motor.\n" +" my_motor = Motor(Port.A)\n" +"\n" +" # If all goes well, you'll see this message.\n" +" print(\"Detected a motor.\")\n" +"except OSError as ex:\n" +" # If an OSError was raised, we can check what\n" +" # kind of error this was, like ENODEV.\n" +" if ex.errno == ENODEV:\n" +" # ENODEV is short for \"Error, no device.\"\n" +" print(\"There is no motor this port.\")\n" +" else:\n" +" print(\"Another error occurred.\")\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/micropython/micropython.po b/doc/locales/de/LC_MESSAGES/micropython/micropython.po new file mode 100644 index 00000000..c24434c8 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/micropython/micropython.po @@ -0,0 +1,272 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/micropython/micropython.rst:4 49b4ec0e32d249f8acf4e7e7ec49adb0 +msgid ":mod:`micropython` -- MicroPython internals" +msgstr "" + +#: cee97fe0d3c948628b72dec1b5330827 micropython:1 of +msgid "Access and control MicroPython internals." +msgstr "" + +#: 8e4eadc6cd7c4b80bd7fe8ba1cef903d micropython.const:1 of +msgid "const(value) -> Any" +msgstr "" + +#: 5c31c5fdb8214388be0bef79114d524c micropython.const:3 of +msgid "Declares the value as a constant, which makes your code more efficient." +msgstr "" + +#: 3d6c215158b74f6780bb320e9a40df2c micropython.const:5 of +msgid "" +"To reduce memory usage further, prefix its name with an underscore " +"(``_ORANGES``). This constant can only be used within the same file." +msgstr "" + +#: 3352cdc664f84a8ba866968423f35e24 micropython.const:9 of +msgid "" +"If you want to import the value from another module, use a name without " +"an underscore (``APPLES``). This uses a bit more memory." +msgstr "" + +#: ../../main/micropython/micropython.rst 20b373d86a87461d9d45eb45f5dd4bea +#: 542ed4da78cb469e8957720863bfc0d4 a39e22dc72834e88b344d3fb5b447244 +#: b35cae3db434419f81a04dd92a68b36f e1c385fd087e46d9853b949b8650e8ac +msgid "Parameters" +msgstr "" + +#: 9b2e161e340e4ae499f4fe6ffc7d8725 micropython.const:12 of +msgid "The literal to be made constant." +msgstr "" + +#: ../../main/micropython/micropython.rst 2de9d6901ce14640a1d192c438d8a1f1 +#: 77a3aa5330b6477abd0abcc2deaabc98 9f4f68c8f6834c7981c0ca0da4b2a7f8 +#: c6c694a4aaf44d639717c58ef6254c18 +msgid "Returns" +msgstr "" + +#: 1dde1feaf9dc4974aeefe8673e1a6e88 micropython.const:15 of +msgid "The constant value." +msgstr "" + +#: dd7fce6b875248b78a5bf97ba95a18fc micropython.heap_lock:1 of +msgid "" +"Locks the heap. When locked, no memory allocation can occur. A " +"``MemoryError`` will be raised if any heap allocation is attempted." +msgstr "" + +#: f09d109568f948509cd435a79ccd0fd7 micropython.heap_unlock:1 of +msgid "Unlocks the heap. Memory allocation is now allowed again." +msgstr "" + +#: 890d4d3d1bb246b987a68b34401fcce1 micropython.heap_unlock:3 of +msgid "" +"If :func:`heap_lock()` was called multiple times, :func:`heap_unlock()` " +"must be called the same number of times to make the heap available again." +msgstr "" + +#: 5ecedba493f144bfa351eabc56b4f8a4 micropython.heap_unlock:6 of +msgid "The lock depth after unlocking. It is ``0`` once it is unlocked." +msgstr "" + +#: 12d00205027641aab1b9fff06c36a227 micropython.kbd_intr:1 of +msgid "" +"Sets the character that triggers a ``KeyboardInterrupt`` exception when " +"you type it in the input window. By default it is set to ``3``, which " +"corresponds to pressing :kbd:`Ctrl` :kbd:`C`." +msgstr "" + +#: 9fd4578bb1cd4d22ab05efd31bfde7a6 micropython.kbd_intr:5 of +msgid "" +"Character that should raise the ``KeyboardInterrupt``. Choose ``-1`` to " +"disable this feature." +msgstr "" + +#: e9060d7998a444be9955ff492f656d2b micropython.mem_info:1 of +msgid "mem_info() mem_info(verbose)" +msgstr "" + +#: c8c2f06bf75d4cc2a1af3472b74bd62d micropython.mem_info:4 of +msgid "Prints information about stack and heap memory usage." +msgstr "" + +#: 04c0b6787af74ad482d56cc2d3c32fae micropython.mem_info:6 of +msgid "" +"If any value is given, it also prints out the entire heap. This indicates" +" which blocks are used and which are free." +msgstr "" + +#: dbcfed84bf02417790eca10079765147 micropython.opt_level:1 of +msgid "Sets the optimization level for code compiled on the hub:" +msgstr "" + +#: 02c29f5cf4ad4ae5b4a0143a85a5b6be micropython.opt_level:3 of +msgid "" +"Assertion statements are enabled. The built-in ``__debug__`` variable is " +"``True``. Script line numbers are saved, so they can be reported when an " +"Exception occurs." +msgstr "" + +#: a2b45d14a04a403285f3234b9401b5fd fb0f68bd5a0b4e5291d4a1580bf3677f +#: micropython.opt_level:6 micropython.opt_level:8 of +msgid "" +"Assertions are ignored and ``__debug__`` is ``False``. Script line " +"numbers are saved." +msgstr "" + +#: a6b0ce3928474548a4127eb83589647f micropython.opt_level:10 of +msgid "" +"Assertions are ignored and ``__debug__`` is ``False``. Script line " +"numbers are *not* saved." +msgstr "" + +#: 5578ff4f92db46aaab31199c79de2b0b micropython.opt_level:13 of +msgid "" +"This applies only to code that you run in the REPL, because regular " +"scripts are already compiled before they are sent to the hub." +msgstr "" + +#: 1612d0b081af4cb2af2159bc5a6465e8 micropython.opt_level:16 of +msgid "The level to be set." +msgstr "" + +#: af3dbc9161124f16ab3fcee7235f56b3 micropython.opt_level:19 of +msgid "If no argument is given, this returns the current optimization level." +msgstr "" + +#: 112607e2e7304fb28c32c8ee896cbd38 micropython.qstr_info:1 of +msgid "qstr_info() qstr_info(verbose)" +msgstr "" + +#: 03e4ad2a72bf433da6782ed57d3eb3b5 micropython.qstr_info:4 of +msgid "Prints how many strings are interned and how much RAM they use." +msgstr "" + +#: afbd2c4a5dba4ac1b224f650126d0006 micropython.qstr_info:6 of +msgid "" +"MicroPython uses string interning to save both RAM and ROM. This avoids " +"having to store duplicate copies of the same string." +msgstr "" + +#: 34ae9aa450ee49f7ae1205c1e7b9ff0b micropython.qstr_info:9 of +msgid "" +"If any value is given, it also prints out the names of all RAM-interned " +"strings." +msgstr "" + +#: 00c2edec6a1c4bd7bc025dfe28671370 micropython.stack_use:1 of +msgid "" +"Checks the amount of stack that is being used. This can be used to " +"compute differences in stack usage at different points in a script." +msgstr "" + +#: 95c3fb0d269b474dafcd7fde85899cce micropython.stack_use:4 of +msgid "The amount of stack in use." +msgstr "" + +#: ../../main/micropython/micropython.rst:27 46b1d2e51fb34eeca0cdfde91d83fcc9 +msgid "Examples" +msgstr "" + +#: ../../main/micropython/micropython.rst:30 dc51b0d9a7644cd98eabe63df384d754 +msgid "Using constants for efficiency" +msgstr "" + +#: ../../main/micropython/micropython.rst:32 f64856e1fe6c46e38257ee0b5c428a0f +msgid "" +"from micropython import const\n" +"\n" +"# This value can be used here. Other files can import it too.\n" +"APPLES = const(123)\n" +"\n" +"# These values can only be used within this file.\n" +"_ORANGES = const(1 << 8)\n" +"_BANANAS = const(789 + _ORANGES)\n" +"\n" +"# You can read the constants as normal values. The compiler\n" +"# will just insert the numeric values for you.\n" +"fruit = APPLES + _ORANGES + _BANANAS\n" +"print(fruit)\n" +msgstr "" + +#: ../../main/micropython/micropython.rst:36 d767ede6a34742f2b6890254e32c9b1f +msgid "Checking free RAM" +msgstr "" + +#: ../../main/micropython/micropython.rst:38 562217f7392c4d8c9fc5b0bb2de25fe6 +msgid "" +"from micropython import mem_info\n" +"\n" +"# Print memory usage.\n" +"mem_info()\n" +msgstr "" + +#: ../../main/micropython/micropython.rst:41 7d5b4b3c68bd47d6baff6df05825a713 +msgid "" +"This prints information in the format shown below. In this example for " +"the SPIKE Prime Hub, there are 257696 bytes (251 KB) worth of memory " +"remaining for the variables in your code. ::" +msgstr "" + +#: ../../main/micropython/micropython.rst:45 77a75bcda83c4bc5ac5213326f2e2453 +msgid "" +"stack: 372 out of 40184\n" +"GC: total: 258048, used: 352, free: 257696\n" +"No. of 1-blocks: 4, 2-blocks: 2, max blk sz: 8, max free sz: 16103" +msgstr "" + +#: ../../main/micropython/micropython.rst:51 501beff2c9ac4aa8bf38c86d332b2c8b +msgid "Getting more memory statistics" +msgstr "" + +#: ../../main/micropython/micropython.rst:53 a26164dda7ab4870a10580a5a63233a4 +msgid "" +"from micropython import const, opt_level, mem_info, qstr_info, stack_use\n" +"\n" +"# Get stack at start.\n" +"stack_start = stack_use()\n" +"\n" +"# Print REPL compiler optimization level.\n" +"print(\"level\", opt_level())\n" +"\n" +"# Print memory usage.\n" +"mem_info()\n" +"\n" +"# Print memory usage and a memory map.\n" +"mem_info(True)\n" +"\n" +"# Print interned string information.\n" +"qstr_info()\n" +"\n" +"# Print interned string information and their names.\n" +"APPLES = const(123)\n" +"_ORANGES = const(456)\n" +"qstr_info(True)\n" +"\n" +"\n" +"def test_stack():\n" +" return stack_use()\n" +"\n" +"\n" +"# Check the stack.\n" +"print(\"Stack diff: \", test_stack() - stack_start)\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/micropython/uerrno.po b/doc/locales/de/LC_MESSAGES/micropython/uerrno.po new file mode 100644 index 00000000..3f4017a0 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/micropython/uerrno.po @@ -0,0 +1,76 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/micropython/uerrno.rst:2 ac63891881a744f180343ee81c7fe787 +msgid ":mod:`uerrno ` -- Error codes" +msgstr "" + +#: ../../main/micropython/uerrno.rst:6 167ff2bdc30f4a3db57da170c1c79472 +msgid "" +"The ``errno`` attribute of an :ref:`OSError ` indicates why this" +" exception was raised. This attribute has one of the following values. " +"See also :ref:`this example `." +msgstr "" + +#: ../../docstring dcd499fff45549b4b2867a044cb1466a of uerrno.EAGAIN:1 +msgid "The operation is not complete and should be tried again soon." +msgstr "" + +#: ../../docstring 4b947521daef4f8085318308ecb49a2c of uerrno.EBUSY:1 +msgid "The device or resource is busy and cannot be used right now." +msgstr "" + +#: ../../docstring 13defda7c6184fadb31c90a3267b5d43 of uerrno.ECANCELED:1 +msgid "The operation was canceled." +msgstr "" + +#: ../../docstring 2623181ca8a949eb9aa1aa1ec10c9491 of uerrno.EINVAL:1 +msgid "An invalid argument was given. Usually ``ValueError`` is used instead." +msgstr "" + +#: ../../docstring c6381b858aae4167b8800f9c28e4aceb of uerrno.EIO:1 +msgid "An unspecified error occurred." +msgstr "" + +#: ../../docstring 35e6d031178543808431da27b488e2e6 of uerrno.ENODEV:1 +msgid "" +"Device was not found. For example, a sensor or motor is not plugged in " +"the correct port." +msgstr "" + +#: ../../docstring 6a173428748047d5b2b3085fe4bebc28 of uerrno.EOPNOTSUPP:1 +msgid "The operation is not supported on this hub or on the connected device." +msgstr "" + +#: ../../docstring faaded4af3074ffbbe1db73901a25969 of uerrno.EPERM:1 +msgid "The operation cannot be performed in the current state." +msgstr "" + +#: ../../docstring 2e07271a7b9d4fa89927585b8b014c2d of uerrno.ETIMEDOUT:1 +msgid "The operation timed out." +msgstr "" + +#: ../../docstring b44f3ffc21d54639ab23a300cd6d2d9d of uerrno.errorcode:1 +msgid "" +"Dictionary that maps numeric error codes to strings with symbolic error " +"code." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/micropython/uio.po b/doc/locales/de/LC_MESSAGES/micropython/uio.po new file mode 100644 index 00000000..b656d91e --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/micropython/uio.po @@ -0,0 +1,68 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/micropython/uio.rst:4 c8f1e2fffa604cfbab8c7bab9b18ad3d +msgid ":mod:`uio` -- Input/output streams" +msgstr "" + +#: 988368d23f6049bb8e83741ac81646c5 of uio:1 +msgid "This module contains ``stream`` objects that behave like files." +msgstr "" + +#: 7b5a341fab0e44ee97bd59b85f0880c1 of uio.BytesIO:1 +msgid "A binary stream using an in-memory bytes buffer." +msgstr "" + +#: ../../main/micropython/uio.rst 076888ce7c1b4974b4e8c835907c1fc3 +#: 73ec1e848d9b4768826103aa19d8be2d +msgid "Parameters" +msgstr "" + +#: 6ec7da908ac24375a9d718d5f73274fc of uio.BytesIO:3 +msgid "Optional bytes-like object that contains initial data." +msgstr "" + +#: 3a1a784029104b0c8bbefbecfaefebff 473e83a122a8488da4d9df543dbc3527 of +#: uio.BytesIO:6 uio.StringIO:5 +msgid "" +"Optional number of preallocated bytes. This parameter is unique to " +"MicroPython. It is not recommended to use it in end-user code." +msgstr "" + +#: d9e47e0470eb47c09955b9cae9a52f6f df0e63639f1d4c8cbdb5c357263e2fe7 of +#: uio.BytesIO.getvalue:1 uio.StringIO.getvalue:1 +msgid "Gets the contents of the underlying buffer." +msgstr "" + +#: 2897928194c3449d8fdc5339fb215487 of uio.StringIO:1 +msgid "A stream using an in-memory string buffer." +msgstr "" + +#: 5200d8e4f3fd44a395e0c481d6e7f1e4 of uio.StringIO:3 +msgid "Optional string with initial data." +msgstr "" + +#: f59b8cd0af47444db6408cd7a80dcc15 of uio.FileIO:1 +msgid "" +"This type represents a file opened in binary mode with ``open(name, " +"'rb')``. You should not instantiate this class directly." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/micropython/ujson.po b/doc/locales/de/LC_MESSAGES/micropython/ujson.po new file mode 100644 index 00000000..e4ed2287 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/micropython/ujson.po @@ -0,0 +1,103 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/micropython/ujson.rst:4 c98578a6e2f54504b64fa01c0cf7fd63 +msgid ":mod:`ujson` -- JSON encoding and decoding" +msgstr "" + +#: 31f2961ebe5c4b7ea88591fabddd8fbd of ujson:1 +msgid "Convert between Python objects and the JSON data format." +msgstr "" + +#: 94fea00449a6436988dccdc3d9e1dc18 of ujson.dump:1 +msgid "Serializes an object to a JSON string and write it to a stream." +msgstr "" + +#: ../../main/micropython/ujson.rst b668136476df468894a9e99098c255f2 +#: c04b3c92a43a4840b614c687cc88d88d d376cc4fa7504643927e313d39cdd57e +#: d5d38096778f47abb8ecd944af279b01 +msgid "Parameters" +msgstr "" + +#: a196ba8bdd2540ec93f60849a03be1d3 f0cbb878881b4dea9868e33c016db6cb of +#: ujson.dump:3 ujson.dumps:3 +msgid "Object to serialize." +msgstr "" + +#: ac6713966c864eddadbc7227cb91ca60 of ujson.dump:4 +msgid "Stream to write the output to." +msgstr "" + +#: 0b6507fe04634770b8e43094f66efd6b 6283a330c810400b84f254161d8dc8aa of +#: ujson.dump:5 ujson.dumps:4 +msgid "" +"An ``(item_separator, key_separator)`` tuple to specify how elements " +"should be separated." +msgstr "" + +#: 96ba1ec78e54432bbbb22618c597ca5c of ujson.dumps:1 +msgid "Serializes an object to JSON and return it as a string" +msgstr "" + +#: ../../main/micropython/ujson.rst 0fc06ff85aa54ce883502def3e609579 +#: d11192abe5f44b46a7a9dc7f9f56abda f4f859d1ff35405e99c369b23201db17 +msgid "Returns" +msgstr "" + +#: 91846b0a88d543619b4e448953fc6e47 of ujson.dumps:8 +msgid "The JSON string." +msgstr "" + +#: 4e69eb88f9784cc6937b35b743fe0c22 of ujson.load:1 +msgid "" +"Parses the stream to interpret and deserialize the JSON data to a " +"MicroPython object." +msgstr "" + +#: 62ce2a879d424e81b259c3c4754f964a of ujson.load:4 +msgid "" +"Parsing continues until end-of-file is encountered. A ``ValueError`` is " +"raised if the data in stream is not correctly formed." +msgstr "" + +#: 881bd612a6644d5097c4776e89942cc7 of ujson.load:7 +msgid "Stream from which to read the JSON string." +msgstr "" + +#: 1010d4db09954536b94e5dd59345fd18 70748595d1fc47a585cd89586e29fb56 of +#: ujson.load:9 ujson.loads:9 +msgid "The deserialized MicroPython object." +msgstr "" + +#: dfa91c32654744bda06c641f5dfae5f0 of ujson.loads:1 +msgid "" +"Parses the string to interpret and deserialize the JSON data to a " +"MicroPython object." +msgstr "" + +#: bcb3bb98ccd84834a65f1eb21347a12d of ujson.loads:4 +msgid "A ``ValueError`` is raised if the string is not correctly formed." +msgstr "" + +#: e9d79b4c09b040bdb526818cebbaf923 of ujson.loads:6 +msgid "JSON string to decode." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/micropython/umath.po b/doc/locales/de/LC_MESSAGES/micropython/umath.po new file mode 100644 index 00000000..ee3af9d8 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/micropython/umath.po @@ -0,0 +1,443 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/micropython/umath.rst:4 8bc6a3d6da2a441092f32689bdd7b109 +msgid ":mod:`umath ` -- Math functions" +msgstr "" + +#: ../../main/micropython/umath.rst:8 1c0c8d809bf04cd8b117fa606531725c +msgid "This MicroPython module is similar to the `math module`_ in Python." +msgstr "" + +#: ../../main/micropython/umath.rst:10 07ab6aa7ad70444197a030b710ec61b8 +msgid "" +"See also the :ref:`built-in math functions` that can be used" +" without importing anything." +msgstr "" + +#: ../../main/micropython/umath.rst:14 019139e6e5ca46d1959be60b712141f7 +msgid "Rounding and sign" +msgstr "" + +#: ../../main/micropython/umath.rst:16 52372542384c4a3ea2ea404d77cb07b8 +msgid ".. image:: /blockimg/pybricks_blockMathOp_roundup.svg" +msgstr "" + +#: 8924043c1c8b48139168a9f4c1e9261f of umath.ceil:1 +msgid "Rounds up." +msgstr "" + +#: ../../main/micropython/umath.rst 0157859416c746d988a9067a3d10de75 +#: 1905259029f44920bce88325bfc0bcb4 19b74b7822024056905f560ca4df6fc4 +#: 1a2cfc5d7f474047880c41c576217d9d 1ff18cfc9f134958a6fb107d71e93074 +#: 30055845e06b4f679395e0e257381f8b 54b2d6307cc94f3584e75ae5084d23de +#: 6bddcbf2a0ea4025b6e7e3934700236d 6e3bb6992d2a4f3f9152f2afd89541bf +#: 7130acd238b848689b4667aea306c91f 858ad3a2b9e643b5877833d0b33d389c +#: 9f67f64b9d0c4f14bc6bcf864557461f a29f8e564abb482fb837209b903b5607 +#: a6ce4161852e4be58d5181558d151408 ab141c0b6cca42d688de1fe273ccb1f3 +#: ae1f8a48d893445499e6b340e4d8c055 b57dd5284e984b699b449d09ab58871f +#: b703052c93e24f74aeac3fca21ac9960 b813a8d1d81243979851639d0f5300cd +#: c5762dde6b3e4d238070a8b9c88b7caa cb0ca86bebc44de095cc5d10e974cc36 +#: e4e205d6e8224f83af19cde795264bed e59b6ec7f0a9480eaeb642eeb8f69008 +#: f852586cd8834fe7839f4287826a826e f96dbc3f13d14f2a97f214361e668136 +msgid "Parameters" +msgstr "" + +#: 57b0dc1998434ad5b0987348de3299df adbec7dce8d7419588e4ec8861f868a9 of +#: umath.ceil:3 umath.floor:3 +msgid "The value to be rounded." +msgstr "" + +#: ../../main/micropython/umath.rst 05afbf84b7214793bc7564256d67e1d6 +#: 0c834ce2b4a34bb8b9bbb36e4d4e207b 142ca45d829a43f1bf73f4d1ad661baa +#: 2f6e43bedfa141adabda9ceba649fceb 41f6c09077a44553b0589a84db3ab9bc +#: 455fd46aea1346cb9279059aafababf1 4b7f3de1eb6447278d5db151ea1e8683 +#: 4c54e5fe65a44c6480e6947d058bec22 77210d73cc364ccc826fb6c1da51a34a +#: 79b132bffc3b4560ab87a18e1da1745b 7e67d9db1a7345e7928d592e089e7a0a +#: 87ceb5245e0a4c28ac08eeb9c592cdf4 8e4f881d65af456fac2708a37db9d384 +#: 92dac805a885473f8692d22239e95307 93bdf7dbe3be483cb5fa7c9a04789f4a +#: 94bb882981e24aa2b504ca253fc1add1 97a4407c74dc4b18a01a42ba13f21930 +#: a47f4094c4914a4081a9ff6c36e5a3d6 b84eb3de89494a70aef6bf0534fa7007 +#: c87adf42cb504da9820ccb05a9ba04c5 cf5a0be317c54b09b90bd73e58818e25 +#: de533a4cae924c8ba8fe6b1b4914a6fb e2a7d30f1714467daa9c1d7b60038bc9 +#: e3a4b50f120a46fda18b2fbc4a6ff741 fdccfb0ba97f4f44a8cb2cd5bc153325 +msgid "Returns" +msgstr "" + +#: 2478654d8ef844beaf4e8fea8f5cd779 of umath.ceil:6 +msgid "Value rounded towards positive infinity." +msgstr "" + +#: ../../main/micropython/umath.rst:20 95a1d74cbeba45419a4115c586364eee +msgid ".. image:: /blockimg/pybricks_blockMathOp_rounddown.svg" +msgstr "" + +#: f8191d11ba3c4db4910b17c8892ff31d of umath.floor:1 +msgid "Rounds down." +msgstr "" + +#: 90182ab4827145f7995dd42316fc148d of umath.floor:6 +msgid "Value rounded towards negative infinity." +msgstr "" + +#: 43936d9cf4994732854a6c4e277f9165 of umath.trunc:1 +msgid "Truncates decimals to get the integer part of a value." +msgstr "" + +#: 25966d061a4745adbe7e0ccf55e58a8e of umath.trunc:3 +msgid "This is the same as rounding towards ``0``." +msgstr "" + +#: 916d8477722548aa86481422d6d86f40 of umath.trunc:5 +msgid "The value to be truncated." +msgstr "" + +#: 5e2566ca01ed4ce7a6c054dfb6a75c88 of umath.trunc:8 +msgid "Integer part of the value." +msgstr "" + +#: 8c160ef843e04da8806ad37fabd0e16a of umath.fmod:1 +msgid "Gets the remainder of ``x / y``." +msgstr "" + +#: f296904900064c119b5b1605908575df of umath.fmod:3 +msgid "Not to be confused with :func:`modf`." +msgstr "" + +#: 25efe1d72dcf482c89f2e72b7fe9206e of umath.fmod:5 +msgid "The numerator." +msgstr "" + +#: bc08752523de4c43959ebc36f9c3abb0 of umath.fmod:7 +msgid "The denominator." +msgstr "" + +#: de318d81179848cdb8e40a7cc27ea0a5 of umath.fmod:10 +msgid "Remainder after division" +msgstr "" + +#: 3c49283776a44d2d8104ce0da61f0981 of umath.fabs:1 +msgid "Gets the absolute value." +msgstr "" + +#: 46fff28e0d26464d8130a4a02e6eaab8 5c95582646a44edbbc8bef69d3a507a4 +#: b3b93fd05eb641148f587911e87535a6 of umath.fabs:3 umath.ldexp:3 umath.log:3 +msgid "The value." +msgstr "" + +#: 352f19e8fe264bd58286b0f9425db90b of umath.fabs:6 +msgid "Absolute value of ``x``." +msgstr "" + +#: f2fb1b5175bb4a34b1dc9c2e39f4c9ad of umath.copysign:1 +msgid "Gets ``x`` with the sign of ``y``." +msgstr "" + +#: 47d4755f85434eebb82932f84fcdc47f of umath.copysign:3 +msgid "Determines the magnitude of the return value." +msgstr "" + +#: c22658fe586d4ac6a2350159a84c7790 of umath.copysign:5 +msgid "Determines the sign of the return value." +msgstr "" + +#: 6e1cafe08f0245aa91266adaf6399186 of umath.copysign:8 +msgid "``x`` with the sign of ``y``." +msgstr "" + +#: ../../main/micropython/umath.rst:33 932eacea3894401a8fd1ddbf5c9934d2 +msgid "Powers and logarithms" +msgstr "" + +#: ../../docstring b44e8bda342e406993d9403cd4a4b5bf of umath.e:1 +msgid "The mathematical constant e." +msgstr "" + +#: ../../main/micropython/umath.rst:37 db1e396014ca4d43becd586002147a10 +msgid ".. image:: /blockimg/pybricks_blockMathOp_exp.svg" +msgstr "" + +#: bdd309a94a954cf982e8495c36378ed2 of umath.exp:1 +msgid "Gets :attr:`e` raised to the power of ``x``." +msgstr "" + +#: 2183f4fd96464637bd5c803595e23d0f 8bdb4d95b3444934a5b9b0b259627928 +#: c09964d5f6b640438ef8c31ea7bce196 of umath.exp:3 umath.ldexp:5 umath.pow:5 +msgid "The exponent." +msgstr "" + +#: 2e875fc6056b40c89d7f6fe247ae17aa of umath.exp:6 +msgid ":attr:`e` raised to the power of ``x``." +msgstr "" + +#: ../../main/micropython/umath.rst:41 ff756b6b87204dd6898528535a9f3714 +msgid ".. image:: /blockimg/pybricks_blockMathArithmetic_power.svg" +msgstr "" + +#: ../../main/micropython/umath.rst:43 39f779babcd04c36aff3fda0848609c1 +msgid ".. image:: /blockimg/pybricks_blockMathOp_pow10.svg" +msgstr "" + +#: 59b7252d7f93477b8be646a08c4c52aa of umath.pow:1 +msgid "Gets ``x`` raised to the power of ``y``." +msgstr "" + +#: 43d9fec90a4c4cc39995f0a1a0423e8c of umath.pow:3 +msgid "The base number." +msgstr "" + +#: 52abecd8b59a4504a261ee6675816472 of umath.pow:8 +msgid "``x`` raised to the power of ``y``." +msgstr "" + +#: ../../main/micropython/umath.rst:47 707772d3a2da47ecb42a3b193abddf61 +msgid ".. image:: /blockimg/pybricks_blockMathOp_ln.svg" +msgstr "" + +#: 160f6260fbbd4f1887ab4e75f48ee1fa of umath.log:1 +msgid "Gets the natural logarithm." +msgstr "" + +#: 82e34c8bab1f4c688259bcccf64bbcfd of umath.log:6 +msgid "The natural logarithm of ``x``." +msgstr "" + +#: ../../main/micropython/umath.rst:51 65e76ddbd3f647379aff2f9c279b57a8 +msgid ".. image:: /blockimg/pybricks_blockMathOp_root.svg" +msgstr "" + +#: 3c517f8f958d40d99f2d2d970f2f9f22 of umath.sqrt:1 +msgid "Gets the square root." +msgstr "" + +#: 063c8378dbda48788f6243ce45904106 of umath.sqrt:3 +msgid "The value ``x``." +msgstr "" + +#: 604e777742704306896b937e6e88e8e2 of umath.sqrt:6 +msgid "The square root of ``x``." +msgstr "" + +#: ../../main/micropython/umath.rst:56 0929ad50b75b4b1896095e3798fa76d3 +msgid "Trigonometry" +msgstr "" + +#: ../../docstring 93e28c0ab5e0476ba894c7524656d8d2 of umath.pi:1 +msgid "The mathematical constant π." +msgstr "" + +#: 5ba2e33f3d704d01aa17f2417dee83fe of umath.degrees:1 +msgid "Converts an angle from radians to degrees." +msgstr "" + +#: 07791ec1acaf45e2a9e1bf68d6a033fd 12db1c87878a448f919de19a9b49e7a0 +#: 58c25755819a45d092f2a6d69fa5793e 5c51f61063f74408b368620f9a612a13 +#: 9fac08d4e4b249f3b65f5276f0010043 of umath.cos:3 umath.degrees:3 +#: umath.radians:6 umath.sin:3 umath.tan:3 +msgid "Angle in radians." +msgstr "" + +#: 1557494c4efb4ac396f450ede6febae8 31abb036cd14414295c83c6232cd4b38 of +#: umath.degrees:6 umath.radians:3 +msgid "Angle in degrees." +msgstr "" + +#: bdf42ff45955459d9dc8fbc0e525230c of umath.radians:1 +msgid "Converts an angle from degrees to radians." +msgstr "" + +#: ../../main/micropython/umath.rst:64 e9f0fc25ed2c4d089d5c72bcb0823de8 +msgid ".. image:: /blockimg/pybricks_blockMathOp_sin.svg" +msgstr "" + +#: df9d44201c934076a28a51e53e6150f9 of umath.sin:1 +msgid "Gets the sine of an angle." +msgstr "" + +#: 42ff8ae02869402bba3d305eca2c8605 of umath.sin:6 +msgid "Sine of ``x``." +msgstr "" + +#: ../../main/micropython/umath.rst:68 29e8059f43f7452191f7534eb1b271db +msgid ".. image:: /blockimg/pybricks_blockMathOp_asin.svg" +msgstr "" + +#: 96f5d7574571466bb0936e7743ceedef of umath.asin:1 +msgid "Applies the inverse sine operation." +msgstr "" + +#: 8362598470504ed5b9121d5065414b06 of umath.asin:3 +msgid "Opposite / hypotenuse." +msgstr "" + +#: 7ff16f1fcce04d249f99b3107f2dc7a3 of umath.asin:6 +msgid "Arcsine of ``x``, in radians." +msgstr "" + +#: ../../main/micropython/umath.rst:72 2699210d6d9c450e861feabc15ad6a8d +msgid ".. image:: /blockimg/pybricks_blockMathOp_cos.svg" +msgstr "" + +#: d54d50a9effe4768aeaa0f5aae4f2e3e of umath.cos:1 +msgid "Gets the cosine of an angle." +msgstr "" + +#: 8a79adb3d7fc4370b4a66e83363e7924 of umath.cos:6 +msgid "Cosine of ``x``." +msgstr "" + +#: ../../main/micropython/umath.rst:76 fae09ada2bd84b9fbbe117569203b186 +msgid ".. image:: /blockimg/pybricks_blockMathOp_acos.svg" +msgstr "" + +#: 3ae0c8cdb38a4e889740d71f171afba8 of umath.acos:1 +msgid "Applies the inverse cosine operation." +msgstr "" + +#: 6554301797e94949bdbc8e215837a22b of umath.acos:3 +msgid "Adjacent / hypotenuse." +msgstr "" + +#: 230c9f1aa38a4cb4affb872fafb1688e of umath.acos:6 +msgid "Arccosine of ``x``, in radians." +msgstr "" + +#: ../../main/micropython/umath.rst:80 aeb552c26c944cc68be233075fc8df4b +msgid ".. image:: /blockimg/pybricks_blockMathOp_tan.svg" +msgstr "" + +#: 15e97f98db4f4700869f95dc0c955442 of umath.tan:1 +msgid "Gets the tangent of an angle." +msgstr "" + +#: bb4e39ae514247448ef50593c9f2c186 of umath.tan:6 +msgid "Tangent of ``x``." +msgstr "" + +#: ../../main/micropython/umath.rst:84 7754ba38970e4b49acfbf174e9c71953 +msgid ".. image:: /blockimg/pybricks_blockMathOp_atan.svg" +msgstr "" + +#: f959b874b0c44acaa4756b24bfa3e7d0 of umath.atan:1 +msgid "Applies the inverse tangent operation." +msgstr "" + +#: 8499436f9a3549c3a051ae4646f04b4c of umath.atan:3 +msgid "Opposite / adjacent." +msgstr "" + +#: 0952dbd1a6bf464eaf8ed4eb4515e332 of umath.atan:6 +msgid "Arctangent of ``x``, in radians." +msgstr "" + +#: ../../main/micropython/umath.rst:88 7d3d6ecc686e41998a2de3671e87341d +msgid ".. image:: /blockimg/pybricks_blockMathOp_atan2.svg" +msgstr "" + +#: 5ca021ff91b943aea4bbf4d1c5a6b9e8 of umath.atan2:1 +msgid "" +"Applies the inverse tangent operation on ``b / a``, and accounts for the " +"signs of ``b`` and ``a`` to produce the expected angle." +msgstr "" + +#: fae3a224c24b42a3a18d127d74a5a63b of umath.atan2:4 +msgid "Opposite side of the triangle." +msgstr "" + +#: afaa9c6e276c49178b8b5ac4a997c1f3 of umath.atan2:6 +msgid "Adjacent side of the triangle." +msgstr "" + +#: 6feadc83f68049feb53fa8cf4c71c8bd of umath.atan2:9 +msgid "Arctangent of ``b / a``, in radians." +msgstr "" + +#: ../../main/micropython/umath.rst:93 09003031cf6f493aaaf4ef3b27d2e8f2 +msgid "Other math functions" +msgstr "" + +#: c525aa58a1494df496dc92953f7517f2 of umath.isfinite:1 +msgid "Checks if a value is finite." +msgstr "" + +#: 1cc239eaecaa48b1afddc1d80900d26a b41f61f983364478be4c77f80a90e52c +#: e8a6e4f8a96d4dff9b9d54fd06d64a37 of umath.isfinite:3 umath.isinfinite:3 +#: umath.isnan:3 +msgid "The value to be checked." +msgstr "" + +#: 16227f637e6a44cbbf3f5cf70f3c9279 of umath.isfinite:6 +msgid "``True`` if ``x`` is finite, else ``False``." +msgstr "" + +#: 7d297a43f0954a4eb8d74dbfb2a65378 of umath.isinfinite:1 +msgid "Checks if a value is infinite." +msgstr "" + +#: 60edbe25369d43dd8dc73f3419cf3e24 of umath.isinfinite:6 +msgid "``True`` if ``x`` is infinite, else ``False``." +msgstr "" + +#: 114d15d0be7749af8b56799f5e8a5c12 of umath.isnan:1 +msgid "Checks if a value is not-a-number." +msgstr "" + +#: a726e3d381a54717944e5d932818a15f of umath.isnan:6 +msgid "``True`` if ``x`` is not-a-number, else ``False``." +msgstr "" + +#: 8e96826734ed4a9699af32d65d0e5e5c of umath.modf:1 +msgid "" +"Gets the fractional and integral parts of ``x``, both with the same sign " +"as ``x``." +msgstr "" + +#: 08bcecf7a91841119147a7202da7386c of umath.modf:4 +msgid "Not to be confused with :func:`fmod`." +msgstr "" + +#: 65ff92e6dcb945609307601644dbcbe1 c5b28b27a8254806a1e71ec5659d2906 of +#: umath.frexp:4 umath.modf:6 +msgid "The value to be decomposed." +msgstr "" + +#: 28f79c3c3948464699b96d13dca69b8b of umath.modf:9 +msgid "Tuple of fractional and integral parts." +msgstr "" + +#: 5b19aa8117ca4fe796e72702689b2382 of umath.frexp:1 +msgid "" +"Decomposes a value ``x`` into a tuple ``(m, p)``, such that ``x == m * (2" +" ** p)``." +msgstr "" + +#: 0976bcfba3b64dc6bdc90923891a71c4 of umath.frexp:7 +msgid "Tuple of ``m`` and ``p``." +msgstr "" + +#: da484d0eeb7348099d553ee53ea99a58 of umath.ldexp:1 +msgid "Computes ``m * (2 ** p)``." +msgstr "" + +#: 98aa6ea3e9964720997e983d1950a0e4 of umath.ldexp:8 +msgid "Result of ``m * (2 ** p)``." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/micropython/urandom.po b/doc/locales/de/LC_MESSAGES/micropython/urandom.po new file mode 100644 index 00000000..294309e5 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/micropython/urandom.po @@ -0,0 +1,186 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/micropython/urandom.rst:4 c263fc08849d42caa527005573703e1a +msgid ":mod:`urandom` -- Pseudo-random numbers" +msgstr "" + +#: 20defd2993bb4e1694d141a89e0a6970 of urandom:1 +msgid "This module implements pseudo-random number generators." +msgstr "" + +#: 6982808e22bc4f439533b0be45892638 of urandom:3 +msgid "" +"All functions in this module should be used with positional arguments. " +"Keyword arguments are not supported." +msgstr "" + +#: ../../main/micropython/urandom.rst:10 7373d7b8183e43dd8e8c7733a06a4978 +msgid "Basic random numbers" +msgstr "" + +#: ../../main/micropython/urandom.rst:11 206881cf675142db8b5ebf9bdcb6fb37 +msgid ".. image:: /blockimg/pybricks_blockRandInt.svg" +msgstr "" + +#: 956c530e619c40fdba867de11c5c0222 of urandom.randint:1 +msgid "Gets a random integer :math:`N` satisfying :math:`a \\leq N \\leq b`." +msgstr "" + +#: ../../main/micropython/urandom.rst 15bb5b0dd5294221bdca444762834dd0 +#: 1f4e57cba3674efea5e6ae4bf6647f67 668c73471f7145a9b992af89b3169d36 +#: 945dd3176214466a9b4bdde5d001f175 9e1c0b307f194a5baa5438634d6b1f25 +#: ff37f8905c2c4f0cb82cc69782a4c8e7 +msgid "Parameters" +msgstr "" + +#: ed818cf64eec411a9100281c4261dd6b of urandom.randint:3 +msgid "Lowest value. This value *is* included in the range." +msgstr "" + +#: 905dd34d0ccf4e3eb859c9ace2467e88 of urandom.randint:5 +msgid "Highest value. This value *is* included in the range." +msgstr "" + +#: ../../main/micropython/urandom.rst 1844f8ef1e8c4341bfd342039682730f +#: 4b41b88ea0f0406a83a6fb3a5f2c4ad4 6b19c533bad44d87bc8dd315d4bde619 +#: 766144c1fe1e495d9cd395050cd9ab50 ae2855b0013446fb9ad895fee45bac08 +msgid "Returns" +msgstr "" + +#: d8dbb7193b874823ab774010e6cb1164 of urandom.randint:8 +msgid "The random integer." +msgstr "" + +#: 56b7c7c5e66e46009a51bbae26adec51 of urandom.random:1 +msgid "Gets a random value :math:`x` satisfying :math:`0 \\leq x < 1`." +msgstr "" + +#: d261df89166745ef89ee3635f825ea36 d2ba89ef6422412aa907fa155124d9a3 of +#: urandom.random:3 urandom.uniform:8 +msgid "The random value." +msgstr "" + +#: ../../main/micropython/urandom.rst:18 cc342d9b617a4a529a4c2e5e20d32156 +msgid "Random numbers from a range" +msgstr "" + +#: f9bfeee4ad4d4d05ac706ef42c1aa0d6 of urandom.getrandbits:1 +msgid "" +"Gets a random integer :math:`N` satisfying :math:`0 \\leq N < " +"2^{\\text{k}}`." +msgstr "" + +#: d57af5cb97da44069a5132119f4ac8f5 of urandom.getrandbits:3 +msgid "How many bits to use for the result." +msgstr "" + +#: 4479b17412e14dfbbde17910d7476c26 of urandom.randrange:1 +msgid "" +"randrange(stop) -> int randrange(start, stop) -> int randrange(start, " +"stop, step) -> int" +msgstr "" + +#: b1280881aca24fb983d713f3711756f2 of urandom.randrange:5 +msgid "Returns a randomly selected element from ``range(start, stop, step)``." +msgstr "" + +#: 92afebcba2e44149a418247a52eb0b86 of urandom.randrange:7 +msgid "" +"For example, ``randrange(1, 7, 2)`` returns random numbers from ``1`` up " +"to (but excluding) ``7``, in increments of ``2``. In other words, it " +"returns ``1``, ``3``, or ``5``." +msgstr "" + +#: b1116ec95be84681adae6de1ab35fb2b of urandom.randrange:12 +msgid "Lowest value. Defaults to ``0`` if only one argument is given." +msgstr "" + +#: a21ae641b47046fdbf415e5e778f96fa of urandom.randrange:14 +msgid "Highest value. This value is *not* included in the range." +msgstr "" + +#: a43987b0bda4477b9c1d3d22f5ae1069 of urandom.randrange:16 +msgid "" +"Increment between values. Defaults to ``1`` if only one or two arguments " +"are given." +msgstr "" + +#: 8e17509201d345c9ba5f5f31634b99f3 of urandom.randrange:20 +msgid "The random number." +msgstr "" + +#: 79e629bd8f484fde9e6701332a625c50 of urandom.uniform:1 +msgid "" +"Gets a random floating point value :math:`x` satisfying :math:`a \\leq x " +"\\leq b`." +msgstr "" + +#: bcb2ac5ef1ee4779b04ea400a3be6d17 of urandom.uniform:3 +msgid "Lowest value." +msgstr "" + +#: d67de72267ca408f857b5491273a28cf of urandom.uniform:5 +msgid "Highest value." +msgstr "" + +#: ../../main/micropython/urandom.rst:26 b10f2504850e4665b3d97fa906c2288e +msgid "Random elements from a sequence" +msgstr "" + +#: 2e2f4f1078794d6d9a19a97ceb512769 of urandom.choice:1 +msgid "Gets a random element from a sequence such as a tuple or list." +msgstr "" + +#: 6bb01e4ace7e455fa5b0723ce25a8576 of urandom.choice:3 +msgid "Sequence from which to select a random element." +msgstr "" + +#: 7468bad4c4c0433ea4a6bf2b191ea621 of urandom.choice:5 +msgid "The randomly selected element." +msgstr "" + +#: ../../main/micropython/urandom.rst debb79fe169744fe96fb4ea6ed3352d2 +msgid "Raises" +msgstr "" + +#: 6bbe3ea3cccd45d5b2cf4f3d8298ab92 of urandom.choice:7 +msgid "If the sequence is empty." +msgstr "" + +#: ../../main/micropython/urandom.rst:30 ca509c4201df4d05bce69da941aa2b23 +msgid "Updating the random seed" +msgstr "" + +#: 54443a5a12024dd9af06354ed052c4e2 of urandom.seed:1 +msgid "Initializes the random number generator." +msgstr "" + +#: fe34891c50e64238b190c22a602053a3 of urandom.seed:3 +msgid "" +"This gets called when the module is imported, so normally you do not need" +" to call this." +msgstr "" + +#: 13f95c513b9141829121f23d68b9741f of urandom.seed:6 +msgid "Seed value. When using ``None``, the system timer will be used." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/micropython/uselect.po b/doc/locales/de/LC_MESSAGES/micropython/uselect.po new file mode 100644 index 00000000..c1d36550 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/micropython/uselect.po @@ -0,0 +1,189 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/micropython/uselect.rst:4 a2f4c6c81cda46f287f7e51fa57d9f90 +msgid ":mod:`uselect` -- Wait for events" +msgstr "" + +#: 7ae2510990b841199e97f3ac7e972e65 of uselect:1 +msgid "" +"This module provides functions to efficiently wait for events on multiple" +" streams." +msgstr "" + +#: ../../main/micropython/uselect.rst:10 f63cb13b964a41b7aefd9250ccfd688d +msgid "Poll instance and class" +msgstr "" + +#: 78ea2b8ff40646de89b2931b0194a7f8 of uselect.poll:1 +msgid "Creates an instance of the :class:`Poll` class." +msgstr "" + +#: ../../main/micropython/uselect.rst d716b4458ecc464c8c0c730e5ee8d777 +#: fd158e9b994e4a6ca557e09ad0dd2e3b +msgid "Returns" +msgstr "" + +#: 37460669f839452abfa777c17381b0ad of uselect.poll:3 +msgid "The :class:`Poll` instance." +msgstr "" + +#: 9d8eb80587874b36a9ec7ed77725590f of uselect.Poll.register:1 +msgid "" +"Register a stream object for polling. The stream object will now be " +"monitored for events. If an event happens, it becomes part of the return " +"value of :meth:`poll`." +msgstr "" + +#: 8c573d0d574f430a8237a5b3dba96ab4 of uselect.Poll.register:5 +msgid "" +"If this method is called again for the same stream object, the object " +"will not be registered again, but the ``eventmask`` flags will be " +"updated, as if calling :meth:`modify()`." +msgstr "" + +#: ../../main/micropython/uselect.rst 1d7bab506e7f43d6bacfdbce4da52e75 +#: 2ee0a73ba5524d8f9493966392b682c6 390943851993450a9b936f4eb2ff0777 +#: 92e9e398f8be45149cc5bd292f92f624 cf71df78681b42a0b3540aa382a16ed4 +msgid "Parameters" +msgstr "" + +#: 9f7483d964d14dbab4dc92d016b4d69f ff088c884a6841f688e46e452ed006c6 of +#: uselect.Poll.modify:3 uselect.Poll.register:9 +msgid "Stream to be registered for polling." +msgstr "" + +#: 113800cf3c6a4910a4a1dbe7998d9e2c of uselect.Poll.register:11 +msgid "" +"Which events to use. Should be ``POLLIN``, ``POLLOUT``, or their logical " +"disjunction: ``POLLIN | POLLOUT``." +msgstr "" + +#: a79a361be21345e09c72bda761bd0ffe of uselect.Poll.unregister:1 +msgid "Unregister an object from polling." +msgstr "" + +#: e0f0f1067dd044288f698c0c498f8a75 of uselect.Poll.unregister:3 +msgid "Stream to be unregistered from polling." +msgstr "" + +#: 11509e246bc947368425dc1ea57324de of uselect.Poll.modify:1 +msgid "Modifies the event mask for the stream object." +msgstr "" + +#: a48ab07eab9e40edb404d93dbb68dc4a of uselect.Poll.modify:5 +msgid "Which events to use." +msgstr "" + +#: ../../main/micropython/uselect.rst 5911ce75a2094d8db74d5a7c5a64a423 +msgid "Raises" +msgstr "" + +#: 44d9424d642b45cabefa22e451e29032 of uselect.Poll.modify:8 +msgid "If the object is not registered. The error is ``ENOENT``." +msgstr "" + +#: 00e05011ded24173a75b53ed569764c1 of uselect.Poll.poll:1 +msgid "poll(timeout=-1) -> List[Tuple[FileIO, int]]" +msgstr "" + +#: 30242c660b8640d2a624edbf9e8c4140 of uselect.Poll.poll:3 +msgid "" +"Wait until at least one of the registered objects has a new event or " +"exceptional condition ready to be handled." +msgstr "" + +#: a1cfafd1c8c64e8ea8a2010818ee363d bdeb6d6f721c4aaeabaf0fd3a582fafa of +#: uselect.Poll.ipoll:11 uselect.Poll.poll:6 +msgid "" +"Timeout in milliseconds. Choose ``0`` to return immediately or choose " +"``-1`` to wait indefinitely." +msgstr "" + +#: 9759d0cfe44049fd9be0703ba0e56a68 of uselect.Poll.poll:10 +msgid "" +"A list of tuples. There is one (``object``, ``eventmask``, ...) tuple for" +" each object with an event, or no tuples if there are no events to be " +"handled. The ``eventmask`` value is a combination of poll flags to " +"indicate what happened. This may include ``POLLERR`` and ``POLLHUP`` even" +" if they were not registered." +msgstr "" + +#: 23eb9a60fc8a409886a51102d0913b65 of uselect.Poll.ipoll:1 +msgid "ipoll(timeout=-1, flags=1) -> Iterator[Tuple[FileIO, int]]" +msgstr "" + +#: 89f1a373e4b247a9ac0bcea481a8f7f5 of uselect.Poll.ipoll:3 +msgid "" +"First, just like :meth:`poll`, wait until at least one of the registered " +"objects has a new event or exceptional condition ready to be handled." +msgstr "" + +#: 9c774506584546dea047057e0b38a24f of uselect.Poll.ipoll:6 +msgid "" +"But instead of a list, this method returns an iterator for improved " +"efficiency. The iterator yields one (``object``, ``eventmask``, ...) " +"tuple at a time, and overwrites it when yielding the next value. If you " +"need the values later, make sure to copy them explicitly." +msgstr "" + +#: eea15fc6325a4028b4f163af9d8dd08b of uselect.Poll.ipoll:14 +msgid "" +"If set to ``1``, one-shot behavior for events is employed. This means " +"that streams for which events happened will have their event masks " +"automatically reset using ``poll.modify(obj, 0)``. This way, new events " +"for such a stream won't be processed until a new mask is set with " +":meth:`modify`, which is useful for asynchronous I/O schedulers." +msgstr "" + +#: ../../main/micropython/uselect.rst:27 6ffa24380b084ebcb4e6069afee37532 +msgid "Event mask flags" +msgstr "" + +#: ../../docstring afe9c5d15d784da59e2ff894773de413 of uselect.POLLIN:1 +msgid "Data is available for reading." +msgstr "" + +#: ../../docstring c7a36c178f244416b27410d9f6d4f5af of uselect.POLLOUT:1 +msgid "More data can be written." +msgstr "" + +#: ../../docstring 03ed06e7111e4a8abfebdfb4186a5860 of uselect.POLLERR:1 +msgid "" +"Error condition happened on the associated stream. Should be handled " +"explicitly or else further invocations of :meth:`poll` may return right " +"away." +msgstr "" + +#: ../../docstring f86a19e20b174e85b5644b87d9539700 of uselect.POLLHUP:1 +msgid "" +"Hang up happened on the associated stream. Should be handled explicitly " +"or else further invocations of :meth:`poll` may return right away." +msgstr "" + +#: ../../main/micropython/uselect.rst:37 258fd1c608b94313a8e773680d75fa4b +msgid "Examples" +msgstr "" + +#: ../../main/micropython/uselect.rst:39 44030ab5b71b4f5fb5abd19cc698cfa4 +msgid "See the `projects website`_ for a demo that uses this module." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/micropython/ustruct.po b/doc/locales/de/LC_MESSAGES/micropython/ustruct.po new file mode 100644 index 00000000..c3383f9c --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/micropython/ustruct.po @@ -0,0 +1,355 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/micropython/ustruct.rst:4 94ea674dc0f34bd3bd0f45433128da33 +msgid ":mod:`ustruct` -- Pack and unpack binary data" +msgstr "" + +#: f4588a3f1d6249f79f152bb04819e63a of ustruct:1 +msgid "" +"This module provides functions to convert between Python values and " +"C-like data structs." +msgstr "" + +#: 3a8ab51d99ac41b796c0ef54eac4fe6f of ustruct.calcsize:1 +msgid "Gets the data size corresponding to a format string" +msgstr "" + +#: ../../main/micropython/ustruct.rst 51a4892b931b40f4809b9248656ea0db +#: 5379692e605f48c0af4099225f47ece4 844da7b3a84d4a8e9cab55d6e485d0e0 +#: 8bad315ebf38487cbfbec9996fcfb8da fd1299c25f2c4ef5b2b87845d1f59451 +msgid "Parameters" +msgstr "" + +#: 581ba2d4a2b746099ba1f099d3aa8c92 60beff4258724fac898a53fc8f0c5619 +#: 61edb7144a734d4b86668171ad7fa4a8 6cd9fe93986d4d5694fba45542930035 +#: 89a740764c87478a95dc1463f34de6e9 of ustruct.calcsize:3 ustruct.pack:3 +#: ustruct.pack_into:3 ustruct.unpack:3 ustruct.unpack_from:3 +msgid "Data format string." +msgstr "" + +#: ../../main/micropython/ustruct.rst 060c30a97eea426dad5e148edb5d3729 +#: 6218dc4c4aaf4779bfe70a3f80203077 83cce474508e4eb180cc730387cebbe7 +#: e5c57e290c8241809f9e69e175f99870 +msgid "Returns" +msgstr "" + +#: 35d2faae21af48708924ce3f29fee1e2 of ustruct.calcsize:6 +msgid "The number of bytes needed to represent this format." +msgstr "" + +#: cc5251094ad645aa935a04a4ee77f5d5 of ustruct.pack:1 +msgid "Packs the values using the given format." +msgstr "" + +#: 304c61a2c14a4cbc8de7133964011684 of ustruct.pack:6 +msgid "The data encoded as bytes." +msgstr "" + +#: 9151c61cbb3942e8aeda9c71ea2f1efe of ustruct.pack_into:1 +msgid "Encode the values using the given format and write them to a given buffer." +msgstr "" + +#: d85fe4dcb30348a9beff9d102d31e9a7 of ustruct.pack_into:5 +msgid "Buffer to store the encoded data." +msgstr "" + +#: 3d21dfd9356a43d0826880ed1ec828ff of ustruct.pack_into:7 +msgid "" +"Offset from the start of the buffer. Use a negative value to count from " +"the end of the buffer." +msgstr "" + +#: 9fb15edab4bd4dd58252f39d89448616 of ustruct.unpack:1 +msgid "Decodes the binary data using the given format." +msgstr "" + +#: 101f087163034e1d878a9fa43c9db292 of ustruct.unpack:5 +msgid "Data to unpack." +msgstr "" + +#: 4d16fbdad33f4a90b5941b255c2539db efac6346808f4538b330b4fdf8164a20 of +#: ustruct.unpack:8 ustruct.unpack_from:11 +msgid "The decoded data as a tuple of values." +msgstr "" + +#: 49f5caea19bd4b3590f7fd0f44d1e92e of ustruct.unpack_from:1 +msgid "Decodes binary data from a buffer using the given format." +msgstr "" + +#: eccef91c8cf3497fa7c9f17bcda3244a of ustruct.unpack_from:5 +msgid "Data buffer to unpack." +msgstr "" + +#: 9379ca0d430248b69230b9a44b628252 of ustruct.unpack_from:7 +msgid "" +"Offset from the start of the data. Use a negative value to count from the" +" end of the data." +msgstr "" + +#: ../../main/micropython/ustruct.rst:8 c36dfc48bfa84c2cb9855e470d169c2e +msgid "The following byte orders are supported:" +msgstr "" + +#: ../../main/micropython/ustruct.rst:11 a0b6fda8dcda490d9659665a2eb46331 +msgid "Character" +msgstr "" + +#: ../../main/micropython/ustruct.rst:11 f6ba1c4b7b574ec4b85fe9c97f8f6584 +msgid "Byte order" +msgstr "" + +#: ../../main/micropython/ustruct.rst:11 94781d31d4ce45f594399432d075dcb7 +msgid "Size" +msgstr "" + +#: ../../main/micropython/ustruct.rst:11 f7ad7e372d34411cbce2cad313d06404 +msgid "Alignment" +msgstr "" + +#: ../../main/micropython/ustruct.rst:13 dcd7cd4b9e9942d3af679c7393edc728 +msgid "@" +msgstr "" + +#: ../../main/micropython/ustruct.rst:13 72685f5461ba40daad5fed13926a29b9 +#: 87a1bbec1a6e499984b52790f8dfe79a e4a3cc7defcd4bed817f30139e132ae9 +msgid "native" +msgstr "" + +#: ../../main/micropython/ustruct.rst:15 8c3a9ab5dad84d08bb2cceb800c3e0f5 +msgid "<" +msgstr "" + +#: ../../main/micropython/ustruct.rst:15 ed0b69ab1c274faebb25e0655a7fc0bd +msgid "little-endian" +msgstr "" + +#: ../../main/micropython/ustruct.rst:15 ../../main/micropython/ustruct.rst:17 +#: ../../main/micropython/ustruct.rst:19 5c502724934e4d9ebd6e75133709dfd9 +#: 8e5a33988e1d4ab697abb78c724afc9c d68a53257d774cf99ca45ecd464e1b01 +msgid "standard" +msgstr "" + +#: ../../main/micropython/ustruct.rst:15 ../../main/micropython/ustruct.rst:17 +#: ../../main/micropython/ustruct.rst:19 089f5472c05d428a8e4edf26354fab49 +#: 53c2d52a3d48456e9ed079cfc03a81bf 8c1d11b0c1de4953a39914b60c0dfc6b +msgid "none" +msgstr "" + +#: ../../main/micropython/ustruct.rst:17 39bbcc41eb0542d38f809869528ee210 +msgid ">" +msgstr "" + +#: ../../main/micropython/ustruct.rst:17 69f1581c6a744f10924aa1cea5060f15 +msgid "big-endian" +msgstr "" + +#: ../../main/micropython/ustruct.rst:19 c998acc843bb43fe8923c78b1a75896a +msgid "!" +msgstr "" + +#: ../../main/micropython/ustruct.rst:19 69ec643a4ce84e388186c9e350b0dfca +msgid "network (= big-endian)" +msgstr "" + +#: ../../main/micropython/ustruct.rst:22 051946d7f82741669131b4b3d31c3db3 +msgid "The following data types are supported:" +msgstr "" + +#: ../../main/micropython/ustruct.rst:25 8e1c990623964aba9afa69ee0fce8662 +msgid "Format" +msgstr "" + +#: ../../main/micropython/ustruct.rst:25 87ee3287a24f4f9687886a2987085b7b +msgid "C Type" +msgstr "" + +#: ../../main/micropython/ustruct.rst:25 09f73d98f9d54812a5f7f3a787a6139c +msgid "Python type" +msgstr "" + +#: ../../main/micropython/ustruct.rst:25 b63be7b97a1e4d4cb9c816713a295c40 +msgid "Standard size" +msgstr "" + +#: ../../main/micropython/ustruct.rst:27 03f2a07df631475b959969a2e5cb8686 +msgid "b" +msgstr "" + +#: ../../main/micropython/ustruct.rst:27 941f1b2167774acebf472456a0553c50 +msgid "signed char" +msgstr "" + +#: ../../main/micropython/ustruct.rst:27 ../../main/micropython/ustruct.rst:29 +#: ../../main/micropython/ustruct.rst:31 ../../main/micropython/ustruct.rst:33 +#: ../../main/micropython/ustruct.rst:35 ../../main/micropython/ustruct.rst:37 +#: ../../main/micropython/ustruct.rst:53 3915dcdb9fc9421ebd27a5e7970e0bc2 +#: 6dde146aa9f84fbc9bc55c3915c13c52 a93e66dc791f45d2bc44fc8f43868099 +#: bd34dcf7c1554db39423bef0e81ddb9a d64b8b6441be4d6f9f84e09dc177406b +#: ddee4dca55e2470ea14ab02ad8e3c6d3 de0ecb04491242d499928a802698c6ab +msgid "integer" +msgstr "" + +#: ../../main/micropython/ustruct.rst:27 ../../main/micropython/ustruct.rst:29 +#: 51c6b581580745debb65860470bb13b8 676f272988ce443a892586a5c3b27b40 +msgid "1" +msgstr "" + +#: ../../main/micropython/ustruct.rst:29 339043d1e49f42ed8d29c715f6c6878e +msgid "B" +msgstr "" + +#: ../../main/micropython/ustruct.rst:29 119f135d7c8e4e07b0a2fe9f5211d43e +msgid "unsigned char" +msgstr "" + +#: ../../main/micropython/ustruct.rst:31 0f771ef3ab7743389a09b2f57b6aacc5 +msgid "h" +msgstr "" + +#: ../../main/micropython/ustruct.rst:31 ac8866c61a3246eeac39d5aa719e2b1f +msgid "short" +msgstr "" + +#: ../../main/micropython/ustruct.rst:31 ../../main/micropython/ustruct.rst:33 +#: 6d64c86d187a41639588fad0eeacb629 cfd281e909d047f5a01696f77a9601f6 +msgid "2" +msgstr "" + +#: ../../main/micropython/ustruct.rst:33 b5a2d1d546054ad797378fe7770ee150 +msgid "H" +msgstr "" + +#: ../../main/micropython/ustruct.rst:33 20a4d9e5aa044190a0b1d15a2d5f8bd5 +msgid "unsigned short" +msgstr "" + +#: ../../main/micropython/ustruct.rst:35 7dc6d4419844441da4b3812013ac2185 +msgid "i" +msgstr "" + +#: ../../main/micropython/ustruct.rst:35 5e84ddd8e8e1461f91ac228e28a3ff1e +msgid "int" +msgstr "" + +#: ../../main/micropython/ustruct.rst:35 ../../main/micropython/ustruct.rst:37 +#: ../../main/micropython/ustruct.rst:39 ../../main/micropython/ustruct.rst:41 +#: ../../main/micropython/ustruct.rst:47 1aaf67e113794258bda9c8d46d73f380 +#: 50391837ffe14a03aed658a4078e3e23 8b3c993aaf8d46c593b22af17f21e928 +#: a13b69aca82b4d48afe1cf8ce9a38130 b6506e8eb2db40e2890a3877b86c9c3f +msgid "4" +msgstr "" + +#: ../../main/micropython/ustruct.rst:37 460bce1d08ad4cd3901a0576b0fe0fb0 +msgid "I" +msgstr "" + +#: ../../main/micropython/ustruct.rst:37 3d40d75a5a38408aa7ea449ff04e2055 +msgid "unsigned int" +msgstr "" + +#: ../../main/micropython/ustruct.rst:39 9993de2882a940ffaa71e840cb58e804 +msgid "l" +msgstr "" + +#: ../../main/micropython/ustruct.rst:39 24d83a54a471499f93d3552dd6e94b32 +msgid "long" +msgstr "" + +#: ../../main/micropython/ustruct.rst:39 ../../main/micropython/ustruct.rst:41 +#: ../../main/micropython/ustruct.rst:43 ../../main/micropython/ustruct.rst:45 +#: 6bfee8559c054095b21708b69272a905 844bed1734064c879c8a6e7b9e532b6d +#: 87081d333c2f401986a9f4771603edf3 be1445d2e9fc448a9516434f3636940c +msgid "integer (1)" +msgstr "" + +#: ../../main/micropython/ustruct.rst:41 92e8c465db8044338e27a6614f7ca8da +msgid "L" +msgstr "" + +#: ../../main/micropython/ustruct.rst:41 ccc747b3d73b485484db534d4dfae62b +msgid "unsigned long" +msgstr "" + +#: ../../main/micropython/ustruct.rst:43 068ca59117604270bd24d5c4ecf560f1 +msgid "q" +msgstr "" + +#: ../../main/micropython/ustruct.rst:43 e8922bfceda34cf1a0c4031f760ea695 +msgid "long long" +msgstr "" + +#: ../../main/micropython/ustruct.rst:43 ../../main/micropython/ustruct.rst:45 +#: ../../main/micropython/ustruct.rst:49 0a88747993514a439d7ea507c9c28dd4 +#: 2c1816ddf3224c178871b414412985cb ff44763e7db74ebc9bc8f4f790c9523a +msgid "8" +msgstr "" + +#: ../../main/micropython/ustruct.rst:45 af4d68f605ce4a4fa26702b6b9d27339 +msgid "Q" +msgstr "" + +#: ../../main/micropython/ustruct.rst:45 ef815551ea3b4cfe9d4d911f0fca7948 +msgid "unsigned long long" +msgstr "" + +#: ../../main/micropython/ustruct.rst:47 ef5fd3727a434af59654ca654980aebf +msgid "f" +msgstr "" + +#: ../../main/micropython/ustruct.rst:47 ../../main/micropython/ustruct.rst:49 +#: 3a3b7cd5df0845f282d293750d4be9c2 463350e8ad334c7eb9cee3337e625861 +#: d73b50dd15384b3daba34f46e83a3f5f +msgid "float" +msgstr "" + +#: ../../main/micropython/ustruct.rst:49 80dd445a541043b797e42882ddaa9794 +msgid "d" +msgstr "" + +#: ../../main/micropython/ustruct.rst:49 dbf4880de0584eb4a1e8337d2837db47 +msgid "double" +msgstr "" + +#: ../../main/micropython/ustruct.rst:51 5a2dd8470c4d4fff8f67d58fef77b8fe +msgid "s" +msgstr "" + +#: ../../main/micropython/ustruct.rst:51 11510c82326246d1ac32f98da0d67b96 +msgid "char[]" +msgstr "" + +#: ../../main/micropython/ustruct.rst:51 a922c74f27744e9b964d7377dd0d1048 +msgid "bytes" +msgstr "" + +#: ../../main/micropython/ustruct.rst:53 2e36ccc3c94f4fd7a43cdd8410b3bdbb +msgid "P" +msgstr "" + +#: ../../main/micropython/ustruct.rst:53 1212eda91a91471d9f18a707a68f3d60 +msgid "void *" +msgstr "" + +#: ../../main/micropython/ustruct.rst:56 878e918933014df9a72a33e33bdfbab2 +msgid "\\(1\\) Supports values up to +/-1073741823" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/micropython/usys.po b/doc/locales/de/LC_MESSAGES/micropython/usys.po new file mode 100644 index 00000000..10fbab85 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/micropython/usys.po @@ -0,0 +1,115 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/micropython/usys.rst:4 4be65c67faf748d8b37efb1791683b9c +msgid ":mod:`usys` -- System specific functions" +msgstr "" + +#: ../../main/micropython/usys.rst:6 c3171b6ffcc34b6fb86690922264006b +msgid "This MicroPython module is a subset of the `sys module`_ in Python." +msgstr "" + +#: ../../main/micropython/usys.rst:9 b994c38a1f77403f91c609aa1479efa4 +msgid "Input and output streams" +msgstr "" + +#: ../../docstring 185e64808fe44ba5924a4c23eda71e91 of usys.stdin:1 +msgid "" +"This is a stream object (:class:`uio.FileIO`) that receives input from a " +"connected terminal, if any." +msgstr "" + +#: ../../docstring a538f465830e45a6aa5374b22271dd03 of usys.stdin:4 +msgid "" +"Also see :func:`kbd_intr ` to disable " +"``KeyboardInterrupt`` when passing binary data via ``stdin``." +msgstr "" + +#: ../../docstring e49b30e0bdc744318e2d47f06b935ce9 of usys.stdout:1 +msgid "" +"This is a stream object (:class:`uio.FileIO`) that sends output to a " +"connected terminal, if any." +msgstr "" + +#: ../../docstring fd585c6494f54633ad6f1507347478a4 of usys.stderr:1 +msgid "Alias for :data:`stdout`." +msgstr "" + +#: ../../main/micropython/usys.rst:22 9a54f5727e6645e9ae5618083495bcf6 +msgid "Version info" +msgstr "" + +#: ../../docstring 9ed32254c292447f9f7b1f7755f55f99 of usys.implementation:1 +msgid "MicroPython version tuple. See format and example below." +msgstr "" + +#: ../../docstring 22cb0ad6092a43c8a3dd86499189f0b9 of usys.version:1 +msgid "" +"Python compatibility version, Pybricks version, and build date. See " +"format and example below." +msgstr "" + +#: ../../docstring e82ecf11c93e4741a480184309c7f19d of usys.version_info:1 +msgid "Python compatibility version. See format and example below." +msgstr "" + +#: ../../main/micropython/usys.rst:33 86ffa9a57cfd49a9a2634e2fac530e35 +msgid "Examples" +msgstr "" + +#: ../../main/micropython/usys.rst:36 d3af1091b64a417ca385e4817b47fa4f +msgid "Version information" +msgstr "" + +#: ../../main/micropython/usys.rst:38 8447a54a80014c238e9e7b7ec239dc26 +msgid "" +"from pybricks import version\n" +"\n" +"# ('essentialhub', '3.2.0b5', 'v3.2.0b5 on 2022-11-11')\n" +"print(version)\n" +msgstr "" + +#: ../../main/micropython/usys.rst:41 b22f0d6d59684cdba3e9dc9a7e0ee638 +msgid "" +"import usys\n" +"\n" +"# ('micropython', (1, 19, 1), 'SPIKE Essential Hub with STM32F413RG', 6)\n" +"print(usys.implementation)\n" +"\n" +"# '3.4.0; Pybricks MicroPython v3.2.0b5 on 2022-11-11'\n" +"print(usys.version)\n" +"\n" +"# (3, 4, 0)\n" +"print(usys.version_info)\n" +msgstr "" + +#: ../../main/micropython/usys.rst:45 2fa74e5d046948919f516bca5b2f1499 +msgid "Standard input and output" +msgstr "" + +#: ../../main/micropython/usys.rst:47 33947b67c1cb405e99385bc7e3cfc337 +msgid "" +"The ``stdin`` stream can be used to capture input via the Pybricks Code " +"input/output window. See the `keyboard input`_ project to learn how this " +"works. This approach can be extended to exchange data with any `other " +"device`_ as well." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/parameters/axis.po b/doc/locales/de/LC_MESSAGES/parameters/axis.po new file mode 100644 index 00000000..9e53fdfc --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/parameters/axis.po @@ -0,0 +1,35 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/parameters/axis.rst:4 349963ebf7ad42eab81ce2af2646456d +msgid "Axis" +msgstr "" + +#: 0dcb24069d924025a8ef6887d4aa501b of pybricks.parameters.Axis:1 +msgid "Unit axes of a coordinate system." +msgstr "" + +#: ../../main/parameters/axis.rst:9 a3da3046215342a1a090d554fd42ba11 +msgid "" +"On Move Hub, doing math with these vectors is not supported. The axes can" +" still be used to set up the hub orientation." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/parameters/button.po b/doc/locales/de/LC_MESSAGES/parameters/button.po new file mode 100644 index 00000000..719b65b7 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/parameters/button.po @@ -0,0 +1,86 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/parameters/button.rst:4 351ffa8371954c79a4d5ff5cfc9bbd3a +msgid "Button" +msgstr "" + +#: ../../main/parameters/button.rst:9 edf242191d6542e3ad03bd8a971e4cb2 +msgid "Remote and hub buttons" +msgstr "" + +#: ../../main/parameters/button.rst:13 ../../main/parameters/button.rst:18 +#: ../../main/parameters/button.rst:23 ../../main/parameters/button.rst:28 +#: 482d0ce3c3f740b98195a6ed03dc915a 7dce0d5aa2e94028baac756bfb073d5d +#: 95ceb1e979e94c3690dfe6d2d0179b71 ca56528b7ee948168ef013eea9086add +msgid "Powered Up Remote only." +msgstr "" + +#: ../../main/parameters/button.rst:33 dcdf9f87f8594b6bb391c871ed46dc48 +msgid "Powered Up Remote (green button) or hub power button." +msgstr "" + +#: ../../main/parameters/button.rst:38 bce0d092a095437c89c2da3b7c56a5e0 +msgid "Powered Up Remote (left red button) and Prime/Inventor Hub (left button)." +msgstr "" + +#: ../../main/parameters/button.rst:43 dd2bc05427b24d1c92d72501aefb20fc +msgid "" +"Powered Up Remote (right red button) and Prime/Inventor Hub (right " +"button)." +msgstr "" + +#: ../../main/parameters/button.rst:48 d04f7a483b744ff2a5c24e4c4174be81 +msgid "Prime/Inventor Hub button with Bluetooth icon." +msgstr "" + +#: ../../main/parameters/button.rst:51 e54b6618ebc140c19ee89e2ad0d7c934 +msgid "Xbox controller buttons" +msgstr "" + +#: ../../main/parameters/button.rst:67 5598ca092eaa4046b9ec4bdbfe9377ab +msgid "The left bumper." +msgstr "" + +#: ../../main/parameters/button.rst:72 a9798cf65370424591042619d7580662 +msgid "The right bumper." +msgstr "" + +#: ../../main/parameters/button.rst:77 c67312ea762443adbd6652f90e5ab875 +msgid "Pressing the left joystick." +msgstr "" + +#: ../../main/parameters/button.rst:82 eb3832d630f4476abd5644b644812b00 +msgid "Pressing the right joystick." +msgstr "" + +#: ../../main/parameters/button.rst:87 9d5b080e317f439fa073759232bc0dd5 +msgid "The Xbox button in the center of the controller." +msgstr "" + +#: ../../main/parameters/button.rst:95 399d5c4e14a04e66b7b2bd2c88ce6107 +msgid "Only available on newer Xbox controllers." +msgstr "" + +#: ../../main/parameters/button.rst:101 bcfc778a34ba4cc49cf2d8c84ba10bac +msgid "Xbox Elite Series 2 controller paddles" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/parameters/color.po b/doc/locales/de/LC_MESSAGES/parameters/color.po new file mode 100644 index 00000000..040d18b0 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/parameters/color.po @@ -0,0 +1,162 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/parameters/color.rst:4 2b3e093b9ed24e399542088cdd03dfc5 +msgid "Color" +msgstr "" + +#: 81a30dcd327e48569f549ae8539885ba of pybricks.parameters.Color:1 +msgid "Light or surface color." +msgstr "" + +#: ../../main/parameters/color.rst fac0813e62854f859cadebcf73380ff0 +msgid "Parameters" +msgstr "" + +#: 1050305007b2416ab2ff6818071bb70c of pybricks.parameters.Color:3 +msgid "Hue." +msgstr "" + +#: 0640a855e6b34ddc9735af4490ec44f6 of pybricks.parameters.Color:5 +msgid "Saturation." +msgstr "" + +#: c8e00f606aaf451699d0838c97675916 of pybricks.parameters.Color:7 +msgid "Brightness value." +msgstr "" + +#: ../../main/parameters/color.rst:9 04615747c9294bcd9f2cea6a5160362c +msgid "Saturated colors" +msgstr "" + +#: ../../main/parameters/color.rst:10 aaf65185faff456a99eb886128976600 +msgid "" +"These colors have maximum saturation and brightness value. They differ " +"only in hue." +msgstr "" + +#: ../../main/parameters/color.rst:46 c0c0cdf6b98541f18361a37aca9d9eae +msgid "Unsaturated colors" +msgstr "" + +#: ../../main/parameters/color.rst:47 e9fd189fa9d542f4ad1710b911677d65 +msgid "" +"These colors have zero hue and saturation. They differ only in brightness" +" value." +msgstr "" + +#: ../../main/parameters/color.rst:50 16ae89e65f374c0e852af41d55a68902 +msgid "" +"When detecting these colors using sensors, their values depend a lot on " +"the distance to the object. If the distance between the sensor and the " +"object is not constant in your robot, it is better to use only one of " +"these colors in your programs." +msgstr "" + +#: ../../main/parameters/color.rst:65 e7db49253b0e4df5b13da733da65742e +msgid "" +"This represents dark objects that still reflect a very small amount of " +"light." +msgstr "" + +#: ../../main/parameters/color.rst:72 1888d5d356214eacbb2f95bf7a128ffa +msgid "This is total darkness, with no reflection or light at all." +msgstr "" + +#: ../../main/parameters/color.rst:77 c6df6be5de7540bf85e32bac6cfac845 +msgid "Making your own colors" +msgstr "" + +#: ../../main/parameters/color.rst:78 eac7b503d3c94a138fcbffaeefca4203 +msgid "" +"This example shows the basics of color properties, and how to define new " +"colors." +msgstr "" + +#: ../../main/parameters/color.rst:80 d66f1dd374f14a6bb2a351991cfad05d +msgid "" +"from pybricks.parameters import Color\n" +"\n" +"# You can print colors. Colors may be obtained from the Color class, or\n" +"# from sensors that return color measurements.\n" +"print(Color.RED)\n" +"\n" +"# You can read hue, saturation, and value properties.\n" +"print(Color.RED.h, Color.RED.s, Color.RED.v)\n" +"\n" +"# You can make your own colors. Saturation and value are 100 by default.\n" +"my_green = Color(h=125)\n" +"my_dark_green = Color(h=125, s=80, v=30)\n" +"\n" +"# When you print custom colors, you see exactly how they were defined.\n" +"print(my_dark_green)\n" +"\n" +"# You can also add colors to the builtin colors.\n" +"Color.MY_DARK_BLUE = Color(h=235, s=80, v=30)\n" +"\n" +"# When you add them like this, printing them only shows its name. But you" +" can\n" +"# still read h, s, v by reading its attributes.\n" +"print(Color.MY_DARK_BLUE)\n" +"print(Color.MY_DARK_BLUE.h, Color.MY_DARK_BLUE.s, Color.MY_DARK_BLUE.v)\n" +msgstr "" + +#: ../../main/parameters/color.rst:83 109c91a0c8774428976dacc7a677468b +msgid "This example shows more advanced use cases of the ``Color`` class." +msgstr "" + +#: ../../main/parameters/color.rst:85 00399918f0b44ebf89e01321a877b77a +msgid "" +"from pybricks.parameters import Color\n" +"\n" +"# Two colors are equal if their h, s, and v attributes are equal.\n" +"if Color.BLUE == Color(240, 100, 100):\n" +" print(\"Yes, these colors are the same.\")\n" +"\n" +"# You can scale colors to change their brightness value.\n" +"red_dark = Color.RED * 0.5\n" +"\n" +"# You can shift colors to change their hue.\n" +"red_shifted = Color.RED >> 30\n" +"\n" +"# Colors are immutable, so you can't change h, s, or v of an existing " +"object.\n" +"try:\n" +" Color.GREEN.h = 125\n" +"except AttributeError:\n" +" print(\"Sorry, can't change the hue of an existing color object!\")\n" +"\n" +"# But you can override builtin colors by defining a whole new color.\n" +"Color.GREEN = Color(h=125)\n" +"\n" +"# You can access and store colors as class attributes, or as a " +"dictionary.\n" +"print(Color.BLUE)\n" +"print(Color[\"BLUE\"])\n" +"print(Color[\"BLUE\"] is Color.BLUE)\n" +"print(Color)\n" +"print([c for c in Color])\n" +"\n" +"# This allows you to update existing colors in a loop.\n" +"for name in (\"BLUE\", \"RED\", \"GREEN\"):\n" +" Color[name] = Color(1, 2, 3)\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/parameters/direction.po b/doc/locales/de/LC_MESSAGES/parameters/direction.po new file mode 100644 index 00000000..e7196f96 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/parameters/direction.po @@ -0,0 +1,78 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/parameters/direction.rst:4 51d535e452b7498c9ce2ff12ecd652fd +msgid "Direction" +msgstr "" + +#: ../../main/parameters/direction.rst:8 98bb0818b8dd4590b13c791e51e37ac5 +msgid "Rotational direction for positive speed or angle values." +msgstr "" + +#: ../../docstring d3c117b11ded4eee8dee61651917ad35 of +#: pybricks.parameters.Direction.CLOCKWISE:1 +msgid "A positive speed value should make the motor move clockwise." +msgstr "" + +#: ../../docstring dd53b422be4e4eefb0bb9bde36b3192d of +#: pybricks.parameters.Direction.COUNTERCLOCKWISE:1 +msgid "A positive speed value should make the motor move counterclockwise." +msgstr "" + +#: ../../main/parameters/direction.rst:17 95a5ce41eaa848aabaaa75bd77eea5b3 +msgid "``positive_direction =``" +msgstr "" + +#: ../../main/parameters/direction.rst:17 ed36f71ad4cc48198e43a15df067c974 +msgid "Positive speed:" +msgstr "" + +#: ../../main/parameters/direction.rst:17 e8683c361a60477ead9ace118b28a7b4 +msgid "Negative speed:" +msgstr "" + +#: ../../main/parameters/direction.rst:19 48a3faed88ab43a0a5d542587d29e44d +msgid "``Direction.CLOCKWISE``" +msgstr "" + +#: ../../main/parameters/direction.rst:19 +#: ../../main/parameters/direction.rst:21 18b94f59abad4842a16ef053cea15ba7 +#: 2a8bde50c7204f99b2c1a395c0f7ca46 +msgid "clockwise" +msgstr "" + +#: ../../main/parameters/direction.rst:19 +#: ../../main/parameters/direction.rst:21 b3057c3626724a2583151fd582932755 +#: fdd7c9a6c0164c35874a4244d3439e2f +msgid "counterclockwise" +msgstr "" + +#: ../../main/parameters/direction.rst:21 15345007bc404f0988148de4627f0542 +msgid "``Direction.COUNTERCLOCKWISE``" +msgstr "" + +#: ../../main/parameters/direction.rst:24 5b7b11132fc441bba59e31f8126ed504 +msgid "" +"In general, clockwise is defined by **looking at the motor shaft, just " +"like looking at a clock**. Some motors have two shafts. If in doubt, " +"refer to the diagram in the ``Motor`` class documentation." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/parameters/icon.po b/doc/locales/de/LC_MESSAGES/parameters/icon.po new file mode 100644 index 00000000..074e0a5e --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/parameters/icon.po @@ -0,0 +1,352 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/parameters/icon.rst:4 0a53cb43ac4b423fa4e46ed29f332a97 +msgid "Icon" +msgstr "" + +#: 8293516ffd7a414a89a6f35221e405d1 of pybricks.parameters.Icon:1 +msgid "Icons to display on a light matrix." +msgstr "" + +#: 4681f65f94184f1391a29a83022474c4 of pybricks.parameters.Icon:3 +msgid "" +"Each of the following attributes are matrices. This means you can scale " +"icons to adjust the brightness or add icons to make composites." +msgstr "" + +#: ../../main/parameters/icon.rst:8 f3009e9851c847aeab3f4353a01c6db1 +msgid "See the :ref:`make_icons` section for examples." +msgstr "" + +#: ../../docstring 10920119426740b4a101d6414d5fb12c +#: 14bd93cc21464d75aefddf3da2b97ad3 18377c49e74947819eeb3141d4279f97 +#: 1be2ac9ca3ef4e9b85358f6401575665 4070dff00ef445f5ab41af9670ccefb8 +#: 51baa4f777f44a36be2a5fabd5ec4ba0 5993dd066da34af39b2a3f1c5baf4156 +#: 7fb080de2829479386b0353eaaa63cce 84001e5b47eb459e9843c3a89030a78e +#: 8b011bb0bd23451fb5bb9caf6987831c 8fae61b6af3345138234228504da3f40 +#: 91cdd147799d45d2920326a274201c2d 95826803103544cfbd7a166d3f56cc7b +#: 9c804ff190de4ad59abc1aa1d43a03e0 b7b1fdfa5f364b27a2d814eb7ad45932 +#: bf1cf3af5d714d41a97643155c1efedf cb088da4736c4a94a0512d0fbd08877a +#: ee1fcce66a6742e39ece5bb544424162 ee4c32bf0fc2439089af9568bfd20a30 +#: eeb43f2510a94b89bd9beca227185ae3 of pybricks.parameters.Icon.ARROW_DOWN:1 +#: pybricks.parameters.Icon.ARROW_DOWN:2 pybricks.parameters.Icon.ARROW_DOWN:5 +#: pybricks.parameters.Icon.ARROW_LEFT:1 pybricks.parameters.Icon.ARROW_LEFT:5 +#: pybricks.parameters.Icon.ARROW_RIGHT:1 +#: pybricks.parameters.Icon.ARROW_RIGHT:5 pybricks.parameters.Icon.ARROW_UP:1 +#: pybricks.parameters.Icon.ARROW_UP:4 pybricks.parameters.Icon.ARROW_UP:5 +#: pybricks.parameters.Icon.DOWN:5 pybricks.parameters.Icon.FALSE:3 +#: pybricks.parameters.Icon.HEART:5 pybricks.parameters.Icon.LEFT:1 +#: pybricks.parameters.Icon.LEFT:5 pybricks.parameters.Icon.RIGHT:1 +#: pybricks.parameters.Icon.RIGHT:5 pybricks.parameters.Icon.TRIANGLE_DOWN:4 +#: pybricks.parameters.Icon.TRIANGLE_UP:2 pybricks.parameters.Icon.UP:1 +msgid "⬜⬜🟨⬜⬜" +msgstr "" + +#: ../../docstring 1f1daf9e4e9047d393e9d8512dae9ea5 +#: 26a7171978cc443498f4355f0821e40d 3bca3137330940e2a6a96d3abcab09d0 +#: 3d69dd11f21f402f85a0d2ddc3ef5661 3df337d69de244df8ca81b41f3d2c31d +#: 55ff6042e6f54cddb1aaf5997f59590e 57e0cf0364c84354916787c263e4165e +#: 616dc212fc4144428c80a75ef2cfed32 70030470351042f788262368e1fe9cf3 +#: 82da1b21173942c2b5e0bab10e10d1e4 84aa511ae8674a56a6f6715925faaa0e +#: 89246d621283403dad0e48f272847de8 900153f5900d4860b152246c61f390d2 +#: a21b1dc92d0f4587b1bb7ed26be652e0 c9d635003f74481e99b7c13ed280c3d4 +#: ce0ef23b29b74db0b5c85be428c50020 d65be416714b4929b9ebc84570b099bc +#: dbc51d6cf4024809a391abd38aee6f2e ea1fbf605bc64d9da5c2985970209be0 +#: ff05af9dd84e4644afbf9f5d23219760 of pybricks.parameters.Icon.ARROW_DOWN:4 +#: pybricks.parameters.Icon.ARROW_UP:2 pybricks.parameters.Icon.CIRCLE:1 +#: pybricks.parameters.Icon.CIRCLE:5 pybricks.parameters.Icon.DOWN:1 +#: pybricks.parameters.Icon.DOWN:2 pybricks.parameters.Icon.DOWN:4 +#: pybricks.parameters.Icon.HAPPY:5 pybricks.parameters.Icon.HEART:4 +#: pybricks.parameters.Icon.SAD:4 pybricks.parameters.Icon.SQUARE:2 +#: pybricks.parameters.Icon.SQUARE:3 pybricks.parameters.Icon.SQUARE:4 +#: pybricks.parameters.Icon.TRIANGLE_DOWN:3 +#: pybricks.parameters.Icon.TRIANGLE_LEFT:3 +#: pybricks.parameters.Icon.TRIANGLE_RIGHT:3 +#: pybricks.parameters.Icon.TRIANGLE_UP:3 pybricks.parameters.Icon.UP:2 +#: pybricks.parameters.Icon.UP:4 pybricks.parameters.Icon.UP:5 +msgid "⬜🟨🟨🟨⬜" +msgstr "" + +#: ../../docstring 19643dafb79b4cf888431050a2333461 +#: 20064aedcbc04b038559679b942e0cbb 28f3e185703942468530a60ccf85a99c +#: 38d78514e5f64afa9f242da11c795b89 395b0c0d14c3417fbe640a5b4239f097 +#: 3d2ee41329854246b34267f44db37dae 44e73cceb2754c0899974ef398bf8e97 +#: 53fea568ffa14347a89c690bac86ea6e 682c6fc0c7dd4043b8472b5f59c83945 +#: 9887dec8cf4b46458378f80e6e8ca683 a258d2786414405ba11075ceee5f0672 +#: a7d8132f849147d6bea50e0b549cf2fc abf9e5d3e23a4fbd89f83bd1989aeb1b +#: b6e352d372c54bbf8fd3eda838b7d142 c4158f9f25ef4433a4a3f8ea98e1faa1 +#: d4f3d64a534a47e1ad65bc4c9e76cfd6 db47106076e14819a88ff2ffe0a2c374 +#: f1eec914bd7b453d845b73c3b7b7ebec of pybricks.parameters.Icon.ARROW_LEFT:3 +#: pybricks.parameters.Icon.ARROW_RIGHT:3 pybricks.parameters.Icon.CIRCLE:2 +#: pybricks.parameters.Icon.CIRCLE:3 pybricks.parameters.Icon.CIRCLE:4 +#: pybricks.parameters.Icon.DOWN:3 pybricks.parameters.Icon.FULL:1 +#: pybricks.parameters.Icon.FULL:2 pybricks.parameters.Icon.FULL:3 +#: pybricks.parameters.Icon.FULL:4 pybricks.parameters.Icon.FULL:5 +#: pybricks.parameters.Icon.HEART:2 pybricks.parameters.Icon.HEART:3 +#: pybricks.parameters.Icon.LEFT:3 pybricks.parameters.Icon.RIGHT:3 +#: pybricks.parameters.Icon.TRIANGLE_DOWN:2 +#: pybricks.parameters.Icon.TRIANGLE_UP:4 pybricks.parameters.Icon.UP:3 +msgid "🟨🟨🟨🟨🟨" +msgstr "" + +#: ../../docstring 12f61e2a7cb94b09b740b05767dbb110 +#: 4b1a3e8c4a8c4a8b97bcf0868423ebad fbe272b8a9d54530b0050bc5fc9711f0 of +#: pybricks.parameters.Icon.COUNTERCLOCKWISE:1 pybricks.parameters.Icon.LEFT:2 +#: pybricks.parameters.Icon.LEFT:4 +msgid "⬜🟨🟨🟨🟨" +msgstr "" + +#: ../../docstring 0c3bdd4aabc949b186ef7150c8684805 +#: 4f6a6893643a4ae88d29fe1465154b10 f6f17647253c4f3fa696aecf8864944c of +#: pybricks.parameters.Icon.CLOCKWISE:1 pybricks.parameters.Icon.RIGHT:2 +#: pybricks.parameters.Icon.RIGHT:4 +msgid "🟨🟨🟨🟨⬜" +msgstr "" + +#: ../../docstring b47789bdef2d47f883eb64f6522ae8cc +#: f48fdb11ab6d47cc8e13a9fa7c165baa of +#: pybricks.parameters.Icon.ARROW_RIGHT_DOWN:5 +#: pybricks.parameters.Icon.ARROW_RIGHT_UP:1 +msgid "⬜⬜🟨🟨🟨" +msgstr "" + +#: ../../docstring 44207ff2a3f74aa5a4030becbb8dd666 +#: 828203a5dcc848fe8a41250488e3c164 861960d57129484abee732e2fd0e6517 +#: 87c91dda294c4e42b9593e1505a4c0bb a76eabc0dca1463faf875e266a82af5f +#: b47decd7518344e1a23e94ee1e84e620 d60431c543cd4750b7386fc787907cdb of +#: pybricks.parameters.Icon.ARROW_RIGHT_DOWN:4 +#: pybricks.parameters.Icon.ARROW_RIGHT_UP:2 +#: pybricks.parameters.Icon.EYE_RIGHT:3 pybricks.parameters.Icon.EYE_RIGHT:4 +#: pybricks.parameters.Icon.EYE_RIGHT_BLINK:4 +#: pybricks.parameters.Icon.EYE_RIGHT_BROW:2 +#: pybricks.parameters.Icon.EYE_RIGHT_BROW_UP:1 +msgid "⬜⬜⬜🟨🟨" +msgstr "" + +#: ../../docstring 15537289a1964db28adc9a799677c398 +#: 7f96d40d95c44eae8999857fe10d84f9 of +#: pybricks.parameters.Icon.ARROW_RIGHT_DOWN:3 +#: pybricks.parameters.Icon.ARROW_RIGHT_UP:3 +msgid "⬜⬜🟨⬜🟨" +msgstr "" + +#: ../../docstring 21758202c97644518ecf325044dbf6db +#: 25f2c6464a9241e9a034ba4eb0e5be87 58df5e09fe274529b31cbf7048bdb53a +#: 72064307673a444d937a639ed34e24b5 8cf24848fafa4668bb084dca0a584ded +#: aaa35dd1a7e240e48dc7ff44a9f98568 bfcc863a3cd840ec96bca9fd9c00c0c5 +#: f4a70e0908b744afa25197d6c3609d36 of pybricks.parameters.Icon.ARROW_LEFT:2 +#: pybricks.parameters.Icon.ARROW_LEFT:4 +#: pybricks.parameters.Icon.ARROW_RIGHT_DOWN:2 +#: pybricks.parameters.Icon.ARROW_RIGHT_UP:4 +#: pybricks.parameters.Icon.COUNTERCLOCKWISE:5 +#: pybricks.parameters.Icon.TRIANGLE_RIGHT:1 +#: pybricks.parameters.Icon.TRIANGLE_RIGHT:5 pybricks.parameters.Icon.TRUE:4 +msgid "⬜🟨⬜⬜⬜" +msgstr "" + +#: ../../docstring 826eeb4d5c4344829c21dfdd1e325278 +#: e8d87b0c6175442797697f96ea7bcd8b of +#: pybricks.parameters.Icon.ARROW_RIGHT_DOWN:1 +#: pybricks.parameters.Icon.ARROW_RIGHT_UP:5 +msgid "🟨⬜⬜⬜⬜" +msgstr "" + +#: ../../docstring 64653dc03f4041f883193f908c15f4f7 +#: bf05ae70975444798a806a69d68b35f9 of +#: pybricks.parameters.Icon.ARROW_LEFT_DOWN:5 +#: pybricks.parameters.Icon.ARROW_LEFT_UP:1 +msgid "🟨🟨🟨⬜⬜" +msgstr "" + +#: ../../docstring 0f96e86c350a40d3993ed83f7b77dfc2 +#: 249cf344d69e4b66b35c31b6e42152e7 44255871799e420283c98028dad915a3 +#: 8548b98f9a4c4c27b394590c351193d3 8d1fa70f9c724158a56110077e8e13b6 +#: b783152199c644888173594b12783b2c dfcce8e028c6402f981ea6ac8c005a87 of +#: pybricks.parameters.Icon.ARROW_LEFT_DOWN:4 +#: pybricks.parameters.Icon.ARROW_LEFT_UP:2 pybricks.parameters.Icon.EYE_LEFT:3 +#: pybricks.parameters.Icon.EYE_LEFT:4 +#: pybricks.parameters.Icon.EYE_LEFT_BLINK:4 +#: pybricks.parameters.Icon.EYE_LEFT_BROW:2 +#: pybricks.parameters.Icon.EYE_LEFT_BROW_UP:1 +msgid "🟨🟨⬜⬜⬜" +msgstr "" + +#: ../../docstring 4cdf9ab7978c44be99b4b93affeabe1c +#: 67af0b5520384b1d98bdf6cc7b10e8fe b47d7bbee3cc47fba5266dd5417a0b64 of +#: pybricks.parameters.Icon.ARROW_LEFT_DOWN:3 +#: pybricks.parameters.Icon.ARROW_LEFT_UP:3 pybricks.parameters.Icon.TRUE:3 +msgid "🟨⬜🟨⬜⬜" +msgstr "" + +#: ../../docstring 12159770968a43809298613fea3dc397 +#: 6cac1a5be0ac488cb77084bd9f8e3261 700a9baebccb4189b7fc6f667beffd05 +#: 7512008f7966427a93de7cea10c6dfaf bd45af22ca7a4b3c8790f4021b6b3a35 +#: de85a50945a54f67b9b0a31c1d22701b e79ff5fadb69450b9ab70a9d458c778c +#: fef1e76ceb644225afb915ec1181fe01 of +#: pybricks.parameters.Icon.ARROW_LEFT_DOWN:2 +#: pybricks.parameters.Icon.ARROW_LEFT_UP:4 +#: pybricks.parameters.Icon.ARROW_RIGHT:2 +#: pybricks.parameters.Icon.ARROW_RIGHT:4 pybricks.parameters.Icon.CLOCKWISE:5 +#: pybricks.parameters.Icon.TRIANGLE_LEFT:1 +#: pybricks.parameters.Icon.TRIANGLE_LEFT:5 pybricks.parameters.Icon.TRUE:2 +msgid "⬜⬜⬜🟨⬜" +msgstr "" + +#: ../../docstring 337e3fa8a29b4ca38d19ebeddbaffd37 +#: 9a10d84d97b24cb98fd3f8d55a063fd7 d7719d4b4f5b4807813f57f03b837c58 of +#: pybricks.parameters.Icon.ARROW_LEFT_DOWN:1 +#: pybricks.parameters.Icon.ARROW_LEFT_UP:5 pybricks.parameters.Icon.TRUE:1 +msgid "⬜⬜⬜⬜🟨" +msgstr "" + +#: ../../docstring 2838493521334c80a15780b845e95774 +#: 7a4e897bbbee402ea15f062eb32a5126 of pybricks.parameters.Icon.ARROW_DOWN:3 +#: pybricks.parameters.Icon.ARROW_UP:3 +msgid "🟨⬜🟨⬜🟨" +msgstr "" + +#: ../../docstring 0778c08077474584aa486d054c9290bd +#: 08a8dbd302be4878ae5bab300a08f3c8 3d149c62c27a442eb03cfd3cb8e90bc1 +#: 7653835806004bd28a45d99f66ef87f6 of pybricks.parameters.Icon.HAPPY:1 +#: pybricks.parameters.Icon.HAPPY:2 pybricks.parameters.Icon.SAD:1 +#: pybricks.parameters.Icon.SAD:2 +msgid "🟨🟨⬜🟨🟨" +msgstr "" + +#: ../../docstring 017af6bb0e514e018e4abb8fad612192 +#: 0601b5d44c16471fa3507b701e62f46e 095bf1ff8d0c4ce2a2bdfa4eff5bfeb0 +#: 15f13430fc0f4f32a8f0824c438545f2 1e369286633f40698b0750a0801f7afe +#: 220b0cb293104f4e96998f25bb74bebc 2e3f37cfdca04d12a26f3c32515cc8eb +#: 2e56b655ef6542c4ba1b120cf55cba81 34decefabb3845d88c26e13b5272bc5e +#: 3527068d6dff4f5883342ea76417ffcd 3d74df3c00f141f69c8cf8884a531c7f +#: 3fc09f1b586748d18ac59a8ad479d933 404897d8479e4d4d9daefae58255b583 +#: 42188173df1346ab82cb0e4b70cb08d9 4604ef89f83045308b5e70028fafedd5 +#: 48c15339bc0945c4b7e9437c281b89cc 48cdb6067080452c96069c2b0fdd8be1 +#: 513be4c42bc64513b64623e4728e557d 56bb196eaf8146ecabdcc28714a17ff3 +#: 5c844978cb6a43e3a2cd8677f3c2a2ce 6399d3891ea54c689f65ba93dd59cb33 +#: 645acb5944794c669b26f9dbb6019ab2 6d2d07c4714d433ba44c3dababac31bb +#: 7a64ba000fde4a9ab70f22e70c7dcdd5 866903cb59c84832bbd971475ff54cb6 +#: 8a9744ae8e11428db6a10f450499ac4a 91367efb694b4f319d35fd37d05271a7 +#: 915935100f37426f896c01f087c17005 96a8dd348b3349c6a8d5d2bd7af97333 +#: 974e2c260d304e7e9da25a139fada540 98b4dd93fefb47f7a6598e63d70e6ec0 +#: ab8d393103af48acae650829868513bf aed60ae28f5e4da7b98df8a600e6272f +#: b1941dfb105945a8a3a5a5faaa50ae94 b581ae998eaa4c138670878dabddc914 +#: c45aec5309e84d78bdc6fcee4bf412fd c61e442dc0474ad2bec939e711645b38 +#: cb2c7e3c9a2140218f0526e6b74fbd8e dfcad5a0c1be4c639bd17f9c33603366 +#: e118c3e5c78641f496c1cb1c53d270be e69c48ad14214935b81b992581e97a9c +#: e8ef35f674ea413cbfc4d08ebb31bbeb ed9c4e0b1b6840c59fc223fae207b361 +#: f60674b3287a4e029a142b335fd9e49c fa63e71b0d1b42758f21f92f3dcca20d +#: ff9b131b23444c1796c51558957e8777 of pybricks.parameters.Icon.EMPTY:1 +#: pybricks.parameters.Icon.EMPTY:2 pybricks.parameters.Icon.EMPTY:3 +#: pybricks.parameters.Icon.EMPTY:4 pybricks.parameters.Icon.EMPTY:5 +#: pybricks.parameters.Icon.EYE_LEFT:1 pybricks.parameters.Icon.EYE_LEFT:2 +#: pybricks.parameters.Icon.EYE_LEFT:5 +#: pybricks.parameters.Icon.EYE_LEFT_BLINK:1 +#: pybricks.parameters.Icon.EYE_LEFT_BLINK:2 +#: pybricks.parameters.Icon.EYE_LEFT_BLINK:3 +#: pybricks.parameters.Icon.EYE_LEFT_BLINK:5 +#: pybricks.parameters.Icon.EYE_LEFT_BROW:1 +#: pybricks.parameters.Icon.EYE_LEFT_BROW:3 +#: pybricks.parameters.Icon.EYE_LEFT_BROW:4 +#: pybricks.parameters.Icon.EYE_LEFT_BROW:5 +#: pybricks.parameters.Icon.EYE_LEFT_BROW_UP:2 +#: pybricks.parameters.Icon.EYE_LEFT_BROW_UP:3 +#: pybricks.parameters.Icon.EYE_LEFT_BROW_UP:4 +#: pybricks.parameters.Icon.EYE_LEFT_BROW_UP:5 +#: pybricks.parameters.Icon.EYE_RIGHT:1 pybricks.parameters.Icon.EYE_RIGHT:2 +#: pybricks.parameters.Icon.EYE_RIGHT:5 +#: pybricks.parameters.Icon.EYE_RIGHT_BLINK:1 +#: pybricks.parameters.Icon.EYE_RIGHT_BLINK:2 +#: pybricks.parameters.Icon.EYE_RIGHT_BLINK:3 +#: pybricks.parameters.Icon.EYE_RIGHT_BLINK:5 +#: pybricks.parameters.Icon.EYE_RIGHT_BROW:1 +#: pybricks.parameters.Icon.EYE_RIGHT_BROW:3 +#: pybricks.parameters.Icon.EYE_RIGHT_BROW:4 +#: pybricks.parameters.Icon.EYE_RIGHT_BROW:5 +#: pybricks.parameters.Icon.EYE_RIGHT_BROW_UP:2 +#: pybricks.parameters.Icon.EYE_RIGHT_BROW_UP:3 +#: pybricks.parameters.Icon.EYE_RIGHT_BROW_UP:4 +#: pybricks.parameters.Icon.EYE_RIGHT_BROW_UP:5 +#: pybricks.parameters.Icon.HAPPY:3 pybricks.parameters.Icon.PAUSE:1 +#: pybricks.parameters.Icon.PAUSE:5 pybricks.parameters.Icon.SAD:3 +#: pybricks.parameters.Icon.SQUARE:1 pybricks.parameters.Icon.SQUARE:5 +#: pybricks.parameters.Icon.TRIANGLE_DOWN:1 +#: pybricks.parameters.Icon.TRIANGLE_DOWN:5 +#: pybricks.parameters.Icon.TRIANGLE_UP:1 +#: pybricks.parameters.Icon.TRIANGLE_UP:5 pybricks.parameters.Icon.TRUE:5 +msgid "⬜⬜⬜⬜⬜" +msgstr "" + +#: ../../docstring 56bd9cf22487440cae82453af3ca3666 +#: 9f338a770f64442fa6c4acd0466edcab c0d3f4094b144451b649ace218140d7d +#: d33bc1ec999540579527665db35fa41d of pybricks.parameters.Icon.FALSE:1 +#: pybricks.parameters.Icon.FALSE:5 pybricks.parameters.Icon.HAPPY:4 +#: pybricks.parameters.Icon.SAD:5 +msgid "🟨⬜⬜⬜🟨" +msgstr "" + +#: ../../docstring 3d96cb9eea1246f4aadf2238f3014c7e +#: 527cb9cba05d4c68a7a8f0de0ec72c63 96a335c5c4d3489095e1371a22241fd1 +#: a8ddd3867da548ccab3e848ee3d01874 b07db7d0b0c24d18a282ce53dfce1a0e +#: b7239fe1c41246cf973174d593a2862f of pybricks.parameters.Icon.FALSE:2 +#: pybricks.parameters.Icon.FALSE:4 pybricks.parameters.Icon.HEART:1 +#: pybricks.parameters.Icon.PAUSE:2 pybricks.parameters.Icon.PAUSE:3 +#: pybricks.parameters.Icon.PAUSE:4 +msgid "⬜🟨⬜🟨⬜" +msgstr "" + +#: ../../docstring d4fdae5d07e441e19876024ac124b3a9 +#: eb0e0465d178459384be46b1ee8f4457 of +#: pybricks.parameters.Icon.TRIANGLE_RIGHT:2 +#: pybricks.parameters.Icon.TRIANGLE_RIGHT:4 +msgid "⬜🟨🟨⬜⬜" +msgstr "" + +#: ../../docstring 9be707dd62b54209a44831ef179da11f +#: d97ee0b858c34746a979db21076ad1b3 of pybricks.parameters.Icon.TRIANGLE_LEFT:2 +#: pybricks.parameters.Icon.TRIANGLE_LEFT:4 +msgid "⬜⬜🟨🟨⬜" +msgstr "" + +#: ../../docstring 17119c02969c46a9b6f760e045e11b89 +#: df58cc4345994a0a8419be0dec001d93 of pybricks.parameters.Icon.CLOCKWISE:2 +#: pybricks.parameters.Icon.CLOCKWISE:3 +msgid "🟨⬜⬜🟨⬜" +msgstr "" + +#: ../../docstring b8708e1fa83e453cbed41563762d185d of +#: pybricks.parameters.Icon.CLOCKWISE:4 +msgid "🟨⬜🟨🟨🟨" +msgstr "" + +#: ../../docstring 5a238c1807d945ecba7d8590f5da88bc +#: b959a671969341678155644ae53fb714 of +#: pybricks.parameters.Icon.COUNTERCLOCKWISE:2 +#: pybricks.parameters.Icon.COUNTERCLOCKWISE:3 +msgid "⬜🟨⬜⬜🟨" +msgstr "" + +#: ../../docstring d8572343e1d74bfaaca56cddb8125eb2 of +#: pybricks.parameters.Icon.COUNTERCLOCKWISE:4 +msgid "🟨🟨🟨⬜🟨" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/parameters/index.po b/doc/locales/de/LC_MESSAGES/parameters/index.po new file mode 100644 index 00000000..38ee312c --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/parameters/index.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/parameters/index.rst:4 279fc21ea9b046f58443309cfd459694 +msgid ":mod:`parameters ` -- Parameters and constants" +msgstr "" + +#: 529133622286452c9ac4eb36316bbc64 of pybricks.parameters:1 +msgid "Constant parameters/arguments for the Pybricks API." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/parameters/port.po b/doc/locales/de/LC_MESSAGES/parameters/port.po new file mode 100644 index 00000000..c06bfacf --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/parameters/port.po @@ -0,0 +1,29 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/parameters/port.rst:4 97e05843208444cf83700ebcded3cafe +msgid "Port" +msgstr "" + +#: ../../main/parameters/port.rst:8 9c8127b0477a43b2a2315e41af85f54c +msgid "Input and output ports:" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/parameters/side.po b/doc/locales/de/LC_MESSAGES/parameters/side.po new file mode 100644 index 00000000..442b5e87 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/parameters/side.po @@ -0,0 +1,90 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/parameters/side.rst:4 2f596845d8ab4a048884cd4b545179d0 +msgid "Side" +msgstr "" + +#: ../../main/parameters/side.rst:8 4b8af32f26a541218c26c0c68a41fde6 +msgid "" +"Side of a hub or a sensor. These devices are mostly rectangular boxes " +"with six sides:" +msgstr "" + +#: ../../main/parameters/side.rst:30 9b67d5122fde4586870047851719b64f +msgid "" +"Screens or light matrices have only four sides. For those, ``TOP`` is " +"treated the same as ``FRONT``, and ``BOTTOM`` is treated the same as " +"``BACK``. The diagrams below define the sides for relevant devices." +msgstr "" + +#: ../../main/parameters/side.rst:34 53a352e45f524a8a897dc4f688eaf302 +msgid "**Prime Hub**" +msgstr "" + +#: ../../main/parameters/side.rst:36 5e0dd06b8d47433a9e5dfa9e805d906e +msgid ".. image:: ../../main/diagrams/orientation_primehub.png" +msgstr "" + +#: ../../main/parameters/side.rst:39 63324e499fbb41e4bd555484240db5c4 +msgid "**Inventor Hub**" +msgstr "" + +#: ../../main/parameters/side.rst:41 d248781c62a3425cb43299580b464063 +msgid ".. image:: ../../main/diagrams/orientation_inventorhub.png" +msgstr "" + +#: ../../main/parameters/side.rst:44 290d0fe4322e45c8984dadb04379d152 +msgid "**Essential Hub**" +msgstr "" + +#: ../../main/parameters/side.rst:46 82beaa0ecd954408b2296f234075eb78 +msgid ".. image:: ../../main/diagrams/orientation_essentialhub.png" +msgstr "" + +#: ../../main/parameters/side.rst:49 e0e72dd148d64304b4cce16565cdbadf +msgid "**Move Hub**" +msgstr "" + +#: ../../main/parameters/side.rst:51 8cf13424b635496d8551c28a2d9bc1a0 +msgid ".. image:: ../../main/diagrams/orientation_movehub.png" +msgstr "" + +#: ../../main/parameters/side.rst:54 85de80da80ce4899aa2728b8b9b61738 +msgid "**Technic Hub**" +msgstr "" + +#: ../../main/parameters/side.rst:56 698dd829cf4c433c838db3d6bcd15690 +msgid ".. image:: ../../main/diagrams/orientation_technichub.png" +msgstr "" + +#: ../../main/parameters/side.rst:61 e53a891fd38b4a6099b28404826dce6b +msgid "Changed which side is the front." +msgstr "" + +#: ../../main/parameters/side.rst:63 2704f2d4a1aa4020bf23e44f7c29fa9b +msgid "**Tilt Sensor**" +msgstr "" + +#: ../../main/parameters/side.rst:65 63d03ec678484059bc00debe7f7d4ed5 +msgid ".. image:: ../../main/diagrams/orientation_tiltsensor.png" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/parameters/stop.po b/doc/locales/de/LC_MESSAGES/parameters/stop.po new file mode 100644 index 00000000..a44ff67c --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/parameters/stop.po @@ -0,0 +1,159 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/parameters/stop.rst:4 f25938bd8b17455e8c75bd626eea3868 +msgid "Stop" +msgstr "" + +#: ../../main/parameters/stop.rst:8 47119f80bcb24d0581261b89e20c17bf +msgid "Action after the motor stops." +msgstr "" + +#: ../../docstring 4494092d5d0a4928b588724289293bcb of +#: pybricks.parameters.Stop.COAST:1 +msgid "Let the motor move freely." +msgstr "" + +#: ../../docstring 6e25e9020508471fbdcfb91d5098a3d8 of +#: pybricks.parameters.Stop.COAST_SMART:1 +msgid "" +"Let the motor move freely. For the next relative angle maneuver, take the" +" last target angle (instead of the current angle) as the new starting " +"point. This reduces cumulative errors. This will apply only if the " +"current angle is less than twice the configured position tolerance." +msgstr "" + +#: ../../docstring b69a0d9c48314bbf81eb076fb9bec6f9 of +#: pybricks.parameters.Stop.BRAKE:1 +msgid "Passively resist small external forces." +msgstr "" + +#: ../../docstring a1483ffe1b5d444c9bc96e428250b3b5 of +#: pybricks.parameters.Stop.HOLD:1 +msgid "Keep controlling the motor to hold it at the commanded angle." +msgstr "" + +#: ../../docstring cbdf613cd346493ea67b31e4ae7ea38b of +#: pybricks.parameters.Stop.NONE:1 +msgid "" +"Do not decelerate when approaching the target position. This can be used " +"to concatenate multiple motor or drive base maneuvers without stopping. " +"If no further commands are given, the motor will proceed to run " +"indefinitely at the given speed." +msgstr "" + +#: ../../main/parameters/stop.rst:25 f94fd39833b04e0a90ff47b642e60f60 +msgid "" +"The following table shows how each of the basic stop types add an extra " +"level of resistance to motion. In these examples, ``m`` is a " +":class:`Motor ` and and ``d`` is a " +":class:`DriveBase `. The examples also show " +"how running at zero speed compares to these stop types." +msgstr "" + +#: ../../main/parameters/stop.rst 7f7326406af841018fa2d45d5b770c1a +msgid "Type" +msgstr "" + +#: ../../main/parameters/stop.rst 7795e968b2904bec9a20f4214190733f +msgid "Friction" +msgstr "" + +#: ../../main/parameters/stop.rst 8e19d33f13bc4a2a8f25a40d717ec3e9 +msgid "Back" +msgstr "" + +#: ../../main/parameters/stop.rst a04bfb793169410cb77bc0fb1d5938cb +msgid "EMF" +msgstr "" + +#: ../../main/parameters/stop.rst af32e0232a9249ddb8e79d8b97c1e622 +msgid "Speed" +msgstr "" + +#: ../../main/parameters/stop.rst 546bf08e00374220afa9b2bfa6b9e5ee +msgid "kept at 0" +msgstr "" + +#: ../../main/parameters/stop.rst 902f13d39b4c4eabbfe2f1a9df9d6971 +msgid "Angle kept" +msgstr "" + +#: ../../main/parameters/stop.rst e0876aa496724f5392f4bedee7cae734 +msgid "at target" +msgstr "" + +#: ../../main/parameters/stop.rst 1a64b4e348924fd49fef761417f5b3d5 +msgid "Examples" +msgstr "" + +#: ../../main/parameters/stop.rst:35 ac68116d9b1d4badb150b01230976d12 +msgid "Coast" +msgstr "" + +#: ../../main/parameters/stop.rst 877317b0e3b1478197c1213b6aae1bb4 +msgid "``m.stop()``" +msgstr "" + +#: ../../main/parameters/stop.rst aef41b50d11c4b95aae74605931011a1 +msgid "``m.run_target(500, 90, Stop.COAST)``" +msgstr "" + +#: ../../main/parameters/stop.rst:38 2775fd7e09204c78af032834ba0cb4f4 +msgid "Brake" +msgstr "" + +#: ../../main/parameters/stop.rst b993a398e6504523b9db606cf11c8f3a +msgid "``m.brake()``" +msgstr "" + +#: ../../main/parameters/stop.rst f708da8d557b4bd2b341d461a87d513d +msgid "``m.run_target(500, 90, Stop.BRAKE)``" +msgstr "" + +#: ../../main/parameters/stop.rst 6f99737dfe2e4ba0981b120912e65745 +msgid "``m.run(0)``" +msgstr "" + +#: ../../main/parameters/stop.rst 25487a92a58d45a2ac49210192562aaf +msgid "``d.drive(0, 0)``" +msgstr "" + +#: ../../main/parameters/stop.rst:44 3dcca85c6d9f4194b35061b770eecc4a +msgid "Hold" +msgstr "" + +#: ../../main/parameters/stop.rst bc3dfc641bcb4d8caa84d3520869c492 +msgid "``m.hold()``" +msgstr "" + +#: ../../main/parameters/stop.rst c660f1ff4715408fa787d91c4fe3f0dd +msgid "``m.run_target(500, 90, Stop.HOLD)``" +msgstr "" + +#: ../../main/parameters/stop.rst 15dd15e118b04ef0b3d0e878aed50a88 +msgid "``d.straight(0)``" +msgstr "" + +#: ../../main/parameters/stop.rst 78a541a771e7436f8bb8b243e2084a08 +msgid "``d.straight(100)``" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/colordistancesensor.po b/doc/locales/de/LC_MESSAGES/pupdevices/colordistancesensor.po new file mode 100644 index 00000000..2b973535 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/colordistancesensor.po @@ -0,0 +1,432 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/colordistancesensor.rst:4 +#: e52adbf072454095b999b273ba9771da +msgid "Color and Distance Sensor" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:6 +#: 3dcf8242ab9040fd8bf6865131d639d8 +msgid ".. image:: ../../main/cad/output/pupdevice-colordistance.png" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:9 +#: 0a83f764e0834e0b997f156aa62e3afc +msgid "" +".. image:: " +"/blockimg/pybricks_variables_set_color_distance_sensor_colordistancesensor_default.svg" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:11 +#: 247d31f87897498daf3902bb1e4f2b1d +msgid "" +".. image:: " +"/blockimg/pybricks_variables_set_color_distance_sensor_colordistancesensor_detectable_colors.svg" +msgstr "" + +#: a209446363ae45a49c4d113361e42c9f of +#: pybricks.pupdevices.ColorDistanceSensor:1 +msgid "LEGO® Powered Up Color and Distance Sensor." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst +#: 917f641e13a24b7cb6422a84b047b4d7 b9c7b6f9acca43d48761821dbbb3973d +#: cdee5f1bc321415e8cbdcd129c22b151 +msgid "Parameters" +msgstr "" + +#: 9d2b459ccd474c41b3630fb21a46d405 of +#: pybricks.pupdevices.ColorDistanceSensor:3 +msgid "Port to which the sensor is connected." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:16 +#: 49e5e5cb4150493389956a90aaabf261 +msgid ".. image:: /blockimg/pybricks_blockColor_ColorDistanceSensor_color.svg" +msgstr "" + +#: 71685254ebc045898693cdfcd729b1c7 82ecf4a60271416a991ece514d93d2e4 of +#: pybricks._common.CommonColorSensor.color:1 +#: pybricks._common.CommonColorSensor.hsv:1 +msgid "Scans the color of a surface." +msgstr "" + +#: 6c1624f9f67e4c2cb160127d6c30c2a3 of +#: pybricks._common.CommonColorSensor.color:3 +msgid "" +"You choose which colors are detected using the ``detectable_colors()`` " +"method. By default, it detects ``Color.RED``, ``Color.YELLOW``, " +"``Color.GREEN``, ``Color.BLUE``, ``Color.WHITE``, or ``Color.NONE``." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst +#: 794afbdd897b4c67bbfb908e8003bc55 7e2a808d0100484099a2a041b683a724 +#: c511b34ebd1c4dd7a170e0e27b04195c edafb95d69824e04883380912650b7c7 +#: f72495456a504838b81256a4a4434288 +msgid "Returns" +msgstr "" + +#: 33312242e9044888a8c704f01af137f2 of +#: pybricks._common.CommonColorSensor.color:8 +msgid "Detected color." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:20 +#: 36441f270ca443c0b0de796eb7ee56f4 +msgid ".. image:: /blockimg/pybricks_blockLightReflection_ColorDistanceSensor.svg" +msgstr "" + +#: 79b734a5b21c4429ad51aabce6522e32 of +#: pybricks._common.CommonColorSensor.reflection:1 +msgid "Measures how much a surface reflects the light emitted by the sensor." +msgstr "" + +#: 06dcb9f7cff14fa79a3bfdeda0525a3f of +#: pybricks._common.CommonColorSensor.reflection:4 +msgid "" +"Measured reflection, ranging from 0% (no reflection) to 100% (high " +"reflection)." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:24 +#: 70babd08a9424f9b887368a5ad32303b +msgid ".. image:: /blockimg/pybricks_blockLightAmbient_ColorDistanceSensor.svg" +msgstr "" + +#: 6d37bed4f53f4e77a75e0f4815f9ca97 of +#: pybricks._common.CommonColorSensor.ambient:1 +msgid "Measures the ambient light intensity." +msgstr "" + +#: 4ce7d243d6414f3688129a4e80a1d88a of +#: pybricks._common.CommonColorSensor.ambient:3 +msgid "Ambient light intensity, ranging from 0% (dark) to 100% (bright)." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:28 +#: 11d4a2f3b45a4b73856abc4fb8c9775f +msgid ".. image:: /blockimg/pybricks_blockDistance_ColorDistanceSensor.svg" +msgstr "" + +#: f1149207d91b4ae1b8adbdbf866e675b of +#: pybricks.pupdevices.ColorDistanceSensor.distance:1 +msgid "" +"Measures the relative distance between the sensor and an object using " +"infrared light." +msgstr "" + +#: 108e2728a73346fca9155f3461c39057 of +#: pybricks.pupdevices.ColorDistanceSensor.distance:4 +msgid "Distance ranging from 0% (closest) to 100% (farthest)." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:32 +#: d072ffb893844bb982869b360261974d +msgid ".. image:: /blockimg/pybricks_blockColor_ColorDistanceSensor_hsv.svg" +msgstr "" + +#: 11f27c80b58449d2b8f03c75b1677c8a of pybricks._common.CommonColorSensor.hsv:3 +msgid "" +"This method is similar to ``color()``, but it gives the full range of " +"hue, saturation and brightness values, instead of rounding it to the " +"nearest detectable color." +msgstr "" + +#: 806667c9c4b24d3faa00f890a993fd93 of pybricks._common.CommonColorSensor.hsv:7 +msgid "" +"Measured color. The color is described by a hue (0--359), a saturation (0" +"--100), and a brightness value (0--100)." +msgstr "" + +#: 088ab6e0751d44f684b9c21a38e14561 of +#: pybricks._common.CommonColorSensor.detectable_colors:1 +msgid "Configures which colors the ``color()`` method should detect." +msgstr "" + +#: ccf24f5797e34f21914ac37825fae26a of +#: pybricks._common.CommonColorSensor.detectable_colors:3 +msgid "" +"Specify only colors that you wish to detect in your application. This " +"way, the full-color measurements are rounded to the nearest desired " +"color, and other colors are ignored. This improves reliability." +msgstr "" + +#: da8db0f9faa44aea86ceabce9144c63c of +#: pybricks._common.CommonColorSensor.detectable_colors:7 +msgid "If you give no arguments, the currently chosen colors will be returned." +msgstr "" + +#: 71dd241b016c47469b5728d792be534f of +#: pybricks._common.CommonColorSensor.detectable_colors:9 +msgid "When coding with blocks, this is configured in the sensor setup block." +msgstr "" + +#: 4fa21eb068ed4bb7be03fc4a44387924 of +#: pybricks._common.CommonColorSensor.detectable_colors:11 +msgid "" +"List of :class:`Color <.parameters.Color>` objects: the colors that you " +"want to detect. You can pick standard colors such as ``Color.MAGENTA``, " +"or provide your own colors like ``Color(h=348, s=96, v=40)`` for even " +"better results. You measure your own colors with the ``hsv()`` method." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:39 +#: 14ff970ad77342f5bdc4084e7041c178 +msgid "Built-in light" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:40 +#: 65d3042801b34eb389266cd0c20b80c4 +msgid "" +"This sensor has a built-in light. You can make it red, green, blue, or " +"turn it off. If you use the sensor to measure something afterwards, the " +"light automatically turns back on at the default color for that sensing " +"method." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:44 +#: f678970faca34fdd8e82cf8577765497 +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_colordistancesensor_on.svg" +msgstr "" + +#: fbc56a837f1b40c0bcbf8ab11e775125 of pybricks._common.ExternalColorLight.on:1 +msgid "Turns on the light at the specified color." +msgstr "" + +#: 44f92ea0d59144e5bb9f26140fe94e6d of pybricks._common.ExternalColorLight.on:3 +msgid "Color of the light." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:48 +#: 944e74f6c9ae4b19a1afab538b90fc51 +msgid "" +".. image:: " +"/blockimg/pybricks_blockLightOnColor_colordistancesensor_off.svg" +msgstr "" + +#: 0367a3ae653548ee8a63d2461f2e3448 of +#: pybricks._common.ExternalColorLight.off:1 +msgid "Turns off the light." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:53 +#: b83217b4cf144efe82236d2d63a53db7 +msgid "Examples" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:56 +#: 148410bc0afb46feacad9da11515bb93 +msgid "Measuring color" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:58 +#: 2d7aff1f9f54492b9d34acf29307df3a +msgid "" +"from pybricks.pupdevices import ColorDistanceSensor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorDistanceSensor(Port.A)\n" +"\n" +"while True:\n" +" # Read the color.\n" +" color = sensor.color()\n" +"\n" +" # Print the measured color.\n" +" print(color)\n" +"\n" +" # Move the sensor around and see how\n" +" # well you can detect colors.\n" +"\n" +" # Wait so we can read the value.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:63 +#: 00afd46693b2480a80beb7e7e63aeda4 +msgid "Waiting for a color" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:65 +#: f39f979db5d141758bbd71968a8b8007 +msgid "" +"from pybricks.pupdevices import ColorDistanceSensor\n" +"from pybricks.parameters import Port, Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorDistanceSensor(Port.A)\n" +"\n" +"\n" +"# This is a function that waits for a desired color.\n" +"def wait_for_color(desired_color):\n" +" # While the color is not the desired color, we keep waiting.\n" +" while sensor.color() != desired_color:\n" +" wait(20)\n" +"\n" +"\n" +"# Now we use the function we just created above.\n" +"while True:\n" +"\n" +" # Here you can make your train/vehicle go forward.\n" +"\n" +" print(\"Waiting for red ...\")\n" +" wait_for_color(Color.RED)\n" +"\n" +" # Here you can make your train/vehicle go backward.\n" +"\n" +" print(\"Waiting for blue ...\")\n" +" wait_for_color(Color.BLUE)\n" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:69 +#: 1a96296fecdb4ff48deb4c1dfc2179bd +msgid "Measuring distance and blinking the light" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:71 +#: b278c8a9ad674b37ae7c3a9b211f9a6e +msgid "" +"from pybricks.pupdevices import ColorDistanceSensor\n" +"from pybricks.parameters import Port, Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorDistanceSensor(Port.A)\n" +"\n" +"# Repeat forever.\n" +"while True:\n" +"\n" +" # If the sensor sees an object nearby.\n" +" if sensor.distance() <= 40:\n" +"\n" +" # Then blink the light red/blue 5 times.\n" +" for i in range(5):\n" +" sensor.light.on(Color.RED)\n" +" wait(30)\n" +" sensor.light.on(Color.BLUE)\n" +" wait(30)\n" +" else:\n" +" # If the sensor sees nothing\n" +" # nearby, just wait briefly.\n" +" wait(10)\n" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:75 +#: 2c1ef16eacdc44589d49b0b7c40edf63 +msgid "Reading hue, saturation, value" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:77 +#: f24c7c370bb7448aac6868c37e5c04aa +msgid "" +"from pybricks.pupdevices import ColorDistanceSensor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorDistanceSensor(Port.A)\n" +"\n" +"while True:\n" +" # The standard color() method always \"rounds\" the\n" +" # measurement to the nearest \"whole\" color.\n" +" # That's useful for most applications.\n" +"\n" +" # But you can get the original hue, saturation,\n" +" # and value without \"rounding\", as follows:\n" +" color = sensor.hsv()\n" +"\n" +" # Print the results.\n" +" print(color)\n" +"\n" +" # Wait so we can read the value.\n" +" wait(500)\n" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:81 +#: f9d0913d30a345a9b53cff05bd0c42df +msgid "Changing the detectable colors" +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:83 +#: 495e1b150d5042079063f4e6942ddfc5 +msgid "" +"By default, the sensor is configured to detect red, yellow, green, blue, " +"white, or no color, which suits many applications." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:86 +#: 052032e0dcba47c5b3f6c7c25f08716a +msgid "" +"For better results in your application, you can measure your desired " +"colors in advance, and tell the sensor to look only for those colors. Be " +"sure to measure them at the **same distance and light conditions** as in " +"your final application. Then you'll get very accurate results even for " +"colors that are otherwise hard to detect." +msgstr "" + +#: ../../main/pupdevices/colordistancesensor.rst:92 +#: f2b737b60d50407b844231d0127398a1 +msgid "" +"from pybricks.pupdevices import ColorDistanceSensor\n" +"from pybricks.parameters import Port, Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorDistanceSensor(Port.A)\n" +"\n" +"# First, decide which objects you want to detect, and measure their HSV " +"values.\n" +"# You can do that with the hsv() method as shown in the previous example." +"\n" +"#\n" +"# Use your measurements to override the default colors, or add new " +"colors:\n" +"Color.GREEN = Color(h=132, s=94, v=26)\n" +"Color.MAGENTA = Color(h=348, s=96, v=40)\n" +"Color.BROWN = Color(h=17, s=78, v=15)\n" +"Color.RED = Color(h=359, s=97, v=39)\n" +"\n" +"# Put your colors in a list or tuple.\n" +"my_colors = (Color.GREEN, Color.MAGENTA, Color.BROWN, Color.RED, " +"Color.NONE)\n" +"\n" +"# Save your colors.\n" +"sensor.detectable_colors(my_colors)\n" +"\n" +"# color() works as usual, but now it returns one of your specified " +"colors.\n" +"while True:\n" +" color = sensor.color()\n" +"\n" +" # Print the color.\n" +" print(color)\n" +"\n" +" # Check which one it is.\n" +" if color == Color.MAGENTA:\n" +" print(\"It works!\")\n" +"\n" +" # Wait so we can read it.\n" +" wait(100)\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/colorlightmatrix.po b/doc/locales/de/LC_MESSAGES/pupdevices/colorlightmatrix.po new file mode 100644 index 00000000..35f22962 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/colorlightmatrix.po @@ -0,0 +1,84 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/colorlightmatrix.rst:4 +#: d9d427f85470473b989bc8e9c20397dc +msgid "Color Light Matrix" +msgstr "" + +#: ../../main/pupdevices/colorlightmatrix.rst:6 +#: 8963383b26214d53b17ef98d5b1e270d +msgid ".. image:: ../../main/diagrams/sensor_colorlightmatrix.png" +msgstr "" + +#: ../../main/pupdevices/colorlightmatrix.rst:9 +#: 2e3328391f3a4bd1bf1d763d74b93bfe +msgid ".. image:: /blockimg/pybricks_variables_set_color_light_matrix.svg" +msgstr "" + +#: 2a76b035df8d4e369b70d98f10a9b6b0 of pybricks.pupdevices.ColorLightMatrix:1 +msgid "LEGO® SPIKE 3x3 Color Light Matrix." +msgstr "" + +#: ../../main/pupdevices/colorlightmatrix.rst d3ea9c3b90904b4c908bd07d152f07c7 +#: e9e2e67fdeb848558a76fb076291f128 +msgid "Parameters" +msgstr "" + +#: c461f9fecc16449aad5a61eeb9245e0c of pybricks.pupdevices.ColorLightMatrix:3 +msgid "Port to which the device is connected." +msgstr "" + +#: ../../main/pupdevices/colorlightmatrix.rst:14 +#: d1f69bd714ee423eb9ab5eb35fb5bb77 +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_colorlightmatrix_on.svg" +msgstr "" + +#: ../../main/pupdevices/colorlightmatrix.rst:16 +#: 87799403517e4c0282258322665e82a9 +msgid "" +".. image:: " +"/blockimg/pybricks_blockLightOnColor_colorlightmatrix_on_list.svg" +msgstr "" + +#: 65e89e344a0a4f2dbe855dca64770f60 of +#: pybricks.pupdevices.ColorLightMatrix.on:1 +msgid "Turns the lights on." +msgstr "" + +#: d01561ad650243c0b9fa877ba3e44249 of +#: pybricks.pupdevices.ColorLightMatrix.on:3 +msgid "" +"If a single :class:`.Color` is given, then all 9 lights are set to that " +"color. If a list of colors is given, then each light is set to that " +"color." +msgstr "" + +#: ../../main/pupdevices/colorlightmatrix.rst:20 +#: 3426d52c83c44d189ec07083957429ce +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_colorlightmatrix_off.svg" +msgstr "" + +#: 47ecea22115b424a915652dca314f70c of +#: pybricks.pupdevices.ColorLightMatrix.off:1 +msgid "Turns all lights off." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/colorsensor.po b/doc/locales/de/LC_MESSAGES/pupdevices/colorsensor.po new file mode 100644 index 00000000..06345623 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/colorsensor.po @@ -0,0 +1,478 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/colorsensor.rst:4 a4bfe9fecdc943a7b7342b655e74a726 +msgid "Color Sensor" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:6 6a8859f5428d4da397190368223baa20 +msgid ".. image:: ../../main/diagrams/sensor_color_lights.png" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:9 5b0ddbbf07da4e3f94298ca0cd2524d1 +msgid "" +".. image:: " +"/blockimg/pybricks_variables_set_color_sensor_colorsensor_default.svg" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:11 6e36050fc982485f88b5c5fd8919b9ca +msgid "" +".. image:: " +"/blockimg/pybricks_variables_set_color_sensor_colorsensor_detectable_colors.svg" +msgstr "" + +#: e69b40dba57d4fccaec5433e02788a49 of pybricks.pupdevices.ColorSensor:1 +msgid "LEGO® SPIKE Color Sensor." +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst 1db82d3b8b73466a88bef5c9e4ca71ed +#: 41c909819cc3476ea28e40dd7c02410d a63b6cb3e9b2440381bb1ec5a0e33ef7 +#: b6a7205d8008471db7b572f098d9b754 d510948ec58d40dcbeb9c939e56f5def +msgid "Parameters" +msgstr "" + +#: c1ea371e62f445f493c28455fd696276 of pybricks.pupdevices.ColorSensor:3 +msgid "Port to which the sensor is connected." +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:16 3514a576ca784e89ae716945425dac4b +msgid ".. image:: /blockimg/pybricks_blockColor_ColorSensor_color.svg" +msgstr "" + +#: 0e8dc815be0448db86c9cdd132bbdd26 3b9618eb842d4841b56227e86900d993 of +#: pybricks._common.AmbientColorSensor.color:1 +#: pybricks._common.AmbientColorSensor.hsv:1 +msgid "Scans the color of a surface or an external light source." +msgstr "" + +#: 954dcf9b8e164c2194bdc9edba165d8f of +#: pybricks._common.AmbientColorSensor.color:3 +msgid "" +"You choose which colors are detected using the ``detectable_colors()`` " +"method. By default, it detects ``Color.RED``, ``Color.YELLOW``, " +"``Color.GREEN``, ``Color.BLUE``, ``Color.WHITE``, or ``Color.NONE``." +msgstr "" + +#: 6e2f29c5cd8149c6bb5180e2e1c52391 a9f3fe15d7444534959ee44cc370ec9e of +#: pybricks._common.AmbientColorSensor.color:8 +#: pybricks._common.AmbientColorSensor.hsv:7 +msgid "" +"Choose ``true`` to scan the color of objects and surfaces. Choose " +"``false`` to scan the color of screens and other external light sources." +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst 1441b42a33fb47198a15d7b6df69fb71 +#: 2aeb12b76d8c4bbb9dad315207f5ea3e 6e0e8d795e7a443299ddb44e2cb14644 +#: 710b0f05c3224af68fd3c8eba1b505aa +msgid "Returns" +msgstr "" + +#: ebd57aa468b94da593e5ecbb77ee82dc of +#: pybricks._common.AmbientColorSensor.color:13 +msgid "Detected color.`" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:20 3422fb8ff4f7419f9d8219bc31c2eb5b +msgid ".. image:: /blockimg/pybricks_blockLightReflection_ColorSensor.svg" +msgstr "" + +#: f17afcb02f924c749f437944e3b1f734 of +#: pybricks._common.CommonColorSensor.reflection:1 +msgid "Measures how much a surface reflects the light emitted by the sensor." +msgstr "" + +#: efe4548da43a4662a6fbe4aae4919122 of +#: pybricks._common.CommonColorSensor.reflection:4 +msgid "" +"Measured reflection, ranging from 0% (no reflection) to 100% (high " +"reflection)." +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:24 fcc01067edc94991998aaca332588203 +msgid ".. image:: /blockimg/pybricks_blockLightAmbient_ColorSensor.svg" +msgstr "" + +#: 41c55c8fc2e54f33a572369cd8b028d4 of +#: pybricks._common.CommonColorSensor.ambient:1 +msgid "Measures the ambient light intensity." +msgstr "" + +#: bc99cb8cc1a3401c8e299ad0be24eb70 of +#: pybricks._common.CommonColorSensor.ambient:3 +msgid "Ambient light intensity, ranging from 0% (dark) to 100% (bright)." +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:29 9572da971af441289ee04190d78c21ce +msgid "Advanced color sensing" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:30 98996860c72d4ce7864167a95e556cd7 +msgid ".. image:: /blockimg/pybricks_blockColor_ColorSensor_hsv.svg" +msgstr "" + +#: 988f39780b2c4454ba9ddef858460c0a of +#: pybricks._common.AmbientColorSensor.hsv:3 +msgid "" +"This method is similar to ``color()``, but it gives the full range of " +"hue, saturation and brightness values, instead of rounding it to the " +"nearest detectable color." +msgstr "" + +#: 4f374bc08184445babd54398f8ebe4e3 of +#: pybricks._common.AmbientColorSensor.hsv:12 +msgid "" +"Measured color. The color is described by a hue (0--359), a saturation (0" +"--100), and a brightness value (0--100)." +msgstr "" + +#: 651d680275f84ed9b915d804f1d8079d of +#: pybricks._common.CommonColorSensor.detectable_colors:1 +msgid "Configures which colors the ``color()`` method should detect." +msgstr "" + +#: 3e45f886d1be4808937929a0e39e4e99 of +#: pybricks._common.CommonColorSensor.detectable_colors:3 +msgid "" +"Specify only colors that you wish to detect in your application. This " +"way, the full-color measurements are rounded to the nearest desired " +"color, and other colors are ignored. This improves reliability." +msgstr "" + +#: 28b9b210c6eb40a790feb689075c4c6e of +#: pybricks._common.CommonColorSensor.detectable_colors:7 +msgid "If you give no arguments, the currently chosen colors will be returned." +msgstr "" + +#: 2a1dc82305654db997c557f6582fb3fe of +#: pybricks._common.CommonColorSensor.detectable_colors:9 +msgid "When coding with blocks, this is configured in the sensor setup block." +msgstr "" + +#: d8742dbe18654777a7887dc67ba381f4 of +#: pybricks._common.CommonColorSensor.detectable_colors:11 +msgid "" +"List of :class:`Color <.parameters.Color>` objects: the colors that you " +"want to detect. You can pick standard colors such as ``Color.MAGENTA``, " +"or provide your own colors like ``Color(h=348, s=96, v=40)`` for even " +"better results. You measure your own colors with the ``hsv()`` method." +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:37 8350931726c541be9af48b22fb18dd43 +msgid "Built-in lights" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:38 5ea726cf44a846a185c799ba303db9e5 +msgid "" +"This sensor has 3 built-in lights. You can adjust the brightness of each " +"light. If you use the sensor to measure something, the lights will be " +"turned on or off as needed for the measurement." +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:42 6c3641611ada41f0b82ef88948afb080 +msgid ".. image:: /blockimg/pybricks_blockLightOn_colorsensor_on.svg" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:44 2a78728236ca481fb617efd00e4c4940 +msgid ".. image:: /blockimg/pybricks_blockLightOn_colorsensor_on_list.svg" +msgstr "" + +#: 6890b797aa01458ea3cc04c2bbec6259 of pybricks._common.LightArray3.on:1 +msgid "Turns on the lights at the specified brightness." +msgstr "" + +#: 961f3da032fc4ac092664abfeb8e4e9d of pybricks._common.LightArray3.on:3 +msgid "" +"Use a single value to set the brightness of all lights at the same time. " +"Use a tuple of three values to set the brightness of each light " +"individually." +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:49 f6d5bcf72b594decaa642849d7287f07 +msgid ".. image:: /blockimg/pybricks_blockLightOn_colorsensor_off.svg" +msgstr "" + +#: dbd8adce2a1a48ecae74a2be02586dd9 of pybricks._common.LightArray3.off:1 +msgid "Turns off all the lights." +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:55 ab8d176273d641b2a43d79c597f227f7 +msgid "Examples" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:58 98953e9b57db44feabc34970fd32c1fb +msgid "Measuring color and reflection" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:60 eb9f6edf4f564351aa53e185c2147bcc +msgid "" +"from pybricks.pupdevices import ColorSensor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorSensor(Port.A)\n" +"\n" +"while True:\n" +" # Read the color and reflection\n" +" color = sensor.color()\n" +" reflection = sensor.reflection()\n" +"\n" +" # Print the measured color and reflection.\n" +" print(color, reflection)\n" +"\n" +" # Move the sensor around and see how\n" +" # well you can detect colors.\n" +"\n" +" # Wait so we can read the value.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:65 8f855de81c8d45e5930b945f83b826fe +msgid "Waiting for a color" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:67 87cd03d73031450a9538eaa3cd1a0d36 +msgid "" +"from pybricks.pupdevices import ColorSensor\n" +"from pybricks.parameters import Port, Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorSensor(Port.A)\n" +"\n" +"\n" +"# This is a function that waits for a desired color.\n" +"def wait_for_color(desired_color):\n" +" # While the color is not the desired color, we keep waiting.\n" +" while sensor.color() != desired_color:\n" +" wait(20)\n" +"\n" +"\n" +"# Now we use the function we just created above.\n" +"while True:\n" +"\n" +" # Here you can make your train/vehicle go forward.\n" +"\n" +" print(\"Waiting for red ...\")\n" +" wait_for_color(Color.RED)\n" +"\n" +" # Here you can make your train/vehicle go backward.\n" +"\n" +" print(\"Waiting for blue ...\")\n" +" wait_for_color(Color.BLUE)\n" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:72 fbb24d840bdf4f0283a00ab4a7ab4e49 +msgid "Reading *reflected* hue, saturation, and value" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:74 d8e61f19ca0a4638ae9b78d43272cf2d +msgid "" +"from pybricks.pupdevices import ColorSensor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorSensor(Port.A)\n" +"\n" +"while True:\n" +" # The standard color() method always \"rounds\" the\n" +" # measurement to the nearest \"whole\" color.\n" +" # That's useful for most applications.\n" +"\n" +" # But you can get the original hue, saturation,\n" +" # and value without \"rounding\", as follows:\n" +" color = sensor.hsv()\n" +"\n" +" # Print the results.\n" +" print(color)\n" +"\n" +" # Wait so we can read the value.\n" +" wait(500)\n" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:79 bbab0002e7d2432a8eb917648ea3d211 +msgid "Changing the detectable colors" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:81 9873cf8fcb4a4dc8a9d699ddb1a7c6db +msgid "" +"By default, the sensor is configured to detect red, yellow, green, blue, " +"white, or no color, which suits many applications." +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:84 a1aeda93426649c699b8cc4d41f2bd2f +msgid "" +"For better results in your application, you can measure your desired " +"colors in advance, and tell the sensor to look only for those colors. Be " +"sure to measure them at the **same distance and light conditions** as in " +"your final application. Then you'll get very accurate results even for " +"colors that are otherwise hard to detect." +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:90 f0457ca9b346453a88355b3ebe2a45fe +msgid "" +"from pybricks.pupdevices import ColorSensor\n" +"from pybricks.parameters import Port, Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorSensor(Port.A)\n" +"\n" +"# First, decide which objects you want to detect, and measure their HSV " +"values.\n" +"# You can do that with the hsv() method as shown in the previous example." +"\n" +"#\n" +"# Use your measurements to override the default colors, or add new " +"colors:\n" +"Color.GREEN = Color(h=132, s=94, v=26)\n" +"Color.MAGENTA = Color(h=348, s=96, v=40)\n" +"Color.BROWN = Color(h=17, s=78, v=15)\n" +"Color.RED = Color(h=359, s=97, v=39)\n" +"\n" +"# Put your colors in a list or tuple.\n" +"my_colors = (Color.GREEN, Color.MAGENTA, Color.BROWN, Color.RED, " +"Color.NONE)\n" +"\n" +"# Save your colors.\n" +"sensor.detectable_colors(my_colors)\n" +"\n" +"# color() works as usual, but now it returns one of your specified " +"colors.\n" +"while True:\n" +" color = sensor.color()\n" +"\n" +" # Print the color.\n" +" print(color)\n" +"\n" +" # Check which one it is.\n" +" if color == Color.MAGENTA:\n" +" print(\"It works!\")\n" +"\n" +" # Wait so we can read it.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:94 64cd246f9bc140cdbd2733ac5cbac731 +msgid "Reading *ambient* hue, saturation, value, and color" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:96 be52f05e3c5b408b8acdd07a763cc1d6 +msgid "" +"from pybricks.pupdevices import ColorSensor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorSensor(Port.A)\n" +"\n" +"# Repeat forever.\n" +"while True:\n" +"\n" +" # Get the ambient color values. Instead of scanning the color of a " +"surface,\n" +" # this lets you scan the color of light sources like lamps or " +"screens.\n" +" hsv = sensor.hsv(surface=False)\n" +" color = sensor.color(surface=False)\n" +"\n" +" # Get the ambient light intensity.\n" +" ambient = sensor.ambient()\n" +"\n" +" # Print the measurements.\n" +" print(hsv, color, ambient)\n" +"\n" +" # Point the sensor at a computer screen or colored light. Watch the " +"color.\n" +" # Also, cover the sensor with your hands and watch the ambient value." +"\n" +"\n" +" # Wait so we can read the printed line\n" +" wait(100)\n" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:100 0b928511014a474b86ded338364a3cad +msgid "Blinking the built-in lights" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:102 b1e8587cb94443f3899e983a2af7c77a +msgid "" +"from pybricks.pupdevices import ColorSensor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorSensor(Port.A)\n" +"\n" +"# Repeat forever.\n" +"while True:\n" +"\n" +" # Turn on one light at a time, at half the brightness.\n" +" # Do this for all 3 lights and repeat that 5 times.\n" +" for i in range(5):\n" +" sensor.lights.on([50, 0, 0])\n" +" wait(100)\n" +" sensor.lights.on([0, 50, 0])\n" +" wait(100)\n" +" sensor.lights.on([0, 0, 50])\n" +" wait(100)\n" +"\n" +" # Turn all lights on at maximum brightness.\n" +" sensor.lights.on(100)\n" +" wait(500)\n" +"\n" +" # Turn all lights off.\n" +" sensor.lights.off()\n" +" wait(500)\n" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:106 55a13a32863c49e5a02a36123df6699a +msgid "Turning off the lights when the program ends" +msgstr "" + +#: ../../main/pupdevices/colorsensor.rst:108 26dd4da520544f69a0a02749af8fd962 +msgid "" +"from pybricks.parameters import Port\n" +"from pybricks.pupdevices import ColorSensor\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorSensor(Port.A)\n" +"\n" +"\n" +"def main():\n" +" # Run the main code.\n" +" while True:\n" +" print(sensor.color())\n" +" wait(500)\n" +"\n" +"\n" +"# Wrap the main code in try/finally so that the cleanup code always runs\n" +"# when the program ends, even if an exception was raised.\n" +"try:\n" +" main()\n" +"finally:\n" +" # The cleanup code goes here.\n" +" print(\"Cleaning up.\")\n" +" sensor.lights.off()\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/dcmotor.po b/doc/locales/de/LC_MESSAGES/pupdevices/dcmotor.po new file mode 100644 index 00000000..6d1b12be --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/dcmotor.po @@ -0,0 +1,219 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/dcmotor.rst:4 9f32d370d1b7496ba064e7074956dc7e +msgid "Motors without rotation sensors" +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:8 d87b071d01264ea19483d00459a72063 +msgid "pupmotors" +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:8 d87b071d01264ea19483d00459a72063 +msgid ".. image:: ../../main/diagrams/pupdcmotors.png" +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:13 72c1a8893ede44c1a4e4069d38a6b81e +msgid "" +"Powered Up motors without rotation sensors. The arrows indicate the " +"default positive direction." +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:16 74e70f8135ff48d2a5abd2e112d5f593 +msgid ".. image:: /blockimg/pybricks_variables_set_dc_motor.svg" +msgstr "" + +#: c5f94b1a5d574d1ca4e3e08265a6b7d6 of pybricks.pupdevices.DCMotor:1 +msgid "LEGO® Powered Up motor without rotation sensors." +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst 18ba76413c84400a8da19a4eae4ec996 +#: 7aff3fb87fea4603b01e9c61fdf497f4 98a2d55ff59a4dbc9ce6176f0279a8b2 +msgid "Parameters" +msgstr "" + +#: c74cdf9a8883489db1a9561b479f66a9 of pybricks.pupdevices.DCMotor:3 +msgid "Port to which the motor is connected." +msgstr "" + +#: 5a5d7f272d914d1b809ac3350983b4d3 of pybricks.pupdevices.DCMotor:5 +msgid "" +"Which direction the motor should turn when you give a positive duty cycle" +" value." +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:21 aa53538c782249beb0984c86d19b58fc +msgid ".. image:: /blockimg/pybricks_blockMotorDuty_DCMotor.svg" +msgstr "" + +#: 20817b7a5e154a60a9ade23aeeb63611 of pybricks._common.DCMotor.dc:1 +msgid "Rotates the motor at a given duty cycle (also known as \"power\")." +msgstr "" + +#: f3d6a01db71a4e95be3ebbb79e3572c3 of pybricks._common.DCMotor.dc:3 +msgid "The duty cycle (-100.0 to 100)." +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:26 034e909d94f9432fb9e9151ce3f4df89 +msgid ".. image:: /blockimg/pybricks_blockMotorStop_DCMotor_coast.svg" +msgstr "" + +#: 4ca88a7cb81843798dc3d4180a40275d of pybricks._common.DCMotor.stop:1 +msgid "Stops the motor and lets it spin freely." +msgstr "" + +#: b0d05e05f3384d84a51baf21a1766003 of pybricks._common.DCMotor.stop:3 +msgid "The motor gradually stops due to friction." +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:31 64de981cf15a4b0baa7d5c81666096da +msgid ".. image:: /blockimg/pybricks_blockMotorStop_DCMotor_brake.svg" +msgstr "" + +#: 1e9ef6b298ec43cebf040d28c1a946e8 of pybricks._common.DCMotor.brake:1 +msgid "Passively brakes the motor." +msgstr "" + +#: 30368a82f6944dc4b797ded58874ecc0 of pybricks._common.DCMotor.brake:3 +msgid "" +"The motor stops due to friction, plus the voltage that is generated while" +" the motor is still moving." +msgstr "" + +#: 3d5487446f5e4a15a8c4c02cc020f13c of pybricks._common.DCMotor.settings:1 +msgid "settings(max_voltage) settings() -> Tuple[int]" +msgstr "" + +#: 7038489566ca43daa50c98d0774a4611 of pybricks._common.DCMotor.settings:4 +msgid "" +"Configures motor settings. If no arguments are given, this returns the " +"current values." +msgstr "" + +#: b2ed5bb1de2d43f49480bee700d0d89b of pybricks._common.DCMotor.settings:7 +msgid "Maximum voltage applied to the motor during all motor commands." +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:40 8a537596e8464e43b130c4cc9d18c701 +msgid "Examples" +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:43 2f2d43ae39aa4099a6105555aebcd671 +msgid "Making a train drive forever" +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:45 011483c882b449e095cddc155d658fac +msgid "" +"from pybricks.pupdevices import DCMotor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the motor.\n" +"train_motor = DCMotor(Port.A)\n" +"\n" +"# Choose the \"power\" level for your train. Negative means reverse.\n" +"train_motor.dc(50)\n" +"\n" +"# Keep doing nothing. The train just keeps going.\n" +"while True:\n" +" wait(1000)\n" +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:49 331924d8275948889bae8964bb08393f +msgid "Making the motor move back and forth" +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:51 e124a04763284a4bb2c6f921cd0956c2 +#, python-format +msgid "" +"from pybricks.pupdevices import DCMotor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize a motor without rotation sensors on port A.\n" +"example_motor = DCMotor(Port.A)\n" +"\n" +"# Make the motor go clockwise (forward) at 70% duty cycle (\"70% " +"power\").\n" +"example_motor.dc(70)\n" +"\n" +"# Wait for three seconds.\n" +"wait(3000)\n" +"\n" +"# Make the motor go counterclockwise (backward) at 70% duty cycle.\n" +"example_motor.dc(-70)\n" +"\n" +"# Wait for three seconds.\n" +"wait(3000)\n" +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:55 86c823caec06434bb330a0c56ee20d01 +msgid "Changing the positive direction" +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:57 a440561c2cd941c4bf4715d9e2ed5475 +msgid "" +"from pybricks.pupdevices import DCMotor\n" +"from pybricks.parameters import Port, Direction\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize a motor without rotation sensors on port A,\n" +"# with the positive direction as counterclockwise.\n" +"example_motor = DCMotor(Port.A, Direction.COUNTERCLOCKWISE)\n" +"\n" +"# When we choose a positive duty cycle, the motor now goes " +"counterclockwise.\n" +"example_motor.dc(70)\n" +"\n" +"# This is useful when your (train) motor is mounted in reverse or upside " +"down.\n" +"# By changing the positive direction, your script will be easier to read," +"\n" +"# because a positive value now makes your train/robot go forward.\n" +"\n" +"# Wait for three seconds.\n" +"wait(3000)\n" +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:61 f8fa4925e094484f9b7eb45a18062c01 +msgid "Starting and stopping" +msgstr "" + +#: ../../main/pupdevices/dcmotor.rst:63 c5d3453be8b74dbaa7bfdc22c4372da9 +msgid "" +"from pybricks.pupdevices import DCMotor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize a motor without rotation sensors on port A.\n" +"example_motor = DCMotor(Port.A)\n" +"\n" +"# Start and stop 10 times.\n" +"for count in range(10):\n" +" print(\"Counter:\", count)\n" +"\n" +" example_motor.dc(70)\n" +" wait(1000)\n" +"\n" +" example_motor.stop()\n" +" wait(1000)\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/forcesensor.po b/doc/locales/de/LC_MESSAGES/pupdevices/forcesensor.po new file mode 100644 index 00000000..f2e207ba --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/forcesensor.po @@ -0,0 +1,203 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/forcesensor.rst:4 1fcf271d79c3495c80250019684437a7 +msgid "Force Sensor" +msgstr "" + +#: ../../main/pupdevices/forcesensor.rst:6 7267662bc47d40b2a2942c87d41f3824 +msgid ".. image:: ../../main/cad/output/pupdevice-force.png" +msgstr "" + +#: ../../main/pupdevices/forcesensor.rst:9 020022467ac84e5f8e3dbbd00799aca4 +msgid ".. image:: /blockimg/pybricks_variables_set_force_sensor.svg" +msgstr "" + +#: fa300be616be4bbe8684ea1af125df32 of pybricks.pupdevices.ForceSensor:1 +msgid "LEGO® SPIKE Force Sensor." +msgstr "" + +#: ../../main/pupdevices/forcesensor.rst 383d728c7bef475799f0d64c4cdbc9bd +#: c57ac1cf5d8c4c0f84ccf0a5961d106b +msgid "Parameters" +msgstr "" + +#: 59677c93b4f84055b9b76e600ee166bd of pybricks.pupdevices.ForceSensor:3 +msgid "Port to which the sensor is connected." +msgstr "" + +#: ../../main/pupdevices/forcesensor.rst:14 09737358d0334f16bc6436f2ef7f585e +msgid ".. image:: /blockimg/pybricks_blockForce_ForceSensor.svg" +msgstr "" + +#: 64d0ed8cd8af4693bdd79d748fa316fb of pybricks.pupdevices.ForceSensor.force:1 +msgid "Measures the force exerted on the sensor." +msgstr "" + +#: ../../main/pupdevices/forcesensor.rst 099683af1a82478986d809ebf8ef8121 +#: 09ce7c791c9d491d8946db5faddc28f0 a8626dcab9864cb79edf2b3a56bb50be +#: f492586f3a5e488999d1fe1be63dbf01 +msgid "Returns" +msgstr "" + +#: aad1ffcb7edc403da508988a4eaff905 of pybricks.pupdevices.ForceSensor.force:3 +msgid "Measured force (up to approximately 10.00 N)." +msgstr "" + +#: ../../main/pupdevices/forcesensor.rst:18 4396cddaaa714b2e82bdac358cb48eb6 +msgid ".. image:: /blockimg/pybricks_blockDistance_ForceSensor.svg" +msgstr "" + +#: c7657936452c488d9c7e9bd20652d845 of +#: pybricks.pupdevices.ForceSensor.distance:1 +msgid "Measures by how much the sensor button has moved." +msgstr "" + +#: 7dda65be18c84299bfba42416205966c of +#: pybricks.pupdevices.ForceSensor.distance:3 +msgid "Movement up to approximately 8.00 mm." +msgstr "" + +#: 0f6003cb58874becaa388f36a18a2cb6 of +#: pybricks.pupdevices.ForceSensor.pressed:1 +msgid "Checks if the sensor button is pressed." +msgstr "" + +#: 3413119735fd40c9b86550ee3a9b1315 of +#: pybricks.pupdevices.ForceSensor.pressed:3 +msgid "Minimum force to be considered pressed." +msgstr "" + +#: 0dda52a965654fbdb8ab0ed7068164d0 of +#: pybricks.pupdevices.ForceSensor.pressed:6 +msgid "``True`` if the sensor is pressed, ``False`` if it is not." +msgstr "" + +#: f029fb289e8a46ad9a84203f7b7f87bf of +#: pybricks.pupdevices.ForceSensor.touched:1 +msgid "Checks if the sensor is touched." +msgstr "" + +#: 83f4ab5b96104e8ab476bf00120d58b9 of +#: pybricks.pupdevices.ForceSensor.touched:3 +msgid "" +"This is similar to :meth:`pressed`, but it detects slight movements of " +"the button even when the measured force is still considered zero." +msgstr "" + +#: 245ed1bdf1dd46ffa58f274cc239f594 of +#: pybricks.pupdevices.ForceSensor.touched:6 +msgid "``True`` if the sensor is touched or pressed, ``False`` if it is not." +msgstr "" + +#: ../../main/pupdevices/forcesensor.rst:27 8f633134679d4bd59dedf53bb74f158c +msgid "Examples" +msgstr "" + +#: ../../main/pupdevices/forcesensor.rst:30 9702722f93ac426fa3a0183da48fef6a +msgid "Measuring force and movement" +msgstr "" + +#: ../../main/pupdevices/forcesensor.rst:32 b0969cd166d04caf9cd1875630aa91c2 +msgid "" +"from pybricks.pupdevices import ForceSensor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"button = ForceSensor(Port.A)\n" +"\n" +"while True:\n" +" # Read all the information we can get from this sensor.\n" +" force = button.force()\n" +" dist = button.distance()\n" +" press = button.pressed()\n" +" touch = button.touched()\n" +"\n" +" # Print the values\n" +" print(\"Force\", force, \"Dist:\", dist, \"Pressed:\", press, " +"\"Touched:\", touch)\n" +"\n" +" # Push the sensor button see what happens to the values.\n" +"\n" +" # Wait some time so we can read what is printed.\n" +" wait(200)\n" +msgstr "" + +#: ../../main/pupdevices/forcesensor.rst:36 b193a55513504d0984cf39cbefb60318 +msgid "Measuring peak force" +msgstr "" + +#: ../../main/pupdevices/forcesensor.rst:38 975d85d2d49549c485fa345749c30be1 +msgid "" +"from pybricks.pupdevices import ForceSensor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"button = ForceSensor(Port.A)\n" +"\n" +"\n" +"# This function waits until the button is pushed. It keeps track of the " +"maximum\n" +"# detected force until the button is released. Then it returns the " +"maximum.\n" +"def wait_for_force():\n" +"\n" +" # Wait for a force, by doing nothing for as long the force is nearly " +"zero.\n" +" print(\"Waiting for force.\")\n" +" while button.force() <= 0.1:\n" +" wait(10)\n" +"\n" +" # Now we wait for the release, by waiting for the force to be zero " +"again.\n" +" print(\"Waiting for release.\")\n" +"\n" +" # While we wait for that to happen, we keep reading the force and " +"remember\n" +" # the maximum force. We do this by initializing the maximum at 0, and" +"\n" +" # updating it each time we detect a bigger force.\n" +" maximum = 0\n" +" force = 10\n" +" while force > 0.1:\n" +" # Read the force.\n" +" force = button.force()\n" +"\n" +" # Update the maximum if the measured force is larger.\n" +" if force > maximum:\n" +" maximum = force\n" +"\n" +" # Wait and then measure again.\n" +" wait(10)\n" +"\n" +" # Return the maximum force.\n" +" return maximum\n" +"\n" +"\n" +"# Keep waiting for the sensor button to be pushed. When it is, display\n" +"# the peak force and repeat.\n" +"while True:\n" +" peak = wait_for_force()\n" +" print(\"Released. Peak force: {0} N\\n\".format(peak))\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/index.po b/doc/locales/de/LC_MESSAGES/pupdevices/index.po new file mode 100644 index 00000000..06c87cde --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/index.po @@ -0,0 +1,77 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/index.rst:4 8af9d44f8737437f9fea7e8a51a780ba +msgid ":mod:`pupdevices ` -- Motors, sensors, lights" +msgstr "" + +#: adeb7654450d4905818304e00a2c779f of pybricks.pupdevices:1 +msgid "LEGO® Powered Up motor, sensors, and lights." +msgstr "" + +#: ../../main/pupdevices/index.rst:28 ba0627ec45dd4a6daabe38d953383558 +msgid ".. image:: ../../main/cad/output/pupdevice-dcmotors.png" +msgstr "" + +#: ../../main/pupdevices/index.rst:34 8c612dbe328f4e288a618a2d33cfc446 +msgid ".. image:: ../../main/cad/output/pupdevice-motors.png" +msgstr "" + +#: ../../main/pupdevices/index.rst:40 1e831a9df15646d6b53761ee788c783a +msgid ".. image:: ../../main/cad/output/pupdevice-tilt.png" +msgstr "" + +#: ../../main/pupdevices/index.rst:46 db9fa8ffad4849ce96169159cab951a2 +msgid ".. image:: ../../main/cad/output/pupdevice-infrared.png" +msgstr "" + +#: ../../main/pupdevices/index.rst:52 e82a328cddbc43f4be8c2bc99e55755f +msgid ".. image:: ../../main/cad/output/pupdevice-colordistance.png" +msgstr "" + +#: ../../main/pupdevices/index.rst:58 5e996d2b11d84097b0c0b48fe099146a +msgid ".. image:: ../../main/cad/output/pupdevice-pfmotor.png" +msgstr "" + +#: ../../main/pupdevices/index.rst:64 5d585df5542d402090e7e5a949220fe5 +msgid ".. image:: ../../main/cad/output/pupdevice-color.png" +msgstr "" + +#: ../../main/pupdevices/index.rst:70 f4b13cf4c78840d0883aab7ee498cf36 +msgid ".. image:: ../../main/cad/output/pupdevice-ultrasonic.png" +msgstr "" + +#: ../../main/pupdevices/index.rst:76 91bd0680a50e4373bacc1ae869184b3e +msgid ".. image:: ../../main/cad/output/pupdevice-force.png" +msgstr "" + +#: ../../main/pupdevices/index.rst:82 47ce8952b3934804befebb9e227ac478 +msgid ".. image:: ../../main/diagrams/sensor_colorlightmatrix.png" +msgstr "" + +#: ../../main/pupdevices/index.rst:88 7f9bf8afd7ac487e8ccc9d7ee1c0d2e8 +msgid ".. image:: ../../main/cad/output/pupdevice-light.png" +msgstr "" + +#: ../../main/pupdevices/index.rst:94 8e5b86e4a0fc4424af45762472ce34bc +msgid ".. image:: ../../main/cad/output/pupdevice-remote.png" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/infraredsensor.po b/doc/locales/de/LC_MESSAGES/pupdevices/infraredsensor.po new file mode 100644 index 00000000..444d1700 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/infraredsensor.po @@ -0,0 +1,125 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/infraredsensor.rst:4 d7829c318c424fb4b2e7b6ad23733c5c +msgid "Infrared Sensor" +msgstr "" + +#: ../../main/pupdevices/infraredsensor.rst:6 a88a91ad0cf54d67b5e5078da064dcd8 +msgid ".. image:: ../../main/cad/output/pupdevice-infrared.png" +msgstr "" + +#: ../../main/pupdevices/infraredsensor.rst:9 3c4be04079ea4c679320adc4cc7b4c89 +msgid ".. image:: /blockimg/pybricks_variables_set_infrared_sensor.svg" +msgstr "" + +#: 754fa3eb687d404fa20f8680e2fcfa62 of pybricks.pupdevices.InfraredSensor:1 +msgid "LEGO® Powered Up Infrared Sensor." +msgstr "" + +#: ../../main/pupdevices/infraredsensor.rst dd851ac630094211a10b25b098d8516e +msgid "Parameters" +msgstr "" + +#: d8c26fcb35614abaaead28a7ddb2ca90 of pybricks.pupdevices.InfraredSensor:3 +msgid "Port to which the sensor is connected." +msgstr "" + +#: ../../main/pupdevices/infraredsensor.rst:14 c29094ad2a1c46dc967bc942f3d14c39 +msgid ".. image:: /blockimg/pybricks_blockDistance_InfraredSensor.svg" +msgstr "" + +#: a88a6f3b87854c14b4e63483aa2e7b01 of +#: pybricks.pupdevices.InfraredSensor.distance:1 +msgid "" +"Measures the relative distance between the sensor and an object using " +"infrared light." +msgstr "" + +#: ../../main/pupdevices/infraredsensor.rst 2764dc27f1a64dde93a52abdf5dfc2ba +#: c7eb9eac2d6c4e14a837da36a0c9e6f0 d748fa3befea49caa6066ab0caa2fc8a +msgid "Returns" +msgstr "" + +#: f660a41a27f84446a0451da687eeffbb of +#: pybricks.pupdevices.InfraredSensor.distance:4 +msgid "Distance ranging from 0% (closest) to 100% (farthest)." +msgstr "" + +#: ../../main/pupdevices/infraredsensor.rst:18 22bfedf612274021b65a6c7407e3340d +msgid ".. image:: /blockimg/pybricks_blockLightReflection_InfraredSensor.svg" +msgstr "" + +#: 225b780e28644edda85057ee9e729427 of +#: pybricks.pupdevices.InfraredSensor.reflection:1 +msgid "Measures the reflection of a surface using an infrared light." +msgstr "" + +#: 0e98eb2bd83f4c76b68359b19716e1b1 of +#: pybricks.pupdevices.InfraredSensor.reflection:3 +msgid "" +"Measured reflection, ranging from 0% (no reflection) to 100% (high " +"reflection)." +msgstr "" + +#: ee9fcb749d3e439281b43c529621c50f of +#: pybricks.pupdevices.InfraredSensor.count:1 +msgid "Counts the number of objects that have passed by the sensor." +msgstr "" + +#: 8cfaa4ac691b42f4814e2aedff2361af of +#: pybricks.pupdevices.InfraredSensor.count:3 +msgid "Number of objects counted." +msgstr "" + +#: ../../main/pupdevices/infraredsensor.rst:25 269052feb8a7401b8c9410d6bdf71f20 +msgid "Examples" +msgstr "" + +#: ../../main/pupdevices/infraredsensor.rst:28 1e618b45f8eb47fbbea60a1cffacd18c +msgid "Measuring distance, object count, and reflection" +msgstr "" + +#: ../../main/pupdevices/infraredsensor.rst:30 109622004c2c4799ada0ef8326389228 +msgid "" +"from pybricks.pupdevices import InfraredSensor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"ir = InfraredSensor(Port.A)\n" +"\n" +"while True:\n" +" # Read all the information we can get from this sensor.\n" +" dist = ir.distance()\n" +" count = ir.count()\n" +" ref = ir.reflection()\n" +"\n" +" # Print the values\n" +" print(\"Distance:\", dist, \"Count:\", count, \"Reflection:\", ref)\n" +"\n" +" # Move the sensor around and move your hands in front\n" +" # of it to see what happens to the values.\n" +"\n" +" # Wait some time so we can read what is printed.\n" +" wait(200)\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/light.po b/doc/locales/de/LC_MESSAGES/pupdevices/light.po new file mode 100644 index 00000000..96f53a27 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/light.po @@ -0,0 +1,127 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/light.rst:4 978081e1c8844ba999fbb8f4b6b1d3eb +msgid "Light" +msgstr "" + +#: ../../main/pupdevices/light.rst:6 369d0e02cd304bcb8a83f99387d07441 +msgid ".. image:: ../../main/cad/output/pupdevice-light.png" +msgstr "" + +#: ../../main/pupdevices/light.rst:9 80847b1b3a67417fb25348113a507e57 +msgid ".. image:: /blockimg/pybricks_variables_set_light.svg" +msgstr "" + +#: 84c41bc528c74e33b319dc950a3609fb of pybricks.pupdevices.Light:1 +msgid "LEGO® Powered Up Light." +msgstr "" + +#: ../../main/pupdevices/light.rst 32fc67aca1954fc49c8f3212e5f0050a +#: 42a3a188e38b489b97ede4bd45bcb05f +msgid "Parameters" +msgstr "" + +#: 5e985862db134417aafdef58822ee602 of pybricks.pupdevices.Light:3 +msgid "Port to which the device is connected." +msgstr "" + +#: ../../main/pupdevices/light.rst:14 be8fe4b43759486ebdd367ac461b61dd +msgid ".. image:: /blockimg/pybricks_blockLightOn_light_on.svg" +msgstr "" + +#: 1be6b74df46a45ada28ea50faae285ca of pybricks.pupdevices.Light.on:1 +msgid "Turns on the light at the specified brightness." +msgstr "" + +#: 0d1ad2567bba452ebbe0bb30a5d2bf2c of pybricks.pupdevices.Light.on:3 +msgid "Brightness of the light." +msgstr "" + +#: ../../main/pupdevices/light.rst:18 efe96a8489124010bc9a9342f83d262b +msgid ".. image:: /blockimg/pybricks_blockLightOn_light_off.svg" +msgstr "" + +#: 53b94c5e0e684ef49c96e350a6a4ad9d of pybricks.pupdevices.Light.off:1 +msgid "Turns off the light." +msgstr "" + +#: ../../main/pupdevices/light.rst:23 969edf292caf44829a01c84c00c5ebee +msgid "Examples" +msgstr "" + +#: ../../main/pupdevices/light.rst:26 1f192da469154fe0a3860ea4d5c8d88f +msgid "Making the light blink" +msgstr "" + +#: ../../main/pupdevices/light.rst:28 6ee3be639a9f49cabf598de4da2b14da +msgid "" +"from pybricks.pupdevices import Light\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the light.\n" +"light = Light(Port.A)\n" +"\n" +"# Blink the light forever.\n" +"while True:\n" +" # Turn the light on at 100% brightness.\n" +" light.on(100)\n" +" wait(500)\n" +"\n" +" # Turn the light off.\n" +" light.off()\n" +" wait(500)\n" +msgstr "" + +#: ../../main/pupdevices/light.rst:32 91769aee778243789bc6bf289dd9823a +msgid "Gradually change the brightness" +msgstr "" + +#: ../../main/pupdevices/light.rst:34 34d2d0f492684d6bba53941d845dd2fd +msgid "" +"from pybricks.pupdevices import Light\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait, StopWatch\n" +"\n" +"from umath import pi, cos\n" +"\n" +"# Initialize the light and a StopWatch.\n" +"light = Light(Port.A)\n" +"watch = StopWatch()\n" +"\n" +"# Cosine pattern properties.\n" +"PERIOD = 2000\n" +"MAX = 100\n" +"\n" +"# Make the brightness fade in and out.\n" +"while True:\n" +" # Get phase of the cosine.\n" +" phase = watch.time() / PERIOD * 2 * pi\n" +"\n" +" # Evaluate the brightness.\n" +" brightness = (0.5 - 0.5 * cos(phase)) * MAX\n" +"\n" +" # Set light brightness and wait a bit.\n" +" light.on(brightness)\n" +" wait(10)\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/motor.po b/doc/locales/de/LC_MESSAGES/pupdevices/motor.po new file mode 100644 index 00000000..1daab94b --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/motor.po @@ -0,0 +1,1055 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/motor.rst:4 81bede5b30124cf981b41e6a4d6b6993 +msgid "Motors with rotation sensors" +msgstr "" + +#: ../../main/pupdevices/motor.rst:8 3dba485ea83f43a19338ce482368d434 +msgid "pupmotors" +msgstr "" + +#: ../../main/pupdevices/motor.rst:8 3dba485ea83f43a19338ce482368d434 +msgid ".. image:: ../../main/diagrams/pupmotors.png" +msgstr "" + +#: ../../main/pupdevices/motor.rst:12 291a36b434f84d4bafb0bbca14e54ad7 +msgid "" +"Powered Up motors with rotation sensors. The arrows indicate the default " +"positive direction. See the :mod:`hubs ` module for " +"default directions of built-in motors." +msgstr "" + +#: ../../main/pupdevices/motor.rst:16 9e7f8a10282e4cdb9447af44139ea111 +msgid ".. image:: /blockimg/pybricks_variables_set_motor.svg" +msgstr "" + +#: 8250870baa6345849cd1ee635cd86b7e of pybricks.pupdevices.Motor:1 +msgid "LEGO® Powered Up motor with rotation sensors." +msgstr "" + +#: ../../main/pupdevices/motor.rst 1a9ef6eb37cd4cf78d0981a6e3e22cb7 +#: 203b9c6af2b24ebd830e8a2baa5022f7 206fa21e27d54920a68b7739b0a2170e +#: 5742e2c2b0eb4fc882e6bd2221a37051 61032272d4bb4a85aa39a69479439c90 +#: 76cb1aefb64d4764b760ca5c458083fa 7a82fd9a6bdc4afbb0bcd2fab4da9979 +#: 7d824cb851eb46f8a420ec2b2de5bff2 8669762e067e4e9b8063d025b5288ded +#: a8ae3d9b6ac44c76bfe7ef8385705741 b23f7610ced84cc48dfa73cecfef41eb +#: d5ebcc59d4394e0ca369fd3b5ac81704 f4aff3405927453dbbf72331d6db0096 +#: f5fa3261b6ef4439a2f7905aeb7cf9ab fafefb711e7244d1affd71c37a76c195 +#: fe5e80b48186483e8d448cf34716cfe4 +msgid "Parameters" +msgstr "" + +#: 8ec9f2179d814b8cb75d4ce1af81c2af of pybricks.pupdevices.Motor:3 +msgid "Port to which the motor is connected." +msgstr "" + +#: 64caab05e498483fb2b86ff2189e43c5 of pybricks.pupdevices.Motor:5 +msgid "" +"Which direction the motor should turn when you give a positive speed " +"value or angle." +msgstr "" + +#: eba38e5c012b451cb1d3bf1790c7e782 of pybricks.pupdevices.Motor:9 +msgid "" +"List of gears linked to the motor. The gear connected to the motor comes " +"first and the gear connected to the output comes last. For example: " +"``[12, 36]`` represents a gear train with a 12-tooth gear connected to " +"the motor and a 36-tooth gear connected to the output. Use a list of " +"lists for multiple gear trains, such as ``[[12, 36], [20, 16, 40]]``. " +"When you specify a gear train, all motor commands and settings are " +"automatically adjusted to account for the resulting gear ratio. The motor" +" direction remains unchanged by this." +msgstr "" + +#: f218b50dcb1f4a6f8abe621e87ef2129 of pybricks.pupdevices.Motor:9 +msgid "" +"List of gears linked to the motor. The gear connected to the motor comes " +"first and the gear connected to the output comes last." +msgstr "" + +#: e676c89b2c42486e870c5636413d006b of pybricks.pupdevices.Motor:13 +msgid "" +"For example: ``[12, 36]`` represents a gear train with a 12-tooth gear " +"connected to the motor and a 36-tooth gear connected to the output. Use a" +" list of lists for multiple gear trains, such as ``[[12, 36], [20, 16, " +"40]]``." +msgstr "" + +#: 8803c4330af1414e82004ceb4916985b of pybricks.pupdevices.Motor:18 +msgid "" +"When you specify a gear train, all motor commands and settings are " +"automatically adjusted to account for the resulting gear ratio. The motor" +" direction remains unchanged by this." +msgstr "" + +#: 525edf13e2ab47cba7703a1843d87bb7 of pybricks.pupdevices.Motor:22 +msgid "" +"Choose ``True`` to reset the rotation sensor value to the absolute marker" +" angle (between -180 and 179). Choose ``False`` to keep the current " +"value, so your program knows where it left off last time." +msgstr "" + +#: 717c8608b5e545c2a99e96fc9e8b13d5 of pybricks.pupdevices.Motor:28 +msgid "" +"Precision profile. This is the approximate position tolerance in degrees " +"that is acceptable in your application. A lower value gives more precise " +"but more erratic movement; a higher value gives less precise but smoother" +" movement. If no value is given, a suitable profile for this motor type " +"will be selected automatically (about 11 degrees)." +msgstr "" + +#: ../../main/pupdevices/motor.rst:22 12b35e569efa457bb856a04c22b6c51a +msgid "Measuring" +msgstr "" + +#: ../../main/pupdevices/motor.rst:23 ffc37cbca6bb4f25a7636cc46e561c42 +msgid ".. image:: /blockimg/pybricks_blockMotorMeasure_motor_angle.svg" +msgstr "" + +#: 9ef69b7f10224572b8633385f56358aa of pybricks._common.Motor.angle:1 +msgid "Gets the rotation angle of the motor." +msgstr "" + +#: ../../main/pupdevices/motor.rst 0cad5bb637c2494983a5610b24516139 +#: 23b6196b7d7f4469abdc81417c845753 390ac056aad84744b7ef9a217947968f +#: 3cdf235a4d7240df964222ed7bd64b49 53c206ebd29649988a059e274e1c0e37 +#: 8cf58815ee784efdb02d8a5a1cd794ba fe0a81775c124c35b104c873d24dec52 +msgid "Returns" +msgstr "" + +#: 0395cf32cc3442c69a8e4d41d1402f3b of pybricks._common.Motor.angle:3 +msgid "Motor angle." +msgstr "" + +#: ../../main/pupdevices/motor.rst:27 0b50aae1ea864954ab446b70445a7526 +msgid ".. image:: /blockimg/pybricks_blockMotorResetAngle.svg" +msgstr "" + +#: b50b205911bd4f27a9d450d3f902e1cb of pybricks.pupdevices.Motor.reset_angle:1 +msgid "Sets the accumulated rotation angle of the motor to a desired value." +msgstr "" + +#: 80166980f8544e0fbedb0461986d95ad of pybricks.pupdevices.Motor.reset_angle:3 +msgid "" +"If you don't specify an angle, the absolute angle will be used if your " +"motor supports it." +msgstr "" + +#: 8d2a9bfbb7c34ac7a80d842fc00ce97d of pybricks.pupdevices.Motor.reset_angle:6 +msgid "Value to which the angle should be reset." +msgstr "" + +#: ../../main/pupdevices/motor.rst:31 33d0843a783d46e592f36ef16dd970df +msgid ".. image:: /blockimg/pybricks_blockMotorMeasure_motor_speed.svg" +msgstr "" + +#: ../../main/pupdevices/motor.rst:33 dd8a206d1bd94eee85aecba4247edf29 +msgid "" +".. image:: " +"/blockimg/pybricks_blockMotorMeasure_motor_get_speed_average.svg" +msgstr "" + +#: 8511ccfa6b1349ccba588549fa971e2b of pybricks._common.Motor.speed:1 +msgid "Gets the speed of the motor." +msgstr "" + +#: deb65813530040b1865375abb0bfe1cc of pybricks._common.Motor.speed:3 +msgid "" +"The speed is measured as the change in the motor angle during the given " +"time window. A short window makes the speed value more responsive to " +"motor movement, but less steady. A long window makes the speed value less" +" responsive, but more steady." +msgstr "" + +#: 11dc6a597ecd47eaa553557f5cf041a1 of pybricks._common.Motor.speed:8 +msgid "The time window used to determine the speed." +msgstr "" + +#: 75f550a1a0ec4def897ae9a99fea1abd of pybricks._common.Motor.speed:11 +msgid "Motor speed." +msgstr "" + +#: ../../main/pupdevices/motor.rst:37 701ad273f6ea4c2e8b44bfca4a37bda1 +msgid ".. image:: /blockimg/pybricks_blockMotorMeasure_motor_load.svg" +msgstr "" + +#: bab20cb9000948e58369608344a3918a of pybricks._common.Motor.load:1 +msgid "Estimates the load that holds back the motor when it tries to move." +msgstr "" + +#: a3b0a90d5b174705b9cce1765e470b68 of pybricks._common.Motor.load:3 +msgid "The load torque." +msgstr "" + +#: ../../main/pupdevices/motor.rst:41 820b36bda78745358cc8bb6e24f2b472 +msgid ".. image:: /blockimg/pybricks_blockMotorMeasure_motor_stalled.svg" +msgstr "" + +#: e971e0aabe2344319f372ba873259ed5 of pybricks._common.Motor.stalled:1 +msgid "Checks if the motor is currently stalled." +msgstr "" + +#: ebc6d7e5ca5e4802b36b84321d56a0ec of pybricks._common.Motor.stalled:3 +msgid "" +"It is stalled when it cannot reach the target speed or position, even " +"with the maximum actuation signal." +msgstr "" + +#: cf06a7dd18c142c2826e727928cc15c9 of pybricks._common.Motor.stalled:6 +msgid "``True`` if the motor is stalled, ``False`` if not." +msgstr "" + +#: ../../main/pupdevices/motor.rst:46 6ec59ade17d14057a55310647d14fcdb +msgid "Stopping" +msgstr "" + +#: ../../main/pupdevices/motor.rst:47 07cbb8e0cd764682b995e544eb362419 +msgid ".. image:: /blockimg/pybricks_blockMotorStop_Motor_coast.svg" +msgstr "" + +#: 84e2a43b5f2f4fefa476d3af90b1ae43 of pybricks._common.DCMotor.stop:1 +msgid "Stops the motor and lets it spin freely." +msgstr "" + +#: 6463d035842141e2adcdddceeb9df53d of pybricks._common.DCMotor.stop:3 +msgid "The motor gradually stops due to friction." +msgstr "" + +#: ../../main/pupdevices/motor.rst:51 3199eba1ba08484790e8f2a471989e72 +msgid ".. image:: /blockimg/pybricks_blockMotorStop_Motor_brake.svg" +msgstr "" + +#: f3479dd0bb274f83b476ed64e3e2400b of pybricks._common.DCMotor.brake:1 +msgid "Passively brakes the motor." +msgstr "" + +#: 78b3af53adfd444bb59c8836442b57d2 of pybricks._common.DCMotor.brake:3 +msgid "" +"The motor stops due to friction, plus the voltage that is generated while" +" the motor is still moving." +msgstr "" + +#: ../../main/pupdevices/motor.rst:55 bbfb7424d45940859da5025abe70db43 +msgid ".. image:: /blockimg/pybricks_blockMotorStop_Motor_hold.svg" +msgstr "" + +#: a6bad666d4cc41748e4fe121f7c605ac of pybricks._common.Motor.hold:1 +msgid "Stops the motor and actively holds it at its current angle." +msgstr "" + +#: ../../main/pupdevices/motor.rst:60 2432f4a382d44dc7984f2657d84b4894 +msgid "Running forever" +msgstr "" + +#: ../../main/pupdevices/motor.rst:61 124f0f156ab34c2f821110218e3c3125 +msgid ".. image:: /blockimg/pybricks_blockMotorRun_run.svg" +msgstr "" + +#: dc1c1464928c4ca69dd2627560a08a3f of pybricks._common.Motor.run:1 +msgid "Runs the motor at a constant speed." +msgstr "" + +#: a1ecd383606e41c5bbed7058e3294ff0 of pybricks._common.Motor.run:3 +msgid "" +"The motor accelerates to the given speed and keeps running at this speed " +"until you give a new command." +msgstr "" + +#: 09ac50ad9fae4e09a0a95a5fd167c17f 5751b35ca4694588b96d48a862265526 +#: 7abfd4ecc2b1489693d6a54dd87bfcdc 8dcd378f2d724b06adb975fdae86355b +#: fbf7ea77766b45a291c648a69672a37a of pybricks._common.Motor.run:6 +#: pybricks._common.Motor.run_angle:3 pybricks._common.Motor.run_target:6 +#: pybricks._common.Motor.run_time:7 pybricks._common.Motor.run_until_stalled:3 +msgid "Speed of the motor." +msgstr "" + +#: ../../main/pupdevices/motor.rst:65 41f6a6de9d374c068ae6dc5951afa01b +msgid ".. image:: /blockimg/pybricks_blockMotorDuty_Motor.svg" +msgstr "" + +#: f5320230dfa14c528bb473070997e46e of pybricks._common.DCMotor.dc:1 +msgid "Rotates the motor at a given duty cycle (also known as \"power\")." +msgstr "" + +#: 6b91aacc345c4ed4aaa1efe19fb3d8ef of pybricks._common.DCMotor.dc:3 +msgid "The duty cycle (-100.0 to 100)." +msgstr "" + +#: ../../main/pupdevices/motor.rst:70 a920eefcbd2e4518b4edc753f1e17ac7 +msgid "Running by a fixed amount" +msgstr "" + +#: d6f9887383bd4532916f54a164cd75c2 of pybricks._common.Motor.run_time:1 +msgid "Runs the motor at a constant speed for a given amount of time." +msgstr "" + +#: 95436189c3304a378848d3f1204946d5 of pybricks._common.Motor.run_time:3 +msgid "" +"The motor accelerates to the given speed, keeps running at this speed, " +"and then decelerates. The total maneuver lasts for exactly the given " +"amount of ``time``." +msgstr "" + +#: 2479b4f56d3d430a918976882b891ede of pybricks._common.Motor.run_time:9 +msgid "Duration of the maneuver." +msgstr "" + +#: 44bfe517da6a4f0bb3edb3c3854ca94d 4d092731a26748d190e9c9c7e8417771 +#: 7a6cc6d370964ee7ad915be8bdc803a0 ed1f964d1f074f55866a518ca95d456d of +#: pybricks._common.Motor.run_angle:8 pybricks._common.Motor.run_target:10 +#: pybricks._common.Motor.run_time:11 +#: pybricks._common.Motor.run_until_stalled:5 +msgid "What to do after coming to a standstill." +msgstr "" + +#: 74413236e577442f94c9980134f2def8 7e05bc9640e64675a306004cb8e46557 of +#: pybricks._common.Motor.run_angle:10 pybricks._common.Motor.run_time:13 +msgid "" +"Wait for the maneuver to complete before continuing with the rest of the " +"program." +msgstr "" + +#: ../../main/pupdevices/motor.rst:73 c1a1e0dc062c4f3ca9dcc35698da24db +msgid ".. image:: /blockimg/pybricks_blockMotorRun_run_angle.svg" +msgstr "" + +#: fdf1b4c091c1427bb7e875dddff691ac of pybricks._common.Motor.run_angle:1 +msgid "Runs the motor at a constant speed by a given angle." +msgstr "" + +#: 1d0a2fc50460469cbfee261b2e0bac83 of pybricks._common.Motor.run_angle:5 +msgid "Angle by which the motor should rotate." +msgstr "" + +#: ../../main/pupdevices/motor.rst:77 f54173265a764285b0d45a408020b739 +msgid ".. image:: /blockimg/pybricks_blockMotorRun_run_target.svg" +msgstr "" + +#: 1cc42364529b4b46982a05fb5e5fdc1f of pybricks._common.Motor.run_target:1 +msgid "Runs the motor at a constant speed towards a given target angle." +msgstr "" + +#: 276e9567dc5c4d8baaefa5d25c7fb0eb of pybricks._common.Motor.run_target:3 +msgid "" +"The direction of rotation is automatically selected based on the target " +"angle. It does not matter if ``speed`` is positive or negative." +msgstr "" + +#: aa52fe161a5a41dfac65f6a293df5403 of pybricks._common.Motor.run_target:8 +msgid "Angle that the motor should rotate to." +msgstr "" + +#: 40e7c4f6bf6141e3b25b464732b5b23a of pybricks._common.Motor.run_target:12 +msgid "" +"Wait for the motor to reach the target before continuing with the rest of" +" the program." +msgstr "" + +#: ../../main/pupdevices/motor.rst:81 76dd659dab4f49dca908a1f30fa44965 +msgid ".. image:: /blockimg/pybricks_blockMotorRun_run_until_stalled.svg" +msgstr "" + +#: 586fd47acde34dcd85db887acdb62c99 of +#: pybricks._common.Motor.run_until_stalled:1 +msgid "Runs the motor at a constant speed until it stalls." +msgstr "" + +#: 4e4463b26f74427fa034b20c8eaeec36 of +#: pybricks._common.Motor.run_until_stalled:7 +msgid "" +"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." +msgstr "" + +#: d5182e118c2d4d3eb7e9c9263e49ad83 of +#: pybricks._common.Motor.run_until_stalled:13 +msgid "Angle at which the motor becomes stalled." +msgstr "" + +#: ../../main/pupdevices/motor.rst:85 d6f875c2152146b7bf9aaa4d639682d4 +msgid ".. image:: /blockimg/pybricks_blockMotorTrack.svg" +msgstr "" + +#: 727a6505d7ed4cb3b9f5841e8002f5e5 of pybricks._common.Motor.track_target:1 +msgid "" +"Tracks a target angle. This is similar to :meth:`.run_target`, but the " +"usual smooth acceleration is skipped: it will move to the target angle as" +" fast as possible. This method is useful if you want to continuously " +"change the target angle." +msgstr "" + +#: 5eda83755a834c98b31d03f18ab1594e of pybricks._common.Motor.track_target:6 +msgid "Target angle that the motor should rotate to." +msgstr "" + +#: 1fed2a6cb2644bd5b2e36b0de3df33b6 of pybricks._common.Motor.done:1 +msgid "Checks if an ongoing command or maneuver is done." +msgstr "" + +#: 9903476a3286439e81890da1a2e69197 of pybricks._common.Motor.done:3 +msgid "``True`` if the command is done, ``False`` if not." +msgstr "" + +#: ../../main/pupdevices/motor.rst:94 17b2cd77deec40a39c00ab5b0b39eceb +msgid "Motor settings" +msgstr "" + +#: ../../main/pupdevices/motor.rst:95 a16df31fae614d2099df8f9b1c44f719 +msgid ".. image:: /blockimg/pybricks_blockMotorConfigure_motor_max_voltage.svg" +msgstr "" + +#: 0e9a7c49335946988840c75c669a723e of pybricks._common.DCMotor.settings:1 +msgid "" +"Configures motor settings. If no arguments are given, this returns the " +"current values." +msgstr "" + +#: 5d30ca07eeab4b1390ae594c7a9d382f of pybricks._common.DCMotor.settings:4 +msgid "Maximum voltage applied to the motor during all motor commands." +msgstr "" + +#: ea795018056f4b9ebcde13b5464e9de7 of pybricks._common.Motor.close:1 +msgid "" +"Closes the motor object so you can call ``Motor`` again to initialize a " +"new object." +msgstr "" + +#: a6595d5c6156481e897218c2dcd9106b of pybricks._common.Motor.close:4 +msgid "" +"This allows advanced users to change properties such as gearing in the " +"middle of the program, which can be useful for removeable attachments." +msgstr "" + +#: ../../main/pupdevices/motor.rst:102 bbe41aa70ba04ab6aa921cb2c35b3887 +msgid "Control settings" +msgstr "" + +#: ../../main/pupdevices/motor.rst:105 7a2d13a64ea94973b9951a66482c9b37 +msgid ".. image:: /blockimg/pybricks_blockMotorConfigure_motor_max_speed.svg" +msgstr "" + +#: ../../main/pupdevices/motor.rst:107 4e0e400b65824f0390e88057ebab94c0 +msgid ".. image:: /blockimg/pybricks_blockMotorConfigure_motor_acceleration.svg" +msgstr "" + +#: ../../main/pupdevices/motor.rst:110 12f5b11e4e644523bde165789ec2e82f +msgid ".. image:: /blockimg/pybricks_blockMotorConfigure_motor_max_torque.svg" +msgstr "" + +#: 989612a73c9641e692226f757df440de of pybricks._common.Control.limits:1 +msgid "Configures the maximum speed, acceleration, and torque." +msgstr "" + +#: 265f376d0eb64479ac5748502710e6eb 3e48c44c0fb64edbb4bdc817cdc7913e +#: 47cd9f1f1dfa4f5d8d071f1cd2080ab3 95ec32f06a754724ad4e9d8e12060c67 of +#: pybricks._common.Control.limits:3 pybricks._common.Control.pid:3 +#: pybricks._common.Control.stall_tolerances:3 +#: pybricks._common.Control.target_tolerances:3 +msgid "If no arguments are given, this will return the current values." +msgstr "" + +#: d7faf7bec6ab49cf923b30a7e4d0c8bb of pybricks._common.Control.limits:5 +msgid "" +"The new ``acceleration`` and ``speed`` limit will become effective when " +"you give a new motor command. Ongoing maneuvers are not affected." +msgstr "" + +#: 04a6f7356aaf4f3986742512823eeeb7 of pybricks._common.Control.limits:8 +msgid "Maximum speed. All speed commands will be capped to this value." +msgstr "" + +#: ac297aad4d7e4dbebca983aae77d1fd5 of pybricks._common.Control.limits:10 +msgid "" +"Slope of the speed curve when accelerating or decelerating. Use a tuple " +"to set acceleration and deceleration separately. If one value is given, " +"it is used for both." +msgstr "" + +#: 613f812f76eb4d77b3e75f5a60e0dc35 of pybricks._common.Control.limits:14 +msgid "Maximum feedback torque during control." +msgstr "" + +#: 11b7d713cbf540f3bb71a81d5625a950 of pybricks._common.Control.pid:1 +msgid "Gets or sets the PID values for position and speed control." +msgstr "" + +#: 87a5ded48eaa4f99b5de468b72cab46b of pybricks._common.Control.pid:5 +msgid "" +"Proportional position control constant. It is the feedback torque per " +"degree of error: µNm/deg." +msgstr "" + +#: 58a2faf57ec14ed0a98689f3967146d3 of pybricks._common.Control.pid:9 +msgid "" +"Integral position control constant. It is the feedback torque per " +"accumulated degree of error: µNm/(deg s)." +msgstr "" + +#: ab4ab578ac9c4bc1bd9629d77318107b of pybricks._common.Control.pid:12 +msgid "" +"Derivative position (or proportional speed) control constant. It is the " +"feedback torque per unit of speed: µNm/(deg/s)." +msgstr "" + +#: 35d2d99308cb4bdf9f4ec0ff18320675 of pybricks._common.Control.pid:16 +msgid "" +"Zone around the target where the error integral does not accumulate " +"errors." +msgstr "" + +#: eec47e3a19c247c6a107b3b98e10f132 of pybricks._common.Control.pid:19 +msgid "Maximum rate at which the error integral is allowed to grow." +msgstr "" + +#: ../../main/pupdevices/motor.rst:121 74fdb01a2aa3478996731610db88c1cb +msgid "" +".. image:: " +"/blockimg/pybricks_blockMotorConfigure_motor_target_tolerances.svg" +msgstr "" + +#: d95f6993307a496f9d8bf116dbe647c4 of +#: pybricks._common.Control.target_tolerances:1 +msgid "Gets or sets the tolerances that say when a maneuver is done." +msgstr "" + +#: fcd8aeb317a2444e946e4c69d4f85adb of +#: pybricks._common.Control.target_tolerances:5 +msgid "Allowed deviation from zero speed before motion is considered complete." +msgstr "" + +#: bba107e6d2fa42d1a6468beda1ab735c of +#: pybricks._common.Control.target_tolerances:8 +msgid "Allowed deviation from the target before motion is considered complete." +msgstr "" + +#: 81d794f50e414f0cbb135adb6e1b44d2 of +#: pybricks._common.Control.stall_tolerances:1 +msgid "Gets or sets stalling tolerances." +msgstr "" + +#: 677c68557ecc4f49abbd8a963bc42fe1 of +#: pybricks._common.Control.stall_tolerances:5 +msgid "" +"If the controller cannot reach this speed for some ``time`` even with " +"maximum actuation, it is stalled." +msgstr "" + +#: 57b2ebe753884530a2af98fba014502b of +#: pybricks._common.Control.stall_tolerances:9 +msgid "" +"How long the controller has to be below this minimum ``speed`` before we " +"say it is stalled." +msgstr "" + +#: ../../main/pupdevices/motor.rst:133 b356848b51484681a01cb09c92d2d3d7 +msgid "" +"Number of degrees that the motor turns to complete one degree at the " +"output of the gear train. This is the gear ratio determined from the " +"``gears`` argument when initializing the motor." +msgstr "" + +#: ../../main/pupdevices/motor.rst:139 0e8ff62f8816443f842e4e4877b72325 +msgid "" +"The :meth:`done`, :meth:`stalled` and :meth:`load` methods have been " +"moved." +msgstr "" + +#: 6d08a810d5914e10b43026ec5b2a9a0a of pybricks._common.Model.state:1 +msgid "" +"Gets the estimated angle, speed, current, and stall state of the motor, " +"using a simulation model that mimics the real motor. These estimates are " +"updated faster than the real measurements, which can be useful when " +"building your own PID controllers." +msgstr "" + +#: 9052378e3b1549dd9a2695c0465f3aac of pybricks._common.Model.state:6 +msgid "" +"For most applications it is better to used the *measured* :meth:`angle " +"`, :meth:`speed " +"`, :meth:`load " +"`, and :meth:`stall " +"` state instead." +msgstr "" + +#: 154e58dfe24f489fa80772cc7494a347 of pybricks._common.Model.state:12 +msgid "" +"Tuple with the estimated angle (deg), speed (deg/s), current (mA), and " +"stall state (``True`` or ``False``)." +msgstr "" + +#: 3680039bb0e84239bfb36a4cbe1c7deb of pybricks._common.Model.settings:1 +msgid "" +"Gets or sets model settings as a tuple of integers. If no arguments are " +"given, this will return the current values. This method is mainly used to" +" debug the motor model class. Changing these settings should not be " +"needed in user programs." +msgstr "" + +#: 098483be074d4da5a02d73b4b869fdbc of pybricks._common.Model.settings:8 +msgid "Tuple with `model settings`_." +msgstr "" + +#: ../../main/pupdevices/motor.rst:151 2672191934174a918bdee8e3a4b78717 +msgid "Initialization examples" +msgstr "" + +#: ../../main/pupdevices/motor.rst:154 98d94834bf3647dc85f6b6dfe43f9145 +msgid "Making the motor move back and forth" +msgstr "" + +#: ../../main/pupdevices/motor.rst:156 d57b46e02b8b427fa5c4466631e9efb5 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize a motor on port A.\n" +"example_motor = Motor(Port.A)\n" +"\n" +"# Make the motor run clockwise at 500 degrees per second.\n" +"example_motor.run(500)\n" +"\n" +"# Wait for three seconds.\n" +"wait(3000)\n" +"\n" +"# Make the motor run counterclockwise at 500 degrees per second.\n" +"example_motor.run(-500)\n" +"\n" +"# Wait for three seconds.\n" +"wait(3000)\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:160 6e29e952a05a4025aec5ccb64fed6d81 +msgid "Initializing multiple motors" +msgstr "" + +#: ../../main/pupdevices/motor.rst:162 04da7337822a42bda33667337c2dd8c7 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize motors on port A and B.\n" +"track_motor = Motor(Port.A)\n" +"gripper_motor = Motor(Port.B)\n" +"\n" +"# Make both motors run at 500 degrees per second.\n" +"track_motor.run(500)\n" +"gripper_motor.run(500)\n" +"\n" +"# Wait for three seconds.\n" +"wait(3000)\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:166 62fbc622faaf47888462394529744f8b +msgid "Setting the positive direction as counterclockwise" +msgstr "" + +#: ../../main/pupdevices/motor.rst:168 8f1f01120901400a855ccba5eb697803 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port, Direction\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize a motor on port A with the positive direction as " +"counterclockwise.\n" +"example_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE)\n" +"\n" +"# When we choose a positive speed value, the motor now goes " +"counterclockwise.\n" +"example_motor.run(500)\n" +"\n" +"# This is useful when your motor is mounted in reverse or upside down.\n" +"# By changing the positive direction, your script will be easier to read," +"\n" +"# because a positive value now makes your robot/mechanism go forward.\n" +"\n" +"# Wait for three seconds.\n" +"wait(3000)\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:172 7d8197ba1fb44e639f77b4d706a209e8 +msgid "Using gears" +msgstr "" + +#: ../../main/pupdevices/motor.rst:174 912271016d1540e685eae5c5f8f9cb5e +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port, Direction\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize a motor on port A with the positive direction as " +"counterclockwise.\n" +"# Also specify one gear train with a 12-tooth and a 36-tooth gear. The " +"12-tooth\n" +"# gear is attached to the motor axle. The 36-tooth gear is at the output " +"axle.\n" +"geared_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE, [12, 36])\n" +"\n" +"# Make the output axle run at 100 degrees per second. The motor speed\n" +"# is automatically increased to compensate for the gears.\n" +"geared_motor.run(100)\n" +"\n" +"# Wait for three seconds.\n" +"wait(3000)\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:178 20dcbb598c43481a99692484802a4cf7 +msgid "Measurement examples" +msgstr "" + +#: ../../main/pupdevices/motor.rst:181 fcb94d6c9d5b4c839cf53a81d7f063a5 +msgid "Measuring the angle and speed" +msgstr "" + +#: ../../main/pupdevices/motor.rst:183 d00564b993674a93aa331cc3d58aa07c +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize a motor on port A.\n" +"example_motor = Motor(Port.A)\n" +"\n" +"# Start moving at 300 degrees per second.\n" +"example_motor.run(300)\n" +"\n" +"# Display the angle and speed 50 times.\n" +"for i in range(100):\n" +"\n" +" # Read the angle (degrees) and speed (degrees per second).\n" +" angle = example_motor.angle()\n" +" speed = example_motor.speed()\n" +"\n" +" # Print the values.\n" +" print(angle, speed)\n" +"\n" +" # Wait some time so we can read what is displayed.\n" +" wait(200)\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:187 5ac86d47222346a4a9fe558695502d5f +msgid "Resetting the measured angle" +msgstr "" + +#: ../../main/pupdevices/motor.rst:189 8b57fc6e23c24c298dc0475ec95c6374 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"\n" +"# Initialize a motor on port A.\n" +"example_motor = Motor(Port.A)\n" +"\n" +"# Reset the angle to 0.\n" +"example_motor.reset_angle(0)\n" +"\n" +"# Reset the angle to 1234.\n" +"example_motor.reset_angle(1234)\n" +"\n" +"# Reset the angle to the absolute angle.\n" +"# This is only supported on motors that have\n" +"# an absolute encoder. For other motors, this\n" +"# will raise an error.\n" +"example_motor.reset_angle()\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:193 0c31f70142fc480da85630d30180851c +msgid "Getting the absolute angle" +msgstr "" + +#: ../../main/pupdevices/motor.rst:195 ba5d7180c4ef44288123ae525ff67370 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize a motor on port A.\n" +"example_motor = Motor(Port.A)\n" +"\n" +"while True:\n" +"\n" +" # Get the default angle value.\n" +" angle = example_motor.angle()\n" +"\n" +" # Get the angle between 0 and 360.\n" +" absolute_angle = example_motor.angle() % 360\n" +"\n" +" # Get the angle between -180 and 179.\n" +" wrapped_angle = (example_motor.angle() + 180) % 360 - 180\n" +"\n" +" # Print the results.\n" +" print(angle, absolute_angle, wrapped_angle)\n" +" wait(100)\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:200 3aa0cc92e19f4a149fbcad705b2e558f +msgid "Movement examples" +msgstr "" + +#: ../../main/pupdevices/motor.rst:203 50136d49e19742c4ab85ccd8690e87a4 +msgid "Basic usage of all run methods" +msgstr "" + +#: ../../main/pupdevices/motor.rst:205 dc16bed7ff77449d804ae027eded2bf5 +#, python-format +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize a motor on port A.\n" +"example_motor = Motor(Port.A)\n" +"\n" +"# Run at 500 deg/s and then stop by coasting.\n" +"print(\"Demo of run\")\n" +"example_motor.run(500)\n" +"wait(1500)\n" +"example_motor.stop()\n" +"wait(1500)\n" +"\n" +"# Run at 70% duty cycle (\"power\") and then stop by coasting.\n" +"print(\"Demo of dc\")\n" +"example_motor.dc(50)\n" +"wait(1500)\n" +"example_motor.stop()\n" +"wait(1500)\n" +"\n" +"# Run at 500 deg/s for two seconds.\n" +"print(\"Demo of run_time\")\n" +"example_motor.run_time(500, 2000)\n" +"wait(1500)\n" +"\n" +"# Run at 500 deg/s for 90 degrees.\n" +"print(\"Demo of run_angle\")\n" +"example_motor.run_angle(500, 90)\n" +"wait(1500)\n" +"\n" +"# Run at 500 deg/s back to the 0 angle\n" +"print(\"Demo of run_target to 0\")\n" +"example_motor.run_target(500, 0)\n" +"wait(1500)\n" +"\n" +"# Run at 500 deg/s back to the -90 angle\n" +"print(\"Demo of run_target to -90\")\n" +"example_motor.run_target(500, -90)\n" +"wait(1500)\n" +"\n" +"# Run at 500 deg/s until the motor stalls\n" +"print(\"Demo of run_until_stalled\")\n" +"example_motor.run_until_stalled(500)\n" +"print(\"Done\")\n" +"wait(1500)\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:209 c1206da3d6de492f91a03415f63452b9 +msgid "Stopping ongoing movements in different ways" +msgstr "" + +#: ../../main/pupdevices/motor.rst:211 586b178cea08480386ba3143b89f04b9 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize a motor on port A.\n" +"example_motor = Motor(Port.A)\n" +"\n" +"# Run at 500 deg/s and then stop by coasting.\n" +"example_motor.run(500)\n" +"wait(1500)\n" +"example_motor.stop()\n" +"wait(1500)\n" +"\n" +"# Run at 500 deg/s and then stop by braking.\n" +"example_motor.run(500)\n" +"wait(1500)\n" +"example_motor.brake()\n" +"wait(1500)\n" +"\n" +"# Run at 500 deg/s and then stop by holding.\n" +"example_motor.run(500)\n" +"wait(1500)\n" +"example_motor.hold()\n" +"wait(1500)\n" +"\n" +"# Run at 500 deg/s and then stop by running at 0 speed.\n" +"example_motor.run(500)\n" +"wait(1500)\n" +"example_motor.run(0)\n" +"wait(1500)\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:215 98bc6f56b5444209abe66df216a4abb5 +msgid "Using the ``then`` argument to change how a run command stops" +msgstr "" + +#: ../../main/pupdevices/motor.rst:217 98a061917b1a43bab9496e852337a5bf +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port, Stop\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize a motor on port A.\n" +"example_motor = Motor(Port.A)\n" +"\n" +"# By default, the motor holds the position. It keeps\n" +"# correcting the angle if you move it.\n" +"example_motor.run_angle(500, 360)\n" +"wait(1000)\n" +"\n" +"# This does exactly the same as above.\n" +"example_motor.run_angle(500, 360, then=Stop.HOLD)\n" +"wait(1000)\n" +"\n" +"# You can also brake. This applies some resistance\n" +"# but the motor does not move back if you move it.\n" +"example_motor.run_angle(500, 360, then=Stop.BRAKE)\n" +"wait(1000)\n" +"\n" +"# This makes the motor coast freely after it stops.\n" +"example_motor.run_angle(500, 360, then=Stop.COAST)\n" +"wait(1000)\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:221 6b2734775c6947d6a8a6e94c2c9b1407 +msgid "Stall examples" +msgstr "" + +#: ../../main/pupdevices/motor.rst:224 574796ba0f3f4e7ab88a659e94e1d0fa +msgid "Running a motor until a mechanical endpoint" +msgstr "" + +#: ../../main/pupdevices/motor.rst:226 0b1ad707a4a24af58f66797342c675b8 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"\n" +"# Initialize a motor on port A.\n" +"example_motor = Motor(Port.A)\n" +"\n" +"# We'll use a speed of 200 deg/s in all our commands.\n" +"speed = 200\n" +"\n" +"# Run the motor in reverse until it hits a mechanical stop.\n" +"# The duty_limit=30 setting means that it will apply only 30%\n" +"# of the maximum torque against the mechanical stop. This way,\n" +"# you don't push against it with too much force.\n" +"example_motor.run_until_stalled(-speed, duty_limit=30)\n" +"\n" +"# Reset the angle to 0. Now whenever the angle is 0, you know\n" +"# that it has reached the mechanical endpoint.\n" +"example_motor.reset_angle(0)\n" +"\n" +"# Now make the motor go back and forth in a loop.\n" +"# This will now work the same regardless of the\n" +"# initial motor angle, because we always start\n" +"# from the mechanical endpoint.\n" +"for count in range(10):\n" +" example_motor.run_target(speed, 180)\n" +" example_motor.run_target(speed, 90)\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:230 41031665553e432ba839806c630355e8 +msgid "Centering a steering mechanism" +msgstr "" + +#: ../../main/pupdevices/motor.rst:232 f4ca1df7e76e468db835577199f3c3a1 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize a motor on port A.\n" +"example_motor = Motor(Port.A)\n" +"\n" +"# Please have a look at the previous example first. This example\n" +"# finds two endspoints and then makes the middle the zero point.\n" +"\n" +"# The run_until_stalled gives us the angle at which it stalled.\n" +"# We want to know this value for both endpoints.\n" +"left_end = example_motor.run_until_stalled(-200, duty_limit=30)\n" +"right_end = example_motor.run_until_stalled(200, duty_limit=30)\n" +"\n" +"# We have just moved to the rightmost endstop. So, we can reset\n" +"# this angle to be half the distance between the two endpoints.\n" +"# That way, the middle corresponds to 0 degrees.\n" +"example_motor.reset_angle((right_end - left_end) / 2)\n" +"\n" +"# From now on we can simply run towards zero to reach the middle.\n" +"example_motor.run_target(200, 0)\n" +"\n" +"wait(1000)\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:237 13daa8e8b7c64b1fba5062b1d876cdf5 +msgid "Parallel movement examples" +msgstr "" + +#: ../../main/pupdevices/motor.rst:240 6bc51b1da045411ebbb1dffe0bc8514e +msgid "Using the ``wait`` argument to run motors in parallel" +msgstr "" + +#: ../../main/pupdevices/motor.rst:242 ec16cdf1e16f4e2aae4a5f52010a46b6 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"\n" +"# Initialize motors on port A and B.\n" +"track_motor = Motor(Port.A)\n" +"gripper_motor = Motor(Port.B)\n" +"\n" +"# Make the track motor start moving,\n" +"# but don't wait for it to finish.\n" +"track_motor.run_angle(500, 360, wait=False)\n" +"\n" +"# Now make the gripper motor rotate. This\n" +"# means they move at the same time.\n" +"gripper_motor.run_angle(200, 720)\n" +msgstr "" + +#: ../../main/pupdevices/motor.rst:246 c908969c638d4e83b2504b878f3611ec +msgid "Waiting for two parallel actions to complete" +msgstr "" + +#: ../../main/pupdevices/motor.rst:248 d4f142839d904c00829a41cc0255e054 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize motors on port A and B.\n" +"track_motor = Motor(Port.A)\n" +"gripper_motor = Motor(Port.B)\n" +"\n" +"# Make both motors perform an action with wait=False\n" +"track_motor.run_angle(500, 360, wait=False)\n" +"gripper_motor.run_angle(200, 720, wait=False)\n" +"\n" +"# While one or both of the motors are not done yet,\n" +"# do something else. In this example, just wait.\n" +"while not track_motor.done() or not gripper_motor.done():\n" +" wait(10)\n" +"\n" +"print(\"Both motors are done!\")\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/pfmotor.po b/doc/locales/de/LC_MESSAGES/pupdevices/pfmotor.po new file mode 100644 index 00000000..063a83b5 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/pfmotor.po @@ -0,0 +1,185 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/pfmotor.rst:4 48d3b9be899e420b82e0d8140063e0d3 +msgid "Power Functions" +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst:6 c074f2b8e49f4d9aaba9ef5d46818707 +msgid "" +"The :class:`ColorDistanceSensor " +"` can send infrared signals to " +"control Power Functions infrared receivers. You can use this technique to" +" control medium, large, extra large, and train motors. The infrared range" +" is limited to about 30 cm, depending on the angle and ambient " +"conditions." +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst:12 e406302c959f4287a26bc3c5d4557005 +msgid ".. image:: ../../main/cad/output/pupdevice-pfmotor.png" +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst:15 425315c703534b1ebdda406414538255 +msgid "" +"Powered Up :class:`ColorDistanceSensor " +"` (left), Power Functions " +"infrared receiver (middle), and a Power Functions motor (right). Here, " +"the receiver uses channel 1 with a motor on the red port." +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst:21 051b19ae09d541dca7f173a4912c0f8e +msgid ".. image:: /blockimg/pybricks_variables_set_pf_motor.svg" +msgstr "" + +#: 78d6c9fe3a714831a7ca25178b844b78 of pybricks.pupdevices.PFMotor:1 +msgid "" +"Control Power Functions motors with the infrared functionality of the " +":class:`ColorDistanceSensor `." +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst 6184116737c44d25811cfe7fb68d71df +#: ef4db882318049729875b02bf0cdf989 +msgid "Parameters" +msgstr "" + +#: 49760f1ddd9845239e8c7bda5cd5ce9a of pybricks.pupdevices.PFMotor:4 +msgid "Sensor object." +msgstr "" + +#: 7c9fb9bea92b4f65ac04c76ac0b851c3 of pybricks.pupdevices.PFMotor:6 +msgid "Channel number of the receiver: ``1``, ``2``, ``3``, or ``4``." +msgstr "" + +#: 069aa0b31a0a462eb0c2baaa17c86564 of pybricks.pupdevices.PFMotor:8 +msgid "" +"Color marker on the receiver: :class:`Color.BLUE <.parameters.Color>` or " +":class:`Color.RED <.parameters.Color>`" +msgstr "" + +#: f0bea0029aac4463a400f5efad601ec9 of pybricks.pupdevices.PFMotor:12 +msgid "" +"Which direction the motor should turn when you give a positive duty cycle" +" value." +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst:27 c7bb789126e4405e82abe23b51958a70 +msgid ".. image:: /blockimg/pybricks_blockMotorDuty_PFMotor.svg" +msgstr "" + +#: 396b4f23aef8438186de29dd4f89956a of pybricks.pupdevices.PFMotor.dc:1 +msgid "Rotates the motor at a given duty cycle (also known as \"power\")." +msgstr "" + +#: 0b6ed50334d14f21b3cdcd2b9bc8fd7d of pybricks.pupdevices.PFMotor.dc:3 +msgid "The duty cycle (-100.0 to 100)." +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst:32 ecfe3a61bbca4b53a8ae2d0e55728ccc +msgid ".. image:: /blockimg/pybricks_blockMotorStop_PFMotor_coast.svg" +msgstr "" + +#: 05161062ca23401aa1327f31c2199773 of pybricks.pupdevices.PFMotor.stop:1 +msgid "Stops the motor and lets it spin freely." +msgstr "" + +#: e0c92215f82b46ee80bc1cc1985dd814 of pybricks.pupdevices.PFMotor.stop:3 +msgid "The motor gradually stops due to friction." +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst:37 b9fb2d44f9d249b2b5d7cc8c7569d790 +msgid ".. image:: /blockimg/pybricks_blockMotorStop_PFMotor_brake.svg" +msgstr "" + +#: 8ea4ef0f7fd540e19fcfb6897294b2f8 of pybricks.pupdevices.PFMotor.brake:1 +msgid "Passively brakes the motor." +msgstr "" + +#: 59133e8570dd41b2bcfb0324ea66964f of pybricks.pupdevices.PFMotor.brake:3 +msgid "" +"The motor stops due to friction, plus the voltage that is generated while" +" the motor is still moving." +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst:43 0ebbce4f80094c8b8b19e1337ef85756 +msgid "Examples" +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst:46 08cc3d3da7e849949a20201bd32ed626 +msgid "Control a Power Functions motor" +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst:48 363bc700f7ae430095ee9f969a95d9d9 +msgid "" +"from pybricks.pupdevices import ColorDistanceSensor, PFMotor\n" +"from pybricks.parameters import Port, Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorDistanceSensor(Port.B)\n" +"\n" +"# Initialize a motor on channel 1, on the red output.\n" +"motor = PFMotor(sensor, 1, Color.RED)\n" +"\n" +"# Rotate and then stop.\n" +"motor.dc(100)\n" +"wait(1000)\n" +"motor.stop()\n" +"wait(1000)\n" +"\n" +"# Rotate the other way at half speed, and then stop.\n" +"motor.dc(-50)\n" +"wait(1000)\n" +"motor.stop()\n" +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst:52 d8324bd195f94de4a025925231c31c00 +msgid "Controlling multiple Power Functions motors" +msgstr "" + +#: ../../main/pupdevices/pfmotor.rst:54 936f959aa2d3442886a1bbb4b8963adf +msgid "" +"from pybricks.pupdevices import ColorDistanceSensor, PFMotor\n" +"from pybricks.parameters import Port, Color, Direction\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"sensor = ColorDistanceSensor(Port.B)\n" +"\n" +"# You can use multiple motors on different channels.\n" +"arm = PFMotor(sensor, 1, Color.BLUE)\n" +"wheel = PFMotor(sensor, 4, Color.RED, Direction.COUNTERCLOCKWISE)\n" +"\n" +"# Accelerate both motors. Only these values are available.\n" +"# Other values will be rounded down to the nearest match.\n" +"for duty in [15, 30, 45, 60, 75, 90, 100]:\n" +" arm.dc(duty)\n" +" wheel.dc(duty)\n" +" wait(1000)\n" +"\n" +"# To make the signal more reliable, there is a short\n" +"# pause between commands. So, they change speed and\n" +"# stop at a slightly different time.\n" +"\n" +"# Brake both motors.\n" +"arm.brake()\n" +"wheel.brake()\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/remote.po b/doc/locales/de/LC_MESSAGES/pupdevices/remote.po new file mode 100644 index 00000000..5111151d --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/remote.po @@ -0,0 +1,324 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/remote.rst:4 f0e0e64050454b91a4cf2ad05c2be276 +msgid "Remote Control" +msgstr "" + +#: ../../main/pupdevices/remote.rst:6 fa580a515c2f483090e90eaa921cfe1b +msgid ".. image:: ../../main/cad/output/pupdevice-remote.png" +msgstr "" + +#: ../../main/pupdevices/remote.rst:9 1c9285cc2a2041748ce07238adb583a1 +msgid ".. image:: /blockimg/pybricks_variables_set_remote_connect_any.svg" +msgstr "" + +#: ../../main/pupdevices/remote.rst:11 ../../main/pupdevices/remote.rst:87 +#: 46aa9d0a3e6c47a0bc4d4807c9eeb529 e0e39ad5acfa43afa46eb2b0b08dda13 +msgid ".. image:: /blockimg/pybricks_variables_set_remote_connect_name.svg" +msgstr "" + +#: 5e2f6c2d3eff49e08c9eaaa02cb8db7e of pybricks.pupdevices.Remote:1 +msgid "LEGO® Powered Up Bluetooth Remote Control." +msgstr "" + +#: 93324689865c4afc88648c42bcd8b514 of pybricks.pupdevices.Remote:3 +msgid "" +"When you instantiate this class, the hub will search for a remote and " +"connect automatically." +msgstr "" + +#: 01330ca69ec34ec48698e6176b3a63b2 of pybricks.pupdevices.Remote:6 +msgid "" +"The remote must be on and ready for a connection, as indicated by a white" +" blinking light." +msgstr "" + +#: ../../main/pupdevices/remote.rst 2e4b0f14c5e042269911a579bc604f53 +#: 5ea689d989d246acac496fd687d5f406 a04472f33c5c4fc49e974f55a1d9dcbc +msgid "Parameters" +msgstr "" + +#: 0d458af3ec7041c591380af8509b7786 of pybricks.pupdevices.Remote:9 +msgid "" +"Bluetooth name of the remote. If no name is given, the hub connects to " +"the first remote that it finds." +msgstr "" + +#: 1f912845e84f40429cdb4e5d2d017a55 of pybricks.pupdevices.Remote:12 +msgid "How long to search for the remote." +msgstr "" + +#: 15bee54782484f029aa179f64fe868d6 of pybricks.pupdevices.Remote.name:1 +msgid "name(name) name() -> str" +msgstr "" + +#: 483f14355a484e64845c2df016049dd9 of pybricks.pupdevices.Remote.name:4 +msgid "Sets or gets the Bluetooth name of the remote." +msgstr "" + +#: 65512cd9853f47b4bb06bec6c3b17e0f of pybricks.pupdevices.Remote.name:6 +msgid "" +"New Bluetooth name of the remote. If no name is given, this method " +"returns the current name." +msgstr "" + +#: ../../main/pupdevices/remote.rst:19 ../../main/pupdevices/remote.rst:23 +#: 02b2c204439d470589c0e83c592e90f5 cb0256f07ef44cf3b776a9149675d7a1 +msgid ".. image:: /blockimg/pybricks_blockLightOnColor_remote_on.svg" +msgstr "" + +#: f06bd26a02e046d5bbcc93dd5e1878a9 of pybricks._common.ExternalColorLight.on:1 +msgid "Turns on the light at the specified color." +msgstr "" + +#: a82c76af3f2b4247a0c4c35e36a82d27 of pybricks._common.ExternalColorLight.on:3 +msgid "Color of the light." +msgstr "" + +#: db3e4e7b24ef4911bd5279253c88acad of +#: pybricks._common.ExternalColorLight.off:1 +msgid "Turns off the light." +msgstr "" + +#: ../../main/pupdevices/remote.rst:27 2e2884ce9b4e4956a4a896c665f6e862 +msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_Remote.svg" +msgstr "" + +#: 0a7aaece67a14169a7ddd690260cfc82 of pybricks._common.Keypad.pressed:1 +msgid "Checks which buttons are currently pressed." +msgstr "" + +#: ../../main/pupdevices/remote.rst d48d6d7a5fbb47f3b6f3c2f00200cd6c +msgid "Returns" +msgstr "" + +#: 4ae3850e73234b79ad555bb4f2283770 of pybricks._common.Keypad.pressed:3 +msgid "Set of pressed buttons." +msgstr "" + +#: b0c876790c0944659f1837a70ede0537 of pybricks.pupdevices.Remote.disconnect:1 +msgid "Disconnects the remote from the hub." +msgstr "" + +#: ../../main/pupdevices/remote.rst:34 8a0bb617af254260a863a0cbb7d37e81 +msgid "Examples" +msgstr "" + +#: ../../main/pupdevices/remote.rst:37 efaa3456c2f34efb9cb794be711d04f9 +msgid "Checking which buttons are pressed" +msgstr "" + +#: ../../main/pupdevices/remote.rst:39 bcac3633d179480faa127692d2b14ec7 +msgid "" +"from pybricks.pupdevices import Remote\n" +"from pybricks.parameters import Button\n" +"from pybricks.tools import wait\n" +"\n" +"# Connect to the remote.\n" +"my_remote = Remote()\n" +"\n" +"while True:\n" +" # Check which buttons are pressed.\n" +" pressed = my_remote.buttons.pressed()\n" +"\n" +" # Show the result.\n" +" print(\"pressed:\", pressed)\n" +"\n" +" # Check a specific button.\n" +" if Button.CENTER in pressed:\n" +" print(\"You pressed the center button!\")\n" +"\n" +" # Wait so we can see the result.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/pupdevices/remote.rst:43 3ecdc699aba0411099b2fe5be63e0841 +msgid "Changing the remote light color" +msgstr "" + +#: ../../main/pupdevices/remote.rst:45 88c26497e1fe4bdabed3d7baa3aed524 +msgid "" +"from pybricks.pupdevices import Remote\n" +"from pybricks.parameters import Color\n" +"from pybricks.tools import wait\n" +"\n" +"# Connect to the remote.\n" +"remote = Remote()\n" +"\n" +"while True:\n" +" # Set the color to red.\n" +" remote.light.on(Color.RED)\n" +" wait(1000)\n" +"\n" +" # Set the color to blue.\n" +" remote.light.on(Color.BLUE)\n" +" wait(1000)\n" +msgstr "" + +#: ../../main/pupdevices/remote.rst:49 43c646d071724ca78ebca8ea10c4eb16 +msgid "Changing the light color using the buttons" +msgstr "" + +#: ../../main/pupdevices/remote.rst:51 b0ed866559c248d1994416107bc4e088 +msgid "" +"from pybricks.pupdevices import Remote\n" +"from pybricks.parameters import Button, Color\n" +"\n" +"\n" +"def button_to_color(buttons):\n" +"\n" +" # Return a color depending on the button.\n" +" if Button.LEFT_PLUS in buttons:\n" +" return Color.RED\n" +" if Button.LEFT_MINUS in buttons:\n" +" return Color.GREEN\n" +" if Button.LEFT in buttons:\n" +" return Color.ORANGE\n" +" if Button.RIGHT_PLUS in buttons:\n" +" return Color.BLUE\n" +" if Button.RIGHT_MINUS in buttons:\n" +" return Color.YELLOW\n" +" if Button.RIGHT in buttons:\n" +" return Color.CYAN\n" +" if Button.CENTER in buttons:\n" +" return Color.VIOLET\n" +"\n" +" # Return no color by default.\n" +" return Color.NONE\n" +"\n" +"\n" +"# Connect to the remote.\n" +"remote = Remote()\n" +"\n" +"while True:\n" +" # Wait until a button is pressed.\n" +" pressed = ()\n" +" while not pressed:\n" +" pressed = remote.buttons.pressed()\n" +"\n" +" # Convert button code to color.\n" +" color = button_to_color(pressed)\n" +"\n" +" # Set the remote light color.\n" +" remote.light.on(color)\n" +"\n" +" # Wait until all buttons are released.\n" +" while pressed:\n" +" pressed = remote.buttons.pressed()\n" +msgstr "" + +#: ../../main/pupdevices/remote.rst:56 921787da2acd43b39adb8fac9f679b68 +msgid "Using the timeout setting" +msgstr "" + +#: ../../main/pupdevices/remote.rst:58 59a2596e624543dd8dcf1bba87c9db43 +msgid "" +"You can use the ``timeout`` argument to change for how long the hub " +"searches for the remote. If you choose ``None``, it will search forever." +msgstr "" + +#: ../../main/pupdevices/remote.rst:61 83b9e5c0f6d74d47b147e2f60c1c0e8c +msgid "" +"from pybricks.pupdevices import Remote\n" +"\n" +"# Connect to any remote. Search forever until we find one.\n" +"my_remote = Remote(timeout=None)\n" +"\n" +"print(\"Connected!\")\n" +msgstr "" + +#: ../../main/pupdevices/remote.rst:65 2bed4c454f44483faad1f2930f07df57 +msgid "" +"If the remote was not found within the specified ``timeout``, an " +":ref:`OSError ` is raised. You can catch this exception to run " +"other code if the remote is not available." +msgstr "" + +#: ../../main/pupdevices/remote.rst:70 ba3508a52330481182fb0faa2a7e33a5 +msgid "" +"from pybricks.pupdevices import Remote\n" +"\n" +"try:\n" +" # Search for a remote for 5 seconds.\n" +" my_remote = Remote(timeout=5000)\n" +"\n" +" print(\"Connected!\")\n" +"\n" +" # Here you can write code that uses the remote.\n" +"\n" +"except OSError:\n" +"\n" +" print(\"Could not find the remote.\")\n" +"\n" +" # Here you can make your robot do something\n" +" # without the remote.\n" +msgstr "" + +#: ../../main/pupdevices/remote.rst:74 23472b1ddc374261a71bebe8baed91ec +msgid "Changing the name of the remote" +msgstr "" + +#: ../../main/pupdevices/remote.rst:76 aef5e611ac7040169d7674af2c08e3ba +msgid "" +"You can change the Bluetooth name of the remote. The factory default name" +" is ``Handset``." +msgstr "" + +#: ../../main/pupdevices/remote.rst:79 fceb2db5e0314bc88cfe9a5ae3ef280e +msgid ".. image:: /blockimg/pybricks_variables_set_remote_connect_rename.svg" +msgstr "" + +#: ../../main/pupdevices/remote.rst:81 05d2ad8e0068430dacf2d4d64d8d3de4 +msgid "" +"from pybricks.pupdevices import Remote\n" +"\n" +"# Connect to any remote.\n" +"my_remote = Remote()\n" +"\n" +"# Print the current name of the remote.\n" +"print(my_remote.name())\n" +"\n" +"# Choose a new name.\n" +"my_remote.name(\"truck2\")\n" +"\n" +"print(\"Done!\")\n" +msgstr "" + +#: ../../main/pupdevices/remote.rst:84 7c58825b54be44299649d76cacd0dc71 +msgid "" +"You can specify this name when connecting to the remote. This lets you " +"pick the right one if multiple remotes are nearby." +msgstr "" + +#: ../../main/pupdevices/remote.rst:89 ce24082f4da3494b9763582097f72c78 +msgid "" +"from pybricks.pupdevices import Remote\n" +"from pybricks.tools import wait\n" +"\n" +"# Connect to a remote called truck2.\n" +"truck_remote = Remote(\"truck2\", timeout=None)\n" +"\n" +"print(\"Connected!\")\n" +"\n" +"wait(2000)\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/tiltsensor.po b/doc/locales/de/LC_MESSAGES/pupdevices/tiltsensor.po new file mode 100644 index 00000000..098ddf1e --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/tiltsensor.po @@ -0,0 +1,93 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/tiltsensor.rst:4 c9562448546c460eb3ed1df5c8c221a5 +msgid "Tilt Sensor" +msgstr "" + +#: ../../main/pupdevices/tiltsensor.rst:6 052861e555e14fed95e1df9c15ac681f +msgid ".. image:: ../../main/cad/output/pupdevice-tilt.png" +msgstr "" + +#: ../../main/pupdevices/tiltsensor.rst:9 421b5334dd094807af3a724ce9d34c6c +msgid ".. image:: /blockimg/pybricks_variables_set_tilt_sensor.svg" +msgstr "" + +#: adbf87902bc549acb95f355c077242a8 of pybricks.pupdevices.TiltSensor:1 +msgid "LEGO® Powered Up Tilt Sensor." +msgstr "" + +#: ../../main/pupdevices/tiltsensor.rst 75a56c42abca4ceba95d7261ae29bfff +msgid "Parameters" +msgstr "" + +#: a6d12a874e804cb1b626ef146d08c02e of pybricks.pupdevices.TiltSensor:3 +msgid "Port to which the sensor is connected." +msgstr "" + +#: ../../main/pupdevices/tiltsensor.rst:14 bed39b3849e04332a6fbeff8bc866666 +msgid ".. image:: /blockimg/pybricks_blockTilt_TiltSensor_imu.tilt.pitch.svg" +msgstr "" + +#: ../../main/pupdevices/tiltsensor.rst:16 1776f9cd8f85465bbebb8ba31e07cbce +msgid ".. image:: /blockimg/pybricks_blockTilt_TiltSensor_imu.tilt.roll.svg" +msgstr "" + +#: 62bc16290d844be5947b8a188ac333e3 of pybricks.pupdevices.TiltSensor.tilt:1 +msgid "Measures the tilt relative to the horizontal plane." +msgstr "" + +#: ../../main/pupdevices/tiltsensor.rst 479c1806a8f1470581731a0c2a441078 +msgid "Returns" +msgstr "" + +#: 90b226ae20d4458ca77ba164fc4a329e of pybricks.pupdevices.TiltSensor.tilt:3 +msgid "Tuple of pitch and roll angles." +msgstr "" + +#: ../../main/pupdevices/tiltsensor.rst:22 44796d9c19ee49f88bcc74a7a57eb846 +msgid "Examples" +msgstr "" + +#: ../../main/pupdevices/tiltsensor.rst:25 66d4f2c9e3004f49905e0149839a473b +msgid "Measuring pitch and roll" +msgstr "" + +#: ../../main/pupdevices/tiltsensor.rst:27 c0d0ce12d1eb4ca3a8570d12f263bef1 +msgid "" +"from pybricks.pupdevices import TiltSensor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"accel = TiltSensor(Port.A)\n" +"\n" +"while True:\n" +" # Read the tilt angles relative to the horizontal plane.\n" +" pitch, roll = accel.tilt()\n" +"\n" +" # Print the values\n" +" print(\"Pitch:\", pitch, \"Roll:\", roll)\n" +"\n" +" # Wait some time so we can read what is printed.\n" +" wait(100)\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/ultrasonicsensor.po b/doc/locales/de/LC_MESSAGES/pupdevices/ultrasonicsensor.po new file mode 100644 index 00000000..0b5a7763 --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/pupdevices/ultrasonicsensor.po @@ -0,0 +1,203 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/pupdevices/ultrasonicsensor.rst:4 +#: 0523b3877e134c34a011570b12c92569 +msgid "Ultrasonic Sensor" +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:6 +#: 61abbcdea0704c55b17f47c85b2cd0b7 +msgid ".. image:: ../../main/diagrams/sensor_ultrasonic_lights.png" +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:9 +#: 8253413c6a9b4c259a494451fa4ea8a9 +msgid ".. image:: /blockimg/pybricks_variables_set_ultrasonic_sensor.svg" +msgstr "" + +#: 891eb8dd7b2d42f79b27d14391aae1e2 of pybricks.pupdevices.UltrasonicSensor:1 +msgid "LEGO® SPIKE Color Sensor." +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst 18ea6a4e1fcd44588de838719cd128cc +#: 3ea086ffa47c45449963f96a637ef826 +msgid "Parameters" +msgstr "" + +#: 45071fa53eaa4c589cef01a0fa34f864 of pybricks.pupdevices.UltrasonicSensor:3 +msgid "Port to which the sensor is connected." +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:14 +#: d086d3f5a0734fba9f005e0072938d53 +msgid ".. image:: /blockimg/pybricks_blockDistance_UltrasonicSensor.svg" +msgstr "" + +#: 7b37634be29b40058715073df19d521e of +#: pybricks.pupdevices.UltrasonicSensor.distance:1 +msgid "" +"Measures the distance between the sensor and an object using ultrasonic " +"sound waves." +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst 073fa23bdbfc4fb7b3ffa5fc6fd3760a +#: 2ee882fcf42b4276b2536d81d018d0b5 +msgid "Returns" +msgstr "" + +#: 521a3171f84c4ee095f6938913a7aea2 of +#: pybricks.pupdevices.UltrasonicSensor.distance:4 +msgid "Measured distance. If no valid distance was measured, it returns 2000 mm." +msgstr "" + +#: 0b9d59fb417e4915933a3d9865184074 of +#: pybricks.pupdevices.UltrasonicSensor.presence:1 +msgid "" +"Checks for the presence of other ultrasonic sensors by detecting " +"ultrasonic sounds." +msgstr "" + +#: a9506b94d7234207838aac2c36a81b9f of +#: pybricks.pupdevices.UltrasonicSensor.presence:4 +msgid "``True`` if ultrasonic sounds are detected, ``False`` if not." +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:21 +#: 06dc0fc841a348188f01df3a318d981f +msgid "Built-in lights" +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:22 +#: cad234500cfc43dbb96b39651f01898f +msgid "" +"This sensor has 4 built-in lights. You can adjust the brightness of each " +"light." +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:25 +#: 36054dd7905d415983e0e93d9bdfca08 +msgid ".. image:: /blockimg/pybricks_blockLightOn_ultrasonicsensor_on.svg" +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:27 +#: 798df2ce1f86438a9b1ac68f53cd77ef +msgid ".. image:: /blockimg/pybricks_blockLightOn_ultrasonicsensor_on_list.svg" +msgstr "" + +#: 22b80f43a4cf44c2866d44a7b569f767 of pybricks._common.LightArray4.on:1 +msgid "Turns on the lights at the specified brightness." +msgstr "" + +#: 0d1c5981d5b344f7a17a24f51b3a229e of pybricks._common.LightArray4.on:3 +msgid "" +"Use a single value to set the brightness of all lights at the same time. " +"Use a tuple of four values to set the brightness of each light " +"individually. The order of the lights is shown in the image above." +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:32 +#: b90e90bae7494335bb4c4507054a7531 +msgid ".. image:: /blockimg/pybricks_blockLightOn_ultrasonicsensor_off.svg" +msgstr "" + +#: 13312ea679db46a0b1ee582056143d18 of pybricks._common.LightArray3.off:1 +msgid "Turns off all the lights." +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:37 +#: f953f146d5c64a1f85fae0a76bab8df2 +msgid "Examples" +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:40 +#: 0d6cdee786b248418376fb165bf84829 +msgid "Measuring distance and switching on the lights" +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:42 +#: b72d6464425648c38f6e3f18c7405f49 +msgid "" +"from pybricks.pupdevices import UltrasonicSensor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait\n" +"\n" +"# Initialize the sensor.\n" +"eyes = UltrasonicSensor(Port.A)\n" +"\n" +"while True:\n" +" # Print the measured distance.\n" +" print(eyes.distance())\n" +"\n" +" # If an object is detected closer than 500mm:\n" +" if eyes.distance() < 500:\n" +" # Turn the lights on.\n" +" eyes.lights.on(100)\n" +" else:\n" +" # Turn the lights off.\n" +" eyes.lights.off()\n" +"\n" +" # Wait some time so we can read what is printed.\n" +" wait(100)\n" +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:46 +#: ae33bff6bb144e47b3d165ae1f235e19 +msgid "Gradually change the brightness of the lights" +msgstr "" + +#: ../../main/pupdevices/ultrasonicsensor.rst:48 +#: b2623ae10c894ed9885ca34839944ac8 +msgid "" +"from pybricks.pupdevices import UltrasonicSensor\n" +"from pybricks.parameters import Port\n" +"from pybricks.tools import wait, StopWatch\n" +"\n" +"from umath import pi, sin\n" +"\n" +"# Initialize the sensor.\n" +"eyes = UltrasonicSensor(Port.A)\n" +"\n" +"# Initialize a timer.\n" +"watch = StopWatch()\n" +"\n" +"# We want one full light cycle to last three seconds.\n" +"PERIOD = 3000\n" +"\n" +"while True:\n" +" # The phase is where we are in the unit circle now.\n" +" phase = watch.time() / PERIOD * 2 * pi\n" +"\n" +" # Each light follows a sine wave with a mean of 50, with an amplitude" +" of 50.\n" +" # We offset this sine wave by 90 degrees for each light, so that all " +"the\n" +" # lights do something different.\n" +" brightness = [sin(phase + offset * pi / 2) * 50 + 50 for offset in " +"range(4)]\n" +"\n" +" # Set the brightness values for all lights.\n" +" eyes.lights.on(brightness)\n" +"\n" +" # Wait some time.\n" +" wait(50)\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/robotics.po b/doc/locales/de/LC_MESSAGES/robotics.po new file mode 100644 index 00000000..6d53756e --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/robotics.po @@ -0,0 +1,741 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/robotics.rst:2 67a6122f52cf4adaba3951c4eb016803 +msgid ":mod:`robotics ` -- Robotics and drive bases" +msgstr "" + +#: aeb657ed81d4414cbae88c52cd1ffd9c of pybricks.robotics:1 +msgid "Robotics module for the Pybricks API." +msgstr "" + +#: ../../main/robotics.rst:9 e6a0ffeebfb14331b55ce62f5e57c857 +msgid ".. image:: /blockimg/pybricks_variables_set_drive_base.svg" +msgstr "" + +#: f1c37c2818734a788359af485d7907bb of pybricks.robotics.DriveBase:1 +msgid "" +"A robotic vehicle with two powered wheels and an optional support wheel " +"or caster." +msgstr "" + +#: aae3686b77f54266a86b9c7cf368dc15 of pybricks.robotics.DriveBase:4 +msgid "" +"By specifying the dimensions of your robot, this class makes it easy to " +"drive a given distance in millimeters or turn by a given number of " +"degrees." +msgstr "" + +#: 1a83c784ee3e4af1a593c1c301e6eb80 of pybricks.robotics.DriveBase:8 +msgid "" +"**Positive** distances, radii, or drive speeds mean driving **forward**. " +"**Negative** means **backward**." +msgstr "" + +#: 094141807a37437f9e2a6074ed9ffbf9 of pybricks.robotics.DriveBase:11 +msgid "" +"**Positive** angles and turn rates mean turning **right**. **Negative** " +"means **left**. So when viewed from the top, positive means clockwise and" +" negative means counterclockwise." +msgstr "" + +#: 9356ff0092e4449eb76f5877efeb9aca of pybricks.robotics.DriveBase:15 +msgid "" +"See the `measuring`_ section for tips to measure and adjust the diameter " +"and axle track values." +msgstr "" + +#: ../../main/robotics.rst 1ff2a1cebd154167b4de00906dec0261 +#: 2156d33038a14a24a51d1d7713f30010 3a2d482155d54dc99a25675438a7cb6a +#: 3e4e6c72aec246338e26d2f32642309a 518854794c7948609c1fc50440bf7198 +#: 54177ffbcdd644ad9666ed7cf2a78d4b 59b43c4f03334508958cf76ae6d92403 +#: 6b0e5e8c81714a9dbe72df571c374651 7b7e0c4b4dd4443d83a8dd41ab6c0067 +#: c898b301656b42c89115a9707c389148 fabbeecee190469a8b566d09ef018db0 +msgid "Parameters" +msgstr "" + +#: a08f90fdddd1402c992807b3507eaa5c of pybricks.robotics.DriveBase:18 +msgid "The motor that drives the left wheel." +msgstr "" + +#: 7259798b96934719a444a88ed0da2832 of pybricks.robotics.DriveBase:20 +msgid "The motor that drives the right wheel." +msgstr "" + +#: 428a2cbff9904fd1a707b006c6637e6e of pybricks.robotics.DriveBase:22 +msgid "Diameter of the wheels." +msgstr "" + +#: 98d1fd3f49e34e099fb66c001f935b6f of pybricks.robotics.DriveBase:24 +msgid "Distance between the points where both wheels touch the ground." +msgstr "" + +#: ../../main/robotics.rst:15 2020c530918c4d299fbb9128ed933f5f +msgid "Driving by a given distance or angle" +msgstr "" + +#: ../../main/robotics.rst:16 84cfdfc57e824872a501b25520db1502 +msgid "" +"Use the following commands to drive a given distance, or turn by a given " +"angle." +msgstr "" + +#: ../../main/robotics.rst:19 fede06de20704cf5b77d5a14f6468582 +msgid "" +"This is measured using the internal rotation sensors. Because wheels may " +"slip while moving, the traveled distance and angle are only estimates." +msgstr "" + +#: ../../main/robotics.rst:22 9fc93a2677564a15bb4daa39d9714cab +msgid "" +".. image:: " +"/blockimg/pybricks_blockDriveBaseDrive_drivebase_drive_straight.svg" +msgstr "" + +#: 9e0792a9b54d413ea7c0f5268e4588a4 of pybricks.robotics.DriveBase.straight:1 +msgid "Drives straight for a given distance and then stops." +msgstr "" + +#: f96d93b070124176ade85b2f51b8f862 of pybricks.robotics.DriveBase.straight:3 +msgid "Distance to travel" +msgstr "" + +#: 2644eb977ce0460abb3f61890022eba0 38e5e131734f4649b54e622aff350a9c +#: b40ac852a92349398b99e07561aec0c3 of pybricks.robotics.DriveBase.curve:7 +#: pybricks.robotics.DriveBase.straight:5 pybricks.robotics.DriveBase.turn:5 +msgid "What to do after coming to a standstill." +msgstr "" + +#: 077403a379c146829d7865390bc4b64a 34ec0f9d80204be588362e53d9138bf9 +#: 4e3ccabae7434fb295b20ebd356edd57 of pybricks.robotics.DriveBase.curve:9 +#: pybricks.robotics.DriveBase.straight:7 pybricks.robotics.DriveBase.turn:7 +msgid "" +"Wait for the maneuver to complete before continuing with the rest of the " +"program." +msgstr "" + +#: ../../main/robotics.rst:26 718ae398145e4dfab89e8e77365f4d1f +msgid ".. image:: /blockimg/pybricks_blockDriveBaseDrive_drivebase_drive_turn.svg" +msgstr "" + +#: 88cd9dc6a920411ca8103886a028ace2 of pybricks.robotics.DriveBase.turn:1 +msgid "Turns in place by a given angle and then stops." +msgstr "" + +#: 04f646f861e945398b845ee7f82c4ec3 of pybricks.robotics.DriveBase.turn:3 +msgid "Angle of the turn." +msgstr "" + +#: ../../main/robotics.rst:30 6d101f98c960443fa9efbaf8dc78e0ad +msgid "" +".. image:: " +"/blockimg/pybricks_blockDriveBaseDrive_drivebase_drive_curve.svg" +msgstr "" + +#: 6e96166bce654ff99171f1eb136af74d of pybricks.robotics.DriveBase.curve:1 +msgid "Drives an arc along a circle of a given radius, by a given angle." +msgstr "" + +#: 44846e5e845e45bba7cdd4d55a465216 of pybricks.robotics.DriveBase.curve:3 +msgid "Radius of the circle." +msgstr "" + +#: ae87411196364d8bbf0e583616900e6a of pybricks.robotics.DriveBase.curve:5 +msgid "Angle along the circle." +msgstr "" + +#: ../../main/robotics.rst:34 affcee727c93413eadc60a699e6f9c10 +msgid "" +".. image:: " +"/blockimg/pybricks_blockDriveBaseConfigure_drivebase_straight_speed.svg" +msgstr "" + +#: ../../main/robotics.rst:36 336e8ac65a384d1a8382800d5ff704ae +msgid "" +".. image:: " +"/blockimg/pybricks_blockDriveBaseConfigure_drivebase_straight_acceleration.svg" +msgstr "" + +#: ../../main/robotics.rst:38 3db526072dc54fcfaae4bd1b2933a1f3 +msgid "" +".. image:: " +"/blockimg/pybricks_blockDriveBaseConfigure_drivebase_turn_rate.svg" +msgstr "" + +#: ../../main/robotics.rst:40 fc3dfd1d3ed74d60a46d6013e3a0fa2a +msgid "" +".. image:: " +"/blockimg/pybricks_blockDriveBaseConfigure_drivebase_turn_acceleration.svg" +msgstr "" + +#: 71c3ad89d5a845bfbff62b25c02b9418 of pybricks.robotics.DriveBase.settings:1 +msgid "" +"settings(straight_speed, straight_acceleration, turn_rate, " +"turn_acceleration) settings() -> Tuple[int, int, int, int]" +msgstr "" + +#: 0d78672abd054aec96c4d9ab1ec92191 of pybricks.robotics.DriveBase.settings:4 +msgid "Configures the drive base speed and acceleration." +msgstr "" + +#: bbb67f3aa344480b97f584f26485f3c1 of pybricks.robotics.DriveBase.settings:6 +msgid "If you give no arguments, this returns the current values as a tuple." +msgstr "" + +#: dc66c799f90f498b804c47e0365cc655 of pybricks.robotics.DriveBase.settings:8 +#, python-format +msgid "" +"The initial values are automatically configured based on your wheel " +"diameter and axle track. They are selected such that your robot drives at" +" about 40% of its maximum speed." +msgstr "" + +#: 8e1b04d7dc154293a57a35171f88d13c of pybricks.robotics.DriveBase.settings:12 +msgid "" +"The speed values given here do not apply to the :meth:`.drive` method, " +"since you provide your own speed values as arguments in that method." +msgstr "" + +#: 263c8171bc1f49629caa57249d66c3ec of pybricks.robotics.DriveBase.settings:15 +msgid "Straight-line speed of the robot." +msgstr "" + +#: 8e83b2a167754e1581df52f7c57e37c2 of pybricks.robotics.DriveBase.settings:17 +msgid "" +"Straight-line acceleration and deceleration of the robot. Provide a tuple" +" with two values to set acceleration and deceleration separately." +msgstr "" + +#: 5374010686074602a87787967e4af428 e234b3ce834c465c9d9be50fb68c428b of +#: pybricks.robotics.DriveBase.drive:6 pybricks.robotics.DriveBase.settings:21 +msgid "Turn rate of the robot." +msgstr "" + +#: c5900ce4a0fc4e889e606984efbe3939 of pybricks.robotics.DriveBase.settings:23 +msgid "" +"Angular acceleration and deceleration of the robot. Provide a tuple with " +"two values to set acceleration and deceleration separately." +msgstr "" + +#: c1fd1d727de84766b15a7862e3cf0027 of pybricks.robotics.DriveBase.done:1 +msgid "Checks if an ongoing command or maneuver is done." +msgstr "" + +#: ../../main/robotics.rst 284c3867d04e4c35b25b853a33fe6ad5 +#: 92ca0a63956b4587b2270460450f5b04 9dcad0634b6644a8aeaeb7ae409f1a7a +#: d93f92244bb34b6c94e224109c4b9bc2 f44394719eca4e52a1e23205dca55d61 +msgid "Returns" +msgstr "" + +#: 391554ecf2e14a4fa2fdbfd2c2e452f3 of pybricks.robotics.DriveBase.done:3 +msgid "``True`` if the command is done, ``False`` if not." +msgstr "" + +#: ../../main/robotics.rst:47 18ae314fcab646b7964e67dd4d889a83 +msgid "Drive forever" +msgstr "" + +#: ../../main/robotics.rst:48 6ebcbb73adee42dab83e7b3868cac8eb +msgid "Use :meth:`.drive` to begin driving at a desired speed and steering." +msgstr "" + +#: ../../main/robotics.rst:50 2efa6a7ea2d44f17966f3d5c86b6bf51 +msgid "" +"It keeps going until you use :meth:`.stop` or change course by using " +":meth:`.drive` again. For example, you can drive until a sensor is " +"triggered and then stop or turn around." +msgstr "" + +#: ../../main/robotics.rst:54 49c70267a83446619d89e7f92ce49bd7 +msgid "" +".. image:: " +"/blockimg/pybricks_blockDriveBaseDrive_drivebase_drive_forever.svg" +msgstr "" + +#: 9a816f7b8ef84829aec01f4c2856e9ef of pybricks.robotics.DriveBase.drive:1 +msgid "" +"Starts driving at the specified speed and turn rate. Both values are " +"measured at the center point between the wheels of the robot." +msgstr "" + +#: cde89623989c4f129e51862979476eec of pybricks.robotics.DriveBase.drive:4 +msgid "Speed of the robot." +msgstr "" + +#: ../../main/robotics.rst:58 29241a27b97541a58d2e14ce08f5345c +msgid ".. image:: /blockimg/pybricks_blockDriveBaseStop_coast.svg" +msgstr "" + +#: bf8ec3efce1d4721a84f3f3ecbc4d67e of pybricks.robotics.DriveBase.stop:1 +msgid "Stops the robot by letting the motors spin freely." +msgstr "" + +#: ../../main/robotics.rst:62 d376959cf6744efea46a87249d0f384c +msgid ".. image:: /blockimg/pybricks_blockDriveBaseStop_brake.svg" +msgstr "" + +#: af9dd532cefa423494d71cbc6e901dba of pybricks.robotics.DriveBase.brake:1 +msgid "Stops the robot by passively braking the motors." +msgstr "" + +#: ../../main/robotics.rst:66 04b35c4c87a743fea2479fd94261a37c +msgid ".. image:: /blockimg/pybricks_blockDriveBaseStop_hold.svg" +msgstr "" + +#: ../../main/robotics.rst:69 7bf4ef25b97a453aa4ea9af6384fa6ce +msgid "Measuring" +msgstr "" + +#: ../../main/robotics.rst:70 f715ed07b7124d899d7f14aa4814de11 +msgid "" +".. image:: " +"/blockimg/pybricks_blockDriveBaseMeasure_drivebase_get_distance.svg" +msgstr "" + +#: 221fb8de43cf48e4b5c2ec44cef92099 of pybricks.robotics.DriveBase.distance:1 +msgid "Gets the estimated driven distance." +msgstr "" + +#: f70b460ba9d545c8861d60ecf292d1ce of pybricks.robotics.DriveBase.distance:3 +msgid "Driven distance since last reset." +msgstr "" + +#: ../../main/robotics.rst:74 05408e66b912492fabe2c5c0bf55bc71 +msgid "" +".. image:: " +"/blockimg/pybricks_blockDriveBaseMeasure_drivebase_get_angle.svg" +msgstr "" + +#: 55b3f9cd64ff47b7b5171dfd3f18f9a6 of pybricks.robotics.DriveBase.angle:1 +msgid "Gets the estimated rotation angle of the drive base." +msgstr "" + +#: a02d03f7d14c4f60871e74e9ce5c353c of pybricks.robotics.DriveBase.angle:3 +msgid "Accumulated angle since last reset." +msgstr "" + +#: ../../main/robotics.rst:78 a784a45ea08f4cbbad4259c64fe738d5 +msgid "" +".. image:: " +"/blockimg/pybricks_blockDriveBaseMeasure_drivebase_get_speed.svg" +msgstr "" + +#: ../../main/robotics.rst:80 54aeb1a959ae49458e803b156fa37b2a +msgid "" +".. image:: " +"/blockimg/pybricks_blockDriveBaseMeasure_drivebase_get_turn_rate.svg" +msgstr "" + +#: b64eaf8371dc4fd4ad48c666543f8c69 of pybricks.robotics.DriveBase.state:1 +msgid "Gets the state of the robot." +msgstr "" + +#: 98a0070831af4b1badf5ca1df52f6566 of pybricks.robotics.DriveBase.state:3 +msgid "Tuple of distance, drive speed, angle, and turn rate of the robot." +msgstr "" + +#: ea8a7bdb685c46efa0b5db5c1b1bd23b of pybricks.robotics.DriveBase.reset:1 +msgid "Resets the estimated driven distance and angle to 0." +msgstr "" + +#: 654d7a01b823458989f6095c51b5c733 of pybricks.robotics.DriveBase.stalled:1 +msgid "Checks if the drive base is currently stalled." +msgstr "" + +#: 33394bf392804d2e87e46bc3f401eb08 of pybricks.robotics.DriveBase.stalled:3 +msgid "" +"It is stalled when it cannot reach the target speed or position, even " +"with the maximum actuation signal." +msgstr "" + +#: 791e374c9bcc4b07ae1004792debd19e of pybricks.robotics.DriveBase.stalled:6 +msgid "``True`` if the drivebase is stalled, ``False`` if not." +msgstr "" + +#: ../../main/robotics.rst:91 28db1d3ee072405098d8a862667bf88d +msgid "Driving with the gyro" +msgstr "" + +#: ../../main/robotics.rst:92 c761b28a6e7748928caf6391cff57238 +msgid ".. image:: /blockimg/pybricks_blockDriveBaseUseGyro.svg" +msgstr "" + +#: bd686bebf26e4d228af3f8b427a3eb5b of pybricks.robotics.DriveBase.use_gyro:1 +msgid "" +"Choose ``True`` to use the gyro sensor for turning and driving straight. " +"Choose ``False`` to rely only on the motor's built-in rotation sensors." +msgstr "" + +#: f66d9016bead43088fc0a8cbf09ae495 of pybricks.robotics.DriveBase.use_gyro:5 +msgid "``True`` to enable, ``False`` to disable." +msgstr "" + +#: ../../main/robotics.rst:96 c2342ada234f4a9aad1dcbc591991e24 +msgid "" +"If your hub is not mounted flat in your robot, make sure to specify the " +"``top_side`` and ``front_side`` parameters when you initialize the " +":class:`PrimeHub() `, :class:`InventorHub() " +"`, :class:`EssentialHub() " +"`, or :class:`TechnicHub() " +"`. This way your robot knows which rotation to " +"measure when turning." +msgstr "" + +#: ../../main/robotics.rst:104 1041234026f648f7b72ff867d0c3bacb +msgid "" +"The gyro in each hub is a bit different, which can cause it to be a few " +"degrees off for big turns, or many small turns in the same direction. For" +" example, you may need to use :meth:`turn(357) " +"` or :meth:`turn(362) " +"` on your robot to make a full turn." +msgstr "" + +#: ../../main/robotics.rst:111 4cf4e82f48ce4eaebc070b9f9932cf4e +msgid "" +"By default, this class tries to maintain the robot's position after a " +"move completes. This means the wheels will spin if you pick the robot up," +" in an effort to maintain its heading angle. To avoid this, you can " +"choose ``then=Stop.COAST`` in your last :meth:`straight " +"`, :meth:`turn " +"`, or :meth:`curve " +"` command." +msgstr "" + +#: ../../main/robotics.rst:122 2a4c6fe2e9894edc84ddf379136daddc +msgid "Measuring and validating the robot dimensions" +msgstr "" + +#: ../../main/robotics.rst:123 bd70026cd5274f179e689d8a642b7fc6 +msgid "" +"As a first estimate, you can measure the ``wheel_diameter`` and the " +"``axle_track`` with a ruler. Because it is hard to see where the wheels " +"effectively touch the ground, you can estimate the ``axle_track`` as the " +"distance between the midpoint of the wheels." +msgstr "" + +#: ../../main/robotics.rst:128 0e8a6dd03f0b4234accc2a3c8641f095 +msgid "" +"If you don't have a ruler, you can use a LEGO beam to measure. The " +"center-to-center distance of the holes is 8 mm. For some tyres, the " +"diameter is printed on the side. For example, 62.4 x 20 means that the " +"diameter is 62.4mm and that the width is 20 mm." +msgstr "" + +#: ../../main/robotics.rst:133 146e4c05ee3a41d19ef85607cadfe660 +msgid "" +"In practice, most wheels compress slightly under the weight of your " +"robot. To verify, make your robot drive 1000 mm using " +"``my_robot.straight(1000)`` and measure how far it really traveled. " +"Compensate as follows:" +msgstr "" + +#: ../../main/robotics.rst:137 e142b9aabde344d4811bd696482d7f0d +msgid "" +"If your robot drives **not far enough**, **decrease** the " +"``wheel_diameter`` value slightly." +msgstr "" + +#: ../../main/robotics.rst:139 db473a5472264587a843c2869e8b7051 +msgid "" +"If your robot drives **too far**, **increase** the ``wheel_diameter`` " +"value slightly." +msgstr "" + +#: ../../main/robotics.rst:142 3bb8a7d0cf254c7f946a5a20f8cadb84 +msgid "" +"Motor shafts and axles bend slightly under the load of the robot, causing" +" the ground contact point of the wheels to be closer to the midpoint of " +"your robot. To verify, make your robot turn 360 degrees using " +"``my_robot.turn(360)`` and check that it is back in the same place:" +msgstr "" + +#: ../../main/robotics.rst:147 01cecde619e2416bbf0192b31d6b8cf9 +msgid "" +"If your robot turns **not far enough**, **increase** the ``axle_track`` " +"value slightly." +msgstr "" + +#: ../../main/robotics.rst:149 ce30e00a229240ffa381d45ea7e6a61e +msgid "" +"If your robot turns **too far**, **decrease** the ``axle_track`` value " +"slightly." +msgstr "" + +#: ../../main/robotics.rst:152 74fd0b4c00bb46169e0582fe43033a15 +msgid "" +"When making these adjustments, always adjust the ``wheel_diameter`` " +"first, as done above. Be sure to test both turning and driving straight " +"after you are done." +msgstr "" + +#: ../../main/robotics.rst:157 87309791f73a4ed1adcc347e113831ba +msgid "Using the DriveBase motors individually" +msgstr "" + +#: ../../main/robotics.rst:158 3f5f26b947c24d93ac2fa60da916b010 +msgid "" +"After creating a :class:`.DriveBase` object, you can still use its two " +"motors individually. If you start one motor, the other motor will " +"automatically stop. Likewise, if a motor is already running and you make " +"the drive base move, the original maneuver is cancelled and the drive " +"base will take over." +msgstr "" + +#: ../../main/robotics.rst:165 553304e1ff4e44c081b1cb332d338d7e +msgid "Advanced settings" +msgstr "" + +#: ../../main/robotics.rst:166 edc3bf5bd0b242ec8c66c465d5913976 +msgid "" +"The :meth:`.settings` method is used to adjust commonly used settings " +"like the default speed and acceleration for straight maneuvers and turns." +" Use the following attributes to adjust more advanced control settings." +msgstr "" + +#: ../../docstring 3de1bea3f50746ee90ea843b97b34c02 of +#: pybricks.robotics.DriveBase.distance_control:1 +msgid "" +"The traveled distance and drive speed are controlled by a PID controller." +" You can use this attribute to change its settings. See the :ref:`motor " +"control ` attribute for an overview of available methods. The " +"``distance_control`` attribute has the same functionality, but the " +"settings apply to every millimeter driven by the drive base, instead of " +"degrees turned by one motor." +msgstr "" + +#: ../../docstring 706bebcab7b9464ab0b04c13ccd2d9da of +#: pybricks.robotics.DriveBase.heading_control:1 +msgid "" +"The robot turn angle and turn rate are controlled by a PID controller. " +"You can use this attribute to change its settings. See the :ref:`motor " +"control ` attribute for an overview of available methods. The " +"``heading_control`` attribute has the same functionality, but the " +"settings apply to every degree of rotation of the whole drive base " +"(viewed from the top) instead of degrees turned by one motor." +msgstr "" + +#: ../../main/robotics.rst:178 28b4216e5c23478daabc715874c0d47a +msgid "The :meth:`done` and :meth:`stalled` methods have been moved." +msgstr "" + +#: ../../main/robotics.rst:182 77742a3daaae49a4b1ed751acb2144d1 +msgid ".. image:: /blockimg/pybricks_variables_set_car.svg" +msgstr "" + +#: 84a2734e97c64df7b50a65fb7b862f8e of pybricks.robotics.Car:1 +msgid "A vehicle with one steering motor, and one or more motors for driving." +msgstr "" + +#: 12ae2aae1e5e498a998a81912310ad9e of pybricks.robotics.Car:3 +#, python-format +msgid "" +"When you use this class, the steering motor will automatically find the " +"center position. This also determines which angle corresponds to 100% " +"steering." +msgstr "" + +#: 68497259d0b6470c8763aa4f131534b9 of pybricks.robotics.Car:7 +msgid "The motor that steers the front wheels." +msgstr "" + +#: e72b7dd1ea504942935ebeefa8a274bc of pybricks.robotics.Car:9 +msgid "The motor that drives the wheels. Use a tuple for multiple motors." +msgstr "" + +#: 2b76a7d027434e0ab0c9586fd8582003 of pybricks.robotics.Car:12 +msgid "" +"The maximum torque limit used to find the endpoints for the steering " +"mechanism, as a percentage of the maximum torque of the steering motor." +msgstr "" + +#: ../../main/robotics.rst:189 bbf3e3b7f01543bdbc88cf61c827b43b +msgid ".. image:: /blockimg/pybricks_blockCarSteer.svg" +msgstr "" + +#: 528ba039073f4981b6bddfd2a6e5b454 of pybricks.robotics.Car.steer:1 +#, python-format +msgid "" +"Steers the front wheels by a given amount. For 100% steering, it steers " +"right by the angle that was determined on initialization. For -100% " +"steering, it steers left and 0% means straight." +msgstr "" + +#: dad755a7b5964406aa9e2b79c4d1be70 of pybricks.robotics.Car.steer:5 +msgid "Amount to steer the front wheels." +msgstr "" + +#: ../../main/robotics.rst:193 2d9b825ff1a14f29aca00812cf8fbb93 +msgid ".. image:: /blockimg/pybricks_blockCarDrive_car_drive_at_power.svg" +msgstr "" + +#: b0df87530a3e48c1b287892fbea70f84 of pybricks.robotics.Car.drive_power:1 +msgid "" +"Drives the car at a given power level. Positive values drive forward, " +"negative values drive backward." +msgstr "" + +#: 5453b7401d0341d7b01bd18bd11c3967 of pybricks.robotics.Car.drive_power:4 +msgid "" +"The ``power`` value is used to set the motor voltage as a percentage of " +"the battery voltage. Below 10%, the car will coast the wheels in order to" +" roll out smoothly instead of braking abruptly." +msgstr "" + +#: f6da0700565d4ef48ad59ca8d26f3168 of pybricks.robotics.Car.drive_power:8 +msgid "" +"This command is useful for remote control applications where you want " +"instant response to button presses or joystick movements." +msgstr "" + +#: 32dc1f6a13894cedb3fe3d198eb9738d of pybricks.robotics.Car.drive_power:11 +msgid "Speed of the car." +msgstr "" + +#: ../../main/robotics.rst:197 226cb15233744864aee7239ffcb5ee03 +msgid ".. image:: /blockimg/pybricks_blockCarDrive_car_drive_at_speed.svg" +msgstr "" + +#: 6fd13c0ee40e4b52a6727476a9df26c3 of pybricks.robotics.Car.drive_speed:1 +msgid "" +"Drives the car at a given motor speed. Positive values drive forward, " +"negative values drive backward." +msgstr "" + +#: 79944b74fcad4245976e8840c0f21f32 of pybricks.robotics.Car.drive_speed:4 +msgid "" +"This command is useful for more precise driving with gentle acceleration " +"and deceleration. This automatically increases the power to maintain " +"speed as you drive across obstacles." +msgstr "" + +#: 139cdcf3a87d42d38e0a5bad7667e56c of pybricks.robotics.Car.drive_speed:8 +msgid "Angular velocity of the drive motors." +msgstr "" + +#: ../../main/robotics.rst:202 94b635d28bf54d77ab6072d644f961db +msgid "Examples" +msgstr "" + +#: ../../main/robotics.rst:205 0fd0ac9239824593b23325ea127e36cd +msgid "Driving straight and turning in place with a drive base" +msgstr "" + +#: ../../main/robotics.rst:207 b082076e91f84d0a878e49c71c846fff +msgid "This program shows the basics of driving and turning." +msgstr "" + +#: ../../main/robotics.rst:209 94f912b66e174a2296697449e248e3ec +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Port, Direction\n" +"from pybricks.robotics import DriveBase\n" +"\n" +"# Initialize both motors. In this example, the motor on the\n" +"# left must turn counterclockwise to make the robot go forward.\n" +"left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE)\n" +"right_motor = Motor(Port.B)\n" +"\n" +"# Initialize the drive base. In this example, the wheel diameter is 56mm." +"\n" +"# The distance between the two wheel-ground contact points is 112mm.\n" +"drive_base = DriveBase(left_motor, right_motor, wheel_diameter=56, " +"axle_track=112)\n" +"\n" +"# Optionally, uncomment the line below to use the gyro for improved " +"accuracy.\n" +"# drive_base.use_gyro(True)\n" +"\n" +"# Drive forward by 500mm (half a meter).\n" +"drive_base.straight(500)\n" +"\n" +"# Turn around clockwise by 180 degrees.\n" +"drive_base.turn(180)\n" +"\n" +"# Drive forward again to get back to the start.\n" +"drive_base.straight(500)\n" +"\n" +"# Turn around counterclockwise.\n" +"drive_base.turn(-180)\n" +msgstr "" + +#: ../../main/robotics.rst:213 eca8efe013144395b66543df1bfecb5a +msgid "Remote controlling a car with front wheel steering" +msgstr "" + +#: ../../main/robotics.rst:215 ebc412314d76458c92aaff1ec4343439 +msgid "" +"This program shows how you can drive a car with front wheel steering " +"using the :class:`remote control `." +msgstr "" + +#: ../../main/robotics.rst:218 c64c44d84a664e90b8133f356b20782d +msgid "" +"In this program, the ports match those of the `LEGO Technic 42099 Off-" +"Roader `_, " +"but you can use any other car with front wheel steering. If your vehicle " +"has only one drive motor, you can use a single motor instead of a tuple " +"of the motors used below." +msgstr "" + +#: ../../main/robotics.rst:224 2cf67151e9fb455596a142c603ada834 +msgid "" +"from pybricks.parameters import Direction, Port, Button\n" +"from pybricks.pupdevices import Motor, Remote\n" +"from pybricks.robotics import Car\n" +"from pybricks.tools import wait\n" +"\n" +"# Set up motors.\n" +"front = Motor(Port.A, Direction.COUNTERCLOCKWISE)\n" +"rear = Motor(Port.B, Direction.COUNTERCLOCKWISE)\n" +"steer = Motor(Port.C, Direction.CLOCKWISE)\n" +"\n" +"# Connect to the remote.\n" +"remote = Remote()\n" +"\n" +"# Set up the car.\n" +"car = Car(steer, [front, rear])\n" +"\n" +"# The main program starts here.\n" +"while True:\n" +" # Read remote state.\n" +" pressed = remote.buttons.pressed()\n" +"\n" +" # Steer using the left pad. Steering is the percentage\n" +" # of the angle determined while initializing.\n" +" steering = 0\n" +" if Button.LEFT_PLUS in pressed:\n" +" steering += 100\n" +" elif Button.LEFT_MINUS in pressed:\n" +" steering -= 100\n" +" car.steer(steering)\n" +"\n" +" # Drive using the right pad.\n" +" power = 0\n" +" if Button.RIGHT_PLUS in pressed:\n" +" power += 100\n" +" elif Button.RIGHT_MINUS in pressed:\n" +" power -= 100\n" +" car.drive_power(power)\n" +"\n" +" # Wait briefly.\n" +" wait(10)\n" +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/signaltypes.po b/doc/locales/de/LC_MESSAGES/signaltypes.po new file mode 100644 index 00000000..1109ee3a --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/signaltypes.po @@ -0,0 +1,568 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/signaltypes.rst:2 587d7cfdd23e446ca7fa27a352bca75a +msgid "Signals and Units" +msgstr "" + +#: ../../main/signaltypes.rst:4 8627ec1faa5948f6b521c069b81fdb88 +msgid "" +"Many commands allow you to specify arguments in terms of well-known " +"physical quantities. This page gives an overview of each quantity and its" +" unit." +msgstr "" + +#: ../../main/signaltypes.rst:8 6f8d2167f04c46df8319a5b998877689 +msgid "Numbers" +msgstr "" + +#: ../../docstring a86489a3fb4c4e6c983280be9ce0c33a of typing.Union:5 +msgid "Numbers can be represented as integers or floating point values:" +msgstr "" + +#: ../../docstring b712a9c5fbb54f62a6aca15c815fe8c4 of typing.Union:7 +msgid "" +"Integers (:class:`int `) are whole numbers like ``15`` or " +"``-123``." +msgstr "" + +#: ../../docstring 99acf620e6184405841acb315e1e856e of typing.Union:9 +msgid "" +"Floating point values (:class:`float `) are decimal " +"numbers like ``3.14`` or ``-123.45``." +msgstr "" + +#: ../../docstring 3783d89309e641f9b59f643e59697a6a of typing.Union:12 +msgid "" +"If you see :class:`Number` as the argument type, both :class:`int " +"` and :class:`float ` may be used." +msgstr "" + +#: ../../docstring f1e9b00922804cf4ab77dcccc78d6fa5 of typing.Union:15 +msgid "" +"For example, :func:`wait(15) ` and " +":func:`wait(15.75) ` are both allowed. In most " +"functions, however, your input value will be truncated to a whole number " +"anyway. In this example, either command makes the program pause for just " +"15 milliseconds." +msgstr "" + +#: ../../docstring 443ca2e13d8d406abf9cb97c034ad8fd of typing.Union:21 +msgid "" +"The BOOST Move hub doesn't support floating point numbers due to limited " +"system resources. Only integers can be used on that hub." +msgstr "" + +#: ../../main/signaltypes.rst:14 906375da852e4136a34f49b19d7a71f1 +msgid "Time" +msgstr "" + +#: ../../main/signaltypes.rst:19 e97b8e753c1440cfb2f1d79201566b6f +msgid "time: ms" +msgstr "" + +#: ../../main/signaltypes.rst:20 28a7e5c7e5fb44e8952e97713aa526df +msgid "All time and duration values are measured in milliseconds (ms)." +msgstr "" + +#: ../../main/signaltypes.rst:22 e46d05e9a7844f5ca397989f510531b5 +msgid "" +"For example, the duration of motion with ``run_time``, and the duration " +"of :func:`wait <.tools.wait>` are specified in milliseconds." +msgstr "" + +#: ../../main/signaltypes.rst:27 68acdcc5f43840b99e1a50a37db7dddd +msgid "Angles and angular motion" +msgstr "" + +#: ../../main/signaltypes.rst:32 40f944a5071b485ab7e917e03f3c617f +msgid "angle: deg" +msgstr "" + +#: ../../main/signaltypes.rst:34 6da89456b13b4a7486953d9d610bf33c +msgid "" +"All angles are measured in degrees (deg). One full rotation corresponds " +"to 360 degrees." +msgstr "" + +#: ../../main/signaltypes.rst:37 47123da1d45643918585d11015121d2c +msgid "" +"For example, the angle values of a ``Motor`` or the ``GyroSensor`` are " +"expressed in degrees." +msgstr "" + +#: ../../main/signaltypes.rst:43 cba94fa8701742358d0cf171b7f003ec +msgid "rotational speed: deg/s" +msgstr "" + +#: ../../main/signaltypes.rst:45 32c38ce7c5ef4743987b9dc56bc7e9c2 +msgid "" +"Rotational speed, or *angular velocity* describes how fast something " +"rotates, expressed as the number of degrees per second (deg/s)." +msgstr "" + +#: ../../main/signaltypes.rst:48 d28fc9afcaa040fcb28ba3bf58c47441 +msgid "" +"For example, the rotational speed values of a ``Motor`` or the " +"``GyroSensor`` are expressed in degrees per second." +msgstr "" + +#: ../../main/signaltypes.rst:52 c2c6d80225df41b69e48b258038029a0 +msgid "" +"While we recommend working with degrees per second in your programs, you " +"can use the following table to convert between commonly used units." +msgstr "" + +#: ../../main/signaltypes.rst:56 8ac0a08a0e9342348220cfc2cbfe3444 +msgid "deg/s" +msgstr "" + +#: ../../main/signaltypes.rst:56 a8314dcf20c54b369dd3f66771317164 +msgid "rpm" +msgstr "" + +#: ../../main/signaltypes.rst:58 be317824bd7b447fba6573b12a40c7f3 +msgid "1 deg/s =" +msgstr "" + +#: ../../main/signaltypes.rst:58 ../../main/signaltypes.rst:60 +#: ../../main/signaltypes.rst:96 ../../main/signaltypes.rst:98 +#: ../../main/signaltypes.rst:100 ../../main/signaltypes.rst:187 +#: ../../main/signaltypes.rst:189 ../../main/signaltypes.rst:191 +#: 3b02baab6d9c493cac3a4168b8ae2b54 47e61a1f2f1b43d7aaaa188df91a503e +#: 75e1c126e82542249cf6f37014838ce3 7a7d64a7ec754a0bbf83f7fefeaa8a89 +#: 9a7397026cce4bfc8f9e94f29e836869 a6a55b02dd9f4f97b1842da40d0f1926 +#: c5f7ff0dac6849328d30c4602e90da9d df3aa0b065bd46aaa24138964463bdba +msgid "1" +msgstr "" + +#: ../../main/signaltypes.rst:58 55928614c3244f50b57327d774dad0ee +msgid "1/6=0.167" +msgstr "" + +#: ../../main/signaltypes.rst:60 75978d0aa6ed4c2b94e0e6b9c1d2894c +msgid "1 rpm =" +msgstr "" + +#: ../../main/signaltypes.rst:60 c2f60d85baad4a7787c0927666731465 +msgid "6" +msgstr "" + +#: ../../main/signaltypes.rst:66 03a3966ff4764015bc64cebf4447b736 +msgid "rotational acceleration: deg/s²" +msgstr "" + +#: ../../main/signaltypes.rst:68 f3ce0e7b607c45bd8d9c9e2605b7980c +msgid "" +"Rotational acceleration, or *angular acceleration* describes how fast the" +" rotational speed changes. This is expressed as the change of the number " +"of degrees per second, during one second (deg/s²). This is also commonly " +"written as :math:`deg/s^2`." +msgstr "" + +#: ../../main/signaltypes.rst:73 55975ff30b52412d9509cbb9c67829f6 +msgid "" +"For example, you can adjust the rotational acceleration setting of a " +"``Motor`` to change how smoothly or how quickly it reaches the constant " +"speed set point." +msgstr "" + +#: ../../main/signaltypes.rst:79 48272d3b9ecc407dbc0eef731199327f +msgid "Distance and linear motion" +msgstr "" + +#: ../../main/signaltypes.rst:84 106dc62608824c158f4c6deb54f8b61c +msgid "distance: mm" +msgstr "" + +#: ../../main/signaltypes.rst:85 865c1486aca741c99d278b7d14fe1beb +msgid "Distances are expressed in millimeters (mm) whenever possible." +msgstr "" + +#: ../../main/signaltypes.rst:87 3c1c3cadb48d4ddd96ff2c32c482e504 +msgid "" +"For example, the distance value of the ``UltrasonicSensor`` is measured " +"in millimeters." +msgstr "" + +#: ../../main/signaltypes.rst:90 4648f888dcbd4beba60506a45db5eb32 +msgid "" +"While we recommend working with millimeters in your programs, you can use" +" the following table to convert between commonly used units." +msgstr "" + +#: ../../main/signaltypes.rst:94 c217617087294fa7befd71c4cf1393f9 +msgid "mm" +msgstr "" + +#: ../../main/signaltypes.rst:94 328b2eca09714f6fb6e693e48d9927b8 +msgid "cm" +msgstr "" + +#: ../../main/signaltypes.rst:94 863d8e92cf5b4528afb07cb86b3d0eea +msgid "inch" +msgstr "" + +#: ../../main/signaltypes.rst:96 eb9dffe282f74429a2334da720576c6b +msgid "1 mm =" +msgstr "" + +#: ../../main/signaltypes.rst:96 dc4878df858d4b7f9834ff9817305bd5 +msgid "0.1" +msgstr "" + +#: ../../main/signaltypes.rst:96 9dfb9b843e254823912b8e4256c4b8b0 +msgid "0.0394" +msgstr "" + +#: ../../main/signaltypes.rst:98 681ec4e47e0543b08b167cc2aeea1b4a +msgid "1 cm =" +msgstr "" + +#: ../../main/signaltypes.rst:98 91e6c95fb7e649e1b7cd3800b8695a9d +msgid "10" +msgstr "" + +#: ../../main/signaltypes.rst:98 34d7676b66294997b20e7bbf5a019c90 +msgid "0.394" +msgstr "" + +#: ../../main/signaltypes.rst:100 b00c126b02ec4cf694b6ddda3ed11c25 +msgid "1 inch =" +msgstr "" + +#: ../../main/signaltypes.rst:100 40b16238220d412690b1b1e3bd8f3685 +msgid "25.4" +msgstr "" + +#: ../../main/signaltypes.rst:100 20840d29626c49e8918206e90ea9be49 +msgid "2.54" +msgstr "" + +#: ../../main/signaltypes.rst:106 465d8e6aec354159992d5098877c75b5 +msgid "dimension: mm" +msgstr "" + +#: ../../main/signaltypes.rst:108 f94667f7e0a641b497ad88da6f08e8bf +msgid "Dimensions are expressed in millimeters (mm), just like distances." +msgstr "" + +#: ../../main/signaltypes.rst:111 767caebc2ebf4fe498eca87fdb534cb1 +msgid "For example, the diameter of a wheel is measured in millimeters." +msgstr "" + +#: ../../main/signaltypes.rst:116 3a78f3aed7044436b9d1ff83872cceed +msgid "speed: mm/s" +msgstr "" + +#: ../../main/signaltypes.rst:117 bbc2cf112fc84ca4b56636dd338d70b2 +msgid "Linear speeds are expressed as millimeters per second (mm/s)." +msgstr "" + +#: ../../main/signaltypes.rst:119 1467b2326bcf41b9b333ba52a3b90c03 +msgid "For example, the speed of a robotic vehicle is expressed in mm/s." +msgstr "" + +#: ../../main/signaltypes.rst:124 f7418689a7f041d38c3b4fa081a7f5fc +msgid "linear acceleration: mm/s²" +msgstr "" + +#: ../../main/signaltypes.rst:126 16009641dbe24ca0ba864e4c8f7d9e38 +msgid "" +"Linear acceleration describes how fast the speed changes. This is " +"expressed as the change of the millimeters per second, during one second " +"(mm/s²). This is also commonly written as :math:`mm/s^2`." +msgstr "" + +#: ../../main/signaltypes.rst:130 209530dbac894f2eb430d082f4c0d24d +msgid "" +"For example, you can adjust the acceleration setting of a " +":class:`DriveBase <.robotics.DriveBase>` to change how smoothly or how " +"quickly it reaches the constant speed set point." +msgstr "" + +#: ../../main/signaltypes.rst:135 cf98e3e263f44cd7bfb9e6b785a773cc +msgid "Approximate and relative units" +msgstr "" + +#: ../../main/signaltypes.rst:140 84eb39ebd7574387aa34bf5fb61d7cbf +msgid "percentage: %" +msgstr "" + +#: ../../main/signaltypes.rst:142 44221bacd2334e1ea32b60c989967a3e +msgid "" +"Some signals do not have specific units. They range from a minimum (0%) " +"to a maximum (100%). Specifics type of percentages are :ref:`relative " +"distances ` or :ref:`brightness `." +msgstr "" + +#: ../../main/signaltypes.rst:146 2c5b9c4d674f4716a9e87c2ed7c37f7a +msgid "" +"Another example is the sound volume, which ranges from 0% (silent) to " +"100% (loudest)." +msgstr "" + +#: ../../main/signaltypes.rst:152 6b9cba9d63dd49528d4e2f422e144aaa +msgid "relative distance: %" +msgstr "" + +#: ../../main/signaltypes.rst:154 aad23d7a5cae47c7b8d80f62b7603d28 +msgid "" +"Some distance measurements do not provide an accurate value with a " +"specific unit, but they range from very close (0%) to very far (100%). " +"These are referred to as relative distances." +msgstr "" + +#: ../../main/signaltypes.rst:158 c6251f2804744560af17b8868a4a28d8 +msgid "" +"For example, the distance value of the ``InfraredSensor`` is a relative " +"distance." +msgstr "" + +#: ../../main/signaltypes.rst:165 9cd4cf361c67455b832633c501e69635 +msgid "brightness: %" +msgstr "" + +#: ../../main/signaltypes.rst:167 549edd75b4bf4deb8417a0ea7a74e01f +msgid "" +"The perceived brightness of a light is expressed as a percentage. It is " +"0% when the light is off and 100% when the light is fully on. When you " +"choose 50%, this means that the light is perceived as approximately half " +"as bright to the human eye." +msgstr "" + +#: ../../main/signaltypes.rst:173 efeeb8a7e93547f996c80a118cbb80d2 +msgid "Force and torque" +msgstr "" + +#: ../../main/signaltypes.rst:178 52ffc8334afa4460b918d74f7623ba54 +msgid "force: N" +msgstr "" + +#: ../../main/signaltypes.rst:179 7f829275306641dda80d5aae19b54fb5 +msgid "Force values are expressed in newtons (N)." +msgstr "" + +#: ../../main/signaltypes.rst:181 d16517491a6f46409b20636b73332f00 +msgid "" +"While we recommend working with newtons in your programs, you can use the" +" following table to convert to and from other units." +msgstr "" + +#: ../../main/signaltypes.rst:185 40c8fc9876eb4d038ec5d9e294c8836f +msgid "mN" +msgstr "" + +#: ../../main/signaltypes.rst:185 3caa29df064f423dac9c32cb43468b82 +msgid "N" +msgstr "" + +#: ../../main/signaltypes.rst:185 2f234ee7eee3493caa1fdfce923a348f +msgid "lbf" +msgstr "" + +#: ../../main/signaltypes.rst:187 7a6897e4bcdf401697f209466b8b8138 +msgid "1 mN =" +msgstr "" + +#: ../../main/signaltypes.rst:187 7db924906ffc40ada35df824ff3563a7 +msgid "0.001" +msgstr "" + +#: ../../main/signaltypes.rst:187 a1a335bc8f8440398a4278ab33a89dc1 +msgid ":math:`2.248 \\cdot 10^{-4}`" +msgstr "" + +#: ../../main/signaltypes.rst:189 09a9fbb4b08c47ea8d5af184e7a67483 +msgid "1 N =" +msgstr "" + +#: ../../main/signaltypes.rst:189 d60da45eb581435abfed9a680232db1f +msgid "1000" +msgstr "" + +#: ../../main/signaltypes.rst:189 682bfdce46c04862b7e6815377df067a +msgid "0.2248" +msgstr "" + +#: ../../main/signaltypes.rst:191 2dabe17640ba44879a4e56109b2f782c +msgid "1 lbf =" +msgstr "" + +#: ../../main/signaltypes.rst:191 6733343834e5461bb195f9880dc2a413 +msgid "4448" +msgstr "" + +#: ../../main/signaltypes.rst:191 e25c71346c8a4cd5bec0a20863f50b20 +msgid "4.448" +msgstr "" + +#: ../../main/signaltypes.rst:197 32dc04268d984d119bf1272dabb2ae70 +msgid "torque: mNm" +msgstr "" + +#: ../../main/signaltypes.rst:198 cdb6bac3038b44b183a76bb8a1253bbd +msgid "" +"Torque values are expressed in millinewtonmeter (mNm) unless stated " +"otherwise." +msgstr "" + +#: ../../main/signaltypes.rst:201 5a97db5fab6941f488bf4b61e77942c3 +msgid "Electricity" +msgstr "" + +#: ../../main/signaltypes.rst:206 d027352ab6fe4ec583a2c715314100a0 +msgid "voltage: mV" +msgstr "" + +#: ../../main/signaltypes.rst:207 ceb948e4909e44298b44b9f2c5f85c36 +msgid "Voltages are expressed in millivolt (mV)." +msgstr "" + +#: ../../main/signaltypes.rst:209 f18ca0b611dc44c997ce38aed0d80f3e +msgid "For example, you can check the voltage of the battery." +msgstr "" + +#: ../../main/signaltypes.rst:214 01eb19fffddb4f179e7391e1f05cf650 +msgid "current: mA" +msgstr "" + +#: ../../main/signaltypes.rst:216 26cd1d24ef6f458db159f40efbe52f96 +msgid "Electrical currents are expressed in milliampere (mA)." +msgstr "" + +#: ../../main/signaltypes.rst:218 aee6bd0e958146fbaea4f790d53ee119 +msgid "For example, you can check the current supplied by the battery." +msgstr "" + +#: ../../main/signaltypes.rst:223 c49c10a67ed546e985d636d054372ea7 +msgid "energy: J" +msgstr "" + +#: ../../main/signaltypes.rst:225 710dc6ce8b34452bbe903c1383613eb2 +msgid "Stored energy or energy consumption can be expressed in Joules (J)." +msgstr "" + +#: ../../main/signaltypes.rst:230 d2efb6a3436a4950b9cb65fc9bce4682 +msgid "power: mW" +msgstr "" + +#: ../../main/signaltypes.rst:232 585b2c6912f34cf69199f11b840ae3e4 +msgid "" +"Power is the rate at which energy is stored or consumed. It is expressed " +"in milliwatt (mW)." +msgstr "" + +#: ../../main/signaltypes.rst:236 d9801e0467ca4d7ea1b3392d1d5af929 +msgid "Ambient environment" +msgstr "" + +#: ../../main/signaltypes.rst:241 7e37d4257aec4d43980c132f2474e7ca +msgid "frequency: Hz" +msgstr "" + +#: ../../main/signaltypes.rst:242 d1a252b83c2f4c60b2f27c827a9381bd +msgid "Sound frequencies are expressed in Hertz (Hz)." +msgstr "" + +#: ../../main/signaltypes.rst:244 ff4761be45244d5a859a58fe0491f5e7 +msgid "For example, you can choose the frequency of a beep to change the pitch." +msgstr "" + +#: ../../main/signaltypes.rst:249 915ba54483f7412d9bd53a40d6db35a6 +msgid "temperature: °C" +msgstr "" + +#: ../../main/signaltypes.rst:251 89b93b1da3074043a122768126c02f5b +msgid "" +"Temperature is measured in degrees Celsius (°C). To convert to degrees " +"Fahrenheit (°F) or Kelvin (K), you can use the following conversion " +"formulas:" +msgstr "" + +#: ../../main/signaltypes.rst:254 dca891b749fd4b36bf5d124aadffb6b3 +msgid "" +":math:`^{\\circ}\\kern1pt\\!F =\\kern1pt^{\\circ}\\kern1pt\\!C \\cdot " +"\\frac{9}{5} + 32`." +msgstr "" + +#: ../../main/signaltypes.rst:256 388d75300e004bf0977f0943bdc5a40b +msgid ":math:`K =\\kern1pt^{\\circ}\\kern1pt\\!C + 273.15`." +msgstr "" + +#: ../../main/signaltypes.rst:261 b4bf839d7ddc4f07a0e93e504b3b0eb5 +msgid "hue: deg" +msgstr "" + +#: ../../main/signaltypes.rst:262 0d63595901744fad8528d2ad28402604 +msgid "Hue of a color (0-359 degrees)." +msgstr "" + +#: ../../main/signaltypes.rst:267 ab1e848f38804d9392026d30fb69974a +msgid "Reference frames" +msgstr "" + +#: ../../main/signaltypes.rst:269 440af53730494cdfbfe4081cb0cf4edb +msgid "The Pybricks module and this documentation use the following conventions:" +msgstr "" + +#: ../../main/signaltypes.rst:271 1b5b7cc4d3c34fbba2c5fa55ef091d7c +msgid "X: Positive means forward. Negative means backward." +msgstr "" + +#: ../../main/signaltypes.rst:272 e61e1ebded54446696a4084aae689f28 +msgid "Y: Positive means to the left. Negative means to the right." +msgstr "" + +#: ../../main/signaltypes.rst:273 1cf496c58a9a4c838a875720c9fe513a +msgid "Z: Positive means upward. Negative means downward." +msgstr "" + +#: ../../main/signaltypes.rst:275 83797145165847979f148b37e48efe5f +msgid "" +"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." +msgstr "" + +#: ../../main/signaltypes.rst:280 048cf888c68f4740b994987a43b08ee3 +msgid "" +"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." +msgstr "" + +#: ../../main/signaltypes.rst:288 2c27a8227fd548d3940b0f497c931209 +msgid ".. image:: ../main/diagrams/imuexamples.png" +msgstr "" + +#: ../../main/signaltypes.rst:291 86db91be1d164843bcd1cc5a6d3b8ce0 +msgid "" +"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 " +"` of the hub are pointing. The example on the left is the default " +"configuration." +msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/tools/index.po b/doc/locales/de/LC_MESSAGES/tools/index.po new file mode 100644 index 00000000..920743fa --- /dev/null +++ b/doc/locales/de/LC_MESSAGES/tools/index.po @@ -0,0 +1,409 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018-2023 The Pybricks Authors +# This file is distributed under the same license as the pybricks package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pybricks v3.5\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../main/tools/index.rst:4 eaa2de9007d94e2db587e4adac4d05fd +msgid ":mod:`tools ` -- General purpose tools" +msgstr "" + +#: 3510ef17238e45d5b65bc34528afe878 of pybricks.tools:1 +msgid "Common tools for timing, data logging, and linear algebra." +msgstr "" + +#: ../../main/tools/index.rst:10 4cacc297b62a4122827f648db19ff575 +msgid "Timing tools" +msgstr "" + +#: ../../main/tools/index.rst:12 1f6822001173405ba3fd97e7a7e152e3 +msgid ".. image:: /blockimg/pybricks_blockWaitTime.svg" +msgstr "" + +#: 6b674cf0405f41e6a7fb1cb53fc54693 of pybricks.tools.wait:1 +msgid "Pauses the user program for a specified amount of time." +msgstr "" + +#: ../../main/tools/index.rst 072e0454d8d9438cbe9c18ee5861743d +#: 322393eca42849618670e47e88df8e80 640aa8eb8b854d6fa9607c9d3b4d9835 +#: 91e5ee034a3544a1a699be180e7b35ea 9fd8a972d4e640b7bb60e6561f9fa078 +#: d8a797283bad4b6090bf3171369144c7 d8e527f42f1d429fab1f7df555b0cc51 +#: e62871530ed047cdae8982228eeb9cc1 +msgid "Parameters" +msgstr "" + +#: 0ef1b82ac0b24d87baeafcdf576f8813 of pybricks.tools.wait:3 +msgid "How long to wait." +msgstr "" + +#: ../../main/tools/index.rst:16 c29203e5e9b84d0996b4e91ba4b258db +msgid ".. image:: /blockimg/pybricks_variables_set_stopwatch.svg" +msgstr "" + +#: 316f5942284d44439653f62d31d1cc9c of pybricks.tools.StopWatch:1 +msgid "" +"A stopwatch to measure time intervals. Similar to the stopwatch feature " +"on your phone." +msgstr "" + +#: ../../main/tools/index.rst:21 459b026449fb48238ec315bde4e24de1 +msgid ".. image:: /blockimg/pybricks_blockStopWatchTime.svg" +msgstr "" + +#: e1e6e487bf6a425fb4846d3c9b19d233 of pybricks.tools.StopWatch.time:1 +msgid "Gets the current time of the stopwatch." +msgstr "" + +#: ../../main/tools/index.rst 2af5519ab3464471860a290c4a00e99a +#: 31192f9e1e824418b4b3469e4788b4c8 329a361ac238442e96f5540f768fd637 +#: 5cc1f8b3f95e4a0e8efcf91024ea21c6 6c0654c3a1e342518eb4a36382940e3c +#: 9b82e6129121476e954360dd66e35798 a4c48e9f4cd745f39673e45f7c495b57 +msgid "Returns" +msgstr "" + +#: 790af270b58e4c0ab4fcb243478c3ed3 of pybricks.tools.StopWatch.time:3 +msgid "Elapsed time." +msgstr "" + +#: ../../main/tools/index.rst:25 7dbc19c543fb41898728f7332d2baae3 +msgid ".. image:: /blockimg/pybricks_blockStopWatchDo_StopWatch_pause.svg" +msgstr "" + +#: 50b34f2bfb0345d6b71cddb455be3e55 of pybricks.tools.StopWatch.pause:1 +msgid "Pauses the stopwatch." +msgstr "" + +#: ../../main/tools/index.rst:29 7462bc658706426591dd2621f2504383 +msgid ".. image:: /blockimg/pybricks_blockStopWatchDo_StopWatch_resume.svg" +msgstr "" + +#: b06bb6b0555644d79ba468e04f597a98 of pybricks.tools.StopWatch.resume:1 +msgid "Resumes the stopwatch." +msgstr "" + +#: ../../main/tools/index.rst:33 b32ec8e3810f4fec92edfcb7ddaf612d +msgid ".. image:: /blockimg/pybricks_blockStopWatchDo_StopWatch_reset.svg" +msgstr "" + +#: df6bfbfce1d3441d8d1432900a412dd0 of pybricks.tools.StopWatch.reset:1 +msgid "Resets the stopwatch time to 0." +msgstr "" + +#: 87498a510b134d1089b3b7f45c1c12fe of pybricks.tools.StopWatch.reset:3 +msgid "The run state is unaffected:" +msgstr "" + +#: 8b23224a9b60408198e39e72fccbd2d7 of pybricks.tools.StopWatch.reset:5 +msgid "If it was paused, it stays paused (but now at 0)." +msgstr "" + +#: 79ac0c492610443e8c5650f1253e40fa of pybricks.tools.StopWatch.reset:6 +msgid "If it was running, it stays running (but starting again from 0)." +msgstr "" + +#: ../../main/tools/index.rst:38 27681e8c60d64b2aa8a30d3f852d5af8 +msgid "Input tools" +msgstr "" + +#: ../../main/tools/index.rst:40 e458cc529c224dd2a32af7587f529d33 +msgid ".. image:: /blockimg/pybricks_blockReadInput_read_input_first_byte.svg" +msgstr "" + +#: ../../main/tools/index.rst:42 62d3ed5fac45400ebd9dff12b41dcbb5 +msgid ".. image:: /blockimg/pybricks_blockReadInput_read_input_first_char.svg" +msgstr "" + +#: ../../main/tools/index.rst:45 2ed957d1d3f7493d8920a96caf121ada +msgid ".. image:: /blockimg/pybricks_blockReadInput_read_input_last_byte.svg" +msgstr "" + +#: ../../main/tools/index.rst:48 d53f9705017247bda56f086dd154fada +msgid ".. image:: /blockimg/pybricks_blockReadInput_read_input_last_char.svg" +msgstr "" + +#: ede5a46c01e944deb6636ed8afb5df57 of pybricks.tools.read_input_byte:1 +msgid "" +"Reads one byte from standard input without blocking and removes it from " +"the input buffer." +msgstr "" + +#: 1c9014ebcf7f4b32b584054a2c1f662d of pybricks.tools.read_input_byte:4 +msgid "" +"Choose ``True`` to read the last (most recent) byte in the buffer and " +"discard the rest. Choose ``False`` to read only the first (oldest) byte." +msgstr "" + +#: ef165bccf89e47f08d69e9d07de61bd0 of pybricks.tools.read_input_byte:7 +msgid "Choose ``True`` to convert the result to a one-character string." +msgstr "" + +#: ddd9f5d32bfe46698b9afc6f8261ca70 of pybricks.tools.read_input_byte:10 +msgid "" +"The byte that was read, as a numeric value (``0`` to ``255``) or string " +"(e.g. ``\"B\"``). Returns ``None`` if no data is available. If " +"``chr=True``, it also return ``None`` if the byte that was read is not " +"printable as a character." +msgstr "" + +#: ../../main/tools/index.rst:55 28a2ea5678b741eeab78ecc6cac8b002 +msgid "Added ``last`` and ``chr`` options." +msgstr "" + +#: d75ba8b8f8964c15830b22d4dd9940d6 of pybricks.tools.hub_menu:1 +msgid "" +"Shows a menu on the hub display and waits for the user to select an item " +"using the buttons. Can be used in your own menu-program that lets you " +"choose which of your other programs to run." +msgstr "" + +#: 4d5359d45a494b6a86433cbd255ce280 of pybricks.tools.hub_menu:5 +msgid "" +"Note that this is just a convenience function that combines the display, " +"buttons, and waits to make a simple menu. This means that it can be used " +"anywhere in a program, not just at the start." +msgstr "" + +#: e84e5e90c2de463f930473507b71936e of pybricks.tools.hub_menu:9 +msgid "The first symbol to show in the menu." +msgstr "" + +#: 85742d0a024f4af4bfb4983414d3fbb7 of pybricks.tools.hub_menu:11 +msgid "The second symbol, and so on..." +msgstr "" + +#: a9c7e59619d545829ba23ad79ce12deb of pybricks.tools.hub_menu:14 +msgid "The selected symbol." +msgstr "" + +#: ../../main/tools/index.rst:62 dbb145e8ca574c718885781234373b27 +msgid "" +"from pybricks.tools import hub_menu\n" +"\n" +"# This example assumes that you have three other programs in Pybricks " +"Code,\n" +"# called \"fly_mission\", \"drive_mission\", and \"zigzag\". This example" +" creates a\n" +"# menu that lets you pick which one to run.\n" +"\n" +"# Choose a letter.\n" +"selected = hub_menu(\"F\", \"D\", \"Z\")\n" +"\n" +"# Based on the selection, run a program.\n" +"if selected == \"F\":\n" +" import fly_mission\n" +"elif selected == \"D\":\n" +" import drive_mission\n" +"elif selected == \"Z\":\n" +" import zigzag\n" +msgstr "" + +#: ../../main/tools/index.rst:66 a26543bdc2e847da913371dcaa2f836c +msgid "Linear algebra tools" +msgstr "" + +#: ../../main/tools/index.rst:70 2d2bcdf2b7ae4765b4b8b74552db62b3 +msgid "These tools were previously located in the ``pybricks.geometry`` module." +msgstr "" + +#: 10341f4dc3c2466681707c1c4c731a95 of pybricks.tools.Matrix:1 +msgid "" +"Mathematical representation of a matrix. It supports addition (``A + " +"B``), subtraction (``A - B``), and matrix multiplication (``A * B``) for " +"matrices of compatible size." +msgstr "" + +#: 60f3acb5ab9b45d0affc6c75f6165a33 of pybricks.tools.Matrix:5 +msgid "" +"It also supports scalar multiplication (``c * A`` or ``A * c``) and " +"scalar division (``A / c``)." +msgstr "" + +#: a407977d161f4768a5f8b85f4dad5fe9 of pybricks.tools.Matrix:8 +msgid "A :class:`.Matrix` object is immutable." +msgstr "" + +#: 48b3cddceeae4a83b77782ac72a50091 of pybricks.tools.Matrix:10 +msgid "List of rows. Each row is itself a list of numbers." +msgstr "" + +#: ../../docstring f817846e05c64b14873c0951f53e3039 of +#: pybricks.tools.Matrix.T:1 +msgid "Returns a new :class:`.Matrix` that is the transpose of the original." +msgstr "" + +#: ../../docstring c332b07e7fef41f3be646afa0c63179b of +#: pybricks.tools.Matrix.shape:1 +msgid "" +"Returns a tuple (``m``, ``n``), where ``m`` is the number of rows and " +"``n`` is the number of columns." +msgstr "" + +#: ../../main/tools/index.rst:83 07a441ee478b4983aea3f4a4cd107b35 +msgid ".. image:: /blockimg/pybricks_blockVector.svg" +msgstr "" + +#: f638284cbb264871aedafbce9d14bd39 of pybricks.tools.vector:1 +msgid "vector(x, y) -> Matrix vector(x, y, z) -> Matrix" +msgstr "" + +#: ae7eb3af7dde4f1499209008da319041 of pybricks.tools.vector:4 +msgid "" +"Convenience function to create a :class:`.Matrix` with the shape (``2``, " +"``1``) or (``3``, ``1``)." +msgstr "" + +#: 337eafe4ebc7436a9d3e46c8c1488d34 of pybricks.tools.vector:7 +msgid "x-coordinate of the vector." +msgstr "" + +#: f31b81fadaa349bbba67d8f6406b6bdc of pybricks.tools.vector:9 +msgid "y-coordinate of the vector." +msgstr "" + +#: 6c437bea5bcd44668a123cbba83ea460 of pybricks.tools.vector:11 +msgid "z-coordinate of the vector (optional)." +msgstr "" + +#: 2b07fda498b44d1181e0e3012df396a4 of pybricks.tools.vector:14 +msgid "A matrix with the shape of a column vector." +msgstr "" + +#: 3649bf6b10e74e98b8598fb14ae7d4a6 of pybricks.tools.cross:1 +msgid "Gets the cross product ``a`` × ``b`` of two vectors." +msgstr "" + +#: 5a1e4f8ca8b940fe99327f4da1d7f395 73a4b7a7522b4abbade7b901c348f7c2 of +#: pybricks.tools.cross:3 pybricks.tools.cross:5 +msgid "A three-dimensional vector." +msgstr "" + +#: 00d512f702924f27b495f4553ff4b33e of pybricks.tools.cross:8 +msgid "The cross product, also a three-dimensional vector." +msgstr "" + +#: ../../main/tools/index.rst:90 cc3ed2406ebb42bb965c46a538ec0efa +msgid "Multitasking" +msgstr "" + +#: ../../main/tools/index.rst:94 d79790869c7e41eba529e14616385288 +msgid "" +"Pybricks supports cooperative multitasking using the ``async`` and " +"``await`` keywords. This allows operations that normally take some time " +"to complete to run in parallel with other operations." +msgstr "" + +#: ../../main/tools/index.rst:98 5268c3d8f5154d4ebdcc55b91c3a5c89 +msgid ".. image:: /blockimg/pybricks_blockMultiTask.svg" +msgstr "" + +#: 823e1b7558894f3491fe250b80784492 of pybricks.tools.multitask:1 +msgid "" +"Runs multiple coroutines concurrently. This creates a new coroutine that " +"can be used like any other, including in another ``multitask`` statement." +msgstr "" + +#: 9d552173d9ec44f7b1939fa6fa8285f7 of pybricks.tools.multitask:4 +msgid "One or more coroutines to run in parallel." +msgstr "" + +#: cb91e86ba48c4a64b57e6fc9b8f8aa09 of pybricks.tools.multitask:7 +msgid "" +"Choose ``False`` to wait for all coroutines to finish. Choose ``True`` to" +" wait for one coroutine to finish and then cancel the others, as if it's " +"a \"race\"." +msgstr "" + +#: c2bc04cd3ad44c8eb8f3ac0693e28ac4 of pybricks.tools.multitask:12 +msgid "" +"Tuple of the return values of each coroutine. Unfinished coroutines will " +"have ``None`` as their return value." +msgstr "" + +#: 96200a0caee948b69823a5c01298f185 of pybricks.tools.run_task:1 +msgid "" +"Runs a coroutine from start to finish while blocking the rest of the " +"program. This is used primarily to run the main coroutine of a program." +msgstr "" + +#: be9dd0086ed74090a8a5909bffd2d2ab of pybricks.tools.run_task:4 +msgid "Calls to this function are not allowed to be nested." +msgstr "" + +#: 069c3bd3d6b34636b121b27d60be9af0 of pybricks.tools.run_task:6 +msgid "The main coroutine to run." +msgstr "" + +#: abb87427d8cf48afb29f6896eeed1ff1 of pybricks.tools.run_task:9 +msgid "" +"If no ``coroutine`` is given, this function returns whether the run loop " +"is currently active (``True``) or not (``False``)." +msgstr "" + +#: ../../main/tools/index.rst:104 17b6c1df82254f878eeaaf7dea8586c3 +msgid "" +"The following example shows how to use multitasking to make a robot drive" +" forward, then turn and move a gripper at the same time, and then drive " +"backward." +msgstr "" + +#: ../../main/tools/index.rst:108 c8757ca07ad540e189aac45e16307824 +msgid "" +"from pybricks.pupdevices import Motor\n" +"from pybricks.parameters import Direction, Port\n" +"from pybricks.robotics import DriveBase\n" +"from pybricks.tools import multitask, run_task\n" +"\n" +"# Set up all devices.\n" +"left = Motor(Port.A, Direction.COUNTERCLOCKWISE)\n" +"right = Motor(Port.B)\n" +"gripper = Motor(Port.C)\n" +"drive_base = DriveBase(left, right, 56, 114)\n" +"\n" +"\n" +"# Move the gripper up and down.\n" +"async def move_gripper():\n" +" await gripper.run_angle(500, -90)\n" +" await gripper.run_angle(500, 90)\n" +"\n" +"\n" +"# Drive forward, turn move gripper at the same time, and drive backward.\n" +"async def main():\n" +" await drive_base.straight(250)\n" +" await multitask(drive_base.turn(90), move_gripper())\n" +" await drive_base.straight(-250)\n" +"\n" +"\n" +"# Runs the main program from start to finish.\n" +"run_task(main())\n" +msgstr "" + +#: ../../main/tools/index.rst:115 750d7d9900034684954c71ba4962e460 +msgid "" +"Whenever you see a function or method prefixed by ``await``, this means " +"that it supports multitasking. When running a coroutine with " +"``run_task``, all methods and functions prefixed by ``await`` will act as" +" coroutines." +msgstr "" + +#: ../../main/tools/index.rst:119 aed044f7d8e74414a2faa5ca9f0d6690 +msgid "" +"If you don't use multitasking, you can ignore the ``await`` keyword and " +"write programs as usual. Specifically, when ``run_task`` is not used, " +"functions prefixed by ``await`` will act as normal functions." +msgstr "" + From 304e406b06030a3e2356ea223c82c2ca45c555bd Mon Sep 17 00:00:00 2001 From: vke Date: Sun, 26 Jan 2025 20:14:31 +0100 Subject: [PATCH 3/8] locales/de: sample translation if index.po --- doc/locales/de/LC_MESSAGES/index.po | 62 +++++++++++++++++------------ 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/doc/locales/de/LC_MESSAGES/index.po b/doc/locales/de/LC_MESSAGES/index.po index 631a1f82..e82e73d4 100644 --- a/doc/locales/de/LC_MESSAGES/index.po +++ b/doc/locales/de/LC_MESSAGES/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-26 19:45+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,79 +19,91 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/index.rst:47 +#: ../../../main/index.rst:47 msgid "Table of contents" -msgstr "" +msgstr "Inhaltsverzeichnis" -#: ../../main/index.rst:52 +#: ../../../main/index.rst:52 msgid "Pybricks modules" -msgstr "" +msgstr "Pybricks-Module" -#: ../../main/index.rst:65 +#: ../../../main/index.rst:65 msgid "Code with blocks" -msgstr "" +msgstr "Code mit Blöcken" -#: ../../main/index.rst:72 +#: ../../../main/index.rst:72 msgid "MicroPython modules" -msgstr "" +msgstr "MicroPython-Module" -#: ../../main/index.rst:2 d8a5a3bce53e4b26a9fa905abb1f7aeb +#: ../../../main/index.rst:2 msgid "Pybricks Documentation" -msgstr "" +msgstr "Pybricks-Dokumentation" -#: ../../main/index.rst:4 ace3f6b560d74c5d8310a1ec605a5cb1 +#: ../../../main/index.rst:4 msgid "" "`Pybricks `_ is Python coding for smart LEGO® " "hubs. Run MicroPython scripts directly on the hub, and get full control " "of your motors and sensors." msgstr "" +"`Pybricks `_ ist Python-Programmierung für intelligente LEGO® " +"Hubs. Führen Sie MicroPython-Skripte direkt auf dem Hub aus und erhalten Sie " +"volle Kontrolle über Ihre Motoren und Sensoren." -#: ../../main/index.rst:8 5af5bfe703cb456987231815f44b2cfe +#: ../../../main/index.rst:8 msgid "" "Pybricks runs on LEGO® BOOST, City, Technic, MINDSTORMS®, and SPIKE®. You" " can code using Windows, Mac, Linux, Chromebook, and Android." msgstr "" +"Pybricks läuft auf LEGO® BOOST, City, Technic, MINDSTORMS® und SPIKE®. Sie " +"können mit Windows, Mac, Linux, Chromebook und Android programmieren." -#: ../../main/index.rst:11 d6db49cd2dca414b94258551fd876cb1 +#: ../../../main/index.rst:11 msgid "" "Click on any device below to see its documentation. Use the menu on the " "left to find documentation for additional modules. You may need to click " "the ☰ icon above to reveal this menu." msgstr "" +"Klicken Sie unten auf ein Gerät, um dessen Dokumentation anzuzeigen. Verwenden " +"Sie das Menü auf der linken Seite, um die Dokumentation für zusätzliche Module " +"zu finden. Möglicherweise müssen Sie auf das ☰-Symbol oben klicken, um dieses " +"Menü anzuzeigen." -#: ../../main/index.rst:17 8edd21d2913c4d208e06954de552c473 +#: ../../../main/index.rst:17 msgid "" "You are viewing the stand-alone version of the documentation. To learn " "more about Pybricks and to start coding, visit the `Pybricks website`_" msgstr "" +"Sie sehen die eigenständige Version der Dokumentation. Um mehr über Pybricks " +"zu erfahren und mit dem Programmieren zu beginnen, besuchen Sie die `Pybricks-Website`_" -#: ../../main/index.rst:21 6ada5d3378004bf785cb4d04f15e6fce +#: ../../../main/index.rst:21 msgid "" "Are you using LEGO MINDSTORMS EV3? Check out the `EV3 documentation`_ " "instead." msgstr "" +"Verwenden Sie LEGO MINDSTORMS EV3? Schauen Sie stattdessen in die " +"`EV3-Dokumentation`_." -#: ../../main/index.rst:28 241d4b5322ac4018be4c4150422314c5 +#: ../../../main/index.rst:28 msgid "Programmable hubs" -msgstr "" +msgstr "Programmierbare Hubs" -#: ../../main/index.rst:29 50e55b7c46524e5ba88fd4bbedd5588c +#: ../../../main/index.rst:29 msgid ".. image:: ../main/cad/output/hub-all.png" msgstr "" -#: ../../main/index.rst:34 c1a176dd78fc443e880d6facee8d502a +#: ../../../main/index.rst:34 msgid "Powered Up motors and sensors" -msgstr "" +msgstr "Powered Up Motoren und Sensoren" -#: ../../main/index.rst:35 6c8cc15971ec413ab0ea49f9112eaed2 +#: ../../../main/index.rst:35 msgid ".. image:: ../main/cad/output/pupdevice-all.png" msgstr "" -#: ../../main/index.rst:39 833315cebf2c4adca3cdffdeaae1573a +#: ../../../main/index.rst:39 msgid ".. image:: ../main/cad/output/pupdevice-motors.png" msgstr "" -#: ../../main/index.rst:43 81874ef831ce4f1b87e55026cc18fd9d +#: ../../../main/index.rst:43 msgid ".. image:: ../main/cad/output/pupdevice-dcmotors.png" msgstr "" - From bebe285820fd012072c7b4f8b3170a2f490adf15 Mon Sep 17 00:00:00 2001 From: vke Date: Thu, 30 Jan 2025 22:08:29 +0100 Subject: [PATCH 4/8] locales: add sphinx extension to localize code comments --- CONTRIBUTING.md | 41 +++++ doc/extensions/translated_literalinclude.py | 163 ++++++++++++++++++++ doc/main/conf.py | 8 +- 3 files changed, 211 insertions(+), 1 deletion(-) create mode 100644 doc/extensions/translated_literalinclude.py diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 21881385..9bb4429c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -118,6 +118,47 @@ Then follows a list of arguments: Then follows a description of the return value. The type is omitted here since it is already include in the docstring signature. +**Translating Code Examples:** + +The documentation system supports translating comments in code examples without duplicating the code itself. This is particularly useful for maintaining example code in multiple languages while keeping the actual code synchronized. + +Directory Structure: +``` +examples/ +├── micropython/ +│ └── example.py # Original example with English comments +└── translations/ + └── de/ # Language code (e.g., 'de' for German) + └── micropython/ + └── example.py.comments # Translations file +``` + +Translation Files: +- Create a `.comments` file in the corresponding language directory +- Use the format: `original comment = translated comment` +- Each translation should be on a new line +- Lines starting with `#` are ignored (can be used for translator notes) + +Example translation file (`example.py.comments`): +``` +# Translations for example.py +Initialize the motor. = Initialisiere den Motor. +Start moving at 500 deg/s. = Beginne die Bewegung mit 500 Grad/Sekunde. +``` + +In RST files, use the `translated-literalinclude` directive instead of `literalinclude` to include code examples that should have translated comments: + +```rst +.. translated-literalinclude:: + ../../../examples/micropython/example.py +``` + +The translation system will: +1. Include the original code file +2. If building for a non-English language, look for corresponding `.comments` file +3. Replace comments with translations if they exist +4. Fall back to original comments if no translation exists + **Development environment:** Prerequisites: diff --git a/doc/extensions/translated_literalinclude.py b/doc/extensions/translated_literalinclude.py new file mode 100644 index 00000000..ed048ae4 --- /dev/null +++ b/doc/extensions/translated_literalinclude.py @@ -0,0 +1,163 @@ +""" +Sphinx extension for including code files with translated comments. +""" +import os +from pathlib import Path +from docutils import nodes +from docutils.parsers.rst import directives +from sphinx.directives.code import LiteralInclude, container_wrapper +from sphinx.util import logging as sphinx_logging +from sphinx.util.nodes import set_source_info + +logger = sphinx_logging.getLogger(__name__) + +class TranslatedNode(nodes.literal_block): + """Custom node that can be pickled.""" + def astext(self): + return self.rawsource + +class TranslatedLiteralInclude(LiteralInclude): + """A LiteralInclude directive that supports translated comments.""" + + option_spec = LiteralInclude.option_spec.copy() + option_spec['language'] = directives.unchanged + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.translations = {} + + def load_translations(self, source_file: Path, language: str) -> dict: + """Load translations for the given file and language. + + Args: + source_file: Path to the source file + language: Target language code + + Returns: + Dictionary of original comments to translated comments + """ + try: + project_root = Path(__file__).parent.parent.parent + rel_path = Path(source_file).relative_to(project_root) + + # Get path relative to examples directory + try: + examples_index = rel_path.parts.index('examples') + rel_to_examples = Path(*rel_path.parts[examples_index + 1:]) + except ValueError: + logger.error(f"Source file not in examples directory: {rel_path}") + return {} + + trans_path = project_root / 'examples' / 'translations' / language / f"{rel_to_examples}.comments" + + if not trans_path.exists(): + logger.warning(f"No translation file found at: {trans_path}") + return {} + + translations = {} + for line in trans_path.read_text(encoding='utf-8').splitlines(): + line = line.strip() + if line and not line.startswith('#'): + try: + orig, trans = line.split('=', 1) + translations[orig.strip()] = trans.strip() + except ValueError: + logger.warning(f"Invalid translation line: {line}") + + logger.info(f"Loaded {len(translations)} translations") + return translations + + except Exception as e: + logger.error(f"Error loading translations: {e}") + return {} + + def translate_content(self, content: str, language: str) -> str: + """Translate comments in the content using loaded translations.""" + if not language or language == 'en': + return content + + result = [] + translations_used = 0 + + for line in content.splitlines(): + stripped = line.strip() + if stripped.startswith('#'): + comment_text = stripped[1:].strip() + if comment_text in self.translations: + indent = line[:len(line) - len(stripped)] + result.append(f"{indent}# {self.translations[comment_text]}") + translations_used += 1 + else: + result.append(line) + else: + result.append(line) + + logger.info(f"Applied {translations_used} translations") + return '\n'.join(result) + + def run(self): + env = self.state.document.settings.env + language = (getattr(env.config, 'language', None) or 'en')[:2].lower() + + # Get absolute path of source file + source_file = Path(env.srcdir) / self.arguments[0] + if '..' in str(source_file): + project_root = Path(__file__).parent.parent.parent + parts = Path(self.arguments[0]).parts + up_count = sum(1 for part in parts if part == '..') + source_file = project_root.joinpath(*parts[up_count:]) + + source_file = source_file.resolve() + logger.info(f"Processing file: {source_file}") + + # Load translations for non-English languages + if language != 'en': + self.translations = self.load_translations(source_file, language) + + # Get original content and process nodes + document = super().run() + if not self.translations: + return document + + result = [] + for node in document: + if not isinstance(node, nodes.literal_block): + result.append(node) + continue + + translated_content = self.translate_content(node.rawsource, language) + new_node = TranslatedNode( + translated_content, + translated_content, + source=node.source, + line=node.line + ) + + # Copy node attributes + new_node['language'] = node.get('language', 'python') + new_node['highlight_args'] = node.get('highlight_args', {}) + new_node['linenos'] = node.get('linenos', False) + new_node['classes'] = node.get('classes', []) + + if 'caption' in node: + new_node['caption'] = node['caption'] + + set_source_info(self, new_node) + + # Apply container wrapper if needed + caption = node.get('caption', '') or self.options.get('caption', '') + if caption or node.get('linenos', False): + new_node = container_wrapper(self, new_node, caption) + + result.append(new_node) + + return result + +def setup(app): + app.add_directive('translated-literalinclude', TranslatedLiteralInclude) + app.add_node(TranslatedNode) + return { + 'version': '0.1', + 'parallel_read_safe': True, + 'parallel_write_safe': True, + } diff --git a/doc/main/conf.py b/doc/main/conf.py index df42900a..243b2b33 100644 --- a/doc/main/conf.py +++ b/doc/main/conf.py @@ -45,8 +45,14 @@ \usepackage{newtxsf} """ +# Add path to our extensions +sys.path.append(os.path.abspath("../extensions")) + exec(open(os.path.abspath("../common/conf.py")).read()) +# Add our custom extension +extensions.append("translated_literalinclude") # noqa F821 + # Additional configuration of the IDE docs if "ide" in tags.tags: # noqa F821 extensions.remove("sphinx.ext.mathjax") # noqa F821 @@ -54,7 +60,7 @@ html_theme_options["prev_next_buttons_location"] = None # noqa F821 # Internationalization configuration -language = 'en' +language = os.environ.get('SPHINX_LANGUAGE', 'en') locale_dirs = ['../locales'] # path relative to conf.py location gettext_compact = False # optional gettext_uuid = True # Use UUIDs to preserve translations when text moves From bdd76c6622d44e7f23a7c21cf440af832328889a Mon Sep 17 00:00:00 2001 From: vke Date: Thu, 30 Jan 2025 22:12:29 +0100 Subject: [PATCH 5/8] locales: add code example translations for micropython page note that these translations have been generated using Claude 3.5 --- doc/main/micropython/micropython.rst | 12 +++++++++--- .../translations/de/micropython/const.py.comments | 5 +++++ .../de/micropython/keyboard_interrupt.py.comments | 9 +++++++++ .../translations/de/micropython/memstat.py.comments | 8 ++++++++ .../translations/de/micropython/memuse.py.comments | 2 ++ 5 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 examples/translations/de/micropython/const.py.comments create mode 100644 examples/translations/de/micropython/keyboard_interrupt.py.comments create mode 100644 examples/translations/de/micropython/memstat.py.comments create mode 100644 examples/translations/de/micropython/memuse.py.comments diff --git a/doc/main/micropython/micropython.rst b/doc/main/micropython/micropython.rst index c1ebda54..20d9c9ed 100644 --- a/doc/main/micropython/micropython.rst +++ b/doc/main/micropython/micropython.rst @@ -29,13 +29,13 @@ Examples Using constants for efficiency ****************************** -.. literalinclude:: +.. translated-literalinclude:: ../../../examples/micropython/const.py Checking free RAM ****************************** -.. literalinclude:: +.. translated-literalinclude:: ../../../examples/micropython/memuse.py This prints information in the format shown below. In this example for the @@ -47,8 +47,14 @@ the variables in your code. :: No. of 1-blocks: 4, 2-blocks: 2, max blk sz: 8, max free sz: 16103 +Handling keyboard interrupts +****************************** + +.. translated-literalinclude:: + ../../../examples/micropython/keyboard_interrupt.py + Getting more memory statistics ****************************** -.. literalinclude:: +.. translated-literalinclude:: ../../../examples/micropython/memstat.py diff --git a/examples/translations/de/micropython/const.py.comments b/examples/translations/de/micropython/const.py.comments new file mode 100644 index 00000000..43a94997 --- /dev/null +++ b/examples/translations/de/micropython/const.py.comments @@ -0,0 +1,5 @@ +# German translations for const.py comments +This value can be used here. Other files can import it too. = Dieser Wert kann hier verwendet werden. Andere Dateien können ihn auch importieren. +These values can only be used within this file. = Diese Werte können nur innerhalb dieser Datei verwendet werden. +You can read the constants as normal values. The compiler = Sie können die Konstanten wie normale Werte lesen. Der Compiler +will just insert the numeric values for you. = wird die numerischen Werte für Sie einsetzen. diff --git a/examples/translations/de/micropython/keyboard_interrupt.py.comments b/examples/translations/de/micropython/keyboard_interrupt.py.comments new file mode 100644 index 00000000..b3caac3a --- /dev/null +++ b/examples/translations/de/micropython/keyboard_interrupt.py.comments @@ -0,0 +1,9 @@ +# German translations for keyboard_interrupt.py comments +Initialize the motor. = Initialisiere den Motor. +Start moving at 500 deg/s. = Beginne die Bewegung mit 500 Grad/Sekunde. +If you click on the terminal window and press CTRL+C, = Wenn Sie auf das Terminal-Fenster klicken und STRG+C drücken, +you can continue debugging in this terminal. = können Sie das Debugging in diesem Terminal fortsetzen. +You can also do this to exit the script and enter the = Sie können dies auch tun, um das Skript zu beenden und das +terminal. Variables in the global scope are still available. = Terminal aufzurufen. Variablen im globalen Bereich sind weiterhin verfügbar. +For example, you can copy the following line to the terminal = Zum Beispiel können Sie die folgende Zeile in das Terminal kopieren, +to get the angle, because test_motor is still available. = um den Winkel zu erhalten, da test_motor noch verfügbar ist. diff --git a/examples/translations/de/micropython/memstat.py.comments b/examples/translations/de/micropython/memstat.py.comments new file mode 100644 index 00000000..2d423b59 --- /dev/null +++ b/examples/translations/de/micropython/memstat.py.comments @@ -0,0 +1,8 @@ +# German translations for memstat.py comments +Get stack at start. = Stack-Zustand zu Beginn ermitteln. +Print REPL compiler optimization level. = REPL-Compiler-Optimierungsstufe ausgeben. +Print memory usage. = Speichernutzung ausgeben. +Print memory usage and a memory map. = Speichernutzung und Speicherkarte ausgeben. +Print interned string information. = Informationen zu internen Strings ausgeben. +Print interned string information and their names. = Informationen zu internen Strings und deren Namen ausgeben. +Check the stack. = Stack überprüfen. diff --git a/examples/translations/de/micropython/memuse.py.comments b/examples/translations/de/micropython/memuse.py.comments new file mode 100644 index 00000000..9b532300 --- /dev/null +++ b/examples/translations/de/micropython/memuse.py.comments @@ -0,0 +1,2 @@ +# German translations for memuse.py comments +Print memory usage. = Speichernutzung ausgeben. From b85809e5eb3eeb5d3fa91ea6dd844b36463ef03f Mon Sep 17 00:00:00 2001 From: vke Date: Thu, 30 Jan 2025 22:49:24 +0100 Subject: [PATCH 6/8] locales: dont follow code examples for gettext --- doc/main/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/main/conf.py b/doc/main/conf.py index 243b2b33..dd9e4aaf 100644 --- a/doc/main/conf.py +++ b/doc/main/conf.py @@ -65,7 +65,7 @@ gettext_compact = False # optional gettext_uuid = True # Use UUIDs to preserve translations when text moves gettext_location = True # Include locations as comments for reference -gettext_additional_targets = ['literal-block', 'image'] # Also translate code blocks and image captions +gettext_additional_targets = ['image'] # Also translate image captions # Build hub specific example scripts. sys.path.append(os.path.abspath("../../examples/pup/hub_common")) From f1211cb00d0db11fd7a3ceeab8732cd955c6ae43 Mon Sep 17 00:00:00 2001 From: vke Date: Thu, 30 Jan 2025 22:51:12 +0100 Subject: [PATCH 7/8] locales: update pristine import --- doc/locales/de/LC_MESSAGES/blocks/index.po | 132 +-- doc/locales/de/LC_MESSAGES/hubs/cityhub.po | 403 ++----- .../de/LC_MESSAGES/hubs/essentialhub.po | 675 +++-------- doc/locales/de/LC_MESSAGES/hubs/index.po | 16 +- doc/locales/de/LC_MESSAGES/hubs/movehub.po | 467 ++------ doc/locales/de/LC_MESSAGES/hubs/primehub.po | 1047 ++++------------- doc/locales/de/LC_MESSAGES/hubs/technichub.po | 647 +++------- doc/locales/de/LC_MESSAGES/index.po | 62 +- doc/locales/de/LC_MESSAGES/iodevices/index.po | 12 +- .../de/LC_MESSAGES/iodevices/lwp3device.po | 40 +- .../de/LC_MESSAGES/iodevices/pupdevice.po | 115 +- .../LC_MESSAGES/iodevices/xboxcontroller.po | 126 +- .../de/LC_MESSAGES/micropython/builtins.po | 733 +++++------- .../de/LC_MESSAGES/micropython/exceptions.po | 142 +-- .../de/LC_MESSAGES/micropython/micropython.po | 149 +-- .../de/LC_MESSAGES/micropython/uerrno.po | 26 +- doc/locales/de/LC_MESSAGES/micropython/uio.po | 24 +- .../de/LC_MESSAGES/micropython/ujson.po | 42 +- .../de/LC_MESSAGES/micropython/umath.po | 250 ++-- .../de/LC_MESSAGES/micropython/urandom.po | 84 +- .../de/LC_MESSAGES/micropython/uselect.po | 72 +- .../de/LC_MESSAGES/micropython/ustruct.po | 184 +-- .../de/LC_MESSAGES/micropython/usys.po | 54 +- doc/locales/de/LC_MESSAGES/parameters/axis.po | 8 +- .../de/LC_MESSAGES/parameters/button.po | 34 +- .../de/LC_MESSAGES/parameters/color.po | 99 +- .../de/LC_MESSAGES/parameters/direction.po | 30 +- doc/locales/de/LC_MESSAGES/parameters/icon.po | 234 ++-- .../de/LC_MESSAGES/parameters/index.po | 6 +- doc/locales/de/LC_MESSAGES/parameters/port.po | 6 +- doc/locales/de/LC_MESSAGES/parameters/side.po | 34 +- doc/locales/de/LC_MESSAGES/parameters/stop.po | 62 +- .../pupdevices/colordistancesensor.po | 251 +--- .../pupdevices/colorlightmatrix.po | 28 +- .../de/LC_MESSAGES/pupdevices/colorsensor.po | 318 +---- .../de/LC_MESSAGES/pupdevices/dcmotor.po | 141 +-- .../de/LC_MESSAGES/pupdevices/forcesensor.po | 133 +-- .../de/LC_MESSAGES/pupdevices/index.po | 30 +- .../LC_MESSAGES/pupdevices/infraredsensor.po | 63 +- .../de/LC_MESSAGES/pupdevices/light.po | 81 +- .../de/LC_MESSAGES/pupdevices/motor.po | 664 +++-------- .../de/LC_MESSAGES/pupdevices/pfmotor.po | 103 +- .../de/LC_MESSAGES/pupdevices/remote.po | 220 +--- .../de/LC_MESSAGES/pupdevices/tiltsensor.po | 48 +- .../pupdevices/ultrasonicsensor.po | 115 +- doc/locales/de/LC_MESSAGES/robotics.po | 334 ++---- doc/locales/de/LC_MESSAGES/signaltypes.po | 236 ++-- doc/locales/de/LC_MESSAGES/tools/index.po | 207 ++-- 48 files changed, 2779 insertions(+), 6208 deletions(-) diff --git a/doc/locales/de/LC_MESSAGES/blocks/index.po b/doc/locales/de/LC_MESSAGES/blocks/index.po index 094e50e8..d9b7da42 100644 --- a/doc/locales/de/LC_MESSAGES/blocks/index.po +++ b/doc/locales/de/LC_MESSAGES/blocks/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,265 +19,265 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/blocks/index.rst:4 bbf0428a87c744a5a41a61a5c7400df3 +#: ../../main/blocks/index.rst:4 4a3bd35813e54c9a95e29be82035f77e msgid "Other blocks" msgstr "" -#: ../../main/blocks/index.rst:6 9bae0978607a44e7a43a904bbc8b78da +#: ../../main/blocks/index.rst:6 4e641d9f5a644b8f922ba5bb8558ffce msgid "" "Most blocks correspond directly to one of the documented Python commands." " This page lists the remaining blocks." msgstr "" -#: ../../main/blocks/index.rst:9 d9afda44235f483cbfa80dcff99425cc +#: ../../main/blocks/index.rst:9 8483628c42ba428cb76d9f6aa73c663e msgid "This page will be expanded with more details in the next release." msgstr "" -#: ../../main/blocks/index.rst:12 403c5b901ce44977b923464492863ac9 +#: ../../main/blocks/index.rst:12 2505c3173a6c4034b1407b0f2d44b52f msgid "Math" msgstr "" -#: ../../main/blocks/index.rst:14 97cf5a87c81f49579d668718f79cceb9 +#: ../../main/blocks/index.rst:14 96912ef980eb4794a9d458b55a401609 msgid "See also :mod:`umath` for other math operations." msgstr "" -#: ../../main/blocks/index.rst:16 97ce10b7b672416c813919fdc5604497 +#: ../../main/blocks/index.rst:16 794448b9703249aab496ff18631d08b1 msgid ".. image:: /blockimg/pybricks_blockMathFormula.svg" msgstr "" -#: ../../main/blocks/index.rst:18 e9c5805792b1449b9d5fe1310b0de6de +#: ../../main/blocks/index.rst:18 914e4011e3b84c3eb1ef7bb5197bf2d2 msgid ".. image:: /blockimg/pybricks_blockMathOp_modulo.svg" msgstr "" -#: ../../main/blocks/index.rst:20 61a507b760d94187a9fe373e7a6d9523 +#: ../../main/blocks/index.rst:20 d28313f0015f411285718405402e470f msgid ".. image:: /blockimg/pybricks_blockMathArithmetic_add.svg" msgstr "" -#: ../../main/blocks/index.rst:22 ae6386f043ff4586867442a2b580b865 +#: ../../main/blocks/index.rst:22 31a46bb3400b4c2ea424191476d8ca53 msgid ".. image:: /blockimg/pybricks_blockMathArithmetic_minus.svg" msgstr "" -#: ../../main/blocks/index.rst:24 84c7b562816d47faac134f1efadaf896 +#: ../../main/blocks/index.rst:24 371738c0deb74faf93edc7eec0f0b3db msgid ".. image:: /blockimg/pybricks_blockMathArithmetic_multiply.svg" msgstr "" -#: ../../main/blocks/index.rst:26 a45f79e48d5843d997d26e3b269d0df4 +#: ../../main/blocks/index.rst:26 e87e866f96b1462882f4b0267efe66fb msgid ".. image:: /blockimg/pybricks_blockMathArithmetic_divide.svg" msgstr "" -#: ../../main/blocks/index.rst:28 84edf51e89fc442192fcb9188db0f8a9 +#: ../../main/blocks/index.rst:28 218c844a37404409a21457060519c917 msgid ".. image:: /blockimg/pybricks_blockMathArithmetic_power.svg" msgstr "" -#: ../../main/blocks/index.rst:31 8a10c0e4fd624489a9171a0fc5b2c8aa +#: ../../main/blocks/index.rst:31 b2f0675e99ad41f3b83c9e85b35e5548 msgid "Logic" msgstr "" -#: ../../main/blocks/index.rst:33 b87b7ad68ce147d9be21e5facebdc0f6 +#: ../../main/blocks/index.rst:33 0d8bffe42bb04ca188cc6700604b4eaa msgid ".. image:: /blockimg/pybricks_blockLogicCompareDouble.svg" msgstr "" -#: ../../main/blocks/index.rst:35 1bad08140a10482db9f0037ace2ec149 +#: ../../main/blocks/index.rst:35 e8e15c46d6b24ef88ea668a034e92784 msgid ".. image:: /blockimg/pybricks_blockLogicCompare_eq.svg" msgstr "" -#: ../../main/blocks/index.rst:37 e96d4aaecd57425a8a48831c50b7b2ce +#: ../../main/blocks/index.rst:37 3d5d1ae00ee641b8a9aae032345d73ac msgid ".. image:: /blockimg/pybricks_blockLogicCompare_gte.svg" msgstr "" -#: ../../main/blocks/index.rst:39 4be5575aae46431fa907b322665a4f37 +#: ../../main/blocks/index.rst:39 294afce3a1404a8aaf6f0a4ba5fea5ee msgid ".. image:: /blockimg/pybricks_blockLogicCompare_gt.svg" msgstr "" -#: ../../main/blocks/index.rst:41 53f1f13d6d7f418aa9715a15e6d4c494 +#: ../../main/blocks/index.rst:41 ffbb8e24d5004e18a5d918836971a8f3 msgid ".. image:: /blockimg/pybricks_blockLogicCompare_lte.svg" msgstr "" -#: ../../main/blocks/index.rst:43 1e9a25d8c3214c77ae496eaec15a4baf +#: ../../main/blocks/index.rst:43 447783e6397a4745ab7560baeb4df381 msgid ".. image:: /blockimg/pybricks_blockLogicCompare_lt.svg" msgstr "" -#: ../../main/blocks/index.rst:45 348b163b01f843618406b16cbdf93712 +#: ../../main/blocks/index.rst:45 0e615ebd1be640ed81834c4c621eb090 msgid ".. image:: /blockimg/pybricks_blockLogicCompare_neq.svg" msgstr "" -#: ../../main/blocks/index.rst:47 5e13277fe2274bfb89f3ab9f2ffd0000 +#: ../../main/blocks/index.rst:47 8f117b0d8a3b49bd9c06a1ac74b90188 msgid ".. image:: /blockimg/pybricks_blockLogicIsNone_is_none.svg" msgstr "" -#: ../../main/blocks/index.rst:49 f745df7fd9c544d0bd4fae86f181b9ec +#: ../../main/blocks/index.rst:49 11c84055c4ef4b67b5c99f2dc2f299c3 msgid ".. image:: /blockimg/pybricks_blockLogicIsNone_is_not_none.svg" msgstr "" -#: ../../main/blocks/index.rst:51 8a09d74a4909486d9bb57233039164db +#: ../../main/blocks/index.rst:51 78c0aa7820d54ccdb811e6a9c4adfd41 msgid ".. image:: /blockimg/pybricks_blockLogicIsNone_not.svg" msgstr "" -#: ../../main/blocks/index.rst:53 b9db063093894cd09da24f2cab19e24c +#: ../../main/blocks/index.rst:53 95fc85d08f0a4dfc80d5a513cbed9cfc msgid ".. image:: /blockimg/pybricks_blockLogicOperation_and.svg" msgstr "" -#: ../../main/blocks/index.rst:55 69c2788fef634435a2995ac36d3df14e +#: ../../main/blocks/index.rst:55 646ccb76890841f3a40f06aff62814be msgid ".. image:: /blockimg/pybricks_blockLogicOperation_or.svg" msgstr "" -#: ../../main/blocks/index.rst:57 5cb193e92e724dbc91984f3ec080ad43 +#: ../../main/blocks/index.rst:57 e2eac44e2bf7437bbab95c7c689e423f msgid ".. image:: /blockimg/pybricks_blockLogicTernary.svg" msgstr "" -#: ../../main/blocks/index.rst:59 21b141f3869e475e9cc8d14ce1190b75 +#: ../../main/blocks/index.rst:59 e63b8b8f48374cf5876072d275998706 msgid ".. image:: /blockimg/pybricks_blockLogicTernaryDouble.svg" msgstr "" -#: ../../main/blocks/index.rst:61 62d75ce07ebb40918ba84824c82c9ac6 +#: ../../main/blocks/index.rst:61 423825b40b8b4c50ba2b384a5b7f1c43 msgid ".. image:: /blockimg/pybricks_blockIsIn.svg" msgstr "" -#: ../../main/blocks/index.rst:64 de1f9fa6415e40cfa67e3ca629097efc +#: ../../main/blocks/index.rst:64 14390f76325345d7a5b0878ca572bb59 msgid "Flow" msgstr "" -#: ../../main/blocks/index.rst:66 95e47af1a51540b89901ee14aecc4a71 +#: ../../main/blocks/index.rst:66 607dd43edddf40a3b1ff97aa98af1060 msgid ".. image:: /blockimg/pybricks_blockFlowBreakContinue_break.svg" msgstr "" -#: ../../main/blocks/index.rst:68 109a025be48648358af331d6f3d8a42d +#: ../../main/blocks/index.rst:68 08c50293350f4de482de9e77062caeef msgid ".. image:: /blockimg/pybricks_blockFlowBreakContinue_continue.svg" msgstr "" -#: ../../main/blocks/index.rst:70 6703456e0b9a4d0683d329cf181afb2b +#: ../../main/blocks/index.rst:70 4499312148534f1390cb99bc91c0add1 msgid ".. image:: /blockimg/pybricks_blockFlowForEach_loop_for.svg" msgstr "" -#: ../../main/blocks/index.rst:72 728a9743fa05458080cbb18c899575fe +#: ../../main/blocks/index.rst:72 1a309e69fb364249b4dc07ea4d12fcac msgid ".. image:: /blockimg/pybricks_blockFlowForEach_loop_for_list.svg" msgstr "" -#: ../../main/blocks/index.rst:74 5e460a7e3a8348ce9e2070f5cee7f4e4 +#: ../../main/blocks/index.rst:74 c51a9dd357fb433ab6765704e27df1a9 msgid ".. image:: /blockimg/pybricks_blockFlowForEach_loop_for_range.svg" msgstr "" -#: ../../main/blocks/index.rst:76 c2f6ab8fe0ae449987adc3463138ff43 +#: ../../main/blocks/index.rst:76 e074d94dc4ad4b3a81b1032b9f32314e msgid ".. image:: /blockimg/pybricks_blockFlowRepeat.svg" msgstr "" -#: ../../main/blocks/index.rst:78 a392be3b7edb4414b593d2f427c7fefa +#: ../../main/blocks/index.rst:78 e5825856fe2d44869e635e0e951e7171 msgid ".. image:: /blockimg/pybricks_blockFlowWhile_until.svg" msgstr "" -#: ../../main/blocks/index.rst:80 d7889bea5be344869a2ea0214777d032 +#: ../../main/blocks/index.rst:80 588297cf0c7949a0ab257fabe1b8521c msgid ".. image:: /blockimg/pybricks_blockFlowWhile_while.svg" msgstr "" -#: ../../main/blocks/index.rst:83 f0c8e8cd2f6d405ea9e9c71caf3523b4 +#: ../../main/blocks/index.rst:83 d2c207d9689d48b8a9b0fb2e8c277e5c msgid ".. image:: /blockimg/pybricks_blockIfElse_if_else.svg" msgstr "" -#: ../../main/blocks/index.rst:85 bc836bd1a2a04cda95c6db1bcf4463f8 +#: ../../main/blocks/index.rst:85 f8f49d3cce7f48d4936153fa2643d7f6 msgid ".. image:: /blockimg/pybricks_blockIfElse_if_else_else.svg" msgstr "" -#: ../../main/blocks/index.rst:87 75531194266a47b78929dbbdbab44db3 +#: ../../main/blocks/index.rst:87 7c46cb2e9c4349e89e1ead3baa1e3956 msgid ".. image:: /blockimg/pybricks_blockIfElse_if_only.svg" msgstr "" -#: ../../main/blocks/index.rst:91 4e565b0ba4e64a61b9a355c5c581e793 +#: ../../main/blocks/index.rst:91 7af993fdca7d4c73a1434d478ae9d20e msgid "Device and system setup" msgstr "" -#: ../../main/blocks/index.rst:93 aa8ef9f52beb42a5bdb0e8fbb3a0044b +#: ../../main/blocks/index.rst:93 2591602c21ce4d97933feb435a126761 msgid ".. image:: /blockimg/pybricks_blockGlobalSetup.svg" msgstr "" -#: ../../main/blocks/index.rst:96 3be4165b492445adb750c5309c9398ac +#: ../../main/blocks/index.rst:96 21fc09268ec74451b2a601700b0b8ab2 msgid "Waiting" msgstr "" -#: ../../main/blocks/index.rst:98 5da78e0d825c43dbb08adb67541f6107 +#: ../../main/blocks/index.rst:98 623831b00fbc4d8e85160bfd9669968e msgid ".. image:: /blockimg/pybricks_blockWaitTime.svg" msgstr "" -#: ../../main/blocks/index.rst:100 ca374cae706141d295a833d4ef02af9d +#: ../../main/blocks/index.rst:100 cf86fb78735b426288fb65f8c1734a31 msgid ".. image:: /blockimg/pybricks_blockWaitUntil.svg" msgstr "" -#: ../../main/blocks/index.rst:102 ced49d50361e4b9688ed0f19b26ef720 +#: ../../main/blocks/index.rst:102 60e3eedc459e4b90a4daf060c49e593a msgid ".. image:: /blockimg/pybricks_blockWaitForever.svg" msgstr "" -#: ../../main/blocks/index.rst:107 7c5da062009c4cbe9bc59070860d0dcd +#: ../../main/blocks/index.rst:107 04ad83b9bbdb4ef783d130cf47146879 msgid "Variables" msgstr "" -#: ../../main/blocks/index.rst:109 fab70143d7154714a180d105ee4559d4 +#: ../../main/blocks/index.rst:109 3fa27066ba2e4284a8d2503fb07cdd61 msgid ".. image:: /blockimg/pybricks_variables_setup_any.svg" msgstr "" -#: ../../main/blocks/index.rst:111 9a349582da5e457f82bb90d2ad7c3150 +#: ../../main/blocks/index.rst:111 3a7531df1a424437b96b715064356cc6 msgid ".. image:: /blockimg/pybricks_blockVariableGetValue.svg" msgstr "" -#: ../../main/blocks/index.rst:113 46342489c31d4681b07490fd35f8b627 +#: ../../main/blocks/index.rst:113 c16d107ec09b487aaf288b7383e8f0fb msgid ".. image:: /blockimg/pybricks_blockVariableSetValue.svg" msgstr "" -#: ../../main/blocks/index.rst:116 5989311707e145e6b8a175e957188320 +#: ../../main/blocks/index.rst:116 02c650ebaf8844338b8e5475c33a68be msgid "Multitasking" msgstr "" -#: ../../main/blocks/index.rst:118 c9ebf66a838248e38ec4b2a9bbacc6a9 +#: ../../main/blocks/index.rst:118 6821e7c0334249a28670b015791bb724 msgid ".. image:: /blockimg/pybricks_blockGlobalStart.svg" msgstr "" -#: ../../main/blocks/index.rst:120 6585c34381844be6a4c0c58a1e62ff2b +#: ../../main/blocks/index.rst:120 d3cd3218186841bd8e31c20ad5aeae35 msgid ".. image:: /blockimg/pybricks_blockMultiTask.svg" msgstr "" -#: ../../main/blocks/index.rst:123 f9401481c49842389ade49d67e84cbfa +#: ../../main/blocks/index.rst:123 c3eca9040e384e89b8e1bc44b96beb67 msgid "Your own tasks" msgstr "" -#: ../../main/blocks/index.rst:125 8fa430fad1dd40baadc702d6f7e180a7 +#: ../../main/blocks/index.rst:125 da319652506f4757a94aef8ca1dcbaa8 msgid ".. image:: /blockimg/pybricks_variables_setup_function_basic.svg" msgstr "" -#: ../../main/blocks/index.rst:127 46845a6d83e64e9a822e714dabe3739e +#: ../../main/blocks/index.rst:127 979a3485580c4b568db464dddec20edb msgid ".. image:: /blockimg/pybricks_variables_setup_function_with_args.svg" msgstr "" -#: ../../main/blocks/index.rst:129 7a837e832eca4760ad24745a0be276f9 +#: ../../main/blocks/index.rst:129 79c714f6301b481caaa3f0f2e652ed96 msgid ".. image:: /blockimg/pybricks_blockTaskReturn.svg" msgstr "" -#: ../../main/blocks/index.rst:132 c64e5a9c408f40ce85a4cdc566fd78b7 +#: ../../main/blocks/index.rst:132 ff9ed6f4df5144438465a92ddc196452 msgid "External tasks" msgstr "" -#: ../../main/blocks/index.rst:134 e28f90992fd84dd296f20a07ac052fb0 +#: ../../main/blocks/index.rst:134 c45145e87eeb4528bf81c6bd15608be1 msgid ".. image:: /blockimg/pybricks_variables_setup_imported_function.svg" msgstr "" -#: ../../main/blocks/index.rst:136 3e16c9941f36448ba8628ce6aab78395 +#: ../../main/blocks/index.rst:136 13a9e2f0a939481686c3009fcb623686 msgid ".. image:: /blockimg/pybricks_blockImportTaskCallStatement.svg" msgstr "" -#: ../../main/blocks/index.rst:138 1f3b09b2e8ce41c98dd9a711f4a4a765 +#: ../../main/blocks/index.rst:138 7062c663837944b1b355ec1781d7751d msgid ".. image:: /blockimg/pybricks_blockImportTaskCallValue.svg" msgstr "" -#: ../../main/blocks/index.rst:141 d0a7739b589b470cbb5e0679db876fd7 +#: ../../main/blocks/index.rst:141 d875fa47be1f4330aaf08d495d30f72d msgid "Comments" msgstr "" -#: ../../main/blocks/index.rst:143 082d8f7f50164884bd1d7421573d3481 +#: ../../main/blocks/index.rst:143 1a98d39a829f47a9b168ddc95d4ba274 msgid ".. image:: /blockimg/pybricks_blockComment.svg" msgstr "" -#: ../../main/blocks/index.rst:146 79298fb781ca4dfd841553ad76a65c2f +#: ../../main/blocks/index.rst:146 c1cdb1f70b364df8bccede6b5fcc9c30 msgid "Stopping programs" msgstr "" -#: ../../main/blocks/index.rst:148 d91019ffdec441cf97be5d79252c8b78 +#: ../../main/blocks/index.rst:148 f8d6ae9c279144a8bc6fef1388d85b6e msgid ".. image:: /blockimg/pybricks_blockProgramStop.svg" msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/hubs/cityhub.po b/doc/locales/de/LC_MESSAGES/hubs/cityhub.po index 44095005..ed3f5c9a 100644 --- a/doc/locales/de/LC_MESSAGES/hubs/cityhub.po +++ b/doc/locales/de/LC_MESSAGES/hubs/cityhub.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,146 +19,146 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/hubs/cityhub.rst:4 faf12c5d72654a509218c2511870f982 +#: ../../main/hubs/cityhub.rst:4 4ae617ef10154301be3a709029bb68ee msgid "City Hub" msgstr "" -#: ../../main/hubs/cityhub.rst:5 1c9a41f2591140d0862ba00fb24d1d20 +#: ../../main/hubs/cityhub.rst:5 db3cccb9e6934e59887980dd9481b53a msgid ".. image:: ../../main/cad/output/hub-city.png" msgstr "" -#: ../../main/hubs/cityhub.rst:8 d95eb1bf435d4fa998893d69b7ace8ad +#: ../../main/hubs/cityhub.rst:8 48e5d394b709426d9c5c30869f6a3aa9 msgid ".. image:: /blockimg/pybricks_variables_set_city_hub_option0.svg" msgstr "" -#: ../../main/hubs/cityhub.rst:10 a5f5811bf49f4ba5adb602b3d723735f +#: ../../main/hubs/cityhub.rst:10 a013a491ae6f4654b97468387bc4560a msgid ".. image:: /blockimg/pybricks_variables_set_city_hub_option3.svg" msgstr "" -#: b96588ecd5d2431b8d45065237e3bfec of pybricks.hubs.CityHub:1 +#: 7e8bbae80e064d4aae95c305f6816c62 of pybricks.hubs.CityHub:1 msgid "LEGO® City Hub." msgstr "" -#: ../../main/hubs/cityhub.rst 03fbcad1f9a841ef879ec1c15a5b3e3d -#: 1b0358c241104fffa0d2b5d1baab3245 27badc64a2f941aeba7a76764e65da49 -#: 64497fc002ab447ba4dd029bb9957c95 84287270ecf04a91896a0c1347a7863b -#: 860934d9b1454044a0ab91edac18b5e5 ad7e0d4560494893ba3a2cc51fffb3cc -#: c61b88a861d445afb42bc39a6a634a02 e08a29d5f18540b0958226d56bdf88b6 +#: ../../main/hubs/cityhub.rst 0174f5f358fb48b9b815e94d8e842bb0 +#: 3aaf809bdee145fcb50cd873c2b19bb2 92c0be9d5f9a468dba8c79a8a86d20c0 +#: b38317e9c9a2485f949503daa31d2be8 b67d4765404c4663a1ce0825e4a8b022 +#: c71db08681c141ca838b6839ecbad2c9 cb88f0b968c348bc997a8de4890e063b +#: d2749f2dc7c0443c9604d53ea3019138 e701013148fa458cbdae335309e44677 msgid "Parameters" msgstr "" -#: 15ad9c0b75634f5d946f60eda53457c9 of pybricks.hubs.CityHub:3 +#: bee4619064b844678e54bd5a75330bff of pybricks.hubs.CityHub:3 msgid "" "A value from 0 to 255 indicating which channel ``hub.ble.broadcast()`` " "will use. Default is channel 0." msgstr "" -#: 33f657aeeacd49859ac840b63a2ac072 of pybricks.hubs.CityHub:5 +#: fd9a4ac31b9c4b1182763684e5754cfe of pybricks.hubs.CityHub:5 msgid "" "A list of channels to listen to when ``hub.ble.observe()`` is called. " "Listening to more channels requires more memory. Default is an empty list" " (no channels)." msgstr "" -#: d175e96a086043e9acd6443c85c6fa87 of pybricks.hubs.CityHub:9 +#: 0d1774d9f4fc4175861b25353dc6437e of pybricks.hubs.CityHub:9 msgid "Added *broadcast_channel* and *observe_channels* arguments." msgstr "" -#: ../../main/hubs/cityhub.rst:17 a4f1537ce31d459da612450006b22d5f +#: ../../main/hubs/cityhub.rst:17 96423e3202da46eeae8dcc4fa5424eaf msgid "Using the hub status light" msgstr "" -#: ../../main/hubs/cityhub.rst:18 4d964d10df8d4798a94c1792aff56e8e +#: ../../main/hubs/cityhub.rst:18 b44a7f0c1db045cdbeb4b7ff354f2050 msgid ".. image:: /blockimg/pybricks_blockLightOnColor_cityhub_on.svg" msgstr "" -#: 088015529dee4b21889f9faa369bf364 of pybricks._common.ColorLight.on:1 +#: 56e1f9dfaf8f4ba6b503ca21dedcf9fb of pybricks._common.ColorLight.on:1 msgid "Turns on the light at the specified color." msgstr "" -#: 16fc4d38ce1f4b5e94c5e817690e6e6c fce6d6fe4666407083a70e8a07125ff1 of +#: 90aeafd39be84a8699976d870c4f5a45 a3d301919b59473ebd171a1f88d5abb5 of #: pybricks._common.ColorLight.blink:11 pybricks._common.ColorLight.on:3 msgid "Color of the light." msgstr "" -#: ../../main/hubs/cityhub.rst:22 2e4f6d1722704c248011bf1df7cab27a +#: ../../main/hubs/cityhub.rst:22 767789cee0d344ebbdfd6362e2f0de9e msgid ".. image:: /blockimg/pybricks_blockLightOnColor_cityhub_off.svg" msgstr "" -#: 0894188fa7cb4b6eb040446a02953109 of pybricks._common.ColorLight.off:1 +#: c1c960a0d476457690d605d895b9222f of pybricks._common.ColorLight.off:1 msgid "Turns off the light." msgstr "" -#: ace2f8db08ff423c87bed4bea64e06bd of pybricks._common.ColorLight.blink:1 +#: 7b60fb1d1c744d61a4e5a8425e31a253 of pybricks._common.ColorLight.blink:1 msgid "" "Blinks the light at a given color by turning it on and off for given " "durations." msgstr "" -#: a263b7ed4717405a8f956e8d65ca82e7 of pybricks._common.ColorLight.blink:4 +#: 31d237d89e254baea54473a768404e07 of pybricks._common.ColorLight.blink:4 msgid "" "The light keeps blinking indefinitely while the rest of your program " "keeps running." msgstr "" -#: 95d275a84d524c26995fc28b5eb6fa55 of pybricks._common.ColorLight.blink:7 +#: bca5118bccfc4aeea43f76df0f2458ba of pybricks._common.ColorLight.blink:7 msgid "" "This method provides a simple way to make basic but useful patterns. For " "more generic and multi-color patterns, use ``animate()`` instead." msgstr "" -#: b2cb572bea614068b39e9bfa97028cf7 of pybricks._common.ColorLight.blink:13 +#: f9753a49dbf9442f837599b2d4a5c7d2 of pybricks._common.ColorLight.blink:13 msgid "Sequence of time values of the form ``[on_1, off_1, on_2, off_2, ...]``." msgstr "" -#: f533aa0b16fe4c938a9fde6a32605525 of pybricks._common.ColorLight.animate:1 +#: 81fa383c624f464e91502c4ef790999c of pybricks._common.ColorLight.animate:1 msgid "" "Animates the light with a sequence of colors, shown one by one for the " "given interval." msgstr "" -#: 7ebe8735de3147ccbd4a6cd2656e62ef of pybricks._common.ColorLight.animate:4 +#: de96ffa667174c5a9dfdffa14496e2c8 of pybricks._common.ColorLight.animate:4 msgid "" "The animation runs in the background while the rest of your program keeps" " running. When the animation completes, it repeats." msgstr "" -#: 694dc2455a704be28aa6b52f06446057 of pybricks._common.ColorLight.animate:7 +#: e4151f1fbae3455e885eb83236ebfa9a of pybricks._common.ColorLight.animate:7 msgid "Sequence of :class:`Color <.parameters.Color>` values." msgstr "" -#: 0ef99f7f21ef4608a4be6e22344315a8 of pybricks._common.ColorLight.animate:10 +#: 02bd31ac9b27468fa054b59be1f75df7 of pybricks._common.ColorLight.animate:10 msgid "Time between color updates." msgstr "" -#: ../../main/hubs/cityhub.rst:31 1c33b768312a41fab39ea71620c6d92a +#: ../../main/hubs/cityhub.rst:31 1b7c1fad31194207b595f80b5272641f msgid "Using connectionless Bluetooth messaging" msgstr "" -#: ../../main/hubs/cityhub.rst:32 3ca9e34bfebf46cba5d904f2390e2d81 +#: ../../main/hubs/cityhub.rst:32 2010e23e68964d4bba29a07985357193 msgid ".. image:: /blockimg/pybricks_blockBleBroadcast_CityHub.svg" msgstr "" -#: 60835a3856bb4882a04f9f56f3fbc640 of pybricks._common.BLE.broadcast:1 +#: 55c19a1fefc54328ad2fb77247fc2b5f of pybricks._common.BLE.broadcast:1 msgid "" "Starts broadcasting the given data on the ``broadcast_channel`` you " "selected when initializing the hub." msgstr "" -#: 5d747120e7434d75b40166ceb2d6ba11 of pybricks._common.BLE.broadcast:4 +#: 048d736916284e04b96078c7f7dbcba2 of pybricks._common.BLE.broadcast:4 msgid "" "Data may be of type ``int``, ``float``, ``str``, ``bytes``, ``True``, or " "``False``, or a list thereof." msgstr "" -#: 496cfdfda52046ef84e9e8323a2c9a49 of pybricks._common.BLE.broadcast:7 +#: 70f57c4609cb45ed8ecba974b7d2006d of pybricks._common.BLE.broadcast:7 msgid "" "Choose ``None`` to stop broadcasting. This helps improve performance when" " you don't need the broadcast feature, especially when observing at the " "same time." msgstr "" -#: 3379248231db4fc2bd777d8d3145f1db of pybricks._common.BLE.broadcast:11 +#: 3d2a770523234ab58d101cafa83a2cb6 of pybricks._common.BLE.broadcast:11 msgid "" "The total data size is quite limited (26 bytes). ``True`` and ``False`` " "take 1 byte each. ``float`` takes 5 bytes. ``int`` takes 2 to 5 bytes " @@ -166,7 +166,7 @@ msgid "" " of bytes in the object plus one extra byte." msgstr "" -#: 21d69eb948d54bcf8da38430fbcadc94 of pybricks._common.BLE.broadcast:16 +#: 36ade315bb3448d2bd08a4073d0721f0 of pybricks._common.BLE.broadcast:16 msgid "" "When multitasking, only one task can broadcast at a time. To broadcast " "information from multiple tasks (or block stacks), you could use a " @@ -174,127 +174,127 @@ msgid "" "variables change." msgstr "" -#: cd32e0957fa24900a9eb1f8c5cc9fc28 of pybricks._common.BLE.broadcast:21 +#: 3f082968d0a548ac892de2f11f11c471 of pybricks._common.BLE.broadcast:21 msgid "The value or values to be broadcast." msgstr "" -#: ../../main/hubs/cityhub.rst:36 f38c7eaeb75e428782f93280ad353d92 +#: ../../main/hubs/cityhub.rst:36 71e61ef57d47473ea6609636f80ecb01 msgid ".. image:: /blockimg/pybricks_blockBleObserve_CityHub.svg" msgstr "" -#: c086388e64f449d682a3dc92be8290c0 of pybricks._common.BLE.observe:1 +#: 5bb853722beb48dcb2305ee05872ef17 of pybricks._common.BLE.observe:1 msgid "Retrieves the last observed data for a given channel." msgstr "" -#: 5acb7814c6ad45388203b3112e96b7a4 of pybricks._common.BLE.observe:3 +#: 1d93748e988749d0a8e0cab1518e906c of pybricks._common.BLE.observe:3 msgid "" "Receiving data is more reliable when the hub is not connected to a " "computer or other devices at the same time." msgstr "" -#: de574f034cfe45f1b075a8db35821490 of pybricks._common.BLE.observe:6 +#: e52e28f3474c43d097e8d6cb096c510d of pybricks._common.BLE.observe:6 msgid "The channel to observe (0 to 255)." msgstr "" -#: ../../main/hubs/cityhub.rst 06e875bf0dc445de9c876ab5f27e516c -#: 0ef1e7ea8b634d8b91c62ee9ba0f6e5e 1c9ac26ce3724d578b9c8bbb07607a8e -#: 5564523205fe47f6b616fee42b71daf9 9a3f2b04a3a149e79db32f2b537d296d -#: a174898c10b145c7be6aef98820c814f b5140f30fc174df4950d3257d98f5404 -#: f054703ab8cd4b1aa37c0883acd3867e +#: ../../main/hubs/cityhub.rst 094d8cc137824f60b7acea0146ac10c9 +#: 28457b7d6df34a998d98f0695ce773ec 3218e1734163414588279a39cb1e6f30 +#: 6a80f8f609084f89835103f81e837714 783c5c67f5dc480a9fb123f40c7c972c +#: 91a1d73480f94596a2f2a498806f4b82 a2759c0c18f04e1599e2aa2df0218b49 +#: bcccccf6d48f4c83addc697434f7825b msgid "Returns" msgstr "" -#: bab4ed6e99434492865ae80bb9ae382e of pybricks._common.BLE.observe:9 +#: 9fe30b5c1b094b5aa0249519b78636fc of pybricks._common.BLE.observe:9 msgid "" "The received data in the same format as it was sent, or ``None`` if no " "recent data is available." msgstr "" -#: 96454d99d2564685a24cf8a72e9729a8 of pybricks._common.BLE.signal_strength:1 +#: 4efb4c79f9394997a5552d410f105373 of pybricks._common.BLE.signal_strength:1 msgid "Gets the average signal strength in dBm for the given channel." msgstr "" -#: 8fa08919108b46e9aaafa3273f82ebd3 of pybricks._common.BLE.signal_strength:3 +#: 6e9a1d834b894005ac80615b858e63a1 of pybricks._common.BLE.signal_strength:3 msgid "" "This indicates how near the broadcasting device is. Nearby devices may " "have a signal strength around -40 dBm, while far away devices might have " "a signal strength around -70 dBm." msgstr "" -#: cc2786baa8fc425e8e0f212c6f4931df of pybricks._common.BLE.signal_strength:7 +#: ac86d50937ac4087a35429911d506b89 of pybricks._common.BLE.signal_strength:7 msgid "The channel number (0 to 255)." msgstr "" -#: 93f7b05c5750481c97e319a00603b58b of pybricks._common.BLE.signal_strength:10 +#: 542b687af2e847588b4c4e8f4ff270fd of pybricks._common.BLE.signal_strength:10 msgid "The signal strength or ``-128`` if there is no recent observed data." msgstr "" -#: 3327e4455f0d4b06ae522df1358653e4 of pybricks._common.BLE.version:1 +#: e1ad637e08554d4586e1b2c1eaf799cb of pybricks._common.BLE.version:1 msgid "Gets the firmware version from the Bluetooth chip." msgstr "" -#: ../../main/hubs/cityhub.rst:45 974ea9a290b94d15b4f28209fc64ea72 +#: ../../main/hubs/cityhub.rst:45 8404a1abeda842889bf3f3d77d7b952f msgid "Using the battery" msgstr "" -#: ../../main/hubs/cityhub.rst:46 68f916e7efaf4510bd7583c1de54d28f +#: ../../main/hubs/cityhub.rst:46 76607165ea034d23bd53b252daf988d5 msgid "" ".. image:: " "/blockimg/pybricks_blockBatteryMeasure_CityHub_battery.voltage.svg" msgstr "" -#: a7becd6b2c314c19bb90243c423bb544 of pybricks._common.Battery.voltage:1 +#: cc9ca03af63548b98e9f2009114567af of pybricks._common.Battery.voltage:1 msgid "Gets the voltage of the battery." msgstr "" -#: 8b6d07c2dfca4ba79004721f49281499 of pybricks._common.Battery.voltage:3 +#: 17bf85cc5b1b47bab5c3ba4d31f91701 of pybricks._common.Battery.voltage:3 msgid "Battery voltage." msgstr "" -#: ../../main/hubs/cityhub.rst:50 db35275eedb04b6aa7ff8515d2cf2c2a +#: ../../main/hubs/cityhub.rst:50 f259a896a1fa4c7894fb3df70de56545 msgid "" ".. image:: " "/blockimg/pybricks_blockBatteryMeasure_CityHub_battery.current.svg" msgstr "" -#: 0011f50bef3843a98f958f5c71771c9b of pybricks._common.Battery.current:1 +#: 341fb362d7a645d995a4a76035860128 of pybricks._common.Battery.current:1 msgid "Gets the current supplied by the battery." msgstr "" -#: 0f1b7ab11466474aaa14468e888412f5 of pybricks._common.Battery.current:3 +#: 4db642f2ef3f427687d69194b66908b6 of pybricks._common.Battery.current:3 msgid "Battery current." msgstr "" -#: ../../main/hubs/cityhub.rst:55 811bca6917f648368ea9310b64fb60e9 +#: ../../main/hubs/cityhub.rst:55 de132d07b40b4fcfb6aaf64e1470869e msgid "Button and system control" msgstr "" -#: ../../main/hubs/cityhub.rst:56 279efbda76ac4eb0809dc20347f2dfa7 +#: ../../main/hubs/cityhub.rst:56 4b59240d243441238911f18b35da4726 msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_CityHub.svg" msgstr "" -#: d4881e9ca1a2446eb5890f8cbe336026 of pybricks._common.Keypad.pressed:1 +#: cf0055eaed6f45d58c118b482476d3f2 of pybricks._common.Keypad.pressed:1 msgid "Checks which buttons are currently pressed." msgstr "" -#: 3737edb9317a4aa6a2a043a7bd93ee49 of pybricks._common.Keypad.pressed:3 +#: 3c373799cd8f47569fc339ed3ddecbfd of pybricks._common.Keypad.pressed:3 msgid "Set of pressed buttons." msgstr "" -#: ../../main/hubs/cityhub.rst:60 ffa99c025539438fb304ac5b5770bd34 +#: ../../main/hubs/cityhub.rst:60 0643e20cc6f5487496f0ebd58c7af80a msgid ".. image:: /blockimg/pybricks_blockHubStopButton_CityHub.svg" msgstr "" -#: ../../main/hubs/cityhub.rst:62 a4491cefad0f4abfa2441d5a7221e686 +#: ../../main/hubs/cityhub.rst:62 231eccc4aeab4f8ca29307a648888506 msgid ".. image:: /blockimg/pybricks_blockHubStopButton_CityHub_none.svg" msgstr "" -#: 1515325f47f04583a2cb4f3e4bc60bbe of +#: 5dc01d0822fe4d2bb79d0c7aa98cb0a3 of #: pybricks._common.System.set_stop_button:1 msgid "Sets the button or button combination that stops a running script." msgstr "" -#: 0d83afd48a3d4861a8cefcef8d9f30c3 of +#: 22b49ec60b1a4a8daf1fbd50b5544264 of #: pybricks._common.System.set_stop_button:3 msgid "" "Normally, the center button is used to stop a running script. You can " @@ -302,7 +302,7 @@ msgid "" "purposes." msgstr "" -#: 2f753e54ecd845e68eee311e6b45939a of +#: a210e21bb71642eea6c50f00b68754d1 of #: pybricks._common.System.set_stop_button:7 msgid "" "A button such as :attr:`Button.CENTER " @@ -311,83 +311,83 @@ msgid "" " still turn the hub off by holding the center button for three seconds." msgstr "" -#: 8d9b56f2d2aa4680aa268be0f541f7ad of pybricks._common.System.name:1 +#: 936baec7f0484936b60a1c98b047d505 of pybricks._common.System.name:1 msgid "Gets the hub name. This is the name you see when connecting via Bluetooth." msgstr "" -#: 6710ddf9b53445329ed9bdfa0cbe067d of pybricks._common.System.name:4 +#: d40ed591242849708e90e541537a38f4 of pybricks._common.System.name:4 msgid "The hub name." msgstr "" -#: d423d5e600a64b46ae834702ab9673cf of pybricks._common.System.storage:1 +#: 3590cdfef7bc4eecbaf3241c6b4e3e17 of pybricks._common.System.storage:1 msgid "Reads or writes binary data to persistent storage." msgstr "" -#: 898106a98e9743129079dac224d15c83 of pybricks._common.System.storage:3 +#: 5e53cb86b9954922809831e13f563136 of pybricks._common.System.storage:3 msgid "" "This lets you store data that can be used the next time you run the " "program." msgstr "" -#: d4b6799f0e5f4a0a963c6bff01456b29 of pybricks._common.System.storage:6 +#: 5370ea2c75cc4653862db7668979bdef of pybricks._common.System.storage:6 msgid "" "The data will be saved to flash memory when you turn the hub off " "normally. It will not be saved if the batteries are removed *while* the " "hub is still running." msgstr "" -#: 89719829651c4b66b9228cdfe2997f9c of pybricks._common.System.storage:10 +#: 31659c511fb14c9c9349a0ec3c64d544 of pybricks._common.System.storage:10 msgid "" "Once saved, the data will remain available even after you remove the " "batteries." msgstr "" -#: b489bcff9ee44d2587223336316f6641 of pybricks._common.System.storage:13 +#: f6d4453ff4254a33b266152723b91ace of pybricks._common.System.storage:13 msgid "The offset from the start of the user storage memory, in bytes." msgstr "" -#: 2ebabce1296a4b08bce76b55f1d894fe of pybricks._common.System.storage:15 +#: ee39e059f22e49909a83432daeb4d8e8 of pybricks._common.System.storage:15 msgid "The number of bytes to read. Omit this argument when writing." msgstr "" -#: d45d9eaf7bbb4948b802a55c198adaff of pybricks._common.System.storage:17 +#: 6e055e407c0144af9b2b80a2c7efeca9 of pybricks._common.System.storage:17 msgid "The bytes to write. Omit this argument when reading." msgstr "" -#: e45474dfe8d24405a22d4b5b8a4b7d5d of pybricks._common.System.storage:20 +#: cf8a02ee5aa7473da18429772ac22925 of pybricks._common.System.storage:20 msgid "The bytes read if reading, otherwise ``None``." msgstr "" -#: ../../main/hubs/cityhub.rst d93adf60e8414c5b8609c93c9e86c220 +#: ../../main/hubs/cityhub.rst c3324eee30c441f2a782c79b766b51b6 msgid "Raises" msgstr "" -#: f4f262121cf84f6d80a00a691898f91d of pybricks._common.System.storage:22 +#: c4c785c85e4b4d0a9b6233988c6be9f3 of pybricks._common.System.storage:22 msgid "If you try to read or write data outside of the allowed range." msgstr "" -#: ../../main/hubs/cityhub.rst:71 7006359686cb481e99c50702cced0710 +#: ../../main/hubs/cityhub.rst:71 cc8cbaae34334b7e88c5225cd289e420 msgid "" "You can store up to 128 bytes of data on this hub. The data is cleared " "when you update the Pybricks firmware or if you restore the original " "firmware." msgstr "" -#: ../../main/hubs/cityhub.rst:75 b3b11bc87926424ba6cdd0050fe506cf +#: ../../main/hubs/cityhub.rst:75 de623d1be0694d078ead3b1cb776d73a msgid ".. image:: /blockimg/pybricks_blockHubShutdown_CityHub.svg" msgstr "" -#: d65e42d9a33b4aa79d549b0f74c5376b of pybricks._common.System.shutdown:1 +#: 03e0433847fd405da3039db55033b58a of pybricks._common.System.shutdown:1 msgid "Stops your program and shuts the hub down." msgstr "" -#: 9a75cf96c8c74de5ba60e53c05423dc2 of pybricks._common.System.reset_reason:1 +#: 6ef629cf88304e1f8d9d9cbd0beeb8f3 of pybricks._common.System.reset_reason:1 msgid "" "Finds out how and why the hub (re)booted. This can be useful to diagnose " "some problems." msgstr "" -#: 91e5d7ead57742719652a52bf851952b of pybricks._common.System.reset_reason:4 +#: 6b5c0107c88048b98ded7aa9586a45bd of pybricks._common.System.reset_reason:4 msgid "" "* ``0`` if the hub was previously powered off normally. * ``1`` if the " "hub rebooted automatically, like after a firmware update. * ``2`` if " @@ -395,268 +395,61 @@ msgid "" " firmware issue." msgstr "" -#: fef78910ae364af083b27baa83218ed8 of pybricks._common.System.reset_reason:6 +#: 94fa7761863e417dba315a6f28ab1002 of pybricks._common.System.reset_reason:6 msgid "``0`` if the hub was previously powered off normally." msgstr "" -#: c019c4b55bb84ec4827fa676a53dcb7f of pybricks._common.System.reset_reason:8 +#: 4459bd51f627432eb764ed8f10ae003a of pybricks._common.System.reset_reason:8 msgid "``1`` if the hub rebooted automatically, like after a firmware update." msgstr "" -#: 5c6c443f34504577aaaada33cbd37cf0 of pybricks._common.System.reset_reason:10 +#: be98830fcea349a8904e0ebd25608f5c of pybricks._common.System.reset_reason:10 msgid "" "``2`` if the hub previously crashed due to a watchdog timeout, which " "indicates a firmware issue." msgstr "" -#: ../../main/hubs/cityhub.rst:82 06077bf518034f569a119c7d137f1012 +#: ../../main/hubs/cityhub.rst:82 01c62d6e444748e09657f0f6d5048a9a msgid "Status light examples" msgstr "" -#: ../../main/hubs/cityhub.rst:85 f1f4124e9b424b19af2e6ee99e2230fd +#: ../../main/hubs/cityhub.rst:85 d62ca8a0a9b04ac2b274bf3a4eb3e429 msgid "Turning the light on and off" msgstr "" -#: ../../main/hubs/cityhub.rst:87 dda9946c91724fd5b0de299299aabcb7 -msgid "" -"from pybricks.hubs import CityHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = CityHub()\n" -"\n" -"# Turn the light on and off 5 times.\n" -"for i in range(5):\n" -"\n" -" hub.light.on(Color.RED)\n" -" wait(1000)\n" -"\n" -" hub.light.off()\n" -" wait(500)\n" -msgstr "" - -#: ../../main/hubs/cityhub.rst:91 deb6e9e3dc774d0295cdbc745d2f5067 +#: ../../main/hubs/cityhub.rst:91 d1e87d02a62c47de8423bee4748d169b msgid "Changing brightness and using custom colors" msgstr "" -#: ../../main/hubs/cityhub.rst:93 4d52884fb8c4407ea918d21a2343e915 -msgid "" -"from pybricks.hubs import CityHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = CityHub()\n" -"\n" -"# Show the color at 30% brightness.\n" -"hub.light.on(Color.RED * 0.3)\n" -"\n" -"wait(2000)\n" -"\n" -"# Use your own custom color.\n" -"hub.light.on(Color(h=30, s=100, v=50))\n" -"\n" -"wait(2000)\n" -"\n" -"# Go through all the colors.\n" -"for hue in range(360):\n" -" hub.light.on(Color(hue))\n" -" wait(10)\n" -msgstr "" - -#: ../../main/hubs/cityhub.rst:97 e2256ca40ee04429972f53d570536198 +#: ../../main/hubs/cityhub.rst:97 6307b8aab1b747aca411e68ef434f44b msgid "Making the light blink" msgstr "" -#: ../../main/hubs/cityhub.rst:99 bcb94cec0be940009d2aa03bc8e85cda -msgid "" -"from pybricks.hubs import CityHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub\n" -"hub = CityHub()\n" -"\n" -"# Keep blinking red on and off.\n" -"hub.light.blink(Color.RED, [500, 500])\n" -"\n" -"wait(10000)\n" -"\n" -"# Keep blinking green slowly and then quickly.\n" -"hub.light.blink(Color.GREEN, [500, 500, 50, 900])\n" -"\n" -"wait(10000)\n" -msgstr "" - -#: ../../main/hubs/cityhub.rst:103 c4a159a2f27d430c89499e43fb85cb21 +#: ../../main/hubs/cityhub.rst:103 3904401bb8ec4d5d9ae81a2fc700e75b msgid "Creating light animations" msgstr "" -#: ../../main/hubs/cityhub.rst:105 48bc5a686aca451e8e5a567f612f4218 -msgid "" -"from pybricks.hubs import CityHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"from umath import sin, pi\n" -"\n" -"# Initialize the hub.\n" -"hub = CityHub()\n" -"\n" -"# Make an animation with multiple colors.\n" -"hub.light.animate([Color.RED, Color.GREEN, Color.NONE], interval=500)\n" -"\n" -"wait(10000)\n" -"\n" -"# Make the color RED grow faint and bright using a sine pattern.\n" -"hub.light.animate([Color.RED * (0.5 * sin(i / 15 * pi) + 0.5) for i in " -"range(30)], 40)\n" -"\n" -"wait(10000)\n" -"\n" -"# Cycle through a rainbow of colors.\n" -"hub.light.animate([Color(h=i * 8) for i in range(45)], interval=40)\n" -"\n" -"wait(10000)\n" -msgstr "" - -#: ../../main/hubs/cityhub.rst:110 2b2add31d7ea431cbdaf61572bf645d6 +#: ../../main/hubs/cityhub.rst:110 e389866e9a1e443e87c05a8233ca7616 msgid "Bluetooth examples" msgstr "" -#: ../../main/hubs/cityhub.rst:113 8e05c1c6a87e4857a94ba53b3f15752c +#: ../../main/hubs/cityhub.rst:113 25caab6f3d764fd7a84060b599b675be msgid "Broadcasting data to other hubs" msgstr "" -#: ../../main/hubs/cityhub.rst:115 b19eeb9ddd2141cdae34a53fcb273100 -msgid "" -"from pybricks.hubs import CityHub\n" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = CityHub(broadcast_channel=1)\n" -"\n" -"# Initialize the motors.\n" -"left_motor = Motor(Port.A)\n" -"right_motor = Motor(Port.B)\n" -"\n" -"while True:\n" -" # Read the motor angles to be sent to the other hub.\n" -" left_angle = left_motor.angle()\n" -" right_angle = right_motor.angle()\n" -"\n" -" # Set the broadcast data and start broadcasting if not already doing " -"so.\n" -" data = (left_angle, right_angle)\n" -" hub.ble.broadcast(data)\n" -"\n" -" # Broadcasts are only sent every 100 milliseconds, so there is no " -"reason\n" -" # to call the broadcast() method more often than that.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/cityhub.rst:119 4756ce9e77194f999381fc78d3706e11 +#: ../../main/hubs/cityhub.rst:119 57d87d506e9b4f70a929b1c94480c7bb msgid "Observing data from other hubs" msgstr "" -#: ../../main/hubs/cityhub.rst:121 54495978c3bc4333a8dc51a406ce38cf -msgid "" -"from pybricks.hubs import CityHub\n" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Color, Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = CityHub(observe_channels=[1])\n" -"\n" -"# Initialize the motors.\n" -"left_motor = Motor(Port.A)\n" -"right_motor = Motor(Port.B)\n" -"\n" -"while True:\n" -" # Receive broadcast from the other hub.\n" -"\n" -" data = hub.ble.observe(1)\n" -"\n" -" if data is None:\n" -" # No data has been received in the last 1 second.\n" -" hub.light.on(Color.RED)\n" -" else:\n" -" # Data was received and is less that one second old.\n" -" hub.light.on(Color.GREEN)\n" -"\n" -" # *data* contains the same values in the same order\n" -" # that were passed to hub.ble.broadcast() on the\n" -" # other hub.\n" -" left_angle, right_angle = data\n" -"\n" -" # Make the motors on this hub mirror the position of the\n" -" # motors on the other hub.\n" -" left_motor.track_target(left_angle)\n" -" right_motor.track_target(right_angle)\n" -"\n" -" # Broadcasts are only sent every 100 milliseconds, so there is\n" -" # no reason to call the observe() method more often than that.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/cityhub.rst:126 4f4e4a7303fe4ebab3193bba879e9985 +#: ../../main/hubs/cityhub.rst:126 394bc35d5f43433ab07161a10e02e308 msgid "Button and system examples" msgstr "" -#: ../../main/hubs/cityhub.rst:129 9598d557692d4869962dbb28ea43f45f +#: ../../main/hubs/cityhub.rst:129 c2c1e6790e104ec1b08c98270bf1c275 msgid "Using the stop button during your program" msgstr "" -#: ../../main/hubs/cityhub.rst:131 ba4677813ce94aa798f7aa6a69783aab -msgid "" -"from pybricks.hubs import CityHub\n" -"from pybricks.parameters import Color, Button\n" -"from pybricks.tools import wait, StopWatch\n" -"\n" -"# Initialize the hub.\n" -"hub = CityHub()\n" -"\n" -"# Disable the stop button.\n" -"hub.system.set_stop_button(None)\n" -"\n" -"# Check the button for 5 seconds.\n" -"watch = StopWatch()\n" -"while watch.time() < 5000:\n" -"\n" -" # Set light to green if pressed, else red.\n" -" if hub.buttons.pressed():\n" -" hub.light.on(Color.GREEN)\n" -" else:\n" -" hub.light.on(Color.RED)\n" -"\n" -"# Enable the stop button again.\n" -"hub.system.set_stop_button(Button.CENTER)\n" -"\n" -"# Now you can press the stop button as usual.\n" -"wait(5000)\n" -msgstr "" - -#: ../../main/hubs/cityhub.rst:135 567424b4e6964b8e8903c35da51c4967 +#: ../../main/hubs/cityhub.rst:135 e0782ed88024498b82f9aec5e097a6bf msgid "Turning the hub off" msgstr "" -#: ../../main/hubs/cityhub.rst:137 45ed5edb9dca4ee3bbf63bda1f6c43ef -msgid "" -"from pybricks.hubs import CityHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = CityHub()\n" -"\n" -"# Say goodbye and give some time to send it.\n" -"print(\"Goodbye!\")\n" -"wait(100)\n" -"\n" -"# Shut the hub down.\n" -"hub.system.shutdown()\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/hubs/essentialhub.po b/doc/locales/de/LC_MESSAGES/hubs/essentialhub.po index 3ce2407a..d478e236 100644 --- a/doc/locales/de/LC_MESSAGES/hubs/essentialhub.po +++ b/doc/locales/de/LC_MESSAGES/hubs/essentialhub.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,27 +19,27 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/hubs/essentialhub.rst:4 09b29e88293c4d42ac82d3baac93598c +#: ../../main/hubs/essentialhub.rst:4 4c32d9d00eee4664afad80d8f680af05 msgid "Essential Hub" msgstr "" -#: ../../main/hubs/essentialhub.rst:6 a7ef9666f4da4347b4db75c73547c10d +#: ../../main/hubs/essentialhub.rst:6 0a0664e997c04a35a5b8d730e1085ad3 msgid ".. image:: ../../main/cad/output/hub-essential.png" msgstr "" -#: ../../main/hubs/essentialhub.rst:9 ac9a340042544ff2814098f0f089ba79 +#: ../../main/hubs/essentialhub.rst:9 987653dc304a4b999d3a37689f8fd0dc msgid ".. image:: /blockimg/pybricks_variables_set_essential_hub_option0.svg" msgstr "" -#: ../../main/hubs/essentialhub.rst:11 2ef5549dff294964ad498566d691c95c +#: ../../main/hubs/essentialhub.rst:11 c5dd6b98b3d24c338fbfe09fb8fee6bb msgid ".. image:: /blockimg/pybricks_variables_set_essential_hub_option4.svg" msgstr "" -#: 4c1c9ea0dc514aa8ae078a2d1ae85970 of pybricks.hubs.EssentialHub:1 +#: 77d920437df74e7abd0f0abf1418a68b of pybricks.hubs.EssentialHub:1 msgid "LEGO® SPIKE Essential Hub." msgstr "" -#: 56370502cef1457580cadc6d1561e9ca of pybricks.hubs.EssentialHub:3 +#: c3ce361698aa40949e3862b50461a92b of pybricks.hubs.EssentialHub:3 msgid "" "Initializes the hub. Optionally, specify how the hub is :ref:`placed in " "your design ` by saying in which direction the top side (with" @@ -47,153 +47,153 @@ msgid "" "B) are pointing." msgstr "" -#: ../../main/hubs/essentialhub.rst 07517519be924cab80d2ed48958c22d8 -#: 17d559ed155f4f13bf75e70e54c9845d 2ef15b1482264304b0e0495a2b93404e -#: 3d65d1a7dfe848e8a7802f2d6c461b4f 4727c9a88ae7492f8a9c5b2a0903038b -#: 5ae9fcc7d76d472387aa07d7e2be2835 9674d1dd10e94cf3b3491c473c6d476a -#: a48333edb2ab4a548f0e8155e5ca0800 a8a02aa0602c49a1a5df511f807a393c -#: c131bfe2b98243618d27e83d6ce784e1 cbe7e7066b084c5c93c2771edf9a4851 -#: e49e00e181e441cdad0fae62f2fcf819 e54520850dd84a80a812bd7e116ff7f0 -#: ed34b11e61cf45e4be736667957ac38c +#: ../../main/hubs/essentialhub.rst 037fc84ddc134abe8e5b0bb614f164bf +#: 13c2c7ba66b64100a596dbb10118eda7 14d707fd2a8a4e998107fc6ab86c80bc +#: 1ea02a6fcd074c3e911f0770a6375e0a 2fa11295cd144cb9b8e4faa60075bc72 +#: 3dc12eec51894f2998ab48e52cc1cb0c 4868cfc38026440ea08db66482805662 +#: 531ea95eb10b41c9b2f425bad6999d11 75b30ad4d3c0465f8a3dc7cf5e53d362 +#: c028756df56f4ca6bc02d5c7cf1f936e c237264883604e34b05484a468e3ae95 +#: c71a5f5d199145ba96d6767bf1f6e72c de675d8d2c594e25945574f5ac797ad2 +#: e689676319074083b0bdf109b126ae1c msgid "Parameters" msgstr "" -#: 27ce49fe395b472284891a8209853788 of pybricks.hubs.EssentialHub:8 +#: e6699a06578d4c4b89535de1dbe7291d of pybricks.hubs.EssentialHub:8 msgid "The axis that passes through the *top side* of the hub." msgstr "" -#: 4726601c71a34e71bd88f96b679cde1f of pybricks.hubs.EssentialHub:11 +#: be0c7e6d76294c128db095934bb9b3d0 of pybricks.hubs.EssentialHub:11 msgid "The axis that passes through the *front side* of the hub." msgstr "" -#: 412506f2454d465383e855e14af2dc5f of pybricks.hubs.EssentialHub:14 +#: 995044140fbf49fa87167fbe6efcb350 of pybricks.hubs.EssentialHub:14 msgid "" "A value from 0 to 255 indicating which channel ``hub.ble.broadcast()`` " "will use. Default is channel 0." msgstr "" -#: 51abe73829694d4eb5c5447b9148f119 of pybricks.hubs.EssentialHub:16 +#: 92f330298f634e9da9b699062c39e04a of pybricks.hubs.EssentialHub:16 msgid "" "A list of channels to listen to when ``hub.ble.observe()`` is called. " "Listening to more channels requires more memory. Default is an empty list" " (no channels)." msgstr "" -#: 63af3705e3104898bd2acff5f977f713 of pybricks.hubs.EssentialHub:20 +#: 5e7585f8e2a94dacb1ec8ed1cfd5d8af of pybricks.hubs.EssentialHub:20 msgid "Added *broadcast_channel* and *observe_channels* arguments." msgstr "" -#: ../../main/hubs/essentialhub.rst:18 cd5e41ab9c5d47af8e73f076587e9047 +#: ../../main/hubs/essentialhub.rst:18 d3ad7aaa0e394cde8900e9f0f77056eb msgid "Using the hub status light" msgstr "" -#: ../../main/hubs/essentialhub.rst:19 c9eccdcda77149768fd942406d1dc7a7 +#: ../../main/hubs/essentialhub.rst:19 e6abc80e40da45678d3584d8e597e1e7 msgid ".. image:: /blockimg/pybricks_blockLightOnColor_essentialhub_on.svg" msgstr "" -#: b4f5bf415baa48ed827f8a4c6ae465ba of pybricks._common.ColorLight.on:1 +#: ac1081a5554c463da0c7bd85ed1e7591 of pybricks._common.ColorLight.on:1 msgid "Turns on the light at the specified color." msgstr "" -#: 0e0405ef1bfb4cc7ab43304d0f171477 e04589e27a054c22ad0798c9f9280823 of +#: 2447e0cc87f844689c49affdacbcf7af a870b2ed206f4b3f9d977c707fb72ae4 of #: pybricks._common.ColorLight.blink:11 pybricks._common.ColorLight.on:3 msgid "Color of the light." msgstr "" -#: ../../main/hubs/essentialhub.rst:23 65edb4fea87040c587c1dc605c5fe962 +#: ../../main/hubs/essentialhub.rst:23 b11d98e958fd40758c61725486cf4656 msgid ".. image:: /blockimg/pybricks_blockLightOnColor_essentialhub_off.svg" msgstr "" -#: 553de262d91145deb847c9123069e56b of pybricks._common.ColorLight.off:1 +#: cf90f0046a7e4bd4ade3e0cad24edc50 of pybricks._common.ColorLight.off:1 msgid "Turns off the light." msgstr "" -#: 0d25c06b71df427fa35caa27eff72767 of pybricks._common.ColorLight.blink:1 +#: 72e3e06d0cc64098aeca54fd68c2d5fb of pybricks._common.ColorLight.blink:1 msgid "" "Blinks the light at a given color by turning it on and off for given " "durations." msgstr "" -#: 2506cb6f90ae41a388aaa920b992159a of pybricks._common.ColorLight.blink:4 +#: 0a6cb76e44574865997f04868ccf72ea of pybricks._common.ColorLight.blink:4 msgid "" "The light keeps blinking indefinitely while the rest of your program " "keeps running." msgstr "" -#: 57ff44bf911e4cbb99392e573a16b3ed of pybricks._common.ColorLight.blink:7 +#: c0dcad62cedd4f889bbe34c78b3f55a2 of pybricks._common.ColorLight.blink:7 msgid "" "This method provides a simple way to make basic but useful patterns. For " "more generic and multi-color patterns, use ``animate()`` instead." msgstr "" -#: 8dc888cb1ecb4eb3a748eb7a78fbe8b3 of pybricks._common.ColorLight.blink:13 +#: fb2355f968244ffe9c30d15591444d26 of pybricks._common.ColorLight.blink:13 msgid "Sequence of time values of the form ``[on_1, off_1, on_2, off_2, ...]``." msgstr "" -#: a1c6f19244b24773ac6b95ae602ad249 of pybricks._common.ColorLight.animate:1 +#: 39df1912e7fc4e999e5f85f1a66323ea of pybricks._common.ColorLight.animate:1 msgid "" "Animates the light with a sequence of colors, shown one by one for the " "given interval." msgstr "" -#: c00986707d62433f85a7add0c5d8faca of pybricks._common.ColorLight.animate:4 +#: 901bb9a0f95b4552ac03b9264a4268d8 of pybricks._common.ColorLight.animate:4 msgid "" "The animation runs in the background while the rest of your program keeps" " running. When the animation completes, it repeats." msgstr "" -#: 9a07b75771f64831bc2bb4314615fea0 of pybricks._common.ColorLight.animate:7 +#: 8ac01f306e5345ff9493aba5601426a8 of pybricks._common.ColorLight.animate:7 msgid "Sequence of :class:`Color <.parameters.Color>` values." msgstr "" -#: cc6232aed68147baa8387a3fee5f7b04 of pybricks._common.ColorLight.animate:10 +#: 91a80155e5ba49f99f391eded9f8927e of pybricks._common.ColorLight.animate:10 msgid "Time between color updates." msgstr "" -#: ../../main/hubs/essentialhub.rst:32 70461b63d22442ba997c347153e8199b +#: ../../main/hubs/essentialhub.rst:32 936a11310aa84431adb2657f3c979481 msgid "Using the button" msgstr "" -#: ../../main/hubs/essentialhub.rst:33 e721b62f9ecb49f78e97e72723ab65f5 +#: ../../main/hubs/essentialhub.rst:33 b03e352c0b8d4557bb8f9e95e80901d8 msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_EssentialHub.svg" msgstr "" -#: 4a88413829f84ca2990b72da5ee22754 of pybricks._common.Keypad.pressed:1 +#: 4f1ccb34cf0244709b94da7861d8c0dd of pybricks._common.Keypad.pressed:1 msgid "Checks which buttons are currently pressed." msgstr "" -#: ../../main/hubs/essentialhub.rst 05273114748345c6862b4f9434e54a55 -#: 091ebfe5e65b49fbb80661ce691e9186 183a935a849a4a3bb0636268d1dfca30 -#: 185d5665ee0146f1b805302de65be291 20d30e74a4d14ae5a5ebf6ecb4e4a6c1 -#: 477d0e4ceb3b4051b5a929bae5122118 511a981d9787447284e10e60b538452a -#: 58bbf081ad224fe98f7335b6f3c05581 6d6d400feda8429d8c518da7792f4d14 -#: 780b274414ff42ccb14a7e6216f951af 7819b75de0ed436db677d5fce5c77994 -#: 7e3f65def44b441aa831e35cd01ac13b 7f3772d45d0144e4bd83a09be1de61b4 -#: 8489ee82614c4befbba121e32a7b3998 8b16e0c86fdb48579f6b3b968138320f -#: b07a4a5fcdad4820986d6b6a811cc609 b08318628af84a60904a7ebf488716c8 -#: b2d90b1e9fc34dd0b7c85e4118cb2509 caea7785e81f466c82dc062cf9580cb2 -#: cfc4844c89f14d6196b02f6f81e869aa +#: ../../main/hubs/essentialhub.rst 001afcafdcd74ecebada1d2b0db3cb22 +#: 12a23442344b4854a79dea349d3ed3c8 29c8ac656ca04890ac231a25dc474c65 +#: 395886ec66bd4d78a862c2230161c824 57f7776bcca24f4ba4c4cf5908bfdcf5 +#: 661597be641f4d368ecd593764fab8b2 8221d817b78b4d3999fc8f637c6f4779 +#: 893c750cc4eb44e19447d223786edafa 91f96b3c6f3846cabbb4ce7f6152822d +#: 9656a267459a452996cd61ad5d1b98f0 a3d5b2601f354df8853537176221d01d +#: b96bb893a6384a1fbfefe571efbc4ba1 bcac30585c474c4b9b762c8fdc8e13cd +#: d012320e4c6145b0a86fc2533c94b5cf dff6b4c71ea143b3af1ae8eba0445667 +#: e182606c6e7c4e2c9db48b437a814581 ea8c685cd26446ab87ee57cbf491f4df +#: f2bf302ed08f4ba7a898f3229465b225 f6a7bc5984784c29a3d5c3ea8d16d90c +#: fb35a2f3b96c48aaae1e9015bc0b36bf msgid "Returns" msgstr "" -#: 2658067bdae049e2b9b38b94f8aa0b55 of pybricks._common.Keypad.pressed:3 +#: 6281882a36214613b0c9d1914f14642f of pybricks._common.Keypad.pressed:3 msgid "Set of pressed buttons." msgstr "" -#: ../../main/hubs/essentialhub.rst:37 aacc9df7159643e483a60289e22ad218 +#: ../../main/hubs/essentialhub.rst:37 3c16c969c0e54778b3a5cc137a314275 msgid ".. image:: /blockimg/pybricks_blockHubStopButton_EssentialHub.svg" msgstr "" -#: ../../main/hubs/essentialhub.rst:39 e306c01a695f4c368cb3d158e623dbc6 +#: ../../main/hubs/essentialhub.rst:39 73522fd1bdf640eca75c50c4033ad5f5 msgid ".. image:: /blockimg/pybricks_blockHubStopButton_EssentialHub_none.svg" msgstr "" -#: 80ff9d1894e14cd1aaaae1aa5368cf46 of +#: 4296716a2c334f23b8304b594f2a0c29 of #: pybricks._common.System.set_stop_button:1 msgid "Sets the button or button combination that stops a running script." msgstr "" -#: 3aaa6824512c4fbd9f9ca4c2786dd036 of +#: e16c87c0acdf4b6b86f7ebfdf6f498ed of #: pybricks._common.System.set_stop_button:3 msgid "" "Normally, the center button is used to stop a running script. You can " @@ -201,7 +201,7 @@ msgid "" "purposes." msgstr "" -#: c490e3e2e3c745bca6c19e57877d80a8 of +#: 34a5fb949e66419c842aaad6d4698ea9 of #: pybricks._common.System.set_stop_button:7 msgid "" "A button such as :attr:`Button.CENTER " @@ -210,19 +210,19 @@ msgid "" " still turn the hub off by holding the center button for three seconds." msgstr "" -#: ../../main/hubs/essentialhub.rst:45 3f04b7af15e04880b19e2dcfa88e46ce +#: ../../main/hubs/essentialhub.rst:45 25bfda961f7f4b378a5359a85e960db9 msgid "Using the IMU" msgstr "" -#: ../../main/hubs/essentialhub.rst:46 0baeff3f9ecf4ef4ad838013f9f65371 +#: ../../main/hubs/essentialhub.rst:46 6edfe48a11d34c8992e31480579fe267 msgid ".. image:: /blockimg/pybricks_blockImuStatus_EssentialHub_ready.svg" msgstr "" -#: aa869da684ab4a6fbcab9eab00de82c1 of pybricks._common.IMU.ready:1 +#: 9347af685be14ecaa01a599ee65b5d50 of pybricks._common.IMU.ready:1 msgid "Checks if the device is calibrated and ready for use." msgstr "" -#: d3792fd5349e42f682ff505bad4b04f2 of pybricks._common.IMU.ready:3 +#: c548e8d51b90425098a29eca5299570f of pybricks._common.IMU.ready:3 msgid "" "This becomes ``True`` when the robot has been sitting stationary for a " "few seconds, which allows the device to re-calibrate. It is ``False`` if " @@ -230,54 +230,54 @@ msgid "" "for more than 10 minutes." msgstr "" -#: 08d4f3b821a7436da93e3f3189c40c33 of pybricks._common.IMU.ready:8 +#: 6b314845f7434ad0a45075468ee2c69e of pybricks._common.IMU.ready:8 msgid "``True`` if it is ready for use, ``False`` if not." msgstr "" -#: ../../main/hubs/essentialhub.rst:50 a40d4d2c180f4c06aed020418bbb8ba8 +#: ../../main/hubs/essentialhub.rst:50 3f40418ef13240abbcb624491bde7622 msgid ".. image:: /blockimg/pybricks_blockImuStatus_EssentialHub_stationary.svg" msgstr "" -#: 7e87bfe7a6f9493f91a280164b2c9bb0 of pybricks._common.IMU.stationary:1 +#: d49273028bfd4d2bbcd4ea2dd544d80a of pybricks._common.IMU.stationary:1 msgid "Checks if the device is currently stationary (not moving)." msgstr "" -#: 969052b63e55489a885137e262fd01cc of pybricks._common.IMU.stationary:3 +#: 2a0be8fa8afe4107a4f1bcc0ecc3b2e9 of pybricks._common.IMU.stationary:3 msgid "``True`` if stationary for at least a second, ``False`` if it is moving." msgstr "" -#: ../../main/hubs/essentialhub.rst:54 edad79af6ede4d168446c3564a44a235 +#: ../../main/hubs/essentialhub.rst:54 39452b219a2c45118648ba619d88b3ce msgid ".. image:: /blockimg/pybricks_blockImuUp_EssentialHub.svg" msgstr "" -#: c2744a2e8a364321ac1fb6c467a24353 of +#: f5399a07e7774deb8db133120c53a5b4 of #: pybricks._common.SimpleAccelerometer.up:1 msgid "Checks which side of the hub currently faces upward." msgstr "" -#: 70418963098d46be9c670f49bfbc818c of +#: 726ed0f92b7e4b3398f50554b288c706 of #: pybricks._common.SimpleAccelerometer.up:3 msgid "" "``Side.TOP``, ``Side.BOTTOM``, ``Side.LEFT``, ``Side.RIGHT``, " "``Side.FRONT`` or ``Side.BACK``." msgstr "" -#: ../../main/hubs/essentialhub.rst:58 77a03e3fa845495ba2fedab1ab345077 +#: ../../main/hubs/essentialhub.rst:58 97cb95b92a534f6c9ff06e1aa669f512 msgid ".. image:: /blockimg/pybricks_blockTilt_EssentialHub_imu.tilt.pitch.svg" msgstr "" -#: ../../main/hubs/essentialhub.rst:60 716eda2dd6034fa0a85ea38ac00fa4aa +#: ../../main/hubs/essentialhub.rst:60 e2a878195c6c4b71b76f70684f299585 msgid ".. image:: /blockimg/pybricks_blockTilt_EssentialHub_imu.tilt.roll.svg" msgstr "" -#: 6ce61ca177884b5e99b64c89c76b1784 of +#: 69a2b2e075264b349676da17078bb56e of #: pybricks._common.SimpleAccelerometer.tilt:1 msgid "" "Gets the pitch and roll angles. This is relative to the :ref:`user-" "specified neutral orientation `." msgstr "" -#: 6947b70c528c40aebf3583d4434e6ccb of +#: ed3a58a0ab2d424c88b5d68dae05e041 of #: pybricks._common.SimpleAccelerometer.tilt:4 msgid "" "The order of rotation is pitch-then-roll. This is equivalent to a " @@ -285,80 +285,80 @@ msgid "" "along the x-axis." msgstr "" -#: a132b1380f7f42a2b2ae90b84a47f893 of +#: 43157103a6794f4e89292d323a74d158 of #: pybricks._common.SimpleAccelerometer.tilt:8 msgid "Tuple of pitch and roll angles in degrees." msgstr "" -#: ../../main/hubs/essentialhub.rst:65 e6f978a17c7b4c3295c29bb911e02f00 +#: ../../main/hubs/essentialhub.rst:65 b68c319305264e2aa3cac20ec2dd71a3 msgid ".. image:: /blockimg/pybricks_blockImuAcceleration_EssentialHub.svg" msgstr "" -#: 283f0d4e743745889f5e585d0d7709ff of +#: b8e074d568ce40eb95fd730cb02ea7f7 of #: pybricks._common.Accelerometer.acceleration:1 msgid "" "Gets the acceleration of the device along a given axis in the :ref:`robot" " reference frame `." msgstr "" -#: e96dddff04ce4b2397c06063c0415dd4 of +#: 387c3869f4be48fa9b78071fd79885f2 of #: pybricks._common.Accelerometer.acceleration:4 msgid "Axis along which the acceleration should be measured." msgstr "" -#: 1d0ac36b61e24f72a8e08099f930bf77 of +#: 2f90cf6c0a394cfc8278950d82c265dd of #: pybricks._common.Accelerometer.acceleration:8 msgid "" "Acceleration along the specified axis. If you specify no axis, this " "returns a vector of accelerations along all axes." msgstr "" -#: ../../main/hubs/essentialhub.rst:69 fdabf1bab2da4131b521b2942a4999f0 +#: ../../main/hubs/essentialhub.rst:69 3b87104de4454e8287520352df91fa21 msgid "" ".. image:: " "/blockimg/pybricks_blockImuRotation_EssentialHub_imu.angular_velocity.svg" msgstr "" -#: b1eeb4c7dcb842f881398b559b44f9a9 of pybricks._common.IMU.angular_velocity:1 +#: 45e18f4ce4394527b0136073d5bc914e of pybricks._common.IMU.angular_velocity:1 msgid "" "Gets the angular velocity of the device along a given axis in the " ":ref:`robot reference frame `." msgstr "" -#: 6d54944349f84d69affe4ddc9ba245a8 of pybricks._common.IMU.angular_velocity:4 +#: 4c6afc417aab42b2b42e3c1ceaa21d9b of pybricks._common.IMU.angular_velocity:4 msgid "Axis along which the angular velocity should be measured." msgstr "" -#: 715d09cba4fe4cacabff5e83416f480f of pybricks._common.IMU.angular_velocity:8 +#: 97959e19585c4579bdb026f3eb97df8d of pybricks._common.IMU.angular_velocity:8 msgid "" "Angular velocity along the specified axis. If you specify no axis, this " "returns a vector of accelerations along all axes." msgstr "" -#: ../../main/hubs/essentialhub.rst:73 e3f50f9df3e34bac919b81ab7f2d1e11 +#: ../../main/hubs/essentialhub.rst:73 38c4a70a31a74f76962704d08435db10 msgid ".. image:: /blockimg/pybricks_blockImuGetHeading_EssentialHub.svg" msgstr "" -#: ab4311d3f0604b7b9a4aa418f650ebac of pybricks._common.IMU.heading:1 +#: f1655e4a0de54af799b6b02c24fecbf9 of pybricks._common.IMU.heading:1 msgid "" "Gets the heading angle of your robot. A positive value means a clockwise " "turn." msgstr "" -#: 28338e0cc7d4408b95be3d9564ee711b of pybricks._common.IMU.heading:4 +#: 03a79c57583a4b5c9443960634e116f3 of pybricks._common.IMU.heading:4 msgid "" "The heading is 0 when your program starts. The value continues to grow " "even as the robot turns more than 180 degrees. It does not wrap around to" " -180 like it does in some apps." msgstr "" -#: a33f42e236f54447a7680d544b40c6f7 of pybricks._common.IMU.heading:9 +#: 21378e8cebf74477a9cd2bc5a5fb49a8 of pybricks._common.IMU.heading:9 msgid "" "*For now, this method only keeps track of the heading while the robot is " "on a flat surface.*" msgstr "" -#: ff7161ac2e564badb94bdba1ef5ced72 of pybricks._common.IMU.heading:12 +#: 9dbf740d685741d9b80ac9d9b538370c of pybricks._common.IMU.heading:12 msgid "" "This means that the value is no longer correct if you lift it from the " "table. To solve this, you can call ``reset_heading`` to reset the heading" @@ -367,87 +367,87 @@ msgid "" "heading 90 degrees as the new starting point." msgstr "" -#: d5128e9c84a24057a230c4a1fe877285 of pybricks._common.IMU.heading:19 +#: 90f64b8c8bb24088ac917d9f179f2bf5 of pybricks._common.IMU.heading:19 msgid "Heading angle relative to starting orientation." msgstr "" -#: ../../main/hubs/essentialhub.rst:77 d9dd3fc7ca2e48e587a1ed43a337cc60 +#: ../../main/hubs/essentialhub.rst:77 73db2eb92574474291ad4b4d48624892 msgid ".. image:: /blockimg/pybricks_blockImuResetHeading_EssentialHub.svg" msgstr "" -#: e3b8e22d04854d718efe12db6a4ec7d5 of pybricks._common.IMU.reset_heading:1 +#: ddc1d5cb9b8e4e1ca1dae3a592923e15 of pybricks._common.IMU.reset_heading:1 msgid "Resets the accumulated heading angle of the robot." msgstr "" -#: 4c4f17c3cf2e43c8ae1e92e68215eae5 of pybricks._common.IMU.reset_heading:3 +#: c07db013f4a34c7284b827d854787558 of pybricks._common.IMU.reset_heading:3 msgid "Value to which the heading should be reset." msgstr "" -#: ../../main/hubs/essentialhub.rst:81 00442181242348c081f7e5eb196fe623 +#: ../../main/hubs/essentialhub.rst:81 704d3c2aa6bd4ba2a1c224cd193605c1 msgid "" ".. image:: " "/blockimg/pybricks_blockImuRotation_EssentialHub_imu.rotation.svg" msgstr "" -#: 845f98aea3e14153b2aa22901cee0211 of pybricks._common.IMU.rotation:1 +#: dcc7a74d4c3e49ae8af85efa3d362e8d of pybricks._common.IMU.rotation:1 msgid "" "Gets the rotation of the device along a given axis in the :ref:`robot " "reference frame `." msgstr "" -#: e0d675950bd14330a64b7b4b16f88f30 of pybricks._common.IMU.rotation:4 +#: f657bb8cdcd34925acdfea0577d74dee of pybricks._common.IMU.rotation:4 msgid "" "This value is useful if your robot *only* rotates along the requested " "axis. For general three-dimensional motion, use the ``orientation()`` " "method instead." msgstr "" -#: e27e5f4756184e289d9763217520725d of pybricks._common.IMU.rotation:8 +#: aba3b41ca4774539849df107c53ceecc of pybricks._common.IMU.rotation:8 msgid "The value starts counting from ``0`` when you initialize this class." msgstr "" -#: 2aafe0e80e4940e6bd8f7939a612113c of pybricks._common.IMU.rotation:10 +#: e002967e47794cd783724bf93217a61a of pybricks._common.IMU.rotation:10 msgid "Axis along which the rotation should be measured." msgstr "" -#: a369f7e5d5d94066a1afe784bdb175d7 of pybricks._common.IMU.rotation:13 +#: 7f684f02489d4a7597476a8b1ca85ebf of pybricks._common.IMU.rotation:13 msgid "The rotation angle." msgstr "" -#: b14919af09fe4d0a92eafed1188d6658 of pybricks._common.IMU.orientation:1 +#: dc4180b064874066a2170bb563a95479 of pybricks._common.IMU.orientation:1 msgid "" "Gets the three-dimensional orientation of the robot in the :ref:`robot " "reference frame `." msgstr "" -#: afe4d71dbbe14e37abe790429a45b1bb of pybricks._common.IMU.orientation:4 +#: 2f6dde7f879142df8a3bec9e87676aa9 of pybricks._common.IMU.orientation:4 msgid "" "It returns a rotation matrix whose columns represent the ``X``, ``Y``, " "and ``Z`` axis of the robot." msgstr "" -#: 096b0ad4219948329895a42405a65782 of pybricks._common.IMU.orientation:7 +#: 06fa188f057e41caa344753d9773169b of pybricks._common.IMU.orientation:7 msgid "This method is not yet implemented." msgstr "" -#: 925c990cedee49509c8391bb9de71c87 of pybricks._common.IMU.orientation:9 +#: 9f6910e9c9634486adf7af0e6341876b of pybricks._common.IMU.orientation:9 msgid "The rotation matrix." msgstr "" -#: e144361ae7824c0ea2c98dde30711106 of pybricks._common.IMU.settings:1 +#: a76742bb2523421a82131d11f200fc1a of pybricks._common.IMU.settings:1 msgid "" "Configures the IMU settings. If no arguments are given, this returns the " "current values." msgstr "" -#: a3d1e553893144a99e9aa82fd04fb6ce of pybricks._common.IMU.settings:4 +#: 7f193619451c490987925bf8f5712832 of pybricks._common.IMU.settings:4 msgid "" "The ``angular_velocity_threshold`` and ``acceleration_threshold`` define " "when the hub is considered stationary. If all measurements stay below " "these thresholds for one second, the IMU will recalibrate itself." msgstr "" -#: 3a6041f861b7460d9976a63784933bad of pybricks._common.IMU.settings:9 +#: 8d13246df7b14213a56a1be36b273717 of pybricks._common.IMU.settings:9 msgid "" "In a noisy room with high ambient vibrations (such as a competition " "hall), it is recommended to increase the thresholds slightly to give your" @@ -457,42 +457,42 @@ msgid "" "second." msgstr "" -#: d7635e62589e43a5b40da0a43a2844c8 of pybricks._common.IMU.settings:16 +#: 658a3ca579154caf8fa611d98bb8eb05 of pybricks._common.IMU.settings:16 msgid "The threshold for angular velocity. The default value is 1.5 deg/s." msgstr "" -#: 63a804d9697c4e57bf4fec7d62a930f4 of pybricks._common.IMU.settings:19 +#: 9db352168aea4fc9b506ec8e0d133d7e of pybricks._common.IMU.settings:19 msgid "The threshold for angular velocity. The default value is 250 mm/s²." msgstr "" -#: ../../main/hubs/essentialhub.rst:90 13ca454b512e440683bf18c70b9f3a06 +#: ../../main/hubs/essentialhub.rst:90 01a94de1d6da4af29870db4a4c4db878 msgid "Using connectionless Bluetooth messaging" msgstr "" -#: ../../main/hubs/essentialhub.rst:91 8e1d32c4ca824d5fb775df8d12b2ddfc +#: ../../main/hubs/essentialhub.rst:91 50dde584fdde4634b75e20d34cbff5ba msgid ".. image:: /blockimg/pybricks_blockBleBroadcast_EssentialHub.svg" msgstr "" -#: d5514e8814a3482b9fc6cce61d6d9a9d of pybricks._common.BLE.broadcast:1 +#: bfc41217501a473e83fc440012c9f592 of pybricks._common.BLE.broadcast:1 msgid "" "Starts broadcasting the given data on the ``broadcast_channel`` you " "selected when initializing the hub." msgstr "" -#: 17898588fa904bbc94bb7853c92dc6af of pybricks._common.BLE.broadcast:4 +#: ad92107a38974a5091160ada6aa5a2f0 of pybricks._common.BLE.broadcast:4 msgid "" "Data may be of type ``int``, ``float``, ``str``, ``bytes``, ``True``, or " "``False``, or a list thereof." msgstr "" -#: c57d0ba56c8c4abcb1af6dbaa53c49cb of pybricks._common.BLE.broadcast:7 +#: a40f3b3803f4463aa57b6549eb2f4116 of pybricks._common.BLE.broadcast:7 msgid "" "Choose ``None`` to stop broadcasting. This helps improve performance when" " you don't need the broadcast feature, especially when observing at the " "same time." msgstr "" -#: 8561e09e7ca64b2f9fe069e3a5d10357 of pybricks._common.BLE.broadcast:11 +#: 03152455d2a042b7bddb1828b3d656ac of pybricks._common.BLE.broadcast:11 msgid "" "The total data size is quite limited (26 bytes). ``True`` and ``False`` " "take 1 byte each. ``float`` takes 5 bytes. ``int`` takes 2 to 5 bytes " @@ -500,7 +500,7 @@ msgid "" " of bytes in the object plus one extra byte." msgstr "" -#: c084c5e2e16e4b578ca3fb1ed24868a2 of pybricks._common.BLE.broadcast:16 +#: cd0b1082e8034e649f1cf9188bd96b11 of pybricks._common.BLE.broadcast:16 msgid "" "When multitasking, only one task can broadcast at a time. To broadcast " "information from multiple tasks (or block stacks), you could use a " @@ -508,214 +508,214 @@ msgid "" "variables change." msgstr "" -#: 458b6ede0c004ef488bb3c0262b80c23 of pybricks._common.BLE.broadcast:21 +#: 33456c7507f8430f8834bd739d7023c8 of pybricks._common.BLE.broadcast:21 msgid "The value or values to be broadcast." msgstr "" -#: ../../main/hubs/essentialhub.rst:95 86b94fd6a7334f6f9ca48ab398fef128 +#: ../../main/hubs/essentialhub.rst:95 835d15ffab5d43e5b4e88528ed44d2d3 msgid ".. image:: /blockimg/pybricks_blockBleObserve_EssentialHub.svg" msgstr "" -#: 140781f852324d309e4f1ea3e6e29b9d of pybricks._common.BLE.observe:1 +#: 9bf0c6e97a3b4be69c90cb69feb25a49 of pybricks._common.BLE.observe:1 msgid "Retrieves the last observed data for a given channel." msgstr "" -#: bd4e4b53f79d42e08f9c2ff34c80a68e of pybricks._common.BLE.observe:3 +#: 1d8244aa4e1d49ecae2f750151fa876e of pybricks._common.BLE.observe:3 msgid "" "Receiving data is more reliable when the hub is not connected to a " "computer or other devices at the same time." msgstr "" -#: 8e81ea35ecd543cdbe1d10eadd409c67 of pybricks._common.BLE.observe:6 +#: 13e5c4e4a4dd49fd80439db27e73aff0 of pybricks._common.BLE.observe:6 msgid "The channel to observe (0 to 255)." msgstr "" -#: df47481a06924275bfd01aadabe596b1 of pybricks._common.BLE.observe:9 +#: 3115eac2ccc74a00b6364128456ff54a of pybricks._common.BLE.observe:9 msgid "" "The received data in the same format as it was sent, or ``None`` if no " "recent data is available." msgstr "" -#: 0a69ff4c6857471e9201ab5040f0ba3a of pybricks._common.BLE.signal_strength:1 +#: c8e2765663ed43a78018d660ca0da437 of pybricks._common.BLE.signal_strength:1 msgid "Gets the average signal strength in dBm for the given channel." msgstr "" -#: 7c0e1180a7fb4bf996cc808dcbc78a61 of pybricks._common.BLE.signal_strength:3 +#: 97a340b45c2043fb80816ec9193d5193 of pybricks._common.BLE.signal_strength:3 msgid "" "This indicates how near the broadcasting device is. Nearby devices may " "have a signal strength around -40 dBm, while far away devices might have " "a signal strength around -70 dBm." msgstr "" -#: 272fb33ba7f9475cbeb7dd1d7aef8fc0 of pybricks._common.BLE.signal_strength:7 +#: 3f895a0d034c4277ae357cb2d18eb5a2 of pybricks._common.BLE.signal_strength:7 msgid "The channel number (0 to 255)." msgstr "" -#: 6a5c6e1513994591b92a71aeae96135a of pybricks._common.BLE.signal_strength:10 +#: 562343e0a527421f942baa018577f005 of pybricks._common.BLE.signal_strength:10 msgid "The signal strength or ``-128`` if there is no recent observed data." msgstr "" -#: 27bfa5415f1b4a2da5bdff168044738c of pybricks._common.BLE.version:1 +#: 0ed069b91e9a448f8d4618c483a6156f of pybricks._common.BLE.version:1 msgid "Gets the firmware version from the Bluetooth chip." msgstr "" -#: ../../main/hubs/essentialhub.rst:104 c45697895e8d4b0faa9df55eb73edc79 +#: ../../main/hubs/essentialhub.rst:104 dce2638e9d9844c388e94f5a1acb2213 msgid "Using the battery" msgstr "" -#: ../../main/hubs/essentialhub.rst:105 2f866d92eb124e9b8952dccdccc20f56 +#: ../../main/hubs/essentialhub.rst:105 3bc9db633f6b4dfcaaa1f968c27a3a1b msgid "" ".. image:: " "/blockimg/pybricks_blockBatteryMeasure_EssentialHub_battery.voltage.svg" msgstr "" -#: e9ee83676d0a43da91d197e7d8c5e449 of pybricks._common.Battery.voltage:1 +#: 9958afa23bf94df0a17fb42dc7adf81a of pybricks._common.Battery.voltage:1 msgid "Gets the voltage of the battery." msgstr "" -#: c28c4da9b3854b15ad7774ed48d9d56c of pybricks._common.Battery.voltage:3 +#: 8ca6c1803e5f4393be77bc7aa105fc85 of pybricks._common.Battery.voltage:3 msgid "Battery voltage." msgstr "" -#: ../../main/hubs/essentialhub.rst:109 c3a38a07ab794daf88eb686cbeefe947 +#: ../../main/hubs/essentialhub.rst:109 bdc19184849b4aaab15a771bd0f1f94f msgid "" ".. image:: " "/blockimg/pybricks_blockBatteryMeasure_EssentialHub_battery.current.svg" msgstr "" -#: 9df4a02d8f304683bf7f5f649f5918de of pybricks._common.Battery.current:1 +#: 4027c355d95a45b3ad89aa4a703e021a of pybricks._common.Battery.current:1 msgid "Gets the current supplied by the battery." msgstr "" -#: 8b6b0be3413d40a58bb8b95e52d83556 of pybricks._common.Battery.current:3 +#: 3aa93932fa9f4b3eb0174252fc63faec of pybricks._common.Battery.current:3 msgid "Battery current." msgstr "" -#: ../../main/hubs/essentialhub.rst:114 822daacddd8f4abe898a7ed6f4604e0d +#: ../../main/hubs/essentialhub.rst:114 0cecf955178b48e79be61346d768c1ca msgid "Getting the charger status" msgstr "" -#: 55554eecf16c4ad685ca8172a030468f of pybricks._common.Charger.connected:1 +#: 8eb27c6b6912498292f536588ea6d158 of pybricks._common.Charger.connected:1 msgid "Checks whether a charger is connected via USB." msgstr "" -#: 0a905c47882c454faf9108319f51770d of pybricks._common.Charger.connected:3 +#: 0306396192944250b6ab3ecfc64b0035 of pybricks._common.Charger.connected:3 msgid "``True`` if a charger is connected, ``False`` if not." msgstr "" -#: 999a05b7daa941faa158fa6c1636ba32 of pybricks._common.Charger.current:1 +#: 33b3ba0b1aec412e92a52a144f8ff472 of pybricks._common.Charger.current:1 msgid "Gets the charging current." msgstr "" -#: c7fceef22a8a4736a497d3ae5a734ad2 of pybricks._common.Charger.current:3 +#: 9143eedfdb8940f8b3edc949a114a8d3 of pybricks._common.Charger.current:3 msgid "Charging current." msgstr "" -#: 722f5360fdc9438ca9ccc945f7700bd0 of pybricks._common.Charger.status:1 +#: f1a32ed678cf4777978891c4b23d0597 of pybricks._common.Charger.status:1 msgid "" "Gets the status of the battery charger, represented by one of the " "following values. This corresponds to the battery light indicator right " "next to the USB port." msgstr "" -#: 3c2cbde2c53d4b35a1b042df838758c2 of pybricks._common.Charger.status:5 +#: 72d9164ec5124f5bb830dc255c7efb43 of pybricks._common.Charger.status:5 msgid "Not charging (light is off)." msgstr "" -#: e7bf3ef0cb984a18b2dd91f3ef3d7659 of pybricks._common.Charger.status:6 +#: f48c2d8cb2aa41f4a0b4da95ad400a80 of pybricks._common.Charger.status:6 msgid "Charging (light is red)." msgstr "" -#: 2c9de1c0b1ae4c3fa92bd1851164f0f6 of pybricks._common.Charger.status:7 +#: a988f601b1ef4fecb987c38a55a047da of pybricks._common.Charger.status:7 msgid "Charging is complete (light is green)." msgstr "" -#: 1baa0a13322a4807a74e0c68b9a1d3fd of pybricks._common.Charger.status:8 +#: 06731f12793c471fba0b6f77abf271e9 of pybricks._common.Charger.status:8 msgid "There is a problem with the charger (light is yellow)." msgstr "" -#: fed3893881a64f3fa6d69c84b90c1c18 of pybricks._common.Charger.status:10 +#: 0db392e42b2644a996d35cc2b2497ed6 of pybricks._common.Charger.status:10 msgid "Status value." msgstr "" -#: ../../main/hubs/essentialhub.rst:122 c1a71050f43a44b1a4a7928ea8ec83a4 +#: ../../main/hubs/essentialhub.rst:122 4354287f07f041689d68d25995728b5a msgid "System control" msgstr "" -#: 30893eabe19c4862aeff35c17ec0a8a8 of pybricks._common.System.name:1 +#: 87c35fe9751347ed80754c106944d091 of pybricks._common.System.name:1 msgid "Gets the hub name. This is the name you see when connecting via Bluetooth." msgstr "" -#: 65a478770781486dbb6381de8c5343f7 of pybricks._common.System.name:4 +#: 490fc3bd52ed4ff59298c0eeb5a674ad of pybricks._common.System.name:4 msgid "The hub name." msgstr "" -#: ff29c8ca44014126aebaf6d0aa6c6aa4 of pybricks._common.System.storage:1 +#: 760dac66d35e4e57b8f0b12f1d2f3744 of pybricks._common.System.storage:1 msgid "Reads or writes binary data to persistent storage." msgstr "" -#: 81480c40ca824d54b44a9cc8575ef506 of pybricks._common.System.storage:3 +#: 6ccb91ec8dc34227841cdbba09840f0e of pybricks._common.System.storage:3 msgid "" "This lets you store data that can be used the next time you run the " "program." msgstr "" -#: 0f8f9c2b65fc4f3597b4be690de62a9c of pybricks._common.System.storage:6 +#: ad0f9108b9e646f8a73862e4a5cb32c3 of pybricks._common.System.storage:6 msgid "" "The data will be saved to flash memory when you turn the hub off " "normally. It will not be saved if the batteries are removed *while* the " "hub is still running." msgstr "" -#: d937ba1e6cdb4c3f8f087b713452f7c8 of pybricks._common.System.storage:10 +#: 4daafc7a4df4429cb75f565ac68253dc of pybricks._common.System.storage:10 msgid "" "Once saved, the data will remain available even after you remove the " "batteries." msgstr "" -#: 5281b8cf3c1e447691bcf8e6c271dfbd of pybricks._common.System.storage:13 +#: 641ec060765644fb9c7dd915690cb1fa of pybricks._common.System.storage:13 msgid "The offset from the start of the user storage memory, in bytes." msgstr "" -#: 9639d02c80f3470e9121ce5a26394ee8 of pybricks._common.System.storage:15 +#: aa54a1d287ac48e4aedbf409ac275323 of pybricks._common.System.storage:15 msgid "The number of bytes to read. Omit this argument when writing." msgstr "" -#: c8c9d2ab79b34817b0b7365c99d8748d of pybricks._common.System.storage:17 +#: d863b7ae0b7b410c89ce5eeec34f0855 of pybricks._common.System.storage:17 msgid "The bytes to write. Omit this argument when reading." msgstr "" -#: a0fe785cff9e4355b4d5ea555694267a of pybricks._common.System.storage:20 +#: d7c75d96c66b4cde93dc938b3f99d1e2 of pybricks._common.System.storage:20 msgid "The bytes read if reading, otherwise ``None``." msgstr "" -#: ../../main/hubs/essentialhub.rst c3a039baa59a4be0a1b410948f56d5dd +#: ../../main/hubs/essentialhub.rst c4c8a5c560ea471687a59f10b132258e msgid "Raises" msgstr "" -#: 59ac7d6e8a0541818ed969f58d643a6e of pybricks._common.System.storage:22 +#: 989bcd24b34049c0abe9898514ca0f43 of pybricks._common.System.storage:22 msgid "If you try to read or write data outside of the allowed range." msgstr "" -#: ../../main/hubs/essentialhub.rst:127 fccda237506141838df584cb099cbccd +#: ../../main/hubs/essentialhub.rst:127 7629d8faf6fa4c368b06abef163d6b31 msgid "You can store up to 512 bytes of data on this hub." msgstr "" -#: ../../main/hubs/essentialhub.rst:129 ffaa6872f8c84a95ab2cb50faf7d825e +#: ../../main/hubs/essentialhub.rst:129 1388100d646044cba5a0dcdb61588462 msgid ".. image:: /blockimg/pybricks_blockHubShutdown_EssentialHub.svg" msgstr "" -#: 89de9ab1f2574d9dbfe120df98b4718c of pybricks._common.System.shutdown:1 +#: c70b0e5a128f456bbff8fee637950b68 of pybricks._common.System.shutdown:1 msgid "Stops your program and shuts the hub down." msgstr "" -#: 7db8a2a24dcd491f818c0fd3f79286c6 of pybricks._common.System.reset_reason:1 +#: b551b28d00ff47c58b5f78cb99ddbb80 of pybricks._common.System.reset_reason:1 msgid "" "Finds out how and why the hub (re)booted. This can be useful to diagnose " "some problems." msgstr "" -#: 841baee29d864d5081748572281d3941 of pybricks._common.System.reset_reason:4 +#: f7a6a8d8b93243599acbdbfe486a0578 of pybricks._common.System.reset_reason:4 msgid "" "* ``0`` if the hub was previously powered off normally. * ``1`` if the " "hub rebooted automatically, like after a firmware update. * ``2`` if " @@ -723,408 +723,85 @@ msgid "" " firmware issue." msgstr "" -#: e3ea73f955d94b4db7e39d4cefe6d27d of pybricks._common.System.reset_reason:6 +#: 206f995bb84143959f7f63c4592f9946 of pybricks._common.System.reset_reason:6 msgid "``0`` if the hub was previously powered off normally." msgstr "" -#: 889307577c30458ba191099add95eef8 of pybricks._common.System.reset_reason:8 +#: 60e09cd9b4984a2bab94fa7e6210270f of pybricks._common.System.reset_reason:8 msgid "``1`` if the hub rebooted automatically, like after a firmware update." msgstr "" -#: 17cfcb983786480badf18dab4f2c5da7 of pybricks._common.System.reset_reason:10 +#: 66e951bb4c144a8c8e1e5382fdf077bc of pybricks._common.System.reset_reason:10 msgid "" "``2`` if the hub previously crashed due to a watchdog timeout, which " "indicates a firmware issue." msgstr "" -#: ../../main/hubs/essentialhub.rst:136 2251e1da6c294f8783459a4d32f2af02 +#: ../../main/hubs/essentialhub.rst:136 7e309749c2714996a1f34e4e756cccaf msgid "Status light examples" msgstr "" -#: ../../main/hubs/essentialhub.rst:139 0c312b78de4d4d60905e1190515014ba +#: ../../main/hubs/essentialhub.rst:139 5c2361c4b47043158dc953e056a43393 msgid "Turning the light on and off" msgstr "" -#: ../../main/hubs/essentialhub.rst:141 bf4d57c0357b49928568cb267b13aca2 -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = EssentialHub()\n" -"\n" -"# Turn the light on and off 5 times.\n" -"for i in range(5):\n" -"\n" -" hub.light.on(Color.RED)\n" -" wait(1000)\n" -"\n" -" hub.light.off()\n" -" wait(500)\n" -msgstr "" - -#: ../../main/hubs/essentialhub.rst:145 e8213e5027554d46affb2fa17489b027 +#: ../../main/hubs/essentialhub.rst:145 45e2818bf6be4f05a41646d1e755eb6f msgid "Changing brightness and using custom colors" msgstr "" -#: ../../main/hubs/essentialhub.rst:147 e9718d9b5a694769b9fb0e217f14e91b -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = EssentialHub()\n" -"\n" -"# Show the color at 30% brightness.\n" -"hub.light.on(Color.RED * 0.3)\n" -"\n" -"wait(2000)\n" -"\n" -"# Use your own custom color.\n" -"hub.light.on(Color(h=30, s=100, v=50))\n" -"\n" -"wait(2000)\n" -"\n" -"# Go through all the colors.\n" -"for hue in range(360):\n" -" hub.light.on(Color(hue))\n" -" wait(10)\n" -msgstr "" - -#: ../../main/hubs/essentialhub.rst:151 d551b722141341a8a1d4e8c8a9dd8a2f +#: ../../main/hubs/essentialhub.rst:151 381f644b25ee4d7ea5e72265c78af2bc msgid "Making the light blink" msgstr "" -#: ../../main/hubs/essentialhub.rst:153 71cd99eda8484b769b8712da731446b4 -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub\n" -"hub = EssentialHub()\n" -"\n" -"# Keep blinking red on and off.\n" -"hub.light.blink(Color.RED, [500, 500])\n" -"\n" -"wait(10000)\n" -"\n" -"# Keep blinking green slowly and then quickly.\n" -"hub.light.blink(Color.GREEN, [500, 500, 50, 900])\n" -"\n" -"wait(10000)\n" -msgstr "" - -#: ../../main/hubs/essentialhub.rst:157 6707f8472fc54911ade965aad8c2d224 +#: ../../main/hubs/essentialhub.rst:157 978bdf9f305442a2b3f28fb67304c261 msgid "Creating light animations" msgstr "" -#: ../../main/hubs/essentialhub.rst:159 c900e531b8c44bb18cb7b078e3d3d9ba -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"from umath import sin, pi\n" -"\n" -"# Initialize the hub.\n" -"hub = EssentialHub()\n" -"\n" -"# Make an animation with multiple colors.\n" -"hub.light.animate([Color.RED, Color.GREEN, Color.NONE], interval=500)\n" -"\n" -"wait(10000)\n" -"\n" -"# Make the color RED grow faint and bright using a sine pattern.\n" -"hub.light.animate([Color.RED * (0.5 * sin(i / 15 * pi) + 0.5) for i in " -"range(30)], 40)\n" -"\n" -"wait(10000)\n" -"\n" -"# Cycle through a rainbow of colors.\n" -"hub.light.animate([Color(h=i * 8) for i in range(45)], interval=40)\n" -"\n" -"wait(10000)\n" -msgstr "" - -#: ../../main/hubs/essentialhub.rst:163 67ecd0f7ca4149c9b8fca0befb897cc4 +#: ../../main/hubs/essentialhub.rst:163 0428bfd70ba74d399226fc17f5a44d0d msgid "IMU examples" msgstr "" -#: ../../main/hubs/essentialhub.rst:166 91a8effa41db4322839f902b530d0872 +#: ../../main/hubs/essentialhub.rst:166 5625b8afd8674fba85d2f5d3b8c27c90 msgid "Testing which way is up" msgstr "" -#: ../../main/hubs/essentialhub.rst:168 446b794b58cc428da79181b8333fba56 -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.parameters import Color, Side\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = EssentialHub()\n" -"\n" -"# Define colors for each side in a dictionary.\n" -"SIDE_COLORS = {\n" -" Side.TOP: Color.RED,\n" -" Side.BOTTOM: Color.BLUE,\n" -" Side.LEFT: Color.GREEN,\n" -" Side.RIGHT: Color.YELLOW,\n" -" Side.FRONT: Color.MAGENTA,\n" -" Side.BACK: Color.BLACK,\n" -"}\n" -"\n" -"# Keep updating the color based on detected up side.\n" -"while True:\n" -"\n" -" # Check which side of the hub is up.\n" -" up_side = hub.imu.up()\n" -"\n" -" # Change the color based on the side.\n" -" hub.light.on(SIDE_COLORS[up_side])\n" -"\n" -" # Also print the result.\n" -" print(up_side)\n" -" wait(50)\n" -msgstr "" - -#: ../../main/hubs/essentialhub.rst:173 185994f41aa643d3a7509958c3601aed +#: ../../main/hubs/essentialhub.rst:173 9357e91756cf44fcb0a4839b6d0a1fbf msgid "Reading the tilt value" msgstr "" -#: ../../main/hubs/essentialhub.rst:175 0b3c239b1ec94357b9a01b07d63c80fb -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = EssentialHub()\n" -"\n" -"while True:\n" -" # Read the tilt values.\n" -" pitch, roll = hub.imu.tilt()\n" -"\n" -" # Print the result.\n" -" print(pitch, roll)\n" -" wait(200)\n" -msgstr "" - -#: ../../main/hubs/essentialhub.rst:179 dca196657c4d4a0484a51dc42fdb6671 +#: ../../main/hubs/essentialhub.rst:179 a4ebfb1cfd7440feb9b09c17558fa57c msgid "Using a custom hub orientation" msgstr "" -#: ../../main/hubs/essentialhub.rst:181 1cba6b7e965e4f4cb969117ef6faaa57 -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.tools import wait\n" -"from pybricks.parameters import Axis\n" -"\n" -"# Initialize the hub. In this case, specify that the hub is mounted with " -"the\n" -"# top side facing forward and the front side facing to the right.\n" -"# For example, this is how the hub is mounted in BLAST in the 51515 set.\n" -"hub = EssentialHub(top_side=Axis.X, front_side=-Axis.Y)\n" -"\n" -"while True:\n" -" # Read the tilt values. Now, the values are 0 when BLAST stands " -"upright.\n" -" # Leaning forward gives positive pitch. Leaning right gives positive " -"roll.\n" -" pitch, roll = hub.imu.tilt()\n" -"\n" -" # Print the result.\n" -" print(pitch, roll)\n" -" wait(200)\n" -msgstr "" - -#: ../../main/hubs/essentialhub.rst:185 f5a680b97f234f2da1b4d26f5b92eb11 +#: ../../main/hubs/essentialhub.rst:185 acfc01f49e604d77b1b3caae6a213590 msgid "Reading acceleration and angular velocity vectors" msgstr "" -#: ../../main/hubs/essentialhub.rst:187 bf45e4cd9e174c5287004875f8234484 -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = EssentialHub()\n" -"\n" -"# Get the acceleration vector in g's.\n" -"print(hub.imu.acceleration() / 9810)\n" -"\n" -"# Get the angular velocity vector.\n" -"print(hub.imu.angular_velocity())\n" -"\n" -"# Wait so we can see what we printed\n" -"wait(5000)\n" -msgstr "" - -#: ../../main/hubs/essentialhub.rst:191 54e3e6eaf69840de9798aa94f2898eb2 +#: ../../main/hubs/essentialhub.rst:191 9e657b643b7e4131b49d1006982ff673 msgid "Reading acceleration and angular velocity on one axis" msgstr "" -#: ../../main/hubs/essentialhub.rst:193 73481194fbbc461282356ec4352860c8 -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.tools import wait\n" -"from pybricks.parameters import Axis\n" -"\n" -"# Initialize the hub.\n" -"hub = EssentialHub()\n" -"\n" -"# Get the acceleration or angular_velocity along a single axis.\n" -"# If you need only one value, this is more memory efficient.\n" -"while True:\n" -"\n" -" # Read the forward acceleration.\n" -" forward_acceleration = hub.imu.acceleration(Axis.X)\n" -"\n" -" # Read the yaw rate.\n" -" yaw_rate = hub.imu.angular_velocity(Axis.Z)\n" -"\n" -" # Print the yaw rate.\n" -" print(yaw_rate)\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/essentialhub.rst:198 9a8d27cbdecd4fe783e088942aae8233 +#: ../../main/hubs/essentialhub.rst:198 65d786828de94671ba5079baff85d951 msgid "Bluetooth examples" msgstr "" -#: ../../main/hubs/essentialhub.rst:201 4630515dfa774d269c19c0f1be555850 +#: ../../main/hubs/essentialhub.rst:201 cb1ebf7d167a4e6a8a252b1576f04bfa msgid "Broadcasting data to other hubs" msgstr "" -#: ../../main/hubs/essentialhub.rst:203 cccda56c0f284d2fa3224acdaeee9b87 -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = EssentialHub(broadcast_channel=1)\n" -"\n" -"# Initialize the motors.\n" -"left_motor = Motor(Port.A)\n" -"right_motor = Motor(Port.B)\n" -"\n" -"while True:\n" -" # Read the motor angles to be sent to the other hub.\n" -" left_angle = left_motor.angle()\n" -" right_angle = right_motor.angle()\n" -"\n" -" # Set the broadcast data and start broadcasting if not already doing " -"so.\n" -" data = (left_angle, right_angle)\n" -" hub.ble.broadcast(data)\n" -"\n" -" # Broadcasts are only sent every 100 milliseconds, so there is no " -"reason\n" -" # to call the broadcast() method more often than that.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/essentialhub.rst:207 88c03db8fe6047f58ab684cd985827ce +#: ../../main/hubs/essentialhub.rst:207 62b57a2f106147fc9656c33cde9510f3 msgid "Observing data from other hubs" msgstr "" -#: ../../main/hubs/essentialhub.rst:209 b006de58d4ae43c4ac902184bb8e4091 -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Color, Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = EssentialHub(observe_channels=[1])\n" -"\n" -"# Initialize the motors.\n" -"left_motor = Motor(Port.A)\n" -"right_motor = Motor(Port.B)\n" -"\n" -"while True:\n" -" # Receive broadcast from the other hub.\n" -"\n" -" data = hub.ble.observe(1)\n" -"\n" -" if data is None:\n" -" # No data has been received in the last 1 second.\n" -" hub.light.on(Color.RED)\n" -" else:\n" -" # Data was received and is less that one second old.\n" -" hub.light.on(Color.GREEN)\n" -"\n" -" # *data* contains the same values in the same order\n" -" # that were passed to hub.ble.broadcast() on the\n" -" # other hub.\n" -" left_angle, right_angle = data\n" -"\n" -" # Make the motors on this hub mirror the position of the\n" -" # motors on the other hub.\n" -" left_motor.track_target(left_angle)\n" -" right_motor.track_target(right_angle)\n" -"\n" -" # Broadcasts are only sent every 100 milliseconds, so there is\n" -" # no reason to call the observe() method more often than that.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/essentialhub.rst:214 b0b62103d2a44997ba1dd4ddb0c30c3f +#: ../../main/hubs/essentialhub.rst:214 82249c60562a498a8479bd9e76c3438b msgid "System examples" msgstr "" -#: ../../main/hubs/essentialhub.rst:217 23e61666bcae40ffbd510f6dab3d40aa +#: ../../main/hubs/essentialhub.rst:217 caff9506ef624c76ac45ce11f9f9007a msgid "Using the stop button during your program" msgstr "" -#: ../../main/hubs/essentialhub.rst:219 00c06c1501474a6c95d691337844dcb5 -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.parameters import Color, Button\n" -"from pybricks.tools import wait, StopWatch\n" -"\n" -"# Initialize the hub.\n" -"hub = EssentialHub()\n" -"\n" -"# Disable the stop button.\n" -"hub.system.set_stop_button(None)\n" -"\n" -"# Check the button for 5 seconds.\n" -"watch = StopWatch()\n" -"while watch.time() < 5000:\n" -"\n" -" # Set light to green if pressed, else red.\n" -" if hub.buttons.pressed():\n" -" hub.light.on(Color.GREEN)\n" -" else:\n" -" hub.light.on(Color.RED)\n" -"\n" -"# Enable the stop button again.\n" -"hub.system.set_stop_button(Button.CENTER)\n" -"\n" -"# Now you can press the stop button as usual.\n" -"wait(5000)\n" -msgstr "" - -#: ../../main/hubs/essentialhub.rst:223 de2abc570da74363ad91a8adb6d31262 +#: ../../main/hubs/essentialhub.rst:223 f63b734b3ca34c85a630d75ac49d8142 msgid "Turning the hub off" msgstr "" -#: ../../main/hubs/essentialhub.rst:225 ac01a64c305e4a98bd199f0f8fdd5176 -msgid "" -"from pybricks.hubs import EssentialHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = EssentialHub()\n" -"\n" -"# Say goodbye and give some time to send it.\n" -"print(\"Goodbye!\")\n" -"wait(100)\n" -"\n" -"# Shut the hub down.\n" -"hub.system.shutdown()\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/hubs/index.po b/doc/locales/de/LC_MESSAGES/hubs/index.po index 9d221564..653960d0 100644 --- a/doc/locales/de/LC_MESSAGES/hubs/index.po +++ b/doc/locales/de/LC_MESSAGES/hubs/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,31 +19,31 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/hubs/index.rst:4 d99f3eed06ec4fc1b67d5e7bcefeab81 +#: ../../main/hubs/index.rst:4 85b86708b78a4e0681efa1f6c4cc3048 msgid ":mod:`hubs ` -- Built-in hub functions" msgstr "" -#: ../../main/hubs/index.rst:20 d61b8a8bf36541e09f4f5ee42588a529 +#: ../../main/hubs/index.rst:20 1602e28b17b5414fb46858a62890b688 msgid ".. image:: ../../main/cad/output/hub-move.png" msgstr "" -#: ../../main/hubs/index.rst:26 43c7161ca4d34a0283ac7c13759b75b3 +#: ../../main/hubs/index.rst:26 9e666f44728d45e8b3eb58d2ffe3601c msgid ".. image:: ../../main/cad/output/hub-city.png" msgstr "" -#: ../../main/hubs/index.rst:32 60a3050aff8d4949bea4904232deddc3 +#: ../../main/hubs/index.rst:32 86d50bea31a640e88483a669757c5faa msgid ".. image:: ../../main/cad/output/hub-technic.png" msgstr "" -#: ../../main/hubs/index.rst:38 2fb4338938bb45b6b0b3898f92ba6e38 +#: ../../main/hubs/index.rst:38 d9fb682853784529b8821e28d355d5f4 msgid ".. image:: ../../main/cad/output/hub-inventor.png" msgstr "" -#: ../../main/hubs/index.rst:44 72f70e18afb9482d99df560a4f5a38a7 +#: ../../main/hubs/index.rst:44 876df0bce5f14ff1905667ebf757115a msgid ".. image:: ../../main/cad/output/hub-prime.png" msgstr "" -#: ../../main/hubs/index.rst:50 fcb24dfbe8e0438da7253f923ec4aeb8 +#: ../../main/hubs/index.rst:50 608d2125084645df81f21383cf08f581 msgid ".. image:: ../../main/cad/output/hub-essential.png" msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/hubs/movehub.po b/doc/locales/de/LC_MESSAGES/hubs/movehub.po index c097c3af..6685727e 100644 --- a/doc/locales/de/LC_MESSAGES/hubs/movehub.po +++ b/doc/locales/de/LC_MESSAGES/hubs/movehub.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,171 +19,171 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/hubs/movehub.rst:4 9c7d44da467a4d39914ff489bdd4198c +#: ../../main/hubs/movehub.rst:4 31a866edf29943da8e6850697c06cddd msgid "Move Hub" msgstr "" -#: ../../main/hubs/movehub.rst:8 00bbf6271cb54051ae79b73f7f1f2662 +#: ../../main/hubs/movehub.rst:8 68b56eea1298450b9d2e5c649195e41a msgid ".. image:: ../../main/diagrams/movehub.png" msgstr "" -#: ../../main/hubs/movehub.rst:11 cf03ad45a9374996b263fc1893dd4820 +#: ../../main/hubs/movehub.rst:11 706de6b30352408f9134bc97f4fed8b3 msgid ".. image:: /blockimg/pybricks_variables_set_move_hub_option0.svg" msgstr "" -#: ../../main/hubs/movehub.rst:13 8e8b2ba0573d4da8aa31d0fa7014dbd7 +#: ../../main/hubs/movehub.rst:13 4a1facca35d74393928b3bb7fe822413 msgid ".. image:: /blockimg/pybricks_variables_set_move_hub_option4.svg" msgstr "" -#: 04e0acacb0f44e2ba9481b727df6a076 of pybricks.hubs.MoveHub:1 +#: 61253fd2b6c848d4a8aae705a22ebd1a of pybricks.hubs.MoveHub:1 msgid "LEGO® BOOST Move Hub." msgstr "" -#: ../../main/hubs/movehub.rst 29e02797f85c4eff9ce511f090db7020 -#: 45a72f651b6f46c895a131343f2a4775 8f43b6d7c35a4ad699a9574779cdfe64 -#: 904f348c27e44a0bbc974cf983cffd40 9157c9ff8c5f48e28b4eae895185fde5 -#: 9a4b191aea9940a89840b8aa13bb6f41 a8348a4207f5408d9a65da0df6ebe48d -#: ae2e1b761c5d4c0cbf1e25bd80ef02b7 f938df10e322433ba5139afd3543fa02 +#: ../../main/hubs/movehub.rst 150f203a65fe47f695bae233d350eecf +#: 3f12dd4c33aa4f6a8907d19803b2d4d2 5359ee9ff4354dd9aa9ee4decbef0382 +#: 7623acd7a2784d21a177f6c355d4a0ef 7eeb864dfa9145058048e1dec7c118ec +#: 8ae0d9e0cfb34274b570134f36cb34a2 bab9b6e3ed91437bbafe92dadaaa1295 +#: bac5772d5a524da2b62dfd9e60833fd9 cccc975ed5b94a4492614432c557b610 msgid "Parameters" msgstr "" -#: 790304ec80944c589e54db4f80dfd35e of pybricks.hubs.MoveHub:3 +#: a0e6c5ee84954459baddcb9968f8244d of pybricks.hubs.MoveHub:3 msgid "The axis that passes through the *top side* of the hub." msgstr "" -#: 31198960bdf9465d9228512ec0d36390 of pybricks.hubs.MoveHub:6 +#: 2c777e58d14f4f168b2054a5a28dc317 of pybricks.hubs.MoveHub:6 msgid "The axis that passes through the *front side* of the hub." msgstr "" -#: 3b08085af1684bd8aa4972f9b007ca3f of pybricks.hubs.MoveHub:9 +#: 938b0048cbc743cebde5cf81f6013e97 of pybricks.hubs.MoveHub:9 msgid "" "A value from 0 to 255 indicating which channel ``hub.ble.broadcast()`` " "will use. Default is channel 0." msgstr "" -#: f89cd05c8b684b879b795f06fcad9974 of pybricks.hubs.MoveHub:11 +#: 7a44064374eb435b91ead0bde294a090 of pybricks.hubs.MoveHub:11 msgid "" "A list of channels to listen to when ``hub.ble.observe()`` is called. " "Listening to more channels requires more memory. Default is an empty list" " (no channels)." msgstr "" -#: f9c84c2dbdcf4bb6b1851f95e4e911ac of pybricks.hubs.MoveHub:15 +#: e87b1717fa0b4a74920a33d6887d01c9 of pybricks.hubs.MoveHub:15 msgid "Added *broadcast_channel* and *observe_channels* arguments." msgstr "" -#: ../../main/hubs/movehub.rst:20 964e6bef509b47f4b740df300efc17b7 +#: ../../main/hubs/movehub.rst:20 586a1cfc36844ede8a7c8f7c9b8aca04 msgid "Using the hub status light" msgstr "" -#: ../../main/hubs/movehub.rst:21 a3e8032effe647d1b37247fc68824a20 +#: ../../main/hubs/movehub.rst:21 62ed277fd82447f4a4d6abb658b69aa5 msgid ".. image:: /blockimg/pybricks_blockLightOnColor_movehub_on.svg" msgstr "" -#: 6513dd2de9914829ac2fd1076283fd70 of pybricks._common.ColorLight.on:1 +#: 51070db82e084fc3920be68545200440 of pybricks._common.ColorLight.on:1 msgid "Turns on the light at the specified color." msgstr "" -#: 0e5221deebd34ba5883c551e659a5513 d5896b2c465a439384c6d6d51fab4c12 of +#: 16cb9aac34874d87935bfd6e36f03610 2dc14345e07049f98ef55542551cadec of #: pybricks._common.ColorLight.blink:11 pybricks._common.ColorLight.on:3 msgid "Color of the light." msgstr "" -#: ../../main/hubs/movehub.rst:25 847cd5a89270486d960cd266c314c50e +#: ../../main/hubs/movehub.rst:25 89d2a655600e47ae8d63b0701aad2c5c msgid ".. image:: /blockimg/pybricks_blockLightOnColor_movehub_off.svg" msgstr "" -#: 14ab25ba2b9c42ef8baa0cee0860cdd2 of pybricks._common.ColorLight.off:1 +#: fde50d18fa6743018011beea81101cb8 of pybricks._common.ColorLight.off:1 msgid "Turns off the light." msgstr "" -#: 627e64ea99884ccfb918df21d0b75d0c of pybricks._common.ColorLight.blink:1 +#: 05160eea3f8d4e61ad3d8a50a6bed052 of pybricks._common.ColorLight.blink:1 msgid "" "Blinks the light at a given color by turning it on and off for given " "durations." msgstr "" -#: 4cadb5d7ee4d4c26afe11f460aa7ae20 of pybricks._common.ColorLight.blink:4 +#: 725d8bfea6c54609a7aced46e10d11ef of pybricks._common.ColorLight.blink:4 msgid "" "The light keeps blinking indefinitely while the rest of your program " "keeps running." msgstr "" -#: 0bfb170b70c043ff93d4ea39d7f55f3f of pybricks._common.ColorLight.blink:7 +#: bf371142fcde4f16859542eef83c1b45 of pybricks._common.ColorLight.blink:7 msgid "" "This method provides a simple way to make basic but useful patterns. For " "more generic and multi-color patterns, use ``animate()`` instead." msgstr "" -#: 8416857d6c1942f1b65ce535e3e1bcd6 of pybricks._common.ColorLight.blink:13 +#: 3fca22a273104ed38393c7c4c03286ff of pybricks._common.ColorLight.blink:13 msgid "Sequence of time values of the form ``[on_1, off_1, on_2, off_2, ...]``." msgstr "" -#: 994d23e577b34e74b5ea3850a5d0e984 of pybricks._common.ColorLight.animate:1 +#: 355426963c524b5b854e33a08af9dd51 of pybricks._common.ColorLight.animate:1 msgid "" "Animates the light with a sequence of colors, shown one by one for the " "given interval." msgstr "" -#: ad129f2c53c7402fbd6182086fddcaca of pybricks._common.ColorLight.animate:4 +#: 72032c4172eb463d8cf403311a708c57 of pybricks._common.ColorLight.animate:4 msgid "" "The animation runs in the background while the rest of your program keeps" " running. When the animation completes, it repeats." msgstr "" -#: 6510085da3f643fea2bd474b7c328737 of pybricks._common.ColorLight.animate:7 +#: 70761edb89d64912b40ec51b4f24edac of pybricks._common.ColorLight.animate:7 msgid "Sequence of :class:`Color <.parameters.Color>` values." msgstr "" -#: 0a77ca8d878b4df8a976fed5d8620939 of pybricks._common.ColorLight.animate:10 +#: 6c7e4d9047a34bff809fa60f4962024d of pybricks._common.ColorLight.animate:10 msgid "Time between color updates." msgstr "" -#: ../../main/hubs/movehub.rst:34 10195217b3eb4e18a27ca111ab720323 +#: ../../main/hubs/movehub.rst:34 5f8b431d14aa434bb80af9b3f928fe12 msgid "Using the IMU" msgstr "" -#: ../../main/hubs/movehub.rst:35 45f2c333cdf741498f37ba33ecf76196 +#: ../../main/hubs/movehub.rst:35 a12d0c39a92149ac920d5fd889a9ae9a msgid ".. image:: /blockimg/pybricks_blockImuUp_MoveHub.svg" msgstr "" -#: 8107cc94918f4c7e90ab404798e899a1 of +#: c0cb70ba9dc5418288db1ecfcb03ac91 of #: pybricks._common.SimpleAccelerometer.up:1 msgid "Checks which side of the hub currently faces upward." msgstr "" -#: ../../main/hubs/movehub.rst 026a5fcabc734e11b1ba4996541f0067 -#: 0797a6f3b61c412db339def42948e44f 12da0e0d4c0748dca321de4c461d7ff1 -#: 52e8861d10a441f688577840e7028bb5 60905b100b264c56ab10c945c774088d -#: 68b90255fa7b443dae9e5fa73be5665d aba9a8bd7ef341babd0480e5cfa481ef -#: d2639b03a43c48958a775e090822e820 d3b3cb205aac44439602013804eaf07e -#: d7e93ab4d3354d0d99658f34c93fad2b f2970aa1f8224c3d9e7891d8b89c5e4d +#: ../../main/hubs/movehub.rst 1530a58992354700bd76e1da371a7a9c +#: 19275f49d96244749a48052c09cade68 1bf72e6526ec49f8a5c9e3a142e34e7a +#: 3c28878d716d48e1839ac0a628bd5438 4a067ee6a2304404bbd4fc5c2dac91e6 +#: 556f8025636c42319f7e436a6692ffa6 a57ec0e9a3c1477998a8b3f85c4448b2 +#: d62d81ab2f3c41ec8941bb1381076a67 e07cc6f1eca6460f9ae4aa57f5d3a426 +#: f4ed537afb4448b9a65dfd521bd74972 fc14dd1d658c4859b6ac73f859380146 msgid "Returns" msgstr "" -#: a427b664bcd24140b21f40479b5edf3c of +#: d1a8fb27ba684161be8497ce877eaeff of #: pybricks._common.SimpleAccelerometer.up:3 msgid "" "``Side.TOP``, ``Side.BOTTOM``, ``Side.LEFT``, ``Side.RIGHT``, " "``Side.FRONT`` or ``Side.BACK``." msgstr "" -#: ../../main/hubs/movehub.rst:39 ccedb27a8c2d44ed82d80fc60a6e22da +#: ../../main/hubs/movehub.rst:39 5c03c01834c04ed28e6681907dd62fd1 msgid ".. image:: /blockimg/pybricks_blockTilt_MoveHub_imu.tilt.pitch.svg" msgstr "" -#: ../../main/hubs/movehub.rst:41 ddd4389ad86b4f10b76081bd390d2eaa +#: ../../main/hubs/movehub.rst:41 683c5a5a217b42ee99ddd125587b4ed2 msgid ".. image:: /blockimg/pybricks_blockTilt_MoveHub_imu.tilt.roll.svg" msgstr "" -#: e07120e34ed04c6bbe8a48c3d9edbfea of +#: 4a6345f746b34d1892f3333bb11c321a of #: pybricks._common.SimpleAccelerometer.tilt:1 msgid "" "Gets the pitch and roll angles. This is relative to the :ref:`user-" "specified neutral orientation `." msgstr "" -#: db411922ef3846f9a6ae9aa3b16e11b4 of +#: 28befb4c54f34ceebca681ece12a3dc8 of #: pybricks._common.SimpleAccelerometer.tilt:4 msgid "" "The order of rotation is pitch-then-roll. This is equivalent to a " @@ -191,57 +191,57 @@ msgid "" "along the x-axis." msgstr "" -#: 9df26d213c8946948a30f4fc2a55dea7 of +#: 65e39604c29041449365cb67a24bf61d of #: pybricks._common.SimpleAccelerometer.tilt:8 msgid "Tuple of pitch and roll angles in degrees." msgstr "" -#: ../../main/hubs/movehub.rst:46 c001175bf7694063a29d608934598173 +#: ../../main/hubs/movehub.rst:46 ef81c7dc4a6043e3a9d09d8ef57a830b msgid ".. image:: /blockimg/pybricks_blockImuAcceleration_MoveHub.svg" msgstr "" -#: 7c97e4a80c714e2ea08aa8a728eef933 of +#: ed1a31ddd29b4ebea5bb3301dbc901bf of #: pybricks._common.SimpleAccelerometer.acceleration:1 msgid "Gets the acceleration of the device." msgstr "" -#: d066d70391944ae8bf35c30bae0b1827 of +#: e1e4d54ed0154f09871cb75a73c06c02 of #: pybricks._common.SimpleAccelerometer.acceleration:3 msgid "Acceleration along all three axes." msgstr "" -#: ../../main/hubs/movehub.rst:52 f67548bed6414c989ebf3c0f6c7bedc4 +#: ../../main/hubs/movehub.rst:52 ef17bac6f37043b095fcca9a8d16c02f msgid "Changed acceleration units from m/s² to mm/s²." msgstr "" -#: ../../main/hubs/movehub.rst:55 9699ae5079704e2492e640f06bc07ea9 +#: ../../main/hubs/movehub.rst:55 9fd6e69b3efc478ea3ff90131ac66d9a msgid "Using connectionless Bluetooth messaging" msgstr "" -#: ../../main/hubs/movehub.rst:56 fc14bcb149d549a3b9ffb8f7cb3172f9 +#: ../../main/hubs/movehub.rst:56 2632a29549b04f96b610a749e8562c61 msgid ".. image:: /blockimg/pybricks_blockBleBroadcast_PrimeHub.svg" msgstr "" -#: 1bbd86cc1c71498f9d5308214ed9c594 of pybricks._common.BLE.broadcast:1 +#: d1b9be64896e4c07bd332dbaa5e0df25 of pybricks._common.BLE.broadcast:1 msgid "" "Starts broadcasting the given data on the ``broadcast_channel`` you " "selected when initializing the hub." msgstr "" -#: e00e3f830e0d477e80df77e20a1e8797 of pybricks._common.BLE.broadcast:4 +#: 2cd87eb1bcb0499baf3ed4f6c931b1cf of pybricks._common.BLE.broadcast:4 msgid "" "Data may be of type ``int``, ``float``, ``str``, ``bytes``, ``True``, or " "``False``, or a list thereof." msgstr "" -#: 19daf26f0a9a42eb84e13a355f436ce7 of pybricks._common.BLE.broadcast:7 +#: 231de2962b604da7881e8ddabf958712 of pybricks._common.BLE.broadcast:7 msgid "" "Choose ``None`` to stop broadcasting. This helps improve performance when" " you don't need the broadcast feature, especially when observing at the " "same time." msgstr "" -#: d8cb0935be934b7bada09eaeb13af2a8 of pybricks._common.BLE.broadcast:11 +#: 3fb6b3def7b043ffa2f824e72fbac8e6 of pybricks._common.BLE.broadcast:11 msgid "" "The total data size is quite limited (26 bytes). ``True`` and ``False`` " "take 1 byte each. ``float`` takes 5 bytes. ``int`` takes 2 to 5 bytes " @@ -249,7 +249,7 @@ msgid "" " of bytes in the object plus one extra byte." msgstr "" -#: 8b95869a34a548ea8fc63fccf4064d63 of pybricks._common.BLE.broadcast:16 +#: 1879d0b032174121af9d52b377f5eb8e of pybricks._common.BLE.broadcast:16 msgid "" "When multitasking, only one task can broadcast at a time. To broadcast " "information from multiple tasks (or block stacks), you could use a " @@ -257,119 +257,119 @@ msgid "" "variables change." msgstr "" -#: 46560ab2a72b45a1be422dcb12f7e3a5 of pybricks._common.BLE.broadcast:21 +#: f990a203965249678702d6d9683d54ce of pybricks._common.BLE.broadcast:21 msgid "The value or values to be broadcast." msgstr "" -#: ../../main/hubs/movehub.rst:60 38ebf810ac54406b8a339a0671da8087 +#: ../../main/hubs/movehub.rst:60 b7595a28a79e4ad882798800d0b938a4 msgid ".. image:: /blockimg/pybricks_blockBleObserve_PrimeHub.svg" msgstr "" -#: e720a64ae83c40f69f2ea9998da455ef of pybricks._common.BLE.observe:1 +#: 809fe2d37a7240cf9025ac036a57dc7f of pybricks._common.BLE.observe:1 msgid "Retrieves the last observed data for a given channel." msgstr "" -#: 4b46fe96d23b4333a85f1a9c610e823a of pybricks._common.BLE.observe:3 +#: afab8b885bb249d0bfa7f8c8e241e380 of pybricks._common.BLE.observe:3 msgid "" "Receiving data is more reliable when the hub is not connected to a " "computer or other devices at the same time." msgstr "" -#: 6f468fae4d194c49af531b6cdc576b69 of pybricks._common.BLE.observe:6 +#: 2e147af4853242939a31500a895ee937 of pybricks._common.BLE.observe:6 msgid "The channel to observe (0 to 255)." msgstr "" -#: e2432f70a20a4391a418c745544e80f8 of pybricks._common.BLE.observe:9 +#: ead78feb28314990b83361e5393520b7 of pybricks._common.BLE.observe:9 msgid "" "The received data in the same format as it was sent, or ``None`` if no " "recent data is available." msgstr "" -#: 087917fa3657455598a2e372d8134ad8 of pybricks._common.BLE.signal_strength:1 +#: a6146569b86c4270a5ef923e66e0f98c of pybricks._common.BLE.signal_strength:1 msgid "Gets the average signal strength in dBm for the given channel." msgstr "" -#: d1a9b060e63d40adb2a8ad64951bc56c of pybricks._common.BLE.signal_strength:3 +#: 1adfd9d066a0460d8fc58a9009882f5a of pybricks._common.BLE.signal_strength:3 msgid "" "This indicates how near the broadcasting device is. Nearby devices may " "have a signal strength around -40 dBm, while far away devices might have " "a signal strength around -70 dBm." msgstr "" -#: 2159d77ac77b44e0a21172eb15d8b40d of pybricks._common.BLE.signal_strength:7 +#: 757120a17ab84f248e978ca722e224a8 of pybricks._common.BLE.signal_strength:7 msgid "The channel number (0 to 255)." msgstr "" -#: 33d4aa75939a4ea59cf7c76b1aaf6946 of pybricks._common.BLE.signal_strength:10 +#: 5f111ea118e749d4a36418ffe7060089 of pybricks._common.BLE.signal_strength:10 msgid "The signal strength or ``-128`` if there is no recent observed data." msgstr "" -#: 86511c646a2d4f989a80161d17659822 of pybricks._common.BLE.version:1 +#: ecb3903cbb5248bf9d0ca02301d67e3c of pybricks._common.BLE.version:1 msgid "Gets the firmware version from the Bluetooth chip." msgstr "" -#: ../../main/hubs/movehub.rst:69 ca0cbd620b5446bcb0361f9e61dedfd1 +#: ../../main/hubs/movehub.rst:69 a4ef409fb3b44fb1a0df87d0c9cf6cf3 msgid "Using the battery" msgstr "" -#: ../../main/hubs/movehub.rst:70 21172e914aa44f53bc850f45cdfbffcc +#: ../../main/hubs/movehub.rst:70 033ee0515e8449b8a70f07123ce097bc msgid "" ".. image:: " "/blockimg/pybricks_blockBatteryMeasure_MoveHub_battery.voltage.svg" msgstr "" -#: 7f00b22e14c84637b6f214e5049f80b7 of pybricks._common.Battery.voltage:1 +#: 0e348fdc5efc4a37b147e0b0f99b8d44 of pybricks._common.Battery.voltage:1 msgid "Gets the voltage of the battery." msgstr "" -#: 2cca4e8a52944b28879f14d2dbe4bc45 of pybricks._common.Battery.voltage:3 +#: 2cb4bec61cc84cc4b1213301330b08b2 of pybricks._common.Battery.voltage:3 msgid "Battery voltage." msgstr "" -#: ../../main/hubs/movehub.rst:74 7763949a228e45af88982318e9659391 +#: ../../main/hubs/movehub.rst:74 2de269ee3b834b9899d29c553ae035d6 msgid "" ".. image:: " "/blockimg/pybricks_blockBatteryMeasure_MoveHub_battery.current.svg" msgstr "" -#: d51aa1f35b624b68b91e05dad95ca576 of pybricks._common.Battery.current:1 +#: 8e99f95757134e8090f2cd379750a2cb of pybricks._common.Battery.current:1 msgid "Gets the current supplied by the battery." msgstr "" -#: 16a010ffd04940a1afcd06c4757157db of pybricks._common.Battery.current:3 +#: ac4e75764bb1490bbdfee7f279d93f6a of pybricks._common.Battery.current:3 msgid "Battery current." msgstr "" -#: ../../main/hubs/movehub.rst:79 54d2a7efdd9f49aa981ba4b5249e52c1 +#: ../../main/hubs/movehub.rst:79 f6c047c3953b479c956749b2ea66da25 msgid "Button and system control" msgstr "" -#: ../../main/hubs/movehub.rst:80 4edc3f618a7b4af49436438b743a25a5 +#: ../../main/hubs/movehub.rst:80 431b63747e5f49deb958c8cff818f31b msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_PrimeHub.svg" msgstr "" -#: c8ca40f6d58b4e45b4822a7f3d1d17e8 of pybricks._common.Keypad.pressed:1 +#: c2c82e5d8d0f4ff1b346ec1f7bd32d17 of pybricks._common.Keypad.pressed:1 msgid "Checks which buttons are currently pressed." msgstr "" -#: 7e7f93c75da24b87a21fa8ec049e8857 of pybricks._common.Keypad.pressed:3 +#: 2215e49cc3cf450b940cf1730f0a1118 of pybricks._common.Keypad.pressed:3 msgid "Set of pressed buttons." msgstr "" -#: ../../main/hubs/movehub.rst:84 6958c37bb48f4cd6b5f56962d041cb5c +#: ../../main/hubs/movehub.rst:84 44f699e1ac8c4cc08e6d6c37cfcb31d8 msgid ".. image:: /blockimg/pybricks_blockHubStopButton_MoveHub.svg" msgstr "" -#: ../../main/hubs/movehub.rst:86 2f929c178b65485b9f16c55724ea3354 +#: ../../main/hubs/movehub.rst:86 2071e1564ea0419ea8ef6f943beb0dea msgid ".. image:: /blockimg/pybricks_blockHubStopButton_MoveHub_none.svg" msgstr "" -#: 5fbf6bb9b4804acdbdc33ba47793bfd8 of +#: 79615ce7aea74e259674d24bbadd1339 of #: pybricks._common.System.set_stop_button:1 msgid "Sets the button or button combination that stops a running script." msgstr "" -#: e15d3146a06f4192b2345cd16d953a70 of +#: b4faa7a8663e4f49b3a04cf86dcd5623 of #: pybricks._common.System.set_stop_button:3 msgid "" "Normally, the center button is used to stop a running script. You can " @@ -377,7 +377,7 @@ msgid "" "purposes." msgstr "" -#: 366fbb1802494c60a8421fc0855013c3 of +#: adff6cec5a5b41f2a2c222ad69eae27b of #: pybricks._common.System.set_stop_button:7 msgid "" "A button such as :attr:`Button.CENTER " @@ -386,83 +386,83 @@ msgid "" " still turn the hub off by holding the center button for three seconds." msgstr "" -#: eaad7efab2e14454b51eef8e723d260a of pybricks._common.System.name:1 +#: 185055454ad948a59dc1fd6a1668a2f5 of pybricks._common.System.name:1 msgid "Gets the hub name. This is the name you see when connecting via Bluetooth." msgstr "" -#: 42526191568e4d61a2349eb2e8be2986 of pybricks._common.System.name:4 +#: 30f3264f317b48f4868ce4f00bd71a97 of pybricks._common.System.name:4 msgid "The hub name." msgstr "" -#: a5274c7075cf4f1bb89d778c8ad35409 of pybricks._common.System.storage:1 +#: c575fba9dbb94f629dba8763e0188076 of pybricks._common.System.storage:1 msgid "Reads or writes binary data to persistent storage." msgstr "" -#: f81d1a2917d34ea0a507c57b5f0f705d of pybricks._common.System.storage:3 +#: cf4d3dc8328541979b3a7e56694db9de of pybricks._common.System.storage:3 msgid "" "This lets you store data that can be used the next time you run the " "program." msgstr "" -#: 9a200e3efae2451c90196860d9a97f5c of pybricks._common.System.storage:6 +#: 32b7895085cf4519b5fb2b1989433d34 of pybricks._common.System.storage:6 msgid "" "The data will be saved to flash memory when you turn the hub off " "normally. It will not be saved if the batteries are removed *while* the " "hub is still running." msgstr "" -#: d70a80b3ef9343d6bd05ad217416402d of pybricks._common.System.storage:10 +#: 0c34abb327154d04b4d11673d87394bf of pybricks._common.System.storage:10 msgid "" "Once saved, the data will remain available even after you remove the " "batteries." msgstr "" -#: 6765e74f297e40d98cdb8fae2e58acc0 of pybricks._common.System.storage:13 +#: 6a82ccabcfc340fa98c8580e1a881058 of pybricks._common.System.storage:13 msgid "The offset from the start of the user storage memory, in bytes." msgstr "" -#: 26f96e39ea5a4e83a62bfa2b4bebbb01 of pybricks._common.System.storage:15 +#: 4e73448e926c46ecb5ef09e66ebfbb9a of pybricks._common.System.storage:15 msgid "The number of bytes to read. Omit this argument when writing." msgstr "" -#: a54d1260fa024cbb85e95f059a7fe962 of pybricks._common.System.storage:17 +#: 39f53b70683b4286b02a66980774113b of pybricks._common.System.storage:17 msgid "The bytes to write. Omit this argument when reading." msgstr "" -#: 5303d2e252b244339052dbd76f374734 of pybricks._common.System.storage:20 +#: 6039dc37b0484421946dc247c99a2a92 of pybricks._common.System.storage:20 msgid "The bytes read if reading, otherwise ``None``." msgstr "" -#: ../../main/hubs/movehub.rst e6c7ea86a0754184a775c31132c11b94 +#: ../../main/hubs/movehub.rst b140d50f40fa47509b46fa37928879b4 msgid "Raises" msgstr "" -#: 8e26e9583de744e7a11006a4aa832c53 of pybricks._common.System.storage:22 +#: 420af20b996d481e926d9945ed813502 of pybricks._common.System.storage:22 msgid "If you try to read or write data outside of the allowed range." msgstr "" -#: ../../main/hubs/movehub.rst:95 70f7c85412884d88b432733cde3fd677 +#: ../../main/hubs/movehub.rst:95 7a21ee7f6e314bf5b4ef088856a24f8f msgid "" "You can store up to 128 bytes of data on this hub. The data is cleared " "when you update the Pybricks firmware or if you restore the original " "firmware." msgstr "" -#: ../../main/hubs/movehub.rst:99 48e30e061e3746378c6cddd1761d7d98 +#: ../../main/hubs/movehub.rst:99 087ce4b828f54d42856a2bd24b88445d msgid ".. image:: /blockimg/pybricks_blockHubShutdown_MoveHub.svg" msgstr "" -#: 6c5845d88f21451b991bc533d659572e of pybricks._common.System.shutdown:1 +#: 342464982509400f89446db6410b5596 of pybricks._common.System.shutdown:1 msgid "Stops your program and shuts the hub down." msgstr "" -#: 228da4a7e64a4ce7b6e37d74ae3e6574 of pybricks._common.System.reset_reason:1 +#: 1f4836f5600a43c78c7398faa1b394fe of pybricks._common.System.reset_reason:1 msgid "" "Finds out how and why the hub (re)booted. This can be useful to diagnose " "some problems." msgstr "" -#: d42a7d748bdd4733b6ec7b758fa35b04 of pybricks._common.System.reset_reason:4 +#: 71e45289751846ccada3dfd116ffd7a3 of pybricks._common.System.reset_reason:4 msgid "" "* ``0`` if the hub was previously powered off normally. * ``1`` if the " "hub rebooted automatically, like after a firmware update. * ``2`` if " @@ -470,314 +470,83 @@ msgid "" " firmware issue." msgstr "" -#: ca980ce597834ea1adb34343fb62cde4 of pybricks._common.System.reset_reason:6 +#: e104e354814144708f745081435b866e of pybricks._common.System.reset_reason:6 msgid "``0`` if the hub was previously powered off normally." msgstr "" -#: 8a08a114430a4f60bdb3f13a7edd5c08 of pybricks._common.System.reset_reason:8 +#: 89909103c9814d7c8952744341c953f4 of pybricks._common.System.reset_reason:8 msgid "``1`` if the hub rebooted automatically, like after a firmware update." msgstr "" -#: 323dff436f1c497e95feac199d470abf of pybricks._common.System.reset_reason:10 +#: cf60933631244a65972a982f467cfe79 of pybricks._common.System.reset_reason:10 msgid "" "``2`` if the hub previously crashed due to a watchdog timeout, which " "indicates a firmware issue." msgstr "" -#: ../../main/hubs/movehub.rst:106 8499bf3203154c7db450a273fff42a00 +#: ../../main/hubs/movehub.rst:106 924601694622449ba1530e4d2b93d75c msgid "Status light examples" msgstr "" -#: ../../main/hubs/movehub.rst:109 9d4094fcb3184ccb8c1b52e33b482174 +#: ../../main/hubs/movehub.rst:109 c18676dd960b48cc9d7ff6caf82277f4 msgid "Turning the light on and off" msgstr "" -#: ../../main/hubs/movehub.rst:111 0af8e2a60a65479da6cd16a6a314ca84 -msgid "" -"from pybricks.hubs import MoveHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = MoveHub()\n" -"\n" -"# Turn the light on and off 5 times.\n" -"for i in range(5):\n" -"\n" -" hub.light.on(Color.RED)\n" -" wait(1000)\n" -"\n" -" hub.light.off()\n" -" wait(500)\n" -msgstr "" - -#: ../../main/hubs/movehub.rst:115 04a1471f992347f29eb007892b5574c7 +#: ../../main/hubs/movehub.rst:115 91784586d61e4c728575983a34e2b951 msgid "Making the light blink" msgstr "" -#: ../../main/hubs/movehub.rst:117 965334d174e64bfbad91d0ef43057e8f -msgid "" -"from pybricks.hubs import MoveHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub\n" -"hub = MoveHub()\n" -"\n" -"# Keep blinking red on and off.\n" -"hub.light.blink(Color.RED, [500, 500])\n" -"\n" -"wait(10000)\n" -"\n" -"# Keep blinking green slowly and then quickly.\n" -"hub.light.blink(Color.GREEN, [500, 500, 50, 900])\n" -"\n" -"wait(10000)\n" -msgstr "" - -#: ../../main/hubs/movehub.rst:121 1c9988136e3548e3bb45084ca6309924 +#: ../../main/hubs/movehub.rst:121 5c4152dcaea84667a939b5fef6464c93 msgid "IMU examples" msgstr "" -#: ../../main/hubs/movehub.rst:124 179380abe89f4c9a9cd6983ffa275ac5 +#: ../../main/hubs/movehub.rst:124 842614a78e3e4237af0f7c54487e0eb5 msgid "Testing which way is up" msgstr "" -#: ../../main/hubs/movehub.rst:126 118d455c5b104276b1cbb0b680e20e13 -msgid "" -"from pybricks.hubs import MoveHub\n" -"from pybricks.parameters import Color, Side\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = MoveHub()\n" -"\n" -"# Define colors for each side in a dictionary.\n" -"SIDE_COLORS = {\n" -" Side.TOP: Color.RED,\n" -" Side.BOTTOM: Color.BLUE,\n" -" Side.LEFT: Color.GREEN,\n" -" Side.RIGHT: Color.YELLOW,\n" -" Side.FRONT: Color.MAGENTA,\n" -" Side.BACK: Color.BLACK,\n" -"}\n" -"\n" -"# Keep updating the color based on detected up side.\n" -"while True:\n" -"\n" -" # Check which side of the hub is up.\n" -" up_side = hub.imu.up()\n" -"\n" -" # Change the color based on the side.\n" -" hub.light.on(SIDE_COLORS[up_side])\n" -"\n" -" # Also print the result.\n" -" print(up_side)\n" -" wait(50)\n" -msgstr "" - -#: ../../main/hubs/movehub.rst:130 d5d076762664412d847dd175cf2ee8f1 +#: ../../main/hubs/movehub.rst:130 ac30040ff8ab4d73b18c706fefac8e8a msgid "Reading acceleration" msgstr "" -#: ../../main/hubs/movehub.rst:132 5fa245c2e87442e9822d097d0a4e1949 -msgid "" -"from pybricks.hubs import MoveHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = MoveHub()\n" -"\n" -"# Get the acceleration tuple.\n" -"print(hub.imu.acceleration())\n" -"\n" -"while True:\n" -" # Get individual acceleration values.\n" -" x, y, z = hub.imu.acceleration()\n" -" print(x, y, z)\n" -"\n" -" # Wait so we can see what we printed.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/movehub.rst:137 d7a2fc5f5ed94c309a024dda2020326b +#: ../../main/hubs/movehub.rst:137 237d8eda63c6451faa4968cd6a1957be msgid "Bluetooth examples" msgstr "" -#: ../../main/hubs/movehub.rst:140 95cb2b0f0c0a41488d61095c48c80dd8 +#: ../../main/hubs/movehub.rst:140 58787df7e8fe47c8afa36cfff21c4c00 msgid "Broadcasting data to other hubs" msgstr "" -#: ../../main/hubs/movehub.rst:142 66dfd3f9e698457ab9be9f386331b67d -msgid "" -"from pybricks.hubs import MoveHub\n" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = MoveHub(broadcast_channel=1)\n" -"\n" -"# Initialize the motors.\n" -"left_motor = Motor(Port.A)\n" -"right_motor = Motor(Port.B)\n" -"\n" -"while True:\n" -" # Read the motor angles to be sent to the other hub.\n" -" left_angle = left_motor.angle()\n" -" right_angle = right_motor.angle()\n" -"\n" -" # Set the broadcast data and start broadcasting if not already doing " -"so.\n" -" data = (left_angle, right_angle)\n" -" hub.ble.broadcast(data)\n" -"\n" -" # Broadcasts are only sent every 100 milliseconds, so there is no " -"reason\n" -" # to call the broadcast() method more often than that.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/movehub.rst:146 038fd68a9e1b464e99bd5c70d5072f95 +#: ../../main/hubs/movehub.rst:146 ab679aada0df403897b28fa4884aaeb9 msgid "Observing data from other hubs" msgstr "" -#: ../../main/hubs/movehub.rst:148 c3c7d70c157542e389a2b441cf4078de -msgid "" -"from pybricks.hubs import MoveHub\n" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Color, Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = MoveHub(observe_channels=[1])\n" -"\n" -"# Initialize the motors.\n" -"left_motor = Motor(Port.A)\n" -"right_motor = Motor(Port.B)\n" -"\n" -"while True:\n" -" # Receive broadcast from the other hub.\n" -"\n" -" data = hub.ble.observe(1)\n" -"\n" -" if data is None:\n" -" # No data has been received in the last 1 second.\n" -" hub.light.on(Color.RED)\n" -" else:\n" -" # Data was received and is less that one second old.\n" -" hub.light.on(Color.GREEN)\n" -"\n" -" # *data* contains the same values in the same order\n" -" # that were passed to hub.ble.broadcast() on the\n" -" # other hub.\n" -" left_angle, right_angle = data\n" -"\n" -" # Make the motors on this hub mirror the position of the\n" -" # motors on the other hub.\n" -" left_motor.track_target(left_angle)\n" -" right_motor.track_target(right_angle)\n" -"\n" -" # Broadcasts are only sent every 100 milliseconds, so there is\n" -" # no reason to call the observe() method more often than that.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/movehub.rst:153 50bd45547b384a539ef9662f958b10c7 +#: ../../main/hubs/movehub.rst:153 1afd4bb636034623ad3b258ac5fc2d1b msgid "Button and system examples" msgstr "" -#: ../../main/hubs/movehub.rst:156 25f8f1827e674540b15b903f5e526fee +#: ../../main/hubs/movehub.rst:156 4d44e67c57c34b03bd930a2eb66fb5a9 msgid "Using the stop button during your program" msgstr "" -#: ../../main/hubs/movehub.rst:158 c8b4eab5895f4cedb32b045d2c3fc2cf -msgid "" -"from pybricks.hubs import MoveHub\n" -"from pybricks.parameters import Color, Button\n" -"from pybricks.tools import wait, StopWatch\n" -"\n" -"# Initialize the hub.\n" -"hub = MoveHub()\n" -"\n" -"# Disable the stop button.\n" -"hub.system.set_stop_button(None)\n" -"\n" -"# Check the button for 5 seconds.\n" -"watch = StopWatch()\n" -"while watch.time() < 5000:\n" -"\n" -" # Set light to green if pressed, else red.\n" -" if hub.buttons.pressed():\n" -" hub.light.on(Color.GREEN)\n" -" else:\n" -" hub.light.on(Color.RED)\n" -"\n" -"# Enable the stop button again.\n" -"hub.system.set_stop_button(Button.CENTER)\n" -"\n" -"# Now you can press the stop button as usual.\n" -"wait(5000)\n" -msgstr "" - -#: ../../main/hubs/movehub.rst:162 08edabd28a284594a7242a86d2bef934 +#: ../../main/hubs/movehub.rst:162 7a2b41684cf3456c90c302db4aeec780 msgid "Turning the hub off" msgstr "" -#: ../../main/hubs/movehub.rst:164 2db026e8851441368146c72008393c4d -msgid "" -"from pybricks.hubs import MoveHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = MoveHub()\n" -"\n" -"# Say goodbye and give some time to send it.\n" -"print(\"Goodbye!\")\n" -"wait(100)\n" -"\n" -"# Shut the hub down.\n" -"hub.system.shutdown()\n" -msgstr "" - -#: ../../main/hubs/movehub.rst:168 6186e7affa6242d7ad4c8c7aa46a0fc9 +#: ../../main/hubs/movehub.rst:168 de7c37c94965448a9ba59a6b99ea212e msgid "Making random numbers" msgstr "" -#: ../../main/hubs/movehub.rst:170 07c19a3da402454388f3b4f25d786639 +#: ../../main/hubs/movehub.rst:170 5e3d69efd871482a8d0ff681520d4f27 msgid "" "The Move Hub does not include the :mod:`urandom` module. If you need " "random numbers in your application, you can try a variation of the " "following example." msgstr "" -#: ../../main/hubs/movehub.rst:173 bd08b3fc8fe449ab8c22e09ffcc37b9a +#: ../../main/hubs/movehub.rst:173 bc5bdd8d87b5461a8eca84afc0576662 msgid "" "To make it work better, change the initial value of ``_rand`` to " "something that is truly random in your application. You could use the IMU" " acceleration or a sensor value, for example." msgstr "" -#: ../../main/hubs/movehub.rst:177 08a8423c18b947809d02fdb1cae58484 -msgid "" -"from pybricks.hubs import MoveHub\n" -"\n" -"# Initialize the hub.\n" -"hub = MoveHub()\n" -"\n" -"# Initialize \"random\" seed.\n" -"_rand = hub.battery.voltage() + hub.battery.current()\n" -"\n" -"\n" -"# Return a random integer N such that a <= N <= b.\n" -"def randint(a, b):\n" -" global _rand\n" -" _rand = 75 * _rand % 65537 # Lehmer\n" -" return _rand * (b - a + 1) // 65537 + a\n" -"\n" -"\n" -"# Generate a few example numbers.\n" -"for i in range(5):\n" -" print(randint(0, 1000))\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/hubs/primehub.po b/doc/locales/de/LC_MESSAGES/hubs/primehub.po index 6fd8d5ff..81e18ca0 100644 --- a/doc/locales/de/LC_MESSAGES/hubs/primehub.po +++ b/doc/locales/de/LC_MESSAGES/hubs/primehub.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,345 +19,345 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/hubs/primehub.rst:4 ec24727afc6a497ba5fe0f2f81b95606 +#: ../../main/hubs/primehub.rst:4 b8c3257d457f4d91b06f57d88f7292ec msgid "Prime Hub / Inventor Hub" msgstr "" -#: ../../main/hubs/primehub.rst:6 f35fab25ddf54f009ca61ae710f8ae37 +#: ../../main/hubs/primehub.rst:6 aec4acbccd8f4f66bc94611bfbb1533c msgid ".. image:: ../../main/cad/output/hub-spike-inventor.png" msgstr "" -#: ../../main/hubs/primehub.rst:9 fbfafec225c24d098cd155087c89768f +#: ../../main/hubs/primehub.rst:9 495faf692abe48879688d15c25f5d540 msgid ".. image:: /blockimg/pybricks_variables_set_inventor_hub_option0.svg" msgstr "" -#: ../../main/hubs/primehub.rst:11 65e66cede2894de791ed7cfc0d315a69 +#: ../../main/hubs/primehub.rst:11 74b01a1f3bae40c390a11e881fc5d724 msgid ".. image:: /blockimg/pybricks_variables_set_inventor_hub_option4.svg" msgstr "" -#: ../../main/hubs/primehub.rst:16 9da66012daf24cd0bbbad734ce2ecea6 +#: ../../main/hubs/primehub.rst:16 00e48442d77142bbb80ebe4124392280 msgid "" "This class is the same as the ``PrimeHub`` class, shown below. Both " "classes work on both hubs." msgstr "" -#: ../../main/hubs/primehub.rst:19 7ccc5bbca55a4a6c867bc7f0dc77cc16 +#: ../../main/hubs/primehub.rst:19 d39425bdb1e34ab385b434f1f712bd29 msgid "These hubs are completely identical. They use the same Pybricks firmware." msgstr "" -#: ../../main/hubs/primehub.rst:21 0bf656e3553d4e47aeb21696c146048e +#: ../../main/hubs/primehub.rst:21 7ab986d20754487bbda84fb1d5fa0055 msgid ".. image:: /blockimg/pybricks_variables_set_prime_hub_option0.svg" msgstr "" -#: ../../main/hubs/primehub.rst:23 c7b4f324a1cc4e61a4febef22b272b35 +#: ../../main/hubs/primehub.rst:23 a3d261f3b2bc4866bff21c1abd01aa9f msgid ".. image:: /blockimg/pybricks_variables_set_prime_hub_option4.svg" msgstr "" -#: b67cc6c451d746118dddeb3ab3da9981 of pybricks.hubs.PrimeHub:1 +#: 2ad0fcb2fc674136be7d442f90ce4e9f of pybricks.hubs.PrimeHub:1 msgid "LEGO® SPIKE Prime Hub." msgstr "" -#: 1526de721dec467fadf11b0b1b0e2ae9 of pybricks.hubs.PrimeHub:3 +#: 159a1a3ac5214409a8be7d6967c6c92b of pybricks.hubs.PrimeHub:3 msgid "" "Initializes the hub. Optionally, specify how the hub is :ref:`placed in " "your design ` by saying in which direction the top side (with" " the buttons) and front side (with the USB port) are pointing." msgstr "" -#: ../../main/hubs/primehub.rst 0612540f1ad54248a5774e81932b8b72 -#: 1cd9b05ae9cb418eb2a1fd4aef6127e5 30956555231f47ba85ce7ca439e63799 -#: 411c6152eac040ffa63472b3e53da048 4f9353d39245465f9c86722e48f25dc6 -#: 511c0a59afef4c2d8984d2f58a6f3945 5b55d64f72d04ff78cc5da89d4f363b3 -#: 61949a83dad345ef8025432f632ea5e4 773b6b59c71140328c28474ba198bdde -#: 8289a4d5e7e24d38ad7e9d1525180a89 893102c4fdf44c408647c85c272cc39b -#: 89d8d851ede64d1888d7fc30776d4a0c 932bc4774d7b497b9c772f33cc859880 -#: 9c7cbd5c769041a4aad66b2f12083cfa a5b395a4b61f40cc8a3622afaa78a03d -#: b8ed39b1d02d4b5bafd84941ad204e86 c2b90c13ac0f401db3623ca715d77c9e -#: c5f2bec1b79d4137b685a22372469457 d4f7a5e899b5465c8d06c5ce372dcb4d -#: d837cd671b444167acea3dba0c790c55 e1cc6f09ef9b40879f4961f9643220a0 -#: e56eadcb18e84367bd41c1b2a6ca390a ed546098b52547979a0fb67f42c05200 -#: fa155790f2b34d3cb096eade5eba6c12 +#: ../../main/hubs/primehub.rst 0b9816ca3c8544678ed0636719221536 +#: 0daf01188de0473390d32781dbc75d43 275174a7e7934c4ab94290b4c5892037 +#: 2bb5fcc89de04392a9fddab37f3d0601 32e0215f79aa49169fd4c4c1856b27cf +#: 3428348638df49e2b415cabdca33496f 3482b242269442b7bd622c8840cad0f8 +#: 34f1e66c705b4fb087328f19658ed8ac 3993fb44bf51418e9165ca6a7d6235cc +#: 3ed949aa05354af4a3b8ee427298c294 4295481e41094294a77091402258af10 +#: 4f9a66073e754af1992614a8b72223bd 5e296da750c64fb7add1d74f36b0b72b +#: 9f971a9857704674a81219e5c7ca129d a882ecdc87d44d4c89501c4e6bfc4dc6 +#: bdd284eb5d9b418ab450622e4e235d74 c5242a4872c240c4bf2ad6d29aff2d49 +#: c85febb61c2e49a1b9ab3eb08e133516 d1d7bb8bac884aac9c14da211ce0fab3 +#: d4166505bed64942aaf09db602497d3f e6ccbfe057184a4c98d3c744cf05e1ec +#: efd3c2684675435b9bb8f709b44523e2 f38f2ac2bdba4775918b261d7cb7cace +#: f648dfada725494898377b0cdb82d900 msgid "Parameters" msgstr "" -#: 4f2755198ac74cbbab384faa3b11be90 of pybricks.hubs.PrimeHub:8 +#: 57d84ea9594d40a7a074a4c11605fa46 of pybricks.hubs.PrimeHub:8 msgid "The axis that passes through the *top side* of the hub." msgstr "" -#: eb4f31b4b9db4591aaf0bcd09f26a088 of pybricks.hubs.PrimeHub:11 +#: 1322aa45999c4017a4c31af64279bd12 of pybricks.hubs.PrimeHub:11 msgid "The axis that passes through the *front side* of the hub." msgstr "" -#: b1f18bc6a8ce414f8372181b57ad7e3f of pybricks.hubs.PrimeHub:14 +#: 082eaec60d9341048a170f8ea7c6517c of pybricks.hubs.PrimeHub:14 msgid "" "A value from 0 to 255 indicating which channel ``hub.ble.broadcast()`` " "will use. Default is channel 0." msgstr "" -#: 39dcbe47d0e44046a6701115999ad6e5 of pybricks.hubs.PrimeHub:16 +#: de1e3fb2c16d48df91c40b7a8f827b92 of pybricks.hubs.PrimeHub:16 msgid "" "A list of channels to listen to when ``hub.ble.observe()`` is called. " "Listening to more channels requires more memory. Default is an empty list" " (no channels)." msgstr "" -#: 823f0e4c324043ccb6412804ade5c4a7 of pybricks.hubs.PrimeHub:20 +#: cc498463a4d44af7b79350ecfd893054 of pybricks.hubs.PrimeHub:20 msgid "Added *broadcast_channel* and *observe_channels* arguments." msgstr "" -#: ../../main/hubs/primehub.rst:30 5c0d2acfa9ac475cb0e9cd7851655e8c +#: ../../main/hubs/primehub.rst:30 495e5ee95132403cbd2a3f47cacaa107 msgid "Using the hub status light" msgstr "" -#: ../../main/hubs/primehub.rst:31 960eaf9e95ce47acbdc0ed00ee2ad5d8 +#: ../../main/hubs/primehub.rst:31 67fe42d4f6754d7c9b2b5f139a424308 msgid ".. image:: ../../main/diagrams/primehub_light.png" msgstr "" -#: ../../main/hubs/primehub.rst:34 3f1f3d609f4f4d9f8006cbae35db8524 +#: ../../main/hubs/primehub.rst:34 d0a16c083adc4a35af3d29a2883316cb msgid ".. image:: /blockimg/pybricks_blockLightOnColor_primehub_on.svg" msgstr "" -#: 1d5c65ca14ee4d239a9fcfb95cd7410c of pybricks._common.ColorLight.on:1 +#: 1fcaa28d35ad4c82bd516d8df489b335 of pybricks._common.ColorLight.on:1 msgid "Turns on the light at the specified color." msgstr "" -#: 2ca74b7902034ec88c29924638abb008 f25a0c97a4954b60be3a4935e4346496 of +#: 01228aa2be3f4588b668c9a293f06bea af069f1c689f4212a9a987709d6043ae of #: pybricks._common.ColorLight.blink:11 pybricks._common.ColorLight.on:3 msgid "Color of the light." msgstr "" -#: ../../main/hubs/primehub.rst:38 256fb1bb195246c083c62edbbf5051bf +#: ../../main/hubs/primehub.rst:38 ac94a96e787945468cdfca80e2980ed5 msgid ".. image:: /blockimg/pybricks_blockLightOnColor_primehub_off.svg" msgstr "" -#: a20860e09f174744a288e082201e946d of pybricks._common.ColorLight.off:1 +#: 2affcf361d974205bd5894e1499b5542 of pybricks._common.ColorLight.off:1 msgid "Turns off the light." msgstr "" -#: aa2a56c045fb467da020ac0f719d9e7f of pybricks._common.ColorLight.blink:1 +#: 42b24bf8f1644fc2b76579adecddee89 of pybricks._common.ColorLight.blink:1 msgid "" "Blinks the light at a given color by turning it on and off for given " "durations." msgstr "" -#: 29c5cb1ef4854d56b534728a7dea4ec7 of pybricks._common.ColorLight.blink:4 +#: 344dee5127874d75bfe6bae74c976535 of pybricks._common.ColorLight.blink:4 msgid "" "The light keeps blinking indefinitely while the rest of your program " "keeps running." msgstr "" -#: d64bb8c722a4411d922cf8a00a515ed6 of pybricks._common.ColorLight.blink:7 +#: 95e6959755114bbb86c6056df1651947 of pybricks._common.ColorLight.blink:7 msgid "" "This method provides a simple way to make basic but useful patterns. For " "more generic and multi-color patterns, use ``animate()`` instead." msgstr "" -#: 76a0713570324c8faa47024410203f3f of pybricks._common.ColorLight.blink:13 +#: 820a18d3d12c4646b3b6f68bebe39f51 of pybricks._common.ColorLight.blink:13 msgid "Sequence of time values of the form ``[on_1, off_1, on_2, off_2, ...]``." msgstr "" -#: 838e6f2a28b844f3a8d5a0ab39950d4e of pybricks._common.ColorLight.animate:1 +#: ac99784cde154fba942c2bf8d422242d of pybricks._common.ColorLight.animate:1 msgid "" "Animates the light with a sequence of colors, shown one by one for the " "given interval." msgstr "" -#: d0f40e8e46fb4b81b5c448240d314b59 of pybricks._common.ColorLight.animate:4 +#: d3486194e3844baa95e7991c37eb1a4b of pybricks._common.ColorLight.animate:4 msgid "" "The animation runs in the background while the rest of your program keeps" " running. When the animation completes, it repeats." msgstr "" -#: 62474878c26c4c0397b07c60e2438487 of pybricks._common.ColorLight.animate:7 +#: 20dca0ed7a58413296a1ffd682eeaa4e of pybricks._common.ColorLight.animate:7 msgid "Sequence of :class:`Color <.parameters.Color>` values." msgstr "" -#: f7900b5f291749589ef8751110c8e4fb of pybricks._common.ColorLight.animate:10 +#: e4d1c5713d874d64a0e95c2b7515603d of pybricks._common.ColorLight.animate:10 msgid "Time between color updates." msgstr "" -#: ../../main/hubs/primehub.rst:47 08857c7b15e44f46a930b6c0641f7b68 +#: ../../main/hubs/primehub.rst:47 5a7299314afe4467bca83a8512438d11 msgid "Using the light matrix display" msgstr "" -#: ../../main/hubs/primehub.rst:48 abbc701b0c5646fcafb83bf6ec1da75b +#: ../../main/hubs/primehub.rst:48 f53d5d36137b41eb890aad380128bff0 msgid ".. image:: ../../main/diagrams/primehub_display.png" msgstr "" -#: b073815c172547cb8bd816e49a757a17 of +#: c124b4afeb724ed188b20abdcd57feea of #: pybricks._common.LightMatrix.orientation:1 msgid "Sets the orientation of the light matrix display." msgstr "" -#: f7682fb1360e40aeb681b66cb0ea57b4 of +#: 3c0c5a0801a0407abb5ddf22b92cdb66 of #: pybricks._common.LightMatrix.orientation:3 msgid "" "Only new displayed images and pixels are affected. The existing display " "contents remain unchanged." msgstr "" -#: d8efe204a76c42f1b65fdab3ff8e68fa of +#: 59f087328ea3428faa2b3a8b75052a5f of #: pybricks._common.LightMatrix.orientation:6 msgid "" "Which side of the light matrix display is \"up\" in your design. Choose " "``Side.TOP``, ``Side.LEFT``, ``Side.RIGHT``, or ``Side.BOTTOM``." msgstr "" -#: ../../main/hubs/primehub.rst:53 c274d1d4d05847f3a4f5a452986fd891 +#: ../../main/hubs/primehub.rst:53 17765859614c41a3aa99d9aba251ff87 msgid ".. image:: /blockimg/pybricks_blockLightMatrixDo_light_matrix_off.svg" msgstr "" -#: 57f75be75fd74cbea39f8a1742c8a8d7 of pybricks._common.LightMatrix.off:1 +#: 268daca2ece3432da6e816a9f4993c63 of pybricks._common.LightMatrix.off:1 msgid "Turns off all the pixels." msgstr "" -#: ../../main/hubs/primehub.rst:57 ddcdc73046324342ac924966abe7461e +#: ../../main/hubs/primehub.rst:57 f0c7f6a067ba4a65b13d5214cf376350 msgid ".. image:: /blockimg/pybricks_blockLightMatrixDo_light_matrix_pixel.svg" msgstr "" -#: a2e0387bf50f414382be782c1d07d607 of pybricks._common.LightMatrix.pixel:1 +#: 74fba6a76d654154b557d04fee09ec2a of pybricks._common.LightMatrix.pixel:1 msgid "Turns on one pixel at the specified brightness." msgstr "" -#: 914a0e7522b741be8677a509c11b782b of pybricks._common.LightMatrix.pixel:3 +#: 1043b502599f4becbf20894de8eab392 of pybricks._common.LightMatrix.pixel:3 msgid "Vertical grid index, starting at 0 from the top." msgstr "" -#: 1acdaaaf097d47079bbc0403a3b442ba of pybricks._common.LightMatrix.pixel:5 +#: d0d62a4fc47e455db3b5baf5e79a5a2a of pybricks._common.LightMatrix.pixel:5 msgid "Horizontal grid index, starting at 0 from the left." msgstr "" -#: f661c580d1e943e2ae5d4bcdcef360cd of pybricks._common.LightMatrix.pixel:7 +#: 5e43bfbb1a2448a088e0bd5f5affd2d3 of pybricks._common.LightMatrix.pixel:7 msgid "Brightness of the pixel." msgstr "" -#: fad3220419b0480da137a53706f4a8b6 of pybricks._common.LightMatrix.icon:1 +#: 0edb6e1872db45c088c7a054c2bb24d9 of pybricks._common.LightMatrix.icon:1 msgid "Displays an icon, represented by a matrix of :ref:`brightness` values." msgstr "" -#: 645b0996edbf49b885820960b8f79e3f of pybricks._common.LightMatrix.icon:4 +#: fb2a2bb8f1b249a89076f165d56de632 of pybricks._common.LightMatrix.icon:4 msgid "Matrix of intensities (:ref:`brightness`). A 2D list is also accepted." msgstr "" -#: c91494a7428a424ca3d8189397e3d56b of pybricks._common.LightMatrix.animate:1 +#: 010b9d6557bf499d8f3777a131838b59 of pybricks._common.LightMatrix.animate:1 msgid "Displays an animation made using a list of images." msgstr "" -#: 13a6d1cc43b64e40a8dd76a9f3086c93 of pybricks._common.LightMatrix.animate:3 +#: c2f0bc0d4f074c358e20bbf2616aa869 of pybricks._common.LightMatrix.animate:3 msgid "" "Each image has the same format as above. Each image is shown for the " "given interval. The animation repeats forever while the rest of your " "program keeps running." msgstr "" -#: b6151a646d714681aa4286fafdc738c9 of pybricks._common.LightMatrix.animate:7 +#: a0763be7e4bb4af0843d3bba84f075e8 of pybricks._common.LightMatrix.animate:7 msgid "Sequence of :class:`Matrix ` of intensities." msgstr "" -#: fdf9b01307404044805a723c8cad41e1 of pybricks._common.LightMatrix.animate:10 +#: 59e6d0456ceb4ca182b41d19e1064888 of pybricks._common.LightMatrix.animate:10 msgid "Time to display each image in the list." msgstr "" -#: ../../main/hubs/primehub.rst:65 e41593134dd84251b8cf0f018998010a +#: ../../main/hubs/primehub.rst:65 f602db929d62491698dd8de5e6137da2 msgid ".. image:: /blockimg/pybricks_blockLightMatrixDo_light_matrix_number.svg" msgstr "" -#: e59feb18f1994e018538cb631e2f13bd of pybricks._common.LightMatrix.number:1 +#: 03f9073f94df4a1084c07e47deab0594 of pybricks._common.LightMatrix.number:1 msgid "Displays a number in the range -99 to 99." msgstr "" -#: 8850027e287a432680bdcf40dbfa2f5c of pybricks._common.LightMatrix.number:3 +#: c0e17379e39d421e9ab74daeea5e5509 of pybricks._common.LightMatrix.number:3 msgid "" "A minus sign (``-``) is shown as a faint dot in the center of the " "display. Numbers greater than 99 are shown as ``>``. Numbers less than " "-99 are shown as ``<``." msgstr "" -#: 9997a28c94824bd9a5f1d7a453176205 of pybricks._common.LightMatrix.number:7 +#: 2872a3cf109943a5ad816acb2732602f of pybricks._common.LightMatrix.number:7 msgid "The number to be displayed." msgstr "" -#: ../../main/hubs/primehub.rst:69 1a2c4506c7c249c3990f3643c7abd293 +#: ../../main/hubs/primehub.rst:69 7c5367d48af141f6b3807c3cc09cf67f msgid ".. image:: /blockimg/pybricks_blockLightMatrixDo_light_matrix_symbol.svg" msgstr "" -#: c675a5e660b3499db79f32cb337fe305 of pybricks._common.LightMatrix.char:1 +#: 5b063241c1d8449594735ff69d5ed01a of pybricks._common.LightMatrix.char:1 msgid "" "Displays a character or symbol on the light grid. This may be any letter " "(``a``--``z``), capital letter (``A``--``Z``) or one of the following " "symbols: ``!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}``." msgstr "" -#: 7b8c7adc13ed440c9a61f8868b80f0b1 of pybricks._common.LightMatrix.char:5 +#: c19996ef6eb04cceb933358ecf0dc79e of pybricks._common.LightMatrix.char:5 msgid "The character or symbol to be displayed." msgstr "" -#: c90365e1ab7543408c44a15adab6c9f4 of pybricks._common.LightMatrix.text:1 +#: 7d36347e5bf8406a8c6ead1bcf30f144 of pybricks._common.LightMatrix.text:1 msgid "" "Displays a text string, one character at a time, with a pause between " "each character. After the last character is shown, all lights turn off." msgstr "" -#: 02e34a740df54ede82c7c1f5e22d0178 of pybricks._common.LightMatrix.text:5 +#: d42573ed1799409c958eb28459a318c4 of pybricks._common.LightMatrix.text:5 msgid "The text to be displayed." msgstr "" -#: 4fb87e2608f24e478804e2b3b994bfc9 of pybricks._common.LightMatrix.text:7 +#: 8634f78b47f44e84acfe96b08895e84d of pybricks._common.LightMatrix.text:7 msgid "For how long a character is shown." msgstr "" -#: b373dee96f8b4d8bbe228631e4b9f692 of pybricks._common.LightMatrix.text:9 +#: 5f846bd3ceed4b2b9665ca8725ff73d5 of pybricks._common.LightMatrix.text:9 msgid "For how long the display is off between characters." msgstr "" -#: ../../main/hubs/primehub.rst:76 c921ea9bcde74be0b4473a30d01fb121 +#: ../../main/hubs/primehub.rst:76 a030f6c759e440ccabd8140a7441f2be msgid "Using the buttons" msgstr "" -#: ../../main/hubs/primehub.rst:77 92cc111cd08c4c2897a22c212c435734 +#: ../../main/hubs/primehub.rst:77 35e5d2cf4ead4c26a53a0686a28d6e5d msgid ".. image:: ../../main/diagrams/primehub_buttons.png" msgstr "" -#: ../../main/hubs/primehub.rst:80 c92ab1943f5f4df39e8a52ab8aecc14d +#: ../../main/hubs/primehub.rst:80 608dc331d2da476b9f97d726ff4f7d51 msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_PrimeHub.svg" msgstr "" -#: c9e5dfde33864002bdef5e4308fc019c of pybricks._common.Keypad.pressed:1 +#: d2885ddacbba455f9e2582631d5def64 of pybricks._common.Keypad.pressed:1 msgid "Checks which buttons are currently pressed." msgstr "" -#: ../../main/hubs/primehub.rst 00194d398654424f86a5220b831a253d -#: 08d1b398e8f448a6ac3654d1fe9feb46 0cb1c679a87a4a5f9ab584c0b300da75 -#: 12b7a78757934fcfb97092f976120ebf 369403b0af784c118f9a873125a535b7 -#: 45ee2aa3123840fe850ea4e21fb4f812 4e68e1c764524885912cecd667c18ed0 -#: 557fe9c133ef46e2a73fa4c134da19f1 568e89e88cbb479d9b2f61098443c1ca -#: 58eb996f765f469ba6e962d9307d066f 61f7e632f97e4c1ba8ca2ddcdb29057c -#: 6bada488a7bb4a10b8f47ab8e9befb14 9766cdce84fb4344890b20d5dbd584e2 -#: 9d5f370540304b26bf022deffc61c7a8 acc49e42e4bf4ba5bbbd07ad387e178f -#: b075e5ca75ad4d91b4f50307217fe39a b155a081026f4bb0b2117507b784fb39 -#: dde4a5789125405ea898f6fa5e7c2949 e2d6e4952d604d9486118f66ab51fae6 -#: e9bb574363274b4db768068aba062655 +#: ../../main/hubs/primehub.rst 0cc0334f08a14db1aec24a3b5d7947c0 +#: 1344c98d2efa4fe4bbf81f4af54dee8c 207c1c57e6064bd9be8698c6ad24578a +#: 21f7c00f738b4b82b961c788a6cae45a 23d2c8bbce2c4e10823d68c5189a77f8 +#: 25f6527a83d6405d8b75c32173763f31 3a41061ec66545d4ba9be1e653f3d136 +#: 3d50fbd5837946308882007b218e8625 3de333b031914dd688efff55092138b3 +#: 47d63b88af604e7c9755d7163a11075e 4ae5572112c44a56bd07547278b8396e +#: 6154c2f371f541cd9c492a46fd9cf571 6bd64e594a4746b091507921fbc470a7 +#: 97a06943bebb446bb48d6a12ad4d5023 a584fcdfd9364dd3963f3e052a8463b7 +#: b94debc5993c4cd592b8fbab4c14c432 d5ac7bb65fbc4eac93f8bbdb52de4cea +#: d9a153c67ffd4fbe84d9625fdc705726 de0e183c6dd34143b5d0230056e92e0f +#: eaa6cdb8f7ef4fffa2bffd6c5523e494 msgid "Returns" msgstr "" -#: fa0f88cd42ae4b07906f3d6fe976a23a of pybricks._common.Keypad.pressed:3 +#: f357d923f1f6469ebd269d0c7c25ad1e of pybricks._common.Keypad.pressed:3 msgid "Set of pressed buttons." msgstr "" -#: ../../main/hubs/primehub.rst:84 eee85ecb6af7447eb6dd8b0c8e86c315 +#: ../../main/hubs/primehub.rst:84 96b8a2c1f3fe4ccda24c03760c6dce71 msgid ".. image:: /blockimg/pybricks_blockHubStopButton_PrimeHub.svg" msgstr "" -#: ../../main/hubs/primehub.rst:86 40b1730c2c2e49258031a11dd85d9988 +#: ../../main/hubs/primehub.rst:86 f6a08f466f0e4f9188e04dbc927951b7 msgid ".. image:: /blockimg/pybricks_blockHubStopButton_PrimeHub_none.svg" msgstr "" -#: b0f0e5c3a2cf40dc9bc21cdd2ffc80c0 of +#: 3669e066f58742ac98cdf5bf6e6652bb of #: pybricks._common.System.set_stop_button:1 msgid "Sets the button or button combination that stops a running script." msgstr "" -#: a273aee8b3e44a4b921f9bfb607e918b of +#: 74b45b191f7745258ff7cd329ea95136 of #: pybricks._common.System.set_stop_button:3 msgid "" "Normally, the center button is used to stop a running script. You can " @@ -365,7 +365,7 @@ msgid "" "purposes." msgstr "" -#: 7b6acff7fe0f4f40b4278ea2da7821a6 of +#: b3c9b52accfc44068abc11306c2f1d81 of #: pybricks._common.System.set_stop_button:7 msgid "" "A button such as :attr:`Button.CENTER " @@ -374,19 +374,19 @@ msgid "" " still turn the hub off by holding the center button for three seconds." msgstr "" -#: ../../main/hubs/primehub.rst:92 07b42462dd2b4bd5bbf9ca851f07be34 +#: ../../main/hubs/primehub.rst:92 e225ef05597d460c9ced8b4f3b0e93ad msgid "Using the IMU" msgstr "" -#: ../../main/hubs/primehub.rst:93 f0c41370935249c894a84d394fb8be37 +#: ../../main/hubs/primehub.rst:93 c0f0f477e80443a489ac7d16647308f7 msgid ".. image:: /blockimg/pybricks_blockImuStatus_PrimeHub_ready.svg" msgstr "" -#: ada8609b17034c79b9f0c45f2651ee96 of pybricks._common.IMU.ready:1 +#: a81f9dfd14a34b00ba976a8c653a19b1 of pybricks._common.IMU.ready:1 msgid "Checks if the device is calibrated and ready for use." msgstr "" -#: e6fbea87f0f24ef7a3255d1bdd44481a of pybricks._common.IMU.ready:3 +#: 7257bd7cd08447b990d0ca95d1f1869e of pybricks._common.IMU.ready:3 msgid "" "This becomes ``True`` when the robot has been sitting stationary for a " "few seconds, which allows the device to re-calibrate. It is ``False`` if " @@ -394,54 +394,54 @@ msgid "" "for more than 10 minutes." msgstr "" -#: a6acca58e5f548f99b58034b5cc88ac4 of pybricks._common.IMU.ready:8 +#: c43a9c05a48e462db3d40025f79a0d82 of pybricks._common.IMU.ready:8 msgid "``True`` if it is ready for use, ``False`` if not." msgstr "" -#: ../../main/hubs/primehub.rst:97 f7c0747f4fbf42f1bcd48a5bb6726d41 +#: ../../main/hubs/primehub.rst:97 2edc80c2c8c648b7b2d61d8280abfff7 msgid ".. image:: /blockimg/pybricks_blockImuStatus_PrimeHub_stationary.svg" msgstr "" -#: 0f9017c05d954c75b8c4d9cfb16655ab of pybricks._common.IMU.stationary:1 +#: e81255dc030149a9a7aad1cfa54c1a76 of pybricks._common.IMU.stationary:1 msgid "Checks if the device is currently stationary (not moving)." msgstr "" -#: 5dd1f2fbae3c434aba76245c553e6a74 of pybricks._common.IMU.stationary:3 +#: 5e56694f9af14ac7a6e9b13c7d63b6ed of pybricks._common.IMU.stationary:3 msgid "``True`` if stationary for at least a second, ``False`` if it is moving." msgstr "" -#: ../../main/hubs/primehub.rst:101 88c363534a274c51bfa494752e5e2517 +#: ../../main/hubs/primehub.rst:101 112e20260b424cd19c0d7df137cd1fcc msgid ".. image:: /blockimg/pybricks_blockImuUp_PrimeHub.svg" msgstr "" -#: 7e65fa0a3028468b929953b3ef2d87da of +#: 0b86be18b76f4e088ac7fd7697dabd81 of #: pybricks._common.SimpleAccelerometer.up:1 msgid "Checks which side of the hub currently faces upward." msgstr "" -#: 9ad0cc96049140e6ad5fe4833b71af26 of +#: 2bf678be5719432493511aeda4495b36 of #: pybricks._common.SimpleAccelerometer.up:3 msgid "" "``Side.TOP``, ``Side.BOTTOM``, ``Side.LEFT``, ``Side.RIGHT``, " "``Side.FRONT`` or ``Side.BACK``." msgstr "" -#: ../../main/hubs/primehub.rst:105 4493a764c6ce4811b75b4cb1e1f26a12 +#: ../../main/hubs/primehub.rst:105 cb933af55e844c43a80db8a8104624a0 msgid ".. image:: /blockimg/pybricks_blockTilt_PrimeHub_imu.tilt.pitch.svg" msgstr "" -#: ../../main/hubs/primehub.rst:107 0138d8b101d046a3bd874a0d75e8671c +#: ../../main/hubs/primehub.rst:107 bf68ea69b5f4458d952398bb73e1904d msgid ".. image:: /blockimg/pybricks_blockTilt_PrimeHub_imu.tilt.roll.svg" msgstr "" -#: c482fc156d7947979e7becee587f1885 of +#: 25e3ed1a3f4a4ca09c41eef62a9caf99 of #: pybricks._common.SimpleAccelerometer.tilt:1 msgid "" "Gets the pitch and roll angles. This is relative to the :ref:`user-" "specified neutral orientation `." msgstr "" -#: fe1c5b758acf4db1aeb94c25ae85fd04 of +#: 668c79271d1c41ba9211b580d5068743 of #: pybricks._common.SimpleAccelerometer.tilt:4 msgid "" "The order of rotation is pitch-then-roll. This is equivalent to a " @@ -449,80 +449,80 @@ msgid "" "along the x-axis." msgstr "" -#: fcd57af86765478e92e7c26eeaaa4e69 of +#: 5b2f397148c742cf87ab88dbfced1a37 of #: pybricks._common.SimpleAccelerometer.tilt:8 msgid "Tuple of pitch and roll angles in degrees." msgstr "" -#: ../../main/hubs/primehub.rst:112 ebbf9cfe8a4a4196881bb49e3074ba2b +#: ../../main/hubs/primehub.rst:112 357b32a1f7cd48a0a5cd8a2825115b21 msgid ".. image:: /blockimg/pybricks_blockImuAcceleration_PrimeHub.svg" msgstr "" -#: 7210b6fa926b4f85bb9102a7e12c4ac0 of +#: 6f0c6a101072495ca128ba7987690241 of #: pybricks._common.Accelerometer.acceleration:1 msgid "" "Gets the acceleration of the device along a given axis in the :ref:`robot" " reference frame `." msgstr "" -#: cb6d1763173f4197be85d1c2b9a6e68b of +#: a7b4295618d0477b9617fb797acc5748 of #: pybricks._common.Accelerometer.acceleration:4 msgid "Axis along which the acceleration should be measured." msgstr "" -#: 16f6343cda04469c8bab92cee646b3c7 of +#: 61ff2a1d15be4b7ebf51b614183730e9 of #: pybricks._common.Accelerometer.acceleration:8 msgid "" "Acceleration along the specified axis. If you specify no axis, this " "returns a vector of accelerations along all axes." msgstr "" -#: ../../main/hubs/primehub.rst:116 e95132563c39478da497367ed9ef6054 +#: ../../main/hubs/primehub.rst:116 d74a908271254b83b03bffe0692515b1 msgid "" ".. image:: " "/blockimg/pybricks_blockImuRotation_PrimeHub_imu.angular_velocity.svg" msgstr "" -#: 0def91ca7b8f40ac9662ac189726e357 of pybricks._common.IMU.angular_velocity:1 +#: 74c061c3eab0476aaff326bd7ee5e862 of pybricks._common.IMU.angular_velocity:1 msgid "" "Gets the angular velocity of the device along a given axis in the " ":ref:`robot reference frame `." msgstr "" -#: 513f6369d8ae4e29858fb48e71b3e360 of pybricks._common.IMU.angular_velocity:4 +#: 8a17be89671a49a48478416f6ecdf349 of pybricks._common.IMU.angular_velocity:4 msgid "Axis along which the angular velocity should be measured." msgstr "" -#: dddd523de6004d3d808e20a183e8c734 of pybricks._common.IMU.angular_velocity:8 +#: b77ad0465da24ef688668595050de183 of pybricks._common.IMU.angular_velocity:8 msgid "" "Angular velocity along the specified axis. If you specify no axis, this " "returns a vector of accelerations along all axes." msgstr "" -#: ../../main/hubs/primehub.rst:120 26eeb4a849314b85bd9746b094540326 +#: ../../main/hubs/primehub.rst:120 b33cdcf8e94d49b4a8655130d75ffdde msgid ".. image:: /blockimg/pybricks_blockImuGetHeading_PrimeHub.svg" msgstr "" -#: 3ac70234bd07491ba055eb8484f10e7e of pybricks._common.IMU.heading:1 +#: 31a9e16681464832bdca81ce83cab183 of pybricks._common.IMU.heading:1 msgid "" "Gets the heading angle of your robot. A positive value means a clockwise " "turn." msgstr "" -#: 142cdf832b0d4fe7938f4b92b463f9f4 of pybricks._common.IMU.heading:4 +#: 971a3cee52c146e4a1e56d2ed8e8f5f7 of pybricks._common.IMU.heading:4 msgid "" "The heading is 0 when your program starts. The value continues to grow " "even as the robot turns more than 180 degrees. It does not wrap around to" " -180 like it does in some apps." msgstr "" -#: 5e9ca72ea7b84fb5bbca9f30a1a3d23c of pybricks._common.IMU.heading:9 +#: ba29901aa99d4dc6bba8cf165fd0fed2 of pybricks._common.IMU.heading:9 msgid "" "*For now, this method only keeps track of the heading while the robot is " "on a flat surface.*" msgstr "" -#: 6c44948ff7714f06b7f99f2eefb0bde4 of pybricks._common.IMU.heading:12 +#: 33af5837db37433ebebf45f69829ecd9 of pybricks._common.IMU.heading:12 msgid "" "This means that the value is no longer correct if you lift it from the " "table. To solve this, you can call ``reset_heading`` to reset the heading" @@ -531,85 +531,85 @@ msgid "" "heading 90 degrees as the new starting point." msgstr "" -#: 0875aea728e140819d04786168da4692 of pybricks._common.IMU.heading:19 +#: 595c2a852abd4a9f85fcffd3bf0ae4f9 of pybricks._common.IMU.heading:19 msgid "Heading angle relative to starting orientation." msgstr "" -#: ../../main/hubs/primehub.rst:124 055ca5ad9edb41d29209c4b68ec6cf87 +#: ../../main/hubs/primehub.rst:124 0a50b493726d4feca516bf16fae62692 msgid ".. image:: /blockimg/pybricks_blockImuResetHeading_PrimeHub.svg" msgstr "" -#: 3d92f9281d224bb69c92798a3c1ebd89 of pybricks._common.IMU.reset_heading:1 +#: a30afa5c45f749d3a68de4bdfcb41d72 of pybricks._common.IMU.reset_heading:1 msgid "Resets the accumulated heading angle of the robot." msgstr "" -#: 2d4004c06e994da9baaf43ed4d325901 of pybricks._common.IMU.reset_heading:3 +#: b428d234c64e427da2264820a6a76110 of pybricks._common.IMU.reset_heading:3 msgid "Value to which the heading should be reset." msgstr "" -#: ../../main/hubs/primehub.rst:128 247edb89c4f2445c9fb37c6ee00ee74c +#: ../../main/hubs/primehub.rst:128 9394059f8eed4fe394c2cb74ecf2c66e msgid ".. image:: /blockimg/pybricks_blockImuRotation_PrimeHub_imu.rotation.svg" msgstr "" -#: c219522e93964fd5a0cd3e38956670bf of pybricks._common.IMU.rotation:1 +#: 741aedc9301b4f2fbbca6d135e9a34ba of pybricks._common.IMU.rotation:1 msgid "" "Gets the rotation of the device along a given axis in the :ref:`robot " "reference frame `." msgstr "" -#: ac488762362a4ad8bcc27df3ec4213bd of pybricks._common.IMU.rotation:4 +#: 8cd081b1361149f6acb6175b0d4a346e of pybricks._common.IMU.rotation:4 msgid "" "This value is useful if your robot *only* rotates along the requested " "axis. For general three-dimensional motion, use the ``orientation()`` " "method instead." msgstr "" -#: 24e230a36eca47d98f1b5562a930faf8 of pybricks._common.IMU.rotation:8 +#: 92509cc324e44d0ca041b245b4101a09 of pybricks._common.IMU.rotation:8 msgid "The value starts counting from ``0`` when you initialize this class." msgstr "" -#: 5f06298612f34f0dbfac0ac077f86251 of pybricks._common.IMU.rotation:10 +#: cdb0e935943b4502898c17401fc8c63c of pybricks._common.IMU.rotation:10 msgid "Axis along which the rotation should be measured." msgstr "" -#: 920ad1c356eb4ff8a859625a855492e1 of pybricks._common.IMU.rotation:13 +#: d72b10f666d540c3afc76b0a09155a0e of pybricks._common.IMU.rotation:13 msgid "The rotation angle." msgstr "" -#: c9fb21ba39bd46a495cd7860161e1dbd of pybricks._common.IMU.orientation:1 +#: c5ea65214a924c7d97a8b165c1b3dac8 of pybricks._common.IMU.orientation:1 msgid "" "Gets the three-dimensional orientation of the robot in the :ref:`robot " "reference frame `." msgstr "" -#: fb617471181c4773a4db956e7f76c037 of pybricks._common.IMU.orientation:4 +#: d85f370d3bf24f719d0428499f84c4d8 of pybricks._common.IMU.orientation:4 msgid "" "It returns a rotation matrix whose columns represent the ``X``, ``Y``, " "and ``Z`` axis of the robot." msgstr "" -#: bb98c26a40e9418888059bc809313794 of pybricks._common.IMU.orientation:7 +#: 5015026f0bb8417f82074cd80a29e42a of pybricks._common.IMU.orientation:7 msgid "This method is not yet implemented." msgstr "" -#: 40b3e47b965546daa8bdc704cfceba36 of pybricks._common.IMU.orientation:9 +#: acef9d02022d41cbbc8f1eb4e4fa149b of pybricks._common.IMU.orientation:9 msgid "The rotation matrix." msgstr "" -#: 4638214ed646413f816b624959844f41 of pybricks._common.IMU.settings:1 +#: bcd1acd20eba49009ee9715acb984c59 of pybricks._common.IMU.settings:1 msgid "" "Configures the IMU settings. If no arguments are given, this returns the " "current values." msgstr "" -#: 9c280bca1e3b43c3bf3c562f92a34f7e of pybricks._common.IMU.settings:4 +#: 4a3b78eaa9ec48869146ec5a96c7e67f of pybricks._common.IMU.settings:4 msgid "" "The ``angular_velocity_threshold`` and ``acceleration_threshold`` define " "when the hub is considered stationary. If all measurements stay below " "these thresholds for one second, the IMU will recalibrate itself." msgstr "" -#: 15b9b356da2f47678c785e574a53526c of pybricks._common.IMU.settings:9 +#: 9327f035e8264c0f9b9be4b0ab716399 of pybricks._common.IMU.settings:9 msgid "" "In a noisy room with high ambient vibrations (such as a competition " "hall), it is recommended to increase the thresholds slightly to give your" @@ -619,129 +619,129 @@ msgid "" "second." msgstr "" -#: a7e01763236f4fa6879564de56a7301d of pybricks._common.IMU.settings:16 +#: a1f1aee2b0384382a3825fcad1dfe0c8 of pybricks._common.IMU.settings:16 msgid "The threshold for angular velocity. The default value is 1.5 deg/s." msgstr "" -#: 12fe302ddebe457aa2c5b0e0dd8e60e9 of pybricks._common.IMU.settings:19 +#: cde1ddee06234adba5140c6d0fc80cd1 of pybricks._common.IMU.settings:19 msgid "The threshold for angular velocity. The default value is 250 mm/s²." msgstr "" -#: ../../main/hubs/primehub.rst:137 5e01f4cf0498439ca54aab8256a0f971 +#: ../../main/hubs/primehub.rst:137 98efccd36cae4b6385156a04736b8276 msgid "Using the speaker" msgstr "" -#: fe8dd2f9f56449aa83d7178c11c346ea of pybricks._common.Speaker.volume:1 +#: a236b02a351c4fff8e0c29b9b62d3831 of pybricks._common.Speaker.volume:1 msgid "Gets or sets the speaker volume." msgstr "" -#: 5f871012238c4e25863112e78eaa3d7b of pybricks._common.Speaker.volume:3 +#: 7612a3d0293a4707934b479a6bc5c2c9 of pybricks._common.Speaker.volume:3 msgid "If no volume is given, this method returns the current volume." msgstr "" -#: 55c9c407d30d4a2ab666a7e72ad56794 of pybricks._common.Speaker.volume:5 +#: af665c6b348447ffa1a0c65c8d7cdf2a of pybricks._common.Speaker.volume:5 msgid "Volume of the speaker in the 0-100 range." msgstr "" -#: 9563d21e80074d74bce97cfb24557202 of pybricks._common.Speaker.beep:1 +#: d3090b6ccb81480b85c283b783027a6c of pybricks._common.Speaker.beep:1 msgid "Play a beep/tone." msgstr "" -#: e28f7caf28d84bccaa73c154ab2959e6 of pybricks._common.Speaker.beep:3 +#: df9c0638f0424695b82d0ebb20b9b537 of pybricks._common.Speaker.beep:3 msgid "Frequency of the beep in the 64-24000 Hz range." msgstr "" -#: e71780ee23d44ac4ac764586de86f6fc of pybricks._common.Speaker.beep:5 +#: 9f0211eaa6ee44799618c906fc608821 of pybricks._common.Speaker.beep:5 msgid "" "Duration of the beep. If the duration is less than 0, then the method " "returns immediately and the frequency play continues to play " "indefinitely." msgstr "" -#: 7ce5f92e7c8040ce8f89c8e6193e3979 of pybricks._common.Speaker.play_notes:1 +#: ec04683cef9044ecb35b5ce4b3b085e2 of pybricks._common.Speaker.play_notes:1 msgid "" "Plays a sequence of musical notes. For example: ``[\"C4/4\", \"C4/4\", " "\"G4/4\", \"G4/4\"]``." msgstr "" -#: 15ee13489ccd444ca5bf50763bda3c94 of pybricks._common.Speaker.play_notes:4 +#: 386fcbdad81646a088ebb2cbf53d60b9 of pybricks._common.Speaker.play_notes:4 msgid "Each note is a string with the following format:" msgstr "" -#: 0b5dbbc153b540ad884427b69673d618 of pybricks._common.Speaker.play_notes:6 +#: faf8c3ce0e0644108563f995bb641e88 of pybricks._common.Speaker.play_notes:6 msgid "" "The first character is the name of the note, ``A`` to ``G`` or ``R`` for " "a rest." msgstr "" -#: 0678399f2fc049009bff2c332aa21f29 of pybricks._common.Speaker.play_notes:8 +#: 627d9ee4206e46eaaaf7452004e70c1e of pybricks._common.Speaker.play_notes:8 msgid "" "Note names can also include an accidental ``#`` (sharp) or ``b`` (flat). " "``B#``/``Cb`` and ``E#``/``Fb`` are not allowed." msgstr "" -#: 305469d8a3f740ebad1927f8af4c1841 of pybricks._common.Speaker.play_notes:11 +#: b883289a4be74bd2997ef9de67fecab0 of pybricks._common.Speaker.play_notes:11 msgid "" "The note name is followed by the octave number ``2`` to ``8``. For " "example ``C4`` is middle C. The octave changes to the next number at the " "note C, for example, ``B3`` is the note below middle C (``C4``)." msgstr "" -#: dbc6a18340d54d3a827ce252ed22c799 of pybricks._common.Speaker.play_notes:15 +#: a9e56c07790c43bd905760f93d6a0be5 of pybricks._common.Speaker.play_notes:15 msgid "" "The octave is followed by ``/`` and a number that indicates the size of " "the note. For example ``/4`` is a quarter note, ``/8`` is an eighth note " "and so on." msgstr "" -#: e89db57cdcf84dc89072b38508bb99f8 of pybricks._common.Speaker.play_notes:18 +#: cb0bb698bd2c4d52bbd91610af5f9a0c of pybricks._common.Speaker.play_notes:18 msgid "" "This can optionally followed by a ``.`` to make a dotted note. Dotted " "notes are 1-1/2 times as long as notes without a dot." msgstr "" -#: 1dc0a9e0b86f44f6adf96e9b776b9d60 of pybricks._common.Speaker.play_notes:21 +#: e3efc9b346914b65acb51f6505ab99d1 of pybricks._common.Speaker.play_notes:21 msgid "" "The note can optionally end with a ``_`` which is a tie or a slur. This " "causes there to be no pause between this note and the next note." msgstr "" -#: 7361d828687c4f3091c5c38d8c0320c4 of pybricks._common.Speaker.play_notes:25 +#: 663eb691cd1348ae841f9c8e9fa161d4 of pybricks._common.Speaker.play_notes:25 msgid "A sequence of notes to be played." msgstr "" -#: e6859fd9a05f48eeaf6352ae676f5a5f of pybricks._common.Speaker.play_notes:27 +#: 3293c122172146e1a2234aed27e55a08 of pybricks._common.Speaker.play_notes:27 msgid "Beats per minute. A quarter note is one beat." msgstr "" -#: ../../main/hubs/primehub.rst:145 56f6380e1531471db353e3f598213826 +#: ../../main/hubs/primehub.rst:145 1506d239f16c42a58e2b7e4e5f572258 msgid "Using connectionless Bluetooth messaging" msgstr "" -#: ../../main/hubs/primehub.rst:146 4fe5314067954f449f83b8d97bc3d9cb +#: ../../main/hubs/primehub.rst:146 9ee1c2d5f35d4c8bbfda9f078946eaf0 msgid ".. image:: /blockimg/pybricks_blockBleBroadcast_PrimeHub.svg" msgstr "" -#: 52a0dc8fa41442428adf2fb5c56ebb68 of pybricks._common.BLE.broadcast:1 +#: c547b98f6d174d23aceb08a8f1275eca of pybricks._common.BLE.broadcast:1 msgid "" "Starts broadcasting the given data on the ``broadcast_channel`` you " "selected when initializing the hub." msgstr "" -#: 3fb5e06692ca448d91297baf609e5d2f of pybricks._common.BLE.broadcast:4 +#: cafe563bb7db40c08c3e7cbd034aff82 of pybricks._common.BLE.broadcast:4 msgid "" "Data may be of type ``int``, ``float``, ``str``, ``bytes``, ``True``, or " "``False``, or a list thereof." msgstr "" -#: 43156a99298d488a801fa5c1ba9153ad of pybricks._common.BLE.broadcast:7 +#: c806d0337bd5443aa12f79b0ffb60b9b of pybricks._common.BLE.broadcast:7 msgid "" "Choose ``None`` to stop broadcasting. This helps improve performance when" " you don't need the broadcast feature, especially when observing at the " "same time." msgstr "" -#: cd0c8997b23c424a9d567b4db1abbdf6 of pybricks._common.BLE.broadcast:11 +#: 49c94601d76f41f3a5c0dcad549378ca of pybricks._common.BLE.broadcast:11 msgid "" "The total data size is quite limited (26 bytes). ``True`` and ``False`` " "take 1 byte each. ``float`` takes 5 bytes. ``int`` takes 2 to 5 bytes " @@ -749,7 +749,7 @@ msgid "" " of bytes in the object plus one extra byte." msgstr "" -#: bb6e1e15d5aa4b399e59c29ee19b6dda of pybricks._common.BLE.broadcast:16 +#: 03ffa4b3cb6c4273ba4a7b4443d09b7b of pybricks._common.BLE.broadcast:16 msgid "" "When multitasking, only one task can broadcast at a time. To broadcast " "information from multiple tasks (or block stacks), you could use a " @@ -757,214 +757,214 @@ msgid "" "variables change." msgstr "" -#: 7c66b95db51c468eab7919a17004d444 of pybricks._common.BLE.broadcast:21 +#: c03d6ed298c24f1e8e9f7a2efa70f5a8 of pybricks._common.BLE.broadcast:21 msgid "The value or values to be broadcast." msgstr "" -#: ../../main/hubs/primehub.rst:150 cead8998764d47e7b4436c6238fb6aa8 +#: ../../main/hubs/primehub.rst:150 0c494c01b44446d29518ce8c385079bf msgid ".. image:: /blockimg/pybricks_blockBleObserve_PrimeHub.svg" msgstr "" -#: ebb99e8633c9479ab1f9cfa574bcb385 of pybricks._common.BLE.observe:1 +#: 7fe0995bea9c437ba37a059a060eb52a of pybricks._common.BLE.observe:1 msgid "Retrieves the last observed data for a given channel." msgstr "" -#: aab41d0549114c378033caaecd2cad2f of pybricks._common.BLE.observe:3 +#: d41cdb00287149f08aa35c48045b4560 of pybricks._common.BLE.observe:3 msgid "" "Receiving data is more reliable when the hub is not connected to a " "computer or other devices at the same time." msgstr "" -#: 967e367c845b4d7fb98bbde0f5b14937 of pybricks._common.BLE.observe:6 +#: ffb747b567bd49899b1e6840a058ec5a of pybricks._common.BLE.observe:6 msgid "The channel to observe (0 to 255)." msgstr "" -#: 9474e1197917409b8930d322968fcfbb of pybricks._common.BLE.observe:9 +#: 39bd024091d74bd0898011ebf7263c72 of pybricks._common.BLE.observe:9 msgid "" "The received data in the same format as it was sent, or ``None`` if no " "recent data is available." msgstr "" -#: 4a3796071b2e4d6ba436d0c537593b4f of pybricks._common.BLE.signal_strength:1 +#: c1eb2e6e60ad45a5ada5b26db461f235 of pybricks._common.BLE.signal_strength:1 msgid "Gets the average signal strength in dBm for the given channel." msgstr "" -#: 6d2490d30ceb42c4b18515da2d4f9627 of pybricks._common.BLE.signal_strength:3 +#: b1dc17bcc3a441e6b93c96ec801e9476 of pybricks._common.BLE.signal_strength:3 msgid "" "This indicates how near the broadcasting device is. Nearby devices may " "have a signal strength around -40 dBm, while far away devices might have " "a signal strength around -70 dBm." msgstr "" -#: fd4f5281153641e689f66711db3e66e4 of pybricks._common.BLE.signal_strength:7 +#: 7a8c41b570214c7e9853ab12fd63388f of pybricks._common.BLE.signal_strength:7 msgid "The channel number (0 to 255)." msgstr "" -#: ceb689ba5796459f9df38387ff6dc5e3 of pybricks._common.BLE.signal_strength:10 +#: a43831dc9dfd44a69e0f42928e7f41c4 of pybricks._common.BLE.signal_strength:10 msgid "The signal strength or ``-128`` if there is no recent observed data." msgstr "" -#: 0d24c85bc7c54d1a9e72d1fa19a43c87 of pybricks._common.BLE.version:1 +#: edf0c0b8a312465f8f195a80ccb1dd85 of pybricks._common.BLE.version:1 msgid "Gets the firmware version from the Bluetooth chip." msgstr "" -#: ../../main/hubs/primehub.rst:159 7d42db760fc04e0fb3be6683645eb42d +#: ../../main/hubs/primehub.rst:159 64c2759133194f5780ab8c1305f4a4c6 msgid "Using the battery" msgstr "" -#: ../../main/hubs/primehub.rst:160 7cccce150bdd47adb4714d1a38a8c879 +#: ../../main/hubs/primehub.rst:160 24582931c9984e54ad29c7b6d0f8c229 msgid "" ".. image:: " "/blockimg/pybricks_blockBatteryMeasure_PrimeHub_battery.voltage.svg" msgstr "" -#: e11df868ac1d47cba85ca79663946220 of pybricks._common.Battery.voltage:1 +#: 25212bd141c942c6884311016f796b30 of pybricks._common.Battery.voltage:1 msgid "Gets the voltage of the battery." msgstr "" -#: b734de0693784036aff1aeef4a71de19 of pybricks._common.Battery.voltage:3 +#: a95b9962e955453fb738351d8e2d1cbb of pybricks._common.Battery.voltage:3 msgid "Battery voltage." msgstr "" -#: ../../main/hubs/primehub.rst:164 e7ce3ef73f8c4f27a34f131ccb4e921b +#: ../../main/hubs/primehub.rst:164 30ba756331794cdb89b47aaa973482ca msgid "" ".. image:: " "/blockimg/pybricks_blockBatteryMeasure_PrimeHub_battery.current.svg" msgstr "" -#: 664ca0dc22244f26af1ef6073ba9849c of pybricks._common.Battery.current:1 +#: 96d48ae019d34ef3a0da11748f0ee59f of pybricks._common.Battery.current:1 msgid "Gets the current supplied by the battery." msgstr "" -#: e2982d0e245f42a989cb89b6dfb6d475 of pybricks._common.Battery.current:3 +#: afbe5072005241149581851268bfb7a4 of pybricks._common.Battery.current:3 msgid "Battery current." msgstr "" -#: ../../main/hubs/primehub.rst:169 44965301796e483c8329bef230b59d1d +#: ../../main/hubs/primehub.rst:169 9613b27c6be34918ac0e973c5802a4f5 msgid "Getting the charger status" msgstr "" -#: fe82135cb5bb45aaa50a51a62cc465dc of pybricks._common.Charger.connected:1 +#: 448d1e485b364de7b3c72f07757cd1ca of pybricks._common.Charger.connected:1 msgid "Checks whether a charger is connected via USB." msgstr "" -#: 934fa6240c4a497895fcc3590cebbe13 of pybricks._common.Charger.connected:3 +#: ad7cb03fcff6421baae11be69063d136 of pybricks._common.Charger.connected:3 msgid "``True`` if a charger is connected, ``False`` if not." msgstr "" -#: 3486eedab52d4442a3bc1f1826f2e30e of pybricks._common.Charger.current:1 +#: 0771e4b355b84ab3a522954d674af96e of pybricks._common.Charger.current:1 msgid "Gets the charging current." msgstr "" -#: 606a950f20254a8fa8220db99e5c4c89 of pybricks._common.Charger.current:3 +#: 876311a754bb4c0ea00978e5eecadc9f of pybricks._common.Charger.current:3 msgid "Charging current." msgstr "" -#: 69d5c3eea18b4034890e0f993f105711 of pybricks._common.Charger.status:1 +#: c66963cccf084ef4aa2f9e8e76ef25fa of pybricks._common.Charger.status:1 msgid "" "Gets the status of the battery charger, represented by one of the " "following values. This corresponds to the battery light indicator right " "next to the USB port." msgstr "" -#: 5a579c5a232441379c37e97d0eb39dfa of pybricks._common.Charger.status:5 +#: 8263f03de0364dd0aa4191fce8ff94a5 of pybricks._common.Charger.status:5 msgid "Not charging (light is off)." msgstr "" -#: 92a78b74f5d142dc8e069f5360dbb8a3 of pybricks._common.Charger.status:6 +#: f2d8ae806d9e49e7a5486818ad84005b of pybricks._common.Charger.status:6 msgid "Charging (light is red)." msgstr "" -#: 196f1be7314b4938bef4dd1cfdd2cdaa of pybricks._common.Charger.status:7 +#: 191b7f4335fc4580a0717cb07f806a46 of pybricks._common.Charger.status:7 msgid "Charging is complete (light is green)." msgstr "" -#: 42246b0f64ad47999f9e67f1befe2035 of pybricks._common.Charger.status:8 +#: 2c0ff87eb5284a3b9a020ba515af8b3a of pybricks._common.Charger.status:8 msgid "There is a problem with the charger (light is yellow)." msgstr "" -#: c078b1ba7eca428c8a4040e71612f904 of pybricks._common.Charger.status:10 +#: 4a7c941f9c5f4ceaa7bbb3087a642c07 of pybricks._common.Charger.status:10 msgid "Status value." msgstr "" -#: ../../main/hubs/primehub.rst:177 b9154398bf294e8bbda3af698a55dcff +#: ../../main/hubs/primehub.rst:177 77d26833c26746eeaf4822dfc96dd83f msgid "System control" msgstr "" -#: 8b0e089d6bef4787ab6a290f6618a79b of pybricks._common.System.name:1 +#: 1b815bc9f3ea452ca6a7f38c1c3b8f79 of pybricks._common.System.name:1 msgid "Gets the hub name. This is the name you see when connecting via Bluetooth." msgstr "" -#: d4a5a9eb2a9d481b8f92b1412a43490d of pybricks._common.System.name:4 +#: ce663cabee5846539919c64e8e2a24a2 of pybricks._common.System.name:4 msgid "The hub name." msgstr "" -#: c2deee8c96aa47f09255ec3002a1b0fe of pybricks._common.System.storage:1 +#: 1b250a196614435592c1ef98d009021e of pybricks._common.System.storage:1 msgid "Reads or writes binary data to persistent storage." msgstr "" -#: ee3dede377d6416680f9cac5f5834c38 of pybricks._common.System.storage:3 +#: f11308a0abfa45258b9c88b16af2b367 of pybricks._common.System.storage:3 msgid "" "This lets you store data that can be used the next time you run the " "program." msgstr "" -#: 285f78c46fa94afe9fc659fcbc296d64 of pybricks._common.System.storage:6 +#: 7d4169e378414de3b33a4f01809d0785 of pybricks._common.System.storage:6 msgid "" "The data will be saved to flash memory when you turn the hub off " "normally. It will not be saved if the batteries are removed *while* the " "hub is still running." msgstr "" -#: 14fb80c51176449c9ef3f1e0ab81c737 of pybricks._common.System.storage:10 +#: 089a0d20d11744338c8c0b6c2a729331 of pybricks._common.System.storage:10 msgid "" "Once saved, the data will remain available even after you remove the " "batteries." msgstr "" -#: ff3a3b3d1a4f4c6f97fa86e65ccb64a3 of pybricks._common.System.storage:13 +#: e0da3fd950654f70a57b37febd42483d of pybricks._common.System.storage:13 msgid "The offset from the start of the user storage memory, in bytes." msgstr "" -#: 41932c0c5b3949a6975164724eb27dc8 of pybricks._common.System.storage:15 +#: 3f8db89654054d3691697e20f6604e20 of pybricks._common.System.storage:15 msgid "The number of bytes to read. Omit this argument when writing." msgstr "" -#: 3f51b9a27c3d4dffae092840af11f466 of pybricks._common.System.storage:17 +#: f0e085b669314cfe945790f47be27e83 of pybricks._common.System.storage:17 msgid "The bytes to write. Omit this argument when reading." msgstr "" -#: 8f30e0de61c444b1a5f045861220068a of pybricks._common.System.storage:20 +#: 3ae0f3524c1c4085a68ff279120a6cb1 of pybricks._common.System.storage:20 msgid "The bytes read if reading, otherwise ``None``." msgstr "" -#: ../../main/hubs/primehub.rst 2f7433d25e7d47f48ab86a6c5c724da5 +#: ../../main/hubs/primehub.rst fc2df09427394546b6d3e1bfc79531fc msgid "Raises" msgstr "" -#: fe33fd74f8da41ab8a457ad9685ad1d5 of pybricks._common.System.storage:22 +#: 6420b61df15643b39ee2fb5fb4775cd1 of pybricks._common.System.storage:22 msgid "If you try to read or write data outside of the allowed range." msgstr "" -#: ../../main/hubs/primehub.rst:182 7bcb4b49148e472cb7ef3e08f9fe8f98 +#: ../../main/hubs/primehub.rst:182 c2fff18ddec548d8851e636e36a5078f msgid "You can store up to 512 bytes of data on this hub." msgstr "" -#: ../../main/hubs/primehub.rst:184 565ed3e4027c43bd9b9ffd744fc05b3b +#: ../../main/hubs/primehub.rst:184 bf45ce9bf13c451ab3b92833f8f0d25a msgid ".. image:: /blockimg/pybricks_blockHubShutdown_PrimeHub.svg" msgstr "" -#: 81901d84fcc646b985953a33daa61a50 of pybricks._common.System.shutdown:1 +#: 0218b8adc96d4e55a1208b3456469267 of pybricks._common.System.shutdown:1 msgid "Stops your program and shuts the hub down." msgstr "" -#: 78c1964226624fd490223730b4859198 of pybricks._common.System.reset_reason:1 +#: b25b435510f1421f85153840f8a085a5 of pybricks._common.System.reset_reason:1 msgid "" "Finds out how and why the hub (re)booted. This can be useful to diagnose " "some problems." msgstr "" -#: e9a652d75411453a8eece7066890e0d6 of pybricks._common.System.reset_reason:4 +#: daab6e50767e429f9f35b077594cbea0 of pybricks._common.System.reset_reason:4 msgid "" "* ``0`` if the hub was previously powered off normally. * ``1`` if the " "hub rebooted automatically, like after a firmware update. * ``2`` if " @@ -972,693 +972,136 @@ msgid "" " firmware issue." msgstr "" -#: 2ef18b2fbeaa4f7b9b3d5818b909cc82 of pybricks._common.System.reset_reason:6 +#: 546be23f1adf4ab5b58d7389fbdfa023 of pybricks._common.System.reset_reason:6 msgid "``0`` if the hub was previously powered off normally." msgstr "" -#: bdd4d9b285304c4c90a515006b683abb of pybricks._common.System.reset_reason:8 +#: ebe113b5f96744208c616a28c8686b2b of pybricks._common.System.reset_reason:8 msgid "``1`` if the hub rebooted automatically, like after a firmware update." msgstr "" -#: b631eeacab2a4122be6dacbfcae6deea of pybricks._common.System.reset_reason:10 +#: a39917397e37442891d88f8ce6899a87 of pybricks._common.System.reset_reason:10 msgid "" "``2`` if the hub previously crashed due to a watchdog timeout, which " "indicates a firmware issue." msgstr "" -#: ../../main/hubs/primehub.rst:190 8de50009b9744bba87c77c777933b295 +#: ../../main/hubs/primehub.rst:190 a8d2bf1eb12142b5a73458856a76d10d msgid "" "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``." msgstr "" -#: ../../main/hubs/primehub.rst:195 a715df03670a447a861fe165b43187cf +#: ../../main/hubs/primehub.rst:195 36a004ca48454cc49f6fe6b53c0bbf92 msgid "Status light examples" msgstr "" -#: ../../main/hubs/primehub.rst:198 1b5afeb8d9894c9093a676cc1306d20b +#: ../../main/hubs/primehub.rst:198 8cdbae90f2ba4ff9803308668e5ca6cf msgid "Turning the light on and off" msgstr "" -#: ../../main/hubs/primehub.rst:200 81526efc00ec42198453df9884c704a6 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Turn the light on and off 5 times.\n" -"for i in range(5):\n" -"\n" -" hub.light.on(Color.RED)\n" -" wait(1000)\n" -"\n" -" hub.light.off()\n" -" wait(500)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:204 ebd9e8d19dc2400c9f36494aebd19f57 +#: ../../main/hubs/primehub.rst:204 a46025b43447416088c1464f5a43cab7 msgid "Changing brightness and using custom colors" msgstr "" -#: ../../main/hubs/primehub.rst:206 e820ee24bc3a4e81b01f72f6f777d482 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Show the color at 30% brightness.\n" -"hub.light.on(Color.RED * 0.3)\n" -"\n" -"wait(2000)\n" -"\n" -"# Use your own custom color.\n" -"hub.light.on(Color(h=30, s=100, v=50))\n" -"\n" -"wait(2000)\n" -"\n" -"# Go through all the colors.\n" -"for hue in range(360):\n" -" hub.light.on(Color(hue))\n" -" wait(10)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:210 58b5723c72054ba9a5ab9a713c345049 +#: ../../main/hubs/primehub.rst:210 1c516fe5571c4c368f3ce45a2d42e35d msgid "Making the light blink" msgstr "" -#: ../../main/hubs/primehub.rst:212 7abc28a8edd64044852e1c3181279eaf -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub\n" -"hub = PrimeHub()\n" -"\n" -"# Keep blinking red on and off.\n" -"hub.light.blink(Color.RED, [500, 500])\n" -"\n" -"wait(10000)\n" -"\n" -"# Keep blinking green slowly and then quickly.\n" -"hub.light.blink(Color.GREEN, [500, 500, 50, 900])\n" -"\n" -"wait(10000)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:216 87bd986fd079420cae2d0df3192d8680 +#: ../../main/hubs/primehub.rst:216 7c9f776d4cd5413a8364313f59a487c2 msgid "Creating light animations" msgstr "" -#: ../../main/hubs/primehub.rst:218 53552909ebb34e7f9ca2c2bbe594a68e -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"from umath import sin, pi\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Make an animation with multiple colors.\n" -"hub.light.animate([Color.RED, Color.GREEN, Color.NONE], interval=500)\n" -"\n" -"wait(10000)\n" -"\n" -"# Make the color RED grow faint and bright using a sine pattern.\n" -"hub.light.animate([Color.RED * (0.5 * sin(i / 15 * pi) + 0.5) for i in " -"range(30)], 40)\n" -"\n" -"wait(10000)\n" -"\n" -"# Cycle through a rainbow of colors.\n" -"hub.light.animate([Color(h=i * 8) for i in range(45)], interval=40)\n" -"\n" -"wait(10000)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:222 a11f76e7a7ca43f9969714e9ca568aa3 +#: ../../main/hubs/primehub.rst:222 0fb4cca684af4189bf4eba8206ae0431 msgid "Matrix display examples" msgstr "" -#: ../../main/hubs/primehub.rst:225 ba5d416cc8a3443a9eb738e5978115a2 +#: ../../main/hubs/primehub.rst:225 d05c766935a34701ae2af25f37ecf473 msgid "Displaying images" msgstr "" -#: ../../main/hubs/primehub.rst:227 34f287520a0142da8c4fd35609a245ab -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.tools import wait\n" -"from pybricks.parameters import Icon\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Display a big arrow pointing up.\n" -"hub.display.icon(Icon.UP)\n" -"\n" -"# Wait so we can see what is displayed.\n" -"wait(2000)\n" -"\n" -"# Display a heart at half brightness.\n" -"hub.display.icon(Icon.HEART / 2)\n" -"\n" -"# Wait so we can see what is displayed.\n" -"wait(2000)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:231 ce75eceb844c4dcf93781ecc002eb1e7 +#: ../../main/hubs/primehub.rst:231 818d686ffa3649a28fb5e17594a38c28 msgid "Displaying numbers" msgstr "" -#: ../../main/hubs/primehub.rst:233 6173252fb86c4da6acf2b95974b592c6 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Count from 0 to 99.\n" -"for i in range(100):\n" -" hub.display.number(i)\n" -" wait(200)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:237 7c71a669ae844a6fac9a7ec4dc7a256f +#: ../../main/hubs/primehub.rst:237 ba01d367b218432bb5e98cd6f826f67f msgid "Displaying text" msgstr "" -#: ../../main/hubs/primehub.rst:239 461f69d6212747c1a3548e68e0f55c86 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Display the letter A for two seconds.\n" -"hub.display.char(\"A\")\n" -"wait(2000)\n" -"\n" -"# Display text, one letter at a time.\n" -"hub.display.text(\"Hello, world!\")\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:243 806b187125aa4296821b75a0f8af5d85 +#: ../../main/hubs/primehub.rst:243 e47e35e4cc174e799e52ce339393058e msgid "Displaying individual pixels" msgstr "" -#: ../../main/hubs/primehub.rst:245 aea18eb166834f4dabfe274052465463 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Turn on the pixel at row 1, column 2.\n" -"hub.display.pixel(1, 2)\n" -"wait(2000)\n" -"\n" -"# Turn on the pixel at row 2, column 4, at 50% brightness.\n" -"hub.display.pixel(2, 4, 50)\n" -"wait(2000)\n" -"\n" -"# Turn off the pixel at row 1, column 2.\n" -"hub.display.pixel(1, 2, 0)\n" -"wait(2000)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:249 da80bde6ca564c03ba973c5374541b6b +#: ../../main/hubs/primehub.rst:249 4ceb2d0c654e4da196453427f8e19b29 msgid "Changing the display orientation" msgstr "" -#: ../../main/hubs/primehub.rst:251 3c6309800e284feca5844408ff8f0b20 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.tools import wait\n" -"from pybricks.parameters import Side\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Rotate the display. Now right is up.\n" -"hub.display.orientation(up=Side.RIGHT)\n" -"\n" -"# Display a number. This will be shown sideways.\n" -"hub.display.number(23)\n" -"\n" -"# Wait so we can see what is displayed.\n" -"wait(10000)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:254 64310a271a044f01ba2ddc7b88d17ac2 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.parameters import Icon\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"while True:\n" -"\n" -" # Check which side of the hub is up.\n" -" up_side = hub.imu.up()\n" -"\n" -" # Use this side to set the display orientation.\n" -" hub.display.orientation(up_side)\n" -"\n" -" # Display something, like an arrow.\n" -" hub.display.icon(Icon.UP)\n" -"\n" -" wait(10)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:260 784303cbfd6b47a4a4689357fad9f9e4 +#: ../../main/hubs/primehub.rst:260 2e69e8964b724449ab7704338487129e msgid "Making your own images" msgstr "" -#: ../../main/hubs/primehub.rst:262 04fd5ed85462481a942c179ee1445c2b -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.tools import wait, Matrix\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Make a square that is bright on the outside and faint in the middle.\n" -"SQUARE = Matrix(\n" -" [\n" -" [100, 100, 100, 100, 100],\n" -" [100, 50, 50, 50, 100],\n" -" [100, 50, 0, 50, 100],\n" -" [100, 50, 50, 50, 100],\n" -" [100, 100, 100, 100, 100],\n" -" ]\n" -")\n" -"\n" -"# Display the square.\n" -"hub.display.icon(SQUARE)\n" -"wait(3000)\n" -"\n" -"# Make an image using a Python list comprehension. In this image, the\n" -"# brightness of each pixel is the sum of the row and column index. So the" -"\n" -"# light is faint in the top left and bright in the bottom right.\n" -"GRADIENT = Matrix([[(r + c) for c in range(5)] for r in range(5)]) * 12.5" -"\n" -"\n" -"# Display the generated gradient.\n" -"hub.display.icon(GRADIENT)\n" -"wait(3000)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:266 ea7b5cc5d77644ca8507aa273df03727 +#: ../../main/hubs/primehub.rst:266 9d60c6cc142649228178c4b12bbdd263 msgid "Combining icons to make expressions" msgstr "" -#: ../../main/hubs/primehub.rst:268 98a479feb4f24413bf5663da2f16888b -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.parameters import Icon, Side\n" -"from pybricks.tools import wait\n" -"\n" -"from urandom import randint\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"hub.display.orientation(up=Side.RIGHT)\n" -"\n" -"while True:\n" -"\n" -" # Start with random left brow: up or down.\n" -" if randint(0, 100) < 70:\n" -" brows = Icon.EYE_LEFT_BROW * 0.5\n" -" else:\n" -" brows = Icon.EYE_LEFT_BROW_UP * 0.5\n" -"\n" -" # Add random right brow: up or down.\n" -" if randint(0, 100) < 70:\n" -" brows += Icon.EYE_RIGHT_BROW * 0.5\n" -" else:\n" -" brows += Icon.EYE_RIGHT_BROW_UP * 0.5\n" -"\n" -" for i in range(3):\n" -" # Display eyes open plus the random brows.\n" -" hub.display.icon(Icon.EYE_LEFT + Icon.EYE_RIGHT + brows)\n" -" wait(2000)\n" -"\n" -" # Display eyes blinked plus the random brows.\n" -" hub.display.icon(Icon.EYE_LEFT_BLINK * 0.7 + Icon.EYE_RIGHT_BLINK" -" * 0.7 + brows)\n" -" wait(200)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:272 ba6935b91f424d8982e8ad7bb3eb5bec +#: ../../main/hubs/primehub.rst:272 e170e67bf22d4b309214038d10582966 msgid "Displaying animations" msgstr "" -#: ../../main/hubs/primehub.rst:274 b64081437fa44f078500ec80200fe559 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.parameters import Icon\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Turn the hub light off (optional).\n" -"hub.light.off()\n" -"\n" -"# Create a list of intensities from 0 to 100 and back.\n" -"brightness = list(range(0, 100, 4)) + list(range(100, 0, -4))\n" -"\n" -"# Create an animation of the heart icon with changing brightness.\n" -"hub.display.animate([Icon.HEART * i / 100 for i in brightness], 30)\n" -"\n" -"# The animation repeats in the background. Here we just wait.\n" -"while True:\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:278 235878862ab047c380187a102b4656e3 +#: ../../main/hubs/primehub.rst:278 eb17ba55d3f14e1b946e78104f6791bb msgid "Button examples" msgstr "" -#: ../../main/hubs/primehub.rst:281 c89298fac8294a41a5e03a4517c6daf6 +#: ../../main/hubs/primehub.rst:281 c924790c9b284e0cbd8ef29055eee76b msgid "Detecting button presses" msgstr "" -#: ../../main/hubs/primehub.rst:283 c1547171ebdb4c36bdad1524211b76d5 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.parameters import Button, Icon\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Wait for any button to be pressed, and save the result.\n" -"pressed = []\n" -"while not any(pressed):\n" -" pressed = hub.buttons.pressed()\n" -" wait(10)\n" -"\n" -"# Display a circle.\n" -"hub.display.icon(Icon.CIRCLE)\n" -"\n" -"# Wait for all buttons to be released.\n" -"while any(hub.buttons.pressed()):\n" -" wait(10)\n" -"\n" -"# Display an arrow to indicate which button was pressed.\n" -"if Button.LEFT in pressed:\n" -" hub.display.icon(Icon.ARROW_LEFT_DOWN)\n" -"elif Button.RIGHT in pressed:\n" -" hub.display.icon(Icon.ARROW_RIGHT_DOWN)\n" -"elif Button.BLUETOOTH in pressed:\n" -" hub.display.icon(Icon.ARROW_RIGHT_UP)\n" -"\n" -"wait(3000)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:287 c5dcd1e3312f4785a2ae17f17cc244e0 +#: ../../main/hubs/primehub.rst:287 ff3fa2dfe0b54d8db809893450555a4c msgid "IMU examples" msgstr "" -#: ../../main/hubs/primehub.rst:290 1c2476cf19e943c7b7d9c3e52c0c48a6 +#: ../../main/hubs/primehub.rst:290 13f959b032c941c6b37601753c45865d msgid "Testing which way is up" msgstr "" -#: ../../main/hubs/primehub.rst:292 5b955aecc86f47d897f77e5e8823b24b -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.parameters import Color, Side\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Define colors for each side in a dictionary.\n" -"SIDE_COLORS = {\n" -" Side.TOP: Color.RED,\n" -" Side.BOTTOM: Color.BLUE,\n" -" Side.LEFT: Color.GREEN,\n" -" Side.RIGHT: Color.YELLOW,\n" -" Side.FRONT: Color.MAGENTA,\n" -" Side.BACK: Color.BLACK,\n" -"}\n" -"\n" -"# Keep updating the color based on detected up side.\n" -"while True:\n" -"\n" -" # Check which side of the hub is up.\n" -" up_side = hub.imu.up()\n" -"\n" -" # Change the color based on the side.\n" -" hub.light.on(SIDE_COLORS[up_side])\n" -"\n" -" # Also print the result.\n" -" print(up_side)\n" -" wait(50)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:297 8cf823cf373c415ebc2e03234d3716ea +#: ../../main/hubs/primehub.rst:297 fd25f29017ad45cdab0aeac1b86e1af4 msgid "Reading the tilt value" msgstr "" -#: ../../main/hubs/primehub.rst:299 2dc8757a3641482eba59ba0769bc0874 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"while True:\n" -" # Read the tilt values.\n" -" pitch, roll = hub.imu.tilt()\n" -"\n" -" # Print the result.\n" -" print(pitch, roll)\n" -" wait(200)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:303 42485f2405204d2d8b9b9ef5627d93c8 +#: ../../main/hubs/primehub.rst:303 9ecac1bb0e9d4b3f8c43ac26759a7b2a msgid "Using a custom hub orientation" msgstr "" -#: ../../main/hubs/primehub.rst:305 7fbe7a9bf7694efe876635f6ec58da73 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.tools import wait\n" -"from pybricks.parameters import Axis\n" -"\n" -"# Initialize the hub. In this case, specify that the hub is mounted with " -"the\n" -"# top side facing forward and the front side facing to the right.\n" -"# For example, this is how the hub is mounted in BLAST in the 51515 set.\n" -"hub = PrimeHub(top_side=Axis.X, front_side=-Axis.Y)\n" -"\n" -"while True:\n" -" # Read the tilt values. Now, the values are 0 when BLAST stands " -"upright.\n" -" # Leaning forward gives positive pitch. Leaning right gives positive " -"roll.\n" -" pitch, roll = hub.imu.tilt()\n" -"\n" -" # Print the result.\n" -" print(pitch, roll)\n" -" wait(200)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:309 5894a5127dd04543be712699dc2b306b +#: ../../main/hubs/primehub.rst:309 c4d45e10f3cc4cf2a19461a623f0ecb9 msgid "Reading acceleration and angular velocity vectors" msgstr "" -#: ../../main/hubs/primehub.rst:311 5ffe41fa536b44e681a7c0874bfa0d70 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Get the acceleration vector in g's.\n" -"print(hub.imu.acceleration() / 9810)\n" -"\n" -"# Get the angular velocity vector.\n" -"print(hub.imu.angular_velocity())\n" -"\n" -"# Wait so we can see what we printed\n" -"wait(5000)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:315 6fbbb8205df445ca8e5dd0d46dc4446d +#: ../../main/hubs/primehub.rst:315 b81d7a3eea1b41018cca34e248d369a2 msgid "Reading acceleration and angular velocity on one axis" msgstr "" -#: ../../main/hubs/primehub.rst:317 d6b457b2ff474baf9eee16eaebb28652 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.tools import wait\n" -"from pybricks.parameters import Axis\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Get the acceleration or angular_velocity along a single axis.\n" -"# If you need only one value, this is more memory efficient.\n" -"while True:\n" -"\n" -" # Read the forward acceleration.\n" -" forward_acceleration = hub.imu.acceleration(Axis.X)\n" -"\n" -" # Read the yaw rate.\n" -" yaw_rate = hub.imu.angular_velocity(Axis.Z)\n" -"\n" -" # Print the yaw rate.\n" -" print(yaw_rate)\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:322 c5fa90fc16dc44ca95d0b2f4b5535ddf +#: ../../main/hubs/primehub.rst:322 f332445e1b4541e7a79fb685743dc948 msgid "Bluetooth examples" msgstr "" -#: ../../main/hubs/primehub.rst:325 9ecb224cf3b645af93150a5a6705d202 +#: ../../main/hubs/primehub.rst:325 d6749e15b948414fa1b7c8f8c29c31b8 msgid "Broadcasting data to other hubs" msgstr "" -#: ../../main/hubs/primehub.rst:327 adf6e6c858a442808e0b3e912283b903 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub(broadcast_channel=1)\n" -"\n" -"# Initialize the motors.\n" -"left_motor = Motor(Port.A)\n" -"right_motor = Motor(Port.B)\n" -"\n" -"while True:\n" -" # Read the motor angles to be sent to the other hub.\n" -" left_angle = left_motor.angle()\n" -" right_angle = right_motor.angle()\n" -"\n" -" # Set the broadcast data and start broadcasting if not already doing " -"so.\n" -" data = (left_angle, right_angle)\n" -" hub.ble.broadcast(data)\n" -"\n" -" # Broadcasts are only sent every 100 milliseconds, so there is no " -"reason\n" -" # to call the broadcast() method more often than that.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:331 479df91df61a413bb0453c832c24e679 +#: ../../main/hubs/primehub.rst:331 1938fb55f2cb46af8986674a86b75380 msgid "Observing data from other hubs" msgstr "" -#: ../../main/hubs/primehub.rst:333 e354ee7893924e22ae4d6fb7b88d2c56 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Color, Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub(observe_channels=[1])\n" -"\n" -"# Initialize the motors.\n" -"left_motor = Motor(Port.A)\n" -"right_motor = Motor(Port.B)\n" -"\n" -"while True:\n" -" # Receive broadcast from the other hub.\n" -"\n" -" data = hub.ble.observe(1)\n" -"\n" -" if data is None:\n" -" # No data has been received in the last 1 second.\n" -" hub.light.on(Color.RED)\n" -" else:\n" -" # Data was received and is less that one second old.\n" -" hub.light.on(Color.GREEN)\n" -"\n" -" # *data* contains the same values in the same order\n" -" # that were passed to hub.ble.broadcast() on the\n" -" # other hub.\n" -" left_angle, right_angle = data\n" -"\n" -" # Make the motors on this hub mirror the position of the\n" -" # motors on the other hub.\n" -" left_motor.track_target(left_angle)\n" -" right_motor.track_target(right_angle)\n" -"\n" -" # Broadcasts are only sent every 100 milliseconds, so there is\n" -" # no reason to call the observe() method more often than that.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:338 f9c02884fe7346ed8b889e7f3f6dd16e +#: ../../main/hubs/primehub.rst:338 fcdd1b2187994b86a3e801bf6466708a msgid "System examples" msgstr "" -#: ../../main/hubs/primehub.rst:341 fce45a93ad15463d81a7770b55938e68 +#: ../../main/hubs/primehub.rst:341 fa199a4e41f64e40810078283978f1a7 msgid "Changing the stop button combination" msgstr "" -#: ../../main/hubs/primehub.rst:343 e8479f58eb2648b791a968affde33cd5 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.parameters import Button\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Configure the stop button combination. Now, your program stops\n" -"# if you press the center and Bluetooth buttons simultaneously.\n" -"hub.system.set_stop_button((Button.CENTER, Button.BLUETOOTH))\n" -"\n" -"# Now we can use the center button as a normal button.\n" -"while True:\n" -"\n" -" # Play a sound if the center button is pressed.\n" -" if Button.CENTER in hub.buttons.pressed():\n" -" hub.speaker.beep()\n" -msgstr "" - -#: ../../main/hubs/primehub.rst:347 a9c0720e81564db3a7dc9a08b7e67b71 +#: ../../main/hubs/primehub.rst:347 81777478b7a7494a8477b086919beb73 msgid "Turning the hub off" msgstr "" -#: ../../main/hubs/primehub.rst:349 178e0ff920f84f9586da16ccee0d5875 -msgid "" -"from pybricks.hubs import PrimeHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = PrimeHub()\n" -"\n" -"# Say goodbye and give some time to send it.\n" -"print(\"Goodbye!\")\n" -"wait(100)\n" -"\n" -"# Shut the hub down.\n" -"hub.system.shutdown()\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/hubs/technichub.po b/doc/locales/de/LC_MESSAGES/hubs/technichub.po index b2a047a2..0990ac86 100644 --- a/doc/locales/de/LC_MESSAGES/hubs/technichub.po +++ b/doc/locales/de/LC_MESSAGES/hubs/technichub.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,149 +19,149 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/hubs/technichub.rst:4 ce735b3dc64c442187411240eae0e20d +#: ../../main/hubs/technichub.rst:4 19c36b13bb6447819805dfb80116e49e msgid "Technic Hub" msgstr "" -#: ../../main/hubs/technichub.rst:6 7bda3fd2b07345f5b31ce105e3b3128a +#: ../../main/hubs/technichub.rst:6 c98f8febfc1042f69443abcd385e0e8d msgid ".. image:: ../../main/cad/output/hub-technic.png" msgstr "" -#: ../../main/hubs/technichub.rst:9 3201d97d3c924e7e9044ef5996b30e04 +#: ../../main/hubs/technichub.rst:9 00f7782754674018bb54dd8f8aef5b9c msgid ".. image:: /blockimg/pybricks_variables_set_technic_hub_option0.svg" msgstr "" -#: ../../main/hubs/technichub.rst:11 6fa4403d3ce74bcb8ac82a7bf66ef472 +#: ../../main/hubs/technichub.rst:11 56afc472ea754e26a1e5b732ddbb4925 msgid ".. image:: /blockimg/pybricks_variables_set_technic_hub_option4.svg" msgstr "" -#: 32bff09f59e24fb3a27059b6a9f9ac01 of pybricks.hubs.TechnicHub:1 +#: 7d6c4d257e2e43e8bd7a8ae40722adee of pybricks.hubs.TechnicHub:1 msgid "LEGO® Technic Hub." msgstr "" -#: b3c3d8f8e3ed491586575d7d28653617 of pybricks.hubs.TechnicHub:3 +#: 436fa1b131aa4a9493a09556d3d36a47 of pybricks.hubs.TechnicHub:3 msgid "" "Initializes the hub. Optionally, specify how the hub is :ref:`placed in " "your design ` by saying in which direction the top side (with" " the button) and front side (with the light) are pointing." msgstr "" -#: ../../main/hubs/technichub.rst 06f5d8152dea4a6195acc78c7dc6a315 -#: 1c729138095c44bb9dcedf459e31522f 23abc55c054140269911d23212eb2823 -#: 4533ed0fa5164f6eb31183f0d757a88a 4b94646b8f864784930a30145a242f88 -#: 8a96a6a982f8499898dcf9e5f583e0f5 9a650181133747f58c5215488854ba82 -#: a523ceab7db94e9499d0317328cbb879 b6c4245e7b4d45cf838ed746e2f2f541 -#: b966ad5595d8483a9eb24c5f4071b8d6 bca49795062a4e68b9b7ca8739ba65a4 -#: c2d3d63db4cd48c4920fb1c34f45a78a c7c326fba49940d8acc8a9934d46a958 -#: e60500e4dcda475eb87d0adcc68c6baa +#: ../../main/hubs/technichub.rst 085de71aa08f4473afba03aec489429b +#: 09ead2cacf71417face7ce1cd129f2c8 1f53324d735f404fafc788d2aa30fd2e +#: 226d3927de494ef9b1def1b3bf638b1c 4775b49fabc84cf59e724df83bb2be63 +#: 483a2161e0154595baa4b120e4b8e5d5 6838f339feeb4b71a4937d03ac9526ff +#: 6eeae2b77fe94b938474a0b742e1c626 92e36a804f4e411a94b2175762b51d46 +#: 953ef6d29aad40a4a08e9961ad52e626 cc33df498cd54b95a4e1bf379755e9b9 +#: d41f5d6eecb14239b00c64de09fbbcb8 ed665b5d29a84184abda7acc2421444d +#: f78a06d7f6334445a3b8796cc0ac4f42 msgid "Parameters" msgstr "" -#: 00a1a1bc1fb24cf2861a7102d404e64b of pybricks.hubs.TechnicHub:8 +#: dadcd3315abe4f08ba2ae53b6e18032b of pybricks.hubs.TechnicHub:8 msgid "The axis that passes through the *top side* of the hub." msgstr "" -#: 91d6884f5c1944c78038815f77924187 of pybricks.hubs.TechnicHub:11 +#: bb53e98c22154e9f883ed6ae53096a45 of pybricks.hubs.TechnicHub:11 msgid "The axis that passes through the *front side* of the hub." msgstr "" -#: 0a3ae9b2fbe64872916316866feb78e3 of pybricks.hubs.TechnicHub:14 +#: 65e78a2bc7a544aab58ac4378a63cb63 of pybricks.hubs.TechnicHub:14 msgid "" "A value from 0 to 255 indicating which channel ``hub.ble.broadcast()`` " "will use. Default is channel 0." msgstr "" -#: 9ed2c806edc7463c9f5e398fd61c6f01 of pybricks.hubs.TechnicHub:16 +#: 213f5b1f03fc41adbbcada75e10903dd of pybricks.hubs.TechnicHub:16 msgid "" "A list of channels to listen to when ``hub.ble.observe()`` is called. " "Listening to more channels requires more memory. Default is an empty list" " (no channels)." msgstr "" -#: 1056b9fea3a34991b79d4d970251e335 of pybricks.hubs.TechnicHub:20 +#: 4c0600df6a914ff39f06d18a4d2cef10 of pybricks.hubs.TechnicHub:20 msgid "Added *broadcast_channel* and *observe_channels* arguments." msgstr "" -#: ../../main/hubs/technichub.rst:18 bd42080a87984ae4baed3717ee94dcb7 +#: ../../main/hubs/technichub.rst:18 9e789ad6f3e944c7b91148a7843d3e38 msgid "Using the hub status light" msgstr "" -#: ../../main/hubs/technichub.rst:19 20edb9b909ae492681abb3ac2fb406a5 +#: ../../main/hubs/technichub.rst:19 a792b2be94c64fdeb7b7c8eac56e9bb8 msgid ".. image:: /blockimg/pybricks_blockLightOnColor_technichub_on.svg" msgstr "" -#: 07f035e47c6248e899fc7111ddd74e98 of pybricks._common.ColorLight.on:1 +#: f1e4ee60c61f4d439244d4f58fdfef1a of pybricks._common.ColorLight.on:1 msgid "Turns on the light at the specified color." msgstr "" -#: 33ec748022f6405497423f436fff0d33 4eef93ea83444877a1c2ed1e77b9f371 of +#: 22624eebd5784fbf96aef997699759a9 dadcc0bcf171401d91c5ddc17d254619 of #: pybricks._common.ColorLight.blink:11 pybricks._common.ColorLight.on:3 msgid "Color of the light." msgstr "" -#: ../../main/hubs/technichub.rst:23 f87ba32638cd401a95348f7671da3567 +#: ../../main/hubs/technichub.rst:23 e500f6e4cca24ff7866a7ec198dfe6da msgid ".. image:: /blockimg/pybricks_blockLightOnColor_technichub_off.svg" msgstr "" -#: dd812b6360c8495abae3a26438fa1f18 of pybricks._common.ColorLight.off:1 +#: 9b9860a8da3043c097997c84a7cfd19c of pybricks._common.ColorLight.off:1 msgid "Turns off the light." msgstr "" -#: 04a9dd34606c43aa9c7e18d929b0ef5a of pybricks._common.ColorLight.blink:1 +#: 8e820ea425644cdc8d083fb9d4ecb8ac of pybricks._common.ColorLight.blink:1 msgid "" "Blinks the light at a given color by turning it on and off for given " "durations." msgstr "" -#: 08478cb07788436b9a426f679c13e74d of pybricks._common.ColorLight.blink:4 +#: 20a591863e5844d9a16c7a578f56eab9 of pybricks._common.ColorLight.blink:4 msgid "" "The light keeps blinking indefinitely while the rest of your program " "keeps running." msgstr "" -#: 2c405033d40841e0a5253f6ff618851b of pybricks._common.ColorLight.blink:7 +#: 88f34182a0a74c7aba0d71dcd5715dd6 of pybricks._common.ColorLight.blink:7 msgid "" "This method provides a simple way to make basic but useful patterns. For " "more generic and multi-color patterns, use ``animate()`` instead." msgstr "" -#: 693b605b85ae4be7a4b5f053a1cbad80 of pybricks._common.ColorLight.blink:13 +#: 2e79d05db26f41149e0a73fd4e90ba56 of pybricks._common.ColorLight.blink:13 msgid "Sequence of time values of the form ``[on_1, off_1, on_2, off_2, ...]``." msgstr "" -#: a6f89ce4a95d4beea797d42629a9b615 of pybricks._common.ColorLight.animate:1 +#: e84d85cc78144f07a489936ca89aa093 of pybricks._common.ColorLight.animate:1 msgid "" "Animates the light with a sequence of colors, shown one by one for the " "given interval." msgstr "" -#: 582579ea110941c9aaa6c715ba2525ea of pybricks._common.ColorLight.animate:4 +#: 2d08561695414739afea879dac4c3925 of pybricks._common.ColorLight.animate:4 msgid "" "The animation runs in the background while the rest of your program keeps" " running. When the animation completes, it repeats." msgstr "" -#: 81529d58c2eb436682ef87f00db9e7cb of pybricks._common.ColorLight.animate:7 +#: 8977f5a5cef84c9bb2955b64b930cd69 of pybricks._common.ColorLight.animate:7 msgid "Sequence of :class:`Color <.parameters.Color>` values." msgstr "" -#: 24cfb71516ec4c6f84301a973ec78ef2 of pybricks._common.ColorLight.animate:10 +#: b2ff7a24d11d452f9036c067331e4da6 of pybricks._common.ColorLight.animate:10 msgid "Time between color updates." msgstr "" -#: ../../main/hubs/technichub.rst:32 0f73741f22834e30a231a173311b43d4 +#: ../../main/hubs/technichub.rst:32 8797faab391d462fb8edd3d2c466360c msgid "Using the IMU" msgstr "" -#: ../../main/hubs/technichub.rst:33 de431a5762004278ab5213e913ebf644 +#: ../../main/hubs/technichub.rst:33 40ade5f3967444b580debebc87b72b8a msgid ".. image:: /blockimg/pybricks_blockImuStatus_TechnicHub_ready.svg" msgstr "" -#: e651a1840a584dbab7bf2f219ba28dea of pybricks._common.IMU.ready:1 +#: 018401b7a9f746d289171eb525822669 of pybricks._common.IMU.ready:1 msgid "Checks if the device is calibrated and ready for use." msgstr "" -#: 77058c1fc47a4ef5bcb1ada6cb240b8b of pybricks._common.IMU.ready:3 +#: 678a44f3bb214c4bad1165079d25d9c7 of pybricks._common.IMU.ready:3 msgid "" "This becomes ``True`` when the robot has been sitting stationary for a " "few seconds, which allows the device to re-calibrate. It is ``False`` if " @@ -169,66 +169,66 @@ msgid "" "for more than 10 minutes." msgstr "" -#: ../../main/hubs/technichub.rst 0cf2c45fdba84d0d8fba02d62a623755 -#: 15e67514d6814b6f96a50381dafa7ccc 2144a96015d94cab9d6d8719a9a473e3 -#: 2bf92e16f23b4891a58797222f7d4e3f 4443ef790451470695325f64074aedd9 -#: 566f68df02f14a40b03fdc701653a6a8 596faa686da3467ab529150b7c46c789 -#: 62740ca5d22546278fceace5927bcb04 6473f3f5f9ab4c5fa693312810f918e5 -#: 673d929b580149d082ad7ebdc65c13c5 69916748472e4f5dbb9ddd1240d8663d -#: 709e87e74037449c99d795384b0067f8 9e85402b52bc468587f011111f8f3d2c -#: a7788e80034f47a5b4fa243ac83daae9 b515af99c7ff46ea97b2fddde5def50d -#: b6503a520a7f4520b5734fbc3050a5f9 ba82f1869d5c47a0bb17877ad36f1606 +#: ../../main/hubs/technichub.rst 0169bfec8d984038bff07d7e790a510f +#: 1ee9fba583fc4e218e2faa98292f7ab1 337f91e365e74b248114deeff5d9e337 +#: 3b12421a9ce842568e4850786a402cbb 3ea3d9198ea943af9f7958aa5829dec4 +#: 427a126d52764abfbb3893f11b5c5ad9 44fd017e83f646219c86b300c3025483 +#: 57d6ef19e6b64449b80ba2f2680f9f59 5ea9a329cc5b473d8637379c464edbd9 +#: 719dd1deb4824dad99bd1325fe2b6fe5 7dcc18d78da3490e970f7fcf75bea3f5 +#: 88aaa1d5aaa6430997768a44bee2953a a438e383ab0e475587623ddf4e6a15fb +#: ae88d6d660f046e586cc592f037a6459 b2c648c6253a44fabf5968c04633abb7 +#: eaf37389eb264af4b8fc8bc44727c139 f0a4d940b75f42a787f3b60b82930ffd msgid "Returns" msgstr "" -#: 500455a77e0b4d77be23540d6a7de369 of pybricks._common.IMU.ready:8 +#: 916cddccbf0d435f953de673129456e2 of pybricks._common.IMU.ready:8 msgid "``True`` if it is ready for use, ``False`` if not." msgstr "" -#: ../../main/hubs/technichub.rst:37 9b2dd5955ca84336a484b1084d2c4ff4 +#: ../../main/hubs/technichub.rst:37 0c23c6e773ae41b3b8d7f5b5b7e1c0fe msgid ".. image:: /blockimg/pybricks_blockImuStatus_TechnicHub_stationary.svg" msgstr "" -#: be86de4092be4310908b3b05e38f1e3b of pybricks._common.IMU.stationary:1 +#: d09bfaa432804c29be5fedf767eacb9f of pybricks._common.IMU.stationary:1 msgid "Checks if the device is currently stationary (not moving)." msgstr "" -#: 445711cfd21d443aa0ed834d77ef4954 of pybricks._common.IMU.stationary:3 +#: 62d27cb7197c426c84e3d6704d20b511 of pybricks._common.IMU.stationary:3 msgid "``True`` if stationary for at least a second, ``False`` if it is moving." msgstr "" -#: ../../main/hubs/technichub.rst:41 ca427348e5574a73937a4f057064d7a1 +#: ../../main/hubs/technichub.rst:41 7f62fe07dd214ce8b3ce74d5abbaa0ee msgid ".. image:: /blockimg/pybricks_blockImuUp_TechnicHub.svg" msgstr "" -#: db31c5f475b04c43a2e35770005cc620 of +#: 4a4af05b3750489d84b5a989cc7e8b41 of #: pybricks._common.SimpleAccelerometer.up:1 msgid "Checks which side of the hub currently faces upward." msgstr "" -#: 15d4bb5a1a4740c384044f9dc87bf953 of +#: 34a36812ab80403dad0df9555de3132b of #: pybricks._common.SimpleAccelerometer.up:3 msgid "" "``Side.TOP``, ``Side.BOTTOM``, ``Side.LEFT``, ``Side.RIGHT``, " "``Side.FRONT`` or ``Side.BACK``." msgstr "" -#: ../../main/hubs/technichub.rst:45 38c29f9261a644db8ace81f87da1b7ca +#: ../../main/hubs/technichub.rst:45 672fa46384834ad694200303142c0634 msgid ".. image:: /blockimg/pybricks_blockTilt_TechnicHub_imu.tilt.pitch.svg" msgstr "" -#: ../../main/hubs/technichub.rst:47 5e4f1a4959e7438eaff5a69f1aeafdac +#: ../../main/hubs/technichub.rst:47 190f448718e449d4935d75ba9d04202b msgid ".. image:: /blockimg/pybricks_blockTilt_TechnicHub_imu.tilt.roll.svg" msgstr "" -#: 0b811fbcbb6c40e680b31b1e9a693f68 of +#: 4aa5b515dc384a3da0774e6b66209005 of #: pybricks._common.SimpleAccelerometer.tilt:1 msgid "" "Gets the pitch and roll angles. This is relative to the :ref:`user-" "specified neutral orientation `." msgstr "" -#: c4f77690090d4ee69d3318ffb4904e0c of +#: e658801df3084df7b915607b106933f0 of #: pybricks._common.SimpleAccelerometer.tilt:4 msgid "" "The order of rotation is pitch-then-roll. This is equivalent to a " @@ -236,80 +236,80 @@ msgid "" "along the x-axis." msgstr "" -#: 1bd5ee8cacb94b71b1645ad0edf53df3 of +#: b4b2857ea7ba42deba23cb08cd030492 of #: pybricks._common.SimpleAccelerometer.tilt:8 msgid "Tuple of pitch and roll angles in degrees." msgstr "" -#: ../../main/hubs/technichub.rst:52 3fab17bfc1284f3baf4f939a8ed5f900 +#: ../../main/hubs/technichub.rst:52 1ee6dbefb129462da219166a65127449 msgid ".. image:: /blockimg/pybricks_blockImuAcceleration_TechnicHub.svg" msgstr "" -#: 8202d685ec854b52a29e80db702b1390 of +#: 82f479a8d7de4686a520a62b183a290b of #: pybricks._common.Accelerometer.acceleration:1 msgid "" "Gets the acceleration of the device along a given axis in the :ref:`robot" " reference frame `." msgstr "" -#: db7899c137ab43cd9eec53b1b0dc7166 of +#: 9581c77566224c5eaedb06e60a7d415d of #: pybricks._common.Accelerometer.acceleration:4 msgid "Axis along which the acceleration should be measured." msgstr "" -#: e6fc434b4e864485bda6dd7f6b8a19cb of +#: 879a3776516b461cafdba673ee09f1a7 of #: pybricks._common.Accelerometer.acceleration:8 msgid "" "Acceleration along the specified axis. If you specify no axis, this " "returns a vector of accelerations along all axes." msgstr "" -#: ../../main/hubs/technichub.rst:56 d3c5e9a3e2c94f169bb3a5e68495c33c +#: ../../main/hubs/technichub.rst:56 6805e074d0e6439a90d883f57fae9183 msgid "" ".. image:: " "/blockimg/pybricks_blockImuRotation_TechnicHub_imu.angular_velocity.svg" msgstr "" -#: 982abce644ef400d960432460d039da0 of pybricks._common.IMU.angular_velocity:1 +#: e21ffa149c4d4f558f773e06fb085a9e of pybricks._common.IMU.angular_velocity:1 msgid "" "Gets the angular velocity of the device along a given axis in the " ":ref:`robot reference frame `." msgstr "" -#: e30a5dedb8dd470f9703ab90c08898bd of pybricks._common.IMU.angular_velocity:4 +#: 1cf4ed0c13f44141805c1bef00ba4626 of pybricks._common.IMU.angular_velocity:4 msgid "Axis along which the angular velocity should be measured." msgstr "" -#: 48e9a72cb65548cc915f9fb766c30ada of pybricks._common.IMU.angular_velocity:8 +#: a83cf056f11942628c9aab9bc0ed6bad of pybricks._common.IMU.angular_velocity:8 msgid "" "Angular velocity along the specified axis. If you specify no axis, this " "returns a vector of accelerations along all axes." msgstr "" -#: ../../main/hubs/technichub.rst:60 9ff42923981849b0969f867e7add92bd +#: ../../main/hubs/technichub.rst:60 37f648c53fb8493487acc2e6e02a06ac msgid ".. image:: /blockimg/pybricks_blockImuGetHeading_TechnicHub.svg" msgstr "" -#: 37851eee82fb4bcb8de0fc24f1777329 of pybricks._common.IMU.heading:1 +#: 48df043d049f416db0c1c227b120afbe of pybricks._common.IMU.heading:1 msgid "" "Gets the heading angle of your robot. A positive value means a clockwise " "turn." msgstr "" -#: 25c4a4da74d34229a3963a72032e1813 of pybricks._common.IMU.heading:4 +#: 342760568405477585a8dc3e8ed02f6f of pybricks._common.IMU.heading:4 msgid "" "The heading is 0 when your program starts. The value continues to grow " "even as the robot turns more than 180 degrees. It does not wrap around to" " -180 like it does in some apps." msgstr "" -#: 38eb0061488e434e9832dfa2073dd697 of pybricks._common.IMU.heading:9 +#: 63db32dfa7764cf1a6e70d2efbdc9b50 of pybricks._common.IMU.heading:9 msgid "" "*For now, this method only keeps track of the heading while the robot is " "on a flat surface.*" msgstr "" -#: cd2ea9d61a704bdbbda5a00c595bc0af of pybricks._common.IMU.heading:12 +#: 6a5be987f4884b84959041968bc74a0d of pybricks._common.IMU.heading:12 msgid "" "This means that the value is no longer correct if you lift it from the " "table. To solve this, you can call ``reset_heading`` to reset the heading" @@ -318,85 +318,85 @@ msgid "" "heading 90 degrees as the new starting point." msgstr "" -#: 9fc8cd8239974855972d7b04024327c7 of pybricks._common.IMU.heading:19 +#: 1f045d25fe1d422c8fe78fd87babf041 of pybricks._common.IMU.heading:19 msgid "Heading angle relative to starting orientation." msgstr "" -#: ../../main/hubs/technichub.rst:64 08663c441b6544b28b14126a560440e1 +#: ../../main/hubs/technichub.rst:64 ed7c2c4c87ac47e5a2579f9540a6cdd1 msgid ".. image:: /blockimg/pybricks_blockImuResetHeading_TechnicHub.svg" msgstr "" -#: 7e6d816d7f5a46409165025630b16a07 of pybricks._common.IMU.reset_heading:1 +#: 8673a859603b4fe3abbae838e847e1d0 of pybricks._common.IMU.reset_heading:1 msgid "Resets the accumulated heading angle of the robot." msgstr "" -#: fc4f2a4044f5476b83ce9a3873b45ffd of pybricks._common.IMU.reset_heading:3 +#: fc624bd95f8b43708199defd17a3c7b8 of pybricks._common.IMU.reset_heading:3 msgid "Value to which the heading should be reset." msgstr "" -#: ../../main/hubs/technichub.rst:68 b3b6076a9cdb48f29a2da1bf20447aa9 +#: ../../main/hubs/technichub.rst:68 afbe307b11c8487f918cc7ad938d8ac5 msgid ".. image:: /blockimg/pybricks_blockImuRotation_TechnicHub_imu.rotation.svg" msgstr "" -#: e0406c1e011648bfa14714c0703b098a of pybricks._common.IMU.rotation:1 +#: b877ee5f5f384dbc82483e8d738a1d36 of pybricks._common.IMU.rotation:1 msgid "" "Gets the rotation of the device along a given axis in the :ref:`robot " "reference frame `." msgstr "" -#: 81900ce9b0564dbbab4e458351b21f8d of pybricks._common.IMU.rotation:4 +#: 3a785808394040d0bb9180c22314909f of pybricks._common.IMU.rotation:4 msgid "" "This value is useful if your robot *only* rotates along the requested " "axis. For general three-dimensional motion, use the ``orientation()`` " "method instead." msgstr "" -#: 52551e76a4d34ee3bded103c231d9a55 of pybricks._common.IMU.rotation:8 +#: 5420508b446041aeaf2bbf769fcfb289 of pybricks._common.IMU.rotation:8 msgid "The value starts counting from ``0`` when you initialize this class." msgstr "" -#: cefba74533fb4891ae11024c0784afbe of pybricks._common.IMU.rotation:10 +#: 9079005d360c4e0186a087bf0cf1eaca of pybricks._common.IMU.rotation:10 msgid "Axis along which the rotation should be measured." msgstr "" -#: a9eb8901cb60431ca39b3b92009c4cbe of pybricks._common.IMU.rotation:13 +#: b29696a3aacb469a9a61ea1e7a994e8e of pybricks._common.IMU.rotation:13 msgid "The rotation angle." msgstr "" -#: 43cbfc0625dd4fc2b84a085f932cd4d4 of pybricks._common.IMU.orientation:1 +#: acda2e124d5148609893adc55a28892b of pybricks._common.IMU.orientation:1 msgid "" "Gets the three-dimensional orientation of the robot in the :ref:`robot " "reference frame `." msgstr "" -#: f383f95ab62046f29db46b1187e45cde of pybricks._common.IMU.orientation:4 +#: f128e67fbe294755a93d8e55dc2f44e7 of pybricks._common.IMU.orientation:4 msgid "" "It returns a rotation matrix whose columns represent the ``X``, ``Y``, " "and ``Z`` axis of the robot." msgstr "" -#: b250a0c5b2e44684bc422a0f820a7baf of pybricks._common.IMU.orientation:7 +#: 87a4b648df50461d90b257b48b1e7264 of pybricks._common.IMU.orientation:7 msgid "This method is not yet implemented." msgstr "" -#: 759dd17cdbee4fda9e0657c667998739 of pybricks._common.IMU.orientation:9 +#: fad0ff6f001e42cca6bc32c213bb2486 of pybricks._common.IMU.orientation:9 msgid "The rotation matrix." msgstr "" -#: debfaeae5070474e96393d00b98a5038 of pybricks._common.IMU.settings:1 +#: 52347326eb0d48498afc4f30cd0c9447 of pybricks._common.IMU.settings:1 msgid "" "Configures the IMU settings. If no arguments are given, this returns the " "current values." msgstr "" -#: 9c237644302145d5a134ccb2d06061d4 of pybricks._common.IMU.settings:4 +#: f07800474a374d6b8fd517538c1ff858 of pybricks._common.IMU.settings:4 msgid "" "The ``angular_velocity_threshold`` and ``acceleration_threshold`` define " "when the hub is considered stationary. If all measurements stay below " "these thresholds for one second, the IMU will recalibrate itself." msgstr "" -#: aafa34900795492bae069b4d4523ea82 of pybricks._common.IMU.settings:9 +#: a98f668b759f4d8c96be16e2e53c6080 of pybricks._common.IMU.settings:9 msgid "" "In a noisy room with high ambient vibrations (such as a competition " "hall), it is recommended to increase the thresholds slightly to give your" @@ -406,42 +406,42 @@ msgid "" "second." msgstr "" -#: 71ed69d041924024bce315a086cc1b42 of pybricks._common.IMU.settings:16 +#: b536740e2b954378a2d3b5d36570a616 of pybricks._common.IMU.settings:16 msgid "The threshold for angular velocity. The default value is 1.5 deg/s." msgstr "" -#: e4207d33fe3240be98f8cd1270b9a0b8 of pybricks._common.IMU.settings:19 +#: 7aecc767bf3445998fc339fc0f4c41f5 of pybricks._common.IMU.settings:19 msgid "The threshold for angular velocity. The default value is 250 mm/s²." msgstr "" -#: ../../main/hubs/technichub.rst:77 7921ef5b84184f98b88034de69d69bf7 +#: ../../main/hubs/technichub.rst:77 80b5fe7fdf88448ea2fd1a44dce02e9b msgid "Using connectionless Bluetooth messaging" msgstr "" -#: ../../main/hubs/technichub.rst:78 7d75e6ed49474e3ba4cbf56b41ba7fc0 +#: ../../main/hubs/technichub.rst:78 ff4faaa1b1c14802a2310c980e75f176 msgid ".. image:: /blockimg/pybricks_blockBleBroadcast_TechnicHub.svg" msgstr "" -#: ae420684b551464c866c75104b8bbc71 of pybricks._common.BLE.broadcast:1 +#: ebcbd7b98edc4a4ea343f4f615949552 of pybricks._common.BLE.broadcast:1 msgid "" "Starts broadcasting the given data on the ``broadcast_channel`` you " "selected when initializing the hub." msgstr "" -#: ec79f9a3c6404d1f870d7dfd75a9a8dd of pybricks._common.BLE.broadcast:4 +#: ea5385a4bb994a84b27dd11e01bb0b68 of pybricks._common.BLE.broadcast:4 msgid "" "Data may be of type ``int``, ``float``, ``str``, ``bytes``, ``True``, or " "``False``, or a list thereof." msgstr "" -#: e9ec714c335e419895beed223eedf0c1 of pybricks._common.BLE.broadcast:7 +#: 5f4ebaf1c86a4857ac133a45174f8527 of pybricks._common.BLE.broadcast:7 msgid "" "Choose ``None`` to stop broadcasting. This helps improve performance when" " you don't need the broadcast feature, especially when observing at the " "same time." msgstr "" -#: 42aacfb3e2b34f498e18c7584cee6845 of pybricks._common.BLE.broadcast:11 +#: accf2f599a7a4a6fbde897bbec2ce9aa of pybricks._common.BLE.broadcast:11 msgid "" "The total data size is quite limited (26 bytes). ``True`` and ``False`` " "take 1 byte each. ``float`` takes 5 bytes. ``int`` takes 2 to 5 bytes " @@ -449,7 +449,7 @@ msgid "" " of bytes in the object plus one extra byte." msgstr "" -#: bfd89cc535a2465284779215b3cdbf11 of pybricks._common.BLE.broadcast:16 +#: d57e3be44579425683537b8f5633317b of pybricks._common.BLE.broadcast:16 msgid "" "When multitasking, only one task can broadcast at a time. To broadcast " "information from multiple tasks (or block stacks), you could use a " @@ -457,119 +457,119 @@ msgid "" "variables change." msgstr "" -#: 67613e33c75a4ec7910072261c96b2a2 of pybricks._common.BLE.broadcast:21 +#: ffd7e68e550d44e798d325e3f9b75155 of pybricks._common.BLE.broadcast:21 msgid "The value or values to be broadcast." msgstr "" -#: ../../main/hubs/technichub.rst:82 22255060c1d647fb8244c1414675d854 +#: ../../main/hubs/technichub.rst:82 cb8e3973338344e3b24db1b4abd0845e msgid ".. image:: /blockimg/pybricks_blockBleObserve_TechnicHub.svg" msgstr "" -#: d3fd4400efa4469eac57cb1e4052f297 of pybricks._common.BLE.observe:1 +#: b7ba50fd9f4f4f8e9e282e7cd269ed92 of pybricks._common.BLE.observe:1 msgid "Retrieves the last observed data for a given channel." msgstr "" -#: 286072aec584440b90e8158660959a3a of pybricks._common.BLE.observe:3 +#: 395866e7783044e1b74949f6196dc6d0 of pybricks._common.BLE.observe:3 msgid "" "Receiving data is more reliable when the hub is not connected to a " "computer or other devices at the same time." msgstr "" -#: 2b84fb1299cf4cfda73833c4b829e4df of pybricks._common.BLE.observe:6 +#: 0420191ba7cd4421b447e2908be21985 of pybricks._common.BLE.observe:6 msgid "The channel to observe (0 to 255)." msgstr "" -#: 4a975320837b48cc95d59973ba435b0f of pybricks._common.BLE.observe:9 +#: 1602c2257b904a268a3146c0fdede3ad of pybricks._common.BLE.observe:9 msgid "" "The received data in the same format as it was sent, or ``None`` if no " "recent data is available." msgstr "" -#: 0c2fac2941d34c0c95c9addc195eeaa7 of pybricks._common.BLE.signal_strength:1 +#: 2416e99d9a184d55b44e9a1a7fc3b1c2 of pybricks._common.BLE.signal_strength:1 msgid "Gets the average signal strength in dBm for the given channel." msgstr "" -#: 1a3d9894348740bf910f5f92355a0a81 of pybricks._common.BLE.signal_strength:3 +#: b26f4dc9276e4c35a2fd5039755cbc1f of pybricks._common.BLE.signal_strength:3 msgid "" "This indicates how near the broadcasting device is. Nearby devices may " "have a signal strength around -40 dBm, while far away devices might have " "a signal strength around -70 dBm." msgstr "" -#: 3862ede41df6441580537a31dc735e0f of pybricks._common.BLE.signal_strength:7 +#: bee3a1fb247b4dfbad9a404ebcf6fe34 of pybricks._common.BLE.signal_strength:7 msgid "The channel number (0 to 255)." msgstr "" -#: 78c7932ea554471c93461b8e69dbe839 of pybricks._common.BLE.signal_strength:10 +#: 267bc1a6173449de9dc313fbb0de5116 of pybricks._common.BLE.signal_strength:10 msgid "The signal strength or ``-128`` if there is no recent observed data." msgstr "" -#: b90b8c834b8c4975b9d27ff0ccb59c50 of pybricks._common.BLE.version:1 +#: 12a5b3d8693c4d4e9bf62a57a969fc40 of pybricks._common.BLE.version:1 msgid "Gets the firmware version from the Bluetooth chip." msgstr "" -#: ../../main/hubs/technichub.rst:91 1d7fd84c48d94a91a89aaa095b07e7b5 +#: ../../main/hubs/technichub.rst:91 d5f11de52f7b4b5bab67b3d167ea974c msgid "Using the battery" msgstr "" -#: ../../main/hubs/technichub.rst:92 18fb28da4eb44546bcabf92a10312034 +#: ../../main/hubs/technichub.rst:92 7cda921828c5430ebd2964d66e014011 msgid "" ".. image:: " "/blockimg/pybricks_blockBatteryMeasure_TechnicHub_battery.voltage.svg" msgstr "" -#: 7b1e44dac21c48f39b9cc9e7e0e08a87 of pybricks._common.Battery.voltage:1 +#: e1a0490f723c43ab867cebd692cac43f of pybricks._common.Battery.voltage:1 msgid "Gets the voltage of the battery." msgstr "" -#: 8cddd39689584074b41d524d021c5d0c of pybricks._common.Battery.voltage:3 +#: 3c79a2c319834d8fb9d91ab5f2d6387e of pybricks._common.Battery.voltage:3 msgid "Battery voltage." msgstr "" -#: ../../main/hubs/technichub.rst:96 f39009b25e844fffbb65dd9bf95b4f42 +#: ../../main/hubs/technichub.rst:96 b63f808fcf7743d8a9cc5cfe82adfb77 msgid "" ".. image:: " "/blockimg/pybricks_blockBatteryMeasure_TechnicHub_battery.current.svg" msgstr "" -#: 8c233e6802fc4c1ebbdb48474c19211e of pybricks._common.Battery.current:1 +#: be2eba22ef004c10a19b24aa16894b72 of pybricks._common.Battery.current:1 msgid "Gets the current supplied by the battery." msgstr "" -#: 931843acf85b40a2bcb6cddc94d2d113 of pybricks._common.Battery.current:3 +#: c24ed361c1344ba49e72bde50b43bb9a of pybricks._common.Battery.current:3 msgid "Battery current." msgstr "" -#: ../../main/hubs/technichub.rst:101 5cd917576711494b9360f419c5997f9d +#: ../../main/hubs/technichub.rst:101 587fe22aa4174c8d8cc1a6a459bd7c01 msgid "Button and system control" msgstr "" -#: ../../main/hubs/technichub.rst:102 f70c0d354bf0484a9ee099002ccc3ee7 +#: ../../main/hubs/technichub.rst:102 d202007582064b51967bbd0385d18de6 msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_TechnicHub.svg" msgstr "" -#: 01ce0242dc844a72aa03fae540578fd7 of pybricks._common.Keypad.pressed:1 +#: 5b1d0e16ae8b4801b344b2be6492c764 of pybricks._common.Keypad.pressed:1 msgid "Checks which buttons are currently pressed." msgstr "" -#: 66bd1d7bd41c45d8b39fad8b66ce1c25 of pybricks._common.Keypad.pressed:3 +#: a27da3eff1094ca090d7aa4f483e0923 of pybricks._common.Keypad.pressed:3 msgid "Set of pressed buttons." msgstr "" -#: ../../main/hubs/technichub.rst:106 fc90748efb5c4bc58416cac5752e198f +#: ../../main/hubs/technichub.rst:106 fb18aaacb8014b3592564fe16e42ee19 msgid ".. image:: /blockimg/pybricks_blockHubStopButton_TechnicHub.svg" msgstr "" -#: ../../main/hubs/technichub.rst:108 5bb39be9d0f549a2ba91fe3dc8285163 +#: ../../main/hubs/technichub.rst:108 fb308bd5aac14b55b1f558ef79955d5c msgid ".. image:: /blockimg/pybricks_blockHubStopButton_TechnicHub_none.svg" msgstr "" -#: fd412ebc7a42422badd9dddf841e34d0 of +#: 9ca3fae52f8f4b0c80388dc181305d2b of #: pybricks._common.System.set_stop_button:1 msgid "Sets the button or button combination that stops a running script." msgstr "" -#: 488b47dd03a34f3c8580a7f9ec6ec696 of +#: 5236b4ac686c434ab4002f29d4a35fea of #: pybricks._common.System.set_stop_button:3 msgid "" "Normally, the center button is used to stop a running script. You can " @@ -577,7 +577,7 @@ msgid "" "purposes." msgstr "" -#: 12ac542567444df08b1dbbb40e7bd3d9 of +#: df577418082442d2ab3e2736eea56814 of #: pybricks._common.System.set_stop_button:7 msgid "" "A button such as :attr:`Button.CENTER " @@ -586,83 +586,83 @@ msgid "" " still turn the hub off by holding the center button for three seconds." msgstr "" -#: ea3a023423784d3fb967a6569b5c45c4 of pybricks._common.System.name:1 +#: b42dfbd3ca71436ebb00d3c5f5828a8f of pybricks._common.System.name:1 msgid "Gets the hub name. This is the name you see when connecting via Bluetooth." msgstr "" -#: efdf28f6521b4a5885f030240786ffec of pybricks._common.System.name:4 +#: 7521c123039e44ed9cecff739c1d0084 of pybricks._common.System.name:4 msgid "The hub name." msgstr "" -#: 3057d1e2ff1644f494f991ffa2ff9611 of pybricks._common.System.storage:1 +#: 5366c9c7214547d8a0fc85196f5d1cc0 of pybricks._common.System.storage:1 msgid "Reads or writes binary data to persistent storage." msgstr "" -#: 9b2ad7a17bc1486e90683f41e222ec81 of pybricks._common.System.storage:3 +#: 907eab95d1344095a7eefdd27a6cb2b2 of pybricks._common.System.storage:3 msgid "" "This lets you store data that can be used the next time you run the " "program." msgstr "" -#: 96b6c97d11584904a6780682e06d41a1 of pybricks._common.System.storage:6 +#: 452ff209e74f4b2c8c9f0660ed284f63 of pybricks._common.System.storage:6 msgid "" "The data will be saved to flash memory when you turn the hub off " "normally. It will not be saved if the batteries are removed *while* the " "hub is still running." msgstr "" -#: 188db81fd186481f8453927f7ba00735 of pybricks._common.System.storage:10 +#: 7296e511478b43e0a4a7f1c1d3d585b5 of pybricks._common.System.storage:10 msgid "" "Once saved, the data will remain available even after you remove the " "batteries." msgstr "" -#: e414111026c34d28ae95abedf33cd012 of pybricks._common.System.storage:13 +#: 732c42309c2d4c8ca2cc6b727f44158c of pybricks._common.System.storage:13 msgid "The offset from the start of the user storage memory, in bytes." msgstr "" -#: afa1b8b86f464f52adb194b55879a53f of pybricks._common.System.storage:15 +#: 5dd548bd8a944d37b6dc9feb2f848b03 of pybricks._common.System.storage:15 msgid "The number of bytes to read. Omit this argument when writing." msgstr "" -#: 8a0bfb50a91845ba93bc3525197739cc of pybricks._common.System.storage:17 +#: cf95e79c9ae140bf8898955054c89810 of pybricks._common.System.storage:17 msgid "The bytes to write. Omit this argument when reading." msgstr "" -#: 7a13a7c6f59d4cc8b8b620121b7829cc of pybricks._common.System.storage:20 +#: e390366a58a84256a3f6ec3d85139062 of pybricks._common.System.storage:20 msgid "The bytes read if reading, otherwise ``None``." msgstr "" -#: ../../main/hubs/technichub.rst 5cd1000da3cc4358bdc438d235d179d3 +#: ../../main/hubs/technichub.rst 626defe5a5064572b4018f79c4c7096d msgid "Raises" msgstr "" -#: d3256b841fb84e60b7b55d2e4848f45b of pybricks._common.System.storage:22 +#: 336fa16891744f1287236bd5993a4554 of pybricks._common.System.storage:22 msgid "If you try to read or write data outside of the allowed range." msgstr "" -#: ../../main/hubs/technichub.rst:117 bb1f6285a5e14bf7aaea57b2971f3ef6 +#: ../../main/hubs/technichub.rst:117 c83a57db88d74411b62cc721225462c8 msgid "" "You can store up to 128 bytes of data on this hub. The data is cleared " "when you update the Pybricks firmware or if you restore the original " "firmware." msgstr "" -#: ../../main/hubs/technichub.rst:121 e7cd2617686e41d6ac44c97313611ca5 +#: ../../main/hubs/technichub.rst:121 8e642d8156f4475a94c27852abefa625 msgid ".. image:: /blockimg/pybricks_blockHubShutdown_TechnicHub.svg" msgstr "" -#: a4856bb8de584fb5b05b4a25e9824469 of pybricks._common.System.shutdown:1 +#: 9f13ad07c67e4314a0e255d7af1af7de of pybricks._common.System.shutdown:1 msgid "Stops your program and shuts the hub down." msgstr "" -#: 63bf18c88b4d4888a15678c2c8af0889 of pybricks._common.System.reset_reason:1 +#: ec5fa5d89b54473ebc3526657f2184c5 of pybricks._common.System.reset_reason:1 msgid "" "Finds out how and why the hub (re)booted. This can be useful to diagnose " "some problems." msgstr "" -#: a8cf16dc33c44785a0c8b60820b5d0d2 of pybricks._common.System.reset_reason:4 +#: abf02a27727a4ba997aa69ab1631c13e of pybricks._common.System.reset_reason:4 msgid "" "* ``0`` if the hub was previously powered off normally. * ``1`` if the " "hub rebooted automatically, like after a firmware update. * ``2`` if " @@ -670,408 +670,85 @@ msgid "" " firmware issue." msgstr "" -#: f3821e5327cf41638e58a32a4c501494 of pybricks._common.System.reset_reason:6 +#: d1e9ff5deb0a40618f8a6503fb8dd404 of pybricks._common.System.reset_reason:6 msgid "``0`` if the hub was previously powered off normally." msgstr "" -#: 698dd1ae6f56404b987faf05985e64a3 of pybricks._common.System.reset_reason:8 +#: 979556d2a1cd457aa1baadd2a99c6f96 of pybricks._common.System.reset_reason:8 msgid "``1`` if the hub rebooted automatically, like after a firmware update." msgstr "" -#: c15227db97234381ba28d6063036c23b of pybricks._common.System.reset_reason:10 +#: e7650f0389f0473199c121fea1bcd3e2 of pybricks._common.System.reset_reason:10 msgid "" "``2`` if the hub previously crashed due to a watchdog timeout, which " "indicates a firmware issue." msgstr "" -#: ../../main/hubs/technichub.rst:128 436dd836029047c8a85376528cc56c68 +#: ../../main/hubs/technichub.rst:128 b655a50dd15c4b298f500c7877801b55 msgid "Status light examples" msgstr "" -#: ../../main/hubs/technichub.rst:131 ae6fe7257c614e4fa5ccdadba89d49af +#: ../../main/hubs/technichub.rst:131 27998381bc4c405cb1ff3fc01187088d msgid "Turning the light on and off" msgstr "" -#: ../../main/hubs/technichub.rst:133 fde2776ad2b148979831a3e91eaeabda -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = TechnicHub()\n" -"\n" -"# Turn the light on and off 5 times.\n" -"for i in range(5):\n" -"\n" -" hub.light.on(Color.RED)\n" -" wait(1000)\n" -"\n" -" hub.light.off()\n" -" wait(500)\n" -msgstr "" - -#: ../../main/hubs/technichub.rst:137 17a7df5e631d4a6c87299f7372d23e56 +#: ../../main/hubs/technichub.rst:137 f7ed319d405e44c2a3bee76b73c8b3f9 msgid "Changing brightness and using custom colors" msgstr "" -#: ../../main/hubs/technichub.rst:139 ed81c603cb374ea0be6f8e6636ff9089 -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = TechnicHub()\n" -"\n" -"# Show the color at 30% brightness.\n" -"hub.light.on(Color.RED * 0.3)\n" -"\n" -"wait(2000)\n" -"\n" -"# Use your own custom color.\n" -"hub.light.on(Color(h=30, s=100, v=50))\n" -"\n" -"wait(2000)\n" -"\n" -"# Go through all the colors.\n" -"for hue in range(360):\n" -" hub.light.on(Color(hue))\n" -" wait(10)\n" -msgstr "" - -#: ../../main/hubs/technichub.rst:143 58554ab41f0f4d8bbc464f98a5c414b1 +#: ../../main/hubs/technichub.rst:143 6f6038c4098e47c68deb7df27edb49b7 msgid "Making the light blink" msgstr "" -#: ../../main/hubs/technichub.rst:145 466ade77acf64a978df838f5b1fda32b -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub\n" -"hub = TechnicHub()\n" -"\n" -"# Keep blinking red on and off.\n" -"hub.light.blink(Color.RED, [500, 500])\n" -"\n" -"wait(10000)\n" -"\n" -"# Keep blinking green slowly and then quickly.\n" -"hub.light.blink(Color.GREEN, [500, 500, 50, 900])\n" -"\n" -"wait(10000)\n" -msgstr "" - -#: ../../main/hubs/technichub.rst:149 d001945be34c43afbd80cd2072e75ffc +#: ../../main/hubs/technichub.rst:149 39b15b68491b4124849572279d128cd5 msgid "Creating light animations" msgstr "" -#: ../../main/hubs/technichub.rst:151 6541f2122791447cb197783bb0adf420 -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"from umath import sin, pi\n" -"\n" -"# Initialize the hub.\n" -"hub = TechnicHub()\n" -"\n" -"# Make an animation with multiple colors.\n" -"hub.light.animate([Color.RED, Color.GREEN, Color.NONE], interval=500)\n" -"\n" -"wait(10000)\n" -"\n" -"# Make the color RED grow faint and bright using a sine pattern.\n" -"hub.light.animate([Color.RED * (0.5 * sin(i / 15 * pi) + 0.5) for i in " -"range(30)], 40)\n" -"\n" -"wait(10000)\n" -"\n" -"# Cycle through a rainbow of colors.\n" -"hub.light.animate([Color(h=i * 8) for i in range(45)], interval=40)\n" -"\n" -"wait(10000)\n" -msgstr "" - -#: ../../main/hubs/technichub.rst:155 fd1b41d8eb4f40faae1c875bd44b88d0 +#: ../../main/hubs/technichub.rst:155 e24c2a61e84546c79c90a37c22b87df6 msgid "IMU examples" msgstr "" -#: ../../main/hubs/technichub.rst:158 3030bce5e78648b6b16eeccd5195ac86 +#: ../../main/hubs/technichub.rst:158 7efdfcb128f84c488d25e3a5866960ac msgid "Testing which way is up" msgstr "" -#: ../../main/hubs/technichub.rst:160 44ece850592247d38acd69acf765b305 -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.parameters import Color, Side\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = TechnicHub()\n" -"\n" -"# Define colors for each side in a dictionary.\n" -"SIDE_COLORS = {\n" -" Side.TOP: Color.RED,\n" -" Side.BOTTOM: Color.BLUE,\n" -" Side.LEFT: Color.GREEN,\n" -" Side.RIGHT: Color.YELLOW,\n" -" Side.FRONT: Color.MAGENTA,\n" -" Side.BACK: Color.BLACK,\n" -"}\n" -"\n" -"# Keep updating the color based on detected up side.\n" -"while True:\n" -"\n" -" # Check which side of the hub is up.\n" -" up_side = hub.imu.up()\n" -"\n" -" # Change the color based on the side.\n" -" hub.light.on(SIDE_COLORS[up_side])\n" -"\n" -" # Also print the result.\n" -" print(up_side)\n" -" wait(50)\n" -msgstr "" - -#: ../../main/hubs/technichub.rst:165 8028f5938f9f4d1ab01ac60a0e6f7796 +#: ../../main/hubs/technichub.rst:165 2e76c00885074a908918be492a56117c msgid "Reading the tilt value" msgstr "" -#: ../../main/hubs/technichub.rst:167 529894bd865649638dc9d2a6a49c8cac -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = TechnicHub()\n" -"\n" -"while True:\n" -" # Read the tilt values.\n" -" pitch, roll = hub.imu.tilt()\n" -"\n" -" # Print the result.\n" -" print(pitch, roll)\n" -" wait(200)\n" -msgstr "" - -#: ../../main/hubs/technichub.rst:171 c07274a3c5e64a10a2d91110f32ec1ab +#: ../../main/hubs/technichub.rst:171 fe67918816474b2596cb1de6d0172841 msgid "Using a custom hub orientation" msgstr "" -#: ../../main/hubs/technichub.rst:173 c330a7f8dfd64cadb8477ab525b96793 -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.tools import wait\n" -"from pybricks.parameters import Axis\n" -"\n" -"# Initialize the hub. In this case, specify that the hub is mounted with " -"the\n" -"# top side facing forward and the front side facing to the right.\n" -"# For example, this is how the hub is mounted in BLAST in the 51515 set.\n" -"hub = TechnicHub(top_side=Axis.X, front_side=-Axis.Y)\n" -"\n" -"while True:\n" -" # Read the tilt values. Now, the values are 0 when BLAST stands " -"upright.\n" -" # Leaning forward gives positive pitch. Leaning right gives positive " -"roll.\n" -" pitch, roll = hub.imu.tilt()\n" -"\n" -" # Print the result.\n" -" print(pitch, roll)\n" -" wait(200)\n" -msgstr "" - -#: ../../main/hubs/technichub.rst:177 ce7575fa9fce448abff76ba88785e525 +#: ../../main/hubs/technichub.rst:177 5a2702547e614fd4943bd896f1bf1689 msgid "Reading acceleration and angular velocity vectors" msgstr "" -#: ../../main/hubs/technichub.rst:179 0c959fd6ee1b46b6b0bda14a12b9a86b -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = TechnicHub()\n" -"\n" -"# Get the acceleration vector in g's.\n" -"print(hub.imu.acceleration() / 9810)\n" -"\n" -"# Get the angular velocity vector.\n" -"print(hub.imu.angular_velocity())\n" -"\n" -"# Wait so we can see what we printed\n" -"wait(5000)\n" -msgstr "" - -#: ../../main/hubs/technichub.rst:183 59e941c6814945c692e1ee21763c601d +#: ../../main/hubs/technichub.rst:183 bad600a89e2a4c90884cafe0001caa49 msgid "Reading acceleration and angular velocity on one axis" msgstr "" -#: ../../main/hubs/technichub.rst:185 3b891d65f74f412f8fd59c9424c2ff43 -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.tools import wait\n" -"from pybricks.parameters import Axis\n" -"\n" -"# Initialize the hub.\n" -"hub = TechnicHub()\n" -"\n" -"# Get the acceleration or angular_velocity along a single axis.\n" -"# If you need only one value, this is more memory efficient.\n" -"while True:\n" -"\n" -" # Read the forward acceleration.\n" -" forward_acceleration = hub.imu.acceleration(Axis.X)\n" -"\n" -" # Read the yaw rate.\n" -" yaw_rate = hub.imu.angular_velocity(Axis.Z)\n" -"\n" -" # Print the yaw rate.\n" -" print(yaw_rate)\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/technichub.rst:190 6b09669d93bf483990adb378e6246e21 +#: ../../main/hubs/technichub.rst:190 54ce1cc057de48cb92678a5fa85faedb msgid "Bluetooth examples" msgstr "" -#: ../../main/hubs/technichub.rst:193 f46d0997e62243278aa864629c1a38aa +#: ../../main/hubs/technichub.rst:193 91fdef3f668e419aa6bc607b03546df6 msgid "Broadcasting data to other hubs" msgstr "" -#: ../../main/hubs/technichub.rst:195 3a80f7fb6cae4a92a0c3d24729a73d5e -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = TechnicHub(broadcast_channel=1)\n" -"\n" -"# Initialize the motors.\n" -"left_motor = Motor(Port.A)\n" -"right_motor = Motor(Port.B)\n" -"\n" -"while True:\n" -" # Read the motor angles to be sent to the other hub.\n" -" left_angle = left_motor.angle()\n" -" right_angle = right_motor.angle()\n" -"\n" -" # Set the broadcast data and start broadcasting if not already doing " -"so.\n" -" data = (left_angle, right_angle)\n" -" hub.ble.broadcast(data)\n" -"\n" -" # Broadcasts are only sent every 100 milliseconds, so there is no " -"reason\n" -" # to call the broadcast() method more often than that.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/technichub.rst:199 0fc20b070880434e84741fcc7e3c89c9 +#: ../../main/hubs/technichub.rst:199 55e63f305c324bac8fd3a7ae92676e3a msgid "Observing data from other hubs" msgstr "" -#: ../../main/hubs/technichub.rst:201 dcada32ea3d048e6aac92a064717c072 -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Color, Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = TechnicHub(observe_channels=[1])\n" -"\n" -"# Initialize the motors.\n" -"left_motor = Motor(Port.A)\n" -"right_motor = Motor(Port.B)\n" -"\n" -"while True:\n" -" # Receive broadcast from the other hub.\n" -"\n" -" data = hub.ble.observe(1)\n" -"\n" -" if data is None:\n" -" # No data has been received in the last 1 second.\n" -" hub.light.on(Color.RED)\n" -" else:\n" -" # Data was received and is less that one second old.\n" -" hub.light.on(Color.GREEN)\n" -"\n" -" # *data* contains the same values in the same order\n" -" # that were passed to hub.ble.broadcast() on the\n" -" # other hub.\n" -" left_angle, right_angle = data\n" -"\n" -" # Make the motors on this hub mirror the position of the\n" -" # motors on the other hub.\n" -" left_motor.track_target(left_angle)\n" -" right_motor.track_target(right_angle)\n" -"\n" -" # Broadcasts are only sent every 100 milliseconds, so there is\n" -" # no reason to call the observe() method more often than that.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/hubs/technichub.rst:206 0068a070977f4c6b82324e1d6f2417b3 +#: ../../main/hubs/technichub.rst:206 2606702e5b05400d817c658f6a9afa07 msgid "Button and system examples" msgstr "" -#: ../../main/hubs/technichub.rst:209 5a43275cc17b4528813ddd981d4f3c0b +#: ../../main/hubs/technichub.rst:209 be6cb29cc87c4e4dbdfd2e9d840d1c1d msgid "Using the stop button during your program" msgstr "" -#: ../../main/hubs/technichub.rst:211 6da903837e114a35845b479a1e1c6025 -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.parameters import Color, Button\n" -"from pybricks.tools import wait, StopWatch\n" -"\n" -"# Initialize the hub.\n" -"hub = TechnicHub()\n" -"\n" -"# Disable the stop button.\n" -"hub.system.set_stop_button(None)\n" -"\n" -"# Check the button for 5 seconds.\n" -"watch = StopWatch()\n" -"while watch.time() < 5000:\n" -"\n" -" # Set light to green if pressed, else red.\n" -" if hub.buttons.pressed():\n" -" hub.light.on(Color.GREEN)\n" -" else:\n" -" hub.light.on(Color.RED)\n" -"\n" -"# Enable the stop button again.\n" -"hub.system.set_stop_button(Button.CENTER)\n" -"\n" -"# Now you can press the stop button as usual.\n" -"wait(5000)\n" -msgstr "" - -#: ../../main/hubs/technichub.rst:215 2c207244ba2b4e0daadaff36a257fdc2 +#: ../../main/hubs/technichub.rst:215 8456f9acc3d84900934df7e2a1f06181 msgid "Turning the hub off" msgstr "" -#: ../../main/hubs/technichub.rst:217 5cb9e7e7fc474a54b2a8714df43de932 -msgid "" -"from pybricks.hubs import TechnicHub\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the hub.\n" -"hub = TechnicHub()\n" -"\n" -"# Say goodbye and give some time to send it.\n" -"print(\"Goodbye!\")\n" -"wait(100)\n" -"\n" -"# Shut the hub down.\n" -"hub.system.shutdown()\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/index.po b/doc/locales/de/LC_MESSAGES/index.po index e82e73d4..8291df75 100644 --- a/doc/locales/de/LC_MESSAGES/index.po +++ b/doc/locales/de/LC_MESSAGES/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 19:45+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,91 +19,79 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../../main/index.rst:47 +#: ../../main/index.rst:47 msgid "Table of contents" -msgstr "Inhaltsverzeichnis" +msgstr "" -#: ../../../main/index.rst:52 +#: ../../main/index.rst:52 msgid "Pybricks modules" -msgstr "Pybricks-Module" +msgstr "" -#: ../../../main/index.rst:65 +#: ../../main/index.rst:65 msgid "Code with blocks" -msgstr "Code mit Blöcken" +msgstr "" -#: ../../../main/index.rst:72 +#: ../../main/index.rst:72 msgid "MicroPython modules" -msgstr "MicroPython-Module" +msgstr "" -#: ../../../main/index.rst:2 +#: ../../main/index.rst:2 5d0cfc25662a4c99bb2eb05e3cc70fbd msgid "Pybricks Documentation" -msgstr "Pybricks-Dokumentation" +msgstr "" -#: ../../../main/index.rst:4 +#: ../../main/index.rst:4 60c13d2cd9e342e4a7b51738a3d787d3 msgid "" "`Pybricks `_ is Python coding for smart LEGO® " "hubs. Run MicroPython scripts directly on the hub, and get full control " "of your motors and sensors." msgstr "" -"`Pybricks `_ ist Python-Programmierung für intelligente LEGO® " -"Hubs. Führen Sie MicroPython-Skripte direkt auf dem Hub aus und erhalten Sie " -"volle Kontrolle über Ihre Motoren und Sensoren." -#: ../../../main/index.rst:8 +#: ../../main/index.rst:8 b24060ab22064f2fb2b05d4bf3423365 msgid "" "Pybricks runs on LEGO® BOOST, City, Technic, MINDSTORMS®, and SPIKE®. You" " can code using Windows, Mac, Linux, Chromebook, and Android." msgstr "" -"Pybricks läuft auf LEGO® BOOST, City, Technic, MINDSTORMS® und SPIKE®. Sie " -"können mit Windows, Mac, Linux, Chromebook und Android programmieren." -#: ../../../main/index.rst:11 +#: ../../main/index.rst:11 43136dad1c1b46e1bb61e477096bc6ee msgid "" "Click on any device below to see its documentation. Use the menu on the " "left to find documentation for additional modules. You may need to click " "the ☰ icon above to reveal this menu." msgstr "" -"Klicken Sie unten auf ein Gerät, um dessen Dokumentation anzuzeigen. Verwenden " -"Sie das Menü auf der linken Seite, um die Dokumentation für zusätzliche Module " -"zu finden. Möglicherweise müssen Sie auf das ☰-Symbol oben klicken, um dieses " -"Menü anzuzeigen." -#: ../../../main/index.rst:17 +#: ../../main/index.rst:17 934255db75a642d6b24dbb0e5e1f495d msgid "" "You are viewing the stand-alone version of the documentation. To learn " "more about Pybricks and to start coding, visit the `Pybricks website`_" msgstr "" -"Sie sehen die eigenständige Version der Dokumentation. Um mehr über Pybricks " -"zu erfahren und mit dem Programmieren zu beginnen, besuchen Sie die `Pybricks-Website`_" -#: ../../../main/index.rst:21 +#: ../../main/index.rst:21 98b1daa86b5b4fc6b1f78c14ef48dba2 msgid "" "Are you using LEGO MINDSTORMS EV3? Check out the `EV3 documentation`_ " "instead." msgstr "" -"Verwenden Sie LEGO MINDSTORMS EV3? Schauen Sie stattdessen in die " -"`EV3-Dokumentation`_." -#: ../../../main/index.rst:28 +#: ../../main/index.rst:28 3b2dee8f420e4f179b9c829bbe9e1a15 msgid "Programmable hubs" -msgstr "Programmierbare Hubs" +msgstr "" -#: ../../../main/index.rst:29 +#: ../../main/index.rst:29 96baa91bdf974f40bdcb720a5f382783 msgid ".. image:: ../main/cad/output/hub-all.png" msgstr "" -#: ../../../main/index.rst:34 +#: ../../main/index.rst:34 a2ff0f348e7d4fd4983b60fcf5ac42d2 msgid "Powered Up motors and sensors" -msgstr "Powered Up Motoren und Sensoren" +msgstr "" -#: ../../../main/index.rst:35 +#: ../../main/index.rst:35 8b3a2e2b8b0a42b9a0387b8f2afc587d msgid ".. image:: ../main/cad/output/pupdevice-all.png" msgstr "" -#: ../../../main/index.rst:39 +#: ../../main/index.rst:39 6a54e3ae8ee24dbcbf24ffe6122bd5a3 msgid ".. image:: ../main/cad/output/pupdevice-motors.png" msgstr "" -#: ../../../main/index.rst:43 +#: ../../main/index.rst:43 00d93e760f604140868d8feeec396de2 msgid ".. image:: ../main/cad/output/pupdevice-dcmotors.png" msgstr "" + diff --git a/doc/locales/de/LC_MESSAGES/iodevices/index.po b/doc/locales/de/LC_MESSAGES/iodevices/index.po index 6b60819e..ea75e533 100644 --- a/doc/locales/de/LC_MESSAGES/iodevices/index.po +++ b/doc/locales/de/LC_MESSAGES/iodevices/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,23 +19,23 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/iodevices/index.rst:4 3cfb8b8319b9454195be43ce15225a64 +#: ../../main/iodevices/index.rst:4 e6fb89d1925648cfba1877cb1f9c345d msgid ":mod:`iodevices ` -- Custom devices" msgstr "" -#: ../../main/iodevices/index.rst:16 dac253e1fd9a4ff3977871206e9a71cf +#: ../../main/iodevices/index.rst:16 3ebcf4dc193d40f2ba4c52180f68ba58 msgid "This module has classes for generic and custom input/output devices." msgstr "" -#: ../../main/iodevices/index.rst:20 7724b890d67942ddb4a0b65bccb7daa0 +#: ../../main/iodevices/index.rst:20 f1199230082f4db4a3b641a968aeec89 msgid ".. image:: ../../main/cad/output/iodevice-pupdevice.png" msgstr "" -#: ../../main/iodevices/index.rst:26 f8f3964521b24ab9b2c89f4f11f32b8f +#: ../../main/iodevices/index.rst:26 7cf5377c68d04932a48444061edf9d62 msgid ".. image:: ../../main/cad/output/hub-lwp3.png" msgstr "" -#: ../../main/iodevices/index.rst:32 83fd7f6751b24bb2a27d56ff4554842c +#: ../../main/iodevices/index.rst:32 c3d0b0917d854aa8bbca4d61e3f8865f msgid ".. image:: ../../main/diagrams_source/xboxcontroller.png" msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/iodevices/lwp3device.po b/doc/locales/de/LC_MESSAGES/iodevices/lwp3device.po index 51945eae..2e30f944 100644 --- a/doc/locales/de/LC_MESSAGES/iodevices/lwp3device.po +++ b/doc/locales/de/LC_MESSAGES/iodevices/lwp3device.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,86 +19,86 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/iodevices/lwp3device.rst:4 dc7d19c27a6c4f12a268359f57655116 +#: ../../main/iodevices/lwp3device.rst:4 3464b8568da149df85c0e13e47322572 msgid "LEGO Wireless Protocol v3 device" msgstr "" -#: ../../main/iodevices/lwp3device.rst:8 73e7487e621b4958b2dadbb2b94f5414 +#: ../../main/iodevices/lwp3device.rst:8 9721675ef2aa4135a1019be39535f0bb msgid "" "This is an experimental class. It has not been well tested and may be " "changed in future." msgstr "" -#: ../../main/iodevices/lwp3device.rst:11 5245b3f080c04b6dae96d6350fb1d8d0 +#: ../../main/iodevices/lwp3device.rst:11 595e8342f279416fa07653757c8a405d msgid ".. image:: ../../main/cad/output/hub-lwp3.png" msgstr "" -#: a147f21080554ede9a0270dd0c5754a9 of pybricks.iodevices.LWP3Device:1 +#: 74ad4be49ca24dc6b8f93244675d44a7 of pybricks.iodevices.LWP3Device:1 msgid "" "Connects to a hub running official LEGO firmware using the `LEGO Wireless" " Protocol v3`_" msgstr "" -#: ../../main/iodevices/lwp3device.rst 72096b15bfbf46a88e8e52c990aaf4d3 -#: e726d33d2c8e4ea198c3960f8d64b206 f905f75d223c4b1a86891997baf95e76 +#: ../../main/iodevices/lwp3device.rst 0a732da2702143db9a050ea48749a1ce +#: bc9b53ee393d4dd5839dd188bc8217d1 c06ae848dfba44c095ed13cdf387e60d msgid "Parameters" msgstr "" -#: 8d30eca4b91c4323be3b857a2f4bfd7a of pybricks.iodevices.LWP3Device:7 +#: c52035ee6ab44e8dbf4a5c040d45c77f of pybricks.iodevices.LWP3Device:7 msgid "The `hub type identifier`_ of the hub to connect to." msgstr "" -#: 94bce86ffae6492780fb62e536a9826a of pybricks.iodevices.LWP3Device:9 +#: 281c5007de57482d9330aa0b8e5e73f6 of pybricks.iodevices.LWP3Device:9 msgid "The name of the hub to connect to or ``None`` to connect to any hub." msgstr "" -#: 6612032a97ee4ed8a4aa04e6c4969a1f of pybricks.iodevices.LWP3Device:12 +#: 61c79ec3e9214237a4787d5e7bbe9740 of pybricks.iodevices.LWP3Device:12 msgid "" "The time, in milliseconds, to wait for a connection before raising an " "exception." msgstr "" -#: 02503a0bec9e4428908cb0236cf199fe of pybricks.iodevices.LWP3Device.name:1 +#: 90d952bbeef3494db2300744ab1cef5e of pybricks.iodevices.LWP3Device.name:1 msgid "name(name) name() -> str" msgstr "" -#: f63cef3545d94bb3b613ab8480179847 of pybricks.iodevices.LWP3Device.name:4 +#: ff6ff18a8a4143cabf589dd2e125a6b7 of pybricks.iodevices.LWP3Device.name:4 msgid "Sets or gets the Bluetooth name of the device." msgstr "" -#: 9a106f9029fb4046ad3147beddb5ba3b of pybricks.iodevices.LWP3Device.name:6 +#: fd95399760704a4499deb290736a59f5 of pybricks.iodevices.LWP3Device.name:6 msgid "" "New Bluetooth name of the device. If no name is given, this method " "returns the current name." msgstr "" -#: ccea1505be7b47a7929b9fefdb12d9ac of pybricks.iodevices.LWP3Device.write:1 +#: bb0e2a7e587241b890dc9bbafbfc4d47 of pybricks.iodevices.LWP3Device.write:1 msgid "Sends a message to the remote hub." msgstr "" -#: 3f735e7718f7405ab0be2cdf0bfe4257 of pybricks.iodevices.LWP3Device.write:3 +#: 8663942ea26a43e2a0045dcf3a5ad6af of pybricks.iodevices.LWP3Device.write:3 msgid "The raw binary message to send." msgstr "" -#: 5098a5d20fa44470934702693ae3b401 of pybricks.iodevices.LWP3Device.read:1 +#: a956631c87b54766aa964f81810fd45d of pybricks.iodevices.LWP3Device.read:1 msgid "Retrieves the most recent message received from the remote hub." msgstr "" -#: c13b7002518e44a3997db61837e680e5 of pybricks.iodevices.LWP3Device.read:3 +#: 213412e4270a410d934e9a35c2c04abf of pybricks.iodevices.LWP3Device.read:3 msgid "" "If a message has not been received since the last read, the method will " "block until a message is received." msgstr "" -#: ../../main/iodevices/lwp3device.rst d02cfd1453c6494faf7382baf85fe29c +#: ../../main/iodevices/lwp3device.rst ff71e6fdd11343f3aa58445650fd927c msgid "Returns" msgstr "" -#: deaaab2ab9164ee1b421bfa4dea94354 of pybricks.iodevices.LWP3Device.read:6 +#: 99943a09a09f46cb98d4a6856c8136f2 of pybricks.iodevices.LWP3Device.read:6 msgid "The raw binary message." msgstr "" -#: bc066de8c0ce4ee28b56c01df5a60cff of +#: 526cf080b00f4d2c8177aa11da9bfac2 of #: pybricks.iodevices.LWP3Device.disconnect:1 msgid "Disconnects the remote LWP3Device from the hub." msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/iodevices/pupdevice.po b/doc/locales/de/LC_MESSAGES/iodevices/pupdevice.po index aedd99d0..28ca76b4 100644 --- a/doc/locales/de/LC_MESSAGES/iodevices/pupdevice.po +++ b/doc/locales/de/LC_MESSAGES/iodevices/pupdevice.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,145 +19,66 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/iodevices/pupdevice.rst:4 3f2b717ea65f4f4f8319ec02436bc7ec +#: ../../main/iodevices/pupdevice.rst:4 66c55b4499334e4b9c2dfe445dae36e4 msgid "Powered Up Device" msgstr "" -#: ../../main/iodevices/pupdevice.rst:6 ed0d66e4f8f449bab7f53d68faf13120 +#: ../../main/iodevices/pupdevice.rst:6 b96c0a9d75954af89e46eced105dace9 msgid ".. image:: ../cad/output/iodevice-pupdevice.png" msgstr "" -#: 8addb77097f54c9a9c32b1640efa9c13 of pybricks.iodevices.PUPDevice:1 +#: 87242daedd154ce48014e5715c8e0d6d of pybricks.iodevices.PUPDevice:1 msgid "Powered Up motor or sensor." msgstr "" -#: ../../main/iodevices/pupdevice.rst b59e9ffef11043948dfbfd3b3d5df45b -#: b83d509326af494cab61f56215513eba dcffb70b1fee4106887639745b528359 +#: ../../main/iodevices/pupdevice.rst 17de9c0c5990493d938a32812a30648f +#: 7561660c7d7e4954b27a1f44c7a2ef2d d04eff15f50b4be1ade0f48cebe919ba msgid "Parameters" msgstr "" -#: 67c0dd8106614e99a65ab29d80ec1bfa of pybricks.iodevices.PUPDevice:3 +#: 2c14978064654205b6dba9f465825af3 of pybricks.iodevices.PUPDevice:3 msgid "Port to which the device is connected." msgstr "" -#: d3950ee859ce469ca6bcecade9372306 of pybricks.iodevices.PUPDevice.info:1 +#: 44d8cf400a73496f96b8bc8b6b87b683 of pybricks.iodevices.PUPDevice.info:1 msgid "Gets information about the device." msgstr "" -#: ../../main/iodevices/pupdevice.rst 99f6e80fa6ac4e0788be527dcb483b91 -#: 9af3b7fe84424c4a858b4e1a3094886e +#: ../../main/iodevices/pupdevice.rst 5b469b4a8a174818970e140a66b70861 +#: aa02df9794464cd6af4b1fc8f1b10bdb msgid "Returns" msgstr "" -#: 78e1dd02b9b443faa4a286e45b8ad86d of pybricks.iodevices.PUPDevice.info:3 +#: c41d24a83ed44c55b6689516328242cb of pybricks.iodevices.PUPDevice.info:3 msgid "Dictionary with information, such as the device ``id``." msgstr "" -#: 3cfeca952ad6434fa9ba063f9a0b639a of pybricks.iodevices.PUPDevice.read:1 +#: bc6330b8a0d04e92b24d06e161d8563d of pybricks.iodevices.PUPDevice.read:1 msgid "Reads values from a given mode." msgstr "" -#: 452ecdf7e58d4cbba68f07e172e34456 c0ac5960f3e24ac0997066576fce5880 of +#: 07e6c0c1971a4ad1bce68eb1afbc3985 5bcd1bec955a45baa0acb6f275c5e884 of #: pybricks.iodevices.PUPDevice.read:3 pybricks.iodevices.PUPDevice.write:4 msgid "Device mode." msgstr "" -#: a8f6850b64574f00aaf22bb866315978 of pybricks.iodevices.PUPDevice.read:6 +#: d9675c7b87374ccd8b620477e1c69dde of pybricks.iodevices.PUPDevice.read:6 msgid "Values read from the sensor." msgstr "" -#: d7fa0b55308843ae8d70ed25729a9e01 of pybricks.iodevices.PUPDevice.write:1 +#: de09bad6d3c747db9bbf46d29ce21a11 of pybricks.iodevices.PUPDevice.write:1 msgid "Writes values to the sensor. Only selected sensors and modes support this." msgstr "" -#: f71e10fd1e5a477097de4851587e79fe of pybricks.iodevices.PUPDevice.write:6 +#: b8324b3a906d4c8fb5aa5e193665a76e of pybricks.iodevices.PUPDevice.write:6 msgid "Values to be written." msgstr "" -#: ../../main/iodevices/pupdevice.rst:19 b250ed31a0ea4c58a1738b474ce0f810 +#: ../../main/iodevices/pupdevice.rst:19 621875252611499c80dd382f8304781c msgid "Examples" msgstr "" -#: ../../main/iodevices/pupdevice.rst:22 ee5ab0007fcb4098a76c8f6a204d8fc3 +#: ../../main/iodevices/pupdevice.rst:22 ef808579c7fd4cc58e5ca69c7554c172 msgid "Detecting devices" msgstr "" -#: ../../main/iodevices/pupdevice.rst:24 ba2a783202ec4c38ac9388d4789b99a4 -msgid "" -"from pybricks.iodevices import PUPDevice\n" -"from pybricks.parameters import Port\n" -"from uerrno import ENODEV\n" -"\n" -"# Dictionary of device identifiers along with their name.\n" -"device_names = {\n" -" # pybricks.pupdevices.DCMotor\n" -" 1: \"Wedo 2.0 Medium Motor\",\n" -" 2: \"Powered Up Train Motor\",\n" -" # pybricks.pupdevices.Light\n" -" 8: \"Powered Up Light\",\n" -" # pybricks.pupdevices.Motor\n" -" 38: \"BOOST Interactive Motor\",\n" -" 46: \"Technic Large Motor\",\n" -" 47: \"Technic Extra Large Motor\",\n" -" 48: \"SPIKE Medium Angular Motor\",\n" -" 49: \"SPIKE Large Angular Motor\",\n" -" 65: \"SPIKE Small Angular Motor\",\n" -" 75: \"Technic Medium Angular Motor\",\n" -" 76: \"Technic Large Angular Motor\",\n" -" # pybricks.pupdevices.TiltSensor\n" -" 34: \"Wedo 2.0 Tilt Sensor\",\n" -" # pybricks.pupdevices.InfraredSensor\n" -" 35: \"Wedo 2.0 Infrared Motion Sensor\",\n" -" # pybricks.pupdevices.ColorDistanceSensor\n" -" 37: \"BOOST Color Distance Sensor\",\n" -" # pybricks.pupdevices.ColorSensor\n" -" 61: \"SPIKE Color Sensor\",\n" -" # pybricks.pupdevices.UltrasonicSensor\n" -" 62: \"SPIKE Ultrasonic Sensor\",\n" -" # pybricks.pupdevices.ForceSensor\n" -" 63: \"SPIKE Force Sensor\",\n" -" # pybricks.pupdevices.ColorLightMatrix\n" -" 64: \"SPIKE 3x3 Color Light Matrix\",\n" -"}\n" -"\n" -"# Make a list of known ports.\n" -"ports = [Port.A, Port.B]\n" -"\n" -"# On hubs that support it, add more ports.\n" -"try:\n" -" ports.append(Port.C)\n" -" ports.append(Port.D)\n" -"except AttributeError:\n" -" pass\n" -"\n" -"# On hubs that support it, add more ports.\n" -"try:\n" -" ports.append(Port.E)\n" -" ports.append(Port.F)\n" -"except AttributeError:\n" -" pass\n" -"\n" -"# Go through all available ports.\n" -"for port in ports:\n" -"\n" -" # Try to get the device, if it is attached.\n" -" try:\n" -" device = PUPDevice(port)\n" -" except OSError as ex:\n" -" if ex.args[0] == ENODEV:\n" -" # No device found on this port.\n" -" print(port, \": ---\")\n" -" continue\n" -" else:\n" -" raise\n" -"\n" -" # Get the device id\n" -" id = device.info()[\"id\"]\n" -"\n" -" # Look up the name.\n" -" try:\n" -" print(port, \":\", device_names[id])\n" -" except KeyError:\n" -" print(port, \":\", \"Unknown device with ID\", id)\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/iodevices/xboxcontroller.po b/doc/locales/de/LC_MESSAGES/iodevices/xboxcontroller.po index a9ce9df1..82af71be 100644 --- a/doc/locales/de/LC_MESSAGES/iodevices/xboxcontroller.po +++ b/doc/locales/de/LC_MESSAGES/iodevices/xboxcontroller.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,203 +19,203 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/iodevices/xboxcontroller.rst:4 da498f76d1e648829bc06abfa5e7c28e +#: ../../main/iodevices/xboxcontroller.rst:4 1341f409cd1b48dd96ac6a8b92feda61 msgid "Xbox Controller" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:6 3f1f4b1875404b72b65dc207694ff75a +#: ../../main/iodevices/xboxcontroller.rst:6 881beba057df4b8d9452382dc4c9169c msgid ".. image:: ../../main/diagrams_source/xboxcontroller.png" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:9 4b93c07bbc45422fac1c9d9c78a0ef2a +#: ../../main/iodevices/xboxcontroller.rst:9 e2472666ab784059a7e0fb7dc42b1076 msgid ".. image:: /blockimg/pybricks_variables_set_xbox_controller.svg" msgstr "" -#: f64a7486a6344157be5d5fff9adbfdf0 of pybricks.iodevices.XboxController:1 +#: cc21bae1610d414c9a51a38b295c6aef of pybricks.iodevices.XboxController:1 msgid "" "Use the Microsoft® Xbox® controller as a sensor in your projects to " "control them remotely." msgstr "" -#: ff6191937f84457a9ddf87f7ce0c4d59 of pybricks.iodevices.XboxController:4 +#: ca3a2c5e19584d0ca1724810c37a275a of pybricks.iodevices.XboxController:4 msgid "" "The hub will scan for the controller and connect to it. It will " "disconnect when the program ends." msgstr "" -#: cf8326e9ab45410ea4f7a8e4207552c7 of pybricks.iodevices.XboxController:7 +#: fe139d8c95ea4dd2b3ee5638a355c4d5 of pybricks.iodevices.XboxController:7 msgid "" "For tips on connectivity and pairing, see :ref:`below `." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:14 3aa9b72a7bdb4c9d99b1ff7d73cc37bc +#: ../../main/iodevices/xboxcontroller.rst:14 0fd94845fd5f41a383a603dad38f2dba msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_XboxController.svg" msgstr "" -#: 0888867720534cb6af3bab36b01023ef of pybricks._common.Keypad.pressed:1 +#: dffebb1fe91444b2aff0f877ea6aa403 of pybricks._common.Keypad.pressed:1 msgid "Checks which buttons are currently pressed." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst 11e6125b70d84f778412238b9e4258fb -#: 89bd355cb680426cb9befbe6679ba9df 932e6c94c2814221abbf0e9797486107 -#: b53b649c3fb44817b59442d6bf1de9a2 cf950589fa57409ebe7c86969ee714f8 -#: f6b61e75475040b1811817d92519f8dc +#: ../../main/iodevices/xboxcontroller.rst 00c45de24b2b4810be4bbd427133a6ab +#: 1956ecec6caf4d18acddc8a7889d9d07 8181edced89b40dba13b4cacde8c26dc +#: 9adbf76d418046578ad85d571c5ea20b a20024d285a04939b01fdf53489df9e9 +#: fac8816e8420456e95b645fda1ea571e msgid "Returns" msgstr "" -#: 763d16630d094f2fb8c47ddf3ee4e58c of pybricks._common.Keypad.pressed:3 +#: d9235153a4334b1186cd666ecc079fa0 of pybricks._common.Keypad.pressed:3 msgid "Set of pressed buttons." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:18 1e8d42ab931141c18859d8a726795160 +#: ../../main/iodevices/xboxcontroller.rst:18 568b97aa35804f269226306488306dff msgid "Buttons include:" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:20 eaf7d14383774a05bb3aa03a62daa251 +#: ../../main/iodevices/xboxcontroller.rst:20 2db7e35892324053bf2d4c68dcdba443 msgid "``Button.A``, ``Button.B``, ``Button.X``, ``Button.Y``." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:21 b03834221c1a4d16aeb68292be5b5fca +#: ../../main/iodevices/xboxcontroller.rst:21 95255435e1b54bd1855dd04f90d684bf msgid "" "``Button.UP``, ``Button.DOWN``, ``Button.LEFT``, ``Button.RIGHT`` " "(direction pad). At most two of these can be pressed at the same time." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:23 ead35b31bf154ba8862f6e7588471813 +#: ../../main/iodevices/xboxcontroller.rst:23 2ad1a82dd71d4c6f9d3ee84b07d68831 msgid "``Button.LB`` and ``Button.RB`` (bumpers)." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:24 9bcb960fd5364ada9cbb519515a2fa6a +#: ../../main/iodevices/xboxcontroller.rst:24 8e3d9563759645c0929eec9eed118f1e msgid "``Button.LJ`` and ``Button.RJ`` (pressing the joysticks)." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:25 3fd6271d97d64a8a97de60bf46c3ac55 +#: ../../main/iodevices/xboxcontroller.rst:25 5f0667874b974cf5b21013d65554d956 msgid "" "``Button.VIEW``, ``Button.MENU``, ``Button.GUIDE`` (the Xbox logo), and " "``Button.UPLOAD``." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:26 e7cd7c10f1b04764a5b8bc99e186e05f +#: ../../main/iodevices/xboxcontroller.rst:26 7b9ccf7beded497182069631541f724c msgid "" "``Button.P1``, ``Button.P2``, ``Button.P3``, and ``Button.P4`` (Elite " "Series 2 only). Pressing the paddles may also be detected as other button" " presses, depending on the currently active profile." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:30 ebe84ea0169d4d438873ee7c9b43713a +#: ../../main/iodevices/xboxcontroller.rst:30 202f9e89bf244856a2c29f56027ac3fe msgid ".. image:: /blockimg/pybricks_blockJoystickValue_lj_x.svg" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:32 91d934c247614547b161d9116ee5641e +#: ../../main/iodevices/xboxcontroller.rst:32 12c6b09729684374a1ca998f99012ea1 msgid ".. image:: /blockimg/pybricks_blockJoystickValue_lj_y.svg" msgstr "" -#: 1eed8f9d310449e4b105fab1578c36bf of +#: e8afb7a7c91746c989ba7e7241313291 of #: pybricks.iodevices.XboxController.joystick_left:1 msgid "" "Gets the left joystick position as percentages between -100% and 100%. " "The center position is (0, 0)." msgstr "" -#: 89670685c5454096a986ff465e2cfdfe ff801829fe9a4c5db3557a9b630d73da of +#: 131eee3128a848f2ba8477fa70a47884 e92c973429164ca1830c147ea879ba44 of #: pybricks.iodevices.XboxController.joystick_left:4 #: pybricks.iodevices.XboxController.joystick_right:4 msgid "Tuple of X (horizontal) and Y (vertical) position." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:37 5b85df5ff92946caa5bd8b50b69ab036 +#: ../../main/iodevices/xboxcontroller.rst:37 1a1e59059a374b17b69c46839cbc12fd msgid ".. image:: /blockimg/pybricks_blockJoystickValue_rj_x.svg" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:39 58867a7c4fd94e0d8261f4a2abf0add0 +#: ../../main/iodevices/xboxcontroller.rst:39 7d5ebefe2d7b4535a5865ba0d720326f msgid ".. image:: /blockimg/pybricks_blockJoystickValue_rj_y.svg" msgstr "" -#: d3c74e213d7a46519f04c872a9df9a9f of +#: 8bea02714a6247669518767d953fe82f of #: pybricks.iodevices.XboxController.joystick_right:1 msgid "" "Gets the right joystick position as percentages between -100% and 100%. " "The center position is (0, 0)." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:44 637367956fb44f48a703d837b5ffd458 +#: ../../main/iodevices/xboxcontroller.rst:44 fd3323b29adc4d208b5902f46c73f244 msgid ".. image:: /blockimg/pybricks_blockJoystickValue_lt.svg" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:46 f64833af4b6548ef93804524a7b97cef +#: ../../main/iodevices/xboxcontroller.rst:46 956b89aaa59d4a5dad31b2a5224393a2 msgid ".. image:: /blockimg/pybricks_blockJoystickValue_rt.svg" msgstr "" -#: 880f3263397d42c0a409682a9ed3c7ec of +#: c198adf98da7468e931758268917d782 of #: pybricks.iodevices.XboxController.triggers:1 msgid "" "Gets the left and right trigger positions as percentages between 0% and " "100%." msgstr "" -#: dffbde2d44e540bbad8e8f790e6f06a5 of +#: ed4e4504916c44aca2391acf82ea9c4e of #: pybricks.iodevices.XboxController.triggers:4 msgid "Tuple of left and right trigger positions." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:51 0d7b9919fade4a38be18a20548e441dd +#: ../../main/iodevices/xboxcontroller.rst:51 978e84155d924f569543fb51820c46b6 msgid ".. image:: /blockimg/pybricks_blockJoystickValue_dpad.svg" msgstr "" -#: 3c2a333ab37444e494fc1cd4d04f669c of pybricks.iodevices.XboxController.dpad:1 +#: 8fe0d874d2954ea49ca91b6d47c046d6 of pybricks.iodevices.XboxController.dpad:1 msgid "" "Gets the direction-pad value. ``1`` is up, ``2`` is up-right, ``3`` is " "right, ``4`` is down-right, ``5`` is down, ``6`` is down-left, ``7`` is " "left, ``8`` is up-left, and ``0`` is not pressed." msgstr "" -#: f54b9217b6fa4711884eb0fd259c4300 of pybricks.iodevices.XboxController.dpad:5 +#: 892968cc5dd547c2b5b0b24c520b8f0b of pybricks.iodevices.XboxController.dpad:5 msgid "" "This is essentially the same as reading the state of the ``Button.UP``, " "``Button.RIGHT``, ``Button.DOWN``, and ``Button.LEFT`` buttons, but this " "method conveniently returns a number that indicates a direction." msgstr "" -#: 101a0bdfd58b4c14bfc435cdbc2c6d6f of +#: 1b9c8f532b534e27b2a1bb22c9e3dc5c of #: pybricks.iodevices.XboxController.dpad:10 msgid "Direction-pad position, indicating a direction." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:55 8a24a38809af43babee508797ae30a1c +#: ../../main/iodevices/xboxcontroller.rst:55 cacbf8e6494a4bf38ed7c3cd69c3c326 msgid ".. image:: /blockimg/pybricks_blockJoystickValue_profile.svg" msgstr "" -#: ff866bbba41d49e991f85cbcafb6179c of +#: 6c76bc083b50443ba28e09aa601168c1 of #: pybricks.iodevices.XboxController.profile:1 msgid "" "Gets the current profile of the controller. Only available on the Xbox " "Elite Controller Series 2." msgstr "" -#: 4c1de3b8b13f47b4a7396cc71e9aaa99 of +#: a708f64fbbf74cd0b1eaf5d8c8a81597 of #: pybricks.iodevices.XboxController.profile:4 msgid "Profile number." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:59 736ccd9f180a4ada833f3c910e519a3b +#: ../../main/iodevices/xboxcontroller.rst:59 f977a6753073493ebc0b9eca8bdf2afd msgid ".. image:: /blockimg/pybricks_blockGamepadRumble_default.svg" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:61 1d0579c8fc4a4dd19388e18414fca60c +#: ../../main/iodevices/xboxcontroller.rst:61 c288b8091212482db290994927d83822 msgid ".. image:: /blockimg/pybricks_blockGamepadRumble_default_with_list.svg" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:64 a714858865ca48c7bf77709dacb7f44c +#: ../../main/iodevices/xboxcontroller.rst:64 f49e3c8d00cc4f6a960bad0b2768ddff msgid ".. image:: /blockimg/pybricks_blockGamepadRumble_with_options.svg" msgstr "" -#: 8581ae36786e41278af5659d7438fb3d of +#: 47d05d6f71ce4731a7c3f9b8a92744bd of #: pybricks.iodevices.XboxController.rumble:1 msgid "Makes the builtin actuators rumble, creating force feedback." msgstr "" -#: ef0dbe3e20c04b78a46da6b4e2f93f04 of +#: 12034ea403f244b0bc73a635d8ca5cab of #: pybricks.iodevices.XboxController.rumble:3 msgid "" "If you give a single ``power`` value, the left and right main actuators " @@ -226,7 +226,7 @@ msgid "" "makes the left trigger rumble at full power." msgstr "" -#: 7c059ce5900c4982a5828ceb37b9f972 of +#: fa7b28b88b114de49aac5c93980537ae of #: pybricks.iodevices.XboxController.rumble:10 msgid "" "The rumble runs in the background while your program continues. To make " @@ -235,35 +235,35 @@ msgid "" "``count * (duration + delay)``." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst 3a9f251edc1941739ef338430da362f7 +#: ../../main/iodevices/xboxcontroller.rst e401b1f5acdd483d91b1c353ba3bac93 msgid "Parameters" msgstr "" -#: fcca7b5dbcfb4c54af7137a103dfcf2a of +#: 676016f432204eee809d11d134559615 of #: pybricks.iodevices.XboxController.rumble:15 msgid "Rumble power." msgstr "" -#: b3a3a8912b9644bf9617f890a2a15a4c of +#: 10d517cfca2d423b840d3eb56a0659d2 of #: pybricks.iodevices.XboxController.rumble:17 msgid "Rumble duration." msgstr "" -#: 14a42649ee36470bb75e12e7f1f6b370 of +#: 24709cfb3e8b46e4aa29540f83253e3a of #: pybricks.iodevices.XboxController.rumble:19 msgid "Rumble count." msgstr "" -#: 67679a2216254ab9ab11235b8dcbd77c of +#: 715a7532d23641aeae4fa8b83e0e0b60 of #: pybricks.iodevices.XboxController.rumble:21 msgid "Delay before each rumble. Only if ``count > 1``." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:72 96310cab3f934963b9c8c8b4aef53910 +#: ../../main/iodevices/xboxcontroller.rst:72 18964abb7bd14b96ba97dc5096037128 msgid "Xbox Controller Pairing Instructions" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:73 393dbcaa8601481193f4ff66c402e71b +#: ../../main/iodevices/xboxcontroller.rst:73 5e424b52a81d487aa59ec9a469d62f8c msgid "" "The first time you use a controller with a hub, you will need to pair " "them: Turn the controller on and then press and hold the pairing button " @@ -271,24 +271,24 @@ msgid "" " Xbox button starts flashing more rapidly. Then start your program." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:78 64df7cb9a450498aa308e98b43da99a0 +#: ../../main/iodevices/xboxcontroller.rst:78 c65bb18fe6494f11b4222dd76ae3c460 msgid "" "When pairing and the connection is succesful, the Xbox button will stop " "flashing and stay on for as long as the program is running." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:82 1e84c1c4d20643cc8cd5344ab551f1f1 +#: ../../main/iodevices/xboxcontroller.rst:82 26d82f2aaf0d433e84b505762494dc48 msgid "Repeat Connections" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:84 397a9fe28edd44519e1ca33d91874cf0 +#: ../../main/iodevices/xboxcontroller.rst:84 9ad1abff9cfb4853866e5e03d147311b msgid "" "If you keep using the same controller with the same hub, you can simply " "turn the controller on the next time and the hub will connect to it " "automatically when your program with this class runs." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:88 82fe1f81b74048ef974539caf51a5a15 +#: ../../main/iodevices/xboxcontroller.rst:88 2fb77cd9b9b744bc9c8a2687ccc46705 msgid "" "The Xbox controller only accepts this simpler connection with the most " "recently connected device. So if you connect to your Xbox console again, " @@ -296,11 +296,11 @@ msgid "" "above." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:94 1f3d3faa91bd47c39086d45fc49f68ff +#: ../../main/iodevices/xboxcontroller.rst:94 8a80b89cec8b4ca39b70faf585feef3e msgid "Compatible Controllers" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:96 31791ddeb3fe49998b7bab5cc8c86e27 +#: ../../main/iodevices/xboxcontroller.rst:96 7f14a710bfd14bd5972b02697f348927 msgid "" "All Xbox controllers released since 2016 are compatible. This includes " "the controller from the One S (``1708`` from 2016), the Elite Series 2 " @@ -308,18 +308,18 @@ msgid "" "the latest model as of this writing." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:107 47ec4f14fc5a4dc2ba7dfa45fb9ec1c2 +#: ../../main/iodevices/xboxcontroller.rst:107 c48d275cbfa64e58a3c923247454e0a0 msgid "Updating the Xbox Controller" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:109 29d8fb8ae4004d8e9b019711f548a1ee +#: ../../main/iodevices/xboxcontroller.rst:109 6a74033bf499458ab44763e798cffb58 msgid "" "If you frequently use the Xbox Controller with your console, your " "controller is probably already up to date. If you have not used it for a " "while or if you bought one recently, you may need to update it." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:113 2bb1b6d4c5ba4d4e83a64e153dade81b +#: ../../main/iodevices/xboxcontroller.rst:113 4d5d23796c3745dbab59165de986a39a msgid "" "To update the controller without a console, you can use the Xbox " "Accessories app on a Windows computer. You can download it from the " @@ -327,11 +327,11 @@ msgid "" "follow the instructions in the app to click on \"Update now\"." msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:119 8f69d636c52f45a0a919749b2cbe782e +#: ../../main/iodevices/xboxcontroller.rst:119 2c02765a3f76489e882007ed125651e0 msgid "Technic Hub Limitations" msgstr "" -#: ../../main/iodevices/xboxcontroller.rst:121 b49a24581a294452ae0893aa66a56614 +#: ../../main/iodevices/xboxcontroller.rst:121 2b941e0a53c54a04ae5acaae59390e1d msgid "" "Due to limitations of the Technic Hub, the hub will disconnect from the " "computer when searching for the Xbox controller. This means you will not " diff --git a/doc/locales/de/LC_MESSAGES/micropython/builtins.po b/doc/locales/de/LC_MESSAGES/micropython/builtins.po index 30d65f18..e0156470 100644 --- a/doc/locales/de/LC_MESSAGES/micropython/builtins.po +++ b/doc/locales/de/LC_MESSAGES/micropython/builtins.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,1373 +19,1288 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/micropython/builtins.rst:2 b85a6c29396f4e5b8ab7c9f5417462a2 +#: ../../main/micropython/builtins.rst:2 2f768f65ee414b4992278ab0d453e135 msgid "Built-in classes and functions" msgstr "" -#: ../../main/micropython/builtins.rst:4 7d7c86b29d424d16ad0c2ba19663173c +#: ../../main/micropython/builtins.rst:4 3d69ea58d4204cc5a364499391099607 msgid "" "The classes and functions shown on this page can be used without " "importing anything." msgstr "" -#: ../../main/micropython/builtins.rst:8 ec5b7b889e634251a7bfa6cd7687b372 +#: ../../main/micropython/builtins.rst:8 6fea2a078f3d4cfdb2b1393cb2c9fd26 msgid "Input and output" msgstr "" -#: bacda4e6fb4f4375984ba79988de52d3 of ubuiltins.input:1 +#: 97f60d45562d4097aa34cfb37a1fde08 of ubuiltins.input:1 msgid "input() -> str input(prompt) -> str" msgstr "" -#: f659923d9daa4f269e5a7cbb1090e02d of ubuiltins.input:4 +#: 19c60b52168843388d00ccb12f7d2f14 of ubuiltins.input:4 msgid "" "Gets input from the user in the terminal window. It waits until the user " "presses :kbd:`Enter`." msgstr "" -#: ../../main/micropython/builtins.rst 03549ab4ad6648b5b474c53f6a2d85f1 -#: 086f353c635843c4ac00bb8c78aba0a1 137015d943234185b5a2121f1a851d0c -#: 143502e94b804a2e9cc260ca3cad43cd 14520705c87141d9b52bab3dc7aa7120 -#: 1483e3d8722d448aa6bb702cf7cd78ba 157fe0a621cd4427abe139e9f385d050 -#: 1ad57990f97c42c1b38b33d07ba2ac22 2948b35bb1bb4cec8495876960b05a3c -#: 2ddf93a0fafd4217a6110b736ed57ff9 3ce0822d00694be686356ace97a089c7 -#: 3d94ec02b877405fa4f756e560263bd0 4670d4948a834bc7b063c25f6bd7d02e -#: 4b0be7684ebc477cb8b93541b73a5e67 5304b50553d34df394ccc3dc00b081e9 -#: 5484eed76be34057b3a96a74aaba9c07 5d2b13c8ecc64824b305662918c888e2 -#: 62a313600099453db6f95a5916a6d814 63c15c96746c4c8cac2dec6e61c172bc -#: 6566b8ce31984785af04b10f5f02df5a 7208ca8bea094e71bc8c8548b4393c4d -#: 753b652cbb8047d08e9301b1aea8fc37 77051ec9518d4c7097daaac9f1031d24 -#: 78fb87c21f8b4cdd9484163c57eddc02 7a9210aedc454de6b58a460e1a0d7063 -#: 7aa1576416bb4532828f561183c8afcf 80b4e62186534aa18ef02c71a75eaa54 -#: 80d14de2456e4eb2b1a1154be1d22cc1 8dd5ac681cd04e2c95e382cc9504e9d1 -#: 963e18da01b64884a80676f7aeb2b47d 982e913d33024d89bd2c7792c90239f2 -#: 9aa678a5cd724da4b18c060eac455737 9e4ae2490f4d4d399e8a38ffc1fee6ce -#: a0b8dd4c4bbc4dac9f3da5d4a0243268 a203781ac4724d618e1f968aef8f2eb6 -#: a268c04c88084b3dad9476a6b0f23d67 a80cbaba70314db1be439fa3b1c5ed72 -#: b1988a4ea19d48deb2298df88f1d7ac9 b4abf439a52546918568aaee5c973e89 -#: b8f434895eb045edbfbecfc76a23552c c3f8edb18a9a4e20993d4df23aec9e45 -#: c874bddccf3d49ebbc8f3227a0602299 cd9b916739ad48418b8f9ea2ae5803c4 -#: cf53cc2a9da2475a83fca115a76a79cc d106c1ca57a14b34b4e241d3ec8a3cdb -#: d3289dc553454ecd955ca77e643ebfff d4541caaaf1646d6a60ebc742ef18f62 -#: da1beef8b1c34e868131a32b2406f63e db1ba6d0f06f4842a301775af1ed59d0 -#: e53b03acdf234bb7b8ab6a0eb5c1287f e80b196d87114d2abe4d39c3c38f3476 -#: e9f44ff2744840a5acae4b49995bc93c ef9d829271ab404aa25fae5fb240d84d -#: f807afe168014a17ac6ca6cd172501b3 ff47f17b597e444daf0bf384f66221eb +#: ../../main/micropython/builtins.rst 0032cd7633084783af15220f1c5e7655 +#: 05761e1d549042db98d25175b1cb3fa6 068955a70acc416aac033ff98b6b639a +#: 07e0f61b94464b51a785a23b4971f60f 0d09abecaae749e3b801816efa88b7b8 +#: 0d7bdccef34341248611a71d07eb5dc1 105e5818cad44ff5bd40caf2d2376e9b +#: 129f4e8383a7409a86078f59870497e7 1c14d35ae07d48a7aa00110aef1adbcd +#: 1d38eeddb10a4b25ac60b186712f69ab 1fb3b2937cdc425994c3ff23182e537b +#: 2317b78f086a4684a47f13a19452faca 23f1b732a16e48a78e0d9c8226c57eed +#: 2d96f6a5e7274e0ab77abb08eb42c996 329e27da504644dbacbcc857e6d1e727 +#: 3b5c770171284184babb38ad654761e5 3b6e683708084199bc90227551bba903 +#: 3f13cdbf3c5347cc9becd4ed52785198 4244cab5166a40988e3b4b0a11d2d082 +#: 42e7be82c5994af58942a1b01656b349 439e2e01fa364321a2666ebc98f36da1 +#: 444da2c39e184ccdb53dab6dfbfd2913 48dba44be13d4d618ad33e2e1dd238b6 +#: 5eb37e7ac4f44315be887b220adcc32f 64fac46f98234171b96ff1d4722e2494 +#: 65b1a9cb438d4bddab8eb192b45c79b3 6d16ce3aca8842029253b99729d5324d +#: 78273395739b4a82bd65d7d5a3a26a72 87dc207ff7c74ba6a943da646b739105 +#: 89b7367b3db24d059872a54fc4a525df 8ab706991a974bda9ecd5db612eec42c +#: 977e1c68d13b4cb1a62dfed0fc64e04d 99860fbfd21049e5b10484542fe4dbc9 +#: 9a6ac4124e614eea840460ffd93a5143 9c5c007256024fceaff7a0a7d76180b7 +#: a26baf8c42044d8286c9aba34e1b4357 a3353e5eca264218af72d5dc2bfbf65f +#: a3b297206dfb4191ae31bab73349877f a427bb58f6c64a718915c224606ad6b3 +#: abbe2fb74e1a45d39573dd6df96b0daa b513cb9d91b44fb6beaa75cb4330cf52 +#: b8991d5abfa445f0943d71be3ff56e5e dc976e54dd3b4a028871ef3b92618c40 +#: dcb862101eca4790998d5da3672906fc e4a2ed9fb7dc4128882d2217583af772 +#: e8443a60d2d344088edd385bfdbc7516 e9ade5a9bfef4a74af14fece569f3160 +#: ebfa200597a04c3ebaf34b84f81368a1 f495f1f195ed4d919ac70b1ae0b864b4 +#: f736fbdd49514d519384bc06a6a95364 fa987c17a1d5433184f4de2c5798b522 +#: fba3a1db18a6487aaa0d72de3647b131 fbfa10544eef401bb69f44b89b32bfe2 +#: fd2f21def26d42f29a75cdcab77243e5 ffbf4c5e275645748465398bcd27e631 msgid "Parameters" msgstr "" -#: 687e1fe888b84ca1ac0eb8919dbc1010 of ubuiltins.input:7 +#: c857480dcbdf492681b62d26098ba8dd of ubuiltins.input:7 msgid "" "If given, this is printed in the terminal window first. This can be used " "to ask a question so the user knows what to type." msgstr "" -#: ../../main/micropython/builtins.rst 03ed9b549e674f8b830b5688c929bee4 -#: 0935a7421438452d9ff2783afeee0d9d 130a45f1c1784187b619fa3cb9aa450a -#: 14ada215ef0b4d14bfb486eb79fdd83e 1ca5ccdd3f0540afbc63a27b9069ffb5 -#: 287ae187cecc4e48807a171c879fd8cf 316c48e0bd9e4a0ead3bb1ebbbad5ecc -#: 34db986bb0f04361a83fcfdd8d69a76b 3746a091ca83417c99d322779fae97a0 -#: 3769fd0899e4436384b74ac219c8353f 3b7bb45febcb40439111b580be42c7c4 -#: 4c3fd1d713c7448daf2d0acbb72d67f2 4fa97816ade545cfa3c7fa4383cbaeb5 -#: 502a2296841a4f1ca22d185faae172d5 56d4dae7c68d46d9bc99ae90d9bed392 -#: 5d6458b426234c56bb2a89c02a3ccaa7 69f7824c670845f6b53b396111570b96 -#: 757336b9d9a948fba657c9ae7fc2fdc1 7ba140c7381d47249a00fa33498f90fa -#: 82f6ce832c0a43be9b98223c98cde3e7 84918014efde4d72ad89b1458b8aee2a -#: 87d38b1e9ab44810a309c585cc498cb7 9d555585055e4358bc93fe58730cc43b -#: a2d267efba5a422a802ad04c027a1687 a38a1e2500b64ca7bb76854969192e21 -#: a8748292772d4fb287ad982b94a13b6a aae1d60298554e56aded9177524a9909 -#: abe622c5de3845f6bf8ef53fa357bd4c ac25172d6f814cb28678d81bb8a1ccf5 -#: ace0d8adf9c04ccbae89c8d094de2600 ae74ae20a9ae4bb787d9dbb0b6e5f2ab -#: b63e7666761a48a8885ea34f866b83ac b6a1433356034781b36785bb244dcacd -#: b893aaf749e04283a9c47e314378cd57 b8b2ae46ceed4d61a645eeec53d73f57 -#: bef1d8d179b14e8d8107c768a6ba90f0 c6a2d9a38ebd49baabd98ba70c0c1674 -#: c7c0e3eda69b446bb896f50c5304cd77 d038a8afb42041e8ac8f2dc7fbea9a4b -#: d7c8bfd301274d8a97defb3f544e767b d7fef30b013e42c09331291ace05fba3 -#: e78c1e4730f64f0dbde39fda02968048 f2dc42c6a8c048df8e59586c04dfd3b0 -#: f6e2010a64844a22bc795b36fbca9850 f70604514ded4f279832cc512a82f56f -#: fb3437eaa6af4267b112c2f4f546cc44 +#: ../../main/micropython/builtins.rst 0d14bba07cfd4bbfa2be46121200a8c6 +#: 1c8852ebadea427d9841ad1048a84fca 1cbf9375af3c4c819bbb436f3e394a37 +#: 1cd20df2f3404abe85c3d44879636a09 2a5a2322b6694e2f951e13d1ffb24b4b +#: 2ab0729f7a32412ca7cc23741092e6e2 41bc6bba7cb14ca08bc3f3c2ddc35099 +#: 4cafcb744fa5490289672e572965efc5 4cb5cbf2008b4df2ba1a09d0960293b4 +#: 51f2196ea70142ee9b03c3a738d2346a 5599afeb84d7406db44f1a91f72ba730 +#: 67e4e084ba9a43b49c77693019f75f96 6d33a3aad9f24829abea3a59d0dbca87 +#: 73b2b4dbcb814f02a4332cc23706226a 759aa1ef121043e2b8acc13277ea3310 +#: 8105b922bd12477cbbf4f893da92a8df 87eb486faa854651a40eb246b3adc36b +#: 8a3394342c8345b393f2fe0630341d30 8a6f8a54badb4fa788ea368d908f20f1 +#: 8b3e86026b424dcb9446e35b482631db 8dc3b7439bb44f5a95adbf5090414078 +#: 90ac209813a44209baba78b80dda2c41 919e90870b7d442eb4bc79393dbbcf11 +#: 9271d39a71d24e479b51c449ec0e93d8 92942eb929fe46adbda495a1ba37fb6b +#: 942f134b66cc4cb991320fa65904e851 95ecf2754a70491e8c1c2ea5a1e61d7c +#: 9e759ea05cb54e83b2e84c8dcb1a1424 a1a53826a8c9495c8c3c6a2e8882370f +#: a3e8e25c1f0f4e3884d3b5b5304c2b48 a58fb67180074ab9a8408ca739fa6b04 +#: a6b83ee161da4349842266082a463587 a7f97f98fadb442290326d2e7e6159dc +#: b7fb80e5adef4693bfb1eb913763054c b83cfbf7691c4fa4b7d2e650579376c3 +#: c3888b60c4f44b84938bbb00ee882df6 c54b990bad9341b6ba29e3758eff711d +#: c9ddb3c90bac451cbb1f65a9ca0ad9a8 cbced59fd7f7462980776cfbcf7aa7dc +#: de27e0059b1c4f8283e1d986a1174beb e3345b151baf449688fe2bdbf5433dfd +#: e51fe10b0c744f668432cc8f68fbc720 e7e10117171e49e9b668978f22ed8bd8 +#: e8331064e3e443eb8adfd23229889884 e9056599a5bc46b6a541c522821ceb2b +#: ee0351e3bf3a4fdcaa39c1fcf191017a msgid "Returns" msgstr "" -#: 02c2d8d370dd4cb7a590c8db58b474e3 of ubuiltins.input:11 +#: 5508e37e96af4dcba04a0c5f4efc2c4f of ubuiltins.input:11 msgid "Everything the user typed before pressing :kbd:`Enter`." msgstr "" -#: ../../main/micropython/builtins.rst:16 48ad70213b954e9cb2baaeb82af33e70 +#: ../../main/micropython/builtins.rst:16 13b043b6617e4d9c98e81deea9dd4d52 msgid ".. image:: /blockimg/pybricks_blockPrint_print_basic.svg" msgstr "" -#: ../../main/micropython/builtins.rst:18 b3c0b5d399ec46f5b789c96359480c03 +#: ../../main/micropython/builtins.rst:18 83fe0a5952dd4838be60302440d3d3d8 msgid ".. image:: /blockimg/pybricks_blockPrint_print_multiple.svg" msgstr "" -#: 8e0fcc096a7d4cd5965f5cc4f941f4f0 of ubuiltins.print:1 +#: eecc16fe2edd4b469e48e423e277c622 of ubuiltins.print:1 msgid "print(*objects, sep=\" \", end=\"\\n\", file=usys.stdin)" msgstr "" -#: 7f73ced025464b3882125ee7eb1d40b0 of ubuiltins.print:3 +#: 10aa36acb60a467e9cce14d50d042449 of ubuiltins.print:3 msgid "Prints text or other objects in the terminal window." msgstr "" -#: e7d24f9c70e54f3ab5e3ed7dd8ebb1ae of ubuiltins.print:5 +#: 025a74922f1f4517ba83f5734398d950 of ubuiltins.print:5 msgid "Zero or more objects to print." msgstr "" -#: ../../main/micropython/builtins.rst 6ead053d2ae6461f85492acedc6e1ea0 +#: ../../main/micropython/builtins.rst a8433fabf12244789b7028904983900f msgid "Keyword Arguments" msgstr "" -#: d43a5d96288e49ef9f02fcbfc2f4e2bc of ubuiltins.print:7 +#: 2b39916a213f4158b63bb03ecd0773fc of ubuiltins.print:7 msgid "This is printed between objects, if there is more than one." msgstr "" -#: 6ae54732958f469c82538e43f212ddb6 of ubuiltins.print:9 +#: bc55a96398d740db96d6510a317be4fc of ubuiltins.print:9 msgid "This is printed after the last object." msgstr "" -#: fb9bdd4c539d460782f0ac4939df89a3 of ubuiltins.print:11 +#: 001db2ff5fdc43e4a9d12faa9e40a8cb of ubuiltins.print:11 msgid "" "By default, the result is printed in the terminal window. This argument " "lets you print it to a file instead, if files are supported." msgstr "" -#: ../../main/micropython/builtins.rst:23 7de845d6f5f54e6bb30a9d6cdc863c63 +#: ../../main/micropython/builtins.rst:23 ba2673c80f2440198a7a8a1b61a17133 msgid "Basic types" msgstr "" -#: ../../main/micropython/builtins.rst:27 f0f0a75253424c1abcdeb1cf61c997e1 +#: ../../main/micropython/builtins.rst:27 be306e59ca6441c689499898c1b982f7 msgid ".. image:: /blockimg/pybricks_blockLogicTrueFalse_false.svg" msgstr "" -#: ../../main/micropython/builtins.rst:29 81c029d38832444483b9bf467626ae36 +#: ../../main/micropython/builtins.rst:29 861909bce46b42a6bfb8c6e77c2a8ec0 msgid ".. image:: /blockimg/pybricks_blockLogicTrueFalse_true.svg" msgstr "" -#: 204a516d758e4894afb5b6f3645cd0b1 of ubuiltins.bool:1 +#: be7212ddcef34312879ec605ddef61db of ubuiltins.bool:1 msgid "Creates a boolean value, which is either ``True`` or ``False``." msgstr "" -#: 463585771f0d487985b3dcf51ff21c83 of ubuiltins.bool:3 +#: c76ca10fa6e94ad78b6466abf1112b6c of ubuiltins.bool:3 msgid "" "The input value is converted using the standard truth testing procedure. " "If no input is given, it is assumed to be ``False``." msgstr "" -#: 4c8cdc27d8804b8db4a1fc89974f2af3 7122dfe7be5e4a5cb23c9cf1e1c0b374 -#: cad451dd63d54b94a770b45dc81d5483 f8ba0231b0f44421b9c4b3bc441fd992 of +#: 62160e6dee4b4b1dbc5519de4f2702f2 71a59394f7e542258364f95b6e349753 +#: 8f52e7de71bd4530a0966559871f0dd7 d411ce5185584df5b98a9e7e1b5d8ecf of #: ubuiltins.bin:5 ubuiltins.bool:6 ubuiltins.hex:5 ubuiltins.oct:5 msgid "Value to be converted." msgstr "" -#: 77e813b776684f469760991d93d2b93f of ubuiltins.bool:8 +#: fed1bf1c88e6413eb624da53190d46b6 of ubuiltins.bool:8 msgid "Result of the truth-test." msgstr "" -#: 6d6bd4a7aabe4093ab89000406726aeb of ubuiltins.complex:1 +#: 97c7496ea1454345941b0ee98bc17e47 of ubuiltins.complex:1 msgid "Creates a complex number from a string or from a pair of numbers." msgstr "" -#: 7ab387787bf840aa90e5e98bc371424e of ubuiltins.complex:3 +#: c57d548d709642edaa02888a53199549 of ubuiltins.complex:3 msgid "" "If a string is given, it must be of the form ``'1+2j'``. If a pair of " "numbers is provided, the result is computed as: ``a + b * j``." msgstr "" -#: 6a4489610d30499b9f40ea74721407c4 of ubuiltins.complex:7 +#: c973cb9fc55944558b7ddecb695d5907 of ubuiltins.complex:7 msgid "A string of the form ``'1+2j'`` ." msgstr "" -#: 1ed12ed8bb4241c3926a4ef77d44b209 bfa326fc1cb44e5aab0c954c1b3bde83 of +#: 29a28fbcd6f54a5eb6bed2967c691048 2aa571271a58462ca6ef7353f9ad8b0f of #: ubuiltins.complex:9 ubuiltins.complex:11 msgid "A real-valued or complex number." msgstr "" -#: 42cd1a176247467eb33b0189816180fc of ubuiltins.complex:14 +#: ab056d7d5466462ca1e3545826791942 of ubuiltins.complex:14 msgid "The resulting complex number." msgstr "" -#: b7cf8336bfc04d1aa4705ac50bfdec3c of ubuiltins.dict:1 +#: 5767052135c94cb98e281711dc6de07f of ubuiltins.dict:1 msgid "Creates a dictionary object." msgstr "" -#: 13c43e04654840fba3f64dd1a8f95f13 of ubuiltins.dict:3 +#: 194985363a52429c9e00aee5b5cd4390 of ubuiltins.dict:3 msgid "" "See the standard `Python documentation " "`_ " "for a comprehensive reference with examples." msgstr "" -#: 7bbbbee2e6a64e65bc54098b9440de4f of ubuiltins.float:1 +#: ccf99747e2cf4a11ae1d716e3a02293f of ubuiltins.float:1 msgid "Creates a floating point number from a given object." msgstr "" -#: a09b9a7cf62042458d9190a6d85da939 of ubuiltins.float:3 +#: 89950e94f2b34bc89f4084a0cd3cb069 of ubuiltins.float:3 msgid "Number or string to be converted." msgstr "" -#: a7db6b1b684e4e699317f98c6848b6f6 of ubuiltins.int:1 +#: c1bf81c38c5749eab1c66b7224d98ea7 of ubuiltins.int:1 msgid "Creates an integer." msgstr "" -#: 3ad58a348c8e432a9a36fcc38472357b 78be22492744410d9a4b9727352ac431 of +#: 3d389cd4e6a340bf81b53aacb37e3454 8f29e3395f424ba8b5414f5af272fca2 of #: ubuiltins.int:3 ubuiltins.repr:3 msgid "Object to be converted." msgstr "" -#: e51c93a4947a4eb5af81f7fda5dc7ed0 of ubuiltins.int.to_bytes:1 +#: 19b282c6989e454984347d597cce3740 of ubuiltins.int.to_bytes:1 msgid "Get a :class:`bytes` representation of the integer." msgstr "" -#: d0682e3b6c7c4585a383085771c98c27 of ubuiltins.int.to_bytes:3 +#: a2ea8948121145b4a0d39a881da47cb7 of ubuiltins.int.to_bytes:3 msgid "How many bytes to use." msgstr "" -#: a9ae4a825c6444d3905ae63a237e1d74 of ubuiltins.int.to_bytes:5 +#: ed13f87c473e4bfa8228a63f25ca5aa1 of ubuiltins.int.to_bytes:5 msgid "" "Choose ``\"big\"`` to put the most significant byte first. Choose " "``\"little\"`` to put the least significant byte first." msgstr "" -#: ae0887f4552f4590abc4cc6f30f2d82e of ubuiltins.int.to_bytes:10 +#: a51cc4de0f7c4519a2ce534064a6af8f of ubuiltins.int.to_bytes:10 msgid "Byte sequence that represents the integer." msgstr "" -#: 0a9f519c555f4d31ba0d6663b816f23c of ubuiltins.int.from_bytes:1 +#: 828d9e3be738424683e2b45520cb9fce of ubuiltins.int.from_bytes:1 msgid "Convert a byte sequence to the number it represents." msgstr "" -#: 27dc9efaf258475997f7c56e408ae263 of ubuiltins.int.from_bytes:3 +#: ddc46a667e454d46b09d072c92d78d45 of ubuiltins.int.from_bytes:3 msgid "The bytes to convert." msgstr "" -#: d89eeb20c83c4494bfb6dec39645aa86 of ubuiltins.int.from_bytes:5 +#: 6a1aceffffde4a2bb4939ccca87807b6 of ubuiltins.int.from_bytes:5 msgid "" "Choose ``\"big\"`` if the most significant byte is the first element. " "Choose ``\"little\"`` if the least significant byte is the first element." msgstr "" -#: 2b2fccd983ea4e198974d36cc537ee72 of ubuiltins.int.from_bytes:10 +#: 5da48aa11abb4ed2a2fed34306c94e7c of ubuiltins.int.from_bytes:10 msgid "The number represented by the bytes." msgstr "" -#: 9847a6e46892457aacce3006d4287126 of ubuiltins.object:1 +#: 5097e2f40ef045ebb798c5c8ee816c3b of ubuiltins.object:1 msgid "Creates a new, featureless object." msgstr "" -#: b41978b611ee44e0a906ba6bfe901dc3 of ubuiltins.type:1 +#: c0224fdb124640f79b352bd0711d3fc4 of ubuiltins.type:1 msgid "" "Gets the type of an object. This can be used to check if an object is an " "instance of a particular class." msgstr "" -#: a3988299ba12487eb7307cf859fefadf of ubuiltins.type:4 +#: 9761da41a27b49cb80d74f1eadefdde1 of ubuiltins.type:4 msgid "Object of which to check the type." msgstr "" -#: ../../main/micropython/builtins.rst:63 da300c3abf79483aad382a8b17a47048 +#: ../../main/micropython/builtins.rst:63 3060a36229674180843065afcb95caf8 msgid "Sequences" msgstr "" -#: efb9abde8a3e40cabed69a17cf911f90 of ubuiltins.bytearray:1 +#: 5e92514239494f56894ab61ad72600e7 of ubuiltins.bytearray:1 msgid "" "Creates a new ``bytearray`` object, which is a sequence of integers in " "the range :math:`0 \\leq x \\leq 255`. This object is *mutable*, which " "means that you *can* change its contents after you create it." msgstr "" -#: 95509a686a544d90a6348f5f83c3fbc1 of ubuiltins.bytearray:5 +#: 94cf302514f54363bca9dd99f4bf5c94 of ubuiltins.bytearray:5 msgid "If no argument is given, this creates an empty ``bytearray`` object." msgstr "" -#: 1dc60154ead2403aad61e52105cf13c6 of ubuiltins.bytearray:7 +#: f24f11b798d84c3690a2c35a83c852d2 of ubuiltins.bytearray:7 msgid "" "If the argument is a single integer, this creates a ``bytearray`` object " "of zeros. The argument specifies how many." msgstr "" -#: 0dff25e5e1fb4ede828ca2a4894f5005 of ubuiltins.bytearray:10 +#: beea9cfc47714beb96164587ad5cbd61 of ubuiltins.bytearray:10 msgid "" "If the argument is a ``bytearray``, ``bytes`` object, or some other " "iterable of integers, this creates a ``bytearray`` object with the same " "byte sequence as the argument." msgstr "" -#: adf5651a2a5845b6ae7b56e8883378a0 of ubuiltins.bytearray:14 +#: ab83dcb78d4f41aebe96a76e15835847 of ubuiltins.bytearray:14 msgid "" "If the argument is a string, this creates a ``bytearray`` object " "containing the encoded string." msgstr "" -#: 4922495975dc49298b660f8e2c639ba0 of ubuiltins.bytes:1 +#: e623099bc36944ec9946aa865aad0372 of ubuiltins.bytes:1 msgid "" "Creates a new ``bytes`` object, which is a sequence of integers in the " "range :math:`0 \\leq x \\leq 255`. This object is *immutable*, which " "means that you *cannot* change its contents after you create it." msgstr "" -#: bd7545c95d2c40718411295adcedd4f5 of ubuiltins.bytes:5 +#: 8b9d5bb4626445dea0ba89179f188ce0 of ubuiltins.bytes:5 msgid "If no argument is given, this creates an empty ``bytes`` object." msgstr "" -#: bc592cc99a23468d8274c216031a4582 of ubuiltins.bytes:7 +#: 6b6d67fc02304c358e2a0b4b6d4640e0 of ubuiltins.bytes:7 msgid "" "If the argument is a single integer, this creates a ``bytes`` object of " "zeros. The argument specifies how many." msgstr "" -#: 218598bcf8f542b9b6cdfafed8d6ecf2 of ubuiltins.bytes:10 +#: a7f1775997ad4edcaad98d0814461432 of ubuiltins.bytes:10 msgid "" "If the argument is a ``bytearray``, ``bytes`` object, or some other " "iterable of integers, this creates a ``bytes`` object with the same byte " "sequence as the argument." msgstr "" -#: 2431a031208444dbab6330161a2656f4 of ubuiltins.bytes:14 +#: dd33da92dd104d29a9df94a807a9ac8e of ubuiltins.bytes:14 msgid "" "If the argument is a string, this creates a ``bytes`` object containing " "the encoded string." msgstr "" -#: 47c6278496f24ac6bb1bfa1168b3cb04 of ubuiltins.bytes:17 +#: 8b33c386732e4afdaf30311be30b31a6 of ubuiltins.bytes:17 msgid "" "Specifies which encoding to use for the ``string`` argument. Only " "``\"utf-8\"`` is supported." msgstr "" -#: ../../main/micropython/builtins.rst:75 cfc4b740999549edbffd51c3e8d6e513 +#: ../../main/micropython/builtins.rst:75 1b0d93bdca1847c5aa45249b94d1145e msgid ".. image:: /blockimg/pybricks_blockListLength.svg" msgstr "" -#: 25f09c52a7d747a9a4af78b386bfdb4a of ubuiltins.len:1 +#: c757957f6335405fbfe35f0d4fdd3c9f of ubuiltins.len:1 msgid "Gets the length (the number of items) of an object." msgstr "" -#: b9a30edb319b4fa2b1b93f37d636dcb7 of ubuiltins.len:3 +#: 885b11b3b3ed43d19070b5dc3b20d237 of ubuiltins.len:3 msgid "The sequence of which to get the length." msgstr "" -#: 1b9fbe2eef9c44f18bec8ee13bdd5d32 of ubuiltins.len:6 +#: 1d9c8c8c1d624cbba8512dccde451501 of ubuiltins.len:6 msgid "The length." msgstr "" -#: ../../main/micropython/builtins.rst:81 f3d4d6628bc7492e8bd6cb15bdfafbc3 +#: ../../main/micropython/builtins.rst:81 2ee3e7f9955145fc9a0d5736524b7fad msgid ".. image:: /blockimg/pybricks_blockListCreate_list_empty.svg" msgstr "" -#: ../../main/micropython/builtins.rst:84 cd85640f24ec4b9d840406f250f0ec7e +#: ../../main/micropython/builtins.rst:84 fc0869354abd473d982754dd98c8cb22 msgid ".. image:: /blockimg/pybricks_blockListCreate_list_3.svg" msgstr "" -#: ../../main/micropython/builtins.rst:87 92f56bae52bb4e67937ee02f143d1c07 +#: ../../main/micropython/builtins.rst:87 184f1572e9534b6bbed2e373f8acf231 msgid ".. image:: /blockimg/pybricks_blockListUnpack.svg" msgstr "" -#: ../../main/micropython/builtins.rst:90 4cfe77ea0734477ab7f17addb4346cd3 +#: ../../main/micropython/builtins.rst:90 042393de86f84d31a6e61883ba5f1e23 msgid ".. image:: /blockimg/pybricks_blockListGet_list_get_first.svg" msgstr "" -#: ../../main/micropython/builtins.rst:93 df224935c7df45beb0e6284303298384 +#: ../../main/micropython/builtins.rst:93 ce1e57fd9fa943de827d971fcf1ab466 msgid ".. image:: /blockimg/pybricks_blockListGet_list_get_index.svg" msgstr "" -#: ../../main/micropython/builtins.rst:96 1dcc5a4e1c9b4f82872b45a63b2c14bd +#: ../../main/micropython/builtins.rst:96 48d19dd87c44492995737652e88a273d msgid ".. image:: /blockimg/pybricks_blockListGet_list_get_last.svg" msgstr "" -#: ../../main/micropython/builtins.rst:99 8524aeeab16e440ea9897f960d3cbc9e +#: ../../main/micropython/builtins.rst:99 2dde0c87dc454c01a9f226d9a58b1d6d msgid ".. image:: /blockimg/pybricks_blockListGet_list_get_random.svg" msgstr "" -#: ../../main/micropython/builtins.rst:102 0a2e4d4687b04390b6ec99fc1f0070dd +#: ../../main/micropython/builtins.rst:102 57c459973c1441a99bd86444b0ccff69 msgid ".. image:: /blockimg/pybricks_blockListSet_list_insert_first.svg" msgstr "" -#: ../../main/micropython/builtins.rst:105 ce94de4fb23747d1928aa08f7556c5eb +#: ../../main/micropython/builtins.rst:105 32fe5302b2e64432b575703a8e112f85 msgid ".. image:: /blockimg/pybricks_blockListSet_list_insert_index.svg" msgstr "" -#: ../../main/micropython/builtins.rst:108 2dfbbb64fe0a47c28eb0f6d58047c26f +#: ../../main/micropython/builtins.rst:108 f3f8088a9ec2494ea8b0456288b4d221 msgid ".. image:: /blockimg/pybricks_blockListSet_list_insert_last.svg" msgstr "" -#: ../../main/micropython/builtins.rst:111 1b34b0a87d854bd5b1a310a4bda6eaa0 +#: ../../main/micropython/builtins.rst:111 923c4cd7d2f6434894425e6dfc1b8c72 msgid ".. image:: /blockimg/pybricks_blockListSet_list_remove_first.svg" msgstr "" -#: ../../main/micropython/builtins.rst:114 a85187f5dd81483783f621cfdef45f7d +#: ../../main/micropython/builtins.rst:114 ae58efcbb70e44999722c108c7750033 msgid ".. image:: /blockimg/pybricks_blockListSet_list_remove_index.svg" msgstr "" -#: ../../main/micropython/builtins.rst:117 b26184a0c6be4ee3a8b309d7bc10ca14 +#: ../../main/micropython/builtins.rst:117 8672a3fcbc19479d88378009a539f69e msgid ".. image:: /blockimg/pybricks_blockListSet_list_remove_last.svg" msgstr "" -#: ../../main/micropython/builtins.rst:120 55b76be9582146f189008b3d7ee97da6 +#: ../../main/micropython/builtins.rst:120 da894e977534477993b5a366fca1ed28 msgid ".. image:: /blockimg/pybricks_blockListSet_list_set_first.svg" msgstr "" -#: ../../main/micropython/builtins.rst:123 03cc129d069a4045bd2ca139961cf88a +#: ../../main/micropython/builtins.rst:123 cfc1ccd594b54ec78031522e949c9036 msgid ".. image:: /blockimg/pybricks_blockListSet_list_set_index.svg" msgstr "" -#: ../../main/micropython/builtins.rst:126 900b25a2c2dd47a4971ff435b716cb3e +#: ../../main/micropython/builtins.rst:126 aae0a365445047338dd8400678033440 msgid ".. image:: /blockimg/pybricks_blockListSet_list_set_last.svg" msgstr "" -#: 21d81f744226411f9a9609983d3f9910 of ubuiltins.list:1 +#: a3898470235a4dd486143ad1150f95a6 of ubuiltins.list:1 msgid "" "Creates a new list. If no argument is given, this creates an empty " "``list`` object." msgstr "" -#: cc30ffeb6fe54ff5bf99db28238449f5 of ubuiltins.list:4 +#: 279a544c9b034fa1831ba382784a00a9 of ubuiltins.list:4 msgid "" "A list is *mutable*, which means that you *can* change its contents after" " you create it." msgstr "" -#: 08bede73e7b14eeb840e683e3ebbaf3e of ubuiltins.list:7 +#: 7a2ffb0602cd4310ab5999212696f060 of ubuiltins.list:7 msgid "Iterable from which to build the list." msgstr "" -#: 5d1f7c832729409db3db11cc2230988b of ubuiltins.set:1 +#: 226faa89ba554c7e865a269c8f384659 of ubuiltins.set:1 msgid "Creates a new set." msgstr "" -#: f6457e1e58bf4220847d89c78fa21122 of ubuiltins.set:3 +#: 89cc5e7b64174d8ebc905159f374d1b6 of ubuiltins.set:3 msgid "" "With no arguments, creates a new empty set, otherwise creates a set " "containing unique items of *iterable*." msgstr "" -#: 409ef67b15f94528a516470613c153b4 of ubuiltins.set:6 +#: c8ad69c1ce0e4c3ab595474e4d32a2d4 of ubuiltins.set:6 msgid "Sets can also be created using a set literal::" msgstr "" -#: 4960675c45a144b2aa08a5d4c4582a36 of ubuiltins.set:8 -msgid "my_set = {1, 2, 3}" -msgstr "" - -#: 1fb7d9e44cb546ed82868844da607403 of ubuiltins.set:10 +#: 54f611774e4247a2adb6ba9e92affd8b of ubuiltins.set:10 msgid "" "Elements of a set must be hashable. There are only a few types, like " ":class:`list` that aren't hashable." msgstr "" -#: 1031a3ae8ab54c86a693f28fd838bb68 of ubuiltins.set:13 +#: 6bb0fb52c8954668ab31573cf7d69228 of ubuiltins.set:13 msgid "An iterable of hashable objects." msgstr "" -#: 671ffdb644bb46f5b1de71b43fe9f004 of ubuiltins.set.copy:1 +#: 4b31a0cd0ecf4d1fa6834dd6abd8d015 of ubuiltins.set.copy:1 msgid "Returns a shallow copy of the set." msgstr "" -#: 6d81610e639c4ede817c62ddc996abf9 725100f51b0e4d6b82592c0325275a4d -#: aab0b4f65ba54910a0dc03c8b6f2d764 aef51f30d5f14ccdb3201034eb10bb27 -#: b40c68618c78402dab4d70e805608b69 of ubuiltins.set.copy:3 +#: 0039b103366347ec836bdc1bc80e3e43 3e488758f2b64be990a7fb24a4448723 +#: 9bc55d99b6694c64845ae144712c423f d445788da70247acb87d744ffcbf3caf +#: ee49e7d8168c43b69379c67fa62e7194 of ubuiltins.set.copy:3 #: ubuiltins.set.difference:9 ubuiltins.set.intersection:10 #: ubuiltins.set.symmetric_difference:9 ubuiltins.set.union:9 msgid "A new set." msgstr "" -#: 3800c3ac82c94b07ba48b960305aedcd of ubuiltins.set.difference:1 +#: f944048adc7e4dcea298bf1312ddae05 of ubuiltins.set.difference:1 msgid "Returns a new set with elements that are not in any of the other sets." msgstr "" -#: 93dbc160381e46d596359e1a3b40a6e7 of ubuiltins.set.difference:3 +#: e2ffb6803e1c475aae78778ddf596cdf of ubuiltins.set.difference:3 msgid "The difference can also be computed using the ``-`` operator::" msgstr "" -#: d6b4fcc8faa74445888199aa83bf9f45 of ubuiltins.set.difference:5 -msgid "diff = s - other" -msgstr "" - -#: 516116608dbe484795d2c0a1b47507af 64ed9263a54d4fa7bec951d8a5ea37a0 -#: e1a8797c8bd14eab866f06b1538ee468 of ubuiltins.set.difference:7 +#: 14087d44b6854809ba3a56659b37d04f 5504f0d94ec4407583448ec729d951b0 +#: 8474846cbb9f43c49894ade66bf4654b of ubuiltins.set.difference:7 #: ubuiltins.set.intersection:8 ubuiltins.set.union:7 msgid "1 or more other sets." msgstr "" -#: 754841bb9c35414e83ae79e110cb819c of ubuiltins.set.intersection:1 +#: 50d24d916586486db7ec1f0e82cb6e2c of ubuiltins.set.intersection:1 msgid "" "Returns a new set with elements that are common between this set and all " "other sets." msgstr "" -#: 124c9575ad114abaa85ecd182a80891f of ubuiltins.set.intersection:4 +#: d6091c2a9db9486fb520d91b142b7650 of ubuiltins.set.intersection:4 msgid "The intersection can also be computed using the ``&`` operator::" msgstr "" -#: 10ec83b4903743c6b78852682f29865d of ubuiltins.set.intersection:6 -msgid "intersect = s & other" -msgstr "" - -#: 718dfd3460db4d2cbb29c4ddda1dcdd1 of ubuiltins.set.isdisjoint:1 +#: 5ec9e6c4aa8f4132b0496854fd00a208 of ubuiltins.set.isdisjoint:1 msgid "Tests if a set and *other* have no elements in common." msgstr "" -#: 364e5c0b210748ae80cbe7c4899f3e5f 89c94b438e6f440fa88c0c772b2b1c0a -#: a758a11a58b8479fb2eb8f4e62973835 aa546f135a05436d99e81a5b7033533b of +#: 1fe28555c359480eb30ebe5d2a7483bf 2a5d3661baa145c39fafe1d190174bb4 +#: 4e53b904420344a2b270d60f308c24a3 8a9daf2624324b818334158c0c390efa of #: ubuiltins.set.isdisjoint:3 ubuiltins.set.issubset:9 #: ubuiltins.set.issuperset:9 ubuiltins.set.symmetric_difference:7 msgid "Another set." msgstr "" -#: 7c5ebb23126c4935b6d9ccbe5cfa4063 of ubuiltins.set.isdisjoint:5 +#: c0d99a1d2acf4fbcb74627cd72337f60 of ubuiltins.set.isdisjoint:5 msgid "" "``True`` if this set has no elements in common with *other*, otherwise " "``False``." msgstr "" -#: c8187579782b4c82b177931d8586ea28 of ubuiltins.set.issubset:1 +#: 520e835b97e944a3940643688b9ae11f of ubuiltins.set.issubset:1 msgid "Tests if a set is a subset of *other*." msgstr "" -#: 76d6b57cc8714388a0b643478e080548 of ubuiltins.set.issubset:3 +#: 6a7284e623cd44d08a044e929876fa5a of ubuiltins.set.issubset:3 msgid "The test can also be performed using using the ``<=`` operator::" msgstr "" -#: 945aac4f12a94ad0bdeb2a8efc5eda6f of ubuiltins.set.issubset:5 -msgid "" -"if s <= other:\n" -" # s is subset of other\n" -" ..." -msgstr "" - -#: f3631e0309d74b69aef3eaea44ef9007 of ubuiltins.set.issubset:11 +#: 146789ad55df4bde98bbd4445f1eb792 of ubuiltins.set.issubset:11 msgid "``True`` if this set is a subset of *other*, otherwise ``False``." msgstr "" -#: 146f5991750d40e4b92024a52e4596a7 of ubuiltins.set.issuperset:1 +#: 641b99de6d5a4851a712bfe0fb7eba7a of ubuiltins.set.issuperset:1 msgid "Tests if a set is a superset of *other*." msgstr "" -#: 8df6ee6cba5a4538a4a651b21332a014 of ubuiltins.set.issuperset:3 +#: 55b2d23a026b445b83650fefdfbec5c8 of ubuiltins.set.issuperset:3 msgid "The test can also be performed using using the ``>=`` operator::" msgstr "" -#: b23a8b243b4f4ccc9378df7bf6323c0d of ubuiltins.set.issuperset:5 -msgid "" -"if s >= other:\n" -" # s is superset of other\n" -" ..." -msgstr "" - -#: f654000474c949b38ee0586985578ce3 of ubuiltins.set.issuperset:11 +#: 8325c2acfbec422a9c90fadb331905f3 of ubuiltins.set.issuperset:11 msgid "``True`` if this set is a superset of *other*, otherwise ``False``." msgstr "" -#: c3e50312e71e40bdab47355deed5a32e of ubuiltins.set.symmetric_difference:1 +#: d6c3fd986fab43c5a7cedce6dde730b3 of ubuiltins.set.symmetric_difference:1 msgid "Returns a new set with elements in one set or the other but not in both." msgstr "" -#: 9342b527803548698cd4196b36cbe953 of ubuiltins.set.symmetric_difference:3 +#: 49513db93dcc4792870f13eecb737ba4 of ubuiltins.set.symmetric_difference:3 msgid "The symmetric difference can also be computed using the ``^`` operator::" msgstr "" -#: fb7c70197dbd4626b6312bfde6ac1f3e of ubuiltins.set.symmetric_difference:5 -msgid "diff = s ^ other" -msgstr "" - -#: f61b5ba6d79e49a194ac349b6e6938c2 of ubuiltins.set.union:1 +#: ed16d456bce64dbf85de679787285b65 of ubuiltins.set.union:1 msgid "Returns a new set with elements from this set and all other sets." msgstr "" -#: 4eb5bce469de418faf6062cfd8085fc9 of ubuiltins.set.union:3 +#: f9ebb0f6a04540bcbe296078a2b448b8 of ubuiltins.set.union:3 msgid "The union can also be computed using the ``|`` operator::" msgstr "" -#: 9b62b447ad864b3e922649d14eb44767 of ubuiltins.set.union:5 -msgid "u = s | other" -msgstr "" - -#: b4c84ce2865646c28f61c5a38dad056a of ubuiltins.slice:1 +#: e1732e91f8234cfe849826902ee3c56c of ubuiltins.slice:1 msgid "Creating instances of this class is not supported." msgstr "" -#: 769b0fefbc2440f487684e382f8056ff of ubuiltins.slice:3 +#: 1527347f231c478e83c18d0670f844cc of ubuiltins.slice:3 msgid "" "Use indexing syntax instead. For example: ``a[start:stop:step]`` or " "``a[start:stop, i]``." msgstr "" -#: ../../main/micropython/builtins.rst:141 2a8f959e5c0e495e8059ac7881cca56f +#: ../../main/micropython/builtins.rst:141 ce64be314baf4d0f83d15fb0c21c0151 msgid ".. image:: /blockimg/pybricks_blockTextLiteral.svg" msgstr "" -#: 78aef3249c3740d4be00dbb8c4746b96 of ubuiltins.str:1 +#: bf14f4fc95b3456bb94be273e9eac2af of ubuiltins.str:1 msgid "Gets the string representation of an object." msgstr "" -#: 8a5c0f93441a40c69c438d0d85241942 of ubuiltins.str:3 +#: ec61420a1eed4307843178bb9221d639 of ubuiltins.str:3 msgid "If no argument is given, this creates an empty ``str`` object." msgstr "" -#: e96cb063d3844eafbe9e8188c907c49d of ubuiltins.str:5 +#: 1505e58f20b648f29a01f0682bc4e055 of ubuiltins.str:5 msgid "" "If only this argument is given, this returns the string representation of" " the object." msgstr "" -#: c1d6a1ad4184402b8172d691994b7093 of ubuiltins.str:7 +#: 894fcf53f3114263b64bb43b361b072c of ubuiltins.str:7 msgid "" "If the first argument is a ``bytearray`` or ``bytes`` object and the " "encoding argument is ``\"utf-8\"``, this will decode the byte data to get" " a string representation." msgstr "" -#: ceec84ecd09d4a59a650fd1f64122a88 of ubuiltins.tuple:1 +#: a5bcceebff204a42a2ac300b56767358 of ubuiltins.tuple:1 msgid "" "Creates a new tuple. If no argument is given, this creates an empty " "``tuple`` object." msgstr "" -#: c9cbb79294ed4535a3aba488127d651e of ubuiltins.tuple:4 +#: 1984a654fcc74c538375756b0785920d of ubuiltins.tuple:4 msgid "" "A tuple is *immutable*, which means that you *cannot* change its contents" " after you create it." msgstr "" -#: ddef1526ef9546e7b6df03d2639739e7 of ubuiltins.tuple:7 +#: 4802451c94144f73831abfe159dd2560 of ubuiltins.tuple:7 msgid "Iterable from which to build the tuple." msgstr "" -#: ../../main/micropython/builtins.rst:150 c757be623df8472bbbf6633eb4a7bec5 +#: ../../main/micropython/builtins.rst:150 ad937f0f7b7b4f2aba5e6c9aabab48de msgid "Iterators" msgstr "" -#: e74ccbbf25954b25b873069bab71c6cc of ubuiltins.all:1 +#: 2cd29c2370464c7780c0091bf596ed6c of ubuiltins.all:1 msgid "Checks if all elements of the iterable are true." msgstr "" -#: 7bf136436c8b442c956887806d2c2add faf73cc670d24776baf928c5939b1a7d of +#: aafc0d9c4d1c47fba1cf3c87cf585008 be57ce64a4b746049df84487ce5f57ba of #: ubuiltins.all:3 ubuiltins.any:3 msgid "Equivalent to::" msgstr "" -#: 764122b61bb94519bf982ba6ab24e3c6 of ubuiltins.all:5 -msgid "" -"def all(x):\n" -" for element in x:\n" -" if not element:\n" -" return False\n" -" return True" -msgstr "" - -#: 61a91b7da74a4eee97a3bebce076b363 a12bc7f35cc349bbaa475edbbd6110b0 of +#: 3115877dd5594b9d856c61bbac9c1fb5 6d2858ef38154283956c72e3af096b8c of #: ubuiltins.all:11 ubuiltins.any:11 msgid "The iterable to be checked." msgstr "" -#: 7e0baf5eda444c75aa5437de647b9350 of ubuiltins.all:14 +#: 158cab70bb5f44bdba05cd7b6dad75f9 of ubuiltins.all:14 msgid "" "``True`` if the iterable ``x`` is empty or if all elements are true. " "Otherwise ``False``." msgstr "" -#: 6b9961a018984c1292e8167aebe6b653 of ubuiltins.any:1 +#: 49dd3651ad16453f8fd7060d93e1efa4 of ubuiltins.any:1 msgid "Checks if at least one elements of the iterable is true." msgstr "" -#: 8f559c7de5b54bc6b45a3257bfe6c1cf of ubuiltins.any:5 -msgid "" -"def any(x):\n" -" for element in x:\n" -" if element:\n" -" return True\n" -" return False" -msgstr "" - -#: 7faf4881991947ad92161d94ab036658 of ubuiltins.any:14 +#: 5cc4a63f951243a997f0bfddb2c70637 of ubuiltins.any:14 msgid "``True`` if at least one element in ``x`` is true. Otherwise ``False``." msgstr "" -#: e703dc52e58c4b9dab7db76193475b5d of ubuiltins.enumerate:1 +#: d9d06df0d39e46bd82c739ab4e3e54bc of ubuiltins.enumerate:1 msgid "Enumerates an existing iterator by adding a numeric index." msgstr "" -#: f68da5ccefe348d69fe66b3030066d33 of ubuiltins.enumerate:3 +#: 5808bc87954f4e38b89e90cee4e3955a of ubuiltins.enumerate:3 msgid "This function is equivalent to::" msgstr "" -#: 370fd57b1a604483b63dc65f4cde0439 of ubuiltins.enumerate:5 -msgid "" -"def enumerate(sequence, start=0):\n" -" n = start\n" -" for elem in sequence:\n" -" yield n, elem\n" -" n += 1" -msgstr "" - -#: b3fef563a0654b2a95b3d5f32c1c6bad of ubuiltins.iter:1 +#: 3154994a86c447fd90504fdd5f6f8f35 of ubuiltins.iter:1 msgid "Gets the iterator of the object if available." msgstr "" -#: 2274feb713614af895bda78514798cdb of ubuiltins.iter:3 +#: 0c8752e03edb473ba150a70846c90ec9 of ubuiltins.iter:3 msgid "Object for which to get the iterator." msgstr "" -#: 6d7e36e989fa43688c16043ebb0c330a of ubuiltins.iter:5 +#: d4fa2d523a6d4a56b51221f7b4ebb379 of ubuiltins.iter:5 msgid "The iterator." msgstr "" -#: 4135ba1990d249d08755419cd207e08f of ubuiltins.map:1 +#: 313c153268fd4bcf9b0e17f4a56a6aed of ubuiltins.map:1 msgid "" "Creates a new iterator that applies the given function to each item in " "the given iterable and yields the results." msgstr "" -#: 0aea4dbf61294444a1f7e2b2e412b68d of ubuiltins.map:4 +#: 6ce599efbcfd4013bdeef2066c183d54 of ubuiltins.map:4 msgid "" "Function that computes a result for one item in the iterable(s). The " "number of arguments to this function must match the number of iterables " "given." msgstr "" -#: 43a3634afee543b2b806a9697456f381 of ubuiltins.map:8 +#: 3b063bb9313d46c7a8ae03c86a095bbb of ubuiltins.map:8 msgid "" "One or more source interables from which to draw data. With multiple " "iterables, the iterator stops when the shortest iterable is exhausted." msgstr "" -#: a4e59fbadb1b4911b6912c8026141d63 of ubuiltins.map:13 +#: 1ca908caaf9e4cb79d4fec13f2aa51b8 of ubuiltins.map:13 msgid "The new, mapped iterator." msgstr "" -#: ea1312ba913948078bf5a734f6a26cbe of ubuiltins.next:1 +#: b371178a8d284d5ab3d27818aab77c0a of ubuiltins.next:1 msgid "" "Retrieves the next item from the iterator by calling its ``__next__()`` " "method." msgstr "" -#: 9f3a50d0b4f7414792bf06f9569b261a of ubuiltins.next:3 +#: 66537a7f7c71485e87d6f0035bf19d94 of ubuiltins.next:3 msgid "Initialized generator object from which to draw the next value." msgstr "" -#: 58252e1659534d758dcf38f1e0748de6 of ubuiltins.next:7 +#: f206d581ac67400eb1ecbc883166738c of ubuiltins.next:7 msgid "The next value from the generator." msgstr "" -#: 4d58fdc12c624b748ff0efb9353a124f of ubuiltins.range:1 +#: e3e5a4119c36479a9de16d8527bda98a of ubuiltins.range:1 msgid "" "Creates a generator that yields values from ``start`` up to ``stop``, " "with increments of ``step``." msgstr "" -#: 859fbaebc9474af2a1f8642681aec95b of ubuiltins.range:4 +#: 1fa891578f614b0f92b5b1dcedf617d8 of ubuiltins.range:4 msgid "Starting value. Defaults to ``0`` if only one argument is given." msgstr "" -#: 108cd25f88104929be7ace064e37d2c8 of ubuiltins.range:6 +#: f6ef5e012b754b4d9525e3cd8cd8f3ff of ubuiltins.range:6 msgid "Endpoint. This value is *not* included." msgstr "" -#: a33dcd208cb04e668d60bcce2e30e6e2 of ubuiltins.range:8 +#: 6737d205e9ba452fb12a9698d8ac33a5 of ubuiltins.range:8 msgid "" "Increment between values. Defaults to ``1`` if only one or two arguments " "are given." msgstr "" -#: 94886e1ac7f74334992622025ec7ea49 of ubuiltins.reversed:1 +#: 39daf6f44d3a450fb05636b793ae07c9 of ubuiltins.reversed:1 msgid "" "Gets an iterator that yields the values from the sequence in the reverse," " if supported." msgstr "" -#: c19b7c353c304949b319ddc319cdfe72 of ubuiltins.reversed:4 +#: 5796f05650dd491fba28542275610aea of ubuiltins.reversed:4 msgid "Sequence from which to draw samples." msgstr "" -#: 156d54d4646d4be9b94d0792f2548f66 of ubuiltins.reversed:6 +#: d3892883b4054391b5b67c312ac01444 of ubuiltins.reversed:6 msgid "" "Iterator that yields values in reverse order, starting with the last " "value." msgstr "" -#: 62536eac93064cb2a0703982faa1233a of ubuiltins.sorted:1 +#: 868b80a1bbdd4442aead605f584f7a85 of ubuiltins.sorted:1 msgid "Sorts objects." msgstr "" -#: c24d391286d040a1af47109d4eb08680 of ubuiltins.sorted:3 +#: bc571bb0fc03492b944f6f08f70ec4f7 of ubuiltins.sorted:3 msgid "" "Objects to be sorted. This can also be a generator that yield a finite " "number of objects." msgstr "" -#: ff151b2111b843d8807b51819166f47c of ubuiltins.sorted:6 +#: 6c8643fc42774c2da60bb4a1cb4325c4 of ubuiltins.sorted:6 msgid "" "Function ``def(item) -> int`` that maps an object to a numerical value. " "This is used to figure out the order of the sorted items." msgstr "" -#: 56f1ecf9543e4217ad62aeac3003bc59 of ubuiltins.sorted:10 +#: 0f3cd1dc2b4345ba92c14acbaf99ba51 of ubuiltins.sorted:10 msgid "Whether to sort in reverse, putting the highest value first." msgstr "" -#: 876fd7e68e4a455db1ce221891add205 of ubuiltins.sorted:14 +#: 245c50ac833c420cbbb3687796757977 of ubuiltins.sorted:14 msgid "A new list with the sorted items." msgstr "" -#: 648ca1b8ad6f41fa9200f3c6f6965f1e of ubuiltins.zip:1 +#: 383595d64afb4780a3e8999a05ac0cd4 of ubuiltins.zip:1 msgid "" "Returns an iterator of tuples, where the *i*-th tuple contains the *i*-th" " element from each of the argument sequences or iterables. The iterator " "stops when the shortest input iterable is exhausted." msgstr "" -#: 33774896b11f44aeb89a43c12f614546 of ubuiltins.zip:5 +#: 10811b3c69e14e4b8efa5b85565090b5 of ubuiltins.zip:5 msgid "" "With a single iterable argument, it returns an iterator of 1-tuples. With" " no arguments, it returns an empty iterator." msgstr "" -#: e6696b1bba4b4f9794b4642eeb4d301c of ubuiltins.zip:8 +#: b2a4fbfbdc3448d68e9a8e5c25ca20c7 of ubuiltins.zip:8 msgid "This functionality is equivalent to::" msgstr "" -#: 1ba25f2666cd40dea6d953e5111ef360 of ubuiltins.zip:10 -msgid "" -"def zip(*iterables):\n" -" sentinel = object()\n" -" iterators = [iter(it) for it in iterables]\n" -" while iterators:\n" -" result = []\n" -" for it in iterators:\n" -" elem = next(it, sentinel)\n" -" if elem is sentinel:\n" -" return\n" -" result.append(elem)\n" -" yield tuple(result)" -msgstr "" - -#: bf2ca3c502f04fdead0f80b2e9f9649e of ubuiltins.zip:22 +#: 8c05a66494c0439297eae987320f2068 of ubuiltins.zip:22 msgid "" "The first iterable. This provides the first value for each of the yielded" " tuples." msgstr "" -#: f1f8f2467f454bd68451874ce2cc2931 of ubuiltins.zip:25 +#: 70863e9480254f578858b2d9ad064a05 of ubuiltins.zip:25 msgid "" "The second iterable. This provides the second value in each of the " "yielded tuples. And so on." msgstr "" -#: 844d12b67a914b8098cce039812c458b of ubuiltins.zip:29 +#: 39a6cbb7793045428e661b6cba66ab77 of ubuiltins.zip:29 msgid "" "A new iterator that yields tuples containing the values of the individual" " iterables." msgstr "" -#: ../../main/micropython/builtins.rst:193 03368c0ad5cf4ca584dde7553d5aa371 +#: ../../main/micropython/builtins.rst:193 ce455e8135234af19fde841ac5d8f2e6 msgid "Conversion functions" msgstr "" -#: ae4a941a2c8e4ffd9d6bbcda392a4cfe of ubuiltins.bin:1 +#: 26ae7aa5721b4aea99b4b1b3587d1339 of ubuiltins.bin:1 msgid "" "Converts an integer to its binary representation. The result is a string " "prefixed with ``0b``. The result is a valid Python expression. For " "example, ``bin(5)`` gives ``\"0b101\"``." msgstr "" -#: f6892969d2c14b84b7b3a44b05e6c692 of ubuiltins.bin:8 +#: ae2f596acc8f40479bc629647630fa47 of ubuiltins.bin:8 msgid "A string representing the binary form of the input." msgstr "" -#: 49b3bcb2a7d940ae8b9df3e1ddf85125 of ubuiltins.chr:1 +#: bc98515a67034697989e91adc4c8d2bb of ubuiltins.chr:1 msgid "" "Returns the string representing a character whose Unicode code is the " "integer ``x``. This is the inverse of :meth:`ord`. For example, " "``chr(97)`` gives ``\"a\"``." msgstr "" -#: 98f0c23104da4f878714a3719ab3f4cb of ubuiltins.chr:5 +#: 8a43211c0a3a4a5abfa13559a9876e76 of ubuiltins.chr:5 msgid "Value to be converted (0-255)." msgstr "" -#: b019555c1fbd4a1ca2893c1bceb1fd9f of ubuiltins.chr:8 +#: 57700b542af94bd297a1ff734ec7eea7 of ubuiltins.chr:8 msgid "A string with one character, corresponding to the given Unicode value." msgstr "" -#: ae3666fb7ffc49c6ac9a717aac397ec5 of ubuiltins.hex:1 +#: 2b7e626862994e8084226c3ac8860e30 of ubuiltins.hex:1 msgid "" "Converts an integer to its hexadecimal representation. The result is a " "lowercase string prefixed with ``0x``. The result is a valid Python " "expression. For example, ``hex(25)`` gives ``\"0x19\"``." msgstr "" -#: 9bb7f9c165304ce289303fe9dec1b95c of ubuiltins.hex:8 +#: 2958c44e817342ed8c200e7776c78469 of ubuiltins.hex:8 msgid "A string representing the hexadecimal form of the input." msgstr "" -#: e3f518c87c974176ba60df3bb284f754 of ubuiltins.oct:1 +#: 013df31c15264483a56a17fa61cba11f of ubuiltins.oct:1 msgid "" "Converts an integer to its octal representation. The result is a string " "prefixed with ``0o``. The result is a valid Python expression. For " "example, ``oct(25)`` gives ``\"0o31\"``." msgstr "" -#: eff453b2d10740d8a65a2031193cb912 of ubuiltins.oct:8 +#: 82014b429b4f47c28636104d6f711f67 of ubuiltins.oct:8 msgid "A string representing the octal form of the input." msgstr "" -#: f50dfa3c1eae4f95b655518f4b24b810 of ubuiltins.ord:1 +#: c469d626dd644e7396f68e90f58c648d of ubuiltins.ord:1 msgid "" "Converts a string consisting of one Unicode character to the " "corresponding number. This is the inverse of :meth:`chr`." msgstr "" -#: 5eaa4c3c00684cc2b46caeb94e1c9a0c of ubuiltins.ord:4 +#: 58edb10e3ae64998b09b24081efadcd5 of ubuiltins.ord:4 msgid "Character to be converted." msgstr "" -#: 830773257ab945fb8d0318367310c971 of ubuiltins.ord:7 +#: 8c3132b4da174abc955f22fbc47c4b34 of ubuiltins.ord:7 msgid "Number that represents the character (0--255)." msgstr "" -#: b58356a8ce0b4950a33bf9900b777c94 of ubuiltins.repr:1 +#: 5cbf6ec28e7e4bb0880fd60375fd627d of ubuiltins.repr:1 msgid "Gets the string that represents an object." msgstr "" -#: 74302d90ff1f4190af7301fcde52d794 of ubuiltins.repr:6 +#: 969bff25209c4117a474359b02ad10bf of ubuiltins.repr:6 msgid "String representation implemented by the object's ``__repr__`` method." msgstr "" -#: ../../main/micropython/builtins.rst:222 2e2597bf040c41b5ae037f72498900a8 +#: ../../main/micropython/builtins.rst:222 de5caad20734455c85ddb77a3c3bfe18 msgid "Math functions" msgstr "" -#: ../../main/micropython/builtins.rst:224 0c27b8ce453b40e693302f3585321f6e +#: ../../main/micropython/builtins.rst:224 160a3eada372438cb4f5d1bf2911a423 msgid "See also :mod:`umath` for floating point math operations." msgstr "" -#: ../../main/micropython/builtins.rst:228 a05c63c024824d8ca2b36d50a802b95a +#: ../../main/micropython/builtins.rst:228 686bd811dd0e45c19922dd927fe47ceb msgid ".. image:: /blockimg/pybricks_blockMathOp_abs.svg" msgstr "" -#: dda3d087291b4a3dbba8168a46cf8777 of ubuiltins.abs:1 +#: 8792708c3a7e48a6a990609cbce5fcfd of ubuiltins.abs:1 msgid "Returns the absolute value of a number." msgstr "" -#: 8355bbcb9e6b431da6346ba5c0170adb of ubuiltins.abs:3 +#: 8c36637eef88459b8714fedd8b57e847 of ubuiltins.abs:3 msgid "" "The argument may be an integer, a floating point number, or any object " "implementing ``__abs__()``. If the argument is a complex number, its " "magnitude is returned." msgstr "" -#: 33b52bb976664780bcef309b4f704c7d of ubuiltins.abs:7 +#: 97b2bb47977f4da7942e44991d255bc8 of ubuiltins.abs:7 msgid "The value." msgstr "" -#: 0b85195db24744598ec18979ead6e337 of ubuiltins.abs:10 +#: eddef071c7f349da9be0d3f4784be444 of ubuiltins.abs:10 msgid "Absolute value of ``x``." msgstr "" -#: 985cc1b439024356a30060beeee16772 of ubuiltins.divmod:1 +#: 0597206533894183b55720c6624fe43d of ubuiltins.divmod:1 msgid "divmod(a, b) -> Tuple[int, int]" msgstr "" -#: d9f49e08da244dd6abca6efb80da5a2f of ubuiltins.divmod:3 +#: 2eb4a73a49ab48169769f3ce74d7344a of ubuiltins.divmod:3 msgid "Gets the quotient and remainder for dividing two integers." msgstr "" -#: 3754fac14ee144ffa37bd1dfb896fc4c of ubuiltins.divmod:5 +#: 380c7b0085ca463f9eaf94423bb53def of ubuiltins.divmod:5 msgid "" "See the standard `Python divmod documentation " "`_ for the " "expected behavior when ``a`` or ``b`` are floating point numbers instead." msgstr "" -#: 30d8a1ad36ee4d9086eb1c0388201534 of ubuiltins.divmod:10 +#: a3db065c7ba54bde9d0da296b1c49e06 of ubuiltins.divmod:10 msgid "Numerator." msgstr "" -#: 8181f4ff9b184dde8956428cc858b11b of ubuiltins.divmod:12 +#: 779b8fb15cd7464a98c9ee25394e69d3 of ubuiltins.divmod:12 msgid "Denominator." msgstr "" -#: 5ab244e408e042eb9e7ca194064e2c0d of ubuiltins.divmod:15 +#: 57ba5e6a5e3144c59aef88a5a4a8499b of ubuiltins.divmod:15 msgid "A tuple with the quotient ``a // b`` and the remainder ``a % b``." msgstr "" -#: ../../main/micropython/builtins.rst:238 99d025233f1c4d10ae0533810809787e +#: ../../main/micropython/builtins.rst:238 a897df9a11474aecb2e4f11a4c62eace msgid ".. image:: /blockimg/pybricks_blockMathOp_max.svg" msgstr "" -#: 21e1bae3d5d94fca94180f5d64f38c8a of ubuiltins.max:1 +#: 9cc16a5d79cc4ae7bfb422e1c5d5ff2c of ubuiltins.max:1 msgid "max(iterable) -> Any max(arg1, arg2, ....) -> Any" msgstr "" -#: eefb093adacd45df8f0d81aa39dc7cdf of ubuiltins.max:4 +#: edbfa75ed72243dd89fdf03bedf0c02f of ubuiltins.max:4 msgid "Gets the object with largest value." msgstr "" -#: 2e9f7e9395794b23a3013ea8362562de 793524bbf8504dd3b88c4e7c58031b7f of +#: 079600f0b20c4acab090a2a22ad3595a e3ed63646d574b879e74edb36ec5b6dc of #: ubuiltins.max:6 ubuiltins.min:6 msgid "The argument may be a single iterable, or any number of objects." msgstr "" -#: c83a508af78040209bc45e61a399ff32 of ubuiltins.max:8 +#: a18b6f594ad544ff85f37eb5f8b80212 of ubuiltins.max:8 msgid "The object with the largest value." msgstr "" -#: ../../main/micropython/builtins.rst:244 65c82a8aee694251b4e338c3bfeec975 +#: ../../main/micropython/builtins.rst:244 6a1ee407e72a4798b673a9caba25d04a msgid ".. image:: /blockimg/pybricks_blockMathOp_min.svg" msgstr "" -#: 089163468fba4894b3c6b1a55effd77a of ubuiltins.min:1 +#: 6d13344d368f4d8ab1c1f6cf380e7bb5 of ubuiltins.min:1 msgid "min(iterable) -> Any min(arg1, arg2, ....) -> Any" msgstr "" -#: f9914fb202344ff7ae98ce261c466c77 of ubuiltins.min:4 +#: 2bd3b205dd4a48d38e0e1a674aef3b26 of ubuiltins.min:4 msgid "Gets the object with smallest value." msgstr "" -#: 3041df60564143f1b03cc9228212ee7b of ubuiltins.min:8 +#: b778736f40c948508332b4068b3d7846 of ubuiltins.min:8 msgid "The object with the smallest value." msgstr "" -#: fe0cf74815734a34975de47038253d0e of ubuiltins.pow:1 +#: 1423c0f1f359448e858f487f136bb812 of ubuiltins.pow:1 msgid "" "Raises the base to the given exponent: " ":math:`\\text{base}^{\\mathrm{exp}}`." msgstr "" -#: 0ab7ce54cf5b4ca88f3cc176bf35bb2f of ubuiltins.pow:3 +#: e7190419f9bd4e5491a9d64394452e6f of ubuiltins.pow:3 msgid "This is the same as doing ``base ** exp``." msgstr "" -#: c6bb1979e2db48989971326822a7bc73 of ubuiltins.pow:5 +#: 802b74d2783247fe95ea18befb72bb51 of ubuiltins.pow:5 msgid "The base." msgstr "" -#: 86db63c0e94f4310a40edc8b045542a5 of ubuiltins.pow:7 +#: 92c8b5a0a5ef42908e20c32e8e1f26c9 of ubuiltins.pow:7 msgid "The exponent." msgstr "" -#: bcaf4020e9324507b1aaf99fbe6afd16 of ubuiltins.pow:10 +#: 288e731f597e446b87b018c2a4a2a618 of ubuiltins.pow:10 msgid "The result." msgstr "" -#: ../../main/micropython/builtins.rst:254 740f43fd8d9540d4ae582c0f3a0cd49a +#: ../../main/micropython/builtins.rst:254 1c024ed2a7de446b9219d7cb53c87ed2 msgid ".. image:: /blockimg/pybricks_blockMathOp_round.svg" msgstr "" -#: 5417726a3e884991af842b3632350d84 of ubuiltins.round:1 +#: b3602814361a4ffeaa85d9f7797629e1 of ubuiltins.round:1 msgid "round(number) -> int round(number, ndigits) -> float" msgstr "" -#: c300874193e94e09a319fdc54a20d197 of ubuiltins.round:4 +#: d6f4c001a4bb4f658976a84a0856b7ec of ubuiltins.round:4 msgid "Round a number to a given number of digits after the decimal point." msgstr "" -#: 3e9bbfe72f1a479ba7a3afab05936bfe of ubuiltins.round:6 +#: 4bc1a6dc15654282aca375f99f66cf9d of ubuiltins.round:6 msgid "If ``ndigits`` is omitted or ``None``, it returns the nearest integer." msgstr "" -#: 9825053727654d26a6b57b9f1b7ef5fe of ubuiltins.round:8 +#: 3d902c2ea3b64e3bbb6e8aa39d3af3b2 of ubuiltins.round:8 msgid "" "Rounding with one or more digits after the decimal point will not always " "truncate trailing zeros. To print numbers nicely, format strings " "instead::" msgstr "" -#: f5b00dc22a974398a8a497f4e150063c of ubuiltins.round:11 -#, python-format -msgid "" -"# print two decimal places\n" -"print('my number: %.2f' % number)\n" -"print('my number: {:.2f}'.format(number))\n" -"print(f'my number: {number:.2f}')" -msgstr "" - -#: e5b9932afe6a4c47826dfbcf2296af19 of ubuiltins.round:16 +#: e672ef96b7d244b69784071396ddd3f5 of ubuiltins.round:16 msgid "The number to be rounded." msgstr "" -#: 7bd7b806172a449ab9f8204cf6cd19ef of ubuiltins.round:18 +#: 545224a64c7a467882d725dcba9d5bd1 of ubuiltins.round:18 msgid "The number of digits remaining after the decimal point." msgstr "" -#: 677413f4514a4846b88510ae1e4f2793 of ubuiltins.sum:1 +#: 5f97bf07f768431c8daf147b627f676d of ubuiltins.sum:1 msgid "sum(iterable) -> Number sum(iterable, start) -> Number" msgstr "" -#: 902e48615d2c4cdda651272ac4802a7e of ubuiltins.sum:4 +#: 1cf1d3ffa420414a864a4171c2db746d of ubuiltins.sum:4 msgid "Sums the items from the iterable and the start value." msgstr "" -#: ab2cc6c89b2745d99997cd4b7c5bfefd of ubuiltins.sum:6 +#: bec58a01163e477d83e7cdc0d97747dd of ubuiltins.sum:6 msgid "Values to be summed, starting with the first value." msgstr "" -#: 9e25544dfab5407ea440594b633feeda of ubuiltins.sum:8 +#: 46fb3e0560a14bfab47e7f702d039c76 of ubuiltins.sum:8 msgid "Value added to the total." msgstr "" -#: 9240f269048e4c90ab8ac0648582097b of ubuiltins.sum:11 +#: f1dc9ef9de584270a2a5d045523e816f of ubuiltins.sum:11 msgid "The total sum." msgstr "" -#: ../../main/micropython/builtins.rst:263 804cbe1db1924268bc1655041c5a52dd +#: ../../main/micropython/builtins.rst:263 3acc8786337d4fbb82622c10c65a40e9 msgid "Runtime functions" msgstr "" -#: 27dcb66edc294875a01f4f053be0d2a3 of ubuiltins.eval:1 +#: 9a75f3ccf43547a4837dac4a0cdd1426 of ubuiltins.eval:1 msgid "" "eval(expression) -> Any eval(expression, globals) -> Any eval(expression," " globals, locals) -> Any" msgstr "" -#: 8c8126a199f04ab793ce645cb348a8d9 of ubuiltins.eval:5 +#: 4ab522a14c624a71bf9a2fd0ce857276 of ubuiltins.eval:5 msgid "Evaluates the result of an expression." msgstr "" -#: 7bf41dce74c64168a199a0c15fd2abfa c180e6f0461745c5b77640c054fef023 of +#: 24b585e508fe4dde9c3003c95306d652 54db288213f849ee9e42e8a31c089610 of #: ubuiltins.eval:7 ubuiltins.exec:7 msgid "Syntax errors are reported as exceptions." msgstr "" -#: 59f1bb4c40504e7bb4be48091acbfce2 of ubuiltins.eval:9 +#: 4e23740a55274a37ae453288bfb6222e of ubuiltins.eval:9 msgid "Expression to evaluate result of." msgstr "" -#: 8ee23f16879c4f559262e32094b32e08 9dca6ff7d3e6484795a5e4c74a7ed9bc of +#: 1b8d96e6fb6a4d8ba5717242be5c1b33 618dbe0cd7bd4636ad76cc462439c025 of #: ubuiltins.eval:11 ubuiltins.exec:11 msgid "" "If given, this controls what functions are available for use in the " "expression. By default the global scope is accessible." msgstr "" -#: 4aac0480e4154f9c8e316c8a832249ce 9ced64133efb4ab3ad19ae9862960913 of +#: 1d65d1e24ec44d39b264d9ed874514fc 51bed72347e247d687145c75b0f2ceff of #: ubuiltins.eval:14 ubuiltins.exec:14 msgid "" "If given, this controls what functions are available for use in the " "expression. Defaults to the same as ``globals``." msgstr "" -#: 2995f5be1b0a4b6289c467769f74969c of ubuiltins.eval:18 +#: 60163e84767042a4be3f12ea00e456b9 of ubuiltins.eval:18 msgid "The value obtained by executing the expression." msgstr "" -#: f905963f9c10458b85de7857b5ae9aa7 of ubuiltins.exec:1 +#: d1d59a8683cd471094f37ddc15836655 of ubuiltins.exec:1 msgid "" "exec(expression) exec(expression, globals) exec(expression, globals, " "locals)" msgstr "" -#: 0199fd836f654430acc59c8fad63fd43 of ubuiltins.exec:5 +#: aa07b49d545f45c989f0e89ef2c57aed of ubuiltins.exec:5 msgid "Executes MicroPython code." msgstr "" -#: 22b6e91f251b4f7aad534f7727fc8add of ubuiltins.exec:9 +#: a53760928fbd455481d16f13a548c5c1 of ubuiltins.exec:9 msgid "Code to be executed." msgstr "" -#: 410d78011ab742d9bc00d4e958f7c08c of ubuiltins.globals:1 +#: dff9a66cc322445cba5eec1d25ddb51c of ubuiltins.globals:1 msgid "Gets a dictionary representing the current global symbol table." msgstr "" -#: b76c8caec3e64cc889bbc58a6b325dbe of ubuiltins.globals:3 +#: 8db605af201e4671bea455d7c51e41d1 of ubuiltins.globals:3 msgid "The dictionary of globals." msgstr "" -#: 4da56a2fa94b41278b1e99aa5f58a3f2 of ubuiltins.hash:1 +#: af41aad24efe47c295ec87c9cb45bf4e of ubuiltins.hash:1 msgid "Gets the hash value of an object, if the object supports it." msgstr "" -#: aaed6f300b854b829453922d53522b11 of ubuiltins.hash:3 +#: 72ae11b2cfaf47019eccb9029f1a42b4 of ubuiltins.hash:3 msgid "Object for which to get a hash value." msgstr "" -#: 3a35ffe8d7624a0480771cb63afeda51 of ubuiltins.hash:5 +#: 6bf13dc9e5a84eec832c20e96ba5c0d4 of ubuiltins.hash:5 msgid "The hash value." msgstr "" -#: da74fe567c8645229c1d73cbdef4f64a of ubuiltins.help:1 +#: 0258b76c23d14feaa1b8f8a64b9bf121 of ubuiltins.help:1 msgid "help() help(object)" msgstr "" -#: 59cef90477274f5098607e2a88a44b9e of ubuiltins.help:4 +#: e367cd99a5854a5f8d1f9b071431519a of ubuiltins.help:4 msgid "Get information about an object." msgstr "" -#: 3bfb1ffdcd8e49049648c64f84601c0b of ubuiltins.help:6 +#: fb5d341b95dc46f8b692d4511a6edafd of ubuiltins.help:6 msgid "" "If no arguments are given, this function prints instructions to operate " "the REPL. If the argument is ``\"modules\"``, it prints the available " "modules." msgstr "" -#: a170901e16f046c8a5d1fdbcd6f89a39 of ubuiltins.help:9 +#: 5589f001a3b5493bbd20b90337304275 of ubuiltins.help:9 msgid "Object for which to print help information." msgstr "" -#: 86950669eec44840bcaf53a6edebed40 of ubuiltins.id:1 +#: 25d6c8748d7e4f7a8093a91246d62f13 of ubuiltins.id:1 msgid "" "Gets the *identity* of an object. This is an integer which is guaranteed " "to be unique and constant for this object during its lifetime." msgstr "" -#: 567ab4095c844dca8bf3e51f671c02fd of ubuiltins.id:4 +#: 91015e3ab92f422dbde8f4184290efc0 of ubuiltins.id:4 msgid "Object of which to get the identifier." msgstr "" -#: 74322645936f4768a5cfb7e29a930b7e of ubuiltins.id:6 +#: b85cc1d7a17b430f819ea21731f06c01 of ubuiltins.id:6 msgid "The identifier." msgstr "" -#: 042d3210d25a4df59cece2d9af6c33e3 of ubuiltins.locals:1 +#: 17637e75187e48de994607539382972b of ubuiltins.locals:1 msgid "Gets a dictionary representing the current local symbol table." msgstr "" -#: 48afdf4b5572462599342b9a3109e44a of ubuiltins.locals:3 +#: 299c9df73ba24f8da000c9d65956a2e5 of ubuiltins.locals:3 msgid "The dictionary of locals." msgstr "" -#: ../../main/micropython/builtins.rst:295 11d0e8c3a0bd40fe861d04a885362363 +#: ../../main/micropython/builtins.rst:295 f85b1889225845f7b9d3cfe824c06008 msgid "Class functions" msgstr "" -#: 3b114b6dcc0a49ddaa900b95ac26d251 of ubuiltins.callable:1 +#: f509e51e95444d978a975f0d076505af of ubuiltins.callable:1 msgid "Checks if an object is callable." msgstr "" -#: e48e9dcee3714c348c03b0e7dfbabb30 of ubuiltins.callable:3 +#: 4ba3408915ed44609ead0afcd251c728 of ubuiltins.callable:3 msgid "Object to check." msgstr "" -#: 09bebc240992400a95b8bccfec58630b of ubuiltins.callable:5 +#: f8bea475cf494b8f944cc4d4939f2ce5 of ubuiltins.callable:5 msgid "``True`` if the object argument appears callable, ``False`` if not." msgstr "" -#: 44bde476cf6f40aa9a6babc608eb5d08 of ubuiltins.dir:1 +#: 86106bfddc854c68af2662891e1ef331 of ubuiltins.dir:1 msgid "dir() -> List[str] dir(object) -> List[str]" msgstr "" -#: 9b602518ec0c4449a7364adc9cb182a8 of ubuiltins.dir:4 +#: bf8451c695544c48b5297173aa4d0e65 of ubuiltins.dir:4 msgid "Gets a list of attributes of an object." msgstr "" -#: bb2be9c993124033a3052b87f14b254f of ubuiltins.dir:6 +#: 8ba7416431b74a24987f96973bfab68e of ubuiltins.dir:6 msgid "" "If no object argument is given, this function gets the list of names in " "the current local scope." msgstr "" -#: 36ac58ce134d42f79efb4517d6eee19f of ubuiltins.dir:9 +#: 15ab415123d447cc92a1a04da4a60f99 of ubuiltins.dir:9 msgid "Object to check for valid attributes." msgstr "" -#: 5fef769835994279830dcd4e6fc5e78e of ubuiltins.dir:11 +#: 823657b24fe34727831e75dad9ce402e of ubuiltins.dir:11 msgid "List of object attributes or list of names in current local scope." msgstr "" -#: 136c285006644d4c8326d6991c01572b of ubuiltins.getattr:1 +#: 38854753b03948d5960d193af99cbbea of ubuiltins.getattr:1 msgid "getattr(object, name) -> Any getattr(object, name, default) -> Any" msgstr "" -#: 41f16f8ce37e4bdf8667dc94c379b0ce of ubuiltins.getattr:4 +#: 0bb8e58bc2b44dfdae0bae71470006d0 of ubuiltins.getattr:4 msgid "Looks up the attribute called ``name`` in the given ``object``." msgstr "" -#: 41652dd04a924292a12a78fc5056e579 e59196bba26949a295e186a97f259b53 of +#: 4f77bf826a624388b6f6192791c8ea6b d6d348cb6bf0492f952c7c9c737b34d4 of #: ubuiltins.getattr:6 ubuiltins.hasattr:3 msgid "Object in which to look for the attribute." msgstr "" -#: 27340d067c0d4a1086eb37a057a5cd95 97e24631e2f8474ca9f57218f8a95588 -#: eb71e92a7d8d406388b2060d8b49e2a8 of ubuiltins.getattr:7 ubuiltins.hasattr:4 +#: 310ea7a547e64c3a9e11286d9d8f8c45 b0d4426da60247d9bbd4c7c120bd0fe1 +#: bca761d46d144f3092065234d867cb80 of ubuiltins.getattr:7 ubuiltins.hasattr:4 #: ubuiltins.setattr:6 msgid "Name of the attribute." msgstr "" -#: 88ec665d2b8640d3adb7f911d4d41731 of ubuiltins.getattr:9 +#: 637d8927f92540a5b900121149c966b2 of ubuiltins.getattr:9 msgid "Object to return if the attribute is not found." msgstr "" -#: e8c03abc9a8c4ad6bd2443bf02759d3a of ubuiltins.getattr:11 +#: f21a903299fb4bbbaf4029e6f534c6e0 of ubuiltins.getattr:11 msgid "Returns the value of the named attribute." msgstr "" -#: 2a6771d8be794268b852e86ec90448ac of ubuiltins.hasattr:1 +#: 3fffd4173a74492aa8fa28c213268bb6 of ubuiltins.hasattr:1 msgid "Checks if an attribute exists on an object." msgstr "" -#: 15a9767a106f4b7ebd888470835dec80 of ubuiltins.hasattr:7 +#: bbf007a2500342aa8aaafd62d0bba8b4 of ubuiltins.hasattr:7 msgid "``True`` if an attribute by that name exists, ``False`` if not." msgstr "" -#: f7b36fa2a8eb4d2b86515187dc82f1be of ubuiltins.isinstance:1 +#: baf2feb9c221490b8292f7bfd6affecb of ubuiltins.isinstance:1 msgid "Checks if an object is an instance of a certain class." msgstr "" -#: b7f9b28fe51c4327b91d29cdb0988f26 of ubuiltins.isinstance:3 +#: 1e45ed5075234f988572f10584ee5229 of ubuiltins.isinstance:3 msgid "Object to check the type of." msgstr "" -#: c087c5ff79874426b83195c7d92a505c cf24e22c770441039312199f6a3dcf41 of +#: 9395490c52a64478843b5c7337ccaf33 c5bfd774c24e4c2ca36c0dc5e033e296 of #: ubuiltins.isinstance:4 ubuiltins.issubclass:4 msgid "Class information." msgstr "" -#: 915a221e02d6496d9b846afbcb2f9b35 of ubuiltins.isinstance:7 +#: 834143d6349b4c0683531643d02bacc8 of ubuiltins.isinstance:7 msgid "" "``True`` if the ``object`` argument is an instance of the ``classinfo`` " "argument, or of a subclass thereof." msgstr "" -#: 88bd9025ee514a299a3cdabfdf02cf00 of ubuiltins.issubclass:1 +#: f155756305724437ac012ec65ce99740 of ubuiltins.issubclass:1 msgid "Checks if one class is a subclass of another class." msgstr "" -#: 4fc5637872334072b736c6b3bc368992 of ubuiltins.issubclass:3 +#: c4d55a89f811471399b34b7dfc497cf1 of ubuiltins.issubclass:3 msgid "Class type." msgstr "" -#: d69b46050a844bdcb67ea404e47ed556 of ubuiltins.issubclass:7 +#: c16861517a38452d9650c042efd8d115 of ubuiltins.issubclass:7 msgid "``True`` if ``cls`` is a subclass of ``classinfo``." msgstr "" -#: 913feac0aec24f1d8180001f843acf8d of ubuiltins.setattr:1 +#: 908f1a7917c74bef8ea4ca600a220edc of ubuiltins.setattr:1 msgid "Assigns a value to an attribute, provided that the object allows it." msgstr "" -#: 20275130867149a1a28b1ad05ed7e640 of ubuiltins.setattr:3 +#: 56d3dd4b1b414750b2731ea0ef72ed8c of ubuiltins.setattr:3 msgid "This is the counterpart of :meth:`getattr`." msgstr "" -#: c91abcb2a1174f90a12ee3c5f3065ea4 of ubuiltins.setattr:5 +#: be193e5fcb704081aad594c7f85c0091 of ubuiltins.setattr:5 msgid "Object in which to store the attribute." msgstr "" -#: 6e3702a85b954ce1900dd3949403dbda of ubuiltins.setattr:8 +#: a4737f7ea5504bbcbc37f29503e22081 of ubuiltins.setattr:8 msgid "Value to store." msgstr "" -#: a4064a2d701447c4b561a83d3ab9b458 of ubuiltins.super:1 +#: ff1140ec302a42f5bb3f5166a387e22c of ubuiltins.super:1 msgid "super() -> type super(type) -> type super(type, object_or_type) -> type" msgstr "" -#: 4bf998947d9048d0bd72f304bef5fb06 of ubuiltins.super:5 +#: ec9109f0d5c64104a770b6a04c8cebf8 of ubuiltins.super:5 msgid "" "Gets an object that delegates method calls to a parent, or a sibling " "class of the given type." msgstr "" -#: dc9fe581703c4687b9b8c2260cc9477d of ubuiltins.super:8 +#: ddd94310dd21494d8e5eeaf4661964f4 of ubuiltins.super:8 msgid "The matching `super()` object." msgstr "" -#: ../../main/micropython/builtins.rst:331 4e5a77d06565477caeca93f4b10c8e19 +#: ../../main/micropython/builtins.rst:331 9fad7d5ca8c7430bb3af1024b62b37fe msgid "Method decorators" msgstr "" -#: 6d8ca77abd064e2e8ccbb8f554b20115 of ubuiltins.classmethod:1 +#: 487b64499d0c4bf1a69145a91505c4e3 of ubuiltins.classmethod:1 msgid "Transforms a method into a class method." msgstr "" -#: 6d9fe96317c44860afc83cc479cc24a6 of ubuiltins.staticmethod:1 +#: 28a8a6ff699942faa491dcf394c952b9 of ubuiltins.staticmethod:1 msgid "Transforms a method into a static method." msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/micropython/exceptions.po b/doc/locales/de/LC_MESSAGES/micropython/exceptions.po index 890cc84e..f4831504 100644 --- a/doc/locales/de/LC_MESSAGES/micropython/exceptions.po +++ b/doc/locales/de/LC_MESSAGES/micropython/exceptions.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,95 +19,95 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/micropython/exceptions.rst:2 12565ae385c64804b48e8be5bd5a5d52 +#: ../../main/micropython/exceptions.rst:2 d2f71df8bd094e7fa35faf195bd8b309 msgid "Exceptions and errors" msgstr "" -#: ../../main/micropython/exceptions.rst:4 62e2d35a1ac54375933622ef4862e473 +#: ../../main/micropython/exceptions.rst:4 bac10bdb9c964476afeb8dde0c20bce4 msgid "This section lists all available exceptions in alphabetical order." msgstr "" -#: 34af942520c54a4ea492e859a5528087 of ubuiltins.ArithmeticError:1 +#: 98da56d889e54d2aa62a40d3a57f0ebb of ubuiltins.ArithmeticError:1 msgid "" "The base class for those built-in exceptions that are raised for various " "arithmetic errors." msgstr "" -#: 29e5635d48a64ac6ba89555f26570a71 of ubuiltins.AssertionError:1 +#: c618e634ecc64fc9ad409fd1914849e8 of ubuiltins.AssertionError:1 msgid "Raised when an assert statement fails." msgstr "" -#: f55d234028354c0fa0294226e1f76ead of ubuiltins.AttributeError:1 +#: 31e9c00b6bc84bd5b71ec5c8c2f3fcb3 of ubuiltins.AttributeError:1 msgid "Raised when an attribute reference or assignment fails." msgstr "" -#: edceb1e8c6b842bebb14f2c2dbd87f2d of ubuiltins.BaseException:1 +#: 5180057a87d94b1394fd33821e26fe00 of ubuiltins.BaseException:1 msgid "The base class for all built-in exceptions." msgstr "" -#: 100bcc2ca4614ecabf3d7e466ff1b8d1 of ubuiltins.BaseException:3 +#: e39bfb8e099645e692b2e927f6f04a2a of ubuiltins.BaseException:3 msgid "" "It is not meant to be directly inherited by user-defined classes (for " "that, use :class:`Exception`)." msgstr "" -#: 8b728bd1ed4541cdbb95a73cc65254f6 of ubuiltins.EOFError:1 +#: 5c90c5dd328240ebb65dd9467c997b10 of ubuiltins.EOFError:1 msgid "" "Raised when the :meth:`input` function hits an end-of-file condition " "(EOF) without reading any data." msgstr "" -#: 2ca3c14ff42c4475837d0090a555be86 of ubuiltins.Exception:1 +#: 8df880d59174429b95cc5d8f1369236b of ubuiltins.Exception:1 msgid "All built-in exceptions are derived from this class." msgstr "" -#: 5cab26a8fcf7474391a79bf931c4a2e7 of ubuiltins.Exception:3 +#: 779dc2039ed54f47beaf118104563807 of ubuiltins.Exception:3 msgid "All user-defined exceptions should also be derived from this class." msgstr "" -#: aa417a2205074b12bab4d0ede959b44c of ubuiltins.GeneratorExit:1 +#: 99ccb5589f0b40399c0796f2242576fc of ubuiltins.GeneratorExit:1 msgid "Raised when a generator or coroutine is closed." msgstr "" -#: ab819e507fc944768712e20c799d70dc of ubuiltins.ImportError:1 +#: d84b8902eb4f4e1c8cb9abc6bf0a5e43 of ubuiltins.ImportError:1 msgid "Raised when the ``import`` statement is unable to load a module." msgstr "" -#: a6f442773a3c443284dcb11ef30556e0 of ubuiltins.IndentationError:1 +#: 8deb77d4356c4f9596822769f09391ba of ubuiltins.IndentationError:1 msgid "Base class for syntax errors related to incorrect indentation." msgstr "" -#: 90a8b12582364ecda35c59144f798440 of ubuiltins.IndexError:1 +#: c2efe99e42fe451b8101730e990b41a5 of ubuiltins.IndexError:1 msgid "Raised when a sequence subscript is out of range." msgstr "" -#: 0cab63b71b294382b6defa992c7592e1 of ubuiltins.KeyboardInterrupt:1 +#: 3e8f155b34424fd0b8350a00efaa2cbe of ubuiltins.KeyboardInterrupt:1 msgid "" "Raised when the user hits the interrupt key (normally :kbd:`Ctrl` " ":kbd:`C`)." msgstr "" -#: 52397d73b483489c896e5129d8e08879 of ubuiltins.KeyError:1 +#: 81f450a272164e26b31af6e3c3a14213 of ubuiltins.KeyError:1 msgid "" "Raised when a mapping (dictionary) key is not found in the set of " "existing keys." msgstr "" -#: 4a8e5fe7f5cd4db583df43ef4e27833c of ubuiltins.LookupError:1 +#: 2bce838b4ec648d58587a9ac76359e62 of ubuiltins.LookupError:1 msgid "" "The base class for the exceptions that are raised when a key or index " "used on a mapping or sequence is invalid." msgstr "" -#: a62ed0cf181c4ada9af96f5918154d85 of ubuiltins.MemoryError:1 +#: cd24b3503eab4b09a5a14fe1d3951821 of ubuiltins.MemoryError:1 msgid "Raised when an operation runs out of memory." msgstr "" -#: 4abfd6f9aeb14eaf8bdc55a4514d0a19 of ubuiltins.NameError:1 +#: 87771a0b40c64dc989703af5e1acafc1 of ubuiltins.NameError:1 msgid "Raised when a local or global name is not found." msgstr "" -#: ab18b487ef754a48a31199bb82866dbe of ubuiltins.NotImplementedError:1 +#: ecd1153fd0334d98a313a6d29b31159a of ubuiltins.NotImplementedError:1 msgid "" "In user defined base classes, abstract methods should raise this " "exception when they require derived classes to override the method, or " @@ -115,7 +115,7 @@ msgid "" "implementation still needs to be added." msgstr "" -#: 7c2628e6ca164428a704d04537fa9ad9 of ubuiltins.OSError:1 +#: d91bcd8c63854905a2d5c4a76c4cc014 of ubuiltins.OSError:1 msgid "" "This exception is raised by the firmware, which is the Operating System " "that runs on the hub. For :ref:`example `, it raises an" @@ -123,148 +123,80 @@ msgid "" " A." msgstr "" -#: ../../docstring 1e74f1a0248c4ef6af3f964d74821c4d of +#: ../../docstring abf1c830f38b431486c615ff0b513c8c of #: ubuiltins.OSError.errno:1 msgid "" "Specifies which kind of ``OSError`` occurred, as listed in the " ":mod:`uerrno` module." msgstr "" -#: 2a6a36d48999438a826a59a7edfe2c56 of ubuiltins.OverflowError:1 +#: 51fdc99d2bbd4d4aa1487fa3309ee069 of ubuiltins.OverflowError:1 msgid "" "Raised when the result of an arithmetic operation is too large to be " "represented." msgstr "" -#: 52b251c2dc32489a8df935f07a1f5261 of ubuiltins.RuntimeError:1 +#: 02860d81772645879a3e9e825b3fd326 of ubuiltins.RuntimeError:1 msgid "" "Raised when an error is detected that doesn’t fall in any of the other " "categories." msgstr "" -#: e449bbd00a434981a109f30a271db192 of ubuiltins.RuntimeError:3 +#: 4697721b57e64a8e93d82243228b6b9f of ubuiltins.RuntimeError:3 msgid "The associated value is a string indicating what precisely went wrong." msgstr "" -#: 324e7a89db074c05a6bb63be0302cb62 of ubuiltins.StopIteration:1 +#: a0a77dffe6c74f68b087be7b7c71f1bc of ubuiltins.StopIteration:1 msgid "" "Raised by built-in function :meth:`next` and an iterator’s ``__next__()``" " method to signal that there are no further items produced by the " "iterator." msgstr "" -#: a2fa3e14ef2e49ae85fbd5d76b448ab8 of ubuiltins.StopIteration:4 +#: 8031097a2a3f4a51a58995d7f79b57f3 of ubuiltins.StopIteration:4 msgid "Generator functions should return instead of raising this directly." msgstr "" -#: 50acdf2b890e4d47bb8af4471f26a66d of ubuiltins.SyntaxError:1 +#: 3ec418eeadcc46749529e6b61ee03160 of ubuiltins.SyntaxError:1 msgid "Raised when the parser encounters a syntax error." msgstr "" -#: 394f3bb1dbfe4520863b543fed66c584 of ubuiltins.SystemExit:1 +#: 55f76c146e6b48a98d5fc7d7f42e3512 of ubuiltins.SystemExit:1 msgid "" "Raised when you press the stop button on the hub or in the Pybricks Code " "app." msgstr "" -#: 4c087c3909454594ba9accf7533568e0 of ubuiltins.TypeError:1 +#: a0ae9264dec94c34a2555046490c68bd of ubuiltins.TypeError:1 msgid "" "Raised when an operation or function is applied to an object of " "inappropriate type." msgstr "" -#: ec5ae0638ed341bdb8ea3c2c5e133b1d of ubuiltins.ValueError:1 +#: 62e9b2f29c0d464e8fb34789f8b1a91e of ubuiltins.ValueError:1 msgid "" "Raised when an operation or function receives an argument that has the " "right type but an inappropriate value. This is used when the situation is" " not described by a more precise exception such as :class:`IndexError`." msgstr "" -#: fb83946477074d2f9d1782d7616bff62 of ubuiltins.ZeroDivisionError:1 +#: 64949174e0bc49218f54e6526fb0aa4d of ubuiltins.ZeroDivisionError:1 msgid "Raised when the second argument of a division or modulo operation is zero." msgstr "" -#: ../../main/micropython/exceptions.rst:84 0a1e31c0aaea45eaa58701c74f67a323 +#: ../../main/micropython/exceptions.rst:84 89ec72f4b12c48d8a14b9367eb517885 msgid "Examples" msgstr "" -#: ../../main/micropython/exceptions.rst:87 d9aef24687d64ec481ed840c1ce64ee5 +#: ../../main/micropython/exceptions.rst:87 84b5a66932db4fdf85276e3c242e17d6 msgid "Debugging in the REPL terminal" msgstr "" -#: ../../main/micropython/exceptions.rst:89 99301cda7a2846aebe1625cb930d0845 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the motor.\n" -"test_motor = Motor(Port.A)\n" -"\n" -"# Start moving at 500 deg/s.\n" -"test_motor.run(500)\n" -"\n" -"# If you click on the terminal window and press CTRL+C,\n" -"# you can continue debugging in this terminal.\n" -"wait(5000)\n" -"\n" -"# You can also do this to exit the script and enter the\n" -"# terminal. Variables in the global scope are still available.\n" -"raise KeyboardInterrupt\n" -"\n" -"# For example, you can copy the following line to the terminal\n" -"# to get the angle, because test_motor is still available.\n" -"test_motor.angle()\n" -msgstr "" - -#: ../../main/micropython/exceptions.rst:93 8e2b13e79b8e434892683486b2afd313 +#: ../../main/micropython/exceptions.rst:93 0018eeb086fa45248c3d9692ed547a2e msgid "Running code when the stop button is pressed" msgstr "" -#: ../../main/micropython/exceptions.rst:95 37c1574a7b6e4ea5aab2c3db10d511a8 -msgid "" -"from pybricks.tools import wait\n" -"\n" -"print(\"Started!\")\n" -"\n" -"try:\n" -"\n" -" # Run your script here as you normally would. In this\n" -" # example we just wait forever and do nothing.\n" -" while True:\n" -" wait(1000)\n" -"\n" -"except SystemExit:\n" -" # This code will run when you press the stop button.\n" -" # This can be useful to \"clean up\", such as to move\n" -" # the motors back to their starting positions.\n" -" print(\"You pressed the stop button!\")\n" -msgstr "" - -#: ../../main/micropython/exceptions.rst:101 d1066dfe777b4276996e3988173b7d40 +#: ../../main/micropython/exceptions.rst:101 5e8660bf77fb4e90a992d3b4d03078ba msgid "Detecting devices using ``OSError``" msgstr "" -#: ../../main/micropython/exceptions.rst:103 f5442faaede24372b6841b5df150cfd2 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"\n" -"from uerrno import ENODEV\n" -"\n" -"try:\n" -" # Try to initialize a motor.\n" -" my_motor = Motor(Port.A)\n" -"\n" -" # If all goes well, you'll see this message.\n" -" print(\"Detected a motor.\")\n" -"except OSError as ex:\n" -" # If an OSError was raised, we can check what\n" -" # kind of error this was, like ENODEV.\n" -" if ex.errno == ENODEV:\n" -" # ENODEV is short for \"Error, no device.\"\n" -" print(\"There is no motor this port.\")\n" -" else:\n" -" print(\"Another error occurred.\")\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/micropython/micropython.po b/doc/locales/de/LC_MESSAGES/micropython/micropython.po index c24434c8..3ade5901 100644 --- a/doc/locales/de/LC_MESSAGES/micropython/micropython.po +++ b/doc/locales/de/LC_MESSAGES/micropython/micropython.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,254 +19,193 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/micropython/micropython.rst:4 49b4ec0e32d249f8acf4e7e7ec49adb0 +#: ../../main/micropython/micropython.rst:4 0aaa983db3844c6d94d0c0c339fe1083 msgid ":mod:`micropython` -- MicroPython internals" msgstr "" -#: cee97fe0d3c948628b72dec1b5330827 micropython:1 of +#: e4c74f2933054e179ea8f7846bde7da3 micropython:1 of msgid "Access and control MicroPython internals." msgstr "" -#: 8e4eadc6cd7c4b80bd7fe8ba1cef903d micropython.const:1 of +#: 480f2602554b40d7a824438ad59a5a44 micropython.const:1 of msgid "const(value) -> Any" msgstr "" -#: 5c31c5fdb8214388be0bef79114d524c micropython.const:3 of +#: 4344b305811749b8bbdfeb8c0dc39ffa micropython.const:3 of msgid "Declares the value as a constant, which makes your code more efficient." msgstr "" -#: 3d6c215158b74f6780bb320e9a40df2c micropython.const:5 of +#: 08d855f14e1f4acbbc5779e9699dd055 micropython.const:5 of msgid "" "To reduce memory usage further, prefix its name with an underscore " "(``_ORANGES``). This constant can only be used within the same file." msgstr "" -#: 3352cdc664f84a8ba866968423f35e24 micropython.const:9 of +#: 6c3c50c65fc84b8f921a42beafb1618a micropython.const:9 of msgid "" "If you want to import the value from another module, use a name without " "an underscore (``APPLES``). This uses a bit more memory." msgstr "" -#: ../../main/micropython/micropython.rst 20b373d86a87461d9d45eb45f5dd4bea -#: 542ed4da78cb469e8957720863bfc0d4 a39e22dc72834e88b344d3fb5b447244 -#: b35cae3db434419f81a04dd92a68b36f e1c385fd087e46d9853b949b8650e8ac +#: ../../main/micropython/micropython.rst 19067f9490064964b1119d294edf6a36 +#: a32d51cf751c4a77befe8c6b2024b55b bc31a2683c9845e0916c4259fe814810 +#: cb70c38c631f4f0cab307ce6b0f33751 d89838a3136d45a68927d079ce4d2800 msgid "Parameters" msgstr "" -#: 9b2e161e340e4ae499f4fe6ffc7d8725 micropython.const:12 of +#: 8ab52427544843cdb38f0e161ddeb39d micropython.const:12 of msgid "The literal to be made constant." msgstr "" -#: ../../main/micropython/micropython.rst 2de9d6901ce14640a1d192c438d8a1f1 -#: 77a3aa5330b6477abd0abcc2deaabc98 9f4f68c8f6834c7981c0ca0da4b2a7f8 -#: c6c694a4aaf44d639717c58ef6254c18 +#: ../../main/micropython/micropython.rst 16a312b72ce34ddc9c59569b3eea803a +#: b117d7c0576441d1b9ee6701c6c8244c cc32564e2b20453695aae84dc39460fa +#: e3ada3bd0ff84c0d8df694d036ec22a4 msgid "Returns" msgstr "" -#: 1dde1feaf9dc4974aeefe8673e1a6e88 micropython.const:15 of +#: f6d9f847741241e1b6527c7a122a6031 micropython.const:15 of msgid "The constant value." msgstr "" -#: dd7fce6b875248b78a5bf97ba95a18fc micropython.heap_lock:1 of +#: 9a0fbd6cac1f4e4fb1c7a30c364b9b7a micropython.heap_lock:1 of msgid "" "Locks the heap. When locked, no memory allocation can occur. A " "``MemoryError`` will be raised if any heap allocation is attempted." msgstr "" -#: f09d109568f948509cd435a79ccd0fd7 micropython.heap_unlock:1 of +#: aa49a543eece410192f72303da8efcac micropython.heap_unlock:1 of msgid "Unlocks the heap. Memory allocation is now allowed again." msgstr "" -#: 890d4d3d1bb246b987a68b34401fcce1 micropython.heap_unlock:3 of +#: bb824c712e8345f2a124dd6178bd6265 micropython.heap_unlock:3 of msgid "" "If :func:`heap_lock()` was called multiple times, :func:`heap_unlock()` " "must be called the same number of times to make the heap available again." msgstr "" -#: 5ecedba493f144bfa351eabc56b4f8a4 micropython.heap_unlock:6 of +#: 95f0d4e58c4440fb83ae4c9afefc1581 micropython.heap_unlock:6 of msgid "The lock depth after unlocking. It is ``0`` once it is unlocked." msgstr "" -#: 12d00205027641aab1b9fff06c36a227 micropython.kbd_intr:1 of +#: 7f875e1e9d3944038201679b98c9780e micropython.kbd_intr:1 of msgid "" "Sets the character that triggers a ``KeyboardInterrupt`` exception when " "you type it in the input window. By default it is set to ``3``, which " "corresponds to pressing :kbd:`Ctrl` :kbd:`C`." msgstr "" -#: 9fd4578bb1cd4d22ab05efd31bfde7a6 micropython.kbd_intr:5 of +#: 2babc44f4db543e78914cf9662b9729f micropython.kbd_intr:5 of msgid "" "Character that should raise the ``KeyboardInterrupt``. Choose ``-1`` to " "disable this feature." msgstr "" -#: e9060d7998a444be9955ff492f656d2b micropython.mem_info:1 of +#: a8b9bdf4799c44c397b49368e5a83fc5 micropython.mem_info:1 of msgid "mem_info() mem_info(verbose)" msgstr "" -#: c8c2f06bf75d4cc2a1af3472b74bd62d micropython.mem_info:4 of +#: cb89d50fb2c041a8a74a3afe05e8a64f micropython.mem_info:4 of msgid "Prints information about stack and heap memory usage." msgstr "" -#: 04c0b6787af74ad482d56cc2d3c32fae micropython.mem_info:6 of +#: ee228db3f15645c29ea0d07fcdb0b15d micropython.mem_info:6 of msgid "" "If any value is given, it also prints out the entire heap. This indicates" " which blocks are used and which are free." msgstr "" -#: dbcfed84bf02417790eca10079765147 micropython.opt_level:1 of +#: 912be24d568b44c6b97eeb5781c0e483 micropython.opt_level:1 of msgid "Sets the optimization level for code compiled on the hub:" msgstr "" -#: 02c29f5cf4ad4ae5b4a0143a85a5b6be micropython.opt_level:3 of +#: 6b106749af6d4e389d1470b2a4a78c28 micropython.opt_level:3 of msgid "" "Assertion statements are enabled. The built-in ``__debug__`` variable is " "``True``. Script line numbers are saved, so they can be reported when an " "Exception occurs." msgstr "" -#: a2b45d14a04a403285f3234b9401b5fd fb0f68bd5a0b4e5291d4a1580bf3677f +#: 0f1979afda6542aab4b13fb3f06ec80f 9910ac78b8cc4e9a9a049e8981b061c9 #: micropython.opt_level:6 micropython.opt_level:8 of msgid "" "Assertions are ignored and ``__debug__`` is ``False``. Script line " "numbers are saved." msgstr "" -#: a6b0ce3928474548a4127eb83589647f micropython.opt_level:10 of +#: 94ce8428c5444ae3a9687a685e4a2fc0 micropython.opt_level:10 of msgid "" "Assertions are ignored and ``__debug__`` is ``False``. Script line " "numbers are *not* saved." msgstr "" -#: 5578ff4f92db46aaab31199c79de2b0b micropython.opt_level:13 of +#: 8a0d9c7615f04ad295d7d4ac2130f722 micropython.opt_level:13 of msgid "" "This applies only to code that you run in the REPL, because regular " "scripts are already compiled before they are sent to the hub." msgstr "" -#: 1612d0b081af4cb2af2159bc5a6465e8 micropython.opt_level:16 of +#: 906fa442ec4a4af484e9e50bdd791841 micropython.opt_level:16 of msgid "The level to be set." msgstr "" -#: af3dbc9161124f16ab3fcee7235f56b3 micropython.opt_level:19 of +#: b38e8e9a6e9a4ca1906d43bb3b616654 micropython.opt_level:19 of msgid "If no argument is given, this returns the current optimization level." msgstr "" -#: 112607e2e7304fb28c32c8ee896cbd38 micropython.qstr_info:1 of +#: 75fb4bf62af443698a666571e95a8eb7 micropython.qstr_info:1 of msgid "qstr_info() qstr_info(verbose)" msgstr "" -#: 03e4ad2a72bf433da6782ed57d3eb3b5 micropython.qstr_info:4 of +#: e5bb11b208454f799964482949e6a568 micropython.qstr_info:4 of msgid "Prints how many strings are interned and how much RAM they use." msgstr "" -#: afbd2c4a5dba4ac1b224f650126d0006 micropython.qstr_info:6 of +#: 937b0d7b475f4ef3b8200346b84c33e1 micropython.qstr_info:6 of msgid "" "MicroPython uses string interning to save both RAM and ROM. This avoids " "having to store duplicate copies of the same string." msgstr "" -#: 34ae9aa450ee49f7ae1205c1e7b9ff0b micropython.qstr_info:9 of +#: a1b943bcebe344c1b057360ed13dfbe8 micropython.qstr_info:9 of msgid "" "If any value is given, it also prints out the names of all RAM-interned " "strings." msgstr "" -#: 00c2edec6a1c4bd7bc025dfe28671370 micropython.stack_use:1 of +#: 9569e3c00c3241179ef2876baeb6d39b micropython.stack_use:1 of msgid "" "Checks the amount of stack that is being used. This can be used to " "compute differences in stack usage at different points in a script." msgstr "" -#: 95c3fb0d269b474dafcd7fde85899cce micropython.stack_use:4 of +#: 32ac5ccfaaee490b8221ad81c2d6f160 micropython.stack_use:4 of msgid "The amount of stack in use." msgstr "" -#: ../../main/micropython/micropython.rst:27 46b1d2e51fb34eeca0cdfde91d83fcc9 +#: ../../main/micropython/micropython.rst:27 eec30bd75cc7448eadb3c862af0db2d3 msgid "Examples" msgstr "" -#: ../../main/micropython/micropython.rst:30 dc51b0d9a7644cd98eabe63df384d754 +#: ../../main/micropython/micropython.rst:30 4170439e412f42a692019a90a3b72efa msgid "Using constants for efficiency" msgstr "" -#: ../../main/micropython/micropython.rst:32 f64856e1fe6c46e38257ee0b5c428a0f -msgid "" -"from micropython import const\n" -"\n" -"# This value can be used here. Other files can import it too.\n" -"APPLES = const(123)\n" -"\n" -"# These values can only be used within this file.\n" -"_ORANGES = const(1 << 8)\n" -"_BANANAS = const(789 + _ORANGES)\n" -"\n" -"# You can read the constants as normal values. The compiler\n" -"# will just insert the numeric values for you.\n" -"fruit = APPLES + _ORANGES + _BANANAS\n" -"print(fruit)\n" -msgstr "" - -#: ../../main/micropython/micropython.rst:36 d767ede6a34742f2b6890254e32c9b1f +#: ../../main/micropython/micropython.rst:36 65b0b3ea5b6f49b59808a44f5128c58a msgid "Checking free RAM" msgstr "" -#: ../../main/micropython/micropython.rst:38 562217f7392c4d8c9fc5b0bb2de25fe6 -msgid "" -"from micropython import mem_info\n" -"\n" -"# Print memory usage.\n" -"mem_info()\n" -msgstr "" - -#: ../../main/micropython/micropython.rst:41 7d5b4b3c68bd47d6baff6df05825a713 +#: ../../main/micropython/micropython.rst:41 ef938c07d76c498ab0502633c0b99a4f msgid "" "This prints information in the format shown below. In this example for " "the SPIKE Prime Hub, there are 257696 bytes (251 KB) worth of memory " "remaining for the variables in your code. ::" msgstr "" -#: ../../main/micropython/micropython.rst:45 77a75bcda83c4bc5ac5213326f2e2453 -msgid "" -"stack: 372 out of 40184\n" -"GC: total: 258048, used: 352, free: 257696\n" -"No. of 1-blocks: 4, 2-blocks: 2, max blk sz: 8, max free sz: 16103" +#: ../../main/micropython/micropython.rst:51 5f8fa53809374bee9d1a848ec476dee7 +msgid "Handling keyboard interrupts" msgstr "" -#: ../../main/micropython/micropython.rst:51 501beff2c9ac4aa8bf38c86d332b2c8b +#: ../../main/micropython/micropython.rst:57 402bdb674f5a459e909e653c07f27d25 msgid "Getting more memory statistics" msgstr "" -#: ../../main/micropython/micropython.rst:53 a26164dda7ab4870a10580a5a63233a4 -msgid "" -"from micropython import const, opt_level, mem_info, qstr_info, stack_use\n" -"\n" -"# Get stack at start.\n" -"stack_start = stack_use()\n" -"\n" -"# Print REPL compiler optimization level.\n" -"print(\"level\", opt_level())\n" -"\n" -"# Print memory usage.\n" -"mem_info()\n" -"\n" -"# Print memory usage and a memory map.\n" -"mem_info(True)\n" -"\n" -"# Print interned string information.\n" -"qstr_info()\n" -"\n" -"# Print interned string information and their names.\n" -"APPLES = const(123)\n" -"_ORANGES = const(456)\n" -"qstr_info(True)\n" -"\n" -"\n" -"def test_stack():\n" -" return stack_use()\n" -"\n" -"\n" -"# Check the stack.\n" -"print(\"Stack diff: \", test_stack() - stack_start)\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/micropython/uerrno.po b/doc/locales/de/LC_MESSAGES/micropython/uerrno.po index 3f4017a0..72ab8003 100644 --- a/doc/locales/de/LC_MESSAGES/micropython/uerrno.po +++ b/doc/locales/de/LC_MESSAGES/micropython/uerrno.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,56 +19,56 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/micropython/uerrno.rst:2 ac63891881a744f180343ee81c7fe787 +#: ../../main/micropython/uerrno.rst:2 ff759a8794bf412182a2f51d747b6820 msgid ":mod:`uerrno ` -- Error codes" msgstr "" -#: ../../main/micropython/uerrno.rst:6 167ff2bdc30f4a3db57da170c1c79472 +#: ../../main/micropython/uerrno.rst:6 ccfd0892159b400899ea59b0a99f68f6 msgid "" "The ``errno`` attribute of an :ref:`OSError ` indicates why this" " exception was raised. This attribute has one of the following values. " "See also :ref:`this example `." msgstr "" -#: ../../docstring dcd499fff45549b4b2867a044cb1466a of uerrno.EAGAIN:1 +#: ../../docstring a1bcda0c278d4590bcbe0a033fe94cc0 of uerrno.EAGAIN:1 msgid "The operation is not complete and should be tried again soon." msgstr "" -#: ../../docstring 4b947521daef4f8085318308ecb49a2c of uerrno.EBUSY:1 +#: ../../docstring 73f6115066ad482e8ec7f099af911dc1 of uerrno.EBUSY:1 msgid "The device or resource is busy and cannot be used right now." msgstr "" -#: ../../docstring 13defda7c6184fadb31c90a3267b5d43 of uerrno.ECANCELED:1 +#: ../../docstring 6cfc6e1f3b754d5db468e63deadf73e7 of uerrno.ECANCELED:1 msgid "The operation was canceled." msgstr "" -#: ../../docstring 2623181ca8a949eb9aa1aa1ec10c9491 of uerrno.EINVAL:1 +#: ../../docstring 8c85703b04b64653875a8e2375748c7f of uerrno.EINVAL:1 msgid "An invalid argument was given. Usually ``ValueError`` is used instead." msgstr "" -#: ../../docstring c6381b858aae4167b8800f9c28e4aceb of uerrno.EIO:1 +#: ../../docstring 9ca910a54ab941d9aba48d9d778fd4a0 of uerrno.EIO:1 msgid "An unspecified error occurred." msgstr "" -#: ../../docstring 35e6d031178543808431da27b488e2e6 of uerrno.ENODEV:1 +#: ../../docstring d823a072c03c49dbb93a07a9d8f8b9d0 of uerrno.ENODEV:1 msgid "" "Device was not found. For example, a sensor or motor is not plugged in " "the correct port." msgstr "" -#: ../../docstring 6a173428748047d5b2b3085fe4bebc28 of uerrno.EOPNOTSUPP:1 +#: ../../docstring 54e3571aeaaa45c9856e37045683d296 of uerrno.EOPNOTSUPP:1 msgid "The operation is not supported on this hub or on the connected device." msgstr "" -#: ../../docstring faaded4af3074ffbbe1db73901a25969 of uerrno.EPERM:1 +#: ../../docstring d79514ae9f0347f89fb7c084c60546c9 of uerrno.EPERM:1 msgid "The operation cannot be performed in the current state." msgstr "" -#: ../../docstring 2e07271a7b9d4fa89927585b8b014c2d of uerrno.ETIMEDOUT:1 +#: ../../docstring c2a2f0f08a454fe7810f156a22a2f07a of uerrno.ETIMEDOUT:1 msgid "The operation timed out." msgstr "" -#: ../../docstring b44f3ffc21d54639ab23a300cd6d2d9d of uerrno.errorcode:1 +#: ../../docstring ed839cb1c179419fb342beef504d935f of uerrno.errorcode:1 msgid "" "Dictionary that maps numeric error codes to strings with symbolic error " "code." diff --git a/doc/locales/de/LC_MESSAGES/micropython/uio.po b/doc/locales/de/LC_MESSAGES/micropython/uio.po index b656d91e..376f58c7 100644 --- a/doc/locales/de/LC_MESSAGES/micropython/uio.po +++ b/doc/locales/de/LC_MESSAGES/micropython/uio.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,48 +19,48 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/micropython/uio.rst:4 c8f1e2fffa604cfbab8c7bab9b18ad3d +#: ../../main/micropython/uio.rst:4 92cc392d3bb84879ad0713be5efcedd8 msgid ":mod:`uio` -- Input/output streams" msgstr "" -#: 988368d23f6049bb8e83741ac81646c5 of uio:1 +#: a7f3756edcc5412086316561202baa24 of uio:1 msgid "This module contains ``stream`` objects that behave like files." msgstr "" -#: 7b5a341fab0e44ee97bd59b85f0880c1 of uio.BytesIO:1 +#: 6f6fe20f0a8247f8a5ef44c5dae70e7d of uio.BytesIO:1 msgid "A binary stream using an in-memory bytes buffer." msgstr "" -#: ../../main/micropython/uio.rst 076888ce7c1b4974b4e8c835907c1fc3 -#: 73ec1e848d9b4768826103aa19d8be2d +#: ../../main/micropython/uio.rst 1a51d113f7104e22b99bd06d505c604f +#: c7a8d348375e483c965a53fa800f24b9 msgid "Parameters" msgstr "" -#: 6ec7da908ac24375a9d718d5f73274fc of uio.BytesIO:3 +#: 7fb7ac2795fe4ccc8f9250241a0f9160 of uio.BytesIO:3 msgid "Optional bytes-like object that contains initial data." msgstr "" -#: 3a1a784029104b0c8bbefbecfaefebff 473e83a122a8488da4d9df543dbc3527 of +#: 4e6e9f84e18542aebcc61c1c828cc3fc f75819f5ca564151a999113fe2dcdfaf of #: uio.BytesIO:6 uio.StringIO:5 msgid "" "Optional number of preallocated bytes. This parameter is unique to " "MicroPython. It is not recommended to use it in end-user code." msgstr "" -#: d9e47e0470eb47c09955b9cae9a52f6f df0e63639f1d4c8cbdb5c357263e2fe7 of +#: 83898a9292a44406ae0320f3c257703b d45e60f5ca9c4dca8d76ab81fed6d804 of #: uio.BytesIO.getvalue:1 uio.StringIO.getvalue:1 msgid "Gets the contents of the underlying buffer." msgstr "" -#: 2897928194c3449d8fdc5339fb215487 of uio.StringIO:1 +#: d5127c104ef44c31ace7563d9200d905 of uio.StringIO:1 msgid "A stream using an in-memory string buffer." msgstr "" -#: 5200d8e4f3fd44a395e0c481d6e7f1e4 of uio.StringIO:3 +#: c8e00c760202453d86f66877ca726767 of uio.StringIO:3 msgid "Optional string with initial data." msgstr "" -#: f59b8cd0af47444db6408cd7a80dcc15 of uio.FileIO:1 +#: d3ea1916229b4dea9dba82640f05c799 of uio.FileIO:1 msgid "" "This type represents a file opened in binary mode with ``open(name, " "'rb')``. You should not instantiate this class directly." diff --git a/doc/locales/de/LC_MESSAGES/micropython/ujson.po b/doc/locales/de/LC_MESSAGES/micropython/ujson.po index e4ed2287..0fcf53cf 100644 --- a/doc/locales/de/LC_MESSAGES/micropython/ujson.po +++ b/doc/locales/de/LC_MESSAGES/micropython/ujson.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,85 +19,85 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/micropython/ujson.rst:4 c98578a6e2f54504b64fa01c0cf7fd63 +#: ../../main/micropython/ujson.rst:4 1b97798b6060431c855e6922b81dc1af msgid ":mod:`ujson` -- JSON encoding and decoding" msgstr "" -#: 31f2961ebe5c4b7ea88591fabddd8fbd of ujson:1 +#: cdc8893dba794b898560e15b2833fc69 of ujson:1 msgid "Convert between Python objects and the JSON data format." msgstr "" -#: 94fea00449a6436988dccdc3d9e1dc18 of ujson.dump:1 +#: 7bdd2bf30e3541f6a4d8ea9014fbcace of ujson.dump:1 msgid "Serializes an object to a JSON string and write it to a stream." msgstr "" -#: ../../main/micropython/ujson.rst b668136476df468894a9e99098c255f2 -#: c04b3c92a43a4840b614c687cc88d88d d376cc4fa7504643927e313d39cdd57e -#: d5d38096778f47abb8ecd944af279b01 +#: ../../main/micropython/ujson.rst 1c5826b3b9d0493fab262e15c5a8c209 +#: 23baeaf758e946088e25076d02a7ca82 24f65343b2bb49009f9842c7173c5c74 +#: e02860a6d96c492887f3739c9f99ae59 msgid "Parameters" msgstr "" -#: a196ba8bdd2540ec93f60849a03be1d3 f0cbb878881b4dea9868e33c016db6cb of +#: 1ce7a3f87f8540659fbb6e32dd8bedab 268bfd709514459e862b7305a8a6f486 of #: ujson.dump:3 ujson.dumps:3 msgid "Object to serialize." msgstr "" -#: ac6713966c864eddadbc7227cb91ca60 of ujson.dump:4 +#: 8fc852b26d9b42cdb8eec5e3b877d53b of ujson.dump:4 msgid "Stream to write the output to." msgstr "" -#: 0b6507fe04634770b8e43094f66efd6b 6283a330c810400b84f254161d8dc8aa of +#: 7c33c71ee4e24e9bbb966024fad8581c e31a0e7191894590bb9ef5277d5d53d3 of #: ujson.dump:5 ujson.dumps:4 msgid "" "An ``(item_separator, key_separator)`` tuple to specify how elements " "should be separated." msgstr "" -#: 96ba1ec78e54432bbbb22618c597ca5c of ujson.dumps:1 +#: 5ab605a395fa4fa18268c717b01d18ca of ujson.dumps:1 msgid "Serializes an object to JSON and return it as a string" msgstr "" -#: ../../main/micropython/ujson.rst 0fc06ff85aa54ce883502def3e609579 -#: d11192abe5f44b46a7a9dc7f9f56abda f4f859d1ff35405e99c369b23201db17 +#: ../../main/micropython/ujson.rst 577ad4d755b14bd9a6944c127d756eb2 +#: 859ac671c65f494a92edb2de24380a1d f0e61161bbd44a408aefa43a78e15052 msgid "Returns" msgstr "" -#: 91846b0a88d543619b4e448953fc6e47 of ujson.dumps:8 +#: 250e7a82d8b64266be826d401c70a138 of ujson.dumps:8 msgid "The JSON string." msgstr "" -#: 4e69eb88f9784cc6937b35b743fe0c22 of ujson.load:1 +#: 52690b9083e24a2eb2ddd37626c02f33 of ujson.load:1 msgid "" "Parses the stream to interpret and deserialize the JSON data to a " "MicroPython object." msgstr "" -#: 62ce2a879d424e81b259c3c4754f964a of ujson.load:4 +#: 4a4b07f45c7b4fa08bbc7ec5250d1794 of ujson.load:4 msgid "" "Parsing continues until end-of-file is encountered. A ``ValueError`` is " "raised if the data in stream is not correctly formed." msgstr "" -#: 881bd612a6644d5097c4776e89942cc7 of ujson.load:7 +#: be019e6e85a34e23bf30b787d37042c6 of ujson.load:7 msgid "Stream from which to read the JSON string." msgstr "" -#: 1010d4db09954536b94e5dd59345fd18 70748595d1fc47a585cd89586e29fb56 of +#: 345f54a69dec40b4ab593ef34af168dd a962e2091e6049df9953fe66baaf450a of #: ujson.load:9 ujson.loads:9 msgid "The deserialized MicroPython object." msgstr "" -#: dfa91c32654744bda06c641f5dfae5f0 of ujson.loads:1 +#: 1972e01c379a4a5885c8669b318089d7 of ujson.loads:1 msgid "" "Parses the string to interpret and deserialize the JSON data to a " "MicroPython object." msgstr "" -#: bcb3bb98ccd84834a65f1eb21347a12d of ujson.loads:4 +#: 07e15183db964f548d3eb84a69b560ac of ujson.loads:4 msgid "A ``ValueError`` is raised if the string is not correctly formed." msgstr "" -#: e9d79b4c09b040bdb526818cebbaf923 of ujson.loads:6 +#: a1a048c50c6c4a0f92690b6857b68186 of ujson.loads:6 msgid "JSON string to decode." msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/micropython/umath.po b/doc/locales/de/LC_MESSAGES/micropython/umath.po index ee3af9d8..913a19d4 100644 --- a/doc/locales/de/LC_MESSAGES/micropython/umath.po +++ b/doc/locales/de/LC_MESSAGES/micropython/umath.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,425 +19,425 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/micropython/umath.rst:4 8bc6a3d6da2a441092f32689bdd7b109 +#: ../../main/micropython/umath.rst:4 4390d711f74a4bb4aa5ad56b940b42ec msgid ":mod:`umath ` -- Math functions" msgstr "" -#: ../../main/micropython/umath.rst:8 1c0c8d809bf04cd8b117fa606531725c +#: ../../main/micropython/umath.rst:8 b6f59ddc7b324ebcb6ec7b9b0b0d212a msgid "This MicroPython module is similar to the `math module`_ in Python." msgstr "" -#: ../../main/micropython/umath.rst:10 07ab6aa7ad70444197a030b710ec61b8 +#: ../../main/micropython/umath.rst:10 4ff962ac59e842a8a34dd561ea84c962 msgid "" "See also the :ref:`built-in math functions` that can be used" " without importing anything." msgstr "" -#: ../../main/micropython/umath.rst:14 019139e6e5ca46d1959be60b712141f7 +#: ../../main/micropython/umath.rst:14 5c3d6499f0714b9bb98001dcbe8bd79e msgid "Rounding and sign" msgstr "" -#: ../../main/micropython/umath.rst:16 52372542384c4a3ea2ea404d77cb07b8 +#: ../../main/micropython/umath.rst:16 ff71388bda364f1286185e43285411d8 msgid ".. image:: /blockimg/pybricks_blockMathOp_roundup.svg" msgstr "" -#: 8924043c1c8b48139168a9f4c1e9261f of umath.ceil:1 +#: 26e89c4874444844afea7de34208ad5f of umath.ceil:1 msgid "Rounds up." msgstr "" -#: ../../main/micropython/umath.rst 0157859416c746d988a9067a3d10de75 -#: 1905259029f44920bce88325bfc0bcb4 19b74b7822024056905f560ca4df6fc4 -#: 1a2cfc5d7f474047880c41c576217d9d 1ff18cfc9f134958a6fb107d71e93074 -#: 30055845e06b4f679395e0e257381f8b 54b2d6307cc94f3584e75ae5084d23de -#: 6bddcbf2a0ea4025b6e7e3934700236d 6e3bb6992d2a4f3f9152f2afd89541bf -#: 7130acd238b848689b4667aea306c91f 858ad3a2b9e643b5877833d0b33d389c -#: 9f67f64b9d0c4f14bc6bcf864557461f a29f8e564abb482fb837209b903b5607 -#: a6ce4161852e4be58d5181558d151408 ab141c0b6cca42d688de1fe273ccb1f3 -#: ae1f8a48d893445499e6b340e4d8c055 b57dd5284e984b699b449d09ab58871f -#: b703052c93e24f74aeac3fca21ac9960 b813a8d1d81243979851639d0f5300cd -#: c5762dde6b3e4d238070a8b9c88b7caa cb0ca86bebc44de095cc5d10e974cc36 -#: e4e205d6e8224f83af19cde795264bed e59b6ec7f0a9480eaeb642eeb8f69008 -#: f852586cd8834fe7839f4287826a826e f96dbc3f13d14f2a97f214361e668136 +#: ../../main/micropython/umath.rst 088946aecec74bfab0dead97673a2450 +#: 17c44c847dec45828ee282f7e08f2677 193a7e741aec4da5b818bf26e429ab5b +#: 30775f6e52e04b1a84308e319ebc6bea 3a56863a839741abb55afadb139573c7 +#: 4a40b0cf90cb4e199b2bd90190d3009f 4c8aa5838acc4fdbaf22ca603ab5b7d9 +#: 53c927de5ed8471ea438e09d8b524b78 53ecdfe04797483fb71d90f7f9b2c71a +#: 5d8b5969bc1145499eed9d4329396001 5fe16daefa7f46d0a1d8744dc288b3f8 +#: 678b6893b2374b428e39c29ecef13b1b 6f5027db4b8f48c99da8acd9e8f9b15b +#: 747446a9341b470b891b84f4e8f1d9a5 760a9dcb21c94c55b732f44fd8cab33e +#: 8c9190fdf67a447a82705da9c2a3715d 9ddcab917e2a4df09f794babf1ccf619 +#: a2157c45b3b74b02995b470c9fec7a78 a3c0ffb71e644fef893244b22786d822 +#: a4fd5b4d3a154d58b540a7d14cd69eb6 ad9fdb0ad2e2499a829430f0ba77ae75 +#: c39cbd5dc4d24a63b2b8413185e80760 cfc9aad9630a49e78c09ab8ddd6167fa +#: d8f5acab07d64527b8ef3b082c2efe07 e3d50ac077714fa18d4e800ff017cfa8 msgid "Parameters" msgstr "" -#: 57b0dc1998434ad5b0987348de3299df adbec7dce8d7419588e4ec8861f868a9 of +#: 499dce9629e2420bad37924c402e40ee a044f2ae4b574713af6a3f6c5e5eb3dd of #: umath.ceil:3 umath.floor:3 msgid "The value to be rounded." msgstr "" -#: ../../main/micropython/umath.rst 05afbf84b7214793bc7564256d67e1d6 -#: 0c834ce2b4a34bb8b9bbb36e4d4e207b 142ca45d829a43f1bf73f4d1ad661baa -#: 2f6e43bedfa141adabda9ceba649fceb 41f6c09077a44553b0589a84db3ab9bc -#: 455fd46aea1346cb9279059aafababf1 4b7f3de1eb6447278d5db151ea1e8683 -#: 4c54e5fe65a44c6480e6947d058bec22 77210d73cc364ccc826fb6c1da51a34a -#: 79b132bffc3b4560ab87a18e1da1745b 7e67d9db1a7345e7928d592e089e7a0a -#: 87ceb5245e0a4c28ac08eeb9c592cdf4 8e4f881d65af456fac2708a37db9d384 -#: 92dac805a885473f8692d22239e95307 93bdf7dbe3be483cb5fa7c9a04789f4a -#: 94bb882981e24aa2b504ca253fc1add1 97a4407c74dc4b18a01a42ba13f21930 -#: a47f4094c4914a4081a9ff6c36e5a3d6 b84eb3de89494a70aef6bf0534fa7007 -#: c87adf42cb504da9820ccb05a9ba04c5 cf5a0be317c54b09b90bd73e58818e25 -#: de533a4cae924c8ba8fe6b1b4914a6fb e2a7d30f1714467daa9c1d7b60038bc9 -#: e3a4b50f120a46fda18b2fbc4a6ff741 fdccfb0ba97f4f44a8cb2cd5bc153325 +#: ../../main/micropython/umath.rst 0395aeda29684a39b09e2d8497d052c1 +#: 04f7068dab6e48c3a4e35fa6110e4e02 07d782f24d774ee2ba740952666c7231 +#: 3288dcce11da4edca87919f446746dc0 40344486a8ae49b98e820fc2aca895ec +#: 40eac993f0e4452f9f4add9acffe4e55 48545d71394d47b4b9a5f327a17ba873 +#: 49daad10d8164270821df69f2158832a 51ec8ce4ee144b8ba9157a628e5d8527 +#: 5324e36366d84d65ae29014fdf1eea63 57b7cc0b6a66439b8c3e3586c0e734d8 +#: 5bb6078be97544a2beb7b426fea7ff14 874b581635b640b4b1b4f6446eff17a6 +#: 898b80032ffe4557b8cd507c73a4714a 91f28fc402454335a3d7e00f7ea821b6 +#: 9524be994694493f95bbc9d3671677e3 9b001afd38a5487fa83d4ec92e4c4f3a +#: 9e6a9b615c9c4dc79787d400e3e80d8f a73279828b314e7a9fa4445eb0eb8c20 +#: c79f1671cf5c4ab68d7631790215effa cbcd7197549a41bf871745e845764e41 +#: d1d5e1d4b3ea4347aeec3099e8570124 db72c047119c48ad8c00381d47e5ea3a +#: dd7fb2de0f794c81b4de65fecd5550fb f348684a30e044fca428c5fdeb699b8c msgid "Returns" msgstr "" -#: 2478654d8ef844beaf4e8fea8f5cd779 of umath.ceil:6 +#: 161ef5a624594a60a71bc0b0c1bd275f of umath.ceil:6 msgid "Value rounded towards positive infinity." msgstr "" -#: ../../main/micropython/umath.rst:20 95a1d74cbeba45419a4115c586364eee +#: ../../main/micropython/umath.rst:20 1ee29e7fb73a4238a20848c06c0e0b6b msgid ".. image:: /blockimg/pybricks_blockMathOp_rounddown.svg" msgstr "" -#: f8191d11ba3c4db4910b17c8892ff31d of umath.floor:1 +#: 0b67f2f99db648c0ad3f9c4c190047c0 of umath.floor:1 msgid "Rounds down." msgstr "" -#: 90182ab4827145f7995dd42316fc148d of umath.floor:6 +#: f8bfb65615c343268b19e9a58ae58c22 of umath.floor:6 msgid "Value rounded towards negative infinity." msgstr "" -#: 43936d9cf4994732854a6c4e277f9165 of umath.trunc:1 +#: 7dcbec5f4e0147fcadea57bf84e7d27e of umath.trunc:1 msgid "Truncates decimals to get the integer part of a value." msgstr "" -#: 25966d061a4745adbe7e0ccf55e58a8e of umath.trunc:3 +#: 909b0c4014ea4dce9d968cc6a993217c of umath.trunc:3 msgid "This is the same as rounding towards ``0``." msgstr "" -#: 916d8477722548aa86481422d6d86f40 of umath.trunc:5 +#: d81700e3774e4a0fa9e5d2553bc2212a of umath.trunc:5 msgid "The value to be truncated." msgstr "" -#: 5e2566ca01ed4ce7a6c054dfb6a75c88 of umath.trunc:8 +#: e9bea67ec76d4aafadf109d2472e7342 of umath.trunc:8 msgid "Integer part of the value." msgstr "" -#: 8c160ef843e04da8806ad37fabd0e16a of umath.fmod:1 +#: 0af4b439b39540e796f7870c26d9a58d of umath.fmod:1 msgid "Gets the remainder of ``x / y``." msgstr "" -#: f296904900064c119b5b1605908575df of umath.fmod:3 +#: 0eaa7dd5ca4b4c97a50fb8021c7438e6 of umath.fmod:3 msgid "Not to be confused with :func:`modf`." msgstr "" -#: 25efe1d72dcf482c89f2e72b7fe9206e of umath.fmod:5 +#: 703b84a022c14dd88d4601d6226f5559 of umath.fmod:5 msgid "The numerator." msgstr "" -#: bc08752523de4c43959ebc36f9c3abb0 of umath.fmod:7 +#: 082d6e41fb684ff7a6ff99ddcf47c1dc of umath.fmod:7 msgid "The denominator." msgstr "" -#: de318d81179848cdb8e40a7cc27ea0a5 of umath.fmod:10 +#: 0d0edf9e09b24d09bb15e1a9b3a0589d of umath.fmod:10 msgid "Remainder after division" msgstr "" -#: 3c49283776a44d2d8104ce0da61f0981 of umath.fabs:1 +#: a67675df989942d3b81c0f877756f0f8 of umath.fabs:1 msgid "Gets the absolute value." msgstr "" -#: 46fff28e0d26464d8130a4a02e6eaab8 5c95582646a44edbbc8bef69d3a507a4 -#: b3b93fd05eb641148f587911e87535a6 of umath.fabs:3 umath.ldexp:3 umath.log:3 +#: 8a5b53ec8aa7484da40c27fb4d5f88b9 b632094b0a12408fbcc9ee63b0347129 +#: f9be35e0534e4aefb6d0401ed6e70086 of umath.fabs:3 umath.ldexp:3 umath.log:3 msgid "The value." msgstr "" -#: 352f19e8fe264bd58286b0f9425db90b of umath.fabs:6 +#: 6f71337315f141409320da4a0b266d15 of umath.fabs:6 msgid "Absolute value of ``x``." msgstr "" -#: f2fb1b5175bb4a34b1dc9c2e39f4c9ad of umath.copysign:1 +#: 6ab32933f42149349334df4786198214 of umath.copysign:1 msgid "Gets ``x`` with the sign of ``y``." msgstr "" -#: 47d4755f85434eebb82932f84fcdc47f of umath.copysign:3 +#: 0a5321d3350c4a66bcb6371787be6645 of umath.copysign:3 msgid "Determines the magnitude of the return value." msgstr "" -#: c22658fe586d4ac6a2350159a84c7790 of umath.copysign:5 +#: 76fda423463143febbff0c15da9a6762 of umath.copysign:5 msgid "Determines the sign of the return value." msgstr "" -#: 6e1cafe08f0245aa91266adaf6399186 of umath.copysign:8 +#: efeff913ec7446daa96c75743ffcf379 of umath.copysign:8 msgid "``x`` with the sign of ``y``." msgstr "" -#: ../../main/micropython/umath.rst:33 932eacea3894401a8fd1ddbf5c9934d2 +#: ../../main/micropython/umath.rst:33 8be4068542b74f98b2011198d32af65b msgid "Powers and logarithms" msgstr "" -#: ../../docstring b44e8bda342e406993d9403cd4a4b5bf of umath.e:1 +#: ../../docstring 083014b42753489992e838d83565f227 of umath.e:1 msgid "The mathematical constant e." msgstr "" -#: ../../main/micropython/umath.rst:37 db1e396014ca4d43becd586002147a10 +#: ../../main/micropython/umath.rst:37 eb9e175eb6b14c08a6ea480bcd584d65 msgid ".. image:: /blockimg/pybricks_blockMathOp_exp.svg" msgstr "" -#: bdd309a94a954cf982e8495c36378ed2 of umath.exp:1 +#: 8e085196cd9342b1867262db3369d6eb of umath.exp:1 msgid "Gets :attr:`e` raised to the power of ``x``." msgstr "" -#: 2183f4fd96464637bd5c803595e23d0f 8bdb4d95b3444934a5b9b0b259627928 -#: c09964d5f6b640438ef8c31ea7bce196 of umath.exp:3 umath.ldexp:5 umath.pow:5 +#: 0ecc4a5d96eb41a19bddcefca966a25e 2443c11258b140488d8fc1d32206af89 +#: 6d64b78ddcbf4aa4a4372c9e9bc5b1e4 of umath.exp:3 umath.ldexp:5 umath.pow:5 msgid "The exponent." msgstr "" -#: 2e875fc6056b40c89d7f6fe247ae17aa of umath.exp:6 +#: 548f96e61236464fb660ba2265348c49 of umath.exp:6 msgid ":attr:`e` raised to the power of ``x``." msgstr "" -#: ../../main/micropython/umath.rst:41 ff756b6b87204dd6898528535a9f3714 +#: ../../main/micropython/umath.rst:41 7bacc63b46884e7392a8c466fe7cb38c msgid ".. image:: /blockimg/pybricks_blockMathArithmetic_power.svg" msgstr "" -#: ../../main/micropython/umath.rst:43 39f779babcd04c36aff3fda0848609c1 +#: ../../main/micropython/umath.rst:43 c7a853f9efe34447af8ae785815bf410 msgid ".. image:: /blockimg/pybricks_blockMathOp_pow10.svg" msgstr "" -#: 59b7252d7f93477b8be646a08c4c52aa of umath.pow:1 +#: 1546989952804663b6ec1e3726f8fdf5 of umath.pow:1 msgid "Gets ``x`` raised to the power of ``y``." msgstr "" -#: 43d9fec90a4c4cc39995f0a1a0423e8c of umath.pow:3 +#: 23a4dce119c0451c8b3726f252d080a6 of umath.pow:3 msgid "The base number." msgstr "" -#: 52abecd8b59a4504a261ee6675816472 of umath.pow:8 +#: cefb06c8eacd427596c7628e6de5a0e7 of umath.pow:8 msgid "``x`` raised to the power of ``y``." msgstr "" -#: ../../main/micropython/umath.rst:47 707772d3a2da47ecb42a3b193abddf61 +#: ../../main/micropython/umath.rst:47 bd86d928523e40dd9232bcf4a29f1653 msgid ".. image:: /blockimg/pybricks_blockMathOp_ln.svg" msgstr "" -#: 160f6260fbbd4f1887ab4e75f48ee1fa of umath.log:1 +#: 5925c5a289cf40918f74779702cfa8c7 of umath.log:1 msgid "Gets the natural logarithm." msgstr "" -#: 82e34c8bab1f4c688259bcccf64bbcfd of umath.log:6 +#: b6c7894cf00640c0a7e77b17ed64a13d of umath.log:6 msgid "The natural logarithm of ``x``." msgstr "" -#: ../../main/micropython/umath.rst:51 65e76ddbd3f647379aff2f9c279b57a8 +#: ../../main/micropython/umath.rst:51 1532294f262a4d02b8b263197fbc4089 msgid ".. image:: /blockimg/pybricks_blockMathOp_root.svg" msgstr "" -#: 3c517f8f958d40d99f2d2d970f2f9f22 of umath.sqrt:1 +#: 808b4bdaee0c44e598f8df7c721027a9 of umath.sqrt:1 msgid "Gets the square root." msgstr "" -#: 063c8378dbda48788f6243ce45904106 of umath.sqrt:3 +#: e9ca2d588e2e49748eb9f77fa192009c of umath.sqrt:3 msgid "The value ``x``." msgstr "" -#: 604e777742704306896b937e6e88e8e2 of umath.sqrt:6 +#: ddcc5d8f1636428fb15e9ff1658da197 of umath.sqrt:6 msgid "The square root of ``x``." msgstr "" -#: ../../main/micropython/umath.rst:56 0929ad50b75b4b1896095e3798fa76d3 +#: ../../main/micropython/umath.rst:56 55964e969e5049c8a731d0d979574afc msgid "Trigonometry" msgstr "" -#: ../../docstring 93e28c0ab5e0476ba894c7524656d8d2 of umath.pi:1 +#: ../../docstring 246f6de42a5941bc9de84bbd8d21ee3e of umath.pi:1 msgid "The mathematical constant π." msgstr "" -#: 5ba2e33f3d704d01aa17f2417dee83fe of umath.degrees:1 +#: 6afd3c4290c04a9b80f1beff89169571 of umath.degrees:1 msgid "Converts an angle from radians to degrees." msgstr "" -#: 07791ec1acaf45e2a9e1bf68d6a033fd 12db1c87878a448f919de19a9b49e7a0 -#: 58c25755819a45d092f2a6d69fa5793e 5c51f61063f74408b368620f9a612a13 -#: 9fac08d4e4b249f3b65f5276f0010043 of umath.cos:3 umath.degrees:3 +#: 682afa836635416596e2551c5a38c14e 779ead2731be478c9432302b2e321c53 +#: dcc7afa85de54e2892d02f6dd40e0b62 ecbf0589aefc46c39cedd8b8430751d1 +#: f0aed1c2db9e419a86c22a107d834f4a of umath.cos:3 umath.degrees:3 #: umath.radians:6 umath.sin:3 umath.tan:3 msgid "Angle in radians." msgstr "" -#: 1557494c4efb4ac396f450ede6febae8 31abb036cd14414295c83c6232cd4b38 of +#: 601c46227b5b49fda011900fa23eb9de e489dd9f3db941f5946ff642c844f710 of #: umath.degrees:6 umath.radians:3 msgid "Angle in degrees." msgstr "" -#: bdf42ff45955459d9dc8fbc0e525230c of umath.radians:1 +#: 36e892fabd3545aeb890249d99416b06 of umath.radians:1 msgid "Converts an angle from degrees to radians." msgstr "" -#: ../../main/micropython/umath.rst:64 e9f0fc25ed2c4d089d5c72bcb0823de8 +#: ../../main/micropython/umath.rst:64 a0b07882d9bd45f4a2f3d7dc20251366 msgid ".. image:: /blockimg/pybricks_blockMathOp_sin.svg" msgstr "" -#: df9d44201c934076a28a51e53e6150f9 of umath.sin:1 +#: 824fc25e8c3646b1a702326c5dcff151 of umath.sin:1 msgid "Gets the sine of an angle." msgstr "" -#: 42ff8ae02869402bba3d305eca2c8605 of umath.sin:6 +#: b8fb0d96ce494e4caccaf286bad7e1d5 of umath.sin:6 msgid "Sine of ``x``." msgstr "" -#: ../../main/micropython/umath.rst:68 29e8059f43f7452191f7534eb1b271db +#: ../../main/micropython/umath.rst:68 b14623472a494db2993c88c4f3f633ec msgid ".. image:: /blockimg/pybricks_blockMathOp_asin.svg" msgstr "" -#: 96f5d7574571466bb0936e7743ceedef of umath.asin:1 +#: 10e9f53dfd4f40979af14a90eeff0d5e of umath.asin:1 msgid "Applies the inverse sine operation." msgstr "" -#: 8362598470504ed5b9121d5065414b06 of umath.asin:3 +#: 40f10c2ea0ba49499fa2b0dfc822a347 of umath.asin:3 msgid "Opposite / hypotenuse." msgstr "" -#: 7ff16f1fcce04d249f99b3107f2dc7a3 of umath.asin:6 +#: 3b453f50ed5c41e3bb8d84fc20ecefa7 of umath.asin:6 msgid "Arcsine of ``x``, in radians." msgstr "" -#: ../../main/micropython/umath.rst:72 2699210d6d9c450e861feabc15ad6a8d +#: ../../main/micropython/umath.rst:72 e48d5d6c19e04da08f94c4c92e5916c4 msgid ".. image:: /blockimg/pybricks_blockMathOp_cos.svg" msgstr "" -#: d54d50a9effe4768aeaa0f5aae4f2e3e of umath.cos:1 +#: 81c3f141007644d784d5237e98e71b44 of umath.cos:1 msgid "Gets the cosine of an angle." msgstr "" -#: 8a79adb3d7fc4370b4a66e83363e7924 of umath.cos:6 +#: 5b30216a95e740358586d7d06ac9c90f of umath.cos:6 msgid "Cosine of ``x``." msgstr "" -#: ../../main/micropython/umath.rst:76 fae09ada2bd84b9fbbe117569203b186 +#: ../../main/micropython/umath.rst:76 9caf66dadea8442d8329e533d64c73e2 msgid ".. image:: /blockimg/pybricks_blockMathOp_acos.svg" msgstr "" -#: 3ae0c8cdb38a4e889740d71f171afba8 of umath.acos:1 +#: 00c65b7e52264b648bfc0db319da8cb1 of umath.acos:1 msgid "Applies the inverse cosine operation." msgstr "" -#: 6554301797e94949bdbc8e215837a22b of umath.acos:3 +#: f7aded1048e74cfba64594dc7be5d0b8 of umath.acos:3 msgid "Adjacent / hypotenuse." msgstr "" -#: 230c9f1aa38a4cb4affb872fafb1688e of umath.acos:6 +#: cc32121f95974cf9852167b5993094ef of umath.acos:6 msgid "Arccosine of ``x``, in radians." msgstr "" -#: ../../main/micropython/umath.rst:80 aeb552c26c944cc68be233075fc8df4b +#: ../../main/micropython/umath.rst:80 c949a356d41d42d08f120c49ac6f07fa msgid ".. image:: /blockimg/pybricks_blockMathOp_tan.svg" msgstr "" -#: 15e97f98db4f4700869f95dc0c955442 of umath.tan:1 +#: 4f54321ae7ce4a64b38a408947ce7f48 of umath.tan:1 msgid "Gets the tangent of an angle." msgstr "" -#: bb4e39ae514247448ef50593c9f2c186 of umath.tan:6 +#: 05e1cbacfcab4ec3bf6e118a58079d73 of umath.tan:6 msgid "Tangent of ``x``." msgstr "" -#: ../../main/micropython/umath.rst:84 7754ba38970e4b49acfbf174e9c71953 +#: ../../main/micropython/umath.rst:84 02e5ec40ac094f21885d25f15dd8303c msgid ".. image:: /blockimg/pybricks_blockMathOp_atan.svg" msgstr "" -#: f959b874b0c44acaa4756b24bfa3e7d0 of umath.atan:1 +#: 4acfedde72ff4479ac925795c0b92719 of umath.atan:1 msgid "Applies the inverse tangent operation." msgstr "" -#: 8499436f9a3549c3a051ae4646f04b4c of umath.atan:3 +#: 846a9c2be9f248bbb1712cb3adcf9ff2 of umath.atan:3 msgid "Opposite / adjacent." msgstr "" -#: 0952dbd1a6bf464eaf8ed4eb4515e332 of umath.atan:6 +#: 44812cba498a4feeb9924d102af8f485 of umath.atan:6 msgid "Arctangent of ``x``, in radians." msgstr "" -#: ../../main/micropython/umath.rst:88 7d3d6ecc686e41998a2de3671e87341d +#: ../../main/micropython/umath.rst:88 b9cbd294e48d4734bbe818b5ed883b9b msgid ".. image:: /blockimg/pybricks_blockMathOp_atan2.svg" msgstr "" -#: 5ca021ff91b943aea4bbf4d1c5a6b9e8 of umath.atan2:1 +#: ac5f8d8b3e1043cb819f8eb6ec25d570 of umath.atan2:1 msgid "" "Applies the inverse tangent operation on ``b / a``, and accounts for the " "signs of ``b`` and ``a`` to produce the expected angle." msgstr "" -#: fae3a224c24b42a3a18d127d74a5a63b of umath.atan2:4 +#: 58c7bbead29f47cdb6bb680e76b9e137 of umath.atan2:4 msgid "Opposite side of the triangle." msgstr "" -#: afaa9c6e276c49178b8b5ac4a997c1f3 of umath.atan2:6 +#: 84bf3198a3964e739074ba0423af2c2d of umath.atan2:6 msgid "Adjacent side of the triangle." msgstr "" -#: 6feadc83f68049feb53fa8cf4c71c8bd of umath.atan2:9 +#: 609f23fdebc84062819c219f42b64aaf of umath.atan2:9 msgid "Arctangent of ``b / a``, in radians." msgstr "" -#: ../../main/micropython/umath.rst:93 09003031cf6f493aaaf4ef3b27d2e8f2 +#: ../../main/micropython/umath.rst:93 90b7b0072820491098e16f68823d832b msgid "Other math functions" msgstr "" -#: c525aa58a1494df496dc92953f7517f2 of umath.isfinite:1 +#: cc7cad4235cb422b8ff6ebc39f026941 of umath.isfinite:1 msgid "Checks if a value is finite." msgstr "" -#: 1cc239eaecaa48b1afddc1d80900d26a b41f61f983364478be4c77f80a90e52c -#: e8a6e4f8a96d4dff9b9d54fd06d64a37 of umath.isfinite:3 umath.isinfinite:3 +#: 1289ca2f8d344098933f783c49d6e42b 76da3b63afe84ad7b9b2462e517207c8 +#: 7b95b17f88d8499b8dbaff83df88a369 of umath.isfinite:3 umath.isinfinite:3 #: umath.isnan:3 msgid "The value to be checked." msgstr "" -#: 16227f637e6a44cbbf3f5cf70f3c9279 of umath.isfinite:6 +#: 72b4d8a7e01a4259a80b6bee796800c3 of umath.isfinite:6 msgid "``True`` if ``x`` is finite, else ``False``." msgstr "" -#: 7d297a43f0954a4eb8d74dbfb2a65378 of umath.isinfinite:1 +#: f1f45d5df5ff416eb2897cab1d664d56 of umath.isinfinite:1 msgid "Checks if a value is infinite." msgstr "" -#: 60edbe25369d43dd8dc73f3419cf3e24 of umath.isinfinite:6 +#: 10e9803a65be444b9adeaa414e269827 of umath.isinfinite:6 msgid "``True`` if ``x`` is infinite, else ``False``." msgstr "" -#: 114d15d0be7749af8b56799f5e8a5c12 of umath.isnan:1 +#: dd9dd8d447fc4e29abe25ff7d4466024 of umath.isnan:1 msgid "Checks if a value is not-a-number." msgstr "" -#: a726e3d381a54717944e5d932818a15f of umath.isnan:6 +#: ff0f35585760437589d9835ad74fdd5e of umath.isnan:6 msgid "``True`` if ``x`` is not-a-number, else ``False``." msgstr "" -#: 8e96826734ed4a9699af32d65d0e5e5c of umath.modf:1 +#: 7bc048b6e40a4f1a9d285c6a95b4a050 of umath.modf:1 msgid "" "Gets the fractional and integral parts of ``x``, both with the same sign " "as ``x``." msgstr "" -#: 08bcecf7a91841119147a7202da7386c of umath.modf:4 +#: fa62cabed98b41f49453a1cc02af9586 of umath.modf:4 msgid "Not to be confused with :func:`fmod`." msgstr "" -#: 65ff92e6dcb945609307601644dbcbe1 c5b28b27a8254806a1e71ec5659d2906 of +#: 44590318bfcc4fcfbc95de3d2768900a b234f991fa48412693b764e9be398b38 of #: umath.frexp:4 umath.modf:6 msgid "The value to be decomposed." msgstr "" -#: 28f79c3c3948464699b96d13dca69b8b of umath.modf:9 +#: 6351862a3c2d4be68ddc655dd80f6547 of umath.modf:9 msgid "Tuple of fractional and integral parts." msgstr "" -#: 5b19aa8117ca4fe796e72702689b2382 of umath.frexp:1 +#: ec2fe2f4cf34406084eaed725471ce89 of umath.frexp:1 msgid "" "Decomposes a value ``x`` into a tuple ``(m, p)``, such that ``x == m * (2" " ** p)``." msgstr "" -#: 0976bcfba3b64dc6bdc90923891a71c4 of umath.frexp:7 +#: c75a9f61ea9843798f12fd1854a9dbb0 of umath.frexp:7 msgid "Tuple of ``m`` and ``p``." msgstr "" -#: da484d0eeb7348099d553ee53ea99a58 of umath.ldexp:1 +#: c13b6d2cb38243f08e8f06ca4a116585 of umath.ldexp:1 msgid "Computes ``m * (2 ** p)``." msgstr "" -#: 98aa6ea3e9964720997e983d1950a0e4 of umath.ldexp:8 +#: 110fd09abb8f496893f1be8126b2682c of umath.ldexp:8 msgid "Result of ``m * (2 ** p)``." msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/micropython/urandom.po b/doc/locales/de/LC_MESSAGES/micropython/urandom.po index 294309e5..736ecb50 100644 --- a/doc/locales/de/LC_MESSAGES/micropython/urandom.po +++ b/doc/locales/de/LC_MESSAGES/micropython/urandom.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,168 +19,168 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/micropython/urandom.rst:4 c263fc08849d42caa527005573703e1a +#: ../../main/micropython/urandom.rst:4 97d512f7f5154799b4c88c627adf58ac msgid ":mod:`urandom` -- Pseudo-random numbers" msgstr "" -#: 20defd2993bb4e1694d141a89e0a6970 of urandom:1 +#: fc75c6cc06c74a43921c446c1a1d2d94 of urandom:1 msgid "This module implements pseudo-random number generators." msgstr "" -#: 6982808e22bc4f439533b0be45892638 of urandom:3 +#: c72bc67552604b3ea3f04349ec41b26f of urandom:3 msgid "" "All functions in this module should be used with positional arguments. " "Keyword arguments are not supported." msgstr "" -#: ../../main/micropython/urandom.rst:10 7373d7b8183e43dd8e8c7733a06a4978 +#: ../../main/micropython/urandom.rst:10 a06ef8e1274e423e8218860e0f59c886 msgid "Basic random numbers" msgstr "" -#: ../../main/micropython/urandom.rst:11 206881cf675142db8b5ebf9bdcb6fb37 +#: ../../main/micropython/urandom.rst:11 a8e8eaa79d914b02865d4f63aa52deb2 msgid ".. image:: /blockimg/pybricks_blockRandInt.svg" msgstr "" -#: 956c530e619c40fdba867de11c5c0222 of urandom.randint:1 +#: 3bc5af0409b84a2b940682c615548f5e of urandom.randint:1 msgid "Gets a random integer :math:`N` satisfying :math:`a \\leq N \\leq b`." msgstr "" -#: ../../main/micropython/urandom.rst 15bb5b0dd5294221bdca444762834dd0 -#: 1f4e57cba3674efea5e6ae4bf6647f67 668c73471f7145a9b992af89b3169d36 -#: 945dd3176214466a9b4bdde5d001f175 9e1c0b307f194a5baa5438634d6b1f25 -#: ff37f8905c2c4f0cb82cc69782a4c8e7 +#: ../../main/micropython/urandom.rst 0b549dc77d60487a8f8e99140882f7bb +#: 218336bfff444155a4e650bd569711a4 273c49ef77cf4ea7b064dccafa43f17f +#: 8a427cecd1674391a9d10e9bfa68dfc6 8c36117144f048609da744bad8c1bffe +#: c874dee7840249db834bead57f23efef msgid "Parameters" msgstr "" -#: ed818cf64eec411a9100281c4261dd6b of urandom.randint:3 +#: 0fa7669d7c75419a8d8bcac48c89c5db of urandom.randint:3 msgid "Lowest value. This value *is* included in the range." msgstr "" -#: 905dd34d0ccf4e3eb859c9ace2467e88 of urandom.randint:5 +#: 3aacbed6f1fd46fe999b335d422d8a1f of urandom.randint:5 msgid "Highest value. This value *is* included in the range." msgstr "" -#: ../../main/micropython/urandom.rst 1844f8ef1e8c4341bfd342039682730f -#: 4b41b88ea0f0406a83a6fb3a5f2c4ad4 6b19c533bad44d87bc8dd315d4bde619 -#: 766144c1fe1e495d9cd395050cd9ab50 ae2855b0013446fb9ad895fee45bac08 +#: ../../main/micropython/urandom.rst 1df030298ef04ffea4aa8a908c17bf7c +#: 423e3e12ba5e4215817e39fdb79efd6f 46ba14ab7a04468784388ef4ab080531 +#: 4e1db9fcabe14897bc012b01e6bf519e 65af55f5634346eb86aacc96198ddd36 msgid "Returns" msgstr "" -#: d8dbb7193b874823ab774010e6cb1164 of urandom.randint:8 +#: aaf34f6e3cbd45d592a65be7a5966fe6 of urandom.randint:8 msgid "The random integer." msgstr "" -#: 56b7c7c5e66e46009a51bbae26adec51 of urandom.random:1 +#: eaa36c03fa704e42a5f190df74d51bba of urandom.random:1 msgid "Gets a random value :math:`x` satisfying :math:`0 \\leq x < 1`." msgstr "" -#: d261df89166745ef89ee3635f825ea36 d2ba89ef6422412aa907fa155124d9a3 of +#: 46d6a13131da43eb9562910b37f2a965 a14a85974b9e4eedb2459d73dfd19735 of #: urandom.random:3 urandom.uniform:8 msgid "The random value." msgstr "" -#: ../../main/micropython/urandom.rst:18 cc342d9b617a4a529a4c2e5e20d32156 +#: ../../main/micropython/urandom.rst:18 cf0f0605f00b4474b91f048c1344a4aa msgid "Random numbers from a range" msgstr "" -#: f9bfeee4ad4d4d05ac706ef42c1aa0d6 of urandom.getrandbits:1 +#: 786079d93d1a47478f71c21896097752 of urandom.getrandbits:1 msgid "" "Gets a random integer :math:`N` satisfying :math:`0 \\leq N < " "2^{\\text{k}}`." msgstr "" -#: d57af5cb97da44069a5132119f4ac8f5 of urandom.getrandbits:3 +#: 264c08e827584defa95588e6e3557994 of urandom.getrandbits:3 msgid "How many bits to use for the result." msgstr "" -#: 4479b17412e14dfbbde17910d7476c26 of urandom.randrange:1 +#: eb51fb1a9301465e9dc63c1f179f7be2 of urandom.randrange:1 msgid "" "randrange(stop) -> int randrange(start, stop) -> int randrange(start, " "stop, step) -> int" msgstr "" -#: b1280881aca24fb983d713f3711756f2 of urandom.randrange:5 +#: 37354aca6b9a44588dcd09b6db2d8057 of urandom.randrange:5 msgid "Returns a randomly selected element from ``range(start, stop, step)``." msgstr "" -#: 92afebcba2e44149a418247a52eb0b86 of urandom.randrange:7 +#: 1ffe35f873264d97ae7605feee2d4636 of urandom.randrange:7 msgid "" "For example, ``randrange(1, 7, 2)`` returns random numbers from ``1`` up " "to (but excluding) ``7``, in increments of ``2``. In other words, it " "returns ``1``, ``3``, or ``5``." msgstr "" -#: b1116ec95be84681adae6de1ab35fb2b of urandom.randrange:12 +#: 9a6ef9dc4e484d1cbbff0e038099f06b of urandom.randrange:12 msgid "Lowest value. Defaults to ``0`` if only one argument is given." msgstr "" -#: a21ae641b47046fdbf415e5e778f96fa of urandom.randrange:14 +#: 892f332beb59488e84410bcb711acf2a of urandom.randrange:14 msgid "Highest value. This value is *not* included in the range." msgstr "" -#: a43987b0bda4477b9c1d3d22f5ae1069 of urandom.randrange:16 +#: 61bd71220b014a7695da44d5a2cbca22 of urandom.randrange:16 msgid "" "Increment between values. Defaults to ``1`` if only one or two arguments " "are given." msgstr "" -#: 8e17509201d345c9ba5f5f31634b99f3 of urandom.randrange:20 +#: d615240e40844ea090768fcf54e46d72 of urandom.randrange:20 msgid "The random number." msgstr "" -#: 79e629bd8f484fde9e6701332a625c50 of urandom.uniform:1 +#: 5dfd3bfaec9848d3be68382d7d947654 of urandom.uniform:1 msgid "" "Gets a random floating point value :math:`x` satisfying :math:`a \\leq x " "\\leq b`." msgstr "" -#: bcb2ac5ef1ee4779b04ea400a3be6d17 of urandom.uniform:3 +#: 4fe2bf9bbfa744ffa7387a4cb3d9ec77 of urandom.uniform:3 msgid "Lowest value." msgstr "" -#: d67de72267ca408f857b5491273a28cf of urandom.uniform:5 +#: 8656df5cda8d48cd9a81cea140a1f4ac of urandom.uniform:5 msgid "Highest value." msgstr "" -#: ../../main/micropython/urandom.rst:26 b10f2504850e4665b3d97fa906c2288e +#: ../../main/micropython/urandom.rst:26 5741c5c21f6c463590e9f77d113abf2a msgid "Random elements from a sequence" msgstr "" -#: 2e2f4f1078794d6d9a19a97ceb512769 of urandom.choice:1 +#: 59bd0fc2b50c470398123491d0c41d3d of urandom.choice:1 msgid "Gets a random element from a sequence such as a tuple or list." msgstr "" -#: 6bb01e4ace7e455fa5b0723ce25a8576 of urandom.choice:3 +#: 81918735a7f242149bb7c517445071ac of urandom.choice:3 msgid "Sequence from which to select a random element." msgstr "" -#: 7468bad4c4c0433ea4a6bf2b191ea621 of urandom.choice:5 +#: 6526faed8f204f919647bdd174bd295e of urandom.choice:5 msgid "The randomly selected element." msgstr "" -#: ../../main/micropython/urandom.rst debb79fe169744fe96fb4ea6ed3352d2 +#: ../../main/micropython/urandom.rst 9c772bf0dba3466db85c8aa34f960b5b msgid "Raises" msgstr "" -#: 6bbe3ea3cccd45d5b2cf4f3d8298ab92 of urandom.choice:7 +#: 1466087009654ad39a36fb0eab0ced59 of urandom.choice:7 msgid "If the sequence is empty." msgstr "" -#: ../../main/micropython/urandom.rst:30 ca509c4201df4d05bce69da941aa2b23 +#: ../../main/micropython/urandom.rst:30 71636283c1ec40169677917c92d7175c msgid "Updating the random seed" msgstr "" -#: 54443a5a12024dd9af06354ed052c4e2 of urandom.seed:1 +#: 69ea1afc40ec44f183b4e2154cbfd9e9 of urandom.seed:1 msgid "Initializes the random number generator." msgstr "" -#: fe34891c50e64238b190c22a602053a3 of urandom.seed:3 +#: 8e94132e090c419db5e85d39deb25ff8 of urandom.seed:3 msgid "" "This gets called when the module is imported, so normally you do not need" " to call this." msgstr "" -#: 13f95c513b9141829121f23d68b9741f of urandom.seed:6 +#: 8268a81459da488abf3d5fa894215510 of urandom.seed:6 msgid "Seed value. When using ``None``, the system timer will be used." msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/micropython/uselect.po b/doc/locales/de/LC_MESSAGES/micropython/uselect.po index c1d36550..06dd1cab 100644 --- a/doc/locales/de/LC_MESSAGES/micropython/uselect.po +++ b/doc/locales/de/LC_MESSAGES/micropython/uselect.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,106 +19,106 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/micropython/uselect.rst:4 a2f4c6c81cda46f287f7e51fa57d9f90 +#: ../../main/micropython/uselect.rst:4 1ae29a4871b84d8b88428cda28f7862f msgid ":mod:`uselect` -- Wait for events" msgstr "" -#: 7ae2510990b841199e97f3ac7e972e65 of uselect:1 +#: 169f2208ca8d4cf2b3f64458b10dbce3 of uselect:1 msgid "" "This module provides functions to efficiently wait for events on multiple" " streams." msgstr "" -#: ../../main/micropython/uselect.rst:10 f63cb13b964a41b7aefd9250ccfd688d +#: ../../main/micropython/uselect.rst:10 b1ea928f1aab4f7eb3137b5683b8e4a1 msgid "Poll instance and class" msgstr "" -#: 78ea2b8ff40646de89b2931b0194a7f8 of uselect.poll:1 +#: 50222f6ad512462fa281fbda1d20d1b5 of uselect.poll:1 msgid "Creates an instance of the :class:`Poll` class." msgstr "" -#: ../../main/micropython/uselect.rst d716b4458ecc464c8c0c730e5ee8d777 -#: fd158e9b994e4a6ca557e09ad0dd2e3b +#: ../../main/micropython/uselect.rst 6420ce21803e433391d926bfa45f8e53 +#: 709d39d53c1a4d339a92b1e87185dd60 msgid "Returns" msgstr "" -#: 37460669f839452abfa777c17381b0ad of uselect.poll:3 +#: dec50f83d0d146f6b7d4c0dc9e1c7598 of uselect.poll:3 msgid "The :class:`Poll` instance." msgstr "" -#: 9d8eb80587874b36a9ec7ed77725590f of uselect.Poll.register:1 +#: bb14bb6b15a64ecb95ce7a1fa53e0a14 of uselect.Poll.register:1 msgid "" "Register a stream object for polling. The stream object will now be " "monitored for events. If an event happens, it becomes part of the return " "value of :meth:`poll`." msgstr "" -#: 8c573d0d574f430a8237a5b3dba96ab4 of uselect.Poll.register:5 +#: a5bd7162a48948d4bfd5dc15cc2262b0 of uselect.Poll.register:5 msgid "" "If this method is called again for the same stream object, the object " "will not be registered again, but the ``eventmask`` flags will be " "updated, as if calling :meth:`modify()`." msgstr "" -#: ../../main/micropython/uselect.rst 1d7bab506e7f43d6bacfdbce4da52e75 -#: 2ee0a73ba5524d8f9493966392b682c6 390943851993450a9b936f4eb2ff0777 -#: 92e9e398f8be45149cc5bd292f92f624 cf71df78681b42a0b3540aa382a16ed4 +#: ../../main/micropython/uselect.rst 6b2754fe84a04f5f8d1bb39a2edd8bcf +#: 6dd9d9f08df84d65839902b82f8723c0 9c9bc6e1cd9a4d43b8cdc9987a07a1b3 +#: b31069cbe9fc473da85dd4bdbc1d2b08 d861895c6daa445392d17369d5efae99 msgid "Parameters" msgstr "" -#: 9f7483d964d14dbab4dc92d016b4d69f ff088c884a6841f688e46e452ed006c6 of +#: 5dacb6704aab457988b04567f68dafcd 75c9ab8d6c5547d6ab66514f51d7ef9a of #: uselect.Poll.modify:3 uselect.Poll.register:9 msgid "Stream to be registered for polling." msgstr "" -#: 113800cf3c6a4910a4a1dbe7998d9e2c of uselect.Poll.register:11 +#: 8af8f3dc67404a42a029228756b12d5d of uselect.Poll.register:11 msgid "" "Which events to use. Should be ``POLLIN``, ``POLLOUT``, or their logical " "disjunction: ``POLLIN | POLLOUT``." msgstr "" -#: a79a361be21345e09c72bda761bd0ffe of uselect.Poll.unregister:1 +#: 85a891c931cf4b26b8c6cc049dd9369e of uselect.Poll.unregister:1 msgid "Unregister an object from polling." msgstr "" -#: e0f0f1067dd044288f698c0c498f8a75 of uselect.Poll.unregister:3 +#: 0b27ea29e5c84ed4a58816b3bd423a01 of uselect.Poll.unregister:3 msgid "Stream to be unregistered from polling." msgstr "" -#: 11509e246bc947368425dc1ea57324de of uselect.Poll.modify:1 +#: b85e53ab286b4a19a720c16a06c17482 of uselect.Poll.modify:1 msgid "Modifies the event mask for the stream object." msgstr "" -#: a48ab07eab9e40edb404d93dbb68dc4a of uselect.Poll.modify:5 +#: 7b72bf172edc4339b14719f8a96a7a64 of uselect.Poll.modify:5 msgid "Which events to use." msgstr "" -#: ../../main/micropython/uselect.rst 5911ce75a2094d8db74d5a7c5a64a423 +#: ../../main/micropython/uselect.rst 9636de4c92b24947ada46519754d468d msgid "Raises" msgstr "" -#: 44d9424d642b45cabefa22e451e29032 of uselect.Poll.modify:8 +#: 954b8323ef4c42b6ac7e617a7f1919b9 of uselect.Poll.modify:8 msgid "If the object is not registered. The error is ``ENOENT``." msgstr "" -#: 00e05011ded24173a75b53ed569764c1 of uselect.Poll.poll:1 +#: 5204b4378d1447af8933edfbc1281810 of uselect.Poll.poll:1 msgid "poll(timeout=-1) -> List[Tuple[FileIO, int]]" msgstr "" -#: 30242c660b8640d2a624edbf9e8c4140 of uselect.Poll.poll:3 +#: 8ec57ce64e3c4514a16546051ab21e3a of uselect.Poll.poll:3 msgid "" "Wait until at least one of the registered objects has a new event or " "exceptional condition ready to be handled." msgstr "" -#: a1cfafd1c8c64e8ea8a2010818ee363d bdeb6d6f721c4aaeabaf0fd3a582fafa of +#: 47c48e75904d4a7faed45c2d4262675c 607502e1e5ae40ac9bec6e69b1c4c5a4 of #: uselect.Poll.ipoll:11 uselect.Poll.poll:6 msgid "" "Timeout in milliseconds. Choose ``0`` to return immediately or choose " "``-1`` to wait indefinitely." msgstr "" -#: 9759d0cfe44049fd9be0703ba0e56a68 of uselect.Poll.poll:10 +#: 9e41ed4a95d04dd68f9faf7deeb71773 of uselect.Poll.poll:10 msgid "" "A list of tuples. There is one (``object``, ``eventmask``, ...) tuple for" " each object with an event, or no tuples if there are no events to be " @@ -127,17 +127,17 @@ msgid "" " if they were not registered." msgstr "" -#: 23eb9a60fc8a409886a51102d0913b65 of uselect.Poll.ipoll:1 +#: cc7e75838893421a833ca1d049035cb6 of uselect.Poll.ipoll:1 msgid "ipoll(timeout=-1, flags=1) -> Iterator[Tuple[FileIO, int]]" msgstr "" -#: 89f1a373e4b247a9ac0bcea481a8f7f5 of uselect.Poll.ipoll:3 +#: 67abd99f9f3e4377af1558f0b5a5781b of uselect.Poll.ipoll:3 msgid "" "First, just like :meth:`poll`, wait until at least one of the registered " "objects has a new event or exceptional condition ready to be handled." msgstr "" -#: 9c774506584546dea047057e0b38a24f of uselect.Poll.ipoll:6 +#: ba54e7999c35469c98e3dd69efed2c10 of uselect.Poll.ipoll:6 msgid "" "But instead of a list, this method returns an iterator for improved " "efficiency. The iterator yields one (``object``, ``eventmask``, ...) " @@ -145,7 +145,7 @@ msgid "" "need the values later, make sure to copy them explicitly." msgstr "" -#: eea15fc6325a4028b4f163af9d8dd08b of uselect.Poll.ipoll:14 +#: 643d391ecfc14ddf9596e26167b01319 of uselect.Poll.ipoll:14 msgid "" "If set to ``1``, one-shot behavior for events is employed. This means " "that streams for which events happened will have their event masks " @@ -154,36 +154,36 @@ msgid "" ":meth:`modify`, which is useful for asynchronous I/O schedulers." msgstr "" -#: ../../main/micropython/uselect.rst:27 6ffa24380b084ebcb4e6069afee37532 +#: ../../main/micropython/uselect.rst:27 6dd71e479c7241fc99b33c445b2d94de msgid "Event mask flags" msgstr "" -#: ../../docstring afe9c5d15d784da59e2ff894773de413 of uselect.POLLIN:1 +#: ../../docstring e1a5eded49a84eaa8a6ddf2dc901166d of uselect.POLLIN:1 msgid "Data is available for reading." msgstr "" -#: ../../docstring c7a36c178f244416b27410d9f6d4f5af of uselect.POLLOUT:1 +#: ../../docstring ffa276bca24d40a581a165e322146a9b of uselect.POLLOUT:1 msgid "More data can be written." msgstr "" -#: ../../docstring 03ed06e7111e4a8abfebdfb4186a5860 of uselect.POLLERR:1 +#: ../../docstring 247a2f897d0b4b938cdb3876a3ebf582 of uselect.POLLERR:1 msgid "" "Error condition happened on the associated stream. Should be handled " "explicitly or else further invocations of :meth:`poll` may return right " "away." msgstr "" -#: ../../docstring f86a19e20b174e85b5644b87d9539700 of uselect.POLLHUP:1 +#: ../../docstring cea7747bb7d844bc83e189226e31d5e7 of uselect.POLLHUP:1 msgid "" "Hang up happened on the associated stream. Should be handled explicitly " "or else further invocations of :meth:`poll` may return right away." msgstr "" -#: ../../main/micropython/uselect.rst:37 258fd1c608b94313a8e773680d75fa4b +#: ../../main/micropython/uselect.rst:37 a0bd447cc5b84f599f90d71db9602907 msgid "Examples" msgstr "" -#: ../../main/micropython/uselect.rst:39 44030ab5b71b4f5fb5abd19cc698cfa4 +#: ../../main/micropython/uselect.rst:39 55506a404acd4e3298e765e64e2502b5 msgid "See the `projects website`_ for a demo that uses this module." msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/micropython/ustruct.po b/doc/locales/de/LC_MESSAGES/micropython/ustruct.po index c3383f9c..e6058eb4 100644 --- a/doc/locales/de/LC_MESSAGES/micropython/ustruct.po +++ b/doc/locales/de/LC_MESSAGES/micropython/ustruct.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,337 +19,337 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/micropython/ustruct.rst:4 94ea674dc0f34bd3bd0f45433128da33 +#: ../../main/micropython/ustruct.rst:4 84e5519c1cd94a69803bbc5772fc0a7b msgid ":mod:`ustruct` -- Pack and unpack binary data" msgstr "" -#: f4588a3f1d6249f79f152bb04819e63a of ustruct:1 +#: 65e84f0d286a48958378bd39c3374dce of ustruct:1 msgid "" "This module provides functions to convert between Python values and " "C-like data structs." msgstr "" -#: 3a8ab51d99ac41b796c0ef54eac4fe6f of ustruct.calcsize:1 +#: 9e6490cbaca14e2d865427d0b037fa7a of ustruct.calcsize:1 msgid "Gets the data size corresponding to a format string" msgstr "" -#: ../../main/micropython/ustruct.rst 51a4892b931b40f4809b9248656ea0db -#: 5379692e605f48c0af4099225f47ece4 844da7b3a84d4a8e9cab55d6e485d0e0 -#: 8bad315ebf38487cbfbec9996fcfb8da fd1299c25f2c4ef5b2b87845d1f59451 +#: ../../main/micropython/ustruct.rst 58b60ca19743456d82998b38afce96d8 +#: 8b82550242394dd68d5fe82bf8ee1e3c a6735b933c8e409389aaaa7e1dfefd29 +#: b92329f01b564249b98de5c5735bf03a ff0f6996226f4049a64cfb0040114830 msgid "Parameters" msgstr "" -#: 581ba2d4a2b746099ba1f099d3aa8c92 60beff4258724fac898a53fc8f0c5619 -#: 61edb7144a734d4b86668171ad7fa4a8 6cd9fe93986d4d5694fba45542930035 -#: 89a740764c87478a95dc1463f34de6e9 of ustruct.calcsize:3 ustruct.pack:3 +#: 47181a82a8f147b49bea4138de06be55 5744baf9e8224bab94df29f1a53a26b2 +#: 7a7ad7c9df094747958771c479080534 9fe3234621b541da9321af974d0fbf5d +#: cf175f494f2148b391535d515a664a68 of ustruct.calcsize:3 ustruct.pack:3 #: ustruct.pack_into:3 ustruct.unpack:3 ustruct.unpack_from:3 msgid "Data format string." msgstr "" -#: ../../main/micropython/ustruct.rst 060c30a97eea426dad5e148edb5d3729 -#: 6218dc4c4aaf4779bfe70a3f80203077 83cce474508e4eb180cc730387cebbe7 -#: e5c57e290c8241809f9e69e175f99870 +#: ../../main/micropython/ustruct.rst 00a22a070a6546b88246b145411e1226 +#: 172338215c454da489a3d0688b94ea90 2d24acce4fd24b739f366662e06a20bb +#: 60812f36666340fbbc7f5cca78ddb064 msgid "Returns" msgstr "" -#: 35d2faae21af48708924ce3f29fee1e2 of ustruct.calcsize:6 +#: 967f423b3365426ab0156c583cb9c98c of ustruct.calcsize:6 msgid "The number of bytes needed to represent this format." msgstr "" -#: cc5251094ad645aa935a04a4ee77f5d5 of ustruct.pack:1 +#: c14a853a9f9e4ddeb13f39031a387da8 of ustruct.pack:1 msgid "Packs the values using the given format." msgstr "" -#: 304c61a2c14a4cbc8de7133964011684 of ustruct.pack:6 +#: 51b97841df37465ea9217b16abf54ef7 of ustruct.pack:6 msgid "The data encoded as bytes." msgstr "" -#: 9151c61cbb3942e8aeda9c71ea2f1efe of ustruct.pack_into:1 +#: b799b9575d4f493092b22d77dbbbfbef of ustruct.pack_into:1 msgid "Encode the values using the given format and write them to a given buffer." msgstr "" -#: d85fe4dcb30348a9beff9d102d31e9a7 of ustruct.pack_into:5 +#: 41a3db1ef0794362bae00dd2c6006213 of ustruct.pack_into:5 msgid "Buffer to store the encoded data." msgstr "" -#: 3d21dfd9356a43d0826880ed1ec828ff of ustruct.pack_into:7 +#: 25c3ae4a16e648d6bcf3e7d52f008ca0 of ustruct.pack_into:7 msgid "" "Offset from the start of the buffer. Use a negative value to count from " "the end of the buffer." msgstr "" -#: 9fb15edab4bd4dd58252f39d89448616 of ustruct.unpack:1 +#: d7dff14094a34da480761796193f8676 of ustruct.unpack:1 msgid "Decodes the binary data using the given format." msgstr "" -#: 101f087163034e1d878a9fa43c9db292 of ustruct.unpack:5 +#: fd62d31641914b118d71834d58376745 of ustruct.unpack:5 msgid "Data to unpack." msgstr "" -#: 4d16fbdad33f4a90b5941b255c2539db efac6346808f4538b330b4fdf8164a20 of +#: 386461cd96ff49b28be8d2b43486ba0d 5295148cf2b44b77bd1b34960169b8d2 of #: ustruct.unpack:8 ustruct.unpack_from:11 msgid "The decoded data as a tuple of values." msgstr "" -#: 49f5caea19bd4b3590f7fd0f44d1e92e of ustruct.unpack_from:1 +#: b37fb71fbb554775ac9b7d10bb70864b of ustruct.unpack_from:1 msgid "Decodes binary data from a buffer using the given format." msgstr "" -#: eccef91c8cf3497fa7c9f17bcda3244a of ustruct.unpack_from:5 +#: 8987a3cd14d6446da4a6b4fdb2f6925b of ustruct.unpack_from:5 msgid "Data buffer to unpack." msgstr "" -#: 9379ca0d430248b69230b9a44b628252 of ustruct.unpack_from:7 +#: d0ce3f71eaee412f966a4f13e36f2ab2 of ustruct.unpack_from:7 msgid "" "Offset from the start of the data. Use a negative value to count from the" " end of the data." msgstr "" -#: ../../main/micropython/ustruct.rst:8 c36dfc48bfa84c2cb9855e470d169c2e +#: ../../main/micropython/ustruct.rst:8 ee09582cdff24fecb2901ec641011992 msgid "The following byte orders are supported:" msgstr "" -#: ../../main/micropython/ustruct.rst:11 a0b6fda8dcda490d9659665a2eb46331 +#: ../../main/micropython/ustruct.rst:11 65630f767962463b84ee67a2bf11be86 msgid "Character" msgstr "" -#: ../../main/micropython/ustruct.rst:11 f6ba1c4b7b574ec4b85fe9c97f8f6584 +#: ../../main/micropython/ustruct.rst:11 f20deb09cbbd4bdda336891be68d6d5a msgid "Byte order" msgstr "" -#: ../../main/micropython/ustruct.rst:11 94781d31d4ce45f594399432d075dcb7 +#: ../../main/micropython/ustruct.rst:11 cb2a73c3928b423c910fc3910e4a3c1f msgid "Size" msgstr "" -#: ../../main/micropython/ustruct.rst:11 f7ad7e372d34411cbce2cad313d06404 +#: ../../main/micropython/ustruct.rst:11 b75534bd19054ee4a47de65ea1fc1225 msgid "Alignment" msgstr "" -#: ../../main/micropython/ustruct.rst:13 dcd7cd4b9e9942d3af679c7393edc728 +#: ../../main/micropython/ustruct.rst:13 46c98b85b39d4268bb50fc7e31a7ff68 msgid "@" msgstr "" -#: ../../main/micropython/ustruct.rst:13 72685f5461ba40daad5fed13926a29b9 -#: 87a1bbec1a6e499984b52790f8dfe79a e4a3cc7defcd4bed817f30139e132ae9 +#: ../../main/micropython/ustruct.rst:13 21779b34ab694ccc9c1053bc7e41d61e +#: 80f650a2cd8b49deaf8b4174bfb182ab dfb6df5bda7341dcab89f2da89a2c448 msgid "native" msgstr "" -#: ../../main/micropython/ustruct.rst:15 8c3a9ab5dad84d08bb2cceb800c3e0f5 +#: ../../main/micropython/ustruct.rst:15 5c591636f8e649739e06a6e90d9509ef msgid "<" msgstr "" -#: ../../main/micropython/ustruct.rst:15 ed0b69ab1c274faebb25e0655a7fc0bd +#: ../../main/micropython/ustruct.rst:15 e6df1fee9f4d433f812814ee38c31bd9 msgid "little-endian" msgstr "" #: ../../main/micropython/ustruct.rst:15 ../../main/micropython/ustruct.rst:17 -#: ../../main/micropython/ustruct.rst:19 5c502724934e4d9ebd6e75133709dfd9 -#: 8e5a33988e1d4ab697abb78c724afc9c d68a53257d774cf99ca45ecd464e1b01 +#: ../../main/micropython/ustruct.rst:19 609c3fcb1cf14767809544a6f57c1b6d +#: cf9a36d1ce204f5a88b38b2a6d7e52ee ea43982c8eb34627893cbe12eda19026 msgid "standard" msgstr "" #: ../../main/micropython/ustruct.rst:15 ../../main/micropython/ustruct.rst:17 -#: ../../main/micropython/ustruct.rst:19 089f5472c05d428a8e4edf26354fab49 -#: 53c2d52a3d48456e9ed079cfc03a81bf 8c1d11b0c1de4953a39914b60c0dfc6b +#: ../../main/micropython/ustruct.rst:19 1743ade5928e49e0a44ad3c1365f50a9 +#: 4fa42cfe4fa0499391c17ff627ea74f0 8ddeb2cf2253434796355fe56c73e31c msgid "none" msgstr "" -#: ../../main/micropython/ustruct.rst:17 39bbcc41eb0542d38f809869528ee210 +#: ../../main/micropython/ustruct.rst:17 e3729acc5be0484b961dc236d3957804 msgid ">" msgstr "" -#: ../../main/micropython/ustruct.rst:17 69f1581c6a744f10924aa1cea5060f15 +#: ../../main/micropython/ustruct.rst:17 8bde604886d34fe48fb2ddfad3a0a7cd msgid "big-endian" msgstr "" -#: ../../main/micropython/ustruct.rst:19 c998acc843bb43fe8923c78b1a75896a +#: ../../main/micropython/ustruct.rst:19 0a40ad39dbfe464ba6e01f17359a6903 msgid "!" msgstr "" -#: ../../main/micropython/ustruct.rst:19 69ec643a4ce84e388186c9e350b0dfca +#: ../../main/micropython/ustruct.rst:19 0e318be7e5d0408fa76c17e5548f2439 msgid "network (= big-endian)" msgstr "" -#: ../../main/micropython/ustruct.rst:22 051946d7f82741669131b4b3d31c3db3 +#: ../../main/micropython/ustruct.rst:22 3fa422a99a1f40529355ddab8b53a934 msgid "The following data types are supported:" msgstr "" -#: ../../main/micropython/ustruct.rst:25 8e1c990623964aba9afa69ee0fce8662 +#: ../../main/micropython/ustruct.rst:25 2b75fe4f134f49618471c6ad4228c5b9 msgid "Format" msgstr "" -#: ../../main/micropython/ustruct.rst:25 87ee3287a24f4f9687886a2987085b7b +#: ../../main/micropython/ustruct.rst:25 dfd8e26dc14c49ff813a58d89fd547a6 msgid "C Type" msgstr "" -#: ../../main/micropython/ustruct.rst:25 09f73d98f9d54812a5f7f3a787a6139c +#: ../../main/micropython/ustruct.rst:25 5c0e6be6fe9e4ec4abfd87d080691670 msgid "Python type" msgstr "" -#: ../../main/micropython/ustruct.rst:25 b63be7b97a1e4d4cb9c816713a295c40 +#: ../../main/micropython/ustruct.rst:25 6ca4c74e45a646d1881d2ea58e30af0e msgid "Standard size" msgstr "" -#: ../../main/micropython/ustruct.rst:27 03f2a07df631475b959969a2e5cb8686 +#: ../../main/micropython/ustruct.rst:27 a630cd68979347c38f32caea5e293447 msgid "b" msgstr "" -#: ../../main/micropython/ustruct.rst:27 941f1b2167774acebf472456a0553c50 +#: ../../main/micropython/ustruct.rst:27 cc2df43555ea4c2ba8c38bb1553c0d1d msgid "signed char" msgstr "" #: ../../main/micropython/ustruct.rst:27 ../../main/micropython/ustruct.rst:29 #: ../../main/micropython/ustruct.rst:31 ../../main/micropython/ustruct.rst:33 #: ../../main/micropython/ustruct.rst:35 ../../main/micropython/ustruct.rst:37 -#: ../../main/micropython/ustruct.rst:53 3915dcdb9fc9421ebd27a5e7970e0bc2 -#: 6dde146aa9f84fbc9bc55c3915c13c52 a93e66dc791f45d2bc44fc8f43868099 -#: bd34dcf7c1554db39423bef0e81ddb9a d64b8b6441be4d6f9f84e09dc177406b -#: ddee4dca55e2470ea14ab02ad8e3c6d3 de0ecb04491242d499928a802698c6ab +#: ../../main/micropython/ustruct.rst:53 01d33e5eb71e4e32beabcb00b19f0a5a +#: 2c9c5c37b9204a12b1e9736adf4388bc 4824a30287ad4701af482c9543ca951a +#: 54eebeab7e904e1393b3e79e5106299f 61f150b03db646e09ed52a8e6c83abf8 +#: 888fcbe3a33a4e02a37c73a2fba7a910 d0466561c02242d9bb9096ee6f1ea8e1 msgid "integer" msgstr "" #: ../../main/micropython/ustruct.rst:27 ../../main/micropython/ustruct.rst:29 -#: 51c6b581580745debb65860470bb13b8 676f272988ce443a892586a5c3b27b40 +#: 7a80912e99154fc69443068b8a786091 f1b409895f6e485c9ce3743f2586d945 msgid "1" msgstr "" -#: ../../main/micropython/ustruct.rst:29 339043d1e49f42ed8d29c715f6c6878e +#: ../../main/micropython/ustruct.rst:29 a6cbe2e6b3834f2e916fa32683d9f2bd msgid "B" msgstr "" -#: ../../main/micropython/ustruct.rst:29 119f135d7c8e4e07b0a2fe9f5211d43e +#: ../../main/micropython/ustruct.rst:29 09c6c3a6f6ae4073bcedf61de63265bc msgid "unsigned char" msgstr "" -#: ../../main/micropython/ustruct.rst:31 0f771ef3ab7743389a09b2f57b6aacc5 +#: ../../main/micropython/ustruct.rst:31 71bb1734d3ae47d7a5e21f4ce1db5000 msgid "h" msgstr "" -#: ../../main/micropython/ustruct.rst:31 ac8866c61a3246eeac39d5aa719e2b1f +#: ../../main/micropython/ustruct.rst:31 9f0367d943854369a1b72ab1170e0dad msgid "short" msgstr "" #: ../../main/micropython/ustruct.rst:31 ../../main/micropython/ustruct.rst:33 -#: 6d64c86d187a41639588fad0eeacb629 cfd281e909d047f5a01696f77a9601f6 +#: 7e23c34af73c4c789bbd90ac6e25801a 8129bea12ef44e4dbf017f19116ce40d msgid "2" msgstr "" -#: ../../main/micropython/ustruct.rst:33 b5a2d1d546054ad797378fe7770ee150 +#: ../../main/micropython/ustruct.rst:33 d1d8fd5aa02042b692564ad1fc6d51e2 msgid "H" msgstr "" -#: ../../main/micropython/ustruct.rst:33 20a4d9e5aa044190a0b1d15a2d5f8bd5 +#: ../../main/micropython/ustruct.rst:33 4ea6450caf0040faaf24c30a01535506 msgid "unsigned short" msgstr "" -#: ../../main/micropython/ustruct.rst:35 7dc6d4419844441da4b3812013ac2185 +#: ../../main/micropython/ustruct.rst:35 12314eb538454c00ae878882604722a9 msgid "i" msgstr "" -#: ../../main/micropython/ustruct.rst:35 5e84ddd8e8e1461f91ac228e28a3ff1e +#: ../../main/micropython/ustruct.rst:35 8566d4f8cb37421f9b7aaf4cb3b209a4 msgid "int" msgstr "" #: ../../main/micropython/ustruct.rst:35 ../../main/micropython/ustruct.rst:37 #: ../../main/micropython/ustruct.rst:39 ../../main/micropython/ustruct.rst:41 -#: ../../main/micropython/ustruct.rst:47 1aaf67e113794258bda9c8d46d73f380 -#: 50391837ffe14a03aed658a4078e3e23 8b3c993aaf8d46c593b22af17f21e928 -#: a13b69aca82b4d48afe1cf8ce9a38130 b6506e8eb2db40e2890a3877b86c9c3f +#: ../../main/micropython/ustruct.rst:47 7d69639508b145ceb8cf12ee41b3af9d +#: a2185972225a47c2a1a81f2dbc9ceda5 b2ca52f834ad41cda776f159484b48d7 +#: d3ca0e115d3b47738c75eb8e313293a5 ec573e7c4bdc4614acd90cce664137cc msgid "4" msgstr "" -#: ../../main/micropython/ustruct.rst:37 460bce1d08ad4cd3901a0576b0fe0fb0 +#: ../../main/micropython/ustruct.rst:37 9a724c2dc1c74d5aa25dab7774f42dc2 msgid "I" msgstr "" -#: ../../main/micropython/ustruct.rst:37 3d40d75a5a38408aa7ea449ff04e2055 +#: ../../main/micropython/ustruct.rst:37 6f7dce4a2b104753919cffb2c460514b msgid "unsigned int" msgstr "" -#: ../../main/micropython/ustruct.rst:39 9993de2882a940ffaa71e840cb58e804 +#: ../../main/micropython/ustruct.rst:39 367383c1351547eaa4147d37f3935614 msgid "l" msgstr "" -#: ../../main/micropython/ustruct.rst:39 24d83a54a471499f93d3552dd6e94b32 +#: ../../main/micropython/ustruct.rst:39 e83cc44dbab6441caed4a3edf75c3caa msgid "long" msgstr "" #: ../../main/micropython/ustruct.rst:39 ../../main/micropython/ustruct.rst:41 #: ../../main/micropython/ustruct.rst:43 ../../main/micropython/ustruct.rst:45 -#: 6bfee8559c054095b21708b69272a905 844bed1734064c879c8a6e7b9e532b6d -#: 87081d333c2f401986a9f4771603edf3 be1445d2e9fc448a9516434f3636940c +#: 11bdd673c98d47b79072b579d0f5045d 4ef4d44987934583aa49e77a81068925 +#: 50ca4ebebe924c50b48abe1ba768d239 d363ccb4f6484e9fa7185376ef654c6a msgid "integer (1)" msgstr "" -#: ../../main/micropython/ustruct.rst:41 92e8c465db8044338e27a6614f7ca8da +#: ../../main/micropython/ustruct.rst:41 22b3d81307d14b16a2bec0219f4f8fdf msgid "L" msgstr "" -#: ../../main/micropython/ustruct.rst:41 ccc747b3d73b485484db534d4dfae62b +#: ../../main/micropython/ustruct.rst:41 bb6a2ec1cb87478bad0ff0507437e593 msgid "unsigned long" msgstr "" -#: ../../main/micropython/ustruct.rst:43 068ca59117604270bd24d5c4ecf560f1 +#: ../../main/micropython/ustruct.rst:43 43ed7df465334ad2bbdd98df5b1c30f0 msgid "q" msgstr "" -#: ../../main/micropython/ustruct.rst:43 e8922bfceda34cf1a0c4031f760ea695 +#: ../../main/micropython/ustruct.rst:43 5886bb47afbb4fc1ae63ec8f6fe25fd6 msgid "long long" msgstr "" #: ../../main/micropython/ustruct.rst:43 ../../main/micropython/ustruct.rst:45 -#: ../../main/micropython/ustruct.rst:49 0a88747993514a439d7ea507c9c28dd4 -#: 2c1816ddf3224c178871b414412985cb ff44763e7db74ebc9bc8f4f790c9523a +#: ../../main/micropython/ustruct.rst:49 559a14e0ed9d462e8fc72ab3e3851988 +#: 968dd1778a1f4ca98806f1e62dc58bf1 fc6e83357d084b1d8ee66d86086f41b0 msgid "8" msgstr "" -#: ../../main/micropython/ustruct.rst:45 af4d68f605ce4a4fa26702b6b9d27339 +#: ../../main/micropython/ustruct.rst:45 800f825e4fcc4ed1a6e4924352e02897 msgid "Q" msgstr "" -#: ../../main/micropython/ustruct.rst:45 ef815551ea3b4cfe9d4d911f0fca7948 +#: ../../main/micropython/ustruct.rst:45 70ea92a4bfe0434cbaa1d8ff1e2f6787 msgid "unsigned long long" msgstr "" -#: ../../main/micropython/ustruct.rst:47 ef5fd3727a434af59654ca654980aebf +#: ../../main/micropython/ustruct.rst:47 d210e052dd904d2ea60c9795dded9c74 msgid "f" msgstr "" #: ../../main/micropython/ustruct.rst:47 ../../main/micropython/ustruct.rst:49 -#: 3a3b7cd5df0845f282d293750d4be9c2 463350e8ad334c7eb9cee3337e625861 -#: d73b50dd15384b3daba34f46e83a3f5f +#: 11646280fed541318e90e8eff79e620a 7604d6538af747d99c5ca5b0d9c8025c +#: ad8e9a434be74f459b446228dee53d18 msgid "float" msgstr "" -#: ../../main/micropython/ustruct.rst:49 80dd445a541043b797e42882ddaa9794 +#: ../../main/micropython/ustruct.rst:49 0b030c7855c04dcf98f95a91cbaaaaa9 msgid "d" msgstr "" -#: ../../main/micropython/ustruct.rst:49 dbf4880de0584eb4a1e8337d2837db47 +#: ../../main/micropython/ustruct.rst:49 f59b9a11fd2a46c687e21b5e8a368919 msgid "double" msgstr "" -#: ../../main/micropython/ustruct.rst:51 5a2dd8470c4d4fff8f67d58fef77b8fe +#: ../../main/micropython/ustruct.rst:51 d19499b641e04f4daede838b3b75ad15 msgid "s" msgstr "" -#: ../../main/micropython/ustruct.rst:51 11510c82326246d1ac32f98da0d67b96 +#: ../../main/micropython/ustruct.rst:51 f0d600d5317c491c845ae3b1730fed79 msgid "char[]" msgstr "" -#: ../../main/micropython/ustruct.rst:51 a922c74f27744e9b964d7377dd0d1048 +#: ../../main/micropython/ustruct.rst:51 40022d9e66264df1a614b06f5bf4f2ba msgid "bytes" msgstr "" -#: ../../main/micropython/ustruct.rst:53 2e36ccc3c94f4fd7a43cdd8410b3bdbb +#: ../../main/micropython/ustruct.rst:53 7af433b5abeb4ecb9384b271d08ec4d7 msgid "P" msgstr "" -#: ../../main/micropython/ustruct.rst:53 1212eda91a91471d9f18a707a68f3d60 +#: ../../main/micropython/ustruct.rst:53 f330e9e6371643a5b0c213dd085c67a8 msgid "void *" msgstr "" -#: ../../main/micropython/ustruct.rst:56 878e918933014df9a72a33e33bdfbab2 +#: ../../main/micropython/ustruct.rst:56 643d3e8642cf44c1a50b4b2beb823c1f msgid "\\(1\\) Supports values up to +/-1073741823" msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/micropython/usys.po b/doc/locales/de/LC_MESSAGES/micropython/usys.po index 10fbab85..be95e476 100644 --- a/doc/locales/de/LC_MESSAGES/micropython/usys.po +++ b/doc/locales/de/LC_MESSAGES/micropython/usys.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,93 +19,71 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/micropython/usys.rst:4 4be65c67faf748d8b37efb1791683b9c +#: ../../main/micropython/usys.rst:4 34bc5f36087d4b7081d17c38fa996791 msgid ":mod:`usys` -- System specific functions" msgstr "" -#: ../../main/micropython/usys.rst:6 c3171b6ffcc34b6fb86690922264006b +#: ../../main/micropython/usys.rst:6 300de92c07f74f6aa416f154e760b9ef msgid "This MicroPython module is a subset of the `sys module`_ in Python." msgstr "" -#: ../../main/micropython/usys.rst:9 b994c38a1f77403f91c609aa1479efa4 +#: ../../main/micropython/usys.rst:9 b7fb591fb3fd4377a9445f33e6e7b0ec msgid "Input and output streams" msgstr "" -#: ../../docstring 185e64808fe44ba5924a4c23eda71e91 of usys.stdin:1 +#: ../../docstring 0fd0be08fb7c494ea4afc6e1d88b7cdb of usys.stdin:1 msgid "" "This is a stream object (:class:`uio.FileIO`) that receives input from a " "connected terminal, if any." msgstr "" -#: ../../docstring a538f465830e45a6aa5374b22271dd03 of usys.stdin:4 +#: ../../docstring 2095e28f0ed74d8c802b94a7afbcbbeb of usys.stdin:4 msgid "" "Also see :func:`kbd_intr ` to disable " "``KeyboardInterrupt`` when passing binary data via ``stdin``." msgstr "" -#: ../../docstring e49b30e0bdc744318e2d47f06b935ce9 of usys.stdout:1 +#: ../../docstring ba92da55dd164fa7a8b349e9fe91af31 of usys.stdout:1 msgid "" "This is a stream object (:class:`uio.FileIO`) that sends output to a " "connected terminal, if any." msgstr "" -#: ../../docstring fd585c6494f54633ad6f1507347478a4 of usys.stderr:1 +#: ../../docstring 96f7300cfa544cb795487a64b2c22ccf of usys.stderr:1 msgid "Alias for :data:`stdout`." msgstr "" -#: ../../main/micropython/usys.rst:22 9a54f5727e6645e9ae5618083495bcf6 +#: ../../main/micropython/usys.rst:22 5931e90e0fcf40a5aec547a22c32202e msgid "Version info" msgstr "" -#: ../../docstring 9ed32254c292447f9f7b1f7755f55f99 of usys.implementation:1 +#: ../../docstring d9978506236a4656adeda02c70edd6d0 of usys.implementation:1 msgid "MicroPython version tuple. See format and example below." msgstr "" -#: ../../docstring 22cb0ad6092a43c8a3dd86499189f0b9 of usys.version:1 +#: ../../docstring 907345582a9a4850b2e420797785f605 of usys.version:1 msgid "" "Python compatibility version, Pybricks version, and build date. See " "format and example below." msgstr "" -#: ../../docstring e82ecf11c93e4741a480184309c7f19d of usys.version_info:1 +#: ../../docstring c4c1532b96454a8ab355c3a15507f7fb of usys.version_info:1 msgid "Python compatibility version. See format and example below." msgstr "" -#: ../../main/micropython/usys.rst:33 86ffa9a57cfd49a9a2634e2fac530e35 +#: ../../main/micropython/usys.rst:33 7da4bf9610e043c68c54a7a0e78996dd msgid "Examples" msgstr "" -#: ../../main/micropython/usys.rst:36 d3af1091b64a417ca385e4817b47fa4f +#: ../../main/micropython/usys.rst:36 f43150fe5fb3453692030f7f79603d4f msgid "Version information" msgstr "" -#: ../../main/micropython/usys.rst:38 8447a54a80014c238e9e7b7ec239dc26 -msgid "" -"from pybricks import version\n" -"\n" -"# ('essentialhub', '3.2.0b5', 'v3.2.0b5 on 2022-11-11')\n" -"print(version)\n" -msgstr "" - -#: ../../main/micropython/usys.rst:41 b22f0d6d59684cdba3e9dc9a7e0ee638 -msgid "" -"import usys\n" -"\n" -"# ('micropython', (1, 19, 1), 'SPIKE Essential Hub with STM32F413RG', 6)\n" -"print(usys.implementation)\n" -"\n" -"# '3.4.0; Pybricks MicroPython v3.2.0b5 on 2022-11-11'\n" -"print(usys.version)\n" -"\n" -"# (3, 4, 0)\n" -"print(usys.version_info)\n" -msgstr "" - -#: ../../main/micropython/usys.rst:45 2fa74e5d046948919f516bca5b2f1499 +#: ../../main/micropython/usys.rst:45 992ebf69706e4523a9b82de7cac96942 msgid "Standard input and output" msgstr "" -#: ../../main/micropython/usys.rst:47 33947b67c1cb405e99385bc7e3cfc337 +#: ../../main/micropython/usys.rst:47 275685cc438a49d8b0884ff58c94d1ec msgid "" "The ``stdin`` stream can be used to capture input via the Pybricks Code " "input/output window. See the `keyboard input`_ project to learn how this " diff --git a/doc/locales/de/LC_MESSAGES/parameters/axis.po b/doc/locales/de/LC_MESSAGES/parameters/axis.po index 9e53fdfc..a61aa45e 100644 --- a/doc/locales/de/LC_MESSAGES/parameters/axis.po +++ b/doc/locales/de/LC_MESSAGES/parameters/axis.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,15 +19,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/parameters/axis.rst:4 349963ebf7ad42eab81ce2af2646456d +#: ../../main/parameters/axis.rst:4 6b614e0f6141470ca864abbb4abc96c5 msgid "Axis" msgstr "" -#: 0dcb24069d924025a8ef6887d4aa501b of pybricks.parameters.Axis:1 +#: 222b715f0dc6417795e135c16348a54b of pybricks.parameters.Axis:1 msgid "Unit axes of a coordinate system." msgstr "" -#: ../../main/parameters/axis.rst:9 a3da3046215342a1a090d554fd42ba11 +#: ../../main/parameters/axis.rst:9 3330b0e45c66494c9844c25be7299f17 msgid "" "On Move Hub, doing math with these vectors is not supported. The axes can" " still be used to set up the hub orientation." diff --git a/doc/locales/de/LC_MESSAGES/parameters/button.po b/doc/locales/de/LC_MESSAGES/parameters/button.po index 719b65b7..3a94ab7f 100644 --- a/doc/locales/de/LC_MESSAGES/parameters/button.po +++ b/doc/locales/de/LC_MESSAGES/parameters/button.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,68 +19,68 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/parameters/button.rst:4 351ffa8371954c79a4d5ff5cfc9bbd3a +#: ../../main/parameters/button.rst:4 074555e1e5e84794911ee618695db249 msgid "Button" msgstr "" -#: ../../main/parameters/button.rst:9 edf242191d6542e3ad03bd8a971e4cb2 +#: ../../main/parameters/button.rst:9 74ac99aacd404276bfd3957a5880d685 msgid "Remote and hub buttons" msgstr "" #: ../../main/parameters/button.rst:13 ../../main/parameters/button.rst:18 #: ../../main/parameters/button.rst:23 ../../main/parameters/button.rst:28 -#: 482d0ce3c3f740b98195a6ed03dc915a 7dce0d5aa2e94028baac756bfb073d5d -#: 95ceb1e979e94c3690dfe6d2d0179b71 ca56528b7ee948168ef013eea9086add +#: 9a6ec99503fb4ad19975705efb50cea5 b3ca6d6dace94ea1b9501d1ffed3eed1 +#: c9f78647ded149878427eb1474638c7d eeb09f22bd074d48a39e65ec273b34f6 msgid "Powered Up Remote only." msgstr "" -#: ../../main/parameters/button.rst:33 dcdf9f87f8594b6bb391c871ed46dc48 +#: ../../main/parameters/button.rst:33 6c614352f9974acfa0e025bd2ebd42b8 msgid "Powered Up Remote (green button) or hub power button." msgstr "" -#: ../../main/parameters/button.rst:38 bce0d092a095437c89c2da3b7c56a5e0 +#: ../../main/parameters/button.rst:38 19aa8df60e6f4ddea6db3e857fd0d638 msgid "Powered Up Remote (left red button) and Prime/Inventor Hub (left button)." msgstr "" -#: ../../main/parameters/button.rst:43 dd2bc05427b24d1c92d72501aefb20fc +#: ../../main/parameters/button.rst:43 4b806aac48a24e4180d7d266657d75ed msgid "" "Powered Up Remote (right red button) and Prime/Inventor Hub (right " "button)." msgstr "" -#: ../../main/parameters/button.rst:48 d04f7a483b744ff2a5c24e4c4174be81 +#: ../../main/parameters/button.rst:48 7ea3482d0dd14261ab8567ae85b35522 msgid "Prime/Inventor Hub button with Bluetooth icon." msgstr "" -#: ../../main/parameters/button.rst:51 e54b6618ebc140c19ee89e2ad0d7c934 +#: ../../main/parameters/button.rst:51 f0ec8e58f82b4d9cacea6cdf4c8923ab msgid "Xbox controller buttons" msgstr "" -#: ../../main/parameters/button.rst:67 5598ca092eaa4046b9ec4bdbfe9377ab +#: ../../main/parameters/button.rst:67 8e98379e596f472a96a44314467e0394 msgid "The left bumper." msgstr "" -#: ../../main/parameters/button.rst:72 a9798cf65370424591042619d7580662 +#: ../../main/parameters/button.rst:72 1323ab6e655b4b61b662f7a736fdc622 msgid "The right bumper." msgstr "" -#: ../../main/parameters/button.rst:77 c67312ea762443adbd6652f90e5ab875 +#: ../../main/parameters/button.rst:77 05eae469f1f443f98770772a7bfe4795 msgid "Pressing the left joystick." msgstr "" -#: ../../main/parameters/button.rst:82 eb3832d630f4476abd5644b644812b00 +#: ../../main/parameters/button.rst:82 b7a6304dec664e5ba4b4c409884e32b0 msgid "Pressing the right joystick." msgstr "" -#: ../../main/parameters/button.rst:87 9d5b080e317f439fa073759232bc0dd5 +#: ../../main/parameters/button.rst:87 0702d8b9fc0e4a6a90cfc1607aab9e02 msgid "The Xbox button in the center of the controller." msgstr "" -#: ../../main/parameters/button.rst:95 399d5c4e14a04e66b7b2bd2c88ce6107 +#: ../../main/parameters/button.rst:95 268cd0e63c8d450d9d6c473c3c758289 msgid "Only available on newer Xbox controllers." msgstr "" -#: ../../main/parameters/button.rst:101 bcfc778a34ba4cc49cf2d8c84ba10bac +#: ../../main/parameters/button.rst:101 1c34a293fb2348ada6ccda449cb6639b msgid "Xbox Elite Series 2 controller paddles" msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/parameters/color.po b/doc/locales/de/LC_MESSAGES/parameters/color.po index 040d18b0..3030fd59 100644 --- a/doc/locales/de/LC_MESSAGES/parameters/color.po +++ b/doc/locales/de/LC_MESSAGES/parameters/color.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,51 +19,51 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/parameters/color.rst:4 2b3e093b9ed24e399542088cdd03dfc5 +#: ../../main/parameters/color.rst:4 dc190879722b4b628b3825be65e83be9 msgid "Color" msgstr "" -#: 81a30dcd327e48569f549ae8539885ba of pybricks.parameters.Color:1 +#: 426d66d958494292bf5c3c994f217b4d of pybricks.parameters.Color:1 msgid "Light or surface color." msgstr "" -#: ../../main/parameters/color.rst fac0813e62854f859cadebcf73380ff0 +#: ../../main/parameters/color.rst a1c0624a42194992b4a235c2a5a78963 msgid "Parameters" msgstr "" -#: 1050305007b2416ab2ff6818071bb70c of pybricks.parameters.Color:3 +#: 7cca5187386e414fbbd4b62a3b577657 of pybricks.parameters.Color:3 msgid "Hue." msgstr "" -#: 0640a855e6b34ddc9735af4490ec44f6 of pybricks.parameters.Color:5 +#: d02c0e7514ec4932a8325906c1bb8215 of pybricks.parameters.Color:5 msgid "Saturation." msgstr "" -#: c8e00f606aaf451699d0838c97675916 of pybricks.parameters.Color:7 +#: 01db5613f2284e968e5736c959420cc8 of pybricks.parameters.Color:7 msgid "Brightness value." msgstr "" -#: ../../main/parameters/color.rst:9 04615747c9294bcd9f2cea6a5160362c +#: ../../main/parameters/color.rst:9 5b9e7d93a3c8422b8ce01520a47b6870 msgid "Saturated colors" msgstr "" -#: ../../main/parameters/color.rst:10 aaf65185faff456a99eb886128976600 +#: ../../main/parameters/color.rst:10 55e9097a39404c8eb0d442edaab5e620 msgid "" "These colors have maximum saturation and brightness value. They differ " "only in hue." msgstr "" -#: ../../main/parameters/color.rst:46 c0c0cdf6b98541f18361a37aca9d9eae +#: ../../main/parameters/color.rst:46 d1921864e70947e39945b5d17f81a93a msgid "Unsaturated colors" msgstr "" -#: ../../main/parameters/color.rst:47 e9fd189fa9d542f4ad1710b911677d65 +#: ../../main/parameters/color.rst:47 66f008c3ceb14368a1d42494e7869a6b msgid "" "These colors have zero hue and saturation. They differ only in brightness" " value." msgstr "" -#: ../../main/parameters/color.rst:50 16ae89e65f374c0e852af41d55a68902 +#: ../../main/parameters/color.rst:50 40e4b609111e4e84a22de02382af7556 msgid "" "When detecting these colors using sensors, their values depend a lot on " "the distance to the object. If the distance between the sensor and the " @@ -71,92 +71,27 @@ msgid "" "these colors in your programs." msgstr "" -#: ../../main/parameters/color.rst:65 e7db49253b0e4df5b13da733da65742e +#: ../../main/parameters/color.rst:65 b1ebdcd51fa943869826f25c021e50a2 msgid "" "This represents dark objects that still reflect a very small amount of " "light." msgstr "" -#: ../../main/parameters/color.rst:72 1888d5d356214eacbb2f95bf7a128ffa +#: ../../main/parameters/color.rst:72 151ef2d685cb4ad8ab7cb18fdaa56752 msgid "This is total darkness, with no reflection or light at all." msgstr "" -#: ../../main/parameters/color.rst:77 c6df6be5de7540bf85e32bac6cfac845 +#: ../../main/parameters/color.rst:77 70d6763328594c348827e243c481a28b msgid "Making your own colors" msgstr "" -#: ../../main/parameters/color.rst:78 eac7b503d3c94a138fcbffaeefca4203 +#: ../../main/parameters/color.rst:78 778c384775c54e05a2e5a0e3e9c3541a msgid "" "This example shows the basics of color properties, and how to define new " "colors." msgstr "" -#: ../../main/parameters/color.rst:80 d66f1dd374f14a6bb2a351991cfad05d -msgid "" -"from pybricks.parameters import Color\n" -"\n" -"# You can print colors. Colors may be obtained from the Color class, or\n" -"# from sensors that return color measurements.\n" -"print(Color.RED)\n" -"\n" -"# You can read hue, saturation, and value properties.\n" -"print(Color.RED.h, Color.RED.s, Color.RED.v)\n" -"\n" -"# You can make your own colors. Saturation and value are 100 by default.\n" -"my_green = Color(h=125)\n" -"my_dark_green = Color(h=125, s=80, v=30)\n" -"\n" -"# When you print custom colors, you see exactly how they were defined.\n" -"print(my_dark_green)\n" -"\n" -"# You can also add colors to the builtin colors.\n" -"Color.MY_DARK_BLUE = Color(h=235, s=80, v=30)\n" -"\n" -"# When you add them like this, printing them only shows its name. But you" -" can\n" -"# still read h, s, v by reading its attributes.\n" -"print(Color.MY_DARK_BLUE)\n" -"print(Color.MY_DARK_BLUE.h, Color.MY_DARK_BLUE.s, Color.MY_DARK_BLUE.v)\n" -msgstr "" - -#: ../../main/parameters/color.rst:83 109c91a0c8774428976dacc7a677468b +#: ../../main/parameters/color.rst:83 51e80c8da01c4691b99a4aad2afbdaa7 msgid "This example shows more advanced use cases of the ``Color`` class." msgstr "" -#: ../../main/parameters/color.rst:85 00399918f0b44ebf89e01321a877b77a -msgid "" -"from pybricks.parameters import Color\n" -"\n" -"# Two colors are equal if their h, s, and v attributes are equal.\n" -"if Color.BLUE == Color(240, 100, 100):\n" -" print(\"Yes, these colors are the same.\")\n" -"\n" -"# You can scale colors to change their brightness value.\n" -"red_dark = Color.RED * 0.5\n" -"\n" -"# You can shift colors to change their hue.\n" -"red_shifted = Color.RED >> 30\n" -"\n" -"# Colors are immutable, so you can't change h, s, or v of an existing " -"object.\n" -"try:\n" -" Color.GREEN.h = 125\n" -"except AttributeError:\n" -" print(\"Sorry, can't change the hue of an existing color object!\")\n" -"\n" -"# But you can override builtin colors by defining a whole new color.\n" -"Color.GREEN = Color(h=125)\n" -"\n" -"# You can access and store colors as class attributes, or as a " -"dictionary.\n" -"print(Color.BLUE)\n" -"print(Color[\"BLUE\"])\n" -"print(Color[\"BLUE\"] is Color.BLUE)\n" -"print(Color)\n" -"print([c for c in Color])\n" -"\n" -"# This allows you to update existing colors in a loop.\n" -"for name in (\"BLUE\", \"RED\", \"GREEN\"):\n" -" Color[name] = Color(1, 2, 3)\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/parameters/direction.po b/doc/locales/de/LC_MESSAGES/parameters/direction.po index e7196f96..54d804c5 100644 --- a/doc/locales/de/LC_MESSAGES/parameters/direction.po +++ b/doc/locales/de/LC_MESSAGES/parameters/direction.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,57 +19,57 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/parameters/direction.rst:4 51d535e452b7498c9ce2ff12ecd652fd +#: ../../main/parameters/direction.rst:4 f18174ca14224f4da3c124bd55a8244f msgid "Direction" msgstr "" -#: ../../main/parameters/direction.rst:8 98bb0818b8dd4590b13c791e51e37ac5 +#: ../../main/parameters/direction.rst:8 caff4399cd804f438b2b6345e4aa3fda msgid "Rotational direction for positive speed or angle values." msgstr "" -#: ../../docstring d3c117b11ded4eee8dee61651917ad35 of +#: ../../docstring 7a0dd1d6de004ef3a3f40646b1ab239f of #: pybricks.parameters.Direction.CLOCKWISE:1 msgid "A positive speed value should make the motor move clockwise." msgstr "" -#: ../../docstring dd53b422be4e4eefb0bb9bde36b3192d of +#: ../../docstring 3d32cc04ac344969a7bf88856e88c824 of #: pybricks.parameters.Direction.COUNTERCLOCKWISE:1 msgid "A positive speed value should make the motor move counterclockwise." msgstr "" -#: ../../main/parameters/direction.rst:17 95a5ce41eaa848aabaaa75bd77eea5b3 +#: ../../main/parameters/direction.rst:17 93e2af3d4cab4ddbbe1f3d0a12d01116 msgid "``positive_direction =``" msgstr "" -#: ../../main/parameters/direction.rst:17 ed36f71ad4cc48198e43a15df067c974 +#: ../../main/parameters/direction.rst:17 00cdd7a2a8b54cd6bd30e96a6521e92e msgid "Positive speed:" msgstr "" -#: ../../main/parameters/direction.rst:17 e8683c361a60477ead9ace118b28a7b4 +#: ../../main/parameters/direction.rst:17 392e44d09a464005b44ef3891993f3cb msgid "Negative speed:" msgstr "" -#: ../../main/parameters/direction.rst:19 48a3faed88ab43a0a5d542587d29e44d +#: ../../main/parameters/direction.rst:19 2b189ebb7c0c4501936e4b5a0a89f56d msgid "``Direction.CLOCKWISE``" msgstr "" #: ../../main/parameters/direction.rst:19 -#: ../../main/parameters/direction.rst:21 18b94f59abad4842a16ef053cea15ba7 -#: 2a8bde50c7204f99b2c1a395c0f7ca46 +#: ../../main/parameters/direction.rst:21 2d522270cabc45179ae09d8bfa693d06 +#: 827971fe8c774f98ad85f7a1de66b6ba msgid "clockwise" msgstr "" #: ../../main/parameters/direction.rst:19 -#: ../../main/parameters/direction.rst:21 b3057c3626724a2583151fd582932755 -#: fdd7c9a6c0164c35874a4244d3439e2f +#: ../../main/parameters/direction.rst:21 47c7549b71ce4a80ace34b0ffeda60b7 +#: e72823018917489280b302a2736a390d msgid "counterclockwise" msgstr "" -#: ../../main/parameters/direction.rst:21 15345007bc404f0988148de4627f0542 +#: ../../main/parameters/direction.rst:21 aee50bc913a440049e8e1b182071806e msgid "``Direction.COUNTERCLOCKWISE``" msgstr "" -#: ../../main/parameters/direction.rst:24 5b7b11132fc441bba59e31f8126ed504 +#: ../../main/parameters/direction.rst:24 e82dbbe170404d628af39ebd5667f70b msgid "" "In general, clockwise is defined by **looking at the motor shaft, just " "like looking at a clock**. Some motors have two shafts. If in doubt, " diff --git a/doc/locales/de/LC_MESSAGES/parameters/icon.po b/doc/locales/de/LC_MESSAGES/parameters/icon.po index 074e0a5e..c0847768 100644 --- a/doc/locales/de/LC_MESSAGES/parameters/icon.po +++ b/doc/locales/de/LC_MESSAGES/parameters/icon.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,35 +19,35 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/parameters/icon.rst:4 0a53cb43ac4b423fa4e46ed29f332a97 +#: ../../main/parameters/icon.rst:4 f72e512a9a8848068155aad8fdad1ee1 msgid "Icon" msgstr "" -#: 8293516ffd7a414a89a6f35221e405d1 of pybricks.parameters.Icon:1 +#: efcc731e874749e6aec91a1fa69c72d5 of pybricks.parameters.Icon:1 msgid "Icons to display on a light matrix." msgstr "" -#: 4681f65f94184f1391a29a83022474c4 of pybricks.parameters.Icon:3 +#: 340010e3945642fe8ec92bda35bc9ec2 of pybricks.parameters.Icon:3 msgid "" "Each of the following attributes are matrices. This means you can scale " "icons to adjust the brightness or add icons to make composites." msgstr "" -#: ../../main/parameters/icon.rst:8 f3009e9851c847aeab3f4353a01c6db1 +#: ../../main/parameters/icon.rst:8 77acdd847bb3462daa7d746ec76e06ae msgid "See the :ref:`make_icons` section for examples." msgstr "" -#: ../../docstring 10920119426740b4a101d6414d5fb12c -#: 14bd93cc21464d75aefddf3da2b97ad3 18377c49e74947819eeb3141d4279f97 -#: 1be2ac9ca3ef4e9b85358f6401575665 4070dff00ef445f5ab41af9670ccefb8 -#: 51baa4f777f44a36be2a5fabd5ec4ba0 5993dd066da34af39b2a3f1c5baf4156 -#: 7fb080de2829479386b0353eaaa63cce 84001e5b47eb459e9843c3a89030a78e -#: 8b011bb0bd23451fb5bb9caf6987831c 8fae61b6af3345138234228504da3f40 -#: 91cdd147799d45d2920326a274201c2d 95826803103544cfbd7a166d3f56cc7b -#: 9c804ff190de4ad59abc1aa1d43a03e0 b7b1fdfa5f364b27a2d814eb7ad45932 -#: bf1cf3af5d714d41a97643155c1efedf cb088da4736c4a94a0512d0fbd08877a -#: ee1fcce66a6742e39ece5bb544424162 ee4c32bf0fc2439089af9568bfd20a30 -#: eeb43f2510a94b89bd9beca227185ae3 of pybricks.parameters.Icon.ARROW_DOWN:1 +#: ../../docstring 014ff68651534b63b6cfc23a37f885a8 +#: 0194b4be0f6f49e1a9d3a5770fe30a7a 0c5c01f7ded04260a41fc5f44896dd2e +#: 2ec122d0e46d4bc7bad45a908235f153 2f0720a1adfe4a0da572cd871aeabdf3 +#: 39dab43151af4663b9aa3d6ea7dfa1ac 3fb85bb9676c4d8ca39b6af5404c901d +#: 70044565b2ca444eb6bf56889287b563 764adfc12f9944f49b87a19fceff3577 +#: 90fd60d8203f4ef7907c5214a4151e82 99ca9f2c39f0476b8a41ee6431f56a8a +#: 9b62342531e0429caa6d2304ff751a7d 9d7c4e46178f44e88fe9e1f84fc7b6b4 +#: a16a2df7403c4392bb7c1ec7cebf78d2 cf90ff228a124703b722e47bdb37550e +#: d01033a3f6e042b2b970adc878716e25 d5971955d803439684b62f710e354d70 +#: e1081a39c4fc434f8025eb06ed237358 e54941f3397b435c9cb2856ccc30b5eb +#: fbdda73b4cec4af3ab7478063f72c3b3 of pybricks.parameters.Icon.ARROW_DOWN:1 #: pybricks.parameters.Icon.ARROW_DOWN:2 pybricks.parameters.Icon.ARROW_DOWN:5 #: pybricks.parameters.Icon.ARROW_LEFT:1 pybricks.parameters.Icon.ARROW_LEFT:5 #: pybricks.parameters.Icon.ARROW_RIGHT:1 @@ -61,17 +61,17 @@ msgstr "" msgid "⬜⬜🟨⬜⬜" msgstr "" -#: ../../docstring 1f1daf9e4e9047d393e9d8512dae9ea5 -#: 26a7171978cc443498f4355f0821e40d 3bca3137330940e2a6a96d3abcab09d0 -#: 3d69dd11f21f402f85a0d2ddc3ef5661 3df337d69de244df8ca81b41f3d2c31d -#: 55ff6042e6f54cddb1aaf5997f59590e 57e0cf0364c84354916787c263e4165e -#: 616dc212fc4144428c80a75ef2cfed32 70030470351042f788262368e1fe9cf3 -#: 82da1b21173942c2b5e0bab10e10d1e4 84aa511ae8674a56a6f6715925faaa0e -#: 89246d621283403dad0e48f272847de8 900153f5900d4860b152246c61f390d2 -#: a21b1dc92d0f4587b1bb7ed26be652e0 c9d635003f74481e99b7c13ed280c3d4 -#: ce0ef23b29b74db0b5c85be428c50020 d65be416714b4929b9ebc84570b099bc -#: dbc51d6cf4024809a391abd38aee6f2e ea1fbf605bc64d9da5c2985970209be0 -#: ff05af9dd84e4644afbf9f5d23219760 of pybricks.parameters.Icon.ARROW_DOWN:4 +#: ../../docstring 04d96d31e7234dc6982ec6dbfe5d7ae7 +#: 074c9e5116cf4cbf8ececac1aa13353f 077fb49f4e6e4938ad8fabe2e4143586 +#: 225e5e47368148b19f74b30e3c8dd2f7 480cf356b09a49cd9d44bb9b67742533 +#: 4d7fee35f0254068ab0e8ca4a877d1b9 51bd0b00d9a04699a4b15024a3b060b3 +#: 5b64064084d4400b97b45c775f7c8849 6569fc113e0a4c72be5311ed6fe91068 +#: 6d9754a6c6fc4fc4ba6b22bcaa3b6c39 a683d92f6d38451b8bdd6416246ad41b +#: c29a409ca4594c5ca9b42be6533073de c4b4cf1bc4ae40b79e178af0743507d4 +#: cbe60818d85248fb9e1efb182b976e5a cc051b71b9314b1eaacd79736b148166 +#: e13a6c63cc654f7089d2ef7412327860 e6191dcba45347e2a54b8b2074d2ec92 +#: fb4f94825a8a442a8d15720ee0d38593 fdb08607519549f4b8a9785e2b6fcf87 +#: ffe8086bd73444cb80fccbf51c2c844c of pybricks.parameters.Icon.ARROW_DOWN:4 #: pybricks.parameters.Icon.ARROW_UP:2 pybricks.parameters.Icon.CIRCLE:1 #: pybricks.parameters.Icon.CIRCLE:5 pybricks.parameters.Icon.DOWN:1 #: pybricks.parameters.Icon.DOWN:2 pybricks.parameters.Icon.DOWN:4 @@ -86,16 +86,16 @@ msgstr "" msgid "⬜🟨🟨🟨⬜" msgstr "" -#: ../../docstring 19643dafb79b4cf888431050a2333461 -#: 20064aedcbc04b038559679b942e0cbb 28f3e185703942468530a60ccf85a99c -#: 38d78514e5f64afa9f242da11c795b89 395b0c0d14c3417fbe640a5b4239f097 -#: 3d2ee41329854246b34267f44db37dae 44e73cceb2754c0899974ef398bf8e97 -#: 53fea568ffa14347a89c690bac86ea6e 682c6fc0c7dd4043b8472b5f59c83945 -#: 9887dec8cf4b46458378f80e6e8ca683 a258d2786414405ba11075ceee5f0672 -#: a7d8132f849147d6bea50e0b549cf2fc abf9e5d3e23a4fbd89f83bd1989aeb1b -#: b6e352d372c54bbf8fd3eda838b7d142 c4158f9f25ef4433a4a3f8ea98e1faa1 -#: d4f3d64a534a47e1ad65bc4c9e76cfd6 db47106076e14819a88ff2ffe0a2c374 -#: f1eec914bd7b453d845b73c3b7b7ebec of pybricks.parameters.Icon.ARROW_LEFT:3 +#: ../../docstring 0ed073e937c549269a58749c8fdaf04e +#: 138c974889bb42dc9f8cb922283a8ceb 2801c8db39eb493ea08ddda41282d004 +#: 44c4df9d95b749cc9426e931d33344d5 4a35aea85f034ccd8b3a582b5882ae46 +#: 5413813c36b34be7bddba5a77633c128 5741316e6c174bd896387a6a461c3f20 +#: 6236d35ec3d74a3f99432fcfefb1e8c1 77d2e9bab28745afaff660d5e4657f76 +#: 7a4c554c456b4536836dd1e7b3039753 9da4a2df1428490bb1d5e553ad8480e0 +#: a24ee3baa74e477ca13dcd8347748adf ad91d128ef054b0d87d9b8185bca0d88 +#: cbf87f1e104a41e489fc5e30fb60a644 d169074cd5984e48aec0ce2b714ed2df +#: d3ec30f1b3fd48939f2269eec3a0bd90 e5aafa2ade894d5bb3795de061c2d4ae +#: fdbae580107d4e4d889253a390e17495 of pybricks.parameters.Icon.ARROW_LEFT:3 #: pybricks.parameters.Icon.ARROW_RIGHT:3 pybricks.parameters.Icon.CIRCLE:2 #: pybricks.parameters.Icon.CIRCLE:3 pybricks.parameters.Icon.CIRCLE:4 #: pybricks.parameters.Icon.DOWN:3 pybricks.parameters.Icon.FULL:1 @@ -108,31 +108,31 @@ msgstr "" msgid "🟨🟨🟨🟨🟨" msgstr "" -#: ../../docstring 12f61e2a7cb94b09b740b05767dbb110 -#: 4b1a3e8c4a8c4a8b97bcf0868423ebad fbe272b8a9d54530b0050bc5fc9711f0 of +#: ../../docstring 3d6f41d8bd7e44cab34e13a1c68e2788 +#: 8032041867754ecab0e0fa0d7b02275a dc9f2ae523644386ba4a4abbe46f9b4f of #: pybricks.parameters.Icon.COUNTERCLOCKWISE:1 pybricks.parameters.Icon.LEFT:2 #: pybricks.parameters.Icon.LEFT:4 msgid "⬜🟨🟨🟨🟨" msgstr "" -#: ../../docstring 0c3bdd4aabc949b186ef7150c8684805 -#: 4f6a6893643a4ae88d29fe1465154b10 f6f17647253c4f3fa696aecf8864944c of +#: ../../docstring 4dc8d5ecc8804aa890ecd5363235cc27 +#: 7592c26c47484b5ab0608bc2e4dceaa5 b062edce436e4efa8ae86089d1782293 of #: pybricks.parameters.Icon.CLOCKWISE:1 pybricks.parameters.Icon.RIGHT:2 #: pybricks.parameters.Icon.RIGHT:4 msgid "🟨🟨🟨🟨⬜" msgstr "" -#: ../../docstring b47789bdef2d47f883eb64f6522ae8cc -#: f48fdb11ab6d47cc8e13a9fa7c165baa of +#: ../../docstring 4a289082b578488dbe718335df39c6f7 +#: d30e923650cd4c7fa0e11ff5da943ae0 of #: pybricks.parameters.Icon.ARROW_RIGHT_DOWN:5 #: pybricks.parameters.Icon.ARROW_RIGHT_UP:1 msgid "⬜⬜🟨🟨🟨" msgstr "" -#: ../../docstring 44207ff2a3f74aa5a4030becbb8dd666 -#: 828203a5dcc848fe8a41250488e3c164 861960d57129484abee732e2fd0e6517 -#: 87c91dda294c4e42b9593e1505a4c0bb a76eabc0dca1463faf875e266a82af5f -#: b47decd7518344e1a23e94ee1e84e620 d60431c543cd4750b7386fc787907cdb of +#: ../../docstring 1da78faca7eb4014b830bda82e235b1e +#: 4ad1be51f0ab4cb1bcaad9d929a9f632 dce0f5658a17456785f174ae61a16ed5 +#: dd211890b431450193bf43456f871262 ddc96141ddde4dacb4f722e90a12c3e5 +#: e3fee144d12b483d8bfd65fda1ecd1e1 f4b5b24481b944f49fdfa251decf79b3 of #: pybricks.parameters.Icon.ARROW_RIGHT_DOWN:4 #: pybricks.parameters.Icon.ARROW_RIGHT_UP:2 #: pybricks.parameters.Icon.EYE_RIGHT:3 pybricks.parameters.Icon.EYE_RIGHT:4 @@ -142,18 +142,18 @@ msgstr "" msgid "⬜⬜⬜🟨🟨" msgstr "" -#: ../../docstring 15537289a1964db28adc9a799677c398 -#: 7f96d40d95c44eae8999857fe10d84f9 of +#: ../../docstring c8a4a2e22bca4c3d95937d18688b3d7d +#: cc4ce8b2851b4429b0f1223154db809d of #: pybricks.parameters.Icon.ARROW_RIGHT_DOWN:3 #: pybricks.parameters.Icon.ARROW_RIGHT_UP:3 msgid "⬜⬜🟨⬜🟨" msgstr "" -#: ../../docstring 21758202c97644518ecf325044dbf6db -#: 25f2c6464a9241e9a034ba4eb0e5be87 58df5e09fe274529b31cbf7048bdb53a -#: 72064307673a444d937a639ed34e24b5 8cf24848fafa4668bb084dca0a584ded -#: aaa35dd1a7e240e48dc7ff44a9f98568 bfcc863a3cd840ec96bca9fd9c00c0c5 -#: f4a70e0908b744afa25197d6c3609d36 of pybricks.parameters.Icon.ARROW_LEFT:2 +#: ../../docstring 0e05de5868f9448d884679bf4c2e90fc +#: 16f43b67d99a48a9bfc1175bb4a8ee6f 6e145d7e6da04c43985a27e3b49b494e +#: 708adca470f14323b7a6957e29eedea7 803f66e7a4784944b13b79798458a353 +#: bf10c50a264c4e959d532370df466c9e cc11c098e2b34a298e4a63e90bd115d6 +#: cef1fe2b868e4e5489f1882b05e1f3a9 of pybricks.parameters.Icon.ARROW_LEFT:2 #: pybricks.parameters.Icon.ARROW_LEFT:4 #: pybricks.parameters.Icon.ARROW_RIGHT_DOWN:2 #: pybricks.parameters.Icon.ARROW_RIGHT_UP:4 @@ -163,24 +163,24 @@ msgstr "" msgid "⬜🟨⬜⬜⬜" msgstr "" -#: ../../docstring 826eeb4d5c4344829c21dfdd1e325278 -#: e8d87b0c6175442797697f96ea7bcd8b of +#: ../../docstring 79a70b572fb24034bdd76986e5ce5418 +#: ccf7ca635f584ccfb8cf028a620cd934 of #: pybricks.parameters.Icon.ARROW_RIGHT_DOWN:1 #: pybricks.parameters.Icon.ARROW_RIGHT_UP:5 msgid "🟨⬜⬜⬜⬜" msgstr "" -#: ../../docstring 64653dc03f4041f883193f908c15f4f7 -#: bf05ae70975444798a806a69d68b35f9 of +#: ../../docstring 4af4d4f3a1d64cef9ee7ac9efc1607ca +#: 6d1397398e6f4f70aaeb064d5ddb1c8d of #: pybricks.parameters.Icon.ARROW_LEFT_DOWN:5 #: pybricks.parameters.Icon.ARROW_LEFT_UP:1 msgid "🟨🟨🟨⬜⬜" msgstr "" -#: ../../docstring 0f96e86c350a40d3993ed83f7b77dfc2 -#: 249cf344d69e4b66b35c31b6e42152e7 44255871799e420283c98028dad915a3 -#: 8548b98f9a4c4c27b394590c351193d3 8d1fa70f9c724158a56110077e8e13b6 -#: b783152199c644888173594b12783b2c dfcce8e028c6402f981ea6ac8c005a87 of +#: ../../docstring 3e99c0359565485f8b0690d9b8ea8a6f +#: 5af7716f5ac54951aba356825dac38d3 5b10e9b940384889b0ef527331875ac7 +#: c36f83dfef5445ee917411793cded9f3 e200b349f5224c59b02ca8b42b974403 +#: f05a8f775ba84c6ab859f7a1b81acc58 f5682c3b3b86491186ff541bf4d5e342 of #: pybricks.parameters.Icon.ARROW_LEFT_DOWN:4 #: pybricks.parameters.Icon.ARROW_LEFT_UP:2 pybricks.parameters.Icon.EYE_LEFT:3 #: pybricks.parameters.Icon.EYE_LEFT:4 @@ -190,18 +190,18 @@ msgstr "" msgid "🟨🟨⬜⬜⬜" msgstr "" -#: ../../docstring 4cdf9ab7978c44be99b4b93affeabe1c -#: 67af0b5520384b1d98bdf6cc7b10e8fe b47d7bbee3cc47fba5266dd5417a0b64 of +#: ../../docstring 61ee37aecd8142ffab488a6d5d871cb4 +#: 9869f1aa69f948518b20f4de26648015 f3911fe6c5e1468aa3e6f0b20cc2b7d7 of #: pybricks.parameters.Icon.ARROW_LEFT_DOWN:3 #: pybricks.parameters.Icon.ARROW_LEFT_UP:3 pybricks.parameters.Icon.TRUE:3 msgid "🟨⬜🟨⬜⬜" msgstr "" -#: ../../docstring 12159770968a43809298613fea3dc397 -#: 6cac1a5be0ac488cb77084bd9f8e3261 700a9baebccb4189b7fc6f667beffd05 -#: 7512008f7966427a93de7cea10c6dfaf bd45af22ca7a4b3c8790f4021b6b3a35 -#: de85a50945a54f67b9b0a31c1d22701b e79ff5fadb69450b9ab70a9d458c778c -#: fef1e76ceb644225afb915ec1181fe01 of +#: ../../docstring 002a86a65f654521b8aeebf3a7449502 +#: 0cc3876b11424df9bdff4613c325a1df 48dc5c15def54cb68e8ae73e1c2438ee +#: 4feb766c6fe8404ca7a92c89cbfc5c9e 69f1b440ff054bfb85ee78a99f611407 +#: 9e4429a513174edea06fb99d9cba6ce3 a6ed9dc7b16b4db989823a7ba6fc762a +#: bdc337ec518a43409588b42b8e44971a of #: pybricks.parameters.Icon.ARROW_LEFT_DOWN:2 #: pybricks.parameters.Icon.ARROW_LEFT_UP:4 #: pybricks.parameters.Icon.ARROW_RIGHT:2 @@ -211,51 +211,51 @@ msgstr "" msgid "⬜⬜⬜🟨⬜" msgstr "" -#: ../../docstring 337e3fa8a29b4ca38d19ebeddbaffd37 -#: 9a10d84d97b24cb98fd3f8d55a063fd7 d7719d4b4f5b4807813f57f03b837c58 of +#: ../../docstring 02e848736224451dbf2181330631c8cb +#: 880cf5675b344a89a934b795efcf407f 990c704f8b704fc0b15cab7ee8334004 of #: pybricks.parameters.Icon.ARROW_LEFT_DOWN:1 #: pybricks.parameters.Icon.ARROW_LEFT_UP:5 pybricks.parameters.Icon.TRUE:1 msgid "⬜⬜⬜⬜🟨" msgstr "" -#: ../../docstring 2838493521334c80a15780b845e95774 -#: 7a4e897bbbee402ea15f062eb32a5126 of pybricks.parameters.Icon.ARROW_DOWN:3 +#: ../../docstring c19d570e8ee74e57862dcc502c7a11c3 +#: f89432a337df453f9ba218fa4103fc60 of pybricks.parameters.Icon.ARROW_DOWN:3 #: pybricks.parameters.Icon.ARROW_UP:3 msgid "🟨⬜🟨⬜🟨" msgstr "" -#: ../../docstring 0778c08077474584aa486d054c9290bd -#: 08a8dbd302be4878ae5bab300a08f3c8 3d149c62c27a442eb03cfd3cb8e90bc1 -#: 7653835806004bd28a45d99f66ef87f6 of pybricks.parameters.Icon.HAPPY:1 +#: ../../docstring 2cfa5ec48d414fb9a3008e83330085b3 +#: 932156e6ef6e424c93f6ceb429f07b4f aa202ae2910f41cdb11d5e5a401b9df1 +#: d95b70211e9345118fcf2ed770df3c72 of pybricks.parameters.Icon.HAPPY:1 #: pybricks.parameters.Icon.HAPPY:2 pybricks.parameters.Icon.SAD:1 #: pybricks.parameters.Icon.SAD:2 msgid "🟨🟨⬜🟨🟨" msgstr "" -#: ../../docstring 017af6bb0e514e018e4abb8fad612192 -#: 0601b5d44c16471fa3507b701e62f46e 095bf1ff8d0c4ce2a2bdfa4eff5bfeb0 -#: 15f13430fc0f4f32a8f0824c438545f2 1e369286633f40698b0750a0801f7afe -#: 220b0cb293104f4e96998f25bb74bebc 2e3f37cfdca04d12a26f3c32515cc8eb -#: 2e56b655ef6542c4ba1b120cf55cba81 34decefabb3845d88c26e13b5272bc5e -#: 3527068d6dff4f5883342ea76417ffcd 3d74df3c00f141f69c8cf8884a531c7f -#: 3fc09f1b586748d18ac59a8ad479d933 404897d8479e4d4d9daefae58255b583 -#: 42188173df1346ab82cb0e4b70cb08d9 4604ef89f83045308b5e70028fafedd5 -#: 48c15339bc0945c4b7e9437c281b89cc 48cdb6067080452c96069c2b0fdd8be1 -#: 513be4c42bc64513b64623e4728e557d 56bb196eaf8146ecabdcc28714a17ff3 -#: 5c844978cb6a43e3a2cd8677f3c2a2ce 6399d3891ea54c689f65ba93dd59cb33 -#: 645acb5944794c669b26f9dbb6019ab2 6d2d07c4714d433ba44c3dababac31bb -#: 7a64ba000fde4a9ab70f22e70c7dcdd5 866903cb59c84832bbd971475ff54cb6 -#: 8a9744ae8e11428db6a10f450499ac4a 91367efb694b4f319d35fd37d05271a7 -#: 915935100f37426f896c01f087c17005 96a8dd348b3349c6a8d5d2bd7af97333 -#: 974e2c260d304e7e9da25a139fada540 98b4dd93fefb47f7a6598e63d70e6ec0 -#: ab8d393103af48acae650829868513bf aed60ae28f5e4da7b98df8a600e6272f -#: b1941dfb105945a8a3a5a5faaa50ae94 b581ae998eaa4c138670878dabddc914 -#: c45aec5309e84d78bdc6fcee4bf412fd c61e442dc0474ad2bec939e711645b38 -#: cb2c7e3c9a2140218f0526e6b74fbd8e dfcad5a0c1be4c639bd17f9c33603366 -#: e118c3e5c78641f496c1cb1c53d270be e69c48ad14214935b81b992581e97a9c -#: e8ef35f674ea413cbfc4d08ebb31bbeb ed9c4e0b1b6840c59fc223fae207b361 -#: f60674b3287a4e029a142b335fd9e49c fa63e71b0d1b42758f21f92f3dcca20d -#: ff9b131b23444c1796c51558957e8777 of pybricks.parameters.Icon.EMPTY:1 +#: ../../docstring 01716aa13dcd4ec5b8648f664e5d7516 +#: 05e2dac3474a4b16917d71c4fb385626 06281da4fd9c4751a372a779064582df +#: 266eb75b3e7844e48a4f4c9b80d71448 27750d3718454d7799f0537572d2c2d3 +#: 292f8598fe3f43afbef87a244ac34519 29bd4b5609e64a09bfc77d6a7760fe33 +#: 359e4025d9f942b6be7623cd010c522a 3763776629c44af58a77f7cad6150701 +#: 397a095f342e480ab8901d11a665a27c 39886d88fe48460d9fbd7860450fe512 +#: 4487fcf9145949fd812c2f5d8323cb72 47685632a8dc4b4d8b0c3b777ebde114 +#: 4dad45cbf8ef4b5ea2e9b27e83f406a2 541408361b364cd0a7287d0b3dd07b67 +#: 58263a19a28a4e638b0b1f59a805e032 5a8341921ad24767a2a0fb43fc3b78ae +#: 5c9d013e64f54e92afff29ed0e439fa5 5dad6e2543b04649b69d938f433b9b73 +#: 6180f08fe6c3419f90fe70dee1dfbe8b 67bd98e1ad8640c9bd40f15a65f86f5f +#: 6f53316a61ea4623a6b74c11cc1bf7b7 7a2fe24209214e4b8605b93d887c2c70 +#: 8c3c1e0f6a554b35874adc330154e5cf 9512d091f27a4c6abca24099f295c706 +#: 97a7a4448244450da713448a70302436 999a58b7a4a245d7a6bbff0363fa6b62 +#: 9befeb6de61f45cc89f65101751f0087 9d26145e3a864de5bb8807fc108705b1 +#: 9f582233e3284154b3117bb84a145bab a26692ff53f348f28aa063e8e6f913fe +#: ac54769a64744af1a4e0945bc5e3e8da acf4cc2a702e4f07b078a1a48986b8d6 +#: bdbc4aed40734b689c28c86a3c79472b c068407831cd4e81acc57eb4fcac790c +#: c4104dfb05ef4f089fe0f15288ee8a65 d987faa6728744dcac41742e7086cf75 +#: da35e1f1415a4c0081dee8025f964a1c dabf697a71ba41f79096b1193f67d34d +#: df2deb50a9a34cd783e9f40994d2daaf df7971ca55b04e79a9d17c1604998da5 +#: dfd3c582a050416a81b1d3a2b65714f3 e91aafd3e1054c0caa971f9f2adbc488 +#: eee8c78061b14c5ba6547a58d72e282f ef1c662a51c241cf980a2c697460015e +#: fd6d24e8f62e4a7e840a7f35c9cdd685 of pybricks.parameters.Icon.EMPTY:1 #: pybricks.parameters.Icon.EMPTY:2 pybricks.parameters.Icon.EMPTY:3 #: pybricks.parameters.Icon.EMPTY:4 pybricks.parameters.Icon.EMPTY:5 #: pybricks.parameters.Icon.EYE_LEFT:1 pybricks.parameters.Icon.EYE_LEFT:2 @@ -296,56 +296,56 @@ msgstr "" msgid "⬜⬜⬜⬜⬜" msgstr "" -#: ../../docstring 56bd9cf22487440cae82453af3ca3666 -#: 9f338a770f64442fa6c4acd0466edcab c0d3f4094b144451b649ace218140d7d -#: d33bc1ec999540579527665db35fa41d of pybricks.parameters.Icon.FALSE:1 +#: ../../docstring 4ef853eb181e49f9ae4da0d7d79365ec +#: a82ad1f496904b8680e8255f07001829 b448843badce4a1cba7413bbf3451288 +#: f3e2c679946745b5b46dbb3a833be832 of pybricks.parameters.Icon.FALSE:1 #: pybricks.parameters.Icon.FALSE:5 pybricks.parameters.Icon.HAPPY:4 #: pybricks.parameters.Icon.SAD:5 msgid "🟨⬜⬜⬜🟨" msgstr "" -#: ../../docstring 3d96cb9eea1246f4aadf2238f3014c7e -#: 527cb9cba05d4c68a7a8f0de0ec72c63 96a335c5c4d3489095e1371a22241fd1 -#: a8ddd3867da548ccab3e848ee3d01874 b07db7d0b0c24d18a282ce53dfce1a0e -#: b7239fe1c41246cf973174d593a2862f of pybricks.parameters.Icon.FALSE:2 +#: ../../docstring 71081c0dc8924a9e86beaf5672bc2f83 +#: 9ad4928b514a4d1394afabe5e38bac76 a5e100af94724ad3bf625eea60e001fc +#: a7500fe3658447cea6063a0bd013f676 b067e4c260bb4fe2816aa991c5237a32 +#: dc5910d6378f449e83e281fd83f72948 of pybricks.parameters.Icon.FALSE:2 #: pybricks.parameters.Icon.FALSE:4 pybricks.parameters.Icon.HEART:1 #: pybricks.parameters.Icon.PAUSE:2 pybricks.parameters.Icon.PAUSE:3 #: pybricks.parameters.Icon.PAUSE:4 msgid "⬜🟨⬜🟨⬜" msgstr "" -#: ../../docstring d4fdae5d07e441e19876024ac124b3a9 -#: eb0e0465d178459384be46b1ee8f4457 of +#: ../../docstring 5fad4774649a42b38c43e625556c34f4 +#: 92f26c9a8d834512b48479a8977f5a60 of #: pybricks.parameters.Icon.TRIANGLE_RIGHT:2 #: pybricks.parameters.Icon.TRIANGLE_RIGHT:4 msgid "⬜🟨🟨⬜⬜" msgstr "" -#: ../../docstring 9be707dd62b54209a44831ef179da11f -#: d97ee0b858c34746a979db21076ad1b3 of pybricks.parameters.Icon.TRIANGLE_LEFT:2 +#: ../../docstring 7f05c5e80e164531b1d52d43f04ccf2d +#: f14366fa93af402ba6077cd0caf36d05 of pybricks.parameters.Icon.TRIANGLE_LEFT:2 #: pybricks.parameters.Icon.TRIANGLE_LEFT:4 msgid "⬜⬜🟨🟨⬜" msgstr "" -#: ../../docstring 17119c02969c46a9b6f760e045e11b89 -#: df58cc4345994a0a8419be0dec001d93 of pybricks.parameters.Icon.CLOCKWISE:2 +#: ../../docstring 5209548accc4424998268b02c76fe664 +#: f66de6e31b394795bb47b9d5a392e958 of pybricks.parameters.Icon.CLOCKWISE:2 #: pybricks.parameters.Icon.CLOCKWISE:3 msgid "🟨⬜⬜🟨⬜" msgstr "" -#: ../../docstring b8708e1fa83e453cbed41563762d185d of +#: ../../docstring 2b1f625f8795459097e48809926b534a of #: pybricks.parameters.Icon.CLOCKWISE:4 msgid "🟨⬜🟨🟨🟨" msgstr "" -#: ../../docstring 5a238c1807d945ecba7d8590f5da88bc -#: b959a671969341678155644ae53fb714 of +#: ../../docstring 128a01fd6459459b9c9ec6913d031e2c +#: e661c432cbd14396aac9873545d5b43e of #: pybricks.parameters.Icon.COUNTERCLOCKWISE:2 #: pybricks.parameters.Icon.COUNTERCLOCKWISE:3 msgid "⬜🟨⬜⬜🟨" msgstr "" -#: ../../docstring d8572343e1d74bfaaca56cddb8125eb2 of +#: ../../docstring 39616e1211b64fb08b6c4432b9ad0b6f of #: pybricks.parameters.Icon.COUNTERCLOCKWISE:4 msgid "🟨🟨🟨⬜🟨" msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/parameters/index.po b/doc/locales/de/LC_MESSAGES/parameters/index.po index 38ee312c..4cf9bef2 100644 --- a/doc/locales/de/LC_MESSAGES/parameters/index.po +++ b/doc/locales/de/LC_MESSAGES/parameters/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,11 +19,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/parameters/index.rst:4 279fc21ea9b046f58443309cfd459694 +#: ../../main/parameters/index.rst:4 b2e781401de74a77a3ce6074fc4c2ca8 msgid ":mod:`parameters ` -- Parameters and constants" msgstr "" -#: 529133622286452c9ac4eb36316bbc64 of pybricks.parameters:1 +#: 02f75638d9e14d83b69b406f62077fef of pybricks.parameters:1 msgid "Constant parameters/arguments for the Pybricks API." msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/parameters/port.po b/doc/locales/de/LC_MESSAGES/parameters/port.po index c06bfacf..d5f1f327 100644 --- a/doc/locales/de/LC_MESSAGES/parameters/port.po +++ b/doc/locales/de/LC_MESSAGES/parameters/port.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,11 +19,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/parameters/port.rst:4 97e05843208444cf83700ebcded3cafe +#: ../../main/parameters/port.rst:4 60e446ac73dd4b00ab58427808dcac6d msgid "Port" msgstr "" -#: ../../main/parameters/port.rst:8 9c8127b0477a43b2a2315e41af85f54c +#: ../../main/parameters/port.rst:8 79ba80ed665749219fcd89436fc8f798 msgid "Input and output ports:" msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/parameters/side.po b/doc/locales/de/LC_MESSAGES/parameters/side.po index 442b5e87..9083063b 100644 --- a/doc/locales/de/LC_MESSAGES/parameters/side.po +++ b/doc/locales/de/LC_MESSAGES/parameters/side.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,72 +19,72 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/parameters/side.rst:4 2f596845d8ab4a048884cd4b545179d0 +#: ../../main/parameters/side.rst:4 1a379b50bfed4857b81723a1c4e48dd9 msgid "Side" msgstr "" -#: ../../main/parameters/side.rst:8 4b8af32f26a541218c26c0c68a41fde6 +#: ../../main/parameters/side.rst:8 5c334c0a276d43e7a7b354549938c84f msgid "" "Side of a hub or a sensor. These devices are mostly rectangular boxes " "with six sides:" msgstr "" -#: ../../main/parameters/side.rst:30 9b67d5122fde4586870047851719b64f +#: ../../main/parameters/side.rst:30 749e8fc9fad1414487594acf544b3a93 msgid "" "Screens or light matrices have only four sides. For those, ``TOP`` is " "treated the same as ``FRONT``, and ``BOTTOM`` is treated the same as " "``BACK``. The diagrams below define the sides for relevant devices." msgstr "" -#: ../../main/parameters/side.rst:34 53a352e45f524a8a897dc4f688eaf302 +#: ../../main/parameters/side.rst:34 f1cf6ad0455f47d485ec121771f593a6 msgid "**Prime Hub**" msgstr "" -#: ../../main/parameters/side.rst:36 5e0dd06b8d47433a9e5dfa9e805d906e +#: ../../main/parameters/side.rst:36 65c6de486168475e8d2ef1473db73282 msgid ".. image:: ../../main/diagrams/orientation_primehub.png" msgstr "" -#: ../../main/parameters/side.rst:39 63324e499fbb41e4bd555484240db5c4 +#: ../../main/parameters/side.rst:39 200bc80fe9774e35ba912aad459123dc msgid "**Inventor Hub**" msgstr "" -#: ../../main/parameters/side.rst:41 d248781c62a3425cb43299580b464063 +#: ../../main/parameters/side.rst:41 e92c95c408924502a453996a6d251a3a msgid ".. image:: ../../main/diagrams/orientation_inventorhub.png" msgstr "" -#: ../../main/parameters/side.rst:44 290d0fe4322e45c8984dadb04379d152 +#: ../../main/parameters/side.rst:44 33f0af1174bf4e3892bc19b08cb220d6 msgid "**Essential Hub**" msgstr "" -#: ../../main/parameters/side.rst:46 82beaa0ecd954408b2296f234075eb78 +#: ../../main/parameters/side.rst:46 afec11bc44144b98ad11d504a5873204 msgid ".. image:: ../../main/diagrams/orientation_essentialhub.png" msgstr "" -#: ../../main/parameters/side.rst:49 e0e72dd148d64304b4cce16565cdbadf +#: ../../main/parameters/side.rst:49 5552a55a43464447888bf709b26da6ae msgid "**Move Hub**" msgstr "" -#: ../../main/parameters/side.rst:51 8cf13424b635496d8551c28a2d9bc1a0 +#: ../../main/parameters/side.rst:51 3e62c1535dcb4fd3b2720c6a501bdb0c msgid ".. image:: ../../main/diagrams/orientation_movehub.png" msgstr "" -#: ../../main/parameters/side.rst:54 85de80da80ce4899aa2728b8b9b61738 +#: ../../main/parameters/side.rst:54 11795a44a64a4bc2b3be5fe29c0b315c msgid "**Technic Hub**" msgstr "" -#: ../../main/parameters/side.rst:56 698dd829cf4c433c838db3d6bcd15690 +#: ../../main/parameters/side.rst:56 13a9c6205d70494a8eb513ea34117fd9 msgid ".. image:: ../../main/diagrams/orientation_technichub.png" msgstr "" -#: ../../main/parameters/side.rst:61 e53a891fd38b4a6099b28404826dce6b +#: ../../main/parameters/side.rst:61 1ecce01c069848f4adad9eb11051201c msgid "Changed which side is the front." msgstr "" -#: ../../main/parameters/side.rst:63 2704f2d4a1aa4020bf23e44f7c29fa9b +#: ../../main/parameters/side.rst:63 f3a79c8f29f849e6b18a7428fdec47b5 msgid "**Tilt Sensor**" msgstr "" -#: ../../main/parameters/side.rst:65 63d03ec678484059bc00debe7f7d4ed5 +#: ../../main/parameters/side.rst:65 4918ab11e97549ae875429b31facfefd msgid ".. image:: ../../main/diagrams/orientation_tiltsensor.png" msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/parameters/stop.po b/doc/locales/de/LC_MESSAGES/parameters/stop.po index a44ff67c..23e02baf 100644 --- a/doc/locales/de/LC_MESSAGES/parameters/stop.po +++ b/doc/locales/de/LC_MESSAGES/parameters/stop.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,20 +19,20 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/parameters/stop.rst:4 f25938bd8b17455e8c75bd626eea3868 +#: ../../main/parameters/stop.rst:4 9ab4c493771143718b83c195e96ea7d0 msgid "Stop" msgstr "" -#: ../../main/parameters/stop.rst:8 47119f80bcb24d0581261b89e20c17bf +#: ../../main/parameters/stop.rst:8 f65e0f051670406888868b4d553ca168 msgid "Action after the motor stops." msgstr "" -#: ../../docstring 4494092d5d0a4928b588724289293bcb of +#: ../../docstring c623bdbb71f143aba3b82b963652f294 of #: pybricks.parameters.Stop.COAST:1 msgid "Let the motor move freely." msgstr "" -#: ../../docstring 6e25e9020508471fbdcfb91d5098a3d8 of +#: ../../docstring 8fdd89aa61ad4011abc1ca0353c9223c of #: pybricks.parameters.Stop.COAST_SMART:1 msgid "" "Let the motor move freely. For the next relative angle maneuver, take the" @@ -41,17 +41,17 @@ msgid "" "current angle is less than twice the configured position tolerance." msgstr "" -#: ../../docstring b69a0d9c48314bbf81eb076fb9bec6f9 of +#: ../../docstring 22535869aec844fcbffcc79246ae6586 of #: pybricks.parameters.Stop.BRAKE:1 msgid "Passively resist small external forces." msgstr "" -#: ../../docstring a1483ffe1b5d444c9bc96e428250b3b5 of +#: ../../docstring 2d204dd39fdc42a9897b5922d68695d5 of #: pybricks.parameters.Stop.HOLD:1 msgid "Keep controlling the motor to hold it at the commanded angle." msgstr "" -#: ../../docstring cbdf613cd346493ea67b31e4ae7ea38b of +#: ../../docstring ca09d4fa7f654d2ca7c7e813502bc082 of #: pybricks.parameters.Stop.NONE:1 msgid "" "Do not decelerate when approaching the target position. This can be used " @@ -60,7 +60,7 @@ msgid "" "indefinitely at the given speed." msgstr "" -#: ../../main/parameters/stop.rst:25 f94fd39833b04e0a90ff47b642e60f60 +#: ../../main/parameters/stop.rst:25 484de464af0c409d944ccc7bbfc7663f msgid "" "The following table shows how each of the basic stop types add an extra " "level of resistance to motion. In these examples, ``m`` is a " @@ -69,91 +69,91 @@ msgid "" "how running at zero speed compares to these stop types." msgstr "" -#: ../../main/parameters/stop.rst 7f7326406af841018fa2d45d5b770c1a +#: ../../main/parameters/stop.rst 23806580d5974d5b8b52888b4755b5ef msgid "Type" msgstr "" -#: ../../main/parameters/stop.rst 7795e968b2904bec9a20f4214190733f +#: ../../main/parameters/stop.rst d56c73a9932d40c382e398c8ad2c994a msgid "Friction" msgstr "" -#: ../../main/parameters/stop.rst 8e19d33f13bc4a2a8f25a40d717ec3e9 +#: ../../main/parameters/stop.rst b1efab377b2f4e1794be2ed049e71a87 msgid "Back" msgstr "" -#: ../../main/parameters/stop.rst a04bfb793169410cb77bc0fb1d5938cb +#: ../../main/parameters/stop.rst 93ed9cb44c8c4d27a85bb4b009b5c1c4 msgid "EMF" msgstr "" -#: ../../main/parameters/stop.rst af32e0232a9249ddb8e79d8b97c1e622 +#: ../../main/parameters/stop.rst ee0f89fd49144011bd9ff2cf20cce24f msgid "Speed" msgstr "" -#: ../../main/parameters/stop.rst 546bf08e00374220afa9b2bfa6b9e5ee +#: ../../main/parameters/stop.rst f3b131b0a6904da9aa10e707fd96bc0f msgid "kept at 0" msgstr "" -#: ../../main/parameters/stop.rst 902f13d39b4c4eabbfe2f1a9df9d6971 +#: ../../main/parameters/stop.rst 662329caa9ac4ec99762ed7a23739a1b msgid "Angle kept" msgstr "" -#: ../../main/parameters/stop.rst e0876aa496724f5392f4bedee7cae734 +#: ../../main/parameters/stop.rst 094b1bf586bf48feb1fd13ce2484bd46 msgid "at target" msgstr "" -#: ../../main/parameters/stop.rst 1a64b4e348924fd49fef761417f5b3d5 +#: ../../main/parameters/stop.rst 49cbb5a06e7f49a0ac3d9ffa5b7fe4a1 msgid "Examples" msgstr "" -#: ../../main/parameters/stop.rst:35 ac68116d9b1d4badb150b01230976d12 +#: ../../main/parameters/stop.rst:35 f439f1d9442847279c688be04c371f9a msgid "Coast" msgstr "" -#: ../../main/parameters/stop.rst 877317b0e3b1478197c1213b6aae1bb4 +#: ../../main/parameters/stop.rst d98e100ae9e34cb79f4bb61fe96e1078 msgid "``m.stop()``" msgstr "" -#: ../../main/parameters/stop.rst aef41b50d11c4b95aae74605931011a1 +#: ../../main/parameters/stop.rst b0622f0720d6442b89086b9cbbb1529e msgid "``m.run_target(500, 90, Stop.COAST)``" msgstr "" -#: ../../main/parameters/stop.rst:38 2775fd7e09204c78af032834ba0cb4f4 +#: ../../main/parameters/stop.rst:38 3d3a75f1b4b743888e237baa7f65ab71 msgid "Brake" msgstr "" -#: ../../main/parameters/stop.rst b993a398e6504523b9db606cf11c8f3a +#: ../../main/parameters/stop.rst cb9cd643ea38452c915bfbf5ede0a605 msgid "``m.brake()``" msgstr "" -#: ../../main/parameters/stop.rst f708da8d557b4bd2b341d461a87d513d +#: ../../main/parameters/stop.rst 989964a319d8493587e56cabc75a9c04 msgid "``m.run_target(500, 90, Stop.BRAKE)``" msgstr "" -#: ../../main/parameters/stop.rst 6f99737dfe2e4ba0981b120912e65745 +#: ../../main/parameters/stop.rst 42db8b94fdad4f04a05fd6c0f4cbd13c msgid "``m.run(0)``" msgstr "" -#: ../../main/parameters/stop.rst 25487a92a58d45a2ac49210192562aaf +#: ../../main/parameters/stop.rst 00b151f25a0f4055bf7f87dacd7234db msgid "``d.drive(0, 0)``" msgstr "" -#: ../../main/parameters/stop.rst:44 3dcca85c6d9f4194b35061b770eecc4a +#: ../../main/parameters/stop.rst:44 8c25b0b84c0e4e83b90a904a1f72bab3 msgid "Hold" msgstr "" -#: ../../main/parameters/stop.rst bc3dfc641bcb4d8caa84d3520869c492 +#: ../../main/parameters/stop.rst c91b7ac026ee46b094cde41fc6289223 msgid "``m.hold()``" msgstr "" -#: ../../main/parameters/stop.rst c660f1ff4715408fa787d91c4fe3f0dd +#: ../../main/parameters/stop.rst 5e3ec7ab0f414e5cb7ad6f0a88c6802c msgid "``m.run_target(500, 90, Stop.HOLD)``" msgstr "" -#: ../../main/parameters/stop.rst 15dd15e118b04ef0b3d0e878aed50a88 +#: ../../main/parameters/stop.rst 032fc9c54d98449b816897448d2dec62 msgid "``d.straight(0)``" msgstr "" -#: ../../main/parameters/stop.rst 78a541a771e7436f8bb8b243e2084a08 +#: ../../main/parameters/stop.rst f9efd5de55b14ed7b9f79e1d475e54e0 msgid "``d.straight(100)``" msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/colordistancesensor.po b/doc/locales/de/LC_MESSAGES/pupdevices/colordistancesensor.po index 2b973535..e77ba707 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/colordistancesensor.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/colordistancesensor.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -20,57 +20,57 @@ msgstr "" "Generated-By: Babel 2.16.0\n" #: ../../main/pupdevices/colordistancesensor.rst:4 -#: e52adbf072454095b999b273ba9771da +#: 931a2064099a48e2a26de18633b4431d msgid "Color and Distance Sensor" msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:6 -#: 3dcf8242ab9040fd8bf6865131d639d8 +#: f64e03f69f1b44c581abef3dbeebd228 msgid ".. image:: ../../main/cad/output/pupdevice-colordistance.png" msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:9 -#: 0a83f764e0834e0b997f156aa62e3afc +#: 44f032f19702450a9be9b56f7c8d0fcd msgid "" ".. image:: " "/blockimg/pybricks_variables_set_color_distance_sensor_colordistancesensor_default.svg" msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:11 -#: 247d31f87897498daf3902bb1e4f2b1d +#: 58fe0df013d74b83bf8198f441c76a54 msgid "" ".. image:: " "/blockimg/pybricks_variables_set_color_distance_sensor_colordistancesensor_detectable_colors.svg" msgstr "" -#: a209446363ae45a49c4d113361e42c9f of +#: 92910966dd444763bb4a09a7c73d1da8 of #: pybricks.pupdevices.ColorDistanceSensor:1 msgid "LEGO® Powered Up Color and Distance Sensor." msgstr "" #: ../../main/pupdevices/colordistancesensor.rst -#: 917f641e13a24b7cb6422a84b047b4d7 b9c7b6f9acca43d48761821dbbb3973d -#: cdee5f1bc321415e8cbdcd129c22b151 +#: 4bab230ce1c04cd1abd740179bcd1bee 7fc6e0b8131d4607abdaedb3359a0543 +#: d5c99c7628434e3cb05d156349208d83 msgid "Parameters" msgstr "" -#: 9d2b459ccd474c41b3630fb21a46d405 of +#: c2e27def60b44f20b4f2c89db9bfa1a0 of #: pybricks.pupdevices.ColorDistanceSensor:3 msgid "Port to which the sensor is connected." msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:16 -#: 49e5e5cb4150493389956a90aaabf261 +#: de3e3e7e4ea64f6cb9122cf514f9b2b7 msgid ".. image:: /blockimg/pybricks_blockColor_ColorDistanceSensor_color.svg" msgstr "" -#: 71685254ebc045898693cdfcd729b1c7 82ecf4a60271416a991ece514d93d2e4 of +#: c5c5afb120fd4edc95215a7a6d24341d e2a4f505f8f34f51ac142724202fe01c of #: pybricks._common.CommonColorSensor.color:1 #: pybricks._common.CommonColorSensor.hsv:1 msgid "Scans the color of a surface." msgstr "" -#: 6c1624f9f67e4c2cb160127d6c30c2a3 of +#: 17a5eb9155ea45dba0f21258b18338c6 of #: pybricks._common.CommonColorSensor.color:3 msgid "" "You choose which colors are detected using the ``detectable_colors()`` " @@ -79,28 +79,28 @@ msgid "" msgstr "" #: ../../main/pupdevices/colordistancesensor.rst -#: 794afbdd897b4c67bbfb908e8003bc55 7e2a808d0100484099a2a041b683a724 -#: c511b34ebd1c4dd7a170e0e27b04195c edafb95d69824e04883380912650b7c7 -#: f72495456a504838b81256a4a4434288 +#: 0774c107a3a64bf2b56f93b0af35071b 14ae199f8353439cb4256f95f89ced80 +#: 1feab10b15c04735bf9412edc3fad6b6 2a5a3128aed24eed95e6c5216c4700c1 +#: 421e43e54e0149cd8fbdf6fe3c18711e msgid "Returns" msgstr "" -#: 33312242e9044888a8c704f01af137f2 of +#: 408296756f3c4681a51a2f093c2369ac of #: pybricks._common.CommonColorSensor.color:8 msgid "Detected color." msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:20 -#: 36441f270ca443c0b0de796eb7ee56f4 +#: 0d94c2b2128246f49474b1dbaad0b9c9 msgid ".. image:: /blockimg/pybricks_blockLightReflection_ColorDistanceSensor.svg" msgstr "" -#: 79b734a5b21c4429ad51aabce6522e32 of +#: 871a17225fc54032a544c7a996144ec2 of #: pybricks._common.CommonColorSensor.reflection:1 msgid "Measures how much a surface reflects the light emitted by the sensor." msgstr "" -#: 06dcb9f7cff14fa79a3bfdeda0525a3f of +#: 56ebbdec32524205a0b1bae10890fb11 of #: pybricks._common.CommonColorSensor.reflection:4 msgid "" "Measured reflection, ranging from 0% (no reflection) to 100% (high " @@ -108,61 +108,61 @@ msgid "" msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:24 -#: 70babd08a9424f9b887368a5ad32303b +#: fee394789ba24434a95126d4abf127bc msgid ".. image:: /blockimg/pybricks_blockLightAmbient_ColorDistanceSensor.svg" msgstr "" -#: 6d37bed4f53f4e77a75e0f4815f9ca97 of +#: 5d87b428193644a5a3af3bae50b7bdfd of #: pybricks._common.CommonColorSensor.ambient:1 msgid "Measures the ambient light intensity." msgstr "" -#: 4ce7d243d6414f3688129a4e80a1d88a of +#: b6d0cb0df1e144ee8687818fff55eca9 of #: pybricks._common.CommonColorSensor.ambient:3 msgid "Ambient light intensity, ranging from 0% (dark) to 100% (bright)." msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:28 -#: 11d4a2f3b45a4b73856abc4fb8c9775f +#: 3a00e9b4ce29477e97f8f050a5e2e0ed msgid ".. image:: /blockimg/pybricks_blockDistance_ColorDistanceSensor.svg" msgstr "" -#: f1149207d91b4ae1b8adbdbf866e675b of +#: 8a5fc12e930348f6a5621d4b4f96c0d8 of #: pybricks.pupdevices.ColorDistanceSensor.distance:1 msgid "" "Measures the relative distance between the sensor and an object using " "infrared light." msgstr "" -#: 108e2728a73346fca9155f3461c39057 of +#: 96498a992cb440b4a9f729239bedd064 of #: pybricks.pupdevices.ColorDistanceSensor.distance:4 msgid "Distance ranging from 0% (closest) to 100% (farthest)." msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:32 -#: d072ffb893844bb982869b360261974d +#: 92410c3938424e789ca6af1eb84ed54c msgid ".. image:: /blockimg/pybricks_blockColor_ColorDistanceSensor_hsv.svg" msgstr "" -#: 11f27c80b58449d2b8f03c75b1677c8a of pybricks._common.CommonColorSensor.hsv:3 +#: 8212208993c14e1aa4d4375f166e2152 of pybricks._common.CommonColorSensor.hsv:3 msgid "" "This method is similar to ``color()``, but it gives the full range of " "hue, saturation and brightness values, instead of rounding it to the " "nearest detectable color." msgstr "" -#: 806667c9c4b24d3faa00f890a993fd93 of pybricks._common.CommonColorSensor.hsv:7 +#: b8d02c78aa184775ae1a802ed0d137e5 of pybricks._common.CommonColorSensor.hsv:7 msgid "" "Measured color. The color is described by a hue (0--359), a saturation (0" "--100), and a brightness value (0--100)." msgstr "" -#: 088ab6e0751d44f684b9c21a38e14561 of +#: b2503c3a73ee4d4199b2de98e1ef1652 of #: pybricks._common.CommonColorSensor.detectable_colors:1 msgid "Configures which colors the ``color()`` method should detect." msgstr "" -#: ccf24f5797e34f21914ac37825fae26a of +#: ade5e0a62b04495baeb0183b2c858dd3 of #: pybricks._common.CommonColorSensor.detectable_colors:3 msgid "" "Specify only colors that you wish to detect in your application. This " @@ -170,17 +170,17 @@ msgid "" "color, and other colors are ignored. This improves reliability." msgstr "" -#: da8db0f9faa44aea86ceabce9144c63c of +#: d34d7e6e182c48659c8391e07bd3043c of #: pybricks._common.CommonColorSensor.detectable_colors:7 msgid "If you give no arguments, the currently chosen colors will be returned." msgstr "" -#: 71dd241b016c47469b5728d792be534f of +#: 550397df148a4698a7bdb9c5ed5bcf06 of #: pybricks._common.CommonColorSensor.detectable_colors:9 msgid "When coding with blocks, this is configured in the sensor setup block." msgstr "" -#: 4fa21eb068ed4bb7be03fc4a44387924 of +#: df510510616740a69bdc60bcd569669d of #: pybricks._common.CommonColorSensor.detectable_colors:11 msgid "" "List of :class:`Color <.parameters.Color>` objects: the colors that you " @@ -190,12 +190,12 @@ msgid "" msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:39 -#: 14ff970ad77342f5bdc4084e7041c178 +#: 3db28ce4c9684f75b09d3e6c37ef1541 msgid "Built-in light" msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:40 -#: 65d3042801b34eb389266cd0c20b80c4 +#: ccfc8cf2018c4b1c8cd3647aa0a6ff6f msgid "" "This sensor has a built-in light. You can make it red, green, blue, or " "turn it off. If you use the sensor to measure something afterwards, the " @@ -204,179 +204,69 @@ msgid "" msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:44 -#: f678970faca34fdd8e82cf8577765497 +#: 749572d67d1346e68eb66aa47a6e8f49 msgid ".. image:: /blockimg/pybricks_blockLightOnColor_colordistancesensor_on.svg" msgstr "" -#: fbc56a837f1b40c0bcbf8ab11e775125 of pybricks._common.ExternalColorLight.on:1 +#: e820060cf2c94cbbb3bf1d24da1b2da1 of pybricks._common.ExternalColorLight.on:1 msgid "Turns on the light at the specified color." msgstr "" -#: 44f92ea0d59144e5bb9f26140fe94e6d of pybricks._common.ExternalColorLight.on:3 +#: 14d5e88ac789426d8866daa97ab5b110 of pybricks._common.ExternalColorLight.on:3 msgid "Color of the light." msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:48 -#: 944e74f6c9ae4b19a1afab538b90fc51 +#: 449eec5762394b828ab566aca5c68ac7 msgid "" ".. image:: " "/blockimg/pybricks_blockLightOnColor_colordistancesensor_off.svg" msgstr "" -#: 0367a3ae653548ee8a63d2461f2e3448 of +#: edd4b5f4406e450992ae61f0b1974d69 of #: pybricks._common.ExternalColorLight.off:1 msgid "Turns off the light." msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:53 -#: b83217b4cf144efe82236d2d63a53db7 +#: 5c416c090b924f808d163b6c16465148 msgid "Examples" msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:56 -#: 148410bc0afb46feacad9da11515bb93 +#: 38f4dd3406854c81a51bd9c3e146b21c msgid "Measuring color" msgstr "" -#: ../../main/pupdevices/colordistancesensor.rst:58 -#: 2d7aff1f9f54492b9d34acf29307df3a -msgid "" -"from pybricks.pupdevices import ColorDistanceSensor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorDistanceSensor(Port.A)\n" -"\n" -"while True:\n" -" # Read the color.\n" -" color = sensor.color()\n" -"\n" -" # Print the measured color.\n" -" print(color)\n" -"\n" -" # Move the sensor around and see how\n" -" # well you can detect colors.\n" -"\n" -" # Wait so we can read the value.\n" -" wait(100)\n" -msgstr "" - #: ../../main/pupdevices/colordistancesensor.rst:63 -#: 00afd46693b2480a80beb7e7e63aeda4 +#: 6edb2f74d6b84c0bb5ad5878662dd137 msgid "Waiting for a color" msgstr "" -#: ../../main/pupdevices/colordistancesensor.rst:65 -#: f39f979db5d141758bbd71968a8b8007 -msgid "" -"from pybricks.pupdevices import ColorDistanceSensor\n" -"from pybricks.parameters import Port, Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorDistanceSensor(Port.A)\n" -"\n" -"\n" -"# This is a function that waits for a desired color.\n" -"def wait_for_color(desired_color):\n" -" # While the color is not the desired color, we keep waiting.\n" -" while sensor.color() != desired_color:\n" -" wait(20)\n" -"\n" -"\n" -"# Now we use the function we just created above.\n" -"while True:\n" -"\n" -" # Here you can make your train/vehicle go forward.\n" -"\n" -" print(\"Waiting for red ...\")\n" -" wait_for_color(Color.RED)\n" -"\n" -" # Here you can make your train/vehicle go backward.\n" -"\n" -" print(\"Waiting for blue ...\")\n" -" wait_for_color(Color.BLUE)\n" -msgstr "" - #: ../../main/pupdevices/colordistancesensor.rst:69 -#: 1a96296fecdb4ff48deb4c1dfc2179bd +#: 374c8182b799467e8acecc9f10a35525 msgid "Measuring distance and blinking the light" msgstr "" -#: ../../main/pupdevices/colordistancesensor.rst:71 -#: b278c8a9ad674b37ae7c3a9b211f9a6e -msgid "" -"from pybricks.pupdevices import ColorDistanceSensor\n" -"from pybricks.parameters import Port, Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorDistanceSensor(Port.A)\n" -"\n" -"# Repeat forever.\n" -"while True:\n" -"\n" -" # If the sensor sees an object nearby.\n" -" if sensor.distance() <= 40:\n" -"\n" -" # Then blink the light red/blue 5 times.\n" -" for i in range(5):\n" -" sensor.light.on(Color.RED)\n" -" wait(30)\n" -" sensor.light.on(Color.BLUE)\n" -" wait(30)\n" -" else:\n" -" # If the sensor sees nothing\n" -" # nearby, just wait briefly.\n" -" wait(10)\n" -msgstr "" - #: ../../main/pupdevices/colordistancesensor.rst:75 -#: 2c1ef16eacdc44589d49b0b7c40edf63 +#: 864fe3ced8804999a3e4658876224748 msgid "Reading hue, saturation, value" msgstr "" -#: ../../main/pupdevices/colordistancesensor.rst:77 -#: f24c7c370bb7448aac6868c37e5c04aa -msgid "" -"from pybricks.pupdevices import ColorDistanceSensor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorDistanceSensor(Port.A)\n" -"\n" -"while True:\n" -" # The standard color() method always \"rounds\" the\n" -" # measurement to the nearest \"whole\" color.\n" -" # That's useful for most applications.\n" -"\n" -" # But you can get the original hue, saturation,\n" -" # and value without \"rounding\", as follows:\n" -" color = sensor.hsv()\n" -"\n" -" # Print the results.\n" -" print(color)\n" -"\n" -" # Wait so we can read the value.\n" -" wait(500)\n" -msgstr "" - #: ../../main/pupdevices/colordistancesensor.rst:81 -#: f9d0913d30a345a9b53cff05bd0c42df +#: 023c44c9da944e3393b68bdd03753af3 msgid "Changing the detectable colors" msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:83 -#: 495e1b150d5042079063f4e6942ddfc5 +#: 33d65ce0a9d2457c94b1ee6a17e232f1 msgid "" "By default, the sensor is configured to detect red, yellow, green, blue, " "white, or no color, which suits many applications." msgstr "" #: ../../main/pupdevices/colordistancesensor.rst:86 -#: 052032e0dcba47c5b3f6c7c25f08716a +#: 1a72954319ec4ee1a7e40486c11f2e9b msgid "" "For better results in your application, you can measure your desired " "colors in advance, and tell the sensor to look only for those colors. Be " @@ -385,48 +275,3 @@ msgid "" "colors that are otherwise hard to detect." msgstr "" -#: ../../main/pupdevices/colordistancesensor.rst:92 -#: f2b737b60d50407b844231d0127398a1 -msgid "" -"from pybricks.pupdevices import ColorDistanceSensor\n" -"from pybricks.parameters import Port, Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorDistanceSensor(Port.A)\n" -"\n" -"# First, decide which objects you want to detect, and measure their HSV " -"values.\n" -"# You can do that with the hsv() method as shown in the previous example." -"\n" -"#\n" -"# Use your measurements to override the default colors, or add new " -"colors:\n" -"Color.GREEN = Color(h=132, s=94, v=26)\n" -"Color.MAGENTA = Color(h=348, s=96, v=40)\n" -"Color.BROWN = Color(h=17, s=78, v=15)\n" -"Color.RED = Color(h=359, s=97, v=39)\n" -"\n" -"# Put your colors in a list or tuple.\n" -"my_colors = (Color.GREEN, Color.MAGENTA, Color.BROWN, Color.RED, " -"Color.NONE)\n" -"\n" -"# Save your colors.\n" -"sensor.detectable_colors(my_colors)\n" -"\n" -"# color() works as usual, but now it returns one of your specified " -"colors.\n" -"while True:\n" -" color = sensor.color()\n" -"\n" -" # Print the color.\n" -" print(color)\n" -"\n" -" # Check which one it is.\n" -" if color == Color.MAGENTA:\n" -" print(\"It works!\")\n" -"\n" -" # Wait so we can read it.\n" -" wait(100)\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/colorlightmatrix.po b/doc/locales/de/LC_MESSAGES/pupdevices/colorlightmatrix.po index 35f22962..2d2f82fb 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/colorlightmatrix.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/colorlightmatrix.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -20,51 +20,51 @@ msgstr "" "Generated-By: Babel 2.16.0\n" #: ../../main/pupdevices/colorlightmatrix.rst:4 -#: d9d427f85470473b989bc8e9c20397dc +#: f653bf4d937f482bafe9ef0f3af8f9d0 msgid "Color Light Matrix" msgstr "" #: ../../main/pupdevices/colorlightmatrix.rst:6 -#: 8963383b26214d53b17ef98d5b1e270d +#: d809ac6ae1d049bd9785e587e6618e43 msgid ".. image:: ../../main/diagrams/sensor_colorlightmatrix.png" msgstr "" #: ../../main/pupdevices/colorlightmatrix.rst:9 -#: 2e3328391f3a4bd1bf1d763d74b93bfe +#: 994e6337e5f648db99e0a1ebc0f3f5af msgid ".. image:: /blockimg/pybricks_variables_set_color_light_matrix.svg" msgstr "" -#: 2a76b035df8d4e369b70d98f10a9b6b0 of pybricks.pupdevices.ColorLightMatrix:1 +#: ef29af68165042339c41b6c2d1645a24 of pybricks.pupdevices.ColorLightMatrix:1 msgid "LEGO® SPIKE 3x3 Color Light Matrix." msgstr "" -#: ../../main/pupdevices/colorlightmatrix.rst d3ea9c3b90904b4c908bd07d152f07c7 -#: e9e2e67fdeb848558a76fb076291f128 +#: ../../main/pupdevices/colorlightmatrix.rst 75f81dde396b442aaa5d3ff427ad6cfb +#: dc0d93a90c90404d8e3f8fdf85fa16cf msgid "Parameters" msgstr "" -#: c461f9fecc16449aad5a61eeb9245e0c of pybricks.pupdevices.ColorLightMatrix:3 +#: aaacc46af2264d07bf86226190891930 of pybricks.pupdevices.ColorLightMatrix:3 msgid "Port to which the device is connected." msgstr "" #: ../../main/pupdevices/colorlightmatrix.rst:14 -#: d1f69bd714ee423eb9ab5eb35fb5bb77 +#: 3d160df190274c4281e295f15f5be935 msgid ".. image:: /blockimg/pybricks_blockLightOnColor_colorlightmatrix_on.svg" msgstr "" #: ../../main/pupdevices/colorlightmatrix.rst:16 -#: 87799403517e4c0282258322665e82a9 +#: 1143909dc4c7433390875c3ee4b8354e msgid "" ".. image:: " "/blockimg/pybricks_blockLightOnColor_colorlightmatrix_on_list.svg" msgstr "" -#: 65e89e344a0a4f2dbe855dca64770f60 of +#: 4bf91f3059df4891a6455b19895dacb9 of #: pybricks.pupdevices.ColorLightMatrix.on:1 msgid "Turns the lights on." msgstr "" -#: d01561ad650243c0b9fa877ba3e44249 of +#: e663ab01b0834d6ba5a94a8ccf7a986f of #: pybricks.pupdevices.ColorLightMatrix.on:3 msgid "" "If a single :class:`.Color` is given, then all 9 lights are set to that " @@ -73,11 +73,11 @@ msgid "" msgstr "" #: ../../main/pupdevices/colorlightmatrix.rst:20 -#: 3426d52c83c44d189ec07083957429ce +#: 259a98b52dd5439cba6565842c8de3a8 msgid ".. image:: /blockimg/pybricks_blockLightOnColor_colorlightmatrix_off.svg" msgstr "" -#: 47ecea22115b424a915652dca314f70c of +#: c38dfe3ea5cf4090a94010686de9b1b6 of #: pybricks.pupdevices.ColorLightMatrix.off:1 msgid "Turns all lights off." msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/colorsensor.po b/doc/locales/de/LC_MESSAGES/pupdevices/colorsensor.po index 06345623..e7985c97 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/colorsensor.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/colorsensor.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,51 +19,51 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/pupdevices/colorsensor.rst:4 a4bfe9fecdc943a7b7342b655e74a726 +#: ../../main/pupdevices/colorsensor.rst:4 a6a5a57960614bcf81951f5a0096e613 msgid "Color Sensor" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:6 6a8859f5428d4da397190368223baa20 +#: ../../main/pupdevices/colorsensor.rst:6 c11b2ce4e5f145deb198a556adca457f msgid ".. image:: ../../main/diagrams/sensor_color_lights.png" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:9 5b0ddbbf07da4e3f94298ca0cd2524d1 +#: ../../main/pupdevices/colorsensor.rst:9 e4b2477cf02548d4934eaaa0ee2e02f9 msgid "" ".. image:: " "/blockimg/pybricks_variables_set_color_sensor_colorsensor_default.svg" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:11 6e36050fc982485f88b5c5fd8919b9ca +#: ../../main/pupdevices/colorsensor.rst:11 512d4c71cb674bc7a69df7951d1bb43c msgid "" ".. image:: " "/blockimg/pybricks_variables_set_color_sensor_colorsensor_detectable_colors.svg" msgstr "" -#: e69b40dba57d4fccaec5433e02788a49 of pybricks.pupdevices.ColorSensor:1 +#: c06e6a643a33407f8cf478cb1a433a17 of pybricks.pupdevices.ColorSensor:1 msgid "LEGO® SPIKE Color Sensor." msgstr "" -#: ../../main/pupdevices/colorsensor.rst 1db82d3b8b73466a88bef5c9e4ca71ed -#: 41c909819cc3476ea28e40dd7c02410d a63b6cb3e9b2440381bb1ec5a0e33ef7 -#: b6a7205d8008471db7b572f098d9b754 d510948ec58d40dcbeb9c939e56f5def +#: ../../main/pupdevices/colorsensor.rst 04cb19cdb9344d09b2c736c17301fe88 +#: 4e301c935e854821938258dffb99a562 7640cae4c3e8458fb4af7151302a4908 +#: 782c3c88bc7947a6b5bddb430a0cb0fc cabf6d49350d40dca352dc9db8b712d8 msgid "Parameters" msgstr "" -#: c1ea371e62f445f493c28455fd696276 of pybricks.pupdevices.ColorSensor:3 +#: 89c8e3d23ae74249a97f04b4794ca728 of pybricks.pupdevices.ColorSensor:3 msgid "Port to which the sensor is connected." msgstr "" -#: ../../main/pupdevices/colorsensor.rst:16 3514a576ca784e89ae716945425dac4b +#: ../../main/pupdevices/colorsensor.rst:16 cfff5a32206c4b91886159319ff7f83e msgid ".. image:: /blockimg/pybricks_blockColor_ColorSensor_color.svg" msgstr "" -#: 0e8dc815be0448db86c9cdd132bbdd26 3b9618eb842d4841b56227e86900d993 of +#: 422d5c4b04694d53800a275ad5c220ad 9104f20dbe27416fbdf95d9316be057b of #: pybricks._common.AmbientColorSensor.color:1 #: pybricks._common.AmbientColorSensor.hsv:1 msgid "Scans the color of a surface or an external light source." msgstr "" -#: 954dcf9b8e164c2194bdc9edba165d8f of +#: 61255c2b78294e83943bc872c14931bf of #: pybricks._common.AmbientColorSensor.color:3 msgid "" "You choose which colors are detected using the ``detectable_colors()`` " @@ -71,7 +71,7 @@ msgid "" "``Color.GREEN``, ``Color.BLUE``, ``Color.WHITE``, or ``Color.NONE``." msgstr "" -#: 6e2f29c5cd8149c6bb5180e2e1c52391 a9f3fe15d7444534959ee44cc370ec9e of +#: 1b51cb08e12d4225ae769d5449015834 5784a772ff174333b3275c34f4bf97f5 of #: pybricks._common.AmbientColorSensor.color:8 #: pybricks._common.AmbientColorSensor.hsv:7 msgid "" @@ -79,56 +79,56 @@ msgid "" "``false`` to scan the color of screens and other external light sources." msgstr "" -#: ../../main/pupdevices/colorsensor.rst 1441b42a33fb47198a15d7b6df69fb71 -#: 2aeb12b76d8c4bbb9dad315207f5ea3e 6e0e8d795e7a443299ddb44e2cb14644 -#: 710b0f05c3224af68fd3c8eba1b505aa +#: ../../main/pupdevices/colorsensor.rst b5bd1fa9a8b94eac9aef5f95d9f23561 +#: c2dd03767c2442baa33459ad5b8f751f ca571f4de77e4c0da47380d2c7b268f2 +#: e5d774e1066d43d0bd7b0470b15decd8 msgid "Returns" msgstr "" -#: ebd57aa468b94da593e5ecbb77ee82dc of +#: b36d9c640a7c42c9adb76aa9703e65dd of #: pybricks._common.AmbientColorSensor.color:13 msgid "Detected color.`" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:20 3422fb8ff4f7419f9d8219bc31c2eb5b +#: ../../main/pupdevices/colorsensor.rst:20 0a6d9cee1d81452e9a6d50d32613bc0c msgid ".. image:: /blockimg/pybricks_blockLightReflection_ColorSensor.svg" msgstr "" -#: f17afcb02f924c749f437944e3b1f734 of +#: cd81552839114610a886d7e737c7c374 of #: pybricks._common.CommonColorSensor.reflection:1 msgid "Measures how much a surface reflects the light emitted by the sensor." msgstr "" -#: efe4548da43a4662a6fbe4aae4919122 of +#: 9b15af778b634bb7b7082136e8996754 of #: pybricks._common.CommonColorSensor.reflection:4 msgid "" "Measured reflection, ranging from 0% (no reflection) to 100% (high " "reflection)." msgstr "" -#: ../../main/pupdevices/colorsensor.rst:24 fcc01067edc94991998aaca332588203 +#: ../../main/pupdevices/colorsensor.rst:24 d9c1dd27088c46f6ae0e46539ab1c671 msgid ".. image:: /blockimg/pybricks_blockLightAmbient_ColorSensor.svg" msgstr "" -#: 41c55c8fc2e54f33a572369cd8b028d4 of +#: d0e4fed579a648a1a1575c59bbe5f4d3 of #: pybricks._common.CommonColorSensor.ambient:1 msgid "Measures the ambient light intensity." msgstr "" -#: bc99cb8cc1a3401c8e299ad0be24eb70 of +#: b74226b5947241d4913545877f4898b1 of #: pybricks._common.CommonColorSensor.ambient:3 msgid "Ambient light intensity, ranging from 0% (dark) to 100% (bright)." msgstr "" -#: ../../main/pupdevices/colorsensor.rst:29 9572da971af441289ee04190d78c21ce +#: ../../main/pupdevices/colorsensor.rst:29 0e77eaede27d426cbb5f5d7fb14ba879 msgid "Advanced color sensing" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:30 98996860c72d4ce7864167a95e556cd7 +#: ../../main/pupdevices/colorsensor.rst:30 71d36a6873ad4c08b0b7d1136fae10d4 msgid ".. image:: /blockimg/pybricks_blockColor_ColorSensor_hsv.svg" msgstr "" -#: 988f39780b2c4454ba9ddef858460c0a of +#: efd23ec91a0f4528b9da63096a7a241b of #: pybricks._common.AmbientColorSensor.hsv:3 msgid "" "This method is similar to ``color()``, but it gives the full range of " @@ -136,19 +136,19 @@ msgid "" "nearest detectable color." msgstr "" -#: 4f374bc08184445babd54398f8ebe4e3 of +#: b96d4d1b809c4ec6b1cbda0d9eca103c of #: pybricks._common.AmbientColorSensor.hsv:12 msgid "" "Measured color. The color is described by a hue (0--359), a saturation (0" "--100), and a brightness value (0--100)." msgstr "" -#: 651d680275f84ed9b915d804f1d8079d of +#: 6f76e86db36940dd94577e89e53a4c13 of #: pybricks._common.CommonColorSensor.detectable_colors:1 msgid "Configures which colors the ``color()`` method should detect." msgstr "" -#: 3e45f886d1be4808937929a0e39e4e99 of +#: 8993936eece4487a879603b581f7bf25 of #: pybricks._common.CommonColorSensor.detectable_colors:3 msgid "" "Specify only colors that you wish to detect in your application. This " @@ -156,17 +156,17 @@ msgid "" "color, and other colors are ignored. This improves reliability." msgstr "" -#: 28b9b210c6eb40a790feb689075c4c6e of +#: 88629267953f48418d9f2fac77275590 of #: pybricks._common.CommonColorSensor.detectable_colors:7 msgid "If you give no arguments, the currently chosen colors will be returned." msgstr "" -#: 2a1dc82305654db997c557f6582fb3fe of +#: 5c96674474934c7d8f3e61c0cdc4c924 of #: pybricks._common.CommonColorSensor.detectable_colors:9 msgid "When coding with blocks, this is configured in the sensor setup block." msgstr "" -#: d8742dbe18654777a7887dc67ba381f4 of +#: f04e4913d67e4659b0dbddd2691e9068 of #: pybricks._common.CommonColorSensor.detectable_colors:11 msgid "" "List of :class:`Color <.parameters.Color>` objects: the colors that you " @@ -175,151 +175,71 @@ msgid "" "better results. You measure your own colors with the ``hsv()`` method." msgstr "" -#: ../../main/pupdevices/colorsensor.rst:37 8350931726c541be9af48b22fb18dd43 +#: ../../main/pupdevices/colorsensor.rst:37 9a18b3e5cce94de4be129ea1f89d8793 msgid "Built-in lights" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:38 5ea726cf44a846a185c799ba303db9e5 +#: ../../main/pupdevices/colorsensor.rst:38 0c73f851767c48b2b196421bc07880ab msgid "" "This sensor has 3 built-in lights. You can adjust the brightness of each " "light. If you use the sensor to measure something, the lights will be " "turned on or off as needed for the measurement." msgstr "" -#: ../../main/pupdevices/colorsensor.rst:42 6c3641611ada41f0b82ef88948afb080 +#: ../../main/pupdevices/colorsensor.rst:42 f6b7819c01aa4d21b6d333ed4ba128d5 msgid ".. image:: /blockimg/pybricks_blockLightOn_colorsensor_on.svg" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:44 2a78728236ca481fb617efd00e4c4940 +#: ../../main/pupdevices/colorsensor.rst:44 7d151c47b07542f19d46b6c0200fca00 msgid ".. image:: /blockimg/pybricks_blockLightOn_colorsensor_on_list.svg" msgstr "" -#: 6890b797aa01458ea3cc04c2bbec6259 of pybricks._common.LightArray3.on:1 +#: cc5e801f171b484a9910f1a0fa028c5a of pybricks._common.LightArray3.on:1 msgid "Turns on the lights at the specified brightness." msgstr "" -#: 961f3da032fc4ac092664abfeb8e4e9d of pybricks._common.LightArray3.on:3 +#: bc510e690d52492d8ed6d912f77693a7 of pybricks._common.LightArray3.on:3 msgid "" "Use a single value to set the brightness of all lights at the same time. " "Use a tuple of three values to set the brightness of each light " "individually." msgstr "" -#: ../../main/pupdevices/colorsensor.rst:49 f6d5bcf72b594decaa642849d7287f07 +#: ../../main/pupdevices/colorsensor.rst:49 80227678442a4654aaed2924709e3051 msgid ".. image:: /blockimg/pybricks_blockLightOn_colorsensor_off.svg" msgstr "" -#: dbd8adce2a1a48ecae74a2be02586dd9 of pybricks._common.LightArray3.off:1 +#: 473ea6124b20466dba813df91ad0b60d of pybricks._common.LightArray3.off:1 msgid "Turns off all the lights." msgstr "" -#: ../../main/pupdevices/colorsensor.rst:55 ab8d176273d641b2a43d79c597f227f7 +#: ../../main/pupdevices/colorsensor.rst:55 b389c5f3332142679888b1655a28e21b msgid "Examples" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:58 98953e9b57db44feabc34970fd32c1fb +#: ../../main/pupdevices/colorsensor.rst:58 7a16503b7f12496a90bd87c4967a00b0 msgid "Measuring color and reflection" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:60 eb9f6edf4f564351aa53e185c2147bcc -msgid "" -"from pybricks.pupdevices import ColorSensor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorSensor(Port.A)\n" -"\n" -"while True:\n" -" # Read the color and reflection\n" -" color = sensor.color()\n" -" reflection = sensor.reflection()\n" -"\n" -" # Print the measured color and reflection.\n" -" print(color, reflection)\n" -"\n" -" # Move the sensor around and see how\n" -" # well you can detect colors.\n" -"\n" -" # Wait so we can read the value.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/pupdevices/colorsensor.rst:65 8f855de81c8d45e5930b945f83b826fe +#: ../../main/pupdevices/colorsensor.rst:65 feb4b23334a44f70b0cae6fe30e8d404 msgid "Waiting for a color" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:67 87cd03d73031450a9538eaa3cd1a0d36 -msgid "" -"from pybricks.pupdevices import ColorSensor\n" -"from pybricks.parameters import Port, Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorSensor(Port.A)\n" -"\n" -"\n" -"# This is a function that waits for a desired color.\n" -"def wait_for_color(desired_color):\n" -" # While the color is not the desired color, we keep waiting.\n" -" while sensor.color() != desired_color:\n" -" wait(20)\n" -"\n" -"\n" -"# Now we use the function we just created above.\n" -"while True:\n" -"\n" -" # Here you can make your train/vehicle go forward.\n" -"\n" -" print(\"Waiting for red ...\")\n" -" wait_for_color(Color.RED)\n" -"\n" -" # Here you can make your train/vehicle go backward.\n" -"\n" -" print(\"Waiting for blue ...\")\n" -" wait_for_color(Color.BLUE)\n" -msgstr "" - -#: ../../main/pupdevices/colorsensor.rst:72 fbb24d840bdf4f0283a00ab4a7ab4e49 +#: ../../main/pupdevices/colorsensor.rst:72 11f2971b6d864a72aeb82158e450e6ac msgid "Reading *reflected* hue, saturation, and value" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:74 d8e61f19ca0a4638ae9b78d43272cf2d -msgid "" -"from pybricks.pupdevices import ColorSensor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorSensor(Port.A)\n" -"\n" -"while True:\n" -" # The standard color() method always \"rounds\" the\n" -" # measurement to the nearest \"whole\" color.\n" -" # That's useful for most applications.\n" -"\n" -" # But you can get the original hue, saturation,\n" -" # and value without \"rounding\", as follows:\n" -" color = sensor.hsv()\n" -"\n" -" # Print the results.\n" -" print(color)\n" -"\n" -" # Wait so we can read the value.\n" -" wait(500)\n" -msgstr "" - -#: ../../main/pupdevices/colorsensor.rst:79 bbab0002e7d2432a8eb917648ea3d211 +#: ../../main/pupdevices/colorsensor.rst:79 c141e1fd9ece49069f897b687fcab983 msgid "Changing the detectable colors" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:81 9873cf8fcb4a4dc8a9d699ddb1a7c6db +#: ../../main/pupdevices/colorsensor.rst:81 244dbd2ffb104d74a249c11c38b1d5ab msgid "" "By default, the sensor is configured to detect red, yellow, green, blue, " "white, or no color, which suits many applications." msgstr "" -#: ../../main/pupdevices/colorsensor.rst:84 a1aeda93426649c699b8cc4d41f2bd2f +#: ../../main/pupdevices/colorsensor.rst:84 b61029ad528a4ca0ac9fc5f636b1788d msgid "" "For better results in your application, you can measure your desired " "colors in advance, and tell the sensor to look only for those colors. Be " @@ -328,151 +248,15 @@ msgid "" "colors that are otherwise hard to detect." msgstr "" -#: ../../main/pupdevices/colorsensor.rst:90 f0457ca9b346453a88355b3ebe2a45fe -msgid "" -"from pybricks.pupdevices import ColorSensor\n" -"from pybricks.parameters import Port, Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorSensor(Port.A)\n" -"\n" -"# First, decide which objects you want to detect, and measure their HSV " -"values.\n" -"# You can do that with the hsv() method as shown in the previous example." -"\n" -"#\n" -"# Use your measurements to override the default colors, or add new " -"colors:\n" -"Color.GREEN = Color(h=132, s=94, v=26)\n" -"Color.MAGENTA = Color(h=348, s=96, v=40)\n" -"Color.BROWN = Color(h=17, s=78, v=15)\n" -"Color.RED = Color(h=359, s=97, v=39)\n" -"\n" -"# Put your colors in a list or tuple.\n" -"my_colors = (Color.GREEN, Color.MAGENTA, Color.BROWN, Color.RED, " -"Color.NONE)\n" -"\n" -"# Save your colors.\n" -"sensor.detectable_colors(my_colors)\n" -"\n" -"# color() works as usual, but now it returns one of your specified " -"colors.\n" -"while True:\n" -" color = sensor.color()\n" -"\n" -" # Print the color.\n" -" print(color)\n" -"\n" -" # Check which one it is.\n" -" if color == Color.MAGENTA:\n" -" print(\"It works!\")\n" -"\n" -" # Wait so we can read it.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/pupdevices/colorsensor.rst:94 64cd246f9bc140cdbd2733ac5cbac731 +#: ../../main/pupdevices/colorsensor.rst:94 d33d3dfc69ba449bbd3dff34642eb728 msgid "Reading *ambient* hue, saturation, value, and color" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:96 be52f05e3c5b408b8acdd07a763cc1d6 -msgid "" -"from pybricks.pupdevices import ColorSensor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorSensor(Port.A)\n" -"\n" -"# Repeat forever.\n" -"while True:\n" -"\n" -" # Get the ambient color values. Instead of scanning the color of a " -"surface,\n" -" # this lets you scan the color of light sources like lamps or " -"screens.\n" -" hsv = sensor.hsv(surface=False)\n" -" color = sensor.color(surface=False)\n" -"\n" -" # Get the ambient light intensity.\n" -" ambient = sensor.ambient()\n" -"\n" -" # Print the measurements.\n" -" print(hsv, color, ambient)\n" -"\n" -" # Point the sensor at a computer screen or colored light. Watch the " -"color.\n" -" # Also, cover the sensor with your hands and watch the ambient value." -"\n" -"\n" -" # Wait so we can read the printed line\n" -" wait(100)\n" -msgstr "" - -#: ../../main/pupdevices/colorsensor.rst:100 0b928511014a474b86ded338364a3cad +#: ../../main/pupdevices/colorsensor.rst:100 fd7e48d3f20945cba6a5a0ff05bae72d msgid "Blinking the built-in lights" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:102 b1e8587cb94443f3899e983a2af7c77a -msgid "" -"from pybricks.pupdevices import ColorSensor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorSensor(Port.A)\n" -"\n" -"# Repeat forever.\n" -"while True:\n" -"\n" -" # Turn on one light at a time, at half the brightness.\n" -" # Do this for all 3 lights and repeat that 5 times.\n" -" for i in range(5):\n" -" sensor.lights.on([50, 0, 0])\n" -" wait(100)\n" -" sensor.lights.on([0, 50, 0])\n" -" wait(100)\n" -" sensor.lights.on([0, 0, 50])\n" -" wait(100)\n" -"\n" -" # Turn all lights on at maximum brightness.\n" -" sensor.lights.on(100)\n" -" wait(500)\n" -"\n" -" # Turn all lights off.\n" -" sensor.lights.off()\n" -" wait(500)\n" -msgstr "" - -#: ../../main/pupdevices/colorsensor.rst:106 55a13a32863c49e5a02a36123df6699a +#: ../../main/pupdevices/colorsensor.rst:106 f7fff2a2660642b781509e6fe1405a84 msgid "Turning off the lights when the program ends" msgstr "" -#: ../../main/pupdevices/colorsensor.rst:108 26dd4da520544f69a0a02749af8fd962 -msgid "" -"from pybricks.parameters import Port\n" -"from pybricks.pupdevices import ColorSensor\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorSensor(Port.A)\n" -"\n" -"\n" -"def main():\n" -" # Run the main code.\n" -" while True:\n" -" print(sensor.color())\n" -" wait(500)\n" -"\n" -"\n" -"# Wrap the main code in try/finally so that the cleanup code always runs\n" -"# when the program ends, even if an exception was raised.\n" -"try:\n" -" main()\n" -"finally:\n" -" # The cleanup code goes here.\n" -" print(\"Cleaning up.\")\n" -" sensor.lights.off()\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/dcmotor.po b/doc/locales/de/LC_MESSAGES/pupdevices/dcmotor.po index 6d1b12be..82ec8d61 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/dcmotor.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/dcmotor.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,201 +19,116 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/pupdevices/dcmotor.rst:4 9f32d370d1b7496ba064e7074956dc7e +#: ../../main/pupdevices/dcmotor.rst:4 86089d946ef445d7bc3261fc415606b1 msgid "Motors without rotation sensors" msgstr "" -#: ../../main/pupdevices/dcmotor.rst:8 d87b071d01264ea19483d00459a72063 +#: ../../main/pupdevices/dcmotor.rst:8 91c1d4a0783147c0ba4c0da48268a652 msgid "pupmotors" msgstr "" -#: ../../main/pupdevices/dcmotor.rst:8 d87b071d01264ea19483d00459a72063 +#: ../../main/pupdevices/dcmotor.rst:8 91c1d4a0783147c0ba4c0da48268a652 msgid ".. image:: ../../main/diagrams/pupdcmotors.png" msgstr "" -#: ../../main/pupdevices/dcmotor.rst:13 72c1a8893ede44c1a4e4069d38a6b81e +#: ../../main/pupdevices/dcmotor.rst:13 e8284ab97daf4fcc81adab8dbb6df2d7 msgid "" "Powered Up motors without rotation sensors. The arrows indicate the " "default positive direction." msgstr "" -#: ../../main/pupdevices/dcmotor.rst:16 74e70f8135ff48d2a5abd2e112d5f593 +#: ../../main/pupdevices/dcmotor.rst:16 679fbb9417594c2a879d0acf0ce00e74 msgid ".. image:: /blockimg/pybricks_variables_set_dc_motor.svg" msgstr "" -#: c5f94b1a5d574d1ca4e3e08265a6b7d6 of pybricks.pupdevices.DCMotor:1 +#: 0de1b93083834b96a89e349e285a82a3 of pybricks.pupdevices.DCMotor:1 msgid "LEGO® Powered Up motor without rotation sensors." msgstr "" -#: ../../main/pupdevices/dcmotor.rst 18ba76413c84400a8da19a4eae4ec996 -#: 7aff3fb87fea4603b01e9c61fdf497f4 98a2d55ff59a4dbc9ce6176f0279a8b2 +#: ../../main/pupdevices/dcmotor.rst 4f23d92a2a0446b9b184b4a4be646ac7 +#: 7cc07c82945247bf8a4a79d1f3cb0839 f18785ab3c5d4768a680c7f931ba2d72 msgid "Parameters" msgstr "" -#: c74cdf9a8883489db1a9561b479f66a9 of pybricks.pupdevices.DCMotor:3 +#: 54c64d0a8e594e7182bf136d27472ec7 of pybricks.pupdevices.DCMotor:3 msgid "Port to which the motor is connected." msgstr "" -#: 5a5d7f272d914d1b809ac3350983b4d3 of pybricks.pupdevices.DCMotor:5 +#: 6493710efe5e49769ffad9c11d909f4b of pybricks.pupdevices.DCMotor:5 msgid "" "Which direction the motor should turn when you give a positive duty cycle" " value." msgstr "" -#: ../../main/pupdevices/dcmotor.rst:21 aa53538c782249beb0984c86d19b58fc +#: ../../main/pupdevices/dcmotor.rst:21 148139b08f2144149cdb0e110d3572cc msgid ".. image:: /blockimg/pybricks_blockMotorDuty_DCMotor.svg" msgstr "" -#: 20817b7a5e154a60a9ade23aeeb63611 of pybricks._common.DCMotor.dc:1 +#: d23a21997b164cec8cc0c37d63158245 of pybricks._common.DCMotor.dc:1 msgid "Rotates the motor at a given duty cycle (also known as \"power\")." msgstr "" -#: f3d6a01db71a4e95be3ebbb79e3572c3 of pybricks._common.DCMotor.dc:3 +#: a4b7a939ab6a431bb3706bd13a2e1959 of pybricks._common.DCMotor.dc:3 msgid "The duty cycle (-100.0 to 100)." msgstr "" -#: ../../main/pupdevices/dcmotor.rst:26 034e909d94f9432fb9e9151ce3f4df89 +#: ../../main/pupdevices/dcmotor.rst:26 f78021ee8e7346379643a79b473db34e msgid ".. image:: /blockimg/pybricks_blockMotorStop_DCMotor_coast.svg" msgstr "" -#: 4ca88a7cb81843798dc3d4180a40275d of pybricks._common.DCMotor.stop:1 +#: a24f8a9645864d189e3743afc595adbf of pybricks._common.DCMotor.stop:1 msgid "Stops the motor and lets it spin freely." msgstr "" -#: b0d05e05f3384d84a51baf21a1766003 of pybricks._common.DCMotor.stop:3 +#: 57546011b13647a6b3abd4fa5a14c3a1 of pybricks._common.DCMotor.stop:3 msgid "The motor gradually stops due to friction." msgstr "" -#: ../../main/pupdevices/dcmotor.rst:31 64de981cf15a4b0baa7d5c81666096da +#: ../../main/pupdevices/dcmotor.rst:31 be7f72e97c714ccbba156b9496d2c733 msgid ".. image:: /blockimg/pybricks_blockMotorStop_DCMotor_brake.svg" msgstr "" -#: 1e9ef6b298ec43cebf040d28c1a946e8 of pybricks._common.DCMotor.brake:1 +#: 7a0b2f0632c94ffcb4870c79fea481d8 of pybricks._common.DCMotor.brake:1 msgid "Passively brakes the motor." msgstr "" -#: 30368a82f6944dc4b797ded58874ecc0 of pybricks._common.DCMotor.brake:3 +#: 5447632f66fb4134ac20c7d356457f61 of pybricks._common.DCMotor.brake:3 msgid "" "The motor stops due to friction, plus the voltage that is generated while" " the motor is still moving." msgstr "" -#: 3d5487446f5e4a15a8c4c02cc020f13c of pybricks._common.DCMotor.settings:1 +#: 9ce2f9d626d5473c934b2501401226f5 of pybricks._common.DCMotor.settings:1 msgid "settings(max_voltage) settings() -> Tuple[int]" msgstr "" -#: 7038489566ca43daa50c98d0774a4611 of pybricks._common.DCMotor.settings:4 +#: e4191daabefd40e1b8339ff62bf599bc of pybricks._common.DCMotor.settings:4 msgid "" "Configures motor settings. If no arguments are given, this returns the " "current values." msgstr "" -#: b2ed5bb1de2d43f49480bee700d0d89b of pybricks._common.DCMotor.settings:7 +#: b50f7134b74a4e4c88f892b2e21f5419 of pybricks._common.DCMotor.settings:7 msgid "Maximum voltage applied to the motor during all motor commands." msgstr "" -#: ../../main/pupdevices/dcmotor.rst:40 8a537596e8464e43b130c4cc9d18c701 +#: ../../main/pupdevices/dcmotor.rst:40 9cd20f2fab2a4fada4609aa0fabbe41f msgid "Examples" msgstr "" -#: ../../main/pupdevices/dcmotor.rst:43 2f2d43ae39aa4099a6105555aebcd671 +#: ../../main/pupdevices/dcmotor.rst:43 b26b78e77a984bed82dfb3387c9bdfbc msgid "Making a train drive forever" msgstr "" -#: ../../main/pupdevices/dcmotor.rst:45 011483c882b449e095cddc155d658fac -msgid "" -"from pybricks.pupdevices import DCMotor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the motor.\n" -"train_motor = DCMotor(Port.A)\n" -"\n" -"# Choose the \"power\" level for your train. Negative means reverse.\n" -"train_motor.dc(50)\n" -"\n" -"# Keep doing nothing. The train just keeps going.\n" -"while True:\n" -" wait(1000)\n" -msgstr "" - -#: ../../main/pupdevices/dcmotor.rst:49 331924d8275948889bae8964bb08393f +#: ../../main/pupdevices/dcmotor.rst:49 2b1e321b20764b9c93f72e2254f6f319 msgid "Making the motor move back and forth" msgstr "" -#: ../../main/pupdevices/dcmotor.rst:51 e124a04763284a4bb2c6f921cd0956c2 -#, python-format -msgid "" -"from pybricks.pupdevices import DCMotor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize a motor without rotation sensors on port A.\n" -"example_motor = DCMotor(Port.A)\n" -"\n" -"# Make the motor go clockwise (forward) at 70% duty cycle (\"70% " -"power\").\n" -"example_motor.dc(70)\n" -"\n" -"# Wait for three seconds.\n" -"wait(3000)\n" -"\n" -"# Make the motor go counterclockwise (backward) at 70% duty cycle.\n" -"example_motor.dc(-70)\n" -"\n" -"# Wait for three seconds.\n" -"wait(3000)\n" -msgstr "" - -#: ../../main/pupdevices/dcmotor.rst:55 86c823caec06434bb330a0c56ee20d01 +#: ../../main/pupdevices/dcmotor.rst:55 ba416719213249d9a1620e10e68433d2 msgid "Changing the positive direction" msgstr "" -#: ../../main/pupdevices/dcmotor.rst:57 a440561c2cd941c4bf4715d9e2ed5475 -msgid "" -"from pybricks.pupdevices import DCMotor\n" -"from pybricks.parameters import Port, Direction\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize a motor without rotation sensors on port A,\n" -"# with the positive direction as counterclockwise.\n" -"example_motor = DCMotor(Port.A, Direction.COUNTERCLOCKWISE)\n" -"\n" -"# When we choose a positive duty cycle, the motor now goes " -"counterclockwise.\n" -"example_motor.dc(70)\n" -"\n" -"# This is useful when your (train) motor is mounted in reverse or upside " -"down.\n" -"# By changing the positive direction, your script will be easier to read," -"\n" -"# because a positive value now makes your train/robot go forward.\n" -"\n" -"# Wait for three seconds.\n" -"wait(3000)\n" -msgstr "" - -#: ../../main/pupdevices/dcmotor.rst:61 f8fa4925e094484f9b7eb45a18062c01 +#: ../../main/pupdevices/dcmotor.rst:61 da3c6179c2bc4a94aacbb60b1170c790 msgid "Starting and stopping" msgstr "" -#: ../../main/pupdevices/dcmotor.rst:63 c5d3453be8b74dbaa7bfdc22c4372da9 -msgid "" -"from pybricks.pupdevices import DCMotor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize a motor without rotation sensors on port A.\n" -"example_motor = DCMotor(Port.A)\n" -"\n" -"# Start and stop 10 times.\n" -"for count in range(10):\n" -" print(\"Counter:\", count)\n" -"\n" -" example_motor.dc(70)\n" -" wait(1000)\n" -"\n" -" example_motor.stop()\n" -" wait(1000)\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/forcesensor.po b/doc/locales/de/LC_MESSAGES/pupdevices/forcesensor.po index f2e207ba..df8f1360 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/forcesensor.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/forcesensor.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,185 +19,104 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/pupdevices/forcesensor.rst:4 1fcf271d79c3495c80250019684437a7 +#: ../../main/pupdevices/forcesensor.rst:4 9da2838bc58a4168a38c011787f0bde3 msgid "Force Sensor" msgstr "" -#: ../../main/pupdevices/forcesensor.rst:6 7267662bc47d40b2a2942c87d41f3824 +#: ../../main/pupdevices/forcesensor.rst:6 27ddb71415914b81bf2cd1aa91a26c7d msgid ".. image:: ../../main/cad/output/pupdevice-force.png" msgstr "" -#: ../../main/pupdevices/forcesensor.rst:9 020022467ac84e5f8e3dbbd00799aca4 +#: ../../main/pupdevices/forcesensor.rst:9 89256240e7ca43ef92da22ea6b81170f msgid ".. image:: /blockimg/pybricks_variables_set_force_sensor.svg" msgstr "" -#: fa300be616be4bbe8684ea1af125df32 of pybricks.pupdevices.ForceSensor:1 +#: e6a7d74440474dcab7d8251e7a8392ee of pybricks.pupdevices.ForceSensor:1 msgid "LEGO® SPIKE Force Sensor." msgstr "" -#: ../../main/pupdevices/forcesensor.rst 383d728c7bef475799f0d64c4cdbc9bd -#: c57ac1cf5d8c4c0f84ccf0a5961d106b +#: ../../main/pupdevices/forcesensor.rst 0d3cc35ef48644f08d08309293db017d +#: 69c22363f65f47f5a6160f7c30239cd7 msgid "Parameters" msgstr "" -#: 59677c93b4f84055b9b76e600ee166bd of pybricks.pupdevices.ForceSensor:3 +#: 9c0059c7957b48d5bf99845bed8442b0 of pybricks.pupdevices.ForceSensor:3 msgid "Port to which the sensor is connected." msgstr "" -#: ../../main/pupdevices/forcesensor.rst:14 09737358d0334f16bc6436f2ef7f585e +#: ../../main/pupdevices/forcesensor.rst:14 cbb47a4e0e6b46f4be8fc23d3de5c067 msgid ".. image:: /blockimg/pybricks_blockForce_ForceSensor.svg" msgstr "" -#: 64d0ed8cd8af4693bdd79d748fa316fb of pybricks.pupdevices.ForceSensor.force:1 +#: 514143b84bd94488813ea61b197dcb3c of pybricks.pupdevices.ForceSensor.force:1 msgid "Measures the force exerted on the sensor." msgstr "" -#: ../../main/pupdevices/forcesensor.rst 099683af1a82478986d809ebf8ef8121 -#: 09ce7c791c9d491d8946db5faddc28f0 a8626dcab9864cb79edf2b3a56bb50be -#: f492586f3a5e488999d1fe1be63dbf01 +#: ../../main/pupdevices/forcesensor.rst 3195c7c515bf43db8ac4f1eaf0a58ff8 +#: 7440421940064839bf145bad968ae382 79816d7b368d446ba8f3264314af1f92 +#: d40d83e0fd804c6d9da39e58611b9672 msgid "Returns" msgstr "" -#: aad1ffcb7edc403da508988a4eaff905 of pybricks.pupdevices.ForceSensor.force:3 +#: 6ef63756138f497e9c01b91d3bb5143d of pybricks.pupdevices.ForceSensor.force:3 msgid "Measured force (up to approximately 10.00 N)." msgstr "" -#: ../../main/pupdevices/forcesensor.rst:18 4396cddaaa714b2e82bdac358cb48eb6 +#: ../../main/pupdevices/forcesensor.rst:18 c4699c7da9354803940f2e32253d5b9b msgid ".. image:: /blockimg/pybricks_blockDistance_ForceSensor.svg" msgstr "" -#: c7657936452c488d9c7e9bd20652d845 of +#: 157df13e85174701a068a87730407634 of #: pybricks.pupdevices.ForceSensor.distance:1 msgid "Measures by how much the sensor button has moved." msgstr "" -#: 7dda65be18c84299bfba42416205966c of +#: 594209e4e0614d8da59c0508286c0924 of #: pybricks.pupdevices.ForceSensor.distance:3 msgid "Movement up to approximately 8.00 mm." msgstr "" -#: 0f6003cb58874becaa388f36a18a2cb6 of +#: dd8ab01a7c67491b8986c15683b1f80f of #: pybricks.pupdevices.ForceSensor.pressed:1 msgid "Checks if the sensor button is pressed." msgstr "" -#: 3413119735fd40c9b86550ee3a9b1315 of +#: e77b77d156874b6bbd7e836df0776aa5 of #: pybricks.pupdevices.ForceSensor.pressed:3 msgid "Minimum force to be considered pressed." msgstr "" -#: 0dda52a965654fbdb8ab0ed7068164d0 of +#: 4af791437b4244ffbcd0fcea1e6fd85b of #: pybricks.pupdevices.ForceSensor.pressed:6 msgid "``True`` if the sensor is pressed, ``False`` if it is not." msgstr "" -#: f029fb289e8a46ad9a84203f7b7f87bf of +#: 2d612d1eedd749ad9f5a6e261a1e42c9 of #: pybricks.pupdevices.ForceSensor.touched:1 msgid "Checks if the sensor is touched." msgstr "" -#: 83f4ab5b96104e8ab476bf00120d58b9 of +#: 6431035c514c473993ec89274a508b3b of #: pybricks.pupdevices.ForceSensor.touched:3 msgid "" "This is similar to :meth:`pressed`, but it detects slight movements of " "the button even when the measured force is still considered zero." msgstr "" -#: 245ed1bdf1dd46ffa58f274cc239f594 of +#: 8c84c8d307ed43888ec31acdcfc5268b of #: pybricks.pupdevices.ForceSensor.touched:6 msgid "``True`` if the sensor is touched or pressed, ``False`` if it is not." msgstr "" -#: ../../main/pupdevices/forcesensor.rst:27 8f633134679d4bd59dedf53bb74f158c +#: ../../main/pupdevices/forcesensor.rst:27 eff4627dd4fa41d7901e534cc89b925e msgid "Examples" msgstr "" -#: ../../main/pupdevices/forcesensor.rst:30 9702722f93ac426fa3a0183da48fef6a +#: ../../main/pupdevices/forcesensor.rst:30 1a34092bfdb94329b3969b49246cbe56 msgid "Measuring force and movement" msgstr "" -#: ../../main/pupdevices/forcesensor.rst:32 b0969cd166d04caf9cd1875630aa91c2 -msgid "" -"from pybricks.pupdevices import ForceSensor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"button = ForceSensor(Port.A)\n" -"\n" -"while True:\n" -" # Read all the information we can get from this sensor.\n" -" force = button.force()\n" -" dist = button.distance()\n" -" press = button.pressed()\n" -" touch = button.touched()\n" -"\n" -" # Print the values\n" -" print(\"Force\", force, \"Dist:\", dist, \"Pressed:\", press, " -"\"Touched:\", touch)\n" -"\n" -" # Push the sensor button see what happens to the values.\n" -"\n" -" # Wait some time so we can read what is printed.\n" -" wait(200)\n" -msgstr "" - -#: ../../main/pupdevices/forcesensor.rst:36 b193a55513504d0984cf39cbefb60318 +#: ../../main/pupdevices/forcesensor.rst:36 021198cb22694a3da03757adeb7fb2f5 msgid "Measuring peak force" msgstr "" -#: ../../main/pupdevices/forcesensor.rst:38 975d85d2d49549c485fa345749c30be1 -msgid "" -"from pybricks.pupdevices import ForceSensor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"button = ForceSensor(Port.A)\n" -"\n" -"\n" -"# This function waits until the button is pushed. It keeps track of the " -"maximum\n" -"# detected force until the button is released. Then it returns the " -"maximum.\n" -"def wait_for_force():\n" -"\n" -" # Wait for a force, by doing nothing for as long the force is nearly " -"zero.\n" -" print(\"Waiting for force.\")\n" -" while button.force() <= 0.1:\n" -" wait(10)\n" -"\n" -" # Now we wait for the release, by waiting for the force to be zero " -"again.\n" -" print(\"Waiting for release.\")\n" -"\n" -" # While we wait for that to happen, we keep reading the force and " -"remember\n" -" # the maximum force. We do this by initializing the maximum at 0, and" -"\n" -" # updating it each time we detect a bigger force.\n" -" maximum = 0\n" -" force = 10\n" -" while force > 0.1:\n" -" # Read the force.\n" -" force = button.force()\n" -"\n" -" # Update the maximum if the measured force is larger.\n" -" if force > maximum:\n" -" maximum = force\n" -"\n" -" # Wait and then measure again.\n" -" wait(10)\n" -"\n" -" # Return the maximum force.\n" -" return maximum\n" -"\n" -"\n" -"# Keep waiting for the sensor button to be pushed. When it is, display\n" -"# the peak force and repeat.\n" -"while True:\n" -" peak = wait_for_force()\n" -" print(\"Released. Peak force: {0} N\\n\".format(peak))\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/index.po b/doc/locales/de/LC_MESSAGES/pupdevices/index.po index 06c87cde..e0fe8733 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/index.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,59 +19,59 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/pupdevices/index.rst:4 8af9d44f8737437f9fea7e8a51a780ba +#: ../../main/pupdevices/index.rst:4 5d3d165946f04d0db38d884a53d5e56c msgid ":mod:`pupdevices ` -- Motors, sensors, lights" msgstr "" -#: adeb7654450d4905818304e00a2c779f of pybricks.pupdevices:1 +#: 8566aa31b0de4c0eb73d8f35b4a58819 of pybricks.pupdevices:1 msgid "LEGO® Powered Up motor, sensors, and lights." msgstr "" -#: ../../main/pupdevices/index.rst:28 ba0627ec45dd4a6daabe38d953383558 +#: ../../main/pupdevices/index.rst:28 1dc7aa6808f643aba3dab3eb21b2b47d msgid ".. image:: ../../main/cad/output/pupdevice-dcmotors.png" msgstr "" -#: ../../main/pupdevices/index.rst:34 8c612dbe328f4e288a618a2d33cfc446 +#: ../../main/pupdevices/index.rst:34 33bb907bd1204b1a9f09f3553a79d14e msgid ".. image:: ../../main/cad/output/pupdevice-motors.png" msgstr "" -#: ../../main/pupdevices/index.rst:40 1e831a9df15646d6b53761ee788c783a +#: ../../main/pupdevices/index.rst:40 e7319833efd844c4b160826203107454 msgid ".. image:: ../../main/cad/output/pupdevice-tilt.png" msgstr "" -#: ../../main/pupdevices/index.rst:46 db9fa8ffad4849ce96169159cab951a2 +#: ../../main/pupdevices/index.rst:46 c9213a769473422692b879a8f9b3deba msgid ".. image:: ../../main/cad/output/pupdevice-infrared.png" msgstr "" -#: ../../main/pupdevices/index.rst:52 e82a328cddbc43f4be8c2bc99e55755f +#: ../../main/pupdevices/index.rst:52 10c6ef0d8ca54b5ca1c09b41776dad3f msgid ".. image:: ../../main/cad/output/pupdevice-colordistance.png" msgstr "" -#: ../../main/pupdevices/index.rst:58 5e996d2b11d84097b0c0b48fe099146a +#: ../../main/pupdevices/index.rst:58 02fa0d9b33914f858f354036fae3d182 msgid ".. image:: ../../main/cad/output/pupdevice-pfmotor.png" msgstr "" -#: ../../main/pupdevices/index.rst:64 5d585df5542d402090e7e5a949220fe5 +#: ../../main/pupdevices/index.rst:64 2d46434f815f4142b7192d0f74df1912 msgid ".. image:: ../../main/cad/output/pupdevice-color.png" msgstr "" -#: ../../main/pupdevices/index.rst:70 f4b13cf4c78840d0883aab7ee498cf36 +#: ../../main/pupdevices/index.rst:70 dc3a0cf3039040b399b96e1ba6b5214e msgid ".. image:: ../../main/cad/output/pupdevice-ultrasonic.png" msgstr "" -#: ../../main/pupdevices/index.rst:76 91bd0680a50e4373bacc1ae869184b3e +#: ../../main/pupdevices/index.rst:76 2c26cfbd1cd8492c90686e4272f8d174 msgid ".. image:: ../../main/cad/output/pupdevice-force.png" msgstr "" -#: ../../main/pupdevices/index.rst:82 47ce8952b3934804befebb9e227ac478 +#: ../../main/pupdevices/index.rst:82 0c49298eb18c45ee88e10faca3b54efd msgid ".. image:: ../../main/diagrams/sensor_colorlightmatrix.png" msgstr "" -#: ../../main/pupdevices/index.rst:88 7f9bf8afd7ac487e8ccc9d7ee1c0d2e8 +#: ../../main/pupdevices/index.rst:88 62ca9b02be9d4eafbcf72781469cd1b9 msgid ".. image:: ../../main/cad/output/pupdevice-light.png" msgstr "" -#: ../../main/pupdevices/index.rst:94 8e5b86e4a0fc4424af45762472ce34bc +#: ../../main/pupdevices/index.rst:94 c6164725a8ac4ae7a9457514ab2468ee msgid ".. image:: ../../main/cad/output/pupdevice-remote.png" msgstr "" diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/infraredsensor.po b/doc/locales/de/LC_MESSAGES/pupdevices/infraredsensor.po index 444d1700..6de193f6 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/infraredsensor.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/infraredsensor.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,107 +19,82 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/pupdevices/infraredsensor.rst:4 d7829c318c424fb4b2e7b6ad23733c5c +#: ../../main/pupdevices/infraredsensor.rst:4 7e39e201df154a10a28a8ba394e90d24 msgid "Infrared Sensor" msgstr "" -#: ../../main/pupdevices/infraredsensor.rst:6 a88a91ad0cf54d67b5e5078da064dcd8 +#: ../../main/pupdevices/infraredsensor.rst:6 99ed52f8ee3a4cc5b62974cb64b9a046 msgid ".. image:: ../../main/cad/output/pupdevice-infrared.png" msgstr "" -#: ../../main/pupdevices/infraredsensor.rst:9 3c4be04079ea4c679320adc4cc7b4c89 +#: ../../main/pupdevices/infraredsensor.rst:9 3e873f97ebdb47f6827332edb01e0aa0 msgid ".. image:: /blockimg/pybricks_variables_set_infrared_sensor.svg" msgstr "" -#: 754fa3eb687d404fa20f8680e2fcfa62 of pybricks.pupdevices.InfraredSensor:1 +#: b13d1ed5a03d42e0a164d545b885c738 of pybricks.pupdevices.InfraredSensor:1 msgid "LEGO® Powered Up Infrared Sensor." msgstr "" -#: ../../main/pupdevices/infraredsensor.rst dd851ac630094211a10b25b098d8516e +#: ../../main/pupdevices/infraredsensor.rst f8a2396f13f84dd18a57b7351ee6a5e0 msgid "Parameters" msgstr "" -#: d8c26fcb35614abaaead28a7ddb2ca90 of pybricks.pupdevices.InfraredSensor:3 +#: a57b5d3e178945f086699105d5683a21 of pybricks.pupdevices.InfraredSensor:3 msgid "Port to which the sensor is connected." msgstr "" -#: ../../main/pupdevices/infraredsensor.rst:14 c29094ad2a1c46dc967bc942f3d14c39 +#: ../../main/pupdevices/infraredsensor.rst:14 9ca546b4a5f34c4c846d1b05257997e8 msgid ".. image:: /blockimg/pybricks_blockDistance_InfraredSensor.svg" msgstr "" -#: a88a6f3b87854c14b4e63483aa2e7b01 of +#: 016b46e04dab41b180faf5827c38b26a of #: pybricks.pupdevices.InfraredSensor.distance:1 msgid "" "Measures the relative distance between the sensor and an object using " "infrared light." msgstr "" -#: ../../main/pupdevices/infraredsensor.rst 2764dc27f1a64dde93a52abdf5dfc2ba -#: c7eb9eac2d6c4e14a837da36a0c9e6f0 d748fa3befea49caa6066ab0caa2fc8a +#: ../../main/pupdevices/infraredsensor.rst 55a548fb78144c438b58fc30f9f51940 +#: 85da900c22874211a8fac8525bc5464b b0fd23f883c745ecb2c7ada722c41595 msgid "Returns" msgstr "" -#: f660a41a27f84446a0451da687eeffbb of +#: aeda1dcd5acb4a27a70d79c869a65a61 of #: pybricks.pupdevices.InfraredSensor.distance:4 msgid "Distance ranging from 0% (closest) to 100% (farthest)." msgstr "" -#: ../../main/pupdevices/infraredsensor.rst:18 22bfedf612274021b65a6c7407e3340d +#: ../../main/pupdevices/infraredsensor.rst:18 e699a4ee1a0f405293e79782cfc59d0e msgid ".. image:: /blockimg/pybricks_blockLightReflection_InfraredSensor.svg" msgstr "" -#: 225b780e28644edda85057ee9e729427 of +#: dbf57f187fed49f6b3b588a2a91c1d37 of #: pybricks.pupdevices.InfraredSensor.reflection:1 msgid "Measures the reflection of a surface using an infrared light." msgstr "" -#: 0e98eb2bd83f4c76b68359b19716e1b1 of +#: cd9aab699c1648a4a2a5f7da2c4717e6 of #: pybricks.pupdevices.InfraredSensor.reflection:3 msgid "" "Measured reflection, ranging from 0% (no reflection) to 100% (high " "reflection)." msgstr "" -#: ee9fcb749d3e439281b43c529621c50f of +#: d25bdfa472b24e9483f0b56b006b2e18 of #: pybricks.pupdevices.InfraredSensor.count:1 msgid "Counts the number of objects that have passed by the sensor." msgstr "" -#: 8cfaa4ac691b42f4814e2aedff2361af of +#: 9625b97d5c044e04b8f2dfefe8116822 of #: pybricks.pupdevices.InfraredSensor.count:3 msgid "Number of objects counted." msgstr "" -#: ../../main/pupdevices/infraredsensor.rst:25 269052feb8a7401b8c9410d6bdf71f20 +#: ../../main/pupdevices/infraredsensor.rst:25 26a5ace16ce1448486daf4e23f762d57 msgid "Examples" msgstr "" -#: ../../main/pupdevices/infraredsensor.rst:28 1e618b45f8eb47fbbea60a1cffacd18c +#: ../../main/pupdevices/infraredsensor.rst:28 e06a314a01ad40569666a1b869471a4e msgid "Measuring distance, object count, and reflection" msgstr "" -#: ../../main/pupdevices/infraredsensor.rst:30 109622004c2c4799ada0ef8326389228 -msgid "" -"from pybricks.pupdevices import InfraredSensor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"ir = InfraredSensor(Port.A)\n" -"\n" -"while True:\n" -" # Read all the information we can get from this sensor.\n" -" dist = ir.distance()\n" -" count = ir.count()\n" -" ref = ir.reflection()\n" -"\n" -" # Print the values\n" -" print(\"Distance:\", dist, \"Count:\", count, \"Reflection:\", ref)\n" -"\n" -" # Move the sensor around and move your hands in front\n" -" # of it to see what happens to the values.\n" -"\n" -" # Wait some time so we can read what is printed.\n" -" wait(200)\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/light.po b/doc/locales/de/LC_MESSAGES/pupdevices/light.po index 96f53a27..a6cff4d2 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/light.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/light.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,109 +19,60 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/pupdevices/light.rst:4 978081e1c8844ba999fbb8f4b6b1d3eb +#: ../../main/pupdevices/light.rst:4 eea462424ea04252930af18aee5baa78 msgid "Light" msgstr "" -#: ../../main/pupdevices/light.rst:6 369d0e02cd304bcb8a83f99387d07441 +#: ../../main/pupdevices/light.rst:6 fd425b0781d64fc1b24c68322d4b9309 msgid ".. image:: ../../main/cad/output/pupdevice-light.png" msgstr "" -#: ../../main/pupdevices/light.rst:9 80847b1b3a67417fb25348113a507e57 +#: ../../main/pupdevices/light.rst:9 4e138288ae6e4b57b6c3fbfad2b45245 msgid ".. image:: /blockimg/pybricks_variables_set_light.svg" msgstr "" -#: 84c41bc528c74e33b319dc950a3609fb of pybricks.pupdevices.Light:1 +#: edd678bdfd894ca3be2961adee2340e4 of pybricks.pupdevices.Light:1 msgid "LEGO® Powered Up Light." msgstr "" -#: ../../main/pupdevices/light.rst 32fc67aca1954fc49c8f3212e5f0050a -#: 42a3a188e38b489b97ede4bd45bcb05f +#: ../../main/pupdevices/light.rst 72823792b5774b4d91a6de7bc2b0e930 +#: bcb5a226b21749949abf8550eac3ff87 msgid "Parameters" msgstr "" -#: 5e985862db134417aafdef58822ee602 of pybricks.pupdevices.Light:3 +#: f9a2ffc1f9c048e1b476689130767f62 of pybricks.pupdevices.Light:3 msgid "Port to which the device is connected." msgstr "" -#: ../../main/pupdevices/light.rst:14 be8fe4b43759486ebdd367ac461b61dd +#: ../../main/pupdevices/light.rst:14 c42a194a2e8f42ada257b4a5ffe50b92 msgid ".. image:: /blockimg/pybricks_blockLightOn_light_on.svg" msgstr "" -#: 1be6b74df46a45ada28ea50faae285ca of pybricks.pupdevices.Light.on:1 +#: a80b04529d1e4d4fa134072da4f4e904 of pybricks.pupdevices.Light.on:1 msgid "Turns on the light at the specified brightness." msgstr "" -#: 0d1ad2567bba452ebbe0bb30a5d2bf2c of pybricks.pupdevices.Light.on:3 +#: d04dc271592645fea0c5a12098dfc0ba of pybricks.pupdevices.Light.on:3 msgid "Brightness of the light." msgstr "" -#: ../../main/pupdevices/light.rst:18 efe96a8489124010bc9a9342f83d262b +#: ../../main/pupdevices/light.rst:18 497afafb29a84bbb9c80ae8b92f30a6c msgid ".. image:: /blockimg/pybricks_blockLightOn_light_off.svg" msgstr "" -#: 53b94c5e0e684ef49c96e350a6a4ad9d of pybricks.pupdevices.Light.off:1 +#: deb1ed3465a84e6c9989e52e129e43d9 of pybricks.pupdevices.Light.off:1 msgid "Turns off the light." msgstr "" -#: ../../main/pupdevices/light.rst:23 969edf292caf44829a01c84c00c5ebee +#: ../../main/pupdevices/light.rst:23 c81c534cd4a94968820e8e3895e99b6d msgid "Examples" msgstr "" -#: ../../main/pupdevices/light.rst:26 1f192da469154fe0a3860ea4d5c8d88f +#: ../../main/pupdevices/light.rst:26 79f131a9bff446269773670527343762 msgid "Making the light blink" msgstr "" -#: ../../main/pupdevices/light.rst:28 6ee3be639a9f49cabf598de4da2b14da -msgid "" -"from pybricks.pupdevices import Light\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the light.\n" -"light = Light(Port.A)\n" -"\n" -"# Blink the light forever.\n" -"while True:\n" -" # Turn the light on at 100% brightness.\n" -" light.on(100)\n" -" wait(500)\n" -"\n" -" # Turn the light off.\n" -" light.off()\n" -" wait(500)\n" -msgstr "" - -#: ../../main/pupdevices/light.rst:32 91769aee778243789bc6bf289dd9823a +#: ../../main/pupdevices/light.rst:32 3c37d5785e3d40e9ad974485844cdb53 msgid "Gradually change the brightness" msgstr "" -#: ../../main/pupdevices/light.rst:34 34d2d0f492684d6bba53941d845dd2fd -msgid "" -"from pybricks.pupdevices import Light\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait, StopWatch\n" -"\n" -"from umath import pi, cos\n" -"\n" -"# Initialize the light and a StopWatch.\n" -"light = Light(Port.A)\n" -"watch = StopWatch()\n" -"\n" -"# Cosine pattern properties.\n" -"PERIOD = 2000\n" -"MAX = 100\n" -"\n" -"# Make the brightness fade in and out.\n" -"while True:\n" -" # Get phase of the cosine.\n" -" phase = watch.time() / PERIOD * 2 * pi\n" -"\n" -" # Evaluate the brightness.\n" -" brightness = (0.5 - 0.5 * cos(phase)) * MAX\n" -"\n" -" # Set light brightness and wait a bit.\n" -" light.on(brightness)\n" -" wait(10)\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/motor.po b/doc/locales/de/LC_MESSAGES/pupdevices/motor.po index 1daab94b..57953681 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/motor.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/motor.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,56 +19,56 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/pupdevices/motor.rst:4 81bede5b30124cf981b41e6a4d6b6993 +#: ../../main/pupdevices/motor.rst:4 d609b04ac8c74abb886a080766f757d3 msgid "Motors with rotation sensors" msgstr "" -#: ../../main/pupdevices/motor.rst:8 3dba485ea83f43a19338ce482368d434 +#: ../../main/pupdevices/motor.rst:8 54cd6a0b28e740db8d09830673418ee5 msgid "pupmotors" msgstr "" -#: ../../main/pupdevices/motor.rst:8 3dba485ea83f43a19338ce482368d434 +#: ../../main/pupdevices/motor.rst:8 54cd6a0b28e740db8d09830673418ee5 msgid ".. image:: ../../main/diagrams/pupmotors.png" msgstr "" -#: ../../main/pupdevices/motor.rst:12 291a36b434f84d4bafb0bbca14e54ad7 +#: ../../main/pupdevices/motor.rst:12 9016c90d03b24ce6af746a9ffa36c854 msgid "" "Powered Up motors with rotation sensors. The arrows indicate the default " "positive direction. See the :mod:`hubs ` module for " "default directions of built-in motors." msgstr "" -#: ../../main/pupdevices/motor.rst:16 9e7f8a10282e4cdb9447af44139ea111 +#: ../../main/pupdevices/motor.rst:16 124f23b1c5ea463d8679d759c6d88bd6 msgid ".. image:: /blockimg/pybricks_variables_set_motor.svg" msgstr "" -#: 8250870baa6345849cd1ee635cd86b7e of pybricks.pupdevices.Motor:1 +#: e3c88a427fa44e8b9b55d39b614b10b6 of pybricks.pupdevices.Motor:1 msgid "LEGO® Powered Up motor with rotation sensors." msgstr "" -#: ../../main/pupdevices/motor.rst 1a9ef6eb37cd4cf78d0981a6e3e22cb7 -#: 203b9c6af2b24ebd830e8a2baa5022f7 206fa21e27d54920a68b7739b0a2170e -#: 5742e2c2b0eb4fc882e6bd2221a37051 61032272d4bb4a85aa39a69479439c90 -#: 76cb1aefb64d4764b760ca5c458083fa 7a82fd9a6bdc4afbb0bcd2fab4da9979 -#: 7d824cb851eb46f8a420ec2b2de5bff2 8669762e067e4e9b8063d025b5288ded -#: a8ae3d9b6ac44c76bfe7ef8385705741 b23f7610ced84cc48dfa73cecfef41eb -#: d5ebcc59d4394e0ca369fd3b5ac81704 f4aff3405927453dbbf72331d6db0096 -#: f5fa3261b6ef4439a2f7905aeb7cf9ab fafefb711e7244d1affd71c37a76c195 -#: fe5e80b48186483e8d448cf34716cfe4 +#: ../../main/pupdevices/motor.rst 0aaacec7296041e3a8f147563a30ca3c +#: 396ad94f68c9460eb1466d751d2b1ccf 56bced7733de42c08db61e5d909c0dc2 +#: 61b13dbea7c3438c9602ea5062c9bc07 7c364da9b7454c0b8d910f3bd92a7f0b +#: 8aace70bcc744190987f3c4cb86f510b 93448afb71b3424898f58c3240caa6af +#: a32d7b522cda44258c1cca086e5e5258 afb07b5f4d26445e80f097d3cc7b04a3 +#: b38f124008754235a708e92f6656f80e b90509736449442eb3299e84e2e6378c +#: c3be0f8a10ef40c88d79e2b9129dcd71 c7dba0ddf0234da0bbdaad59b464d52a +#: db35f5ed065046d8be0cf9cfe0987746 ddf50af4684c43e59d3e26160f7fea26 +#: fe20fde01c374a8899499355103003c5 msgid "Parameters" msgstr "" -#: 8ec9f2179d814b8cb75d4ce1af81c2af of pybricks.pupdevices.Motor:3 +#: 38239fcf4cc2464dad09a9ed7fb740b0 of pybricks.pupdevices.Motor:3 msgid "Port to which the motor is connected." msgstr "" -#: 64caab05e498483fb2b86ff2189e43c5 of pybricks.pupdevices.Motor:5 +#: 80999cf4c98b417ca816a4ac69c2016c of pybricks.pupdevices.Motor:5 msgid "" "Which direction the motor should turn when you give a positive speed " "value or angle." msgstr "" -#: eba38e5c012b451cb1d3bf1790c7e782 of pybricks.pupdevices.Motor:9 +#: 5adb5058ef3d40de875ae05212e86f5c of pybricks.pupdevices.Motor:9 msgid "" "List of gears linked to the motor. The gear connected to the motor comes " "first and the gear connected to the output comes last. For example: " @@ -80,13 +80,13 @@ msgid "" " direction remains unchanged by this." msgstr "" -#: f218b50dcb1f4a6f8abe621e87ef2129 of pybricks.pupdevices.Motor:9 +#: 24dfbfe4da284733bb906b33997c15d6 of pybricks.pupdevices.Motor:9 msgid "" "List of gears linked to the motor. The gear connected to the motor comes " "first and the gear connected to the output comes last." msgstr "" -#: e676c89b2c42486e870c5636413d006b of pybricks.pupdevices.Motor:13 +#: 069c8e9a7ea84dc0b329eb70e11ac9da of pybricks.pupdevices.Motor:13 msgid "" "For example: ``[12, 36]`` represents a gear train with a 12-tooth gear " "connected to the motor and a 36-tooth gear connected to the output. Use a" @@ -94,21 +94,21 @@ msgid "" "40]]``." msgstr "" -#: 8803c4330af1414e82004ceb4916985b of pybricks.pupdevices.Motor:18 +#: 4e511236d62a4b9eb713b147f442c15c of pybricks.pupdevices.Motor:18 msgid "" "When you specify a gear train, all motor commands and settings are " "automatically adjusted to account for the resulting gear ratio. The motor" " direction remains unchanged by this." msgstr "" -#: 525edf13e2ab47cba7703a1843d87bb7 of pybricks.pupdevices.Motor:22 +#: 5a6ca860977c49bda0c802a95ee8048c of pybricks.pupdevices.Motor:22 msgid "" "Choose ``True`` to reset the rotation sensor value to the absolute marker" " angle (between -180 and 179). Choose ``False`` to keep the current " "value, so your program knows where it left off last time." msgstr "" -#: 717c8608b5e545c2a99e96fc9e8b13d5 of pybricks.pupdevices.Motor:28 +#: 85888c298a73492ca04708a27140846a of pybricks.pupdevices.Motor:28 msgid "" "Precision profile. This is the approximate position tolerance in degrees " "that is acceptable in your application. A lower value gives more precise " @@ -117,62 +117,62 @@ msgid "" "will be selected automatically (about 11 degrees)." msgstr "" -#: ../../main/pupdevices/motor.rst:22 12b35e569efa457bb856a04c22b6c51a +#: ../../main/pupdevices/motor.rst:22 9ddcabe70c274c86a3fa068f8bf26b68 msgid "Measuring" msgstr "" -#: ../../main/pupdevices/motor.rst:23 ffc37cbca6bb4f25a7636cc46e561c42 +#: ../../main/pupdevices/motor.rst:23 3538169cd27241518893f5954c7224c4 msgid ".. image:: /blockimg/pybricks_blockMotorMeasure_motor_angle.svg" msgstr "" -#: 9ef69b7f10224572b8633385f56358aa of pybricks._common.Motor.angle:1 +#: 09a72e2f6219450da5d2e50abc786a31 of pybricks._common.Motor.angle:1 msgid "Gets the rotation angle of the motor." msgstr "" -#: ../../main/pupdevices/motor.rst 0cad5bb637c2494983a5610b24516139 -#: 23b6196b7d7f4469abdc81417c845753 390ac056aad84744b7ef9a217947968f -#: 3cdf235a4d7240df964222ed7bd64b49 53c206ebd29649988a059e274e1c0e37 -#: 8cf58815ee784efdb02d8a5a1cd794ba fe0a81775c124c35b104c873d24dec52 +#: ../../main/pupdevices/motor.rst 12b7713eb2a54351aa32bd09c4785b4a +#: 1a9523e630354d5cbdf4903beea2c090 1c9deb0a3cd54908a0dbe25527a469de +#: 2dc15715c410405ab0819bcf055c6418 5d08fcffa3f845cbb82e983945e20da0 +#: 79df9bfe3f654784ab13d55487133bde c2dc00b5270a4554a4735637f8106fe1 msgid "Returns" msgstr "" -#: 0395cf32cc3442c69a8e4d41d1402f3b of pybricks._common.Motor.angle:3 +#: 8ec3e09124dc40bcb22430017ce8fb05 of pybricks._common.Motor.angle:3 msgid "Motor angle." msgstr "" -#: ../../main/pupdevices/motor.rst:27 0b50aae1ea864954ab446b70445a7526 +#: ../../main/pupdevices/motor.rst:27 005b9fbb893845bba4bb7b5aeb8d4027 msgid ".. image:: /blockimg/pybricks_blockMotorResetAngle.svg" msgstr "" -#: b50b205911bd4f27a9d450d3f902e1cb of pybricks.pupdevices.Motor.reset_angle:1 +#: 195b0dc07a434f819725e7df59702428 of pybricks.pupdevices.Motor.reset_angle:1 msgid "Sets the accumulated rotation angle of the motor to a desired value." msgstr "" -#: 80166980f8544e0fbedb0461986d95ad of pybricks.pupdevices.Motor.reset_angle:3 +#: 638ffcb5fb9f426f873d40e33651d07c of pybricks.pupdevices.Motor.reset_angle:3 msgid "" "If you don't specify an angle, the absolute angle will be used if your " "motor supports it." msgstr "" -#: 8d2a9bfbb7c34ac7a80d842fc00ce97d of pybricks.pupdevices.Motor.reset_angle:6 +#: d6ee3fe0422644e5a30ef77fa27ad5b4 of pybricks.pupdevices.Motor.reset_angle:6 msgid "Value to which the angle should be reset." msgstr "" -#: ../../main/pupdevices/motor.rst:31 33d0843a783d46e592f36ef16dd970df +#: ../../main/pupdevices/motor.rst:31 5ce679b9ef49477ca9af4e340395be67 msgid ".. image:: /blockimg/pybricks_blockMotorMeasure_motor_speed.svg" msgstr "" -#: ../../main/pupdevices/motor.rst:33 dd8a206d1bd94eee85aecba4247edf29 +#: ../../main/pupdevices/motor.rst:33 d056bb15d4e842f89cfba59c58f55e37 msgid "" ".. image:: " "/blockimg/pybricks_blockMotorMeasure_motor_get_speed_average.svg" msgstr "" -#: 8511ccfa6b1349ccba588549fa971e2b of pybricks._common.Motor.speed:1 +#: d36ba0f0df70480da93506651b152014 of pybricks._common.Motor.speed:1 msgid "Gets the speed of the motor." msgstr "" -#: deb65813530040b1865375abb0bfe1cc of pybricks._common.Motor.speed:3 +#: fafc3801e01949e6b18f238e56ac5f7f of pybricks._common.Motor.speed:3 msgid "" "The speed is measured as the change in the motor angle during the given " "time window. A short window makes the speed value more responsive to " @@ -180,200 +180,200 @@ msgid "" " responsive, but more steady." msgstr "" -#: 11dc6a597ecd47eaa553557f5cf041a1 of pybricks._common.Motor.speed:8 +#: c82a57b52bf947b7bc227e0f2134f94a of pybricks._common.Motor.speed:8 msgid "The time window used to determine the speed." msgstr "" -#: 75f550a1a0ec4def897ae9a99fea1abd of pybricks._common.Motor.speed:11 +#: 865a5fb60ec3456289fab11ba70c6716 of pybricks._common.Motor.speed:11 msgid "Motor speed." msgstr "" -#: ../../main/pupdevices/motor.rst:37 701ad273f6ea4c2e8b44bfca4a37bda1 +#: ../../main/pupdevices/motor.rst:37 fd85251076ce4ae6b32328abab8f5324 msgid ".. image:: /blockimg/pybricks_blockMotorMeasure_motor_load.svg" msgstr "" -#: bab20cb9000948e58369608344a3918a of pybricks._common.Motor.load:1 +#: c98eb113dc84473daf8353e276cfa7f5 of pybricks._common.Motor.load:1 msgid "Estimates the load that holds back the motor when it tries to move." msgstr "" -#: a3b0a90d5b174705b9cce1765e470b68 of pybricks._common.Motor.load:3 +#: 60241ca723b94115b6a9ed3289ea1dbf of pybricks._common.Motor.load:3 msgid "The load torque." msgstr "" -#: ../../main/pupdevices/motor.rst:41 820b36bda78745358cc8bb6e24f2b472 +#: ../../main/pupdevices/motor.rst:41 b54ffb1dd9f047cd8e23cd343d47a1d7 msgid ".. image:: /blockimg/pybricks_blockMotorMeasure_motor_stalled.svg" msgstr "" -#: e971e0aabe2344319f372ba873259ed5 of pybricks._common.Motor.stalled:1 +#: 8ac820cfca1e444892f1af6c04079bc4 of pybricks._common.Motor.stalled:1 msgid "Checks if the motor is currently stalled." msgstr "" -#: ebc6d7e5ca5e4802b36b84321d56a0ec of pybricks._common.Motor.stalled:3 +#: 4b4acdc2d0ed4561a77e0da63b453cd5 of pybricks._common.Motor.stalled:3 msgid "" "It is stalled when it cannot reach the target speed or position, even " "with the maximum actuation signal." msgstr "" -#: cf06a7dd18c142c2826e727928cc15c9 of pybricks._common.Motor.stalled:6 +#: 1a938a1668904549bc37a77894d07ce2 of pybricks._common.Motor.stalled:6 msgid "``True`` if the motor is stalled, ``False`` if not." msgstr "" -#: ../../main/pupdevices/motor.rst:46 6ec59ade17d14057a55310647d14fcdb +#: ../../main/pupdevices/motor.rst:46 48da1c58a4614d479a17c0bf990b457d msgid "Stopping" msgstr "" -#: ../../main/pupdevices/motor.rst:47 07cbb8e0cd764682b995e544eb362419 +#: ../../main/pupdevices/motor.rst:47 2f34847ac4fb4bb48dfe79594c707b06 msgid ".. image:: /blockimg/pybricks_blockMotorStop_Motor_coast.svg" msgstr "" -#: 84e2a43b5f2f4fefa476d3af90b1ae43 of pybricks._common.DCMotor.stop:1 +#: c0c66e83942c483c87726f1439b5663f of pybricks._common.DCMotor.stop:1 msgid "Stops the motor and lets it spin freely." msgstr "" -#: 6463d035842141e2adcdddceeb9df53d of pybricks._common.DCMotor.stop:3 +#: 37517a93872a4d86bcff5b35ed9cc5e7 of pybricks._common.DCMotor.stop:3 msgid "The motor gradually stops due to friction." msgstr "" -#: ../../main/pupdevices/motor.rst:51 3199eba1ba08484790e8f2a471989e72 +#: ../../main/pupdevices/motor.rst:51 e74618629347420fb781e2243a0dfd5b msgid ".. image:: /blockimg/pybricks_blockMotorStop_Motor_brake.svg" msgstr "" -#: f3479dd0bb274f83b476ed64e3e2400b of pybricks._common.DCMotor.brake:1 +#: c92ebeed6a114332ad9fe3c60c1275c4 of pybricks._common.DCMotor.brake:1 msgid "Passively brakes the motor." msgstr "" -#: 78b3af53adfd444bb59c8836442b57d2 of pybricks._common.DCMotor.brake:3 +#: 21b625f7f3ed4dc4a7ee2ae48e47ab7f of pybricks._common.DCMotor.brake:3 msgid "" "The motor stops due to friction, plus the voltage that is generated while" " the motor is still moving." msgstr "" -#: ../../main/pupdevices/motor.rst:55 bbfb7424d45940859da5025abe70db43 +#: ../../main/pupdevices/motor.rst:55 59fa0405965742b5913b94540bd6db54 msgid ".. image:: /blockimg/pybricks_blockMotorStop_Motor_hold.svg" msgstr "" -#: a6bad666d4cc41748e4fe121f7c605ac of pybricks._common.Motor.hold:1 +#: 88249a4133204403859778101ea1f21e of pybricks._common.Motor.hold:1 msgid "Stops the motor and actively holds it at its current angle." msgstr "" -#: ../../main/pupdevices/motor.rst:60 2432f4a382d44dc7984f2657d84b4894 +#: ../../main/pupdevices/motor.rst:60 99ad7b958b8046e683a1d87d11e20381 msgid "Running forever" msgstr "" -#: ../../main/pupdevices/motor.rst:61 124f0f156ab34c2f821110218e3c3125 +#: ../../main/pupdevices/motor.rst:61 f9b5646160c8489bbe17cd1d99244a61 msgid ".. image:: /blockimg/pybricks_blockMotorRun_run.svg" msgstr "" -#: dc1c1464928c4ca69dd2627560a08a3f of pybricks._common.Motor.run:1 +#: 93c6c5cd13be4ac3845827deb7aea30e of pybricks._common.Motor.run:1 msgid "Runs the motor at a constant speed." msgstr "" -#: a1ecd383606e41c5bbed7058e3294ff0 of pybricks._common.Motor.run:3 +#: 66046e481b484519a1d159878468629f of pybricks._common.Motor.run:3 msgid "" "The motor accelerates to the given speed and keeps running at this speed " "until you give a new command." msgstr "" -#: 09ac50ad9fae4e09a0a95a5fd167c17f 5751b35ca4694588b96d48a862265526 -#: 7abfd4ecc2b1489693d6a54dd87bfcdc 8dcd378f2d724b06adb975fdae86355b -#: fbf7ea77766b45a291c648a69672a37a of pybricks._common.Motor.run:6 +#: 278f06aa0d97474f93fa1e0de4b84034 402e663a10274e40b008b2940da6344c +#: 4d221ffce7cf4b6f944ac0c9eaa1e244 e5c2043df08c43d385415d9960ceccf9 +#: e8720d447a4043efa3126237481e6564 of pybricks._common.Motor.run:6 #: pybricks._common.Motor.run_angle:3 pybricks._common.Motor.run_target:6 #: pybricks._common.Motor.run_time:7 pybricks._common.Motor.run_until_stalled:3 msgid "Speed of the motor." msgstr "" -#: ../../main/pupdevices/motor.rst:65 41f6a6de9d374c068ae6dc5951afa01b +#: ../../main/pupdevices/motor.rst:65 6674fca610ea496e81111d364c7d3b55 msgid ".. image:: /blockimg/pybricks_blockMotorDuty_Motor.svg" msgstr "" -#: f5320230dfa14c528bb473070997e46e of pybricks._common.DCMotor.dc:1 +#: 51f5d3163bd140f1a8a777a90384fb3a of pybricks._common.DCMotor.dc:1 msgid "Rotates the motor at a given duty cycle (also known as \"power\")." msgstr "" -#: 6b91aacc345c4ed4aaa1efe19fb3d8ef of pybricks._common.DCMotor.dc:3 +#: 465762130d0e452da0b06219132a3827 of pybricks._common.DCMotor.dc:3 msgid "The duty cycle (-100.0 to 100)." msgstr "" -#: ../../main/pupdevices/motor.rst:70 a920eefcbd2e4518b4edc753f1e17ac7 +#: ../../main/pupdevices/motor.rst:70 be50825a3e3a43cdb98870c05db6b03e msgid "Running by a fixed amount" msgstr "" -#: d6f9887383bd4532916f54a164cd75c2 of pybricks._common.Motor.run_time:1 +#: 62b9d3cd43564994a68062bc5c68a05c of pybricks._common.Motor.run_time:1 msgid "Runs the motor at a constant speed for a given amount of time." msgstr "" -#: 95436189c3304a378848d3f1204946d5 of pybricks._common.Motor.run_time:3 +#: 3ac0abbf7d2f475384cb5b8dbdfc57a8 of pybricks._common.Motor.run_time:3 msgid "" "The motor accelerates to the given speed, keeps running at this speed, " "and then decelerates. The total maneuver lasts for exactly the given " "amount of ``time``." msgstr "" -#: 2479b4f56d3d430a918976882b891ede of pybricks._common.Motor.run_time:9 +#: 8bf477fd631e44c0905ab8bdc2d841e0 of pybricks._common.Motor.run_time:9 msgid "Duration of the maneuver." msgstr "" -#: 44bfe517da6a4f0bb3edb3c3854ca94d 4d092731a26748d190e9c9c7e8417771 -#: 7a6cc6d370964ee7ad915be8bdc803a0 ed1f964d1f074f55866a518ca95d456d of +#: 36283bef5ffb4114a9bf031d3af4340b 3d5e44de4d6648e8afed36200ea3f84c +#: 5a950a400fb6495791af22c612d35e3f f41cb536b0f94b4c8d91ce7db5f1e4cd of #: pybricks._common.Motor.run_angle:8 pybricks._common.Motor.run_target:10 #: pybricks._common.Motor.run_time:11 #: pybricks._common.Motor.run_until_stalled:5 msgid "What to do after coming to a standstill." msgstr "" -#: 74413236e577442f94c9980134f2def8 7e05bc9640e64675a306004cb8e46557 of +#: 0a2b1ec1b0264bc4993bfca6240ff22f d5a1dbed94ca42b5ac60a348f9a613be of #: pybricks._common.Motor.run_angle:10 pybricks._common.Motor.run_time:13 msgid "" "Wait for the maneuver to complete before continuing with the rest of the " "program." msgstr "" -#: ../../main/pupdevices/motor.rst:73 c1a1e0dc062c4f3ca9dcc35698da24db +#: ../../main/pupdevices/motor.rst:73 790b61053a9947c59068ae7a02a9a39a msgid ".. image:: /blockimg/pybricks_blockMotorRun_run_angle.svg" msgstr "" -#: fdf1b4c091c1427bb7e875dddff691ac of pybricks._common.Motor.run_angle:1 +#: 680e8e98da914250bbe8a288f98561a2 of pybricks._common.Motor.run_angle:1 msgid "Runs the motor at a constant speed by a given angle." msgstr "" -#: 1d0a2fc50460469cbfee261b2e0bac83 of pybricks._common.Motor.run_angle:5 +#: 5c2cc6a314c344579a6046eba1f8b49e of pybricks._common.Motor.run_angle:5 msgid "Angle by which the motor should rotate." msgstr "" -#: ../../main/pupdevices/motor.rst:77 f54173265a764285b0d45a408020b739 +#: ../../main/pupdevices/motor.rst:77 12143f5159844e349a02a3692f48020d msgid ".. image:: /blockimg/pybricks_blockMotorRun_run_target.svg" msgstr "" -#: 1cc42364529b4b46982a05fb5e5fdc1f of pybricks._common.Motor.run_target:1 +#: 16632c84984c40a79242f95473acc9bf of pybricks._common.Motor.run_target:1 msgid "Runs the motor at a constant speed towards a given target angle." msgstr "" -#: 276e9567dc5c4d8baaefa5d25c7fb0eb of pybricks._common.Motor.run_target:3 +#: a74881384c3c41bbba03660f1f905168 of pybricks._common.Motor.run_target:3 msgid "" "The direction of rotation is automatically selected based on the target " "angle. It does not matter if ``speed`` is positive or negative." msgstr "" -#: aa52fe161a5a41dfac65f6a293df5403 of pybricks._common.Motor.run_target:8 +#: cda7f75457ac42b39bbde6805ad8bb6c of pybricks._common.Motor.run_target:8 msgid "Angle that the motor should rotate to." msgstr "" -#: 40e7c4f6bf6141e3b25b464732b5b23a of pybricks._common.Motor.run_target:12 +#: 05d59a46ac9240358b97cef5bd31ba64 of pybricks._common.Motor.run_target:12 msgid "" "Wait for the motor to reach the target before continuing with the rest of" " the program." msgstr "" -#: ../../main/pupdevices/motor.rst:81 76dd659dab4f49dca908a1f30fa44965 +#: ../../main/pupdevices/motor.rst:81 275de33ff925426599a458fb1dcc80ed msgid ".. image:: /blockimg/pybricks_blockMotorRun_run_until_stalled.svg" msgstr "" -#: 586fd47acde34dcd85db887acdb62c99 of +#: 18e0de3c84c94078a7330ec9b4281728 of #: pybricks._common.Motor.run_until_stalled:1 msgid "Runs the motor at a constant speed until it stalls." msgstr "" -#: 4e4463b26f74427fa034b20c8eaeec36 of +#: de1fc8290a50414e890616c79b3cc426 of #: pybricks._common.Motor.run_until_stalled:7 msgid "" "Duty cycle limit during this command. This is useful to avoid applying " @@ -381,16 +381,16 @@ msgid "" "the duty limit won't be changed during this command." msgstr "" -#: d5182e118c2d4d3eb7e9c9263e49ad83 of +#: fb7b1865e925489cb197ccfc9358309c of #: pybricks._common.Motor.run_until_stalled:13 msgid "Angle at which the motor becomes stalled." msgstr "" -#: ../../main/pupdevices/motor.rst:85 d6f875c2152146b7bf9aaa4d639682d4 +#: ../../main/pupdevices/motor.rst:85 791e3f760fa0400da6ae4145e6b50370 msgid ".. image:: /blockimg/pybricks_blockMotorTrack.svg" msgstr "" -#: 727a6505d7ed4cb3b9f5841e8002f5e5 of pybricks._common.Motor.track_target:1 +#: 1bbb3df7e74b4324b5d9bf432a7205e6 of pybricks._common.Motor.track_target:1 msgid "" "Tracks a target angle. This is similar to :meth:`.run_target`, but the " "usual smooth acceleration is skipped: it will move to the target angle as" @@ -398,183 +398,183 @@ msgid "" "change the target angle." msgstr "" -#: 5eda83755a834c98b31d03f18ab1594e of pybricks._common.Motor.track_target:6 +#: 703e49cdd35a4c37ae8fd906b1e88607 of pybricks._common.Motor.track_target:6 msgid "Target angle that the motor should rotate to." msgstr "" -#: 1fed2a6cb2644bd5b2e36b0de3df33b6 of pybricks._common.Motor.done:1 +#: 145f90f06f4a415caa042f3ad58637ed of pybricks._common.Motor.done:1 msgid "Checks if an ongoing command or maneuver is done." msgstr "" -#: 9903476a3286439e81890da1a2e69197 of pybricks._common.Motor.done:3 +#: ba9da4d0a08a4a35a60a7d0c5173c104 of pybricks._common.Motor.done:3 msgid "``True`` if the command is done, ``False`` if not." msgstr "" -#: ../../main/pupdevices/motor.rst:94 17b2cd77deec40a39c00ab5b0b39eceb +#: ../../main/pupdevices/motor.rst:94 5c74afd829ab44919188601f5164f95f msgid "Motor settings" msgstr "" -#: ../../main/pupdevices/motor.rst:95 a16df31fae614d2099df8f9b1c44f719 +#: ../../main/pupdevices/motor.rst:95 83581c6eac844c09ad7d9c1a4b756cb4 msgid ".. image:: /blockimg/pybricks_blockMotorConfigure_motor_max_voltage.svg" msgstr "" -#: 0e9a7c49335946988840c75c669a723e of pybricks._common.DCMotor.settings:1 +#: 8d3fa6ec0fce410894938f48fac1621f of pybricks._common.DCMotor.settings:1 msgid "" "Configures motor settings. If no arguments are given, this returns the " "current values." msgstr "" -#: 5d30ca07eeab4b1390ae594c7a9d382f of pybricks._common.DCMotor.settings:4 +#: 54ddc3fd74fd4ca09de47f3108760913 of pybricks._common.DCMotor.settings:4 msgid "Maximum voltage applied to the motor during all motor commands." msgstr "" -#: ea795018056f4b9ebcde13b5464e9de7 of pybricks._common.Motor.close:1 +#: 21aeaf2062e04f3691a03ed681e0ae07 of pybricks._common.Motor.close:1 msgid "" "Closes the motor object so you can call ``Motor`` again to initialize a " "new object." msgstr "" -#: a6595d5c6156481e897218c2dcd9106b of pybricks._common.Motor.close:4 +#: 7f8804c1eb134ce1b055b45de12bd1ca of pybricks._common.Motor.close:4 msgid "" "This allows advanced users to change properties such as gearing in the " "middle of the program, which can be useful for removeable attachments." msgstr "" -#: ../../main/pupdevices/motor.rst:102 bbe41aa70ba04ab6aa921cb2c35b3887 +#: ../../main/pupdevices/motor.rst:102 11904bd7dade4c599aeedad78b5a7359 msgid "Control settings" msgstr "" -#: ../../main/pupdevices/motor.rst:105 7a2d13a64ea94973b9951a66482c9b37 +#: ../../main/pupdevices/motor.rst:105 d10a68c4c2c64c7c8587e055b2fbc7ad msgid ".. image:: /blockimg/pybricks_blockMotorConfigure_motor_max_speed.svg" msgstr "" -#: ../../main/pupdevices/motor.rst:107 4e0e400b65824f0390e88057ebab94c0 +#: ../../main/pupdevices/motor.rst:107 dce9bb6dc81a44b2b2c798ff34d6efe9 msgid ".. image:: /blockimg/pybricks_blockMotorConfigure_motor_acceleration.svg" msgstr "" -#: ../../main/pupdevices/motor.rst:110 12f5b11e4e644523bde165789ec2e82f +#: ../../main/pupdevices/motor.rst:110 21c7c355a7eb4019aacbf1757d5d0242 msgid ".. image:: /blockimg/pybricks_blockMotorConfigure_motor_max_torque.svg" msgstr "" -#: 989612a73c9641e692226f757df440de of pybricks._common.Control.limits:1 +#: 6a620c442b4a495d8d4a2e8f25edd21e of pybricks._common.Control.limits:1 msgid "Configures the maximum speed, acceleration, and torque." msgstr "" -#: 265f376d0eb64479ac5748502710e6eb 3e48c44c0fb64edbb4bdc817cdc7913e -#: 47cd9f1f1dfa4f5d8d071f1cd2080ab3 95ec32f06a754724ad4e9d8e12060c67 of +#: 10794b001aa34e61b1e60125ee05ae4d 4a4dff2735174d99b8b8ee4deda285ec +#: 5c9c8ec362d04c45b69c383a6badd6d9 f7506358f6e2427ba4066a4654dd80d0 of #: pybricks._common.Control.limits:3 pybricks._common.Control.pid:3 #: pybricks._common.Control.stall_tolerances:3 #: pybricks._common.Control.target_tolerances:3 msgid "If no arguments are given, this will return the current values." msgstr "" -#: d7faf7bec6ab49cf923b30a7e4d0c8bb of pybricks._common.Control.limits:5 +#: f947a2157d184f428223ff6619046fe0 of pybricks._common.Control.limits:5 msgid "" "The new ``acceleration`` and ``speed`` limit will become effective when " "you give a new motor command. Ongoing maneuvers are not affected." msgstr "" -#: 04a6f7356aaf4f3986742512823eeeb7 of pybricks._common.Control.limits:8 +#: 08e1ae4910294a688592fe6a4ad6077f of pybricks._common.Control.limits:8 msgid "Maximum speed. All speed commands will be capped to this value." msgstr "" -#: ac297aad4d7e4dbebca983aae77d1fd5 of pybricks._common.Control.limits:10 +#: 2c66cd1e4918409b9a3c14bb37045c75 of pybricks._common.Control.limits:10 msgid "" "Slope of the speed curve when accelerating or decelerating. Use a tuple " "to set acceleration and deceleration separately. If one value is given, " "it is used for both." msgstr "" -#: 613f812f76eb4d77b3e75f5a60e0dc35 of pybricks._common.Control.limits:14 +#: 2ce7b9f10e504792a0b190d9706789bd of pybricks._common.Control.limits:14 msgid "Maximum feedback torque during control." msgstr "" -#: 11b7d713cbf540f3bb71a81d5625a950 of pybricks._common.Control.pid:1 +#: e1b3fa40d9c24537846d9c8b47bd52bd of pybricks._common.Control.pid:1 msgid "Gets or sets the PID values for position and speed control." msgstr "" -#: 87a5ded48eaa4f99b5de468b72cab46b of pybricks._common.Control.pid:5 +#: b8dfdaeb1f4c42a8bcbd8ea39df5770e of pybricks._common.Control.pid:5 msgid "" "Proportional position control constant. It is the feedback torque per " "degree of error: µNm/deg." msgstr "" -#: 58a2faf57ec14ed0a98689f3967146d3 of pybricks._common.Control.pid:9 +#: 9285f3010a4c4125bd09aa158350a533 of pybricks._common.Control.pid:9 msgid "" "Integral position control constant. It is the feedback torque per " "accumulated degree of error: µNm/(deg s)." msgstr "" -#: ab4ab578ac9c4bc1bd9629d77318107b of pybricks._common.Control.pid:12 +#: 9f59835da4194cb8a1c1ccc3509b7472 of pybricks._common.Control.pid:12 msgid "" "Derivative position (or proportional speed) control constant. It is the " "feedback torque per unit of speed: µNm/(deg/s)." msgstr "" -#: 35d2d99308cb4bdf9f4ec0ff18320675 of pybricks._common.Control.pid:16 +#: 16bacbace91145909933156356fbc5cf of pybricks._common.Control.pid:16 msgid "" "Zone around the target where the error integral does not accumulate " "errors." msgstr "" -#: eec47e3a19c247c6a107b3b98e10f132 of pybricks._common.Control.pid:19 +#: fe77615e3241460f9b1152b569f1c40b of pybricks._common.Control.pid:19 msgid "Maximum rate at which the error integral is allowed to grow." msgstr "" -#: ../../main/pupdevices/motor.rst:121 74fdb01a2aa3478996731610db88c1cb +#: ../../main/pupdevices/motor.rst:121 5392915537bc435bb2e6bae3e9be6d8a msgid "" ".. image:: " "/blockimg/pybricks_blockMotorConfigure_motor_target_tolerances.svg" msgstr "" -#: d95f6993307a496f9d8bf116dbe647c4 of +#: 76a29a031c5b4b88b721631b95d4acfd of #: pybricks._common.Control.target_tolerances:1 msgid "Gets or sets the tolerances that say when a maneuver is done." msgstr "" -#: fcd8aeb317a2444e946e4c69d4f85adb of +#: a2a68f6bac9b48ea8342dd360e547d5b of #: pybricks._common.Control.target_tolerances:5 msgid "Allowed deviation from zero speed before motion is considered complete." msgstr "" -#: bba107e6d2fa42d1a6468beda1ab735c of +#: fcced050cc0c42beade1e6d612303fda of #: pybricks._common.Control.target_tolerances:8 msgid "Allowed deviation from the target before motion is considered complete." msgstr "" -#: 81d794f50e414f0cbb135adb6e1b44d2 of +#: 9118f30b6edc424091b4b50276602cb9 of #: pybricks._common.Control.stall_tolerances:1 msgid "Gets or sets stalling tolerances." msgstr "" -#: 677c68557ecc4f49abbd8a963bc42fe1 of +#: 2599945100c24efe8fedc9e5cb37e7d7 of #: pybricks._common.Control.stall_tolerances:5 msgid "" "If the controller cannot reach this speed for some ``time`` even with " "maximum actuation, it is stalled." msgstr "" -#: 57b2ebe753884530a2af98fba014502b of +#: 58b9320e3c094cd89169ee82217919c5 of #: pybricks._common.Control.stall_tolerances:9 msgid "" "How long the controller has to be below this minimum ``speed`` before we " "say it is stalled." msgstr "" -#: ../../main/pupdevices/motor.rst:133 b356848b51484681a01cb09c92d2d3d7 +#: ../../main/pupdevices/motor.rst:133 7d3c3a6089024d46a5333568d2d4754d msgid "" "Number of degrees that the motor turns to complete one degree at the " "output of the gear train. This is the gear ratio determined from the " "``gears`` argument when initializing the motor." msgstr "" -#: ../../main/pupdevices/motor.rst:139 0e8ff62f8816443f842e4e4877b72325 +#: ../../main/pupdevices/motor.rst:139 2aa42ba43aea4b9a92dee40c2a4b4a91 msgid "" "The :meth:`done`, :meth:`stalled` and :meth:`load` methods have been " "moved." msgstr "" -#: 6d08a810d5914e10b43026ec5b2a9a0a of pybricks._common.Model.state:1 +#: f9335d63cdfe4b748a7a325757a1ab8e of pybricks._common.Model.state:1 msgid "" "Gets the estimated angle, speed, current, and stall state of the motor, " "using a simulation model that mimics the real motor. These estimates are " @@ -582,7 +582,7 @@ msgid "" "building your own PID controllers." msgstr "" -#: 9052378e3b1549dd9a2695c0465f3aac of pybricks._common.Model.state:6 +#: 9ed1de02fe3c4f1da3fe54479b88e0fc of pybricks._common.Model.state:6 msgid "" "For most applications it is better to used the *measured* :meth:`angle " "`, :meth:`speed " @@ -591,13 +591,13 @@ msgid "" "` state instead." msgstr "" -#: 154e58dfe24f489fa80772cc7494a347 of pybricks._common.Model.state:12 +#: 6ebe2e506da74cb996d3ad0ae67c63b1 of pybricks._common.Model.state:12 msgid "" "Tuple with the estimated angle (deg), speed (deg/s), current (mA), and " "stall state (``True`` or ``False``)." msgstr "" -#: 3680039bb0e84239bfb36a4cbe1c7deb of pybricks._common.Model.settings:1 +#: 0e1bc15729ee47a2b62e8a03c63c0710 of pybricks._common.Model.settings:1 msgid "" "Gets or sets model settings as a tuple of integers. If no arguments are " "given, this will return the current values. This method is mainly used to" @@ -605,451 +605,83 @@ msgid "" "needed in user programs." msgstr "" -#: 098483be074d4da5a02d73b4b869fdbc of pybricks._common.Model.settings:8 +#: 3d6fd795baa841bb9ffd8b8c1ae87787 of pybricks._common.Model.settings:8 msgid "Tuple with `model settings`_." msgstr "" -#: ../../main/pupdevices/motor.rst:151 2672191934174a918bdee8e3a4b78717 +#: ../../main/pupdevices/motor.rst:151 505a2bd939644c5e89c9b06350cf81bb msgid "Initialization examples" msgstr "" -#: ../../main/pupdevices/motor.rst:154 98d94834bf3647dc85f6b6dfe43f9145 +#: ../../main/pupdevices/motor.rst:154 8a136920e5d54389a084b62a30de8241 msgid "Making the motor move back and forth" msgstr "" -#: ../../main/pupdevices/motor.rst:156 d57b46e02b8b427fa5c4466631e9efb5 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize a motor on port A.\n" -"example_motor = Motor(Port.A)\n" -"\n" -"# Make the motor run clockwise at 500 degrees per second.\n" -"example_motor.run(500)\n" -"\n" -"# Wait for three seconds.\n" -"wait(3000)\n" -"\n" -"# Make the motor run counterclockwise at 500 degrees per second.\n" -"example_motor.run(-500)\n" -"\n" -"# Wait for three seconds.\n" -"wait(3000)\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:160 6e29e952a05a4025aec5ccb64fed6d81 +#: ../../main/pupdevices/motor.rst:160 b080e8f025714118bdc87abc2674e094 msgid "Initializing multiple motors" msgstr "" -#: ../../main/pupdevices/motor.rst:162 04da7337822a42bda33667337c2dd8c7 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize motors on port A and B.\n" -"track_motor = Motor(Port.A)\n" -"gripper_motor = Motor(Port.B)\n" -"\n" -"# Make both motors run at 500 degrees per second.\n" -"track_motor.run(500)\n" -"gripper_motor.run(500)\n" -"\n" -"# Wait for three seconds.\n" -"wait(3000)\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:166 62fbc622faaf47888462394529744f8b +#: ../../main/pupdevices/motor.rst:166 7c7fe89d26744a1da10edcb0721654ca msgid "Setting the positive direction as counterclockwise" msgstr "" -#: ../../main/pupdevices/motor.rst:168 8f1f01120901400a855ccba5eb697803 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port, Direction\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize a motor on port A with the positive direction as " -"counterclockwise.\n" -"example_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE)\n" -"\n" -"# When we choose a positive speed value, the motor now goes " -"counterclockwise.\n" -"example_motor.run(500)\n" -"\n" -"# This is useful when your motor is mounted in reverse or upside down.\n" -"# By changing the positive direction, your script will be easier to read," -"\n" -"# because a positive value now makes your robot/mechanism go forward.\n" -"\n" -"# Wait for three seconds.\n" -"wait(3000)\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:172 7d8197ba1fb44e639f77b4d706a209e8 +#: ../../main/pupdevices/motor.rst:172 924850bf72e642c8bf8d7c4e729f94ae msgid "Using gears" msgstr "" -#: ../../main/pupdevices/motor.rst:174 912271016d1540e685eae5c5f8f9cb5e -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port, Direction\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize a motor on port A with the positive direction as " -"counterclockwise.\n" -"# Also specify one gear train with a 12-tooth and a 36-tooth gear. The " -"12-tooth\n" -"# gear is attached to the motor axle. The 36-tooth gear is at the output " -"axle.\n" -"geared_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE, [12, 36])\n" -"\n" -"# Make the output axle run at 100 degrees per second. The motor speed\n" -"# is automatically increased to compensate for the gears.\n" -"geared_motor.run(100)\n" -"\n" -"# Wait for three seconds.\n" -"wait(3000)\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:178 20dcbb598c43481a99692484802a4cf7 +#: ../../main/pupdevices/motor.rst:178 d1322d03e31641039f546e497706227b msgid "Measurement examples" msgstr "" -#: ../../main/pupdevices/motor.rst:181 fcb94d6c9d5b4c839cf53a81d7f063a5 +#: ../../main/pupdevices/motor.rst:181 2f6921ad4a0d4835b6bca187223abb79 msgid "Measuring the angle and speed" msgstr "" -#: ../../main/pupdevices/motor.rst:183 d00564b993674a93aa331cc3d58aa07c -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize a motor on port A.\n" -"example_motor = Motor(Port.A)\n" -"\n" -"# Start moving at 300 degrees per second.\n" -"example_motor.run(300)\n" -"\n" -"# Display the angle and speed 50 times.\n" -"for i in range(100):\n" -"\n" -" # Read the angle (degrees) and speed (degrees per second).\n" -" angle = example_motor.angle()\n" -" speed = example_motor.speed()\n" -"\n" -" # Print the values.\n" -" print(angle, speed)\n" -"\n" -" # Wait some time so we can read what is displayed.\n" -" wait(200)\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:187 5ac86d47222346a4a9fe558695502d5f +#: ../../main/pupdevices/motor.rst:187 5516b0f14a5d42bbb810121d02991db1 msgid "Resetting the measured angle" msgstr "" -#: ../../main/pupdevices/motor.rst:189 8b57fc6e23c24c298dc0475ec95c6374 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"\n" -"# Initialize a motor on port A.\n" -"example_motor = Motor(Port.A)\n" -"\n" -"# Reset the angle to 0.\n" -"example_motor.reset_angle(0)\n" -"\n" -"# Reset the angle to 1234.\n" -"example_motor.reset_angle(1234)\n" -"\n" -"# Reset the angle to the absolute angle.\n" -"# This is only supported on motors that have\n" -"# an absolute encoder. For other motors, this\n" -"# will raise an error.\n" -"example_motor.reset_angle()\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:193 0c31f70142fc480da85630d30180851c +#: ../../main/pupdevices/motor.rst:193 895837cc90d743988a2d27a91c0f6944 msgid "Getting the absolute angle" msgstr "" -#: ../../main/pupdevices/motor.rst:195 ba5d7180c4ef44288123ae525ff67370 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize a motor on port A.\n" -"example_motor = Motor(Port.A)\n" -"\n" -"while True:\n" -"\n" -" # Get the default angle value.\n" -" angle = example_motor.angle()\n" -"\n" -" # Get the angle between 0 and 360.\n" -" absolute_angle = example_motor.angle() % 360\n" -"\n" -" # Get the angle between -180 and 179.\n" -" wrapped_angle = (example_motor.angle() + 180) % 360 - 180\n" -"\n" -" # Print the results.\n" -" print(angle, absolute_angle, wrapped_angle)\n" -" wait(100)\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:200 3aa0cc92e19f4a149fbcad705b2e558f +#: ../../main/pupdevices/motor.rst:200 5d43274e33ce4a0b9b3fb60348f14984 msgid "Movement examples" msgstr "" -#: ../../main/pupdevices/motor.rst:203 50136d49e19742c4ab85ccd8690e87a4 +#: ../../main/pupdevices/motor.rst:203 b90ce1e429aa4e3ea2a9270f60bd3cb3 msgid "Basic usage of all run methods" msgstr "" -#: ../../main/pupdevices/motor.rst:205 dc16bed7ff77449d804ae027eded2bf5 -#, python-format -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize a motor on port A.\n" -"example_motor = Motor(Port.A)\n" -"\n" -"# Run at 500 deg/s and then stop by coasting.\n" -"print(\"Demo of run\")\n" -"example_motor.run(500)\n" -"wait(1500)\n" -"example_motor.stop()\n" -"wait(1500)\n" -"\n" -"# Run at 70% duty cycle (\"power\") and then stop by coasting.\n" -"print(\"Demo of dc\")\n" -"example_motor.dc(50)\n" -"wait(1500)\n" -"example_motor.stop()\n" -"wait(1500)\n" -"\n" -"# Run at 500 deg/s for two seconds.\n" -"print(\"Demo of run_time\")\n" -"example_motor.run_time(500, 2000)\n" -"wait(1500)\n" -"\n" -"# Run at 500 deg/s for 90 degrees.\n" -"print(\"Demo of run_angle\")\n" -"example_motor.run_angle(500, 90)\n" -"wait(1500)\n" -"\n" -"# Run at 500 deg/s back to the 0 angle\n" -"print(\"Demo of run_target to 0\")\n" -"example_motor.run_target(500, 0)\n" -"wait(1500)\n" -"\n" -"# Run at 500 deg/s back to the -90 angle\n" -"print(\"Demo of run_target to -90\")\n" -"example_motor.run_target(500, -90)\n" -"wait(1500)\n" -"\n" -"# Run at 500 deg/s until the motor stalls\n" -"print(\"Demo of run_until_stalled\")\n" -"example_motor.run_until_stalled(500)\n" -"print(\"Done\")\n" -"wait(1500)\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:209 c1206da3d6de492f91a03415f63452b9 +#: ../../main/pupdevices/motor.rst:209 f7b66127ea094d97b23fa840b373fd4c msgid "Stopping ongoing movements in different ways" msgstr "" -#: ../../main/pupdevices/motor.rst:211 586b178cea08480386ba3143b89f04b9 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize a motor on port A.\n" -"example_motor = Motor(Port.A)\n" -"\n" -"# Run at 500 deg/s and then stop by coasting.\n" -"example_motor.run(500)\n" -"wait(1500)\n" -"example_motor.stop()\n" -"wait(1500)\n" -"\n" -"# Run at 500 deg/s and then stop by braking.\n" -"example_motor.run(500)\n" -"wait(1500)\n" -"example_motor.brake()\n" -"wait(1500)\n" -"\n" -"# Run at 500 deg/s and then stop by holding.\n" -"example_motor.run(500)\n" -"wait(1500)\n" -"example_motor.hold()\n" -"wait(1500)\n" -"\n" -"# Run at 500 deg/s and then stop by running at 0 speed.\n" -"example_motor.run(500)\n" -"wait(1500)\n" -"example_motor.run(0)\n" -"wait(1500)\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:215 98bc6f56b5444209abe66df216a4abb5 +#: ../../main/pupdevices/motor.rst:215 b0d98f02ec50416d910aa6163db5125e msgid "Using the ``then`` argument to change how a run command stops" msgstr "" -#: ../../main/pupdevices/motor.rst:217 98a061917b1a43bab9496e852337a5bf -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port, Stop\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize a motor on port A.\n" -"example_motor = Motor(Port.A)\n" -"\n" -"# By default, the motor holds the position. It keeps\n" -"# correcting the angle if you move it.\n" -"example_motor.run_angle(500, 360)\n" -"wait(1000)\n" -"\n" -"# This does exactly the same as above.\n" -"example_motor.run_angle(500, 360, then=Stop.HOLD)\n" -"wait(1000)\n" -"\n" -"# You can also brake. This applies some resistance\n" -"# but the motor does not move back if you move it.\n" -"example_motor.run_angle(500, 360, then=Stop.BRAKE)\n" -"wait(1000)\n" -"\n" -"# This makes the motor coast freely after it stops.\n" -"example_motor.run_angle(500, 360, then=Stop.COAST)\n" -"wait(1000)\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:221 6b2734775c6947d6a8a6e94c2c9b1407 +#: ../../main/pupdevices/motor.rst:221 dd8a6ba7a5ba457e8a1d8e924d7d2ad4 msgid "Stall examples" msgstr "" -#: ../../main/pupdevices/motor.rst:224 574796ba0f3f4e7ab88a659e94e1d0fa +#: ../../main/pupdevices/motor.rst:224 bab9bcd447d24fb694fb5aaefbc86478 msgid "Running a motor until a mechanical endpoint" msgstr "" -#: ../../main/pupdevices/motor.rst:226 0b1ad707a4a24af58f66797342c675b8 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"\n" -"# Initialize a motor on port A.\n" -"example_motor = Motor(Port.A)\n" -"\n" -"# We'll use a speed of 200 deg/s in all our commands.\n" -"speed = 200\n" -"\n" -"# Run the motor in reverse until it hits a mechanical stop.\n" -"# The duty_limit=30 setting means that it will apply only 30%\n" -"# of the maximum torque against the mechanical stop. This way,\n" -"# you don't push against it with too much force.\n" -"example_motor.run_until_stalled(-speed, duty_limit=30)\n" -"\n" -"# Reset the angle to 0. Now whenever the angle is 0, you know\n" -"# that it has reached the mechanical endpoint.\n" -"example_motor.reset_angle(0)\n" -"\n" -"# Now make the motor go back and forth in a loop.\n" -"# This will now work the same regardless of the\n" -"# initial motor angle, because we always start\n" -"# from the mechanical endpoint.\n" -"for count in range(10):\n" -" example_motor.run_target(speed, 180)\n" -" example_motor.run_target(speed, 90)\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:230 41031665553e432ba839806c630355e8 +#: ../../main/pupdevices/motor.rst:230 00875c6173bd42e9b75e07c1e70b8176 msgid "Centering a steering mechanism" msgstr "" -#: ../../main/pupdevices/motor.rst:232 f4ca1df7e76e468db835577199f3c3a1 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize a motor on port A.\n" -"example_motor = Motor(Port.A)\n" -"\n" -"# Please have a look at the previous example first. This example\n" -"# finds two endspoints and then makes the middle the zero point.\n" -"\n" -"# The run_until_stalled gives us the angle at which it stalled.\n" -"# We want to know this value for both endpoints.\n" -"left_end = example_motor.run_until_stalled(-200, duty_limit=30)\n" -"right_end = example_motor.run_until_stalled(200, duty_limit=30)\n" -"\n" -"# We have just moved to the rightmost endstop. So, we can reset\n" -"# this angle to be half the distance between the two endpoints.\n" -"# That way, the middle corresponds to 0 degrees.\n" -"example_motor.reset_angle((right_end - left_end) / 2)\n" -"\n" -"# From now on we can simply run towards zero to reach the middle.\n" -"example_motor.run_target(200, 0)\n" -"\n" -"wait(1000)\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:237 13daa8e8b7c64b1fba5062b1d876cdf5 +#: ../../main/pupdevices/motor.rst:237 4c3d4558426b4f3e904e01cdb982b5a4 msgid "Parallel movement examples" msgstr "" -#: ../../main/pupdevices/motor.rst:240 6bc51b1da045411ebbb1dffe0bc8514e +#: ../../main/pupdevices/motor.rst:240 fcd819ee863440bd84c2585a7f1dce1f msgid "Using the ``wait`` argument to run motors in parallel" msgstr "" -#: ../../main/pupdevices/motor.rst:242 ec16cdf1e16f4e2aae4a5f52010a46b6 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"\n" -"# Initialize motors on port A and B.\n" -"track_motor = Motor(Port.A)\n" -"gripper_motor = Motor(Port.B)\n" -"\n" -"# Make the track motor start moving,\n" -"# but don't wait for it to finish.\n" -"track_motor.run_angle(500, 360, wait=False)\n" -"\n" -"# Now make the gripper motor rotate. This\n" -"# means they move at the same time.\n" -"gripper_motor.run_angle(200, 720)\n" -msgstr "" - -#: ../../main/pupdevices/motor.rst:246 c908969c638d4e83b2504b878f3611ec +#: ../../main/pupdevices/motor.rst:246 45ff47743cc14344942bde3177e69fcc msgid "Waiting for two parallel actions to complete" msgstr "" -#: ../../main/pupdevices/motor.rst:248 d4f142839d904c00829a41cc0255e054 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize motors on port A and B.\n" -"track_motor = Motor(Port.A)\n" -"gripper_motor = Motor(Port.B)\n" -"\n" -"# Make both motors perform an action with wait=False\n" -"track_motor.run_angle(500, 360, wait=False)\n" -"gripper_motor.run_angle(200, 720, wait=False)\n" -"\n" -"# While one or both of the motors are not done yet,\n" -"# do something else. In this example, just wait.\n" -"while not track_motor.done() or not gripper_motor.done():\n" -" wait(10)\n" -"\n" -"print(\"Both motors are done!\")\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/pfmotor.po b/doc/locales/de/LC_MESSAGES/pupdevices/pfmotor.po index 063a83b5..9fe2080f 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/pfmotor.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/pfmotor.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,11 +19,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/pupdevices/pfmotor.rst:4 48d3b9be899e420b82e0d8140063e0d3 +#: ../../main/pupdevices/pfmotor.rst:4 70ea770ebc064e3787e93537cb3b71ff msgid "Power Functions" msgstr "" -#: ../../main/pupdevices/pfmotor.rst:6 c074f2b8e49f4d9aaba9ef5d46818707 +#: ../../main/pupdevices/pfmotor.rst:6 58a90660850f4ffdba9465f507b3304f msgid "" "The :class:`ColorDistanceSensor " "` can send infrared signals to " @@ -33,11 +33,11 @@ msgid "" "conditions." msgstr "" -#: ../../main/pupdevices/pfmotor.rst:12 e406302c959f4287a26bc3c5d4557005 +#: ../../main/pupdevices/pfmotor.rst:12 6c98bf6a6916463e8f0fe249d200950a msgid ".. image:: ../../main/cad/output/pupdevice-pfmotor.png" msgstr "" -#: ../../main/pupdevices/pfmotor.rst:15 425315c703534b1ebdda406414538255 +#: ../../main/pupdevices/pfmotor.rst:15 2b28ccbe34aa4c5cb83283a3afd97541 msgid "" "Powered Up :class:`ColorDistanceSensor " "` (left), Power Functions " @@ -45,141 +45,88 @@ msgid "" "the receiver uses channel 1 with a motor on the red port." msgstr "" -#: ../../main/pupdevices/pfmotor.rst:21 051b19ae09d541dca7f173a4912c0f8e +#: ../../main/pupdevices/pfmotor.rst:21 b66165b0f0f34d1e8fb7906cee8770c7 msgid ".. image:: /blockimg/pybricks_variables_set_pf_motor.svg" msgstr "" -#: 78d6c9fe3a714831a7ca25178b844b78 of pybricks.pupdevices.PFMotor:1 +#: eb0e31a49094417dbc7452a42bf3f5d5 of pybricks.pupdevices.PFMotor:1 msgid "" "Control Power Functions motors with the infrared functionality of the " ":class:`ColorDistanceSensor `." msgstr "" -#: ../../main/pupdevices/pfmotor.rst 6184116737c44d25811cfe7fb68d71df -#: ef4db882318049729875b02bf0cdf989 +#: ../../main/pupdevices/pfmotor.rst 26269810b39d47c68cc4e1b7989b207b +#: 28a0dfe060f7419b81a8d03e34a94ab2 msgid "Parameters" msgstr "" -#: 49760f1ddd9845239e8c7bda5cd5ce9a of pybricks.pupdevices.PFMotor:4 +#: bd12137a320746a282bcc574d627701b of pybricks.pupdevices.PFMotor:4 msgid "Sensor object." msgstr "" -#: 7c9fb9bea92b4f65ac04c76ac0b851c3 of pybricks.pupdevices.PFMotor:6 +#: 698c4e3ae273487b8f8a780cc53022de of pybricks.pupdevices.PFMotor:6 msgid "Channel number of the receiver: ``1``, ``2``, ``3``, or ``4``." msgstr "" -#: 069aa0b31a0a462eb0c2baaa17c86564 of pybricks.pupdevices.PFMotor:8 +#: 82b06a913e6a4759ad1440a19f333106 of pybricks.pupdevices.PFMotor:8 msgid "" "Color marker on the receiver: :class:`Color.BLUE <.parameters.Color>` or " ":class:`Color.RED <.parameters.Color>`" msgstr "" -#: f0bea0029aac4463a400f5efad601ec9 of pybricks.pupdevices.PFMotor:12 +#: eec5dc5430de458786a38f0c2c86df08 of pybricks.pupdevices.PFMotor:12 msgid "" "Which direction the motor should turn when you give a positive duty cycle" " value." msgstr "" -#: ../../main/pupdevices/pfmotor.rst:27 c7bb789126e4405e82abe23b51958a70 +#: ../../main/pupdevices/pfmotor.rst:27 80edb04e60164e3bb27f167598113a42 msgid ".. image:: /blockimg/pybricks_blockMotorDuty_PFMotor.svg" msgstr "" -#: 396b4f23aef8438186de29dd4f89956a of pybricks.pupdevices.PFMotor.dc:1 +#: 08bb158a58fe4751ae6ed4df8a7d3f69 of pybricks.pupdevices.PFMotor.dc:1 msgid "Rotates the motor at a given duty cycle (also known as \"power\")." msgstr "" -#: 0b6ed50334d14f21b3cdcd2b9bc8fd7d of pybricks.pupdevices.PFMotor.dc:3 +#: fa77bda9d8d14625932ae91af6ae9bad of pybricks.pupdevices.PFMotor.dc:3 msgid "The duty cycle (-100.0 to 100)." msgstr "" -#: ../../main/pupdevices/pfmotor.rst:32 ecfe3a61bbca4b53a8ae2d0e55728ccc +#: ../../main/pupdevices/pfmotor.rst:32 c997526021854bea874a65068f486269 msgid ".. image:: /blockimg/pybricks_blockMotorStop_PFMotor_coast.svg" msgstr "" -#: 05161062ca23401aa1327f31c2199773 of pybricks.pupdevices.PFMotor.stop:1 +#: 8b68b16fbd4b4cd4b4cdedb481959c26 of pybricks.pupdevices.PFMotor.stop:1 msgid "Stops the motor and lets it spin freely." msgstr "" -#: e0c92215f82b46ee80bc1cc1985dd814 of pybricks.pupdevices.PFMotor.stop:3 +#: 05d3b7350e7b43a5b881da564c3ed55e of pybricks.pupdevices.PFMotor.stop:3 msgid "The motor gradually stops due to friction." msgstr "" -#: ../../main/pupdevices/pfmotor.rst:37 b9fb2d44f9d249b2b5d7cc8c7569d790 +#: ../../main/pupdevices/pfmotor.rst:37 157fbe34ff8a4a9497517d5036cda6cc msgid ".. image:: /blockimg/pybricks_blockMotorStop_PFMotor_brake.svg" msgstr "" -#: 8ea4ef0f7fd540e19fcfb6897294b2f8 of pybricks.pupdevices.PFMotor.brake:1 +#: 7218364d4d034935baac72141ac53956 of pybricks.pupdevices.PFMotor.brake:1 msgid "Passively brakes the motor." msgstr "" -#: 59133e8570dd41b2bcfb0324ea66964f of pybricks.pupdevices.PFMotor.brake:3 +#: af008b569c3a4b529a465e17c4f12f78 of pybricks.pupdevices.PFMotor.brake:3 msgid "" "The motor stops due to friction, plus the voltage that is generated while" " the motor is still moving." msgstr "" -#: ../../main/pupdevices/pfmotor.rst:43 0ebbce4f80094c8b8b19e1337ef85756 +#: ../../main/pupdevices/pfmotor.rst:43 6b8c2291ba8c45718e7f9634a0548877 msgid "Examples" msgstr "" -#: ../../main/pupdevices/pfmotor.rst:46 08cc3d3da7e849949a20201bd32ed626 +#: ../../main/pupdevices/pfmotor.rst:46 ba247e29e0c44f9d98b06f1a130d8f34 msgid "Control a Power Functions motor" msgstr "" -#: ../../main/pupdevices/pfmotor.rst:48 363bc700f7ae430095ee9f969a95d9d9 -msgid "" -"from pybricks.pupdevices import ColorDistanceSensor, PFMotor\n" -"from pybricks.parameters import Port, Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorDistanceSensor(Port.B)\n" -"\n" -"# Initialize a motor on channel 1, on the red output.\n" -"motor = PFMotor(sensor, 1, Color.RED)\n" -"\n" -"# Rotate and then stop.\n" -"motor.dc(100)\n" -"wait(1000)\n" -"motor.stop()\n" -"wait(1000)\n" -"\n" -"# Rotate the other way at half speed, and then stop.\n" -"motor.dc(-50)\n" -"wait(1000)\n" -"motor.stop()\n" -msgstr "" - -#: ../../main/pupdevices/pfmotor.rst:52 d8324bd195f94de4a025925231c31c00 +#: ../../main/pupdevices/pfmotor.rst:52 f557c3a588b54ecdb9315bd9cf26b019 msgid "Controlling multiple Power Functions motors" msgstr "" -#: ../../main/pupdevices/pfmotor.rst:54 936f959aa2d3442886a1bbb4b8963adf -msgid "" -"from pybricks.pupdevices import ColorDistanceSensor, PFMotor\n" -"from pybricks.parameters import Port, Color, Direction\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"sensor = ColorDistanceSensor(Port.B)\n" -"\n" -"# You can use multiple motors on different channels.\n" -"arm = PFMotor(sensor, 1, Color.BLUE)\n" -"wheel = PFMotor(sensor, 4, Color.RED, Direction.COUNTERCLOCKWISE)\n" -"\n" -"# Accelerate both motors. Only these values are available.\n" -"# Other values will be rounded down to the nearest match.\n" -"for duty in [15, 30, 45, 60, 75, 90, 100]:\n" -" arm.dc(duty)\n" -" wheel.dc(duty)\n" -" wait(1000)\n" -"\n" -"# To make the signal more reliable, there is a short\n" -"# pause between commands. So, they change speed and\n" -"# stop at a slightly different time.\n" -"\n" -"# Brake both motors.\n" -"arm.brake()\n" -"wheel.brake()\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/remote.po b/doc/locales/de/LC_MESSAGES/pupdevices/remote.po index 5111151d..5fc95964 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/remote.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/remote.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,306 +19,156 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/pupdevices/remote.rst:4 f0e0e64050454b91a4cf2ad05c2be276 +#: ../../main/pupdevices/remote.rst:4 6640c3b09baa415da7ab1424fc8c5cf2 msgid "Remote Control" msgstr "" -#: ../../main/pupdevices/remote.rst:6 fa580a515c2f483090e90eaa921cfe1b +#: ../../main/pupdevices/remote.rst:6 6ad5d93f246748beac301fac9af336d4 msgid ".. image:: ../../main/cad/output/pupdevice-remote.png" msgstr "" -#: ../../main/pupdevices/remote.rst:9 1c9285cc2a2041748ce07238adb583a1 +#: ../../main/pupdevices/remote.rst:9 ebcd6eadd6ad466a94224297d8171769 msgid ".. image:: /blockimg/pybricks_variables_set_remote_connect_any.svg" msgstr "" #: ../../main/pupdevices/remote.rst:11 ../../main/pupdevices/remote.rst:87 -#: 46aa9d0a3e6c47a0bc4d4807c9eeb529 e0e39ad5acfa43afa46eb2b0b08dda13 +#: 70546f411225468894b2d1186a6ae7e7 b43c27354f3d40d6a88df4af5605c89f msgid ".. image:: /blockimg/pybricks_variables_set_remote_connect_name.svg" msgstr "" -#: 5e2f6c2d3eff49e08c9eaaa02cb8db7e of pybricks.pupdevices.Remote:1 +#: 3d28b2aa16a94468bfc96c0ebeb643d1 of pybricks.pupdevices.Remote:1 msgid "LEGO® Powered Up Bluetooth Remote Control." msgstr "" -#: 93324689865c4afc88648c42bcd8b514 of pybricks.pupdevices.Remote:3 +#: 2efda79f6dc04d0e817f9becaa3af161 of pybricks.pupdevices.Remote:3 msgid "" "When you instantiate this class, the hub will search for a remote and " "connect automatically." msgstr "" -#: 01330ca69ec34ec48698e6176b3a63b2 of pybricks.pupdevices.Remote:6 +#: fc99df267d8f42fb8c993ae1c7a5e31a of pybricks.pupdevices.Remote:6 msgid "" "The remote must be on and ready for a connection, as indicated by a white" " blinking light." msgstr "" -#: ../../main/pupdevices/remote.rst 2e4b0f14c5e042269911a579bc604f53 -#: 5ea689d989d246acac496fd687d5f406 a04472f33c5c4fc49e974f55a1d9dcbc +#: ../../main/pupdevices/remote.rst 1e72400761d74d9090a2d20e62106b9c +#: 698b5b969d284346a8c83f8606a94fe4 eca6204e3b4147909c79cfac027bd882 msgid "Parameters" msgstr "" -#: 0d458af3ec7041c591380af8509b7786 of pybricks.pupdevices.Remote:9 +#: 2fa5307486b744baa73bdc00873b0453 of pybricks.pupdevices.Remote:9 msgid "" "Bluetooth name of the remote. If no name is given, the hub connects to " "the first remote that it finds." msgstr "" -#: 1f912845e84f40429cdb4e5d2d017a55 of pybricks.pupdevices.Remote:12 +#: fdc52acb4b8048cba1e0c471e3acd162 of pybricks.pupdevices.Remote:12 msgid "How long to search for the remote." msgstr "" -#: 15bee54782484f029aa179f64fe868d6 of pybricks.pupdevices.Remote.name:1 +#: b0c0f94565f3407b8f2e57090c17ea0e of pybricks.pupdevices.Remote.name:1 msgid "name(name) name() -> str" msgstr "" -#: 483f14355a484e64845c2df016049dd9 of pybricks.pupdevices.Remote.name:4 +#: 18e0ae6ad23141f1b1050602ef9c8990 of pybricks.pupdevices.Remote.name:4 msgid "Sets or gets the Bluetooth name of the remote." msgstr "" -#: 65512cd9853f47b4bb06bec6c3b17e0f of pybricks.pupdevices.Remote.name:6 +#: 4afed3e2935c460e892ef344bfea22ea of pybricks.pupdevices.Remote.name:6 msgid "" "New Bluetooth name of the remote. If no name is given, this method " "returns the current name." msgstr "" #: ../../main/pupdevices/remote.rst:19 ../../main/pupdevices/remote.rst:23 -#: 02b2c204439d470589c0e83c592e90f5 cb0256f07ef44cf3b776a9149675d7a1 +#: 34a25110a9d441299ef084da4645e8f4 4f2a30ef06e14f839b901460d0cf4c24 msgid ".. image:: /blockimg/pybricks_blockLightOnColor_remote_on.svg" msgstr "" -#: f06bd26a02e046d5bbcc93dd5e1878a9 of pybricks._common.ExternalColorLight.on:1 +#: e20828e0d27740bd83b139924f607971 of pybricks._common.ExternalColorLight.on:1 msgid "Turns on the light at the specified color." msgstr "" -#: a82c76af3f2b4247a0c4c35e36a82d27 of pybricks._common.ExternalColorLight.on:3 +#: 89d0742b9aa14d179b9b5a365e91438b of pybricks._common.ExternalColorLight.on:3 msgid "Color of the light." msgstr "" -#: db3e4e7b24ef4911bd5279253c88acad of +#: b02e74891a8746f18b641ab015a6bdf4 of #: pybricks._common.ExternalColorLight.off:1 msgid "Turns off the light." msgstr "" -#: ../../main/pupdevices/remote.rst:27 2e2884ce9b4e4956a4a896c665f6e862 +#: ../../main/pupdevices/remote.rst:27 da7a87cabd8545fd97b2d024e058ea78 msgid ".. image:: /blockimg/pybricks_blockButtonIsPressed_Remote.svg" msgstr "" -#: 0a7aaece67a14169a7ddd690260cfc82 of pybricks._common.Keypad.pressed:1 +#: 2bda245182e742309c076f9c81c2aed1 of pybricks._common.Keypad.pressed:1 msgid "Checks which buttons are currently pressed." msgstr "" -#: ../../main/pupdevices/remote.rst d48d6d7a5fbb47f3b6f3c2f00200cd6c +#: ../../main/pupdevices/remote.rst 400e3ed71b8b45efaeab83945a2a01b7 msgid "Returns" msgstr "" -#: 4ae3850e73234b79ad555bb4f2283770 of pybricks._common.Keypad.pressed:3 +#: 030f82d258034793b9f09cf1ba00ed36 of pybricks._common.Keypad.pressed:3 msgid "Set of pressed buttons." msgstr "" -#: b0c876790c0944659f1837a70ede0537 of pybricks.pupdevices.Remote.disconnect:1 +#: 1b1fd627adf24adc960d43db17f10cd0 of pybricks.pupdevices.Remote.disconnect:1 msgid "Disconnects the remote from the hub." msgstr "" -#: ../../main/pupdevices/remote.rst:34 8a0bb617af254260a863a0cbb7d37e81 +#: ../../main/pupdevices/remote.rst:34 c4535f40ac3348eeab026181d748b28c msgid "Examples" msgstr "" -#: ../../main/pupdevices/remote.rst:37 efaa3456c2f34efb9cb794be711d04f9 +#: ../../main/pupdevices/remote.rst:37 ccb071657de3435bb5b0d2770c263bb1 msgid "Checking which buttons are pressed" msgstr "" -#: ../../main/pupdevices/remote.rst:39 bcac3633d179480faa127692d2b14ec7 -msgid "" -"from pybricks.pupdevices import Remote\n" -"from pybricks.parameters import Button\n" -"from pybricks.tools import wait\n" -"\n" -"# Connect to the remote.\n" -"my_remote = Remote()\n" -"\n" -"while True:\n" -" # Check which buttons are pressed.\n" -" pressed = my_remote.buttons.pressed()\n" -"\n" -" # Show the result.\n" -" print(\"pressed:\", pressed)\n" -"\n" -" # Check a specific button.\n" -" if Button.CENTER in pressed:\n" -" print(\"You pressed the center button!\")\n" -"\n" -" # Wait so we can see the result.\n" -" wait(100)\n" -msgstr "" - -#: ../../main/pupdevices/remote.rst:43 3ecdc699aba0411099b2fe5be63e0841 +#: ../../main/pupdevices/remote.rst:43 98d9a319f7fa492eaf06fabc179ce037 msgid "Changing the remote light color" msgstr "" -#: ../../main/pupdevices/remote.rst:45 88c26497e1fe4bdabed3d7baa3aed524 -msgid "" -"from pybricks.pupdevices import Remote\n" -"from pybricks.parameters import Color\n" -"from pybricks.tools import wait\n" -"\n" -"# Connect to the remote.\n" -"remote = Remote()\n" -"\n" -"while True:\n" -" # Set the color to red.\n" -" remote.light.on(Color.RED)\n" -" wait(1000)\n" -"\n" -" # Set the color to blue.\n" -" remote.light.on(Color.BLUE)\n" -" wait(1000)\n" -msgstr "" - -#: ../../main/pupdevices/remote.rst:49 43c646d071724ca78ebca8ea10c4eb16 +#: ../../main/pupdevices/remote.rst:49 bfc1211543584ec1bfcae692df2787f3 msgid "Changing the light color using the buttons" msgstr "" -#: ../../main/pupdevices/remote.rst:51 b0ed866559c248d1994416107bc4e088 -msgid "" -"from pybricks.pupdevices import Remote\n" -"from pybricks.parameters import Button, Color\n" -"\n" -"\n" -"def button_to_color(buttons):\n" -"\n" -" # Return a color depending on the button.\n" -" if Button.LEFT_PLUS in buttons:\n" -" return Color.RED\n" -" if Button.LEFT_MINUS in buttons:\n" -" return Color.GREEN\n" -" if Button.LEFT in buttons:\n" -" return Color.ORANGE\n" -" if Button.RIGHT_PLUS in buttons:\n" -" return Color.BLUE\n" -" if Button.RIGHT_MINUS in buttons:\n" -" return Color.YELLOW\n" -" if Button.RIGHT in buttons:\n" -" return Color.CYAN\n" -" if Button.CENTER in buttons:\n" -" return Color.VIOLET\n" -"\n" -" # Return no color by default.\n" -" return Color.NONE\n" -"\n" -"\n" -"# Connect to the remote.\n" -"remote = Remote()\n" -"\n" -"while True:\n" -" # Wait until a button is pressed.\n" -" pressed = ()\n" -" while not pressed:\n" -" pressed = remote.buttons.pressed()\n" -"\n" -" # Convert button code to color.\n" -" color = button_to_color(pressed)\n" -"\n" -" # Set the remote light color.\n" -" remote.light.on(color)\n" -"\n" -" # Wait until all buttons are released.\n" -" while pressed:\n" -" pressed = remote.buttons.pressed()\n" -msgstr "" - -#: ../../main/pupdevices/remote.rst:56 921787da2acd43b39adb8fac9f679b68 +#: ../../main/pupdevices/remote.rst:56 e561226f6ed847dd8cad2e9462b947ea msgid "Using the timeout setting" msgstr "" -#: ../../main/pupdevices/remote.rst:58 59a2596e624543dd8dcf1bba87c9db43 +#: ../../main/pupdevices/remote.rst:58 a067f69728e64075b24651317bc56bfc msgid "" "You can use the ``timeout`` argument to change for how long the hub " "searches for the remote. If you choose ``None``, it will search forever." msgstr "" -#: ../../main/pupdevices/remote.rst:61 83b9e5c0f6d74d47b147e2f60c1c0e8c -msgid "" -"from pybricks.pupdevices import Remote\n" -"\n" -"# Connect to any remote. Search forever until we find one.\n" -"my_remote = Remote(timeout=None)\n" -"\n" -"print(\"Connected!\")\n" -msgstr "" - -#: ../../main/pupdevices/remote.rst:65 2bed4c454f44483faad1f2930f07df57 +#: ../../main/pupdevices/remote.rst:65 5d44ea3a212c47aa860e35e02d8bd732 msgid "" "If the remote was not found within the specified ``timeout``, an " ":ref:`OSError ` is raised. You can catch this exception to run " "other code if the remote is not available." msgstr "" -#: ../../main/pupdevices/remote.rst:70 ba3508a52330481182fb0faa2a7e33a5 -msgid "" -"from pybricks.pupdevices import Remote\n" -"\n" -"try:\n" -" # Search for a remote for 5 seconds.\n" -" my_remote = Remote(timeout=5000)\n" -"\n" -" print(\"Connected!\")\n" -"\n" -" # Here you can write code that uses the remote.\n" -"\n" -"except OSError:\n" -"\n" -" print(\"Could not find the remote.\")\n" -"\n" -" # Here you can make your robot do something\n" -" # without the remote.\n" -msgstr "" - -#: ../../main/pupdevices/remote.rst:74 23472b1ddc374261a71bebe8baed91ec +#: ../../main/pupdevices/remote.rst:74 1a57812a6ce840a6902eb215e6cb086e msgid "Changing the name of the remote" msgstr "" -#: ../../main/pupdevices/remote.rst:76 aef5e611ac7040169d7674af2c08e3ba +#: ../../main/pupdevices/remote.rst:76 65af8bc59bcf4a6dae88716e708530ee msgid "" "You can change the Bluetooth name of the remote. The factory default name" " is ``Handset``." msgstr "" -#: ../../main/pupdevices/remote.rst:79 fceb2db5e0314bc88cfe9a5ae3ef280e +#: ../../main/pupdevices/remote.rst:79 50911ec7944c4f3dbb5d29a07231d38b msgid ".. image:: /blockimg/pybricks_variables_set_remote_connect_rename.svg" msgstr "" -#: ../../main/pupdevices/remote.rst:81 05d2ad8e0068430dacf2d4d64d8d3de4 -msgid "" -"from pybricks.pupdevices import Remote\n" -"\n" -"# Connect to any remote.\n" -"my_remote = Remote()\n" -"\n" -"# Print the current name of the remote.\n" -"print(my_remote.name())\n" -"\n" -"# Choose a new name.\n" -"my_remote.name(\"truck2\")\n" -"\n" -"print(\"Done!\")\n" -msgstr "" - -#: ../../main/pupdevices/remote.rst:84 7c58825b54be44299649d76cacd0dc71 +#: ../../main/pupdevices/remote.rst:84 82147b57cc664596ab0b69722d44139d msgid "" "You can specify this name when connecting to the remote. This lets you " "pick the right one if multiple remotes are nearby." msgstr "" -#: ../../main/pupdevices/remote.rst:89 ce24082f4da3494b9763582097f72c78 -msgid "" -"from pybricks.pupdevices import Remote\n" -"from pybricks.tools import wait\n" -"\n" -"# Connect to a remote called truck2.\n" -"truck_remote = Remote(\"truck2\", timeout=None)\n" -"\n" -"print(\"Connected!\")\n" -"\n" -"wait(2000)\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/tiltsensor.po b/doc/locales/de/LC_MESSAGES/pupdevices/tiltsensor.po index 098ddf1e..d5c596db 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/tiltsensor.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/tiltsensor.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,75 +19,55 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/pupdevices/tiltsensor.rst:4 c9562448546c460eb3ed1df5c8c221a5 +#: ../../main/pupdevices/tiltsensor.rst:4 a3d8cffd603847d4940b64077ed32227 msgid "Tilt Sensor" msgstr "" -#: ../../main/pupdevices/tiltsensor.rst:6 052861e555e14fed95e1df9c15ac681f +#: ../../main/pupdevices/tiltsensor.rst:6 5e4d381c6e324f82ba0da85169ea2788 msgid ".. image:: ../../main/cad/output/pupdevice-tilt.png" msgstr "" -#: ../../main/pupdevices/tiltsensor.rst:9 421b5334dd094807af3a724ce9d34c6c +#: ../../main/pupdevices/tiltsensor.rst:9 6c185fefe357485f87ee4b6bbaed68bf msgid ".. image:: /blockimg/pybricks_variables_set_tilt_sensor.svg" msgstr "" -#: adbf87902bc549acb95f355c077242a8 of pybricks.pupdevices.TiltSensor:1 +#: 580a66b21b734d5ea11d38650b955844 of pybricks.pupdevices.TiltSensor:1 msgid "LEGO® Powered Up Tilt Sensor." msgstr "" -#: ../../main/pupdevices/tiltsensor.rst 75a56c42abca4ceba95d7261ae29bfff +#: ../../main/pupdevices/tiltsensor.rst 45b4b7b03dce405a899becbf56e445c1 msgid "Parameters" msgstr "" -#: a6d12a874e804cb1b626ef146d08c02e of pybricks.pupdevices.TiltSensor:3 +#: d4bc1e1854964de19988765b0b900bf9 of pybricks.pupdevices.TiltSensor:3 msgid "Port to which the sensor is connected." msgstr "" -#: ../../main/pupdevices/tiltsensor.rst:14 bed39b3849e04332a6fbeff8bc866666 +#: ../../main/pupdevices/tiltsensor.rst:14 eb746d207f5847949280f3cc8374f90a msgid ".. image:: /blockimg/pybricks_blockTilt_TiltSensor_imu.tilt.pitch.svg" msgstr "" -#: ../../main/pupdevices/tiltsensor.rst:16 1776f9cd8f85465bbebb8ba31e07cbce +#: ../../main/pupdevices/tiltsensor.rst:16 e365501d8d9e46ff84a02ef33fe1a94d msgid ".. image:: /blockimg/pybricks_blockTilt_TiltSensor_imu.tilt.roll.svg" msgstr "" -#: 62bc16290d844be5947b8a188ac333e3 of pybricks.pupdevices.TiltSensor.tilt:1 +#: 91e0e59f9e7640c5be5e76bf0b35cc48 of pybricks.pupdevices.TiltSensor.tilt:1 msgid "Measures the tilt relative to the horizontal plane." msgstr "" -#: ../../main/pupdevices/tiltsensor.rst 479c1806a8f1470581731a0c2a441078 +#: ../../main/pupdevices/tiltsensor.rst 01ce1e748d3644a8b7eb69628523a8b1 msgid "Returns" msgstr "" -#: 90b226ae20d4458ca77ba164fc4a329e of pybricks.pupdevices.TiltSensor.tilt:3 +#: 4211cd0020754692981ea592868193cc of pybricks.pupdevices.TiltSensor.tilt:3 msgid "Tuple of pitch and roll angles." msgstr "" -#: ../../main/pupdevices/tiltsensor.rst:22 44796d9c19ee49f88bcc74a7a57eb846 +#: ../../main/pupdevices/tiltsensor.rst:22 a641963c51744e09996605e75e67bdcf msgid "Examples" msgstr "" -#: ../../main/pupdevices/tiltsensor.rst:25 66d4f2c9e3004f49905e0149839a473b +#: ../../main/pupdevices/tiltsensor.rst:25 670db12e242f499bb7091fb3365ecae7 msgid "Measuring pitch and roll" msgstr "" -#: ../../main/pupdevices/tiltsensor.rst:27 c0d0ce12d1eb4ca3a8570d12f263bef1 -msgid "" -"from pybricks.pupdevices import TiltSensor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"accel = TiltSensor(Port.A)\n" -"\n" -"while True:\n" -" # Read the tilt angles relative to the horizontal plane.\n" -" pitch, roll = accel.tilt()\n" -"\n" -" # Print the values\n" -" print(\"Pitch:\", pitch, \"Roll:\", roll)\n" -"\n" -" # Wait some time so we can read what is printed.\n" -" wait(100)\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/pupdevices/ultrasonicsensor.po b/doc/locales/de/LC_MESSAGES/pupdevices/ultrasonicsensor.po index 0b5a7763..850858f2 100644 --- a/doc/locales/de/LC_MESSAGES/pupdevices/ultrasonicsensor.po +++ b/doc/locales/de/LC_MESSAGES/pupdevices/ultrasonicsensor.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -20,94 +20,94 @@ msgstr "" "Generated-By: Babel 2.16.0\n" #: ../../main/pupdevices/ultrasonicsensor.rst:4 -#: 0523b3877e134c34a011570b12c92569 +#: 02fc779c187046c2a3c3d10e1a4c5f93 msgid "Ultrasonic Sensor" msgstr "" #: ../../main/pupdevices/ultrasonicsensor.rst:6 -#: 61abbcdea0704c55b17f47c85b2cd0b7 +#: bdebbeda7426440a9919efa0da840a1b msgid ".. image:: ../../main/diagrams/sensor_ultrasonic_lights.png" msgstr "" #: ../../main/pupdevices/ultrasonicsensor.rst:9 -#: 8253413c6a9b4c259a494451fa4ea8a9 +#: 6cb3e387da424d06ab376806e3a4588f msgid ".. image:: /blockimg/pybricks_variables_set_ultrasonic_sensor.svg" msgstr "" -#: 891eb8dd7b2d42f79b27d14391aae1e2 of pybricks.pupdevices.UltrasonicSensor:1 +#: 5066a5d5aa1e4ffc885fa8fb62c9510c of pybricks.pupdevices.UltrasonicSensor:1 msgid "LEGO® SPIKE Color Sensor." msgstr "" -#: ../../main/pupdevices/ultrasonicsensor.rst 18ea6a4e1fcd44588de838719cd128cc -#: 3ea086ffa47c45449963f96a637ef826 +#: ../../main/pupdevices/ultrasonicsensor.rst 0241443ed6324ec39f6a8ca96e4d5024 +#: 4d01b2a7f7ec48f4b14bf04c9098ca68 msgid "Parameters" msgstr "" -#: 45071fa53eaa4c589cef01a0fa34f864 of pybricks.pupdevices.UltrasonicSensor:3 +#: 4afaca6f94c3406f84556ac8d8612a39 of pybricks.pupdevices.UltrasonicSensor:3 msgid "Port to which the sensor is connected." msgstr "" #: ../../main/pupdevices/ultrasonicsensor.rst:14 -#: d086d3f5a0734fba9f005e0072938d53 +#: 72957d942f034cf3888ac610d6eb2bb2 msgid ".. image:: /blockimg/pybricks_blockDistance_UltrasonicSensor.svg" msgstr "" -#: 7b37634be29b40058715073df19d521e of +#: 22ef024d16984ac38e4114714024c28b of #: pybricks.pupdevices.UltrasonicSensor.distance:1 msgid "" "Measures the distance between the sensor and an object using ultrasonic " "sound waves." msgstr "" -#: ../../main/pupdevices/ultrasonicsensor.rst 073fa23bdbfc4fb7b3ffa5fc6fd3760a -#: 2ee882fcf42b4276b2536d81d018d0b5 +#: ../../main/pupdevices/ultrasonicsensor.rst 04655e78a0644018af41e2096abb5f82 +#: 5ca8a8c664ab401aa50150f8218fc3e8 msgid "Returns" msgstr "" -#: 521a3171f84c4ee095f6938913a7aea2 of +#: 4365aad5da2140c7a71f8ea5f5e567f7 of #: pybricks.pupdevices.UltrasonicSensor.distance:4 msgid "Measured distance. If no valid distance was measured, it returns 2000 mm." msgstr "" -#: 0b9d59fb417e4915933a3d9865184074 of +#: d9625fedd73548d686c5eed13407f4ce of #: pybricks.pupdevices.UltrasonicSensor.presence:1 msgid "" "Checks for the presence of other ultrasonic sensors by detecting " "ultrasonic sounds." msgstr "" -#: a9506b94d7234207838aac2c36a81b9f of +#: cf7a2fde21ec40849816de210185e6aa of #: pybricks.pupdevices.UltrasonicSensor.presence:4 msgid "``True`` if ultrasonic sounds are detected, ``False`` if not." msgstr "" #: ../../main/pupdevices/ultrasonicsensor.rst:21 -#: 06dc0fc841a348188f01df3a318d981f +#: 8ed6b95072124ab58a65a14b8b169d11 msgid "Built-in lights" msgstr "" #: ../../main/pupdevices/ultrasonicsensor.rst:22 -#: cad234500cfc43dbb96b39651f01898f +#: d823f883da18490581ab7736ca9d44ac msgid "" "This sensor has 4 built-in lights. You can adjust the brightness of each " "light." msgstr "" #: ../../main/pupdevices/ultrasonicsensor.rst:25 -#: 36054dd7905d415983e0e93d9bdfca08 +#: 799ffbe0f6e34318a57fc3fe6b0b83d8 msgid ".. image:: /blockimg/pybricks_blockLightOn_ultrasonicsensor_on.svg" msgstr "" #: ../../main/pupdevices/ultrasonicsensor.rst:27 -#: 798df2ce1f86438a9b1ac68f53cd77ef +#: 82aa951521cb45d8b1edec0468e387d8 msgid ".. image:: /blockimg/pybricks_blockLightOn_ultrasonicsensor_on_list.svg" msgstr "" -#: 22b80f43a4cf44c2866d44a7b569f767 of pybricks._common.LightArray4.on:1 +#: 76511607d5f548028746ea3170b83436 of pybricks._common.LightArray4.on:1 msgid "Turns on the lights at the specified brightness." msgstr "" -#: 0d1c5981d5b344f7a17a24f51b3a229e of pybricks._common.LightArray4.on:3 +#: 8de37dbde5c84c168e631b1df2bff54c of pybricks._common.LightArray4.on:3 msgid "" "Use a single value to set the brightness of all lights at the same time. " "Use a tuple of four values to set the brightness of each light " @@ -115,89 +115,26 @@ msgid "" msgstr "" #: ../../main/pupdevices/ultrasonicsensor.rst:32 -#: b90e90bae7494335bb4c4507054a7531 +#: 56b4dfd456ad4b66abf8dc8ac4ea16b0 msgid ".. image:: /blockimg/pybricks_blockLightOn_ultrasonicsensor_off.svg" msgstr "" -#: 13312ea679db46a0b1ee582056143d18 of pybricks._common.LightArray3.off:1 +#: 82ce56d61684400ead44d3c81460f3e6 of pybricks._common.LightArray3.off:1 msgid "Turns off all the lights." msgstr "" #: ../../main/pupdevices/ultrasonicsensor.rst:37 -#: f953f146d5c64a1f85fae0a76bab8df2 +#: d417064f47214b4ab9f3baf604181e68 msgid "Examples" msgstr "" #: ../../main/pupdevices/ultrasonicsensor.rst:40 -#: 0d6cdee786b248418376fb165bf84829 +#: 4f5a499c17294306894fe4c7be9277c2 msgid "Measuring distance and switching on the lights" msgstr "" -#: ../../main/pupdevices/ultrasonicsensor.rst:42 -#: b72d6464425648c38f6e3f18c7405f49 -msgid "" -"from pybricks.pupdevices import UltrasonicSensor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait\n" -"\n" -"# Initialize the sensor.\n" -"eyes = UltrasonicSensor(Port.A)\n" -"\n" -"while True:\n" -" # Print the measured distance.\n" -" print(eyes.distance())\n" -"\n" -" # If an object is detected closer than 500mm:\n" -" if eyes.distance() < 500:\n" -" # Turn the lights on.\n" -" eyes.lights.on(100)\n" -" else:\n" -" # Turn the lights off.\n" -" eyes.lights.off()\n" -"\n" -" # Wait some time so we can read what is printed.\n" -" wait(100)\n" -msgstr "" - #: ../../main/pupdevices/ultrasonicsensor.rst:46 -#: ae33bff6bb144e47b3d165ae1f235e19 +#: 0823e17b70154027beb3226e1da62e38 msgid "Gradually change the brightness of the lights" msgstr "" -#: ../../main/pupdevices/ultrasonicsensor.rst:48 -#: b2623ae10c894ed9885ca34839944ac8 -msgid "" -"from pybricks.pupdevices import UltrasonicSensor\n" -"from pybricks.parameters import Port\n" -"from pybricks.tools import wait, StopWatch\n" -"\n" -"from umath import pi, sin\n" -"\n" -"# Initialize the sensor.\n" -"eyes = UltrasonicSensor(Port.A)\n" -"\n" -"# Initialize a timer.\n" -"watch = StopWatch()\n" -"\n" -"# We want one full light cycle to last three seconds.\n" -"PERIOD = 3000\n" -"\n" -"while True:\n" -" # The phase is where we are in the unit circle now.\n" -" phase = watch.time() / PERIOD * 2 * pi\n" -"\n" -" # Each light follows a sine wave with a mean of 50, with an amplitude" -" of 50.\n" -" # We offset this sine wave by 90 degrees for each light, so that all " -"the\n" -" # lights do something different.\n" -" brightness = [sin(phase + offset * pi / 2) * 50 + 50 for offset in " -"range(4)]\n" -"\n" -" # Set the brightness values for all lights.\n" -" eyes.lights.on(brightness)\n" -"\n" -" # Wait some time.\n" -" wait(50)\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/robotics.po b/doc/locales/de/LC_MESSAGES/robotics.po index 6d53756e..6fc28767 100644 --- a/doc/locales/de/LC_MESSAGES/robotics.po +++ b/doc/locales/de/LC_MESSAGES/robotics.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,188 +19,188 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/robotics.rst:2 67a6122f52cf4adaba3951c4eb016803 +#: ../../main/robotics.rst:2 f874b61af2224db2a55ac20145b6f367 msgid ":mod:`robotics ` -- Robotics and drive bases" msgstr "" -#: aeb657ed81d4414cbae88c52cd1ffd9c of pybricks.robotics:1 +#: 4abe6e553a3f419d8307656d4964c1a8 of pybricks.robotics:1 msgid "Robotics module for the Pybricks API." msgstr "" -#: ../../main/robotics.rst:9 e6a0ffeebfb14331b55ce62f5e57c857 +#: ../../main/robotics.rst:9 71e47a67fb9244fe92576301932c4f1a msgid ".. image:: /blockimg/pybricks_variables_set_drive_base.svg" msgstr "" -#: f1c37c2818734a788359af485d7907bb of pybricks.robotics.DriveBase:1 +#: 55dbe63b368e4bc29524d5b650379d96 of pybricks.robotics.DriveBase:1 msgid "" "A robotic vehicle with two powered wheels and an optional support wheel " "or caster." msgstr "" -#: aae3686b77f54266a86b9c7cf368dc15 of pybricks.robotics.DriveBase:4 +#: fd74b590b8c24ae395aeb349086bdc6f of pybricks.robotics.DriveBase:4 msgid "" "By specifying the dimensions of your robot, this class makes it easy to " "drive a given distance in millimeters or turn by a given number of " "degrees." msgstr "" -#: 1a83c784ee3e4af1a593c1c301e6eb80 of pybricks.robotics.DriveBase:8 +#: abce5c6140644ac5ba09da432a2bd381 of pybricks.robotics.DriveBase:8 msgid "" "**Positive** distances, radii, or drive speeds mean driving **forward**. " "**Negative** means **backward**." msgstr "" -#: 094141807a37437f9e2a6074ed9ffbf9 of pybricks.robotics.DriveBase:11 +#: bc1cd91fde1e47de9d73d8c46cbdcf6c of pybricks.robotics.DriveBase:11 msgid "" "**Positive** angles and turn rates mean turning **right**. **Negative** " "means **left**. So when viewed from the top, positive means clockwise and" " negative means counterclockwise." msgstr "" -#: 9356ff0092e4449eb76f5877efeb9aca of pybricks.robotics.DriveBase:15 +#: ca04b0fb07d04a0b8c3fedf35dab8b30 of pybricks.robotics.DriveBase:15 msgid "" "See the `measuring`_ section for tips to measure and adjust the diameter " "and axle track values." msgstr "" -#: ../../main/robotics.rst 1ff2a1cebd154167b4de00906dec0261 -#: 2156d33038a14a24a51d1d7713f30010 3a2d482155d54dc99a25675438a7cb6a -#: 3e4e6c72aec246338e26d2f32642309a 518854794c7948609c1fc50440bf7198 -#: 54177ffbcdd644ad9666ed7cf2a78d4b 59b43c4f03334508958cf76ae6d92403 -#: 6b0e5e8c81714a9dbe72df571c374651 7b7e0c4b4dd4443d83a8dd41ab6c0067 -#: c898b301656b42c89115a9707c389148 fabbeecee190469a8b566d09ef018db0 +#: ../../main/robotics.rst 084dc5511b0d442ebf82d65c8569a950 +#: 0c278d84dd5c469cb243629d5c0bf669 0d628bfa11744431b0b51cf476158f6e +#: 0e2f99e03fc549ab837d4b6471083c1c 56f624b0f9d7464b8e5791f1d1043d4d +#: a474ee96dcab490b8c7217f8fa4f081c b283127c9bf6474c9db3f7310dd2d301 +#: b5c1097c8e73453abdd677d75ed95da9 bdd00181b805468a9515f2d0a0aa9281 +#: c0faf761092a4938970dc13272c0b381 e6fcb6e41d7146bb8bb29479c4c42f39 msgid "Parameters" msgstr "" -#: a08f90fdddd1402c992807b3507eaa5c of pybricks.robotics.DriveBase:18 +#: 082e1a33b8a3403fbabeb2f169ebc7da of pybricks.robotics.DriveBase:18 msgid "The motor that drives the left wheel." msgstr "" -#: 7259798b96934719a444a88ed0da2832 of pybricks.robotics.DriveBase:20 +#: af987f07b00a47b2b74c53be660b7fe8 of pybricks.robotics.DriveBase:20 msgid "The motor that drives the right wheel." msgstr "" -#: 428a2cbff9904fd1a707b006c6637e6e of pybricks.robotics.DriveBase:22 +#: d3f4fefdb6f2489f94f4927d8ed2ec10 of pybricks.robotics.DriveBase:22 msgid "Diameter of the wheels." msgstr "" -#: 98d1fd3f49e34e099fb66c001f935b6f of pybricks.robotics.DriveBase:24 +#: 8869b34e4ed54549a2a3bf3a3ec26458 of pybricks.robotics.DriveBase:24 msgid "Distance between the points where both wheels touch the ground." msgstr "" -#: ../../main/robotics.rst:15 2020c530918c4d299fbb9128ed933f5f +#: ../../main/robotics.rst:15 db647b5d94b14de48a8dc64965c894d7 msgid "Driving by a given distance or angle" msgstr "" -#: ../../main/robotics.rst:16 84cfdfc57e824872a501b25520db1502 +#: ../../main/robotics.rst:16 eade6e9aca2146b39a035edc7e83512a msgid "" "Use the following commands to drive a given distance, or turn by a given " "angle." msgstr "" -#: ../../main/robotics.rst:19 fede06de20704cf5b77d5a14f6468582 +#: ../../main/robotics.rst:19 19a9f4b8c25b464daa267ce908b47482 msgid "" "This is measured using the internal rotation sensors. Because wheels may " "slip while moving, the traveled distance and angle are only estimates." msgstr "" -#: ../../main/robotics.rst:22 9fc93a2677564a15bb4daa39d9714cab +#: ../../main/robotics.rst:22 46eb8a208cb146f996ae947e94490b7c msgid "" ".. image:: " "/blockimg/pybricks_blockDriveBaseDrive_drivebase_drive_straight.svg" msgstr "" -#: 9e0792a9b54d413ea7c0f5268e4588a4 of pybricks.robotics.DriveBase.straight:1 +#: 4bd2a8e997524ae8bc0e8e78b7537591 of pybricks.robotics.DriveBase.straight:1 msgid "Drives straight for a given distance and then stops." msgstr "" -#: f96d93b070124176ade85b2f51b8f862 of pybricks.robotics.DriveBase.straight:3 +#: 7bb13d6f41e545bfb275341a4482b8ae of pybricks.robotics.DriveBase.straight:3 msgid "Distance to travel" msgstr "" -#: 2644eb977ce0460abb3f61890022eba0 38e5e131734f4649b54e622aff350a9c -#: b40ac852a92349398b99e07561aec0c3 of pybricks.robotics.DriveBase.curve:7 +#: 5dfec8538bf4458ab59b4499091e0f43 a30c9513aacb483abc286b2a7bf090a0 +#: a5c27018300949928de8b7ab09216fc5 of pybricks.robotics.DriveBase.curve:7 #: pybricks.robotics.DriveBase.straight:5 pybricks.robotics.DriveBase.turn:5 msgid "What to do after coming to a standstill." msgstr "" -#: 077403a379c146829d7865390bc4b64a 34ec0f9d80204be588362e53d9138bf9 -#: 4e3ccabae7434fb295b20ebd356edd57 of pybricks.robotics.DriveBase.curve:9 +#: 418d2b2c8f0d4bff8588f4232c5a0a4d aa41cc9be9334b998227056b073234e8 +#: de110cd3f72744d28456151f6b4c6f8d of pybricks.robotics.DriveBase.curve:9 #: pybricks.robotics.DriveBase.straight:7 pybricks.robotics.DriveBase.turn:7 msgid "" "Wait for the maneuver to complete before continuing with the rest of the " "program." msgstr "" -#: ../../main/robotics.rst:26 718ae398145e4dfab89e8e77365f4d1f +#: ../../main/robotics.rst:26 1c175b17903f47d9aee9d3b4b9d6821d msgid ".. image:: /blockimg/pybricks_blockDriveBaseDrive_drivebase_drive_turn.svg" msgstr "" -#: 88cd9dc6a920411ca8103886a028ace2 of pybricks.robotics.DriveBase.turn:1 +#: 81ca1dfd448b45559225d2d4dafa0405 of pybricks.robotics.DriveBase.turn:1 msgid "Turns in place by a given angle and then stops." msgstr "" -#: 04f646f861e945398b845ee7f82c4ec3 of pybricks.robotics.DriveBase.turn:3 +#: 64b62d2b46ae4506a1a3ef16709a088f of pybricks.robotics.DriveBase.turn:3 msgid "Angle of the turn." msgstr "" -#: ../../main/robotics.rst:30 6d101f98c960443fa9efbaf8dc78e0ad +#: ../../main/robotics.rst:30 4312bd2fc5404636a43f0a16eb850504 msgid "" ".. image:: " "/blockimg/pybricks_blockDriveBaseDrive_drivebase_drive_curve.svg" msgstr "" -#: 6e96166bce654ff99171f1eb136af74d of pybricks.robotics.DriveBase.curve:1 +#: cdb8e08b65ba43418506c251197c40ad of pybricks.robotics.DriveBase.curve:1 msgid "Drives an arc along a circle of a given radius, by a given angle." msgstr "" -#: 44846e5e845e45bba7cdd4d55a465216 of pybricks.robotics.DriveBase.curve:3 +#: 7abeae3c0f5f442f929c5520bf13d57d of pybricks.robotics.DriveBase.curve:3 msgid "Radius of the circle." msgstr "" -#: ae87411196364d8bbf0e583616900e6a of pybricks.robotics.DriveBase.curve:5 +#: d13968d74465497b86a7dd4d1b32ed13 of pybricks.robotics.DriveBase.curve:5 msgid "Angle along the circle." msgstr "" -#: ../../main/robotics.rst:34 affcee727c93413eadc60a699e6f9c10 +#: ../../main/robotics.rst:34 d1b3da80ee2c4fe5b00cd5cf9b4714d2 msgid "" ".. image:: " "/blockimg/pybricks_blockDriveBaseConfigure_drivebase_straight_speed.svg" msgstr "" -#: ../../main/robotics.rst:36 336e8ac65a384d1a8382800d5ff704ae +#: ../../main/robotics.rst:36 c437735f55684b298b5a43481c96ca3a msgid "" ".. image:: " "/blockimg/pybricks_blockDriveBaseConfigure_drivebase_straight_acceleration.svg" msgstr "" -#: ../../main/robotics.rst:38 3db526072dc54fcfaae4bd1b2933a1f3 +#: ../../main/robotics.rst:38 c93196fcea5a41a8bd328d1269e20cd2 msgid "" ".. image:: " "/blockimg/pybricks_blockDriveBaseConfigure_drivebase_turn_rate.svg" msgstr "" -#: ../../main/robotics.rst:40 fc3dfd1d3ed74d60a46d6013e3a0fa2a +#: ../../main/robotics.rst:40 83c883070dcf4559ab8b7daf568cf6a4 msgid "" ".. image:: " "/blockimg/pybricks_blockDriveBaseConfigure_drivebase_turn_acceleration.svg" msgstr "" -#: 71c3ad89d5a845bfbff62b25c02b9418 of pybricks.robotics.DriveBase.settings:1 +#: 6b8f3f84a8b44659ae2fcf84b0bc67f5 of pybricks.robotics.DriveBase.settings:1 msgid "" "settings(straight_speed, straight_acceleration, turn_rate, " "turn_acceleration) settings() -> Tuple[int, int, int, int]" msgstr "" -#: 0d78672abd054aec96c4d9ab1ec92191 of pybricks.robotics.DriveBase.settings:4 +#: 5d05c37220e3420f9ac451fd8ff25f49 of pybricks.robotics.DriveBase.settings:4 msgid "Configures the drive base speed and acceleration." msgstr "" -#: bbb67f3aa344480b97f584f26485f3c1 of pybricks.robotics.DriveBase.settings:6 +#: dfd77d569bde4a53b6899236cbda3c76 of pybricks.robotics.DriveBase.settings:6 msgid "If you give no arguments, this returns the current values as a tuple." msgstr "" -#: dc66c799f90f498b804c47e0365cc655 of pybricks.robotics.DriveBase.settings:8 +#: 23ccac2f97374c62a5310fbe83883b81 of pybricks.robotics.DriveBase.settings:8 #, python-format msgid "" "The initial values are automatically configured based on your wheel " @@ -208,187 +208,187 @@ msgid "" " about 40% of its maximum speed." msgstr "" -#: 8e1b04d7dc154293a57a35171f88d13c of pybricks.robotics.DriveBase.settings:12 +#: b79ce7f4dfd14aef91721a4e678eaedb of pybricks.robotics.DriveBase.settings:12 msgid "" "The speed values given here do not apply to the :meth:`.drive` method, " "since you provide your own speed values as arguments in that method." msgstr "" -#: 263c8171bc1f49629caa57249d66c3ec of pybricks.robotics.DriveBase.settings:15 +#: 4f1ca414d2d0470b87b7e5dad48b5dec of pybricks.robotics.DriveBase.settings:15 msgid "Straight-line speed of the robot." msgstr "" -#: 8e83b2a167754e1581df52f7c57e37c2 of pybricks.robotics.DriveBase.settings:17 +#: 443308da7c534bc88b76dbd65061be24 of pybricks.robotics.DriveBase.settings:17 msgid "" "Straight-line acceleration and deceleration of the robot. Provide a tuple" " with two values to set acceleration and deceleration separately." msgstr "" -#: 5374010686074602a87787967e4af428 e234b3ce834c465c9d9be50fb68c428b of +#: 3b6edc64050c4993b1a6c9ce6f587309 63f9c77008de41ad93fdc1ab63515939 of #: pybricks.robotics.DriveBase.drive:6 pybricks.robotics.DriveBase.settings:21 msgid "Turn rate of the robot." msgstr "" -#: c5900ce4a0fc4e889e606984efbe3939 of pybricks.robotics.DriveBase.settings:23 +#: 22e4149024eb4158aa971e8c2a522fae of pybricks.robotics.DriveBase.settings:23 msgid "" "Angular acceleration and deceleration of the robot. Provide a tuple with " "two values to set acceleration and deceleration separately." msgstr "" -#: c1fd1d727de84766b15a7862e3cf0027 of pybricks.robotics.DriveBase.done:1 +#: b78ae1a69d074ff38d2fec5e6258d93d of pybricks.robotics.DriveBase.done:1 msgid "Checks if an ongoing command or maneuver is done." msgstr "" -#: ../../main/robotics.rst 284c3867d04e4c35b25b853a33fe6ad5 -#: 92ca0a63956b4587b2270460450f5b04 9dcad0634b6644a8aeaeb7ae409f1a7a -#: d93f92244bb34b6c94e224109c4b9bc2 f44394719eca4e52a1e23205dca55d61 +#: ../../main/robotics.rst 1122e05d648c4662affc7bec7d75c82c +#: 52b5f6f421d44acb93606039be0f365a 7d8b2f96128f46a3ab9cd38dd586af6b +#: af143acf28e5497da873ac1a383785a0 e0c4856c116f423880ec8ccfdfcde133 msgid "Returns" msgstr "" -#: 391554ecf2e14a4fa2fdbfd2c2e452f3 of pybricks.robotics.DriveBase.done:3 +#: f463a0060ec14200b6d2497fd128efba of pybricks.robotics.DriveBase.done:3 msgid "``True`` if the command is done, ``False`` if not." msgstr "" -#: ../../main/robotics.rst:47 18ae314fcab646b7964e67dd4d889a83 +#: ../../main/robotics.rst:47 27c5b8ea03a94f779c137c658c78cfb9 msgid "Drive forever" msgstr "" -#: ../../main/robotics.rst:48 6ebcbb73adee42dab83e7b3868cac8eb +#: ../../main/robotics.rst:48 03a6cbe6ae0f4ca2a3a6f2aa79cdf792 msgid "Use :meth:`.drive` to begin driving at a desired speed and steering." msgstr "" -#: ../../main/robotics.rst:50 2efa6a7ea2d44f17966f3d5c86b6bf51 +#: ../../main/robotics.rst:50 58821334322a4ed8830db27e5e800de3 msgid "" "It keeps going until you use :meth:`.stop` or change course by using " ":meth:`.drive` again. For example, you can drive until a sensor is " "triggered and then stop or turn around." msgstr "" -#: ../../main/robotics.rst:54 49c70267a83446619d89e7f92ce49bd7 +#: ../../main/robotics.rst:54 b059b24656ac448c875a29b0513bb390 msgid "" ".. image:: " "/blockimg/pybricks_blockDriveBaseDrive_drivebase_drive_forever.svg" msgstr "" -#: 9a816f7b8ef84829aec01f4c2856e9ef of pybricks.robotics.DriveBase.drive:1 +#: 5619294a020d4a87a769c7d8d113d6c8 of pybricks.robotics.DriveBase.drive:1 msgid "" "Starts driving at the specified speed and turn rate. Both values are " "measured at the center point between the wheels of the robot." msgstr "" -#: cde89623989c4f129e51862979476eec of pybricks.robotics.DriveBase.drive:4 +#: 377bf6a96bb141bf9c0e2336fa4ffa0d of pybricks.robotics.DriveBase.drive:4 msgid "Speed of the robot." msgstr "" -#: ../../main/robotics.rst:58 29241a27b97541a58d2e14ce08f5345c +#: ../../main/robotics.rst:58 e91357462f38482e9bc70be719012c6e msgid ".. image:: /blockimg/pybricks_blockDriveBaseStop_coast.svg" msgstr "" -#: bf8ec3efce1d4721a84f3f3ecbc4d67e of pybricks.robotics.DriveBase.stop:1 +#: d103bf5e5af544d3bf9c92d208f236be of pybricks.robotics.DriveBase.stop:1 msgid "Stops the robot by letting the motors spin freely." msgstr "" -#: ../../main/robotics.rst:62 d376959cf6744efea46a87249d0f384c +#: ../../main/robotics.rst:62 74a0dc3cd55e490480924873902e5eeb msgid ".. image:: /blockimg/pybricks_blockDriveBaseStop_brake.svg" msgstr "" -#: af9dd532cefa423494d71cbc6e901dba of pybricks.robotics.DriveBase.brake:1 +#: 9f7aa26622f14cadbde641e24684e178 of pybricks.robotics.DriveBase.brake:1 msgid "Stops the robot by passively braking the motors." msgstr "" -#: ../../main/robotics.rst:66 04b35c4c87a743fea2479fd94261a37c +#: ../../main/robotics.rst:66 0f62aee58a8546b8927d2e97d87ee821 msgid ".. image:: /blockimg/pybricks_blockDriveBaseStop_hold.svg" msgstr "" -#: ../../main/robotics.rst:69 7bf4ef25b97a453aa4ea9af6384fa6ce +#: ../../main/robotics.rst:69 9fa84517dd3a4920b934381d654a3df1 msgid "Measuring" msgstr "" -#: ../../main/robotics.rst:70 f715ed07b7124d899d7f14aa4814de11 +#: ../../main/robotics.rst:70 6c58745ce95c4a37ab68cc40f2530ff9 msgid "" ".. image:: " "/blockimg/pybricks_blockDriveBaseMeasure_drivebase_get_distance.svg" msgstr "" -#: 221fb8de43cf48e4b5c2ec44cef92099 of pybricks.robotics.DriveBase.distance:1 +#: 44a0474c87e847e8a00e7d2b65913a8c of pybricks.robotics.DriveBase.distance:1 msgid "Gets the estimated driven distance." msgstr "" -#: f70b460ba9d545c8861d60ecf292d1ce of pybricks.robotics.DriveBase.distance:3 +#: f9b94029970f4137a70bb4b1a6979606 of pybricks.robotics.DriveBase.distance:3 msgid "Driven distance since last reset." msgstr "" -#: ../../main/robotics.rst:74 05408e66b912492fabe2c5c0bf55bc71 +#: ../../main/robotics.rst:74 64965f451d1e408c839dd2b292ebe091 msgid "" ".. image:: " "/blockimg/pybricks_blockDriveBaseMeasure_drivebase_get_angle.svg" msgstr "" -#: 55b3f9cd64ff47b7b5171dfd3f18f9a6 of pybricks.robotics.DriveBase.angle:1 +#: 158a2e2fee4d44349a56ef81ba9b1907 of pybricks.robotics.DriveBase.angle:1 msgid "Gets the estimated rotation angle of the drive base." msgstr "" -#: a02d03f7d14c4f60871e74e9ce5c353c of pybricks.robotics.DriveBase.angle:3 +#: e876369849bd4ca1b7dfdf5289365537 of pybricks.robotics.DriveBase.angle:3 msgid "Accumulated angle since last reset." msgstr "" -#: ../../main/robotics.rst:78 a784a45ea08f4cbbad4259c64fe738d5 +#: ../../main/robotics.rst:78 10562d95d0de497480cea6da08eb3906 msgid "" ".. image:: " "/blockimg/pybricks_blockDriveBaseMeasure_drivebase_get_speed.svg" msgstr "" -#: ../../main/robotics.rst:80 54aeb1a959ae49458e803b156fa37b2a +#: ../../main/robotics.rst:80 d36df19843b649298d4d8ace2ca075ad msgid "" ".. image:: " "/blockimg/pybricks_blockDriveBaseMeasure_drivebase_get_turn_rate.svg" msgstr "" -#: b64eaf8371dc4fd4ad48c666543f8c69 of pybricks.robotics.DriveBase.state:1 +#: 5e5d8f296c3b4844bf63963caca1f41a of pybricks.robotics.DriveBase.state:1 msgid "Gets the state of the robot." msgstr "" -#: 98a0070831af4b1badf5ca1df52f6566 of pybricks.robotics.DriveBase.state:3 +#: 8aed3180f43c4508891299e7e99fc3f6 of pybricks.robotics.DriveBase.state:3 msgid "Tuple of distance, drive speed, angle, and turn rate of the robot." msgstr "" -#: ea8a7bdb685c46efa0b5db5c1b1bd23b of pybricks.robotics.DriveBase.reset:1 +#: ceeb247e0ee7419ab60b3308920d28e3 of pybricks.robotics.DriveBase.reset:1 msgid "Resets the estimated driven distance and angle to 0." msgstr "" -#: 654d7a01b823458989f6095c51b5c733 of pybricks.robotics.DriveBase.stalled:1 +#: abb88874614c4c04be971e7b725ffd77 of pybricks.robotics.DriveBase.stalled:1 msgid "Checks if the drive base is currently stalled." msgstr "" -#: 33394bf392804d2e87e46bc3f401eb08 of pybricks.robotics.DriveBase.stalled:3 +#: 314b499ab2a445d29a5da8ce653c0324 of pybricks.robotics.DriveBase.stalled:3 msgid "" "It is stalled when it cannot reach the target speed or position, even " "with the maximum actuation signal." msgstr "" -#: 791e374c9bcc4b07ae1004792debd19e of pybricks.robotics.DriveBase.stalled:6 +#: 75c9056ce4f34252a3b8991ed69358f5 of pybricks.robotics.DriveBase.stalled:6 msgid "``True`` if the drivebase is stalled, ``False`` if not." msgstr "" -#: ../../main/robotics.rst:91 28db1d3ee072405098d8a862667bf88d +#: ../../main/robotics.rst:91 8b38bd09cf624662977070aead0cd67e msgid "Driving with the gyro" msgstr "" -#: ../../main/robotics.rst:92 c761b28a6e7748928caf6391cff57238 +#: ../../main/robotics.rst:92 a063dcf5b5a2427dbadd9179d13ca4b3 msgid ".. image:: /blockimg/pybricks_blockDriveBaseUseGyro.svg" msgstr "" -#: bd686bebf26e4d228af3f8b427a3eb5b of pybricks.robotics.DriveBase.use_gyro:1 +#: 54eb7647a97a4abab9bbdd8c4a32ceec of pybricks.robotics.DriveBase.use_gyro:1 msgid "" "Choose ``True`` to use the gyro sensor for turning and driving straight. " "Choose ``False`` to rely only on the motor's built-in rotation sensors." msgstr "" -#: f66d9016bead43088fc0a8cbf09ae495 of pybricks.robotics.DriveBase.use_gyro:5 +#: ec8aa84f0d4e4e37bef958a97490281a of pybricks.robotics.DriveBase.use_gyro:5 msgid "``True`` to enable, ``False`` to disable." msgstr "" -#: ../../main/robotics.rst:96 c2342ada234f4a9aad1dcbc591991e24 +#: ../../main/robotics.rst:96 494b6383c3214e4e9feef82e1910e68d msgid "" "If your hub is not mounted flat in your robot, make sure to specify the " "``top_side`` and ``front_side`` parameters when you initialize the " @@ -399,7 +399,7 @@ msgid "" "measure when turning." msgstr "" -#: ../../main/robotics.rst:104 1041234026f648f7b72ff867d0c3bacb +#: ../../main/robotics.rst:104 c61b1ee0555f4fcf82605d51a7fa174d msgid "" "The gyro in each hub is a bit different, which can cause it to be a few " "degrees off for big turns, or many small turns in the same direction. For" @@ -408,7 +408,7 @@ msgid "" "` on your robot to make a full turn." msgstr "" -#: ../../main/robotics.rst:111 4cf4e82f48ce4eaebc070b9f9932cf4e +#: ../../main/robotics.rst:111 be53c9cedea64964bd50840e0455f036 msgid "" "By default, this class tries to maintain the robot's position after a " "move completes. This means the wheels will spin if you pick the robot up," @@ -419,11 +419,11 @@ msgid "" "` command." msgstr "" -#: ../../main/robotics.rst:122 2a4c6fe2e9894edc84ddf379136daddc +#: ../../main/robotics.rst:122 e82d9f742fd34d95bd84b96d3b079329 msgid "Measuring and validating the robot dimensions" msgstr "" -#: ../../main/robotics.rst:123 bd70026cd5274f179e689d8a642b7fc6 +#: ../../main/robotics.rst:123 ae4b393d2cb14f5e986ec6db0386fa2e msgid "" "As a first estimate, you can measure the ``wheel_diameter`` and the " "``axle_track`` with a ruler. Because it is hard to see where the wheels " @@ -431,7 +431,7 @@ msgid "" "distance between the midpoint of the wheels." msgstr "" -#: ../../main/robotics.rst:128 0e8a6dd03f0b4234accc2a3c8641f095 +#: ../../main/robotics.rst:128 ab17340a8c5d40c98b41edacba10b959 msgid "" "If you don't have a ruler, you can use a LEGO beam to measure. The " "center-to-center distance of the holes is 8 mm. For some tyres, the " @@ -439,7 +439,7 @@ msgid "" "diameter is 62.4mm and that the width is 20 mm." msgstr "" -#: ../../main/robotics.rst:133 146e4c05ee3a41d19ef85607cadfe660 +#: ../../main/robotics.rst:133 7213312c99e24849bea1fe272ef56325 msgid "" "In practice, most wheels compress slightly under the weight of your " "robot. To verify, make your robot drive 1000 mm using " @@ -447,19 +447,19 @@ msgid "" "Compensate as follows:" msgstr "" -#: ../../main/robotics.rst:137 e142b9aabde344d4811bd696482d7f0d +#: ../../main/robotics.rst:137 a9a533ca61e44cf99f83742a0a30a524 msgid "" "If your robot drives **not far enough**, **decrease** the " "``wheel_diameter`` value slightly." msgstr "" -#: ../../main/robotics.rst:139 db473a5472264587a843c2869e8b7051 +#: ../../main/robotics.rst:139 be9a60aa77a24385a713ebc3edde8eea msgid "" "If your robot drives **too far**, **increase** the ``wheel_diameter`` " "value slightly." msgstr "" -#: ../../main/robotics.rst:142 3bb8a7d0cf254c7f946a5a20f8cadb84 +#: ../../main/robotics.rst:142 d00da379e31f4a96a9dfee2443bbf9e7 msgid "" "Motor shafts and axles bend slightly under the load of the robot, causing" " the ground contact point of the wheels to be closer to the midpoint of " @@ -467,30 +467,30 @@ msgid "" "``my_robot.turn(360)`` and check that it is back in the same place:" msgstr "" -#: ../../main/robotics.rst:147 01cecde619e2416bbf0192b31d6b8cf9 +#: ../../main/robotics.rst:147 aa2e299d6a9a4b4a967819da9a262483 msgid "" "If your robot turns **not far enough**, **increase** the ``axle_track`` " "value slightly." msgstr "" -#: ../../main/robotics.rst:149 ce30e00a229240ffa381d45ea7e6a61e +#: ../../main/robotics.rst:149 bf330f1f5954407cbe5f32daba7f194c msgid "" "If your robot turns **too far**, **decrease** the ``axle_track`` value " "slightly." msgstr "" -#: ../../main/robotics.rst:152 74fd0b4c00bb46169e0582fe43033a15 +#: ../../main/robotics.rst:152 43c1dc65946544d3bc20875f5b939f99 msgid "" "When making these adjustments, always adjust the ``wheel_diameter`` " "first, as done above. Be sure to test both turning and driving straight " "after you are done." msgstr "" -#: ../../main/robotics.rst:157 87309791f73a4ed1adcc347e113831ba +#: ../../main/robotics.rst:157 459289630f1a4a08acb1b6d37eb9137f msgid "Using the DriveBase motors individually" msgstr "" -#: ../../main/robotics.rst:158 3f5f26b947c24d93ac2fa60da916b010 +#: ../../main/robotics.rst:158 73ca23d0106e40ea875378f26dcb8099 msgid "" "After creating a :class:`.DriveBase` object, you can still use its two " "motors individually. If you start one motor, the other motor will " @@ -499,18 +499,18 @@ msgid "" "base will take over." msgstr "" -#: ../../main/robotics.rst:165 553304e1ff4e44c081b1cb332d338d7e +#: ../../main/robotics.rst:165 11ead1a7365c4658852fe7321f17312d msgid "Advanced settings" msgstr "" -#: ../../main/robotics.rst:166 edc3bf5bd0b242ec8c66c465d5913976 +#: ../../main/robotics.rst:166 c8c1eff3b5ae496a81bf44b5d1aa51ea msgid "" "The :meth:`.settings` method is used to adjust commonly used settings " "like the default speed and acceleration for straight maneuvers and turns." " Use the following attributes to adjust more advanced control settings." msgstr "" -#: ../../docstring 3de1bea3f50746ee90ea843b97b34c02 of +#: ../../docstring 1bfff3b0784f458f95ba2fd92ac0d84b of #: pybricks.robotics.DriveBase.distance_control:1 msgid "" "The traveled distance and drive speed are controlled by a PID controller." @@ -521,7 +521,7 @@ msgid "" "degrees turned by one motor." msgstr "" -#: ../../docstring 706bebcab7b9464ab0b04c13ccd2d9da of +#: ../../docstring 5efc94183ee24182b3135dff19325970 of #: pybricks.robotics.DriveBase.heading_control:1 msgid "" "The robot turn angle and turn rate are controlled by a PID controller. " @@ -532,19 +532,19 @@ msgid "" "(viewed from the top) instead of degrees turned by one motor." msgstr "" -#: ../../main/robotics.rst:178 28b4216e5c23478daabc715874c0d47a +#: ../../main/robotics.rst:178 0957e4fc63204eb4a9cfa8bba6376960 msgid "The :meth:`done` and :meth:`stalled` methods have been moved." msgstr "" -#: ../../main/robotics.rst:182 77742a3daaae49a4b1ed751acb2144d1 +#: ../../main/robotics.rst:182 cb7b74ed56f44a2282bfee613abdd703 msgid ".. image:: /blockimg/pybricks_variables_set_car.svg" msgstr "" -#: 84a2734e97c64df7b50a65fb7b862f8e of pybricks.robotics.Car:1 +#: 8c4fd7c302de4d15a538cc11ee59cd30 of pybricks.robotics.Car:1 msgid "A vehicle with one steering motor, and one or more motors for driving." msgstr "" -#: 12ae2aae1e5e498a998a81912310ad9e of pybricks.robotics.Car:3 +#: 00d523e5ec1e4e0cbbb186a9c9062890 of pybricks.robotics.Car:3 #, python-format msgid "" "When you use this class, the steering motor will automatically find the " @@ -552,25 +552,25 @@ msgid "" "steering." msgstr "" -#: 68497259d0b6470c8763aa4f131534b9 of pybricks.robotics.Car:7 +#: 2e202d3a662a4612abae4da22d13ece6 of pybricks.robotics.Car:7 msgid "The motor that steers the front wheels." msgstr "" -#: e72b7dd1ea504942935ebeefa8a274bc of pybricks.robotics.Car:9 +#: 550689a380fd41609bde35857616a1b7 of pybricks.robotics.Car:9 msgid "The motor that drives the wheels. Use a tuple for multiple motors." msgstr "" -#: 2b76a7d027434e0ab0c9586fd8582003 of pybricks.robotics.Car:12 +#: 434ffdbacbfa42baa80cbe83d922c709 of pybricks.robotics.Car:12 msgid "" "The maximum torque limit used to find the endpoints for the steering " "mechanism, as a percentage of the maximum torque of the steering motor." msgstr "" -#: ../../main/robotics.rst:189 bbf3e3b7f01543bdbc88cf61c827b43b +#: ../../main/robotics.rst:189 49b86a94acd7473182c8cebf98feddae msgid ".. image:: /blockimg/pybricks_blockCarSteer.svg" msgstr "" -#: 528ba039073f4981b6bddfd2a6e5b454 of pybricks.robotics.Car.steer:1 +#: b94bc067eb094266922de06c847931d3 of pybricks.robotics.Car.steer:1 #, python-format msgid "" "Steers the front wheels by a given amount. For 100% steering, it steers " @@ -578,115 +578,81 @@ msgid "" "steering, it steers left and 0% means straight." msgstr "" -#: dad755a7b5964406aa9e2b79c4d1be70 of pybricks.robotics.Car.steer:5 +#: 4b7118a6591f40aeb0b6c5d1739841b3 of pybricks.robotics.Car.steer:5 msgid "Amount to steer the front wheels." msgstr "" -#: ../../main/robotics.rst:193 2d9b825ff1a14f29aca00812cf8fbb93 +#: ../../main/robotics.rst:193 c73151696a3a42e894f11ad32f163459 msgid ".. image:: /blockimg/pybricks_blockCarDrive_car_drive_at_power.svg" msgstr "" -#: b0df87530a3e48c1b287892fbea70f84 of pybricks.robotics.Car.drive_power:1 +#: d912867c03d24a69a51443de78c04af3 of pybricks.robotics.Car.drive_power:1 msgid "" "Drives the car at a given power level. Positive values drive forward, " "negative values drive backward." msgstr "" -#: 5453b7401d0341d7b01bd18bd11c3967 of pybricks.robotics.Car.drive_power:4 +#: 467664f97eb34c62b411a0450453ed43 of pybricks.robotics.Car.drive_power:4 msgid "" "The ``power`` value is used to set the motor voltage as a percentage of " "the battery voltage. Below 10%, the car will coast the wheels in order to" " roll out smoothly instead of braking abruptly." msgstr "" -#: f6da0700565d4ef48ad59ca8d26f3168 of pybricks.robotics.Car.drive_power:8 +#: c2e171daaa9b47e6b994b0f31617bf21 of pybricks.robotics.Car.drive_power:8 msgid "" "This command is useful for remote control applications where you want " "instant response to button presses or joystick movements." msgstr "" -#: 32dc1f6a13894cedb3fe3d198eb9738d of pybricks.robotics.Car.drive_power:11 +#: 49f699fb5cda4321b78e632c3117f88f of pybricks.robotics.Car.drive_power:11 msgid "Speed of the car." msgstr "" -#: ../../main/robotics.rst:197 226cb15233744864aee7239ffcb5ee03 +#: ../../main/robotics.rst:197 2a20cda4d2f647ba905264a524c19df5 msgid ".. image:: /blockimg/pybricks_blockCarDrive_car_drive_at_speed.svg" msgstr "" -#: 6fd13c0ee40e4b52a6727476a9df26c3 of pybricks.robotics.Car.drive_speed:1 +#: 07a9df6fda564295bbf116eb77df89b1 of pybricks.robotics.Car.drive_speed:1 msgid "" "Drives the car at a given motor speed. Positive values drive forward, " "negative values drive backward." msgstr "" -#: 79944b74fcad4245976e8840c0f21f32 of pybricks.robotics.Car.drive_speed:4 +#: 7a4d32e410ca40b5a99f53416f086f00 of pybricks.robotics.Car.drive_speed:4 msgid "" "This command is useful for more precise driving with gentle acceleration " "and deceleration. This automatically increases the power to maintain " "speed as you drive across obstacles." msgstr "" -#: 139cdcf3a87d42d38e0a5bad7667e56c of pybricks.robotics.Car.drive_speed:8 +#: 6ed10f46a4464972a2312422f6cc2ab3 of pybricks.robotics.Car.drive_speed:8 msgid "Angular velocity of the drive motors." msgstr "" -#: ../../main/robotics.rst:202 94b635d28bf54d77ab6072d644f961db +#: ../../main/robotics.rst:202 aee8aeb8498d4bbdaa662968e05549e2 msgid "Examples" msgstr "" -#: ../../main/robotics.rst:205 0fd0ac9239824593b23325ea127e36cd +#: ../../main/robotics.rst:205 3cf068b1f4e54b878d2205ad75529c34 msgid "Driving straight and turning in place with a drive base" msgstr "" -#: ../../main/robotics.rst:207 b082076e91f84d0a878e49c71c846fff +#: ../../main/robotics.rst:207 4a42b51850b347129f59a88da8841052 msgid "This program shows the basics of driving and turning." msgstr "" -#: ../../main/robotics.rst:209 94f912b66e174a2296697449e248e3ec -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Port, Direction\n" -"from pybricks.robotics import DriveBase\n" -"\n" -"# Initialize both motors. In this example, the motor on the\n" -"# left must turn counterclockwise to make the robot go forward.\n" -"left_motor = Motor(Port.A, Direction.COUNTERCLOCKWISE)\n" -"right_motor = Motor(Port.B)\n" -"\n" -"# Initialize the drive base. In this example, the wheel diameter is 56mm." -"\n" -"# The distance between the two wheel-ground contact points is 112mm.\n" -"drive_base = DriveBase(left_motor, right_motor, wheel_diameter=56, " -"axle_track=112)\n" -"\n" -"# Optionally, uncomment the line below to use the gyro for improved " -"accuracy.\n" -"# drive_base.use_gyro(True)\n" -"\n" -"# Drive forward by 500mm (half a meter).\n" -"drive_base.straight(500)\n" -"\n" -"# Turn around clockwise by 180 degrees.\n" -"drive_base.turn(180)\n" -"\n" -"# Drive forward again to get back to the start.\n" -"drive_base.straight(500)\n" -"\n" -"# Turn around counterclockwise.\n" -"drive_base.turn(-180)\n" -msgstr "" - -#: ../../main/robotics.rst:213 eca8efe013144395b66543df1bfecb5a +#: ../../main/robotics.rst:213 98e70e359c3d4e5fb3f632943ad78887 msgid "Remote controlling a car with front wheel steering" msgstr "" -#: ../../main/robotics.rst:215 ebc412314d76458c92aaff1ec4343439 +#: ../../main/robotics.rst:215 f2e9a15f58254d04b65adeebab2a71ca msgid "" "This program shows how you can drive a car with front wheel steering " "using the :class:`remote control `." msgstr "" -#: ../../main/robotics.rst:218 c64c44d84a664e90b8133f356b20782d +#: ../../main/robotics.rst:218 9c3250b94d9c4ab39f14f54f9ef7fcd5 msgid "" "In this program, the ports match those of the `LEGO Technic 42099 Off-" "Roader `_, " @@ -695,47 +661,3 @@ msgid "" "of the motors used below." msgstr "" -#: ../../main/robotics.rst:224 2cf67151e9fb455596a142c603ada834 -msgid "" -"from pybricks.parameters import Direction, Port, Button\n" -"from pybricks.pupdevices import Motor, Remote\n" -"from pybricks.robotics import Car\n" -"from pybricks.tools import wait\n" -"\n" -"# Set up motors.\n" -"front = Motor(Port.A, Direction.COUNTERCLOCKWISE)\n" -"rear = Motor(Port.B, Direction.COUNTERCLOCKWISE)\n" -"steer = Motor(Port.C, Direction.CLOCKWISE)\n" -"\n" -"# Connect to the remote.\n" -"remote = Remote()\n" -"\n" -"# Set up the car.\n" -"car = Car(steer, [front, rear])\n" -"\n" -"# The main program starts here.\n" -"while True:\n" -" # Read remote state.\n" -" pressed = remote.buttons.pressed()\n" -"\n" -" # Steer using the left pad. Steering is the percentage\n" -" # of the angle determined while initializing.\n" -" steering = 0\n" -" if Button.LEFT_PLUS in pressed:\n" -" steering += 100\n" -" elif Button.LEFT_MINUS in pressed:\n" -" steering -= 100\n" -" car.steer(steering)\n" -"\n" -" # Drive using the right pad.\n" -" power = 0\n" -" if Button.RIGHT_PLUS in pressed:\n" -" power += 100\n" -" elif Button.RIGHT_MINUS in pressed:\n" -" power -= 100\n" -" car.drive_power(power)\n" -"\n" -" # Wait briefly.\n" -" wait(10)\n" -msgstr "" - diff --git a/doc/locales/de/LC_MESSAGES/signaltypes.po b/doc/locales/de/LC_MESSAGES/signaltypes.po index 1109ee3a..3167db82 100644 --- a/doc/locales/de/LC_MESSAGES/signaltypes.po +++ b/doc/locales/de/LC_MESSAGES/signaltypes.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,44 +19,44 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/signaltypes.rst:2 587d7cfdd23e446ca7fa27a352bca75a +#: ../../main/signaltypes.rst:2 39afce23500b4279ac6f1118dbfe0507 msgid "Signals and Units" msgstr "" -#: ../../main/signaltypes.rst:4 8627ec1faa5948f6b521c069b81fdb88 +#: ../../main/signaltypes.rst:4 50d4cd69776e453b8acedac08c166dad msgid "" "Many commands allow you to specify arguments in terms of well-known " "physical quantities. This page gives an overview of each quantity and its" " unit." msgstr "" -#: ../../main/signaltypes.rst:8 6f8d2167f04c46df8319a5b998877689 +#: ../../main/signaltypes.rst:8 d48b4d1a7afe49e395ac91ed1c47a1c5 msgid "Numbers" msgstr "" -#: ../../docstring a86489a3fb4c4e6c983280be9ce0c33a of typing.Union:5 +#: ../../docstring 3ca5daeacaf84a9a83786359da7291ac of typing.Union:5 msgid "Numbers can be represented as integers or floating point values:" msgstr "" -#: ../../docstring b712a9c5fbb54f62a6aca15c815fe8c4 of typing.Union:7 +#: ../../docstring 12c7c0fbace64670a8a6f638fb858921 of typing.Union:7 msgid "" "Integers (:class:`int `) are whole numbers like ``15`` or " "``-123``." msgstr "" -#: ../../docstring 99acf620e6184405841acb315e1e856e of typing.Union:9 +#: ../../docstring 1ba437f0623a4f2183899680c8c72c6a of typing.Union:9 msgid "" "Floating point values (:class:`float `) are decimal " "numbers like ``3.14`` or ``-123.45``." msgstr "" -#: ../../docstring 3783d89309e641f9b59f643e59697a6a of typing.Union:12 +#: ../../docstring 8099d6a791c345129b2cb355e81b98b2 of typing.Union:12 msgid "" "If you see :class:`Number` as the argument type, both :class:`int " "` and :class:`float ` may be used." msgstr "" -#: ../../docstring f1e9b00922804cf4ab77dcccc78d6fa5 of typing.Union:15 +#: ../../docstring 6addbd8ba72f4963adc691a9587c37fb of typing.Union:15 msgid "" "For example, :func:`wait(15) ` and " ":func:`wait(15.75) ` are both allowed. In most " @@ -65,81 +65,81 @@ msgid "" "15 milliseconds." msgstr "" -#: ../../docstring 443ca2e13d8d406abf9cb97c034ad8fd of typing.Union:21 +#: ../../docstring b76a14c5a1c94bc2b0d7e2ec67b648b7 of typing.Union:21 msgid "" "The BOOST Move hub doesn't support floating point numbers due to limited " "system resources. Only integers can be used on that hub." msgstr "" -#: ../../main/signaltypes.rst:14 906375da852e4136a34f49b19d7a71f1 +#: ../../main/signaltypes.rst:14 5504374807ad498ea5ef52d6eb81653a msgid "Time" msgstr "" -#: ../../main/signaltypes.rst:19 e97b8e753c1440cfb2f1d79201566b6f +#: ../../main/signaltypes.rst:19 fab27d0d413148d8b60158fa17173015 msgid "time: ms" msgstr "" -#: ../../main/signaltypes.rst:20 28a7e5c7e5fb44e8952e97713aa526df +#: ../../main/signaltypes.rst:20 9efe9f68d5c448dbab40bde0699d5168 msgid "All time and duration values are measured in milliseconds (ms)." msgstr "" -#: ../../main/signaltypes.rst:22 e46d05e9a7844f5ca397989f510531b5 +#: ../../main/signaltypes.rst:22 d103b6914989401fb1afd4a57d43c347 msgid "" "For example, the duration of motion with ``run_time``, and the duration " "of :func:`wait <.tools.wait>` are specified in milliseconds." msgstr "" -#: ../../main/signaltypes.rst:27 68acdcc5f43840b99e1a50a37db7dddd +#: ../../main/signaltypes.rst:27 65dfff952ec94dbcac040e3f450e5647 msgid "Angles and angular motion" msgstr "" -#: ../../main/signaltypes.rst:32 40f944a5071b485ab7e917e03f3c617f +#: ../../main/signaltypes.rst:32 42e92910c54b4100b2a50d0e0d841448 msgid "angle: deg" msgstr "" -#: ../../main/signaltypes.rst:34 6da89456b13b4a7486953d9d610bf33c +#: ../../main/signaltypes.rst:34 8492e9b60ffb461894f09e1b8530b917 msgid "" "All angles are measured in degrees (deg). One full rotation corresponds " "to 360 degrees." msgstr "" -#: ../../main/signaltypes.rst:37 47123da1d45643918585d11015121d2c +#: ../../main/signaltypes.rst:37 4eb72a19389f4931acb1a5953c079b4b msgid "" "For example, the angle values of a ``Motor`` or the ``GyroSensor`` are " "expressed in degrees." msgstr "" -#: ../../main/signaltypes.rst:43 cba94fa8701742358d0cf171b7f003ec +#: ../../main/signaltypes.rst:43 f7191f49abd742518a387f6a22ba1e3e msgid "rotational speed: deg/s" msgstr "" -#: ../../main/signaltypes.rst:45 32c38ce7c5ef4743987b9dc56bc7e9c2 +#: ../../main/signaltypes.rst:45 f51e48d862c2489db30027c8e9b01593 msgid "" "Rotational speed, or *angular velocity* describes how fast something " "rotates, expressed as the number of degrees per second (deg/s)." msgstr "" -#: ../../main/signaltypes.rst:48 d28fc9afcaa040fcb28ba3bf58c47441 +#: ../../main/signaltypes.rst:48 1029f0d942934a1cb730d1775498251c msgid "" "For example, the rotational speed values of a ``Motor`` or the " "``GyroSensor`` are expressed in degrees per second." msgstr "" -#: ../../main/signaltypes.rst:52 c2c6d80225df41b69e48b258038029a0 +#: ../../main/signaltypes.rst:52 4f2158876c10487581a8bcb538ac1d5b msgid "" "While we recommend working with degrees per second in your programs, you " "can use the following table to convert between commonly used units." msgstr "" -#: ../../main/signaltypes.rst:56 8ac0a08a0e9342348220cfc2cbfe3444 +#: ../../main/signaltypes.rst:56 f0e13330d2a14dc7968e426669e3f01b msgid "deg/s" msgstr "" -#: ../../main/signaltypes.rst:56 a8314dcf20c54b369dd3f66771317164 +#: ../../main/signaltypes.rst:56 6ca66aceb1dd40b2a8f45d390e5004fe msgid "rpm" msgstr "" -#: ../../main/signaltypes.rst:58 be317824bd7b447fba6573b12a40c7f3 +#: ../../main/signaltypes.rst:58 ccc3c01e73ff49b8b12069ae18ca6632 msgid "1 deg/s =" msgstr "" @@ -147,30 +147,30 @@ msgstr "" #: ../../main/signaltypes.rst:96 ../../main/signaltypes.rst:98 #: ../../main/signaltypes.rst:100 ../../main/signaltypes.rst:187 #: ../../main/signaltypes.rst:189 ../../main/signaltypes.rst:191 -#: 3b02baab6d9c493cac3a4168b8ae2b54 47e61a1f2f1b43d7aaaa188df91a503e -#: 75e1c126e82542249cf6f37014838ce3 7a7d64a7ec754a0bbf83f7fefeaa8a89 -#: 9a7397026cce4bfc8f9e94f29e836869 a6a55b02dd9f4f97b1842da40d0f1926 -#: c5f7ff0dac6849328d30c4602e90da9d df3aa0b065bd46aaa24138964463bdba +#: 123f3dd4298d4791bded142c5e5f0882 6ef83f93d32c44f1b9d31e101e24ecc5 +#: 9132414b2de5455e8525f5f727f6bd5e c9ad17292dcd477d9a3aa5e4bfdb88c0 +#: d797bc72ae4a482991a9a7b43752fcb1 e21759de69bf47e48012a255a0b9d7b4 +#: efbe8b1d18214eff9277edb077304e72 fe8a506c4f93442aae0b93ccdc61765f msgid "1" msgstr "" -#: ../../main/signaltypes.rst:58 55928614c3244f50b57327d774dad0ee +#: ../../main/signaltypes.rst:58 4fd0d65cab8943f19acaf602f2d8ad7c msgid "1/6=0.167" msgstr "" -#: ../../main/signaltypes.rst:60 75978d0aa6ed4c2b94e0e6b9c1d2894c +#: ../../main/signaltypes.rst:60 41936691287c4e28bc0d33855a0a8a38 msgid "1 rpm =" msgstr "" -#: ../../main/signaltypes.rst:60 c2f60d85baad4a7787c0927666731465 +#: ../../main/signaltypes.rst:60 49100032016d4b1d8e655ed280838a15 msgid "6" msgstr "" -#: ../../main/signaltypes.rst:66 03a3966ff4764015bc64cebf4447b736 +#: ../../main/signaltypes.rst:66 8ce7c59d578c41c6b4b799d246aee173 msgid "rotational acceleration: deg/s²" msgstr "" -#: ../../main/signaltypes.rst:68 f3ce0e7b607c45bd8d9c9e2605b7980c +#: ../../main/signaltypes.rst:68 fa88d6c2c89745ca9db35981a24602a0 msgid "" "Rotational acceleration, or *angular acceleration* describes how fast the" " rotational speed changes. This is expressed as the change of the number " @@ -178,170 +178,170 @@ msgid "" "written as :math:`deg/s^2`." msgstr "" -#: ../../main/signaltypes.rst:73 55975ff30b52412d9509cbb9c67829f6 +#: ../../main/signaltypes.rst:73 52c394b141464c3f913a1f8bbdc960f6 msgid "" "For example, you can adjust the rotational acceleration setting of a " "``Motor`` to change how smoothly or how quickly it reaches the constant " "speed set point." msgstr "" -#: ../../main/signaltypes.rst:79 48272d3b9ecc407dbc0eef731199327f +#: ../../main/signaltypes.rst:79 42a3a8cc9a344504a30d82a7f655e115 msgid "Distance and linear motion" msgstr "" -#: ../../main/signaltypes.rst:84 106dc62608824c158f4c6deb54f8b61c +#: ../../main/signaltypes.rst:84 8e791ea67bc04f1a89f8a1e1acb40104 msgid "distance: mm" msgstr "" -#: ../../main/signaltypes.rst:85 865c1486aca741c99d278b7d14fe1beb +#: ../../main/signaltypes.rst:85 beb36c4f996c43daa1409b41b4847ec1 msgid "Distances are expressed in millimeters (mm) whenever possible." msgstr "" -#: ../../main/signaltypes.rst:87 3c1c3cadb48d4ddd96ff2c32c482e504 +#: ../../main/signaltypes.rst:87 3fc2e6356dcc48c1b71431b2f388a783 msgid "" "For example, the distance value of the ``UltrasonicSensor`` is measured " "in millimeters." msgstr "" -#: ../../main/signaltypes.rst:90 4648f888dcbd4beba60506a45db5eb32 +#: ../../main/signaltypes.rst:90 dccf08b9eb07442c8efc645b14b8e82e msgid "" "While we recommend working with millimeters in your programs, you can use" " the following table to convert between commonly used units." msgstr "" -#: ../../main/signaltypes.rst:94 c217617087294fa7befd71c4cf1393f9 +#: ../../main/signaltypes.rst:94 161e2f6d311b44b9b1b9d139ff2a61fd msgid "mm" msgstr "" -#: ../../main/signaltypes.rst:94 328b2eca09714f6fb6e693e48d9927b8 +#: ../../main/signaltypes.rst:94 184e592c0a18434aaea8323de7a533b5 msgid "cm" msgstr "" -#: ../../main/signaltypes.rst:94 863d8e92cf5b4528afb07cb86b3d0eea +#: ../../main/signaltypes.rst:94 dbb1c9bc8a784b50993c1c19eb6f4c2b msgid "inch" msgstr "" -#: ../../main/signaltypes.rst:96 eb9dffe282f74429a2334da720576c6b +#: ../../main/signaltypes.rst:96 75d7750d5b2e46f5ac02c11742e98bed msgid "1 mm =" msgstr "" -#: ../../main/signaltypes.rst:96 dc4878df858d4b7f9834ff9817305bd5 +#: ../../main/signaltypes.rst:96 e45fe4e809d243ca94b9d7ae84c9ae23 msgid "0.1" msgstr "" -#: ../../main/signaltypes.rst:96 9dfb9b843e254823912b8e4256c4b8b0 +#: ../../main/signaltypes.rst:96 d78c729318a34b87804d517555a702a8 msgid "0.0394" msgstr "" -#: ../../main/signaltypes.rst:98 681ec4e47e0543b08b167cc2aeea1b4a +#: ../../main/signaltypes.rst:98 f867a03af1e1469d80abea8f19d0ced5 msgid "1 cm =" msgstr "" -#: ../../main/signaltypes.rst:98 91e6c95fb7e649e1b7cd3800b8695a9d +#: ../../main/signaltypes.rst:98 4dbc6f0e528447668d59a6e3eef535d9 msgid "10" msgstr "" -#: ../../main/signaltypes.rst:98 34d7676b66294997b20e7bbf5a019c90 +#: ../../main/signaltypes.rst:98 6abd6bc3d65945aa9f88edd17900f9eb msgid "0.394" msgstr "" -#: ../../main/signaltypes.rst:100 b00c126b02ec4cf694b6ddda3ed11c25 +#: ../../main/signaltypes.rst:100 5726abe2ffab4f5b98e53c7c7bd10a90 msgid "1 inch =" msgstr "" -#: ../../main/signaltypes.rst:100 40b16238220d412690b1b1e3bd8f3685 +#: ../../main/signaltypes.rst:100 7fb0d1bdae2843e292f079a526a80e86 msgid "25.4" msgstr "" -#: ../../main/signaltypes.rst:100 20840d29626c49e8918206e90ea9be49 +#: ../../main/signaltypes.rst:100 c048a1cc48a84102bfe794692b81ff1b msgid "2.54" msgstr "" -#: ../../main/signaltypes.rst:106 465d8e6aec354159992d5098877c75b5 +#: ../../main/signaltypes.rst:106 e6f4f0551b184df3bb1af64153a270fc msgid "dimension: mm" msgstr "" -#: ../../main/signaltypes.rst:108 f94667f7e0a641b497ad88da6f08e8bf +#: ../../main/signaltypes.rst:108 261c0d731a7146fc9dc915280ac32227 msgid "Dimensions are expressed in millimeters (mm), just like distances." msgstr "" -#: ../../main/signaltypes.rst:111 767caebc2ebf4fe498eca87fdb534cb1 +#: ../../main/signaltypes.rst:111 968e9e7c1d224004b89e5e2ae035ebb9 msgid "For example, the diameter of a wheel is measured in millimeters." msgstr "" -#: ../../main/signaltypes.rst:116 3a78f3aed7044436b9d1ff83872cceed +#: ../../main/signaltypes.rst:116 1437bb9922844d618d65d64f0e73ac6d msgid "speed: mm/s" msgstr "" -#: ../../main/signaltypes.rst:117 bbc2cf112fc84ca4b56636dd338d70b2 +#: ../../main/signaltypes.rst:117 c72c642e96574aa1b1ae9aa97ab8427c msgid "Linear speeds are expressed as millimeters per second (mm/s)." msgstr "" -#: ../../main/signaltypes.rst:119 1467b2326bcf41b9b333ba52a3b90c03 +#: ../../main/signaltypes.rst:119 7a493f8fa4074313b10089f78413862a msgid "For example, the speed of a robotic vehicle is expressed in mm/s." msgstr "" -#: ../../main/signaltypes.rst:124 f7418689a7f041d38c3b4fa081a7f5fc +#: ../../main/signaltypes.rst:124 f7911d0927d84360a419457114e1fe2d msgid "linear acceleration: mm/s²" msgstr "" -#: ../../main/signaltypes.rst:126 16009641dbe24ca0ba864e4c8f7d9e38 +#: ../../main/signaltypes.rst:126 3a2714c6d205426f92b3e3aba3b1d598 msgid "" "Linear acceleration describes how fast the speed changes. This is " "expressed as the change of the millimeters per second, during one second " "(mm/s²). This is also commonly written as :math:`mm/s^2`." msgstr "" -#: ../../main/signaltypes.rst:130 209530dbac894f2eb430d082f4c0d24d +#: ../../main/signaltypes.rst:130 4d7bc5f6f8084c8396aad02e1df3dada msgid "" "For example, you can adjust the acceleration setting of a " ":class:`DriveBase <.robotics.DriveBase>` to change how smoothly or how " "quickly it reaches the constant speed set point." msgstr "" -#: ../../main/signaltypes.rst:135 cf98e3e263f44cd7bfb9e6b785a773cc +#: ../../main/signaltypes.rst:135 2447f3e9057e44a0b7e2608813eda296 msgid "Approximate and relative units" msgstr "" -#: ../../main/signaltypes.rst:140 84eb39ebd7574387aa34bf5fb61d7cbf +#: ../../main/signaltypes.rst:140 639e07963685498fb9fd5838660f65bc msgid "percentage: %" msgstr "" -#: ../../main/signaltypes.rst:142 44221bacd2334e1ea32b60c989967a3e +#: ../../main/signaltypes.rst:142 c20388b7c5554977a2b62253e787cab6 msgid "" "Some signals do not have specific units. They range from a minimum (0%) " "to a maximum (100%). Specifics type of percentages are :ref:`relative " "distances ` or :ref:`brightness `." msgstr "" -#: ../../main/signaltypes.rst:146 2c5b9c4d674f4716a9e87c2ed7c37f7a +#: ../../main/signaltypes.rst:146 fb193a13ba8d46b7b0be30d831911db3 msgid "" "Another example is the sound volume, which ranges from 0% (silent) to " "100% (loudest)." msgstr "" -#: ../../main/signaltypes.rst:152 6b9cba9d63dd49528d4e2f422e144aaa +#: ../../main/signaltypes.rst:152 fe33f88597534695b03fa71f1138bd24 msgid "relative distance: %" msgstr "" -#: ../../main/signaltypes.rst:154 aad23d7a5cae47c7b8d80f62b7603d28 +#: ../../main/signaltypes.rst:154 a05d4f00b3bc46a7827823d0a47f4e37 msgid "" "Some distance measurements do not provide an accurate value with a " "specific unit, but they range from very close (0%) to very far (100%). " "These are referred to as relative distances." msgstr "" -#: ../../main/signaltypes.rst:158 c6251f2804744560af17b8868a4a28d8 +#: ../../main/signaltypes.rst:158 ebdac81672f64fab8b2b049c3e3ed608 msgid "" "For example, the distance value of the ``InfraredSensor`` is a relative " "distance." msgstr "" -#: ../../main/signaltypes.rst:165 9cd4cf361c67455b832633c501e69635 +#: ../../main/signaltypes.rst:165 47f54a078a5d4a0b972592c37fb7052b msgid "brightness: %" msgstr "" -#: ../../main/signaltypes.rst:167 549edd75b4bf4deb8417a0ea7a74e01f +#: ../../main/signaltypes.rst:167 a644a2ce832740b29e3a7c2a0f0acac7 msgid "" "The perceived brightness of a light is expressed as a percentage. It is " "0% when the light is off and 100% when the light is fully on. When you " @@ -349,194 +349,194 @@ msgid "" "as bright to the human eye." msgstr "" -#: ../../main/signaltypes.rst:173 efeeb8a7e93547f996c80a118cbb80d2 +#: ../../main/signaltypes.rst:173 9656b5cae66e48f1b823972f0d91efe6 msgid "Force and torque" msgstr "" -#: ../../main/signaltypes.rst:178 52ffc8334afa4460b918d74f7623ba54 +#: ../../main/signaltypes.rst:178 1feff4ceb2c147849767f6c9b10c77bd msgid "force: N" msgstr "" -#: ../../main/signaltypes.rst:179 7f829275306641dda80d5aae19b54fb5 +#: ../../main/signaltypes.rst:179 f9b450d8a7614fa6af34218b95fcbacb msgid "Force values are expressed in newtons (N)." msgstr "" -#: ../../main/signaltypes.rst:181 d16517491a6f46409b20636b73332f00 +#: ../../main/signaltypes.rst:181 fd938d70561f46fa9c21436685ea2478 msgid "" "While we recommend working with newtons in your programs, you can use the" " following table to convert to and from other units." msgstr "" -#: ../../main/signaltypes.rst:185 40c8fc9876eb4d038ec5d9e294c8836f +#: ../../main/signaltypes.rst:185 de090fd2a7324bfc930041a5ffbac88b msgid "mN" msgstr "" -#: ../../main/signaltypes.rst:185 3caa29df064f423dac9c32cb43468b82 +#: ../../main/signaltypes.rst:185 9fedec9576af43cba8ff58df03a58fc2 msgid "N" msgstr "" -#: ../../main/signaltypes.rst:185 2f234ee7eee3493caa1fdfce923a348f +#: ../../main/signaltypes.rst:185 ca755f6efd9f49e38c8a849e8b9b0163 msgid "lbf" msgstr "" -#: ../../main/signaltypes.rst:187 7a6897e4bcdf401697f209466b8b8138 +#: ../../main/signaltypes.rst:187 c29d65634e614233a42e7ce56feec0ae msgid "1 mN =" msgstr "" -#: ../../main/signaltypes.rst:187 7db924906ffc40ada35df824ff3563a7 +#: ../../main/signaltypes.rst:187 ad7b288492af42829a5b8c05368b0708 msgid "0.001" msgstr "" -#: ../../main/signaltypes.rst:187 a1a335bc8f8440398a4278ab33a89dc1 +#: ../../main/signaltypes.rst:187 65c8ba8f363340b996995814c8beab60 msgid ":math:`2.248 \\cdot 10^{-4}`" msgstr "" -#: ../../main/signaltypes.rst:189 09a9fbb4b08c47ea8d5af184e7a67483 +#: ../../main/signaltypes.rst:189 fa58293c2bb24963abf9acf30290af2d msgid "1 N =" msgstr "" -#: ../../main/signaltypes.rst:189 d60da45eb581435abfed9a680232db1f +#: ../../main/signaltypes.rst:189 248d40f2820f48f888df2c52549f1b3a msgid "1000" msgstr "" -#: ../../main/signaltypes.rst:189 682bfdce46c04862b7e6815377df067a +#: ../../main/signaltypes.rst:189 4904ce3ae1044501b7418979a0543560 msgid "0.2248" msgstr "" -#: ../../main/signaltypes.rst:191 2dabe17640ba44879a4e56109b2f782c +#: ../../main/signaltypes.rst:191 236f94cd09e54bd18ad5413a7df73b8f msgid "1 lbf =" msgstr "" -#: ../../main/signaltypes.rst:191 6733343834e5461bb195f9880dc2a413 +#: ../../main/signaltypes.rst:191 1e023257cc094684834eff1c7102ae17 msgid "4448" msgstr "" -#: ../../main/signaltypes.rst:191 e25c71346c8a4cd5bec0a20863f50b20 +#: ../../main/signaltypes.rst:191 2709684993e44b89b0e534ca7c779677 msgid "4.448" msgstr "" -#: ../../main/signaltypes.rst:197 32dc04268d984d119bf1272dabb2ae70 +#: ../../main/signaltypes.rst:197 abec5af396434c9197f2e421d02fd6a4 msgid "torque: mNm" msgstr "" -#: ../../main/signaltypes.rst:198 cdb6bac3038b44b183a76bb8a1253bbd +#: ../../main/signaltypes.rst:198 f70eb5af78a747ecbc2aed4b2bc6b52a msgid "" "Torque values are expressed in millinewtonmeter (mNm) unless stated " "otherwise." msgstr "" -#: ../../main/signaltypes.rst:201 5a97db5fab6941f488bf4b61e77942c3 +#: ../../main/signaltypes.rst:201 7fbf56c28b61495aa5fcb0563db519ec msgid "Electricity" msgstr "" -#: ../../main/signaltypes.rst:206 d027352ab6fe4ec583a2c715314100a0 +#: ../../main/signaltypes.rst:206 66e1de87d09e49428af63cdae81cebd0 msgid "voltage: mV" msgstr "" -#: ../../main/signaltypes.rst:207 ceb948e4909e44298b44b9f2c5f85c36 +#: ../../main/signaltypes.rst:207 10a39af84d69416a9f2ef5a6cc068df0 msgid "Voltages are expressed in millivolt (mV)." msgstr "" -#: ../../main/signaltypes.rst:209 f18ca0b611dc44c997ce38aed0d80f3e +#: ../../main/signaltypes.rst:209 b12fe9f4059f409bafdd8f4b5df7b439 msgid "For example, you can check the voltage of the battery." msgstr "" -#: ../../main/signaltypes.rst:214 01eb19fffddb4f179e7391e1f05cf650 +#: ../../main/signaltypes.rst:214 d9100d58f7dd42a8b75181cede70469e msgid "current: mA" msgstr "" -#: ../../main/signaltypes.rst:216 26cd1d24ef6f458db159f40efbe52f96 +#: ../../main/signaltypes.rst:216 e321f4329c6340b6ae43f69d28add200 msgid "Electrical currents are expressed in milliampere (mA)." msgstr "" -#: ../../main/signaltypes.rst:218 aee6bd0e958146fbaea4f790d53ee119 +#: ../../main/signaltypes.rst:218 bb48fedd4d4d42ec85b62581bf7e4319 msgid "For example, you can check the current supplied by the battery." msgstr "" -#: ../../main/signaltypes.rst:223 c49c10a67ed546e985d636d054372ea7 +#: ../../main/signaltypes.rst:223 76ae6d7d9a5441ee9ac9af073cca7a8f msgid "energy: J" msgstr "" -#: ../../main/signaltypes.rst:225 710dc6ce8b34452bbe903c1383613eb2 +#: ../../main/signaltypes.rst:225 516d828d376c45dd97bb959dc971e102 msgid "Stored energy or energy consumption can be expressed in Joules (J)." msgstr "" -#: ../../main/signaltypes.rst:230 d2efb6a3436a4950b9cb65fc9bce4682 +#: ../../main/signaltypes.rst:230 03f051f51228465cb6164f4b76a896a3 msgid "power: mW" msgstr "" -#: ../../main/signaltypes.rst:232 585b2c6912f34cf69199f11b840ae3e4 +#: ../../main/signaltypes.rst:232 2ddedb357cea4e5fa8847e0e2c72d2ae msgid "" "Power is the rate at which energy is stored or consumed. It is expressed " "in milliwatt (mW)." msgstr "" -#: ../../main/signaltypes.rst:236 d9801e0467ca4d7ea1b3392d1d5af929 +#: ../../main/signaltypes.rst:236 2f8b159eb71d49ce982f6dc76fe40f9d msgid "Ambient environment" msgstr "" -#: ../../main/signaltypes.rst:241 7e37d4257aec4d43980c132f2474e7ca +#: ../../main/signaltypes.rst:241 26ca18e75c094cbf8d5ca2ed9075b9a7 msgid "frequency: Hz" msgstr "" -#: ../../main/signaltypes.rst:242 d1a252b83c2f4c60b2f27c827a9381bd +#: ../../main/signaltypes.rst:242 ec815c3375284a06beb9d0dffaaf8f42 msgid "Sound frequencies are expressed in Hertz (Hz)." msgstr "" -#: ../../main/signaltypes.rst:244 ff4761be45244d5a859a58fe0491f5e7 +#: ../../main/signaltypes.rst:244 e17cff52325248019db35e0834baec22 msgid "For example, you can choose the frequency of a beep to change the pitch." msgstr "" -#: ../../main/signaltypes.rst:249 915ba54483f7412d9bd53a40d6db35a6 +#: ../../main/signaltypes.rst:249 07742c2afacd45f8953b8115267d4703 msgid "temperature: °C" msgstr "" -#: ../../main/signaltypes.rst:251 89b93b1da3074043a122768126c02f5b +#: ../../main/signaltypes.rst:251 9cf81a21fa8f433c90d5da97b30150c2 msgid "" "Temperature is measured in degrees Celsius (°C). To convert to degrees " "Fahrenheit (°F) or Kelvin (K), you can use the following conversion " "formulas:" msgstr "" -#: ../../main/signaltypes.rst:254 dca891b749fd4b36bf5d124aadffb6b3 +#: ../../main/signaltypes.rst:254 0bcd924a2e8540b695d0b002a183ecd1 msgid "" ":math:`^{\\circ}\\kern1pt\\!F =\\kern1pt^{\\circ}\\kern1pt\\!C \\cdot " "\\frac{9}{5} + 32`." msgstr "" -#: ../../main/signaltypes.rst:256 388d75300e004bf0977f0943bdc5a40b +#: ../../main/signaltypes.rst:256 9805b6d520ab47ebba6a1328cab2fee2 msgid ":math:`K =\\kern1pt^{\\circ}\\kern1pt\\!C + 273.15`." msgstr "" -#: ../../main/signaltypes.rst:261 b4bf839d7ddc4f07a0e93e504b3b0eb5 +#: ../../main/signaltypes.rst:261 899defa0a4d54a3b8162fd0a16c9ba3a msgid "hue: deg" msgstr "" -#: ../../main/signaltypes.rst:262 0d63595901744fad8528d2ad28402604 +#: ../../main/signaltypes.rst:262 3fd85171c47b42e0a433120ef2af3925 msgid "Hue of a color (0-359 degrees)." msgstr "" -#: ../../main/signaltypes.rst:267 ab1e848f38804d9392026d30fb69974a +#: ../../main/signaltypes.rst:267 c43c0f57f952438e885cc2133ac89e39 msgid "Reference frames" msgstr "" -#: ../../main/signaltypes.rst:269 440af53730494cdfbfe4081cb0cf4edb +#: ../../main/signaltypes.rst:269 dd5d5dd6cbd04853904c13f29ce4dfa1 msgid "The Pybricks module and this documentation use the following conventions:" msgstr "" -#: ../../main/signaltypes.rst:271 1b5b7cc4d3c34fbba2c5fa55ef091d7c +#: ../../main/signaltypes.rst:271 a8ced0a2ce984e6ca846c42100c59820 msgid "X: Positive means forward. Negative means backward." msgstr "" -#: ../../main/signaltypes.rst:272 e61e1ebded54446696a4084aae689f28 +#: ../../main/signaltypes.rst:272 099c458175ca4e20aef51a8e50b5559b msgid "Y: Positive means to the left. Negative means to the right." msgstr "" -#: ../../main/signaltypes.rst:273 1cf496c58a9a4c838a875720c9fe513a +#: ../../main/signaltypes.rst:273 a8a6f0caead94796a99d5cf7e865a83f msgid "Z: Positive means upward. Negative means downward." msgstr "" -#: ../../main/signaltypes.rst:275 83797145165847979f148b37e48efe5f +#: ../../main/signaltypes.rst:275 c2c280952afa45e381a3bee7c4cdb862 msgid "" "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 " @@ -544,7 +544,7 @@ msgid "" " *robot* is moving, rather than how the *hub* is moving." msgstr "" -#: ../../main/signaltypes.rst:280 048cf888c68f4740b994987a43b08ee3 +#: ../../main/signaltypes.rst:280 b452aeb383624331b844eabaef6dc454 msgid "" "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 " @@ -553,11 +553,11 @@ msgid "" " forward, even though the *hub* accelerates backward." msgstr "" -#: ../../main/signaltypes.rst:288 2c27a8227fd548d3940b0f497c931209 +#: ../../main/signaltypes.rst:288 659036cd77aa4357a6ec27e9756e1c3a msgid ".. image:: ../main/diagrams/imuexamples.png" msgstr "" -#: ../../main/signaltypes.rst:291 86db91be1d164843bcd1cc5a6d3b8ce0 +#: ../../main/signaltypes.rst:291 3e34f0c8fba94513bf1ac490e88cfb79 msgid "" "How to configure the ``top_side`` and ``front_side`` settings for three " "different robot designs. The same technique can be applied to other hubs " diff --git a/doc/locales/de/LC_MESSAGES/tools/index.po b/doc/locales/de/LC_MESSAGES/tools/index.po index 920743fa..be12dba5 100644 --- a/doc/locales/de/LC_MESSAGES/tools/index.po +++ b/doc/locales/de/LC_MESSAGES/tools/index.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pybricks v3.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-26 20:11+0100\n" +"POT-Creation-Date: 2025-01-30 22:50+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: de\n" @@ -19,140 +19,140 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/tools/index.rst:4 eaa2de9007d94e2db587e4adac4d05fd +#: ../../main/tools/index.rst:4 ea11f5279c044df29d6bd00a3b18af5e msgid ":mod:`tools ` -- General purpose tools" msgstr "" -#: 3510ef17238e45d5b65bc34528afe878 of pybricks.tools:1 +#: 40463f2f7ecc4e5ea8cd4f0a85612465 of pybricks.tools:1 msgid "Common tools for timing, data logging, and linear algebra." msgstr "" -#: ../../main/tools/index.rst:10 4cacc297b62a4122827f648db19ff575 +#: ../../main/tools/index.rst:10 737ab92c563b488298a54116155d4c4c msgid "Timing tools" msgstr "" -#: ../../main/tools/index.rst:12 1f6822001173405ba3fd97e7a7e152e3 +#: ../../main/tools/index.rst:12 5b7f3d9a4aa44effb9a1a4e6bdc30b53 msgid ".. image:: /blockimg/pybricks_blockWaitTime.svg" msgstr "" -#: 6b674cf0405f41e6a7fb1cb53fc54693 of pybricks.tools.wait:1 +#: 5dc81770bdce4e1f83a0cd6fabdbda11 of pybricks.tools.wait:1 msgid "Pauses the user program for a specified amount of time." msgstr "" -#: ../../main/tools/index.rst 072e0454d8d9438cbe9c18ee5861743d -#: 322393eca42849618670e47e88df8e80 640aa8eb8b854d6fa9607c9d3b4d9835 -#: 91e5ee034a3544a1a699be180e7b35ea 9fd8a972d4e640b7bb60e6561f9fa078 -#: d8a797283bad4b6090bf3171369144c7 d8e527f42f1d429fab1f7df555b0cc51 -#: e62871530ed047cdae8982228eeb9cc1 +#: ../../main/tools/index.rst 012f3145303648e7910d4baba0bc319a +#: 115ee8887fed4affa0703dee8f42225a 768f6fb5ea8b498aa3eb40f0c0d679bb +#: 82c73b17851a427d8c031013643b3cc8 8df641e68974492d88f508a6a0ac87ec +#: e2995888888743fea6790c1279a6ced0 e424d2cebfe04e6cab14cd8502f00a29 +#: f270725f602844cfac3f472f6f08dda1 msgid "Parameters" msgstr "" -#: 0ef1b82ac0b24d87baeafcdf576f8813 of pybricks.tools.wait:3 +#: 1049e9505ad948e8907ca039b44c6843 of pybricks.tools.wait:3 msgid "How long to wait." msgstr "" -#: ../../main/tools/index.rst:16 c29203e5e9b84d0996b4e91ba4b258db +#: ../../main/tools/index.rst:16 7f8e8916b2ca4c0580a75b884d2953a0 msgid ".. image:: /blockimg/pybricks_variables_set_stopwatch.svg" msgstr "" -#: 316f5942284d44439653f62d31d1cc9c of pybricks.tools.StopWatch:1 +#: 0a54663e633c4c789fd1132fba94b976 of pybricks.tools.StopWatch:1 msgid "" "A stopwatch to measure time intervals. Similar to the stopwatch feature " "on your phone." msgstr "" -#: ../../main/tools/index.rst:21 459b026449fb48238ec315bde4e24de1 +#: ../../main/tools/index.rst:21 c5c4ba315306451db6bbe06cde16f2eb msgid ".. image:: /blockimg/pybricks_blockStopWatchTime.svg" msgstr "" -#: e1e6e487bf6a425fb4846d3c9b19d233 of pybricks.tools.StopWatch.time:1 +#: 318866d0af24481bb49d6f7a1a411155 of pybricks.tools.StopWatch.time:1 msgid "Gets the current time of the stopwatch." msgstr "" -#: ../../main/tools/index.rst 2af5519ab3464471860a290c4a00e99a -#: 31192f9e1e824418b4b3469e4788b4c8 329a361ac238442e96f5540f768fd637 -#: 5cc1f8b3f95e4a0e8efcf91024ea21c6 6c0654c3a1e342518eb4a36382940e3c -#: 9b82e6129121476e954360dd66e35798 a4c48e9f4cd745f39673e45f7c495b57 +#: ../../main/tools/index.rst 0def3070679e4c9286e540cb78acef5c +#: 1f0293af7cc64e65a6e5ba984287d3b6 2f823316276a4f68a99e68bb86953046 +#: 65b639b2a16d4972900d5721effd47e6 6879a54cd8f64e73915008f64a0f4c46 +#: 96a6f73a0b9540558374a1bd09a01e29 b31b688ba8fb4d7fac964f377ceafd09 msgid "Returns" msgstr "" -#: 790af270b58e4c0ab4fcb243478c3ed3 of pybricks.tools.StopWatch.time:3 +#: 58046d8ebce448668c9d0b52f9bb48d0 of pybricks.tools.StopWatch.time:3 msgid "Elapsed time." msgstr "" -#: ../../main/tools/index.rst:25 7dbc19c543fb41898728f7332d2baae3 +#: ../../main/tools/index.rst:25 afa5e634fa724621a8628d9295ddf7c9 msgid ".. image:: /blockimg/pybricks_blockStopWatchDo_StopWatch_pause.svg" msgstr "" -#: 50b34f2bfb0345d6b71cddb455be3e55 of pybricks.tools.StopWatch.pause:1 +#: 3ceb4da02c6240f2b2b41d81e7a6d6da of pybricks.tools.StopWatch.pause:1 msgid "Pauses the stopwatch." msgstr "" -#: ../../main/tools/index.rst:29 7462bc658706426591dd2621f2504383 +#: ../../main/tools/index.rst:29 19bb29d1e13048c98ac3d9f80e9dcabb msgid ".. image:: /blockimg/pybricks_blockStopWatchDo_StopWatch_resume.svg" msgstr "" -#: b06bb6b0555644d79ba468e04f597a98 of pybricks.tools.StopWatch.resume:1 +#: 1082a8138ea5474ba4ca7adbc3abcb35 of pybricks.tools.StopWatch.resume:1 msgid "Resumes the stopwatch." msgstr "" -#: ../../main/tools/index.rst:33 b32ec8e3810f4fec92edfcb7ddaf612d +#: ../../main/tools/index.rst:33 d19fb4e0d0af44d4b0a3a33e4dfb2d8a msgid ".. image:: /blockimg/pybricks_blockStopWatchDo_StopWatch_reset.svg" msgstr "" -#: df6bfbfce1d3441d8d1432900a412dd0 of pybricks.tools.StopWatch.reset:1 +#: 5f3f149a178643e08cfd0a23617fd38f of pybricks.tools.StopWatch.reset:1 msgid "Resets the stopwatch time to 0." msgstr "" -#: 87498a510b134d1089b3b7f45c1c12fe of pybricks.tools.StopWatch.reset:3 +#: 67060a8acbe14f38b9cb18ede59e88d6 of pybricks.tools.StopWatch.reset:3 msgid "The run state is unaffected:" msgstr "" -#: 8b23224a9b60408198e39e72fccbd2d7 of pybricks.tools.StopWatch.reset:5 +#: 819428df598240f290a62c345b8cc024 of pybricks.tools.StopWatch.reset:5 msgid "If it was paused, it stays paused (but now at 0)." msgstr "" -#: 79ac0c492610443e8c5650f1253e40fa of pybricks.tools.StopWatch.reset:6 +#: 569bec92f4674c1eb516124410e57d4b of pybricks.tools.StopWatch.reset:6 msgid "If it was running, it stays running (but starting again from 0)." msgstr "" -#: ../../main/tools/index.rst:38 27681e8c60d64b2aa8a30d3f852d5af8 +#: ../../main/tools/index.rst:38 5d3630ceac75457fa4861a5101be3d5b msgid "Input tools" msgstr "" -#: ../../main/tools/index.rst:40 e458cc529c224dd2a32af7587f529d33 +#: ../../main/tools/index.rst:40 276424e6f2f144cb826ceecf43533754 msgid ".. image:: /blockimg/pybricks_blockReadInput_read_input_first_byte.svg" msgstr "" -#: ../../main/tools/index.rst:42 62d3ed5fac45400ebd9dff12b41dcbb5 +#: ../../main/tools/index.rst:42 a9322da92db34227ac6bec58cf1f16e2 msgid ".. image:: /blockimg/pybricks_blockReadInput_read_input_first_char.svg" msgstr "" -#: ../../main/tools/index.rst:45 2ed957d1d3f7493d8920a96caf121ada +#: ../../main/tools/index.rst:45 34467b8f8fcc4c6682e765b48de30807 msgid ".. image:: /blockimg/pybricks_blockReadInput_read_input_last_byte.svg" msgstr "" -#: ../../main/tools/index.rst:48 d53f9705017247bda56f086dd154fada +#: ../../main/tools/index.rst:48 d0b60aeee3c941808a41d37dfb934679 msgid ".. image:: /blockimg/pybricks_blockReadInput_read_input_last_char.svg" msgstr "" -#: ede5a46c01e944deb6636ed8afb5df57 of pybricks.tools.read_input_byte:1 +#: e788f2631a124c05a8ca0f45c28f5f75 of pybricks.tools.read_input_byte:1 msgid "" "Reads one byte from standard input without blocking and removes it from " "the input buffer." msgstr "" -#: 1c9014ebcf7f4b32b584054a2c1f662d of pybricks.tools.read_input_byte:4 +#: 29d949d7f0b64d2daa33913b91ded01c of pybricks.tools.read_input_byte:4 msgid "" "Choose ``True`` to read the last (most recent) byte in the buffer and " "discard the rest. Choose ``False`` to read only the first (oldest) byte." msgstr "" -#: ef165bccf89e47f08d69e9d07de61bd0 of pybricks.tools.read_input_byte:7 +#: 6a163a5fffdc4af78975542899059781 of pybricks.tools.read_input_byte:7 msgid "Choose ``True`` to convert the result to a one-character string." msgstr "" -#: ddd9f5d32bfe46698b9afc6f8261ca70 of pybricks.tools.read_input_byte:10 +#: eb3f4208533d40b3bbfeff7d100bafd2 of pybricks.tools.read_input_byte:10 msgid "" "The byte that was read, as a numeric value (``0`` to ``255``) or string " "(e.g. ``\"B\"``). Returns ``None`` if no data is available. If " @@ -160,239 +160,186 @@ msgid "" "printable as a character." msgstr "" -#: ../../main/tools/index.rst:55 28a2ea5678b741eeab78ecc6cac8b002 +#: ../../main/tools/index.rst:55 1d7474dff23444908fbd9dbb0cfefd92 msgid "Added ``last`` and ``chr`` options." msgstr "" -#: d75ba8b8f8964c15830b22d4dd9940d6 of pybricks.tools.hub_menu:1 +#: 4001fcbd8309429dbc2d80123ca0c262 of pybricks.tools.hub_menu:1 msgid "" "Shows a menu on the hub display and waits for the user to select an item " "using the buttons. Can be used in your own menu-program that lets you " "choose which of your other programs to run." msgstr "" -#: 4d5359d45a494b6a86433cbd255ce280 of pybricks.tools.hub_menu:5 +#: 99f3f7b0bc3d4c5b9b5eba3b1845a215 of pybricks.tools.hub_menu:5 msgid "" "Note that this is just a convenience function that combines the display, " "buttons, and waits to make a simple menu. This means that it can be used " "anywhere in a program, not just at the start." msgstr "" -#: e84e5e90c2de463f930473507b71936e of pybricks.tools.hub_menu:9 +#: 282ab304f61a4a0585fe51b2662bab04 of pybricks.tools.hub_menu:9 msgid "The first symbol to show in the menu." msgstr "" -#: 85742d0a024f4af4bfb4983414d3fbb7 of pybricks.tools.hub_menu:11 +#: aa10a46c85944e6eb4b0d4d1fd423431 of pybricks.tools.hub_menu:11 msgid "The second symbol, and so on..." msgstr "" -#: a9c7e59619d545829ba23ad79ce12deb of pybricks.tools.hub_menu:14 +#: 47c3b144b51d40a98734829f4b8d7b86 of pybricks.tools.hub_menu:14 msgid "The selected symbol." msgstr "" -#: ../../main/tools/index.rst:62 dbb145e8ca574c718885781234373b27 -msgid "" -"from pybricks.tools import hub_menu\n" -"\n" -"# This example assumes that you have three other programs in Pybricks " -"Code,\n" -"# called \"fly_mission\", \"drive_mission\", and \"zigzag\". This example" -" creates a\n" -"# menu that lets you pick which one to run.\n" -"\n" -"# Choose a letter.\n" -"selected = hub_menu(\"F\", \"D\", \"Z\")\n" -"\n" -"# Based on the selection, run a program.\n" -"if selected == \"F\":\n" -" import fly_mission\n" -"elif selected == \"D\":\n" -" import drive_mission\n" -"elif selected == \"Z\":\n" -" import zigzag\n" -msgstr "" - -#: ../../main/tools/index.rst:66 a26543bdc2e847da913371dcaa2f836c +#: ../../main/tools/index.rst:66 6927ece29bcc43b8a4b0b5cd8537bac9 msgid "Linear algebra tools" msgstr "" -#: ../../main/tools/index.rst:70 2d2bcdf2b7ae4765b4b8b74552db62b3 +#: ../../main/tools/index.rst:70 689971a5f9cb4414aac27e2842260fc8 msgid "These tools were previously located in the ``pybricks.geometry`` module." msgstr "" -#: 10341f4dc3c2466681707c1c4c731a95 of pybricks.tools.Matrix:1 +#: 0060ed6ffe824100a28e74e57e78951f of pybricks.tools.Matrix:1 msgid "" "Mathematical representation of a matrix. It supports addition (``A + " "B``), subtraction (``A - B``), and matrix multiplication (``A * B``) for " "matrices of compatible size." msgstr "" -#: 60f3acb5ab9b45d0affc6c75f6165a33 of pybricks.tools.Matrix:5 +#: 043ba02c2f294e2d8a842008b914bd8b of pybricks.tools.Matrix:5 msgid "" "It also supports scalar multiplication (``c * A`` or ``A * c``) and " "scalar division (``A / c``)." msgstr "" -#: a407977d161f4768a5f8b85f4dad5fe9 of pybricks.tools.Matrix:8 +#: 3bbf300362094b758c3c07c469734c3b of pybricks.tools.Matrix:8 msgid "A :class:`.Matrix` object is immutable." msgstr "" -#: 48b3cddceeae4a83b77782ac72a50091 of pybricks.tools.Matrix:10 +#: 90baf541ffca488888e5267af3e45c93 of pybricks.tools.Matrix:10 msgid "List of rows. Each row is itself a list of numbers." msgstr "" -#: ../../docstring f817846e05c64b14873c0951f53e3039 of +#: ../../docstring fbb91735dca64edcabf56bc2369a54cd of #: pybricks.tools.Matrix.T:1 msgid "Returns a new :class:`.Matrix` that is the transpose of the original." msgstr "" -#: ../../docstring c332b07e7fef41f3be646afa0c63179b of +#: ../../docstring 880fadd242fe4b579791b6e074de3ecc of #: pybricks.tools.Matrix.shape:1 msgid "" "Returns a tuple (``m``, ``n``), where ``m`` is the number of rows and " "``n`` is the number of columns." msgstr "" -#: ../../main/tools/index.rst:83 07a441ee478b4983aea3f4a4cd107b35 +#: ../../main/tools/index.rst:83 435559831e844a3b81a816053eadf462 msgid ".. image:: /blockimg/pybricks_blockVector.svg" msgstr "" -#: f638284cbb264871aedafbce9d14bd39 of pybricks.tools.vector:1 +#: 538f50ff75764c4da5bca43bce27b4d1 of pybricks.tools.vector:1 msgid "vector(x, y) -> Matrix vector(x, y, z) -> Matrix" msgstr "" -#: ae7eb3af7dde4f1499209008da319041 of pybricks.tools.vector:4 +#: 42fc3f8ccddd46189786232b112a8ccd of pybricks.tools.vector:4 msgid "" "Convenience function to create a :class:`.Matrix` with the shape (``2``, " "``1``) or (``3``, ``1``)." msgstr "" -#: 337eafe4ebc7436a9d3e46c8c1488d34 of pybricks.tools.vector:7 +#: 23e72c17a0244a43a4d9f915f456fe86 of pybricks.tools.vector:7 msgid "x-coordinate of the vector." msgstr "" -#: f31b81fadaa349bbba67d8f6406b6bdc of pybricks.tools.vector:9 +#: 3a058bb62ae14173a064943d4bd812fc of pybricks.tools.vector:9 msgid "y-coordinate of the vector." msgstr "" -#: 6c437bea5bcd44668a123cbba83ea460 of pybricks.tools.vector:11 +#: 01bf7b18b0434c84a15761cc52285096 of pybricks.tools.vector:11 msgid "z-coordinate of the vector (optional)." msgstr "" -#: 2b07fda498b44d1181e0e3012df396a4 of pybricks.tools.vector:14 +#: 1a4e5c244f504f6794c70add83d8e30b of pybricks.tools.vector:14 msgid "A matrix with the shape of a column vector." msgstr "" -#: 3649bf6b10e74e98b8598fb14ae7d4a6 of pybricks.tools.cross:1 +#: af7bf4aab240464f8f111cb876e79fd6 of pybricks.tools.cross:1 msgid "Gets the cross product ``a`` × ``b`` of two vectors." msgstr "" -#: 5a1e4f8ca8b940fe99327f4da1d7f395 73a4b7a7522b4abbade7b901c348f7c2 of +#: 1cc6626de6804136a3e46d7ba7dbe847 c9cb7f5e459e46bea6ea4720216630c0 of #: pybricks.tools.cross:3 pybricks.tools.cross:5 msgid "A three-dimensional vector." msgstr "" -#: 00d512f702924f27b495f4553ff4b33e of pybricks.tools.cross:8 +#: 72f8b2ff56494f798c24482d7e9ef544 of pybricks.tools.cross:8 msgid "The cross product, also a three-dimensional vector." msgstr "" -#: ../../main/tools/index.rst:90 cc3ed2406ebb42bb965c46a538ec0efa +#: ../../main/tools/index.rst:90 d33d9e5754314d86bf08f2cc13d165f3 msgid "Multitasking" msgstr "" -#: ../../main/tools/index.rst:94 d79790869c7e41eba529e14616385288 +#: ../../main/tools/index.rst:94 d147a316d9e440d080521a5d6c83b51b msgid "" "Pybricks supports cooperative multitasking using the ``async`` and " "``await`` keywords. This allows operations that normally take some time " "to complete to run in parallel with other operations." msgstr "" -#: ../../main/tools/index.rst:98 5268c3d8f5154d4ebdcc55b91c3a5c89 +#: ../../main/tools/index.rst:98 b2529f2d283145e092fce149a503fc54 msgid ".. image:: /blockimg/pybricks_blockMultiTask.svg" msgstr "" -#: 823e1b7558894f3491fe250b80784492 of pybricks.tools.multitask:1 +#: 9f5be920644249acacd4cd2737683728 of pybricks.tools.multitask:1 msgid "" "Runs multiple coroutines concurrently. This creates a new coroutine that " "can be used like any other, including in another ``multitask`` statement." msgstr "" -#: 9d552173d9ec44f7b1939fa6fa8285f7 of pybricks.tools.multitask:4 +#: e7bc594ba4734ee39859aa860bc7f539 of pybricks.tools.multitask:4 msgid "One or more coroutines to run in parallel." msgstr "" -#: cb91e86ba48c4a64b57e6fc9b8f8aa09 of pybricks.tools.multitask:7 +#: ecb9a25ddc7542c08891a3f71541f32e of pybricks.tools.multitask:7 msgid "" "Choose ``False`` to wait for all coroutines to finish. Choose ``True`` to" " wait for one coroutine to finish and then cancel the others, as if it's " "a \"race\"." msgstr "" -#: c2bc04cd3ad44c8eb8f3ac0693e28ac4 of pybricks.tools.multitask:12 +#: cd80d4723e95407885b948da3d814c02 of pybricks.tools.multitask:12 msgid "" "Tuple of the return values of each coroutine. Unfinished coroutines will " "have ``None`` as their return value." msgstr "" -#: 96200a0caee948b69823a5c01298f185 of pybricks.tools.run_task:1 +#: da80618b51b34a42b5ae2dc27ae56799 of pybricks.tools.run_task:1 msgid "" "Runs a coroutine from start to finish while blocking the rest of the " "program. This is used primarily to run the main coroutine of a program." msgstr "" -#: be9dd0086ed74090a8a5909bffd2d2ab of pybricks.tools.run_task:4 +#: e7f1f2e580fd4f2da0f45515e9b1077c of pybricks.tools.run_task:4 msgid "Calls to this function are not allowed to be nested." msgstr "" -#: 069c3bd3d6b34636b121b27d60be9af0 of pybricks.tools.run_task:6 +#: 7d1bb7a15a6d48889d79595797a72920 of pybricks.tools.run_task:6 msgid "The main coroutine to run." msgstr "" -#: abb87427d8cf48afb29f6896eeed1ff1 of pybricks.tools.run_task:9 +#: f682f3e01e024e598d547cf05fc6a4a0 of pybricks.tools.run_task:9 msgid "" "If no ``coroutine`` is given, this function returns whether the run loop " "is currently active (``True``) or not (``False``)." msgstr "" -#: ../../main/tools/index.rst:104 17b6c1df82254f878eeaaf7dea8586c3 +#: ../../main/tools/index.rst:104 5a3fddd54500494ebcd04117e9d8ae42 msgid "" "The following example shows how to use multitasking to make a robot drive" " forward, then turn and move a gripper at the same time, and then drive " "backward." msgstr "" -#: ../../main/tools/index.rst:108 c8757ca07ad540e189aac45e16307824 -msgid "" -"from pybricks.pupdevices import Motor\n" -"from pybricks.parameters import Direction, Port\n" -"from pybricks.robotics import DriveBase\n" -"from pybricks.tools import multitask, run_task\n" -"\n" -"# Set up all devices.\n" -"left = Motor(Port.A, Direction.COUNTERCLOCKWISE)\n" -"right = Motor(Port.B)\n" -"gripper = Motor(Port.C)\n" -"drive_base = DriveBase(left, right, 56, 114)\n" -"\n" -"\n" -"# Move the gripper up and down.\n" -"async def move_gripper():\n" -" await gripper.run_angle(500, -90)\n" -" await gripper.run_angle(500, 90)\n" -"\n" -"\n" -"# Drive forward, turn move gripper at the same time, and drive backward.\n" -"async def main():\n" -" await drive_base.straight(250)\n" -" await multitask(drive_base.turn(90), move_gripper())\n" -" await drive_base.straight(-250)\n" -"\n" -"\n" -"# Runs the main program from start to finish.\n" -"run_task(main())\n" -msgstr "" - -#: ../../main/tools/index.rst:115 750d7d9900034684954c71ba4962e460 +#: ../../main/tools/index.rst:115 2d1da9a7a41646c2a84fd8b11ff18273 msgid "" "Whenever you see a function or method prefixed by ``await``, this means " "that it supports multitasking. When running a coroutine with " @@ -400,7 +347,7 @@ msgid "" " coroutines." msgstr "" -#: ../../main/tools/index.rst:119 aed044f7d8e74414a2faa5ca9f0d6690 +#: ../../main/tools/index.rst:119 c14488be23a442b7a2f3bae2fc10e5d1 msgid "" "If you don't use multitasking, you can ignore the ``await`` keyword and " "write programs as usual. Specifically, when ``run_task`` is not used, " From 32eecb6af64ae3a85594db81fc098df87a1b27df Mon Sep 17 00:00:00 2001 From: vke Date: Sun, 26 Jan 2025 20:14:31 +0100 Subject: [PATCH 8/8] locales/de: redo sample translation if index.po --- doc/locales/de/LC_MESSAGES/index.po | 36 +++++++++++++++++++---------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/doc/locales/de/LC_MESSAGES/index.po b/doc/locales/de/LC_MESSAGES/index.po index 8291df75..d40c6ddd 100644 --- a/doc/locales/de/LC_MESSAGES/index.po +++ b/doc/locales/de/LC_MESSAGES/index.po @@ -19,25 +19,25 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.16.0\n" -#: ../../main/index.rst:47 +#: ../../../main/index.rst:47 msgid "Table of contents" -msgstr "" +msgstr "Inhaltsverzeichnis" -#: ../../main/index.rst:52 +#: ../../../main/index.rst:52 msgid "Pybricks modules" -msgstr "" +msgstr "Pybricks-Module" -#: ../../main/index.rst:65 +#: ../../../main/index.rst:65 msgid "Code with blocks" -msgstr "" +msgstr "Code mit Blöcken" -#: ../../main/index.rst:72 +#: ../../../main/index.rst:72 msgid "MicroPython modules" -msgstr "" +msgstr "MicroPython-Module" #: ../../main/index.rst:2 5d0cfc25662a4c99bb2eb05e3cc70fbd msgid "Pybricks Documentation" -msgstr "" +msgstr "Pybricks-Dokumentation" #: ../../main/index.rst:4 60c13d2cd9e342e4a7b51738a3d787d3 msgid "" @@ -45,12 +45,17 @@ msgid "" "hubs. Run MicroPython scripts directly on the hub, and get full control " "of your motors and sensors." msgstr "" +"`Pybricks `_ ist Python-Programmierung für intelligente LEGO® " +"Hubs. Führen Sie MicroPython-Skripte direkt auf dem Hub aus und erhalten Sie " +"volle Kontrolle über Ihre Motoren und Sensoren." #: ../../main/index.rst:8 b24060ab22064f2fb2b05d4bf3423365 msgid "" "Pybricks runs on LEGO® BOOST, City, Technic, MINDSTORMS®, and SPIKE®. You" " can code using Windows, Mac, Linux, Chromebook, and Android." msgstr "" +"Pybricks läuft auf LEGO® BOOST, City, Technic, MINDSTORMS® und SPIKE®. Sie " +"können mit Windows, Mac, Linux, Chromebook und Android programmieren." #: ../../main/index.rst:11 43136dad1c1b46e1bb61e477096bc6ee msgid "" @@ -58,22 +63,30 @@ msgid "" "left to find documentation for additional modules. You may need to click " "the ☰ icon above to reveal this menu." msgstr "" +"Klicken Sie unten auf ein Gerät, um dessen Dokumentation anzuzeigen. Verwenden " +"Sie das Menü auf der linken Seite, um die Dokumentation für zusätzliche Module " +"zu finden. Möglicherweise müssen Sie auf das ☰-Symbol oben klicken, um dieses " +"Menü anzuzeigen." #: ../../main/index.rst:17 934255db75a642d6b24dbb0e5e1f495d msgid "" "You are viewing the stand-alone version of the documentation. To learn " "more about Pybricks and to start coding, visit the `Pybricks website`_" msgstr "" +"Sie sehen die eigenständige Version der Dokumentation. Um mehr über Pybricks " +"zu erfahren und mit dem Programmieren zu beginnen, besuchen Sie die `Pybricks-Website`_" #: ../../main/index.rst:21 98b1daa86b5b4fc6b1f78c14ef48dba2 msgid "" "Are you using LEGO MINDSTORMS EV3? Check out the `EV3 documentation`_ " "instead." msgstr "" +"Verwenden Sie LEGO MINDSTORMS EV3? Schauen Sie stattdessen in die " +"`EV3-Dokumentation`_." #: ../../main/index.rst:28 3b2dee8f420e4f179b9c829bbe9e1a15 msgid "Programmable hubs" -msgstr "" +msgstr "Programmierbare Hubs" #: ../../main/index.rst:29 96baa91bdf974f40bdcb720a5f382783 msgid ".. image:: ../main/cad/output/hub-all.png" @@ -81,7 +94,7 @@ msgstr "" #: ../../main/index.rst:34 a2ff0f348e7d4fd4983b60fcf5ac42d2 msgid "Powered Up motors and sensors" -msgstr "" +msgstr "Powered Up Motoren und Sensoren" #: ../../main/index.rst:35 8b3a2e2b8b0a42b9a0387b8f2afc587d msgid ".. image:: ../main/cad/output/pupdevice-all.png" @@ -94,4 +107,3 @@ msgstr "" #: ../../main/index.rst:43 00d93e760f604140868d8feeec396de2 msgid ".. image:: ../main/cad/output/pupdevice-dcmotors.png" msgstr "" -