Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
edf0f56675 | ||
|
|
00f1c95ab2 | ||
|
|
72d55bdbd8 | ||
|
|
585b1b8ba3 | ||
|
|
d9dfd0e370 | ||
|
|
8bfc2e10c8 | ||
|
|
e2710157f0 | ||
|
|
96a3c04836 | ||
|
|
72f5cb6827 | ||
|
|
e939c14fee | ||
|
|
3418c8320c | ||
|
|
4da4ce8f7c | ||
|
|
6640fba104 | ||
|
|
ecbfbcfccc | ||
|
|
eff6eaa253 | ||
|
|
f7984a4816 | ||
|
|
eac3535d92 | ||
|
|
7fd508cc84 | ||
|
|
3a12de4766 |
@@ -6,17 +6,10 @@ on:
|
||||
|
||||
jobs:
|
||||
build_and_publish:
|
||||
runs-on: ubuntu-20.04
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.8
|
||||
- uses: abatilo/actions-poetry@v2.0.0
|
||||
with:
|
||||
poetry-version: 1.1.6
|
||||
- run: poetry install
|
||||
- run: poetry build
|
||||
- run: poetry publish
|
||||
- uses: actions/checkout@v3
|
||||
- run: pipx run poetry build
|
||||
- run: pipx run poetry publish
|
||||
env:
|
||||
POETRY_PYPI_TOKEN_PYPI: ${{ secrets.PYPI_TOKEN }}
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
## 3.2.0c1 - 2022-12-09
|
||||
|
||||
### Changed
|
||||
- Updated "front" side of the Technic Hub to be consistent with
|
||||
the Prime Hub.
|
||||
|
||||
## 3.2.0b6 - 2022-12-02
|
||||
|
||||
### Added
|
||||
|
||||
@@ -16,8 +16,8 @@ help:
|
||||
.PHONY: help Makefile
|
||||
|
||||
diagrams:
|
||||
@$(MAKE) -C "$(SOURCEDIR)"/diagram_source clean
|
||||
@$(MAKE) -C "$(SOURCEDIR)"/diagram_source
|
||||
@$(MAKE) -C "$(SOURCEDIR)"/diagrams_source clean
|
||||
@$(MAKE) -C "$(SOURCEDIR)"/diagrams_source
|
||||
|
||||
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||
|
||||
@@ -40,3 +40,11 @@
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #182026;
|
||||
}
|
||||
|
||||
html.writer-html5 .rst-content dl.citation,
|
||||
html.writer-html5 .rst-content dl.field-list,
|
||||
html.writer-html5 .rst-content dl.footnote {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
grid-template-columns: unset;
|
||||
}
|
||||
|
||||
@@ -41,3 +41,7 @@ span.caption-number:after {
|
||||
.figure > a.reference.external::after {
|
||||
content: none !important;
|
||||
}
|
||||
|
||||
.wy-side-nav-search > div.version {
|
||||
color: hsla(0, 0%, 100%, 0.75);
|
||||
}
|
||||
|
||||
@@ -169,6 +169,7 @@ html_context = {
|
||||
html_theme_options = {
|
||||
"style_external_links": True,
|
||||
"logo_only": True,
|
||||
"style_nav_header_background": "#0088ce", # Pybricks blue
|
||||
}
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
|
||||
@@ -47,20 +47,19 @@ class PybricksRequirementsStaticDirective(Directive):
|
||||
makedirs(destdir)
|
||||
|
||||
for hub in HUB_FEATURES:
|
||||
for compat in ("true", "false"):
|
||||
uri = "compat_{0}_{1}.png".format(hub, compat)
|
||||
src_uri = path.join(env.app.builder.srcdir, "diagrams", uri)
|
||||
build_uri = path.join(env.app.builder.outdir, "_images", uri)
|
||||
copyfile(src_uri, build_uri)
|
||||
uri = "compat_{0}.png".format(hub)
|
||||
src_uri = path.join(env.app.builder.srcdir, "diagrams", uri)
|
||||
build_uri = path.join(env.app.builder.outdir, "_images", uri)
|
||||
copyfile(src_uri, build_uri)
|
||||
|
||||
# Get requirements from sphinx-directive.
|
||||
requirements = set(self.arguments)
|
||||
|
||||
# Cell with image of a hub.
|
||||
hub_cell = """
|
||||
<th><div class="align-default">
|
||||
<img alt="" src="{0}_images/compat_{1}_{2}.png">
|
||||
</div></th>
|
||||
<th background="{0}_images/compat_{1}.png" class="requirements-table-th requirements-table-th">
|
||||
{2}
|
||||
</th>
|
||||
"""
|
||||
|
||||
# Determine how far up the tree we are to set correct image path.
|
||||
@@ -72,7 +71,7 @@ class PybricksRequirementsStaticDirective(Directive):
|
||||
compat_row = "".join(
|
||||
[
|
||||
hub_cell.format(
|
||||
depth_path, hub, "true" if requirements <= features else "false"
|
||||
depth_path, hub, "✅" if requirements <= features else "❌"
|
||||
)
|
||||
for hub, features in HUB_FEATURES.items()
|
||||
]
|
||||
@@ -81,7 +80,7 @@ class PybricksRequirementsStaticDirective(Directive):
|
||||
# Generate full table.
|
||||
html = """
|
||||
<div class="wy-table-responsive">
|
||||
<table class="docutils align-default">
|
||||
<table class="docutils align-default requirements-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
{0}
|
||||
|
||||
@@ -42,3 +42,19 @@ SOFTWARE. */
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.requirements-table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.requirements-table-th {
|
||||
background-size:contain;
|
||||
background-repeat: no-repeat;
|
||||
text-align: right;
|
||||
padding: 6px !important;
|
||||
}
|
||||
|
||||
.requirements-table-th:after {
|
||||
content: '';
|
||||
display: block;
|
||||
margin-top: 80%;
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 11 KiB |
@@ -24,7 +24,7 @@ cp LPub3D/assem/main_1_hubs_1_hub-prime-*35_-35_0_ABS.png output/hub-prime.png
|
||||
cp LPub3D/assem/main_1_hubs_1_hub-prime-*45_45_0_ABS.png output/hub-prime-orientation.png
|
||||
cp LPub3D/assem/main_1_hubs_1_hub-prime-*90_0_0_ABS.png output/hub-prime-display.png
|
||||
cp LPub3D/assem/main_1_hubs_1_hub-technic-*35_-35_0_ABS.png output/hub-technic.png
|
||||
cp LPub3D/assem/main_1_hubs_1_hub-technic-*45_-135_0_ABS.png output/hub-technic-orientation.png
|
||||
cp LPub3D/assem/main_1_hubs_1_hub-technic-*45_45_0_ABS.png output/hub-technic-orientation.png
|
||||
cp LPub3D/assem/main_1_iodevices-*.png output/iodevice-all.png
|
||||
cp LPub3D/assem/main_1_iodevices_1_iodevice-dcmotor-*.png output/iodevice-dcmotor.png
|
||||
cp LPub3D/assem/main_1_iodevices_1_iodevice-pupdevice-*.png output/iodevice-pupdevice.png
|
||||
|
||||
@@ -163,7 +163,7 @@
|
||||
1 71 0 0 0 1 0 0 0 1 0 0 0 1 22127.dat
|
||||
0 ROTSTEP 35 -35 0 ABS
|
||||
1 71 0 0 0 1 0 0 0 1 0 0 0 1 22127.dat
|
||||
0 ROTSTEP 45 -135 0 ABS
|
||||
0 ROTSTEP 45 45 0 ABS
|
||||
0 NOFILE
|
||||
0
|
||||
0 FILE hub-prime.ldr
|
||||
@@ -837,5 +837,6 @@
|
||||
1 0 40 0 220 1 0 0 0 1 0 0 0 1 hub-city.ldr
|
||||
1 0 450 0 -40 1 0 0 0 1 0 0 0 1 hub-move.ldr
|
||||
0 ROTSTEP 40 -35 0 ABS
|
||||
0
|
||||
0
|
||||
0
|
||||
|
||||
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 9.7 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 64 KiB |
@@ -8,7 +8,7 @@
|
||||
version="1.1"
|
||||
id="svg887"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="compat_cityhub_true.svg"
|
||||
sodipodi:docname="compat_cityhub.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
@@ -40,15 +40,15 @@
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.3219805"
|
||||
inkscape:cx="34.617903"
|
||||
inkscape:cy="95.726028"
|
||||
inkscape:cy="95.575516"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1163"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-width="1856"
|
||||
inkscape:window-height="1136"
|
||||
inkscape:window-x="64"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:pagecheckerboard="0" />
|
||||
@@ -75,10 +75,5 @@
|
||||
y="265.09711"
|
||||
width="23.382999"
|
||||
height="26.799999" />
|
||||
<path
|
||||
style="fill:none;stroke:#84ba4c;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 31.147057,265.82725 1.011052,2.9815 3.622948,-4.60003"
|
||||
id="path854"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -1,94 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="150"
|
||||
height="135"
|
||||
viewBox="0 0 39.687499 35.718751"
|
||||
version="1.1"
|
||||
id="svg887"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="compat_cityhub_false.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs
|
||||
id="defs881">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1545">
|
||||
<rect
|
||||
style="fill:#fe2020;fill-opacity:0.48022599;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1547"
|
||||
width="39.6875"
|
||||
height="35.71875"
|
||||
x="-25.390602"
|
||||
y="312.93103" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.0825819"
|
||||
inkscape:cx="78.505619"
|
||||
inkscape:cy="101.70046"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1856"
|
||||
inkscape:window-height="1136"
|
||||
inkscape:window-x="64"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:pagecheckerboard="0" />
|
||||
<metadata
|
||||
id="metadata884">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-261.28123)">
|
||||
<image
|
||||
xlink:href="../cad/output/hub-city.png"
|
||||
id="image1470"
|
||||
x="8.0035677"
|
||||
y="265.09711"
|
||||
width="23.382999"
|
||||
height="26.799999" />
|
||||
<g
|
||||
id="g862"
|
||||
transform="matrix(0.84064533,0,0,0.84993509,-12.416361,243.07822)"
|
||||
style="stroke-width:1.18304348">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path856"
|
||||
d="m 51.33389,24.998882 5.622395,5.622396"
|
||||
style="fill:none;stroke:#e2302f;stroke-width:1.18304348;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#e2302f;stroke-width:1.18304348;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 56.956285,24.998882 51.33389,30.621278"
|
||||
id="path858"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -8,7 +8,7 @@
|
||||
version="1.1"
|
||||
id="svg887"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="compat_essentialhub_true.svg"
|
||||
sodipodi:docname="compat_essentialhub.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
@@ -38,9 +38,9 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2.3960249"
|
||||
inkscape:cx="-130.63303"
|
||||
inkscape:cy="93.696856"
|
||||
inkscape:zoom="3.4759103"
|
||||
inkscape:cx="134.0656"
|
||||
inkscape:cy="60.84737"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
@@ -75,10 +75,5 @@
|
||||
y="267.43524"
|
||||
width="25.393"
|
||||
height="22.579" />
|
||||
<path
|
||||
style="fill:none;stroke:#84ba4c;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 31.147057,265.82725 1.011052,2.9815 3.622948,-4.60003"
|
||||
id="path854"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -1,94 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="150"
|
||||
height="135"
|
||||
viewBox="0 0 39.687499 35.718751"
|
||||
version="1.1"
|
||||
id="svg887"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="compat_essentialhub_false.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs
|
||||
id="defs881">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1545">
|
||||
<rect
|
||||
style="fill:#fe2020;fill-opacity:0.48022599;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1547"
|
||||
width="39.6875"
|
||||
height="35.71875"
|
||||
x="-25.390602"
|
||||
y="312.93103" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.8719138"
|
||||
inkscape:cx="1.0684253"
|
||||
inkscape:cy="79.330578"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1856"
|
||||
inkscape:window-height="1136"
|
||||
inkscape:window-x="64"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:pagecheckerboard="0" />
|
||||
<metadata
|
||||
id="metadata884">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-261.28123)">
|
||||
<image
|
||||
xlink:href="../cad/output/hub-essential.png"
|
||||
id="image1470"
|
||||
x="6.9396734"
|
||||
y="267.43524"
|
||||
width="25.393"
|
||||
height="22.579" />
|
||||
<g
|
||||
id="g862"
|
||||
transform="matrix(0.84064533,0,0,0.84993509,-12.416361,243.07822)"
|
||||
style="stroke-width:1.18304348">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path856"
|
||||
d="m 51.33389,24.998882 5.622395,5.622396"
|
||||
style="fill:none;stroke:#e2302f;stroke-width:1.18304348;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#e2302f;stroke-width:1.18304348;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 56.956285,24.998882 51.33389,30.621278"
|
||||
id="path858"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -8,7 +8,7 @@
|
||||
version="1.1"
|
||||
id="svg887"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="compat_inventorhub_true.svg"
|
||||
sodipodi:docname="compat_inventorhub.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
@@ -38,9 +38,9 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.959798"
|
||||
inkscape:cx="30.052038"
|
||||
inkscape:cy="63.260803"
|
||||
inkscape:zoom="2.6570037"
|
||||
inkscape:cx="57.583661"
|
||||
inkscape:cy="87.504583"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
@@ -75,10 +75,5 @@
|
||||
y="262.86874"
|
||||
width="34.237"
|
||||
height="31.087999" />
|
||||
<path
|
||||
style="fill:none;stroke:#84ba4c;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 31.147057,265.82725 1.011052,2.9815 3.622948,-4.60003"
|
||||
id="path854"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -1,94 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="150"
|
||||
height="135"
|
||||
viewBox="0 0 39.687499 35.718751"
|
||||
version="1.1"
|
||||
id="svg887"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="compat_inventorhub_false.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs
|
||||
id="defs881">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1545">
|
||||
<rect
|
||||
style="fill:#fe2020;fill-opacity:0.48022599;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1547"
|
||||
width="39.6875"
|
||||
height="35.71875"
|
||||
x="-25.390602"
|
||||
y="312.93103" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.0079775"
|
||||
inkscape:cx="56.183931"
|
||||
inkscape:cy="42.387285"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1856"
|
||||
inkscape:window-height="1136"
|
||||
inkscape:window-x="64"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:pagecheckerboard="0" />
|
||||
<metadata
|
||||
id="metadata884">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-261.28123)">
|
||||
<image
|
||||
xlink:href="../cad/output/hub-inventor.png"
|
||||
id="image1481"
|
||||
x="2.6458333"
|
||||
y="262.86874"
|
||||
width="34.237"
|
||||
height="31.087999" />
|
||||
<g
|
||||
id="g862"
|
||||
transform="matrix(0.84064533,0,0,0.84993509,-12.416361,243.07822)"
|
||||
style="stroke-width:1.18304348">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path856"
|
||||
d="m 51.33389,24.998882 5.622395,5.622396"
|
||||
style="fill:none;stroke:#e2302f;stroke-width:1.18304348;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#e2302f;stroke-width:1.18304348;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 56.956285,24.998882 51.33389,30.621278"
|
||||
id="path858"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -8,7 +8,7 @@
|
||||
version="1.1"
|
||||
id="svg887"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="compat_movehub_true.svg"
|
||||
sodipodi:docname="compat_movehub.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
@@ -38,9 +38,9 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.959798"
|
||||
inkscape:cx="-61.114229"
|
||||
inkscape:cy="79.170705"
|
||||
inkscape:zoom="1.4539184"
|
||||
inkscape:cx="101.79388"
|
||||
inkscape:cy="158.5371"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
@@ -75,10 +75,5 @@
|
||||
y="261.79425"
|
||||
width="38.50182"
|
||||
height="34.867249" />
|
||||
<path
|
||||
style="fill:none;stroke:#84ba4c;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 31.147057,265.82725 1.011052,2.9815 3.622948,-4.60003"
|
||||
id="path854"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.3 KiB |
@@ -1,95 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="150"
|
||||
height="135"
|
||||
viewBox="0 0 39.687499 35.718751"
|
||||
version="1.1"
|
||||
id="svg887"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="compat_movehub_false.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs
|
||||
id="defs881">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1545">
|
||||
<rect
|
||||
style="fill:#fe2020;fill-opacity:0.48022599;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1547"
|
||||
width="39.6875"
|
||||
height="35.71875"
|
||||
x="-25.390602"
|
||||
y="312.93103" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.1282845"
|
||||
inkscape:cx="30.687746"
|
||||
inkscape:cy="7.8317686"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1856"
|
||||
inkscape:window-height="1136"
|
||||
inkscape:window-x="64"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showguides="false" />
|
||||
<metadata
|
||||
id="metadata884">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-261.28123)">
|
||||
<image
|
||||
xlink:href="../cad/output/hub-move.png"
|
||||
id="image1492"
|
||||
x="0.67666757"
|
||||
y="261.79425"
|
||||
width="38.50182"
|
||||
height="34.867249" />
|
||||
<g
|
||||
id="g862"
|
||||
transform="matrix(0.84064533,0,0,0.84993509,-12.416361,243.07822)"
|
||||
style="stroke-width:1.18304348">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path856"
|
||||
d="m 51.33389,24.998882 5.622395,5.622396"
|
||||
style="fill:none;stroke:#e2302f;stroke-width:1.18304348;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#e2302f;stroke-width:1.18304348;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 56.956285,24.998882 51.33389,30.621278"
|
||||
id="path858"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -8,7 +8,7 @@
|
||||
version="1.1"
|
||||
id="svg887"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="compat_primehub_true.svg"
|
||||
sodipodi:docname="compat_primehub.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
@@ -38,9 +38,9 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.959798"
|
||||
inkscape:cx="-15.152288"
|
||||
inkscape:cy="104.67706"
|
||||
inkscape:zoom="2.5665087"
|
||||
inkscape:cx="-39.742706"
|
||||
inkscape:cy="115.13696"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
@@ -75,10 +75,5 @@
|
||||
y="263.1333"
|
||||
width="34.237"
|
||||
height="31.087999" />
|
||||
<path
|
||||
style="fill:none;stroke:#84ba4c;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 31.147057,265.82725 1.011052,2.9815 3.622948,-4.60003"
|
||||
id="path854"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.3 KiB |
@@ -1,94 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="150"
|
||||
height="135"
|
||||
viewBox="0 0 39.687499 35.718751"
|
||||
version="1.1"
|
||||
id="svg887"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="compat_primehub_false.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs
|
||||
id="defs881">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1545">
|
||||
<rect
|
||||
style="fill:#fe2020;fill-opacity:0.48022599;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1547"
|
||||
width="39.6875"
|
||||
height="35.71875"
|
||||
x="-25.390602"
|
||||
y="312.93103" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.4544425"
|
||||
inkscape:cx="52.975264"
|
||||
inkscape:cy="68.173085"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1856"
|
||||
inkscape:window-height="1136"
|
||||
inkscape:window-x="64"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:pagecheckerboard="0" />
|
||||
<metadata
|
||||
id="metadata884">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-261.28123)">
|
||||
<image
|
||||
xlink:href="../cad/output/hub-prime.png"
|
||||
id="image1503"
|
||||
x="2.6458333"
|
||||
y="263.1333"
|
||||
width="34.237"
|
||||
height="31.087999" />
|
||||
<g
|
||||
id="g862"
|
||||
transform="matrix(0.84064533,0,0,0.84993509,-12.416361,243.07822)"
|
||||
style="stroke-width:1.18304348">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path856"
|
||||
d="m 51.33389,24.998882 5.622395,5.622396"
|
||||
style="fill:none;stroke:#e2302f;stroke-width:1.18304348;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#e2302f;stroke-width:1.18304348;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 56.956285,24.998882 51.33389,30.621278"
|
||||
id="path858"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -8,7 +8,7 @@
|
||||
version="1.1"
|
||||
id="svg887"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="compat_technichub_true.svg"
|
||||
sodipodi:docname="compat_technichub.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
@@ -38,9 +38,9 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.959798"
|
||||
inkscape:cx="51.517779"
|
||||
inkscape:cy="94.82807"
|
||||
inkscape:zoom="1.8594069"
|
||||
inkscape:cx="-63.461097"
|
||||
inkscape:cy="62.116582"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
@@ -75,10 +75,5 @@
|
||||
y="263.52396"
|
||||
width="35.710999"
|
||||
height="30.552" />
|
||||
<path
|
||||
style="fill:none;stroke:#84ba4c;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 31.147057,265.82725 1.011052,2.9815 3.622948,-4.60003"
|
||||
id="path854"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -1,94 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="150"
|
||||
height="135"
|
||||
viewBox="0 0 39.687499 35.718751"
|
||||
version="1.1"
|
||||
id="svg887"
|
||||
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
|
||||
sodipodi:docname="compat_technichub_false.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs
|
||||
id="defs881">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1545">
|
||||
<rect
|
||||
style="fill:#fe2020;fill-opacity:0.48022599;stroke:none;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect1547"
|
||||
width="39.6875"
|
||||
height="35.71875"
|
||||
x="-25.390602"
|
||||
y="312.93103" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="3.0468564"
|
||||
inkscape:cx="34.461749"
|
||||
inkscape:cy="66.133737"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1856"
|
||||
inkscape:window-height="1136"
|
||||
inkscape:window-x="64"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:pagecheckerboard="0" />
|
||||
<metadata
|
||||
id="metadata884">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-261.28123)">
|
||||
<image
|
||||
xlink:href="../cad/output/hub-technic.png"
|
||||
id="image1514"
|
||||
x="2.0608866"
|
||||
y="263.52396"
|
||||
width="35.710999"
|
||||
height="30.552" />
|
||||
<g
|
||||
id="g862"
|
||||
transform="matrix(0.84064533,0,0,0.84993509,-12.416361,243.07822)"
|
||||
style="stroke-width:1.18304348">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path856"
|
||||
d="m 51.33389,24.998882 5.622395,5.622396"
|
||||
style="fill:none;stroke:#e2302f;stroke-width:1.18304348;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#e2302f;stroke-width:1.18304348;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 56.956285,24.998882 51.33389,30.621278"
|
||||
id="path858"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -66,9 +66,9 @@
|
||||
inkscape:window-height="1136"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.0710043"
|
||||
inkscape:cx="253.96723"
|
||||
inkscape:cy="270.30703"
|
||||
inkscape:zoom="0.70516005"
|
||||
inkscape:cx="286.45979"
|
||||
inkscape:cy="338.22109"
|
||||
inkscape:window-x="64"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
@@ -76,36 +76,37 @@
|
||||
inkscape:snap-global="false"
|
||||
inkscape:pagecheckerboard="0" />
|
||||
<image
|
||||
width="362.92642"
|
||||
height="317.47708"
|
||||
width="360.79803"
|
||||
height="329.56876"
|
||||
preserveAspectRatio="none"
|
||||
xlink:href="../cad/output/hub-technic-orientation.png"
|
||||
id="image1727"
|
||||
x="92.506996"
|
||||
y="67.242409" />
|
||||
id="image861"
|
||||
x="102.51701"
|
||||
y="59.175568"
|
||||
style="stroke-width:1.505" />
|
||||
<rect
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect873"
|
||||
width="94.047379"
|
||||
height="42.092525"
|
||||
x="369.40115"
|
||||
y="235.02014" />
|
||||
x="372.33868"
|
||||
y="256.1105" />
|
||||
<rect
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect875"
|
||||
width="94.047379"
|
||||
height="4"
|
||||
x="369.40115"
|
||||
y="235.02014" />
|
||||
x="372.33868"
|
||||
y="256.1105" />
|
||||
<text
|
||||
id="text879"
|
||||
y="265.60547"
|
||||
x="379.37143"
|
||||
style="font-style:normal;font-weight:normal;font-size:24.19441986px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404140;fill-opacity:1;stroke:none;stroke-width:0.60486054"
|
||||
y="286.69583"
|
||||
x="382.30896"
|
||||
style="font-style:normal;font-weight:normal;font-size:24.1944px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404140;fill-opacity:1;stroke:none;stroke-width:0.604861"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Slab';-inkscape-font-specification:'Roboto Slab';fill:#404140;fill-opacity:1;stroke-width:0.60486054"
|
||||
y="265.60547"
|
||||
x="379.37143"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Slab';-inkscape-font-specification:'Roboto Slab';fill:#404140;fill-opacity:1;stroke-width:0.604861"
|
||||
y="286.69583"
|
||||
x="382.30896"
|
||||
id="tspan877"
|
||||
sodipodi:role="line">RIGHT</tspan></text>
|
||||
<path
|
||||
@@ -165,90 +166,90 @@
|
||||
y="303.26227"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Slab';-inkscape-font-specification:'Roboto Slab';fill:#404140;fill-opacity:1;stroke-width:0.60486054">BACK</tspan></text>
|
||||
<rect
|
||||
y="157.47092"
|
||||
x="232.60791"
|
||||
y="144.53636"
|
||||
x="254.17665"
|
||||
height="42.092525"
|
||||
width="67.413025"
|
||||
id="rect4648"
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="157.47092"
|
||||
x="232.60791"
|
||||
y="144.53636"
|
||||
x="254.17665"
|
||||
height="4"
|
||||
width="67.413025"
|
||||
id="rect4650"
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:24.19441986px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404140;fill-opacity:1;stroke:none;stroke-width:0.60486054"
|
||||
x="243.7567"
|
||||
y="188.05624"
|
||||
style="font-style:normal;font-weight:normal;font-size:24.1944px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404140;fill-opacity:1;stroke:none;stroke-width:0.604861"
|
||||
x="265.32544"
|
||||
y="175.12169"
|
||||
id="text4654"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4652"
|
||||
x="243.7567"
|
||||
y="188.05624"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Slab';-inkscape-font-specification:'Roboto Slab';fill:#404140;fill-opacity:1;stroke-width:0.60486054">TOP</tspan></text>
|
||||
x="265.32544"
|
||||
y="175.12169"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Slab';-inkscape-font-specification:'Roboto Slab';fill:#404140;fill-opacity:1;stroke-width:0.604861">TOP</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path987"
|
||||
d="m 218.40482,122.94083 c -16.91553,4.34545 -0.82755,-60.207095 -43.66667,-57.999995"
|
||||
d="m 209.97456,140.94286 c -16.91553,4.34545 -0.82755,-60.207095 -43.66667,-57.999995"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<rect
|
||||
y="42.940842"
|
||||
x="100.96023"
|
||||
y="60.942871"
|
||||
x="92.529968"
|
||||
height="42.092525"
|
||||
width="80.376648"
|
||||
id="rect932"
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="42.940842"
|
||||
x="100.96023"
|
||||
y="60.942871"
|
||||
x="92.529968"
|
||||
height="4"
|
||||
width="80.376648"
|
||||
id="rect934"
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:24.19441986px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404140;fill-opacity:1;stroke:none;stroke-width:0.60486054"
|
||||
x="113.1997"
|
||||
y="73.526169"
|
||||
style="font-style:normal;font-weight:normal;font-size:24.1944px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404140;fill-opacity:1;stroke:none;stroke-width:0.604861"
|
||||
x="104.76944"
|
||||
y="91.528198"
|
||||
id="text938"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan936"
|
||||
x="113.1997"
|
||||
y="73.526169"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Slab';-inkscape-font-specification:'Roboto Slab';fill:#404140;fill-opacity:1;stroke-width:0.60486054">LEFT</tspan></text>
|
||||
x="104.76944"
|
||||
y="91.528198"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Slab';-inkscape-font-specification:'Roboto Slab';fill:#404140;fill-opacity:1;stroke-width:0.604861">LEFT</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1114"
|
||||
d="m 352.17398,396.21985 c -30.79693,19.2617 -138.39669,37.9659 -117.51303,-31.272"
|
||||
d="m 364.20393,405.65488 c -30.79693,19.2617 -138.39669,37.9659 -117.51303,-31.272"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<rect
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.52250361;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.5225;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1116"
|
||||
width="117.09069"
|
||||
height="42.092525"
|
||||
x="340.08701"
|
||||
y="371.42603" />
|
||||
x="352.11694"
|
||||
y="380.86105" />
|
||||
<rect
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.52250361;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.5225;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1118"
|
||||
width="117.09069"
|
||||
height="4"
|
||||
x="340.08701"
|
||||
y="371.42603" />
|
||||
x="352.11694"
|
||||
y="380.86105" />
|
||||
<text
|
||||
id="text1122"
|
||||
y="402.01135"
|
||||
x="349.49805"
|
||||
style="font-style:normal;font-weight:normal;font-size:24.19441986px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404140;fill-opacity:1;stroke:none;stroke-width:0.60486054"
|
||||
y="411.44638"
|
||||
x="361.52798"
|
||||
style="font-style:normal;font-weight:normal;font-size:24.1944px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#404140;fill-opacity:1;stroke:none;stroke-width:0.604861"
|
||||
xml:space="preserve"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Slab';-inkscape-font-specification:'Roboto Slab';fill:#404140;fill-opacity:1;stroke-width:0.60486054"
|
||||
y="402.01135"
|
||||
x="349.49805"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Slab';-inkscape-font-specification:'Roboto Slab';fill:#404140;fill-opacity:1;stroke-width:0.604861"
|
||||
y="411.44638"
|
||||
x="361.52798"
|
||||
id="tspan1120"
|
||||
sodipodi:role="line">BOTTOM</tspan></text>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
@@ -4,7 +4,7 @@ City Hub
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../main/cad/output/hub-city.png
|
||||
:height: 15 em
|
||||
:width: 30%
|
||||
|
||||
.. autoclass:: pybricks.hubs.CityHub
|
||||
:no-members:
|
||||
|
||||
@@ -6,14 +6,6 @@ Essential Hub
|
||||
.. figure:: ../../main/cad/output/hub-essential.png
|
||||
:width: 30%
|
||||
|
||||
|
||||
.. note:: Pybricks support for this hub is in beta.
|
||||
Check the `installation instructions`_ to try it out.
|
||||
The following functions may change before the final release.
|
||||
|
||||
.. _installation instructions: https://pybricks.com/install/
|
||||
|
||||
|
||||
.. autoclass:: pybricks.hubs.EssentialHub
|
||||
:no-members:
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ MINDSTORMS EV3 Brick
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../main/cad/output/ev3device-ev3.png
|
||||
:height: 15 em
|
||||
:width: 50%
|
||||
|
||||
.. autoclass:: pybricks.hubs.EV3Brick
|
||||
:no-members:
|
||||
|
||||
@@ -18,35 +18,35 @@
|
||||
.. pybricks-classlink:: MoveHub
|
||||
|
||||
.. figure:: ../../main/cad/output/hub-move.png
|
||||
:width: 30%
|
||||
:width: 40%
|
||||
:target: movehub.html
|
||||
|
||||
.. pybricks-classlink:: CityHub
|
||||
|
||||
.. figure:: ../../main/cad/output/hub-city.png
|
||||
:width: 20%
|
||||
:width: 25%
|
||||
:target: cityhub.html
|
||||
|
||||
.. pybricks-classlink:: TechnicHub
|
||||
|
||||
.. figure:: ../../main/cad/output/hub-technic.png
|
||||
:width: 25%
|
||||
:width: 35%
|
||||
:target: technichub.html
|
||||
|
||||
.. pybricks-classlink:: InventorHub PrimeHub
|
||||
|
||||
.. figure:: ../../main/cad/output/hub-inventor.png
|
||||
:width: 25%
|
||||
:width: 35%
|
||||
:target: primehub.html
|
||||
|
||||
.. pybricks-classlink:: PrimeHub
|
||||
|
||||
.. figure:: ../../main/cad/output/hub-prime.png
|
||||
:width: 25%
|
||||
:width: 35%
|
||||
:target: primehub.html
|
||||
|
||||
.. pybricks-classlink:: EssentialHub
|
||||
|
||||
.. figure:: ../../main/cad/output/hub-essential.png
|
||||
:width: 20%
|
||||
:width: 25%
|
||||
:target: essentialhub.html
|
||||
|
||||
@@ -6,7 +6,7 @@ Move Hub
|
||||
.. _fig_movehub:
|
||||
|
||||
.. figure:: ../../main/diagrams/movehub.png
|
||||
:height: 15 em
|
||||
:width: 100%
|
||||
|
||||
.. autoclass:: pybricks.hubs.MoveHub
|
||||
:no-members:
|
||||
|
||||
@@ -4,12 +4,7 @@ Prime Hub / Inventor Hub
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../main/cad/output/hub-spike-inventor.png
|
||||
:height: 15 em
|
||||
|
||||
|
||||
.. note:: Pybricks support for these hubs is in beta.
|
||||
Check the `installation instructions`_ to try it out.
|
||||
The following functions may change before the final release.
|
||||
:width: 80%
|
||||
|
||||
.. class:: InventorHub
|
||||
|
||||
@@ -257,5 +252,3 @@ Turning the hub off
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_common/build/system_shutdown_primehub.py
|
||||
|
||||
.. _installation instructions: https://pybricks.com/install/
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ Technic Hub
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../main/cad/output/hub-technic.png
|
||||
:height: 15 em
|
||||
:width: 40%
|
||||
|
||||
.. autoclass:: pybricks.hubs.TechnicHub
|
||||
:no-members:
|
||||
|
||||
@@ -8,14 +8,22 @@ directly on the hub, and get full control of your motors and sensors.
|
||||
Pybricks runs on LEGO® BOOST, City, Technic, MINDSTORMS®, and SPIKE®. You
|
||||
can code using Windows, Mac, Linux, Chromebook, and Android.
|
||||
|
||||
To run Pybricks MicroPython scripts, you must install the Pybricks firmware
|
||||
on your hub. Check `pybricks.com/install`_ to learn how.
|
||||
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.
|
||||
|
||||
.. only:: main
|
||||
|
||||
.. note:: You are viewing the stand-alone version of the documentation. To
|
||||
learn more about Pybricks and to start coding, visit
|
||||
the `Pybricks website`_
|
||||
|
||||
.. note:: Are you using LEGO MINDSTORMS EV3? Check out the
|
||||
`EV3 documentation`_ instead.
|
||||
|
||||
.. _EV3 documentation: https://pybricks.com/ev3-micropython/
|
||||
.. _Pybricks website: https://pybricks.com/
|
||||
|
||||
.. rubric:: Programmable hubs
|
||||
|
||||
.. figure:: ../main/cad/output/hub-all.png
|
||||
@@ -36,25 +44,11 @@ on your hub. Check `pybricks.com/install`_ to learn how.
|
||||
:width: 70 %
|
||||
:target: pupdevices/dcmotor.html
|
||||
|
||||
.. _support page: https://github.com/pybricks/support/issues/
|
||||
.. _EV3 documentation: https://pybricks.com/ev3-micropython/
|
||||
.. _Pybricks website: https://pybricks.com/
|
||||
.. _pybricks.com/install: https://pybricks.com/install/
|
||||
.. _latest stable release: https://www.code.pybricks.com/
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Table of contents
|
||||
:hidden:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Pybricks
|
||||
:hidden:
|
||||
|
||||
Home page <https://pybricks.com>
|
||||
Installation <https://pybricks.com/install/>
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Pybricks modules
|
||||
|
||||
@@ -34,29 +34,33 @@ Side
|
||||
**Prime Hub**
|
||||
|
||||
.. figure:: ../../main/diagrams/orientation_primehub.png
|
||||
:height: 17 em
|
||||
:width: 60%
|
||||
|
||||
**Inventor Hub**
|
||||
|
||||
.. figure:: ../../main/diagrams/orientation_inventorhub.png
|
||||
:height: 17 em
|
||||
:width: 60%
|
||||
|
||||
**Essential Hub**
|
||||
|
||||
.. figure:: ../../main/diagrams/orientation_essentialhub.png
|
||||
:height: 17 em
|
||||
:width: 60%
|
||||
|
||||
**Move Hub**
|
||||
|
||||
.. figure:: ../../main/diagrams/orientation_movehub.png
|
||||
:height: 17 em
|
||||
:width: 60%
|
||||
|
||||
**Technic Hub**
|
||||
|
||||
.. figure:: ../../main/diagrams/orientation_technichub.png
|
||||
:height: 17 em
|
||||
:width: 60%
|
||||
|
||||
.. versionchanged:: 3.2
|
||||
|
||||
Changed which side is the front.
|
||||
|
||||
**Tilt Sensor**
|
||||
|
||||
.. figure:: ../../main/diagrams/orientation_tiltsensor.png
|
||||
:height: 17 em
|
||||
:width: 50%
|
||||
|
||||
@@ -52,6 +52,8 @@
|
||||
|
||||
.. automethod:: pybricks.robotics.DriveBase.stalled
|
||||
|
||||
.. _measuring:
|
||||
|
||||
.. rubric:: Measuring and validating the robot dimensions
|
||||
|
||||
As a first estimate, you can measure the ``wheel_diameter`` and the
|
||||
@@ -59,6 +61,11 @@
|
||||
effectively touch the ground, you can estimate the ``axle_track`` as
|
||||
the distance between the midpoint of the wheels.
|
||||
|
||||
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.
|
||||
|
||||
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:
|
||||
|
||||
@@ -4,6 +4,16 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
## 1.5.0 - 2022-12-02
|
||||
|
||||
### Changed
|
||||
- Added `ujson` and `ustruct` modules.
|
||||
|
||||
## 1.4.0 - 2022-12-02
|
||||
|
||||
### Changed
|
||||
- Updated `pybricks` package to v3.2.0b6.
|
||||
|
||||
## 1.3.0 - 2022-11-11
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -1,39 +1,31 @@
|
||||
[[package]]
|
||||
name = "atomicwrites"
|
||||
version = "1.4.0"
|
||||
description = "Atomic file writes."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
|
||||
[[package]]
|
||||
name = "attrs"
|
||||
version = "21.4.0"
|
||||
version = "22.1.0"
|
||||
description = "Classes Without Boilerplate"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||
python-versions = ">=3.5"
|
||||
|
||||
[package.extras]
|
||||
dev = ["cloudpickle", "coverage[toml] (>=5.0.2)", "furo", "hypothesis", "mypy", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "six", "sphinx", "sphinx-notfound-page", "zope.interface"]
|
||||
dev = ["cloudpickle", "coverage[toml] (>=5.0.2)", "furo", "hypothesis", "mypy (>=0.900,!=0.940)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "sphinx", "sphinx-notfound-page", "zope.interface"]
|
||||
docs = ["furo", "sphinx", "sphinx-notfound-page", "zope.interface"]
|
||||
tests = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "six", "zope.interface"]
|
||||
tests-no-zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "six"]
|
||||
tests = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "zope.interface"]
|
||||
tests_no_zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy (>=0.900,!=0.940)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins"]
|
||||
|
||||
[[package]]
|
||||
name = "black"
|
||||
version = "22.3.0"
|
||||
version = "22.10.0"
|
||||
description = "The uncompromising code formatter."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.6.2"
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.dependencies]
|
||||
click = ">=8.0.0"
|
||||
mypy-extensions = ">=0.4.3"
|
||||
pathspec = ">=0.9.0"
|
||||
platformdirs = ">=2"
|
||||
tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
|
||||
tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""}
|
||||
|
||||
[package.extras]
|
||||
colorama = ["colorama (>=0.4.3)"]
|
||||
@@ -54,11 +46,11 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""}
|
||||
|
||||
[[package]]
|
||||
name = "colorama"
|
||||
version = "0.4.5"
|
||||
version = "0.4.6"
|
||||
description = "Cross-platform colored terminal text."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
||||
|
||||
[[package]]
|
||||
name = "docstring-parser"
|
||||
@@ -68,6 +60,17 @@ category = "main"
|
||||
optional = false
|
||||
python-versions = ">=3.6,<4.0"
|
||||
|
||||
[[package]]
|
||||
name = "exceptiongroup"
|
||||
version = "1.0.4"
|
||||
description = "Backport of PEP 654 (exception groups)"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.extras]
|
||||
test = ["pytest (>=6)"]
|
||||
|
||||
[[package]]
|
||||
name = "flake8"
|
||||
version = "4.0.1"
|
||||
@@ -145,23 +148,23 @@ testing = ["docopt", "pytest (<6.0.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "pathspec"
|
||||
version = "0.9.0"
|
||||
version = "0.10.2"
|
||||
description = "Utility library for gitignore style pattern matching of file paths."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[[package]]
|
||||
name = "platformdirs"
|
||||
version = "2.5.2"
|
||||
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
|
||||
version = "2.5.4"
|
||||
description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.extras]
|
||||
docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx (>=4)", "sphinx-autodoc-typehints (>=1.12)"]
|
||||
test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)"]
|
||||
docs = ["furo (>=2022.9.29)", "proselint (>=0.13)", "sphinx (>=5.3)", "sphinx-autodoc-typehints (>=1.19.4)"]
|
||||
test = ["appdirs (==1.4.4)", "pytest (>=7.2)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"]
|
||||
|
||||
[[package]]
|
||||
name = "pluggy"
|
||||
@@ -175,17 +178,9 @@ python-versions = ">=3.6"
|
||||
dev = ["pre-commit", "tox"]
|
||||
testing = ["pytest", "pytest-benchmark"]
|
||||
|
||||
[[package]]
|
||||
name = "py"
|
||||
version = "1.11.0"
|
||||
description = "library with cross-python path, ini-parsing, io, code, log facilities"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||
|
||||
[[package]]
|
||||
name = "pybricks"
|
||||
version = "3.2.0b5"
|
||||
version = "3.2.0b6"
|
||||
description = "Documentation and user-API stubs for Pybricks MicroPython"
|
||||
category = "main"
|
||||
optional = false
|
||||
@@ -225,21 +220,20 @@ diagrams = ["jinja2", "railroad-diagrams"]
|
||||
|
||||
[[package]]
|
||||
name = "pytest"
|
||||
version = "7.1.2"
|
||||
version = "7.2.0"
|
||||
description = "pytest: simple powerful testing with Python"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
|
||||
[package.dependencies]
|
||||
atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
|
||||
attrs = ">=19.2.0"
|
||||
colorama = {version = "*", markers = "sys_platform == \"win32\""}
|
||||
exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""}
|
||||
iniconfig = "*"
|
||||
packaging = "*"
|
||||
pluggy = ">=0.12,<2.0"
|
||||
py = ">=1.8.2"
|
||||
tomli = ">=1.0.0"
|
||||
tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
|
||||
|
||||
[package.extras]
|
||||
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
|
||||
@@ -263,54 +257,52 @@ python-versions = ">=3.7"
|
||||
[metadata]
|
||||
lock-version = "1.1"
|
||||
python-versions = ">= 3.10, < 3.11"
|
||||
content-hash = "4f27a31e5659d2900dfa700d0e7a87ec6a2b4557af49f21102fbbc78054371c2"
|
||||
content-hash = "a0626d7e1cf972e4716f8122865c1d4b6355e1a5104b6f538da2c1cb44ba792c"
|
||||
|
||||
[metadata.files]
|
||||
atomicwrites = [
|
||||
{file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"},
|
||||
{file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"},
|
||||
]
|
||||
attrs = [
|
||||
{file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"},
|
||||
{file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"},
|
||||
{file = "attrs-22.1.0-py2.py3-none-any.whl", hash = "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"},
|
||||
{file = "attrs-22.1.0.tar.gz", hash = "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6"},
|
||||
]
|
||||
black = [
|
||||
{file = "black-22.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2497f9c2386572e28921fa8bec7be3e51de6801f7459dffd6e62492531c47e09"},
|
||||
{file = "black-22.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5795a0375eb87bfe902e80e0c8cfaedf8af4d49694d69161e5bd3206c18618bb"},
|
||||
{file = "black-22.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3556168e2e5c49629f7b0f377070240bd5511e45e25a4497bb0073d9dda776a"},
|
||||
{file = "black-22.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67c8301ec94e3bcc8906740fe071391bce40a862b7be0b86fb5382beefecd968"},
|
||||
{file = "black-22.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:fd57160949179ec517d32ac2ac898b5f20d68ed1a9c977346efbac9c2f1e779d"},
|
||||
{file = "black-22.3.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cc1e1de68c8e5444e8f94c3670bb48a2beef0e91dddfd4fcc29595ebd90bb9ce"},
|
||||
{file = "black-22.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2fc92002d44746d3e7db7cf9313cf4452f43e9ea77a2c939defce3b10b5c82"},
|
||||
{file = "black-22.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:a6342964b43a99dbc72f72812bf88cad8f0217ae9acb47c0d4f141a6416d2d7b"},
|
||||
{file = "black-22.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:328efc0cc70ccb23429d6be184a15ce613f676bdfc85e5fe8ea2a9354b4e9015"},
|
||||
{file = "black-22.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06f9d8846f2340dfac80ceb20200ea5d1b3f181dd0556b47af4e8e0b24fa0a6b"},
|
||||
{file = "black-22.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4efa5fad66b903b4a5f96d91461d90b9507a812b3c5de657d544215bb7877a"},
|
||||
{file = "black-22.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8477ec6bbfe0312c128e74644ac8a02ca06bcdb8982d4ee06f209be28cdf163"},
|
||||
{file = "black-22.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:637a4014c63fbf42a692d22b55d8ad6968a946b4a6ebc385c5505d9625b6a464"},
|
||||
{file = "black-22.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:863714200ada56cbc366dc9ae5291ceb936573155f8bf8e9de92aef51f3ad0f0"},
|
||||
{file = "black-22.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10dbe6e6d2988049b4655b2b739f98785a884d4d6b85bc35133a8fb9a2233176"},
|
||||
{file = "black-22.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:cee3e11161dde1b2a33a904b850b0899e0424cc331b7295f2a9698e79f9a69a0"},
|
||||
{file = "black-22.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5891ef8abc06576985de8fa88e95ab70641de6c1fca97e2a15820a9b69e51b20"},
|
||||
{file = "black-22.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:30d78ba6bf080eeaf0b7b875d924b15cd46fec5fd044ddfbad38c8ea9171043a"},
|
||||
{file = "black-22.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee8f1f7228cce7dffc2b464f07ce769f478968bfb3dd1254a4c2eeed84928aad"},
|
||||
{file = "black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ee227b696ca60dd1c507be80a6bc849a5a6ab57ac7352aad1ffec9e8b805f21"},
|
||||
{file = "black-22.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:9b542ced1ec0ceeff5b37d69838106a6348e60db7b8fdd245294dc1d26136265"},
|
||||
{file = "black-22.3.0-py3-none-any.whl", hash = "sha256:bc58025940a896d7e5356952228b68f793cf5fcb342be703c3a2669a1488cb72"},
|
||||
{file = "black-22.3.0.tar.gz", hash = "sha256:35020b8886c022ced9282b51b5a875b6d1ab0c387b31a065b84db7c33085ca79"},
|
||||
{file = "black-22.10.0-1fixedarch-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5cc42ca67989e9c3cf859e84c2bf014f6633db63d1cbdf8fdb666dcd9e77e3fa"},
|
||||
{file = "black-22.10.0-1fixedarch-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:5d8f74030e67087b219b032aa33a919fae8806d49c867846bfacde57f43972ef"},
|
||||
{file = "black-22.10.0-1fixedarch-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:197df8509263b0b8614e1df1756b1dd41be6738eed2ba9e9769f3880c2b9d7b6"},
|
||||
{file = "black-22.10.0-1fixedarch-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:2644b5d63633702bc2c5f3754b1b475378fbbfb481f62319388235d0cd104c2d"},
|
||||
{file = "black-22.10.0-1fixedarch-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:e41a86c6c650bcecc6633ee3180d80a025db041a8e2398dcc059b3afa8382cd4"},
|
||||
{file = "black-22.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2039230db3c6c639bd84efe3292ec7b06e9214a2992cd9beb293d639c6402edb"},
|
||||
{file = "black-22.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14ff67aec0a47c424bc99b71005202045dc09270da44a27848d534600ac64fc7"},
|
||||
{file = "black-22.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:819dc789f4498ecc91438a7de64427c73b45035e2e3680c92e18795a839ebb66"},
|
||||
{file = "black-22.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5b9b29da4f564ba8787c119f37d174f2b69cdfdf9015b7d8c5c16121ddc054ae"},
|
||||
{file = "black-22.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8b49776299fece66bffaafe357d929ca9451450f5466e997a7285ab0fe28e3b"},
|
||||
{file = "black-22.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:21199526696b8f09c3997e2b4db8d0b108d801a348414264d2eb8eb2532e540d"},
|
||||
{file = "black-22.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e464456d24e23d11fced2bc8c47ef66d471f845c7b7a42f3bd77bf3d1789650"},
|
||||
{file = "black-22.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9311e99228ae10023300ecac05be5a296f60d2fd10fff31cf5c1fa4ca4b1988d"},
|
||||
{file = "black-22.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fba8a281e570adafb79f7755ac8721b6cf1bbf691186a287e990c7929c7692ff"},
|
||||
{file = "black-22.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:915ace4ff03fdfff953962fa672d44be269deb2eaf88499a0f8805221bc68c87"},
|
||||
{file = "black-22.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:444ebfb4e441254e87bad00c661fe32df9969b2bf224373a448d8aca2132b395"},
|
||||
{file = "black-22.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:974308c58d057a651d182208a484ce80a26dac0caef2895836a92dd6ebd725e0"},
|
||||
{file = "black-22.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72ef3925f30e12a184889aac03d77d031056860ccae8a1e519f6cbb742736383"},
|
||||
{file = "black-22.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:432247333090c8c5366e69627ccb363bc58514ae3e63f7fc75c54b1ea80fa7de"},
|
||||
{file = "black-22.10.0-py3-none-any.whl", hash = "sha256:c957b2b4ea88587b46cf49d1dc17681c1e672864fd7af32fc1e9664d572b3458"},
|
||||
{file = "black-22.10.0.tar.gz", hash = "sha256:f513588da599943e0cde4e32cc9879e825d58720d6557062d1098c5ad80080e1"},
|
||||
]
|
||||
click = [
|
||||
{file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
|
||||
{file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
|
||||
]
|
||||
colorama = [
|
||||
{file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"},
|
||||
{file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"},
|
||||
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
|
||||
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
||||
]
|
||||
docstring-parser = [
|
||||
{file = "docstring_parser-0.14.1-py3-none-any.whl", hash = "sha256:14ac6ec1f1ba6905c4d8cb90fd0bc55394f5678183752c90e44812bf28d7a515"},
|
||||
{file = "docstring_parser-0.14.1.tar.gz", hash = "sha256:2c77522e31b7c88b1ab457a1f3c9ae38947ad719732260ba77ee8a3deb58622a"},
|
||||
]
|
||||
exceptiongroup = [
|
||||
{file = "exceptiongroup-1.0.4-py3-none-any.whl", hash = "sha256:542adf9dea4055530d6e1279602fa5cb11dab2395fa650b8674eaec35fc4a828"},
|
||||
{file = "exceptiongroup-1.0.4.tar.gz", hash = "sha256:bd14967b79cd9bdb54d97323216f8fdf533e278df937aa2a90089e7d6e06e5ec"},
|
||||
]
|
||||
flake8 = [
|
||||
{file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"},
|
||||
{file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"},
|
||||
@@ -340,21 +332,17 @@ parso = [
|
||||
{file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"},
|
||||
]
|
||||
pathspec = [
|
||||
{file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"},
|
||||
{file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"},
|
||||
{file = "pathspec-0.10.2-py3-none-any.whl", hash = "sha256:88c2606f2c1e818b978540f73ecc908e13999c6c3a383daf3705652ae79807a5"},
|
||||
{file = "pathspec-0.10.2.tar.gz", hash = "sha256:8f6bf73e5758fd365ef5d58ce09ac7c27d2833a8d7da51712eac6e27e35141b0"},
|
||||
]
|
||||
platformdirs = [
|
||||
{file = "platformdirs-2.5.2-py3-none-any.whl", hash = "sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788"},
|
||||
{file = "platformdirs-2.5.2.tar.gz", hash = "sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19"},
|
||||
{file = "platformdirs-2.5.4-py3-none-any.whl", hash = "sha256:af0276409f9a02373d540bf8480021a048711d572745aef4b7842dad245eba10"},
|
||||
{file = "platformdirs-2.5.4.tar.gz", hash = "sha256:1006647646d80f16130f052404c6b901e80ee4ed6bef6792e1f238a8969106f7"},
|
||||
]
|
||||
pluggy = [
|
||||
{file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"},
|
||||
{file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"},
|
||||
]
|
||||
py = [
|
||||
{file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
|
||||
{file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
|
||||
]
|
||||
pybricks = []
|
||||
pycodestyle = [
|
||||
{file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"},
|
||||
@@ -369,8 +357,8 @@ pyparsing = [
|
||||
{file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"},
|
||||
]
|
||||
pytest = [
|
||||
{file = "pytest-7.1.2-py3-none-any.whl", hash = "sha256:13d0e3ccfc2b6e26be000cb6568c832ba67ba32e719443bfe725814d3c42433c"},
|
||||
{file = "pytest-7.1.2.tar.gz", hash = "sha256:a06a0425453864a270bc45e71f783330a7428defb4230fb5e6a731fde06ecd45"},
|
||||
{file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"},
|
||||
{file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"},
|
||||
]
|
||||
tomli = [
|
||||
{file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
[tool.poetry]
|
||||
name = "pybricks_jedi"
|
||||
version = "1.3.0"
|
||||
version = "1.5.0"
|
||||
description = "Code completion for Pybricks."
|
||||
authors = ["The Pybricks Authors"]
|
||||
license = "MIT"
|
||||
|
||||
[tool.poetry.dependencies]
|
||||
python = ">= 3.10, < 3.11"
|
||||
pybricks = "3.2.0b5"
|
||||
pybricks = "3.2.0b6"
|
||||
jedi = "0.18.1"
|
||||
typing-extensions = "4.2.0"
|
||||
docstring-parser = "0.14.1"
|
||||
|
||||
@@ -21,9 +21,11 @@ PYBRICKS_CODE_PACKAGES = {
|
||||
"pybricks.tools",
|
||||
"uerrno",
|
||||
"uio",
|
||||
"ujson",
|
||||
"umath",
|
||||
"urandom",
|
||||
"uselect",
|
||||
"ustruct",
|
||||
"usys",
|
||||
}
|
||||
|
||||
|
||||
@@ -18,9 +18,11 @@ def test_from():
|
||||
"pybricks",
|
||||
"uerrno",
|
||||
"uio",
|
||||
"ujson",
|
||||
"umath",
|
||||
"urandom",
|
||||
"uselect",
|
||||
"ustruct",
|
||||
"usys",
|
||||
]
|
||||
|
||||
@@ -186,6 +188,19 @@ def test_from_uio_import():
|
||||
]
|
||||
|
||||
|
||||
def test_from_ujson_import():
|
||||
code = "from ujson import "
|
||||
completions: list[CompletionItem] = json.loads(complete(code, 1, len(code) + 1))
|
||||
assert [c["insertText"] for c in completions] == [
|
||||
"decode", # FIXME: Shouldn't be here
|
||||
"dump",
|
||||
"dumps",
|
||||
"encode", # FIXME: Shouldn't be here
|
||||
"load",
|
||||
"loads",
|
||||
]
|
||||
|
||||
|
||||
def test_from_umath_import():
|
||||
code = "from umath import "
|
||||
completions: list[CompletionItem] = json.loads(complete(code, 1, len(code) + 1))
|
||||
@@ -247,6 +262,18 @@ def test_from_uselect_import():
|
||||
]
|
||||
|
||||
|
||||
def test_from_ustruct_import():
|
||||
code = "from ustruct import "
|
||||
completions: list[CompletionItem] = json.loads(complete(code, 1, len(code) + 1))
|
||||
assert [c["insertText"] for c in completions] == [
|
||||
"calcsize",
|
||||
"pack",
|
||||
"pack_into",
|
||||
"unpack",
|
||||
"unpack_from",
|
||||
]
|
||||
|
||||
|
||||
def test_from_usys_import():
|
||||
code = "from usys import "
|
||||
completions: list[CompletionItem] = json.loads(complete(code, 1, len(code) + 1))
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
|
||||
<!-- refer to https://keepachangelog.com/en/1.0.0/ for guidance -->
|
||||
|
||||
## 2.5.0 - 2022-12-02
|
||||
|
||||
### Changed
|
||||
- Updated docs to v3.2.0b6.
|
||||
|
||||
## 2.4.0 - 2022-11-11
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@pybricks/ide-docs",
|
||||
"version": "2.4.0",
|
||||
"version": "2.5.0",
|
||||
"description": "Special build of Pybricks API docs for embedding in an IDE.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
@@ -2,6 +2,16 @@
|
||||
|
||||
<!-- refer to https://keepachangelog.com/en/1.0.0/ for guidance -->
|
||||
|
||||
## 1.5.0 - 2022-12-02
|
||||
|
||||
### Changed
|
||||
- Updated `pybricks_jedi` Python package to v1.5.0.
|
||||
|
||||
## 1.4.0 - 2022-12-02
|
||||
|
||||
### Changed
|
||||
- Updated `pybricks_jedi` Python package to v1.4.0.
|
||||
|
||||
## 1.3.0 - 2022-11-11
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -12,7 +12,7 @@ BUILD_DIR = (pathlib.Path(__file__).parent / "build").resolve()
|
||||
|
||||
package_json = {
|
||||
"name": "@pybricks/jedi",
|
||||
"version": "1.3.0",
|
||||
"version": "1.5.0",
|
||||
"description": "Binary distribution of pybricks-jedi Python package and dependencies for use with Pyodide.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -38,7 +38,7 @@ subprocess.check_call(
|
||||
"pip",
|
||||
"download",
|
||||
"--only-binary=any",
|
||||
"pybricks-jedi==1.3.0",
|
||||
"pybricks-jedi==1.5.0",
|
||||
],
|
||||
cwd=BUILD_DIR,
|
||||
)
|
||||
|
||||
@@ -41,7 +41,7 @@ uvloop = ["uvloop (>=0.15.2)"]
|
||||
|
||||
[[package]]
|
||||
name = "certifi"
|
||||
version = "2022.9.24"
|
||||
version = "2022.12.7"
|
||||
description = "Python package for providing Mozilla's CA Bundle."
|
||||
category = "dev"
|
||||
optional = false
|
||||
@@ -64,7 +64,7 @@ optional = false
|
||||
python-versions = ">=3.6.0"
|
||||
|
||||
[package.extras]
|
||||
unicode_backport = ["unicodedata2"]
|
||||
unicode-backport = ["unicodedata2"]
|
||||
|
||||
[[package]]
|
||||
name = "click"
|
||||
@@ -293,7 +293,7 @@ urllib3 = ">=1.21.1,<1.27"
|
||||
|
||||
[package.extras]
|
||||
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
||||
use_chardet_on_py3 = ["chardet (>=3.0.2,<6)"]
|
||||
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
||||
|
||||
[[package]]
|
||||
name = "restructuredtext-lint"
|
||||
@@ -324,7 +324,7 @@ python-versions = "*"
|
||||
|
||||
[[package]]
|
||||
name = "Sphinx"
|
||||
version = "5.1.0.dev20221202"
|
||||
version = "5.1.0.dev20221209"
|
||||
description = "Python documentation generator"
|
||||
category = "dev"
|
||||
optional = false
|
||||
@@ -353,7 +353,7 @@ sphinxcontrib-serializinghtml = ">=1.1.5"
|
||||
[package.extras]
|
||||
docs = ["sphinxcontrib-websupport"]
|
||||
lint = ["docutils-stubs", "flake8 (>=3.5.0)", "isort", "mypy (>=0.950)", "types-requests", "types-typed-ast"]
|
||||
test = ["cython", "html5lib", "pytest (>=4.6)", "typed_ast"]
|
||||
test = ["cython", "html5lib", "pytest (>=4.6)", "typed-ast"]
|
||||
|
||||
[package.source]
|
||||
type = "git"
|
||||
@@ -545,8 +545,8 @@ black = [
|
||||
{file = "black-22.10.0.tar.gz", hash = "sha256:f513588da599943e0cde4e32cc9879e825d58720d6557062d1098c5ad80080e1"},
|
||||
]
|
||||
certifi = [
|
||||
{file = "certifi-2022.9.24-py3-none-any.whl", hash = "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"},
|
||||
{file = "certifi-2022.9.24.tar.gz", hash = "sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14"},
|
||||
{file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"},
|
||||
{file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"},
|
||||
]
|
||||
chardet = [
|
||||
{file = "chardet-5.1.0-py3-none-any.whl", hash = "sha256:362777fb014af596ad31334fde1e8c327dfdb076e1960d1694662d46a6917ab9"},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[tool.poetry]
|
||||
name = "pybricks"
|
||||
version = "3.2.0b6"
|
||||
version = "3.2.0c1"
|
||||
description = "Documentation and user-API stubs for Pybricks MicroPython"
|
||||
authors = ["The Pybricks Authors <dev@pybricks.com>"]
|
||||
maintainers = ["Laurens Valk <laurens@pybricks.com>", "David Lechner <david@pybricks.com>" ]
|
||||
@@ -18,9 +18,11 @@ packages = [
|
||||
{ include = "micropython", from = "src" },
|
||||
{ include = "uerrno", from = "src" },
|
||||
{ include = "uio", from = "src" },
|
||||
{ include = "ujson", from = "src" },
|
||||
{ include = "umath", from = "src" },
|
||||
{ include = "urandom", from = "src" },
|
||||
{ include = "uselect", from = "src" },
|
||||
{ include = "ustruct", from = "src" },
|
||||
{ include = "usys", from = "src" },
|
||||
]
|
||||
|
||||
|
||||
@@ -177,9 +177,9 @@ def kbd_intr(chr: int) -> None:
|
||||
"""
|
||||
kbd_intr(chr)
|
||||
|
||||
Sets the character that raises a ``KeyboardInterrupt`` exception when
|
||||
Sets the character that triggers a ``KeyboardInterrupt`` exception when
|
||||
you type it in the input window. By default it is set to ``3``,
|
||||
corresponding to :kbd:`Ctrl-C`.
|
||||
which corresponds to pressing :kbd:`Ctrl` :kbd:`C`.
|
||||
|
||||
Arguments:
|
||||
chr (int): Character that should raise the ``KeyboardInterrupt``.
|
||||
|
||||
@@ -28,8 +28,12 @@ class DriveBase:
|
||||
|
||||
**Positive** angles and turn rates mean turning **right**.
|
||||
**Negative** means **left**. So when viewed from the top,
|
||||
positive means clockwise and negative means counterclockwise.
|
||||
positive means clockwise and negative means counterclockwise. If desired,
|
||||
you can flip this convention by reversing the ``left_motor`` and
|
||||
``right_motor`` when you initialize this class.
|
||||
|
||||
See the `measuring`_ section for tips to measure and adjust the diameter
|
||||
and axle track values.
|
||||
"""
|
||||
|
||||
distance_control = _common.Control()
|
||||
@@ -139,6 +143,10 @@ class DriveBase:
|
||||
|
||||
If you give no arguments, this returns the current values as a tuple.
|
||||
|
||||
The default 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.
|
||||
|
||||
Arguments:
|
||||
straight_speed (Number, mm/s): Straight-line speed of the robot.
|
||||
straight_acceleration (Number, mm/s²): Straight-line
|
||||
|
||||
@@ -1399,7 +1399,7 @@ class KeyError(LookupError):
|
||||
|
||||
class KeyboardInterrupt(BaseException):
|
||||
"""
|
||||
Raised when the user hits the interrupt key (normally :kbd:`Control-C`).
|
||||
Raised when the user hits the interrupt key (normally :kbd:`Ctrl` :kbd:`C`).
|
||||
"""
|
||||
|
||||
|
||||
|
||||
@@ -11,10 +11,6 @@ Convert between Python objects and the JSON data format.
|
||||
|
||||
from typing import IO, Any, Tuple
|
||||
|
||||
import json
|
||||
|
||||
json.dump
|
||||
|
||||
|
||||
def dump(object: Any, stream: IO, separators: Tuple[str, str] = (", ", ": ")):
|
||||
"""
|
||||
|
||||