Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c46b249c8c | ||
|
|
67008b67d8 | ||
|
|
9c1beef6b6 | ||
|
|
5eb7a143fa | ||
|
|
fc04059d86 | ||
|
|
0082f0502a | ||
|
|
e7dc4bb609 | ||
|
|
fb86e4bcef | ||
|
|
632908f59a | ||
|
|
4a7fa12eaa | ||
|
|
109fcf19c1 | ||
|
|
3229da030b | ||
|
|
4b052fa66d | ||
|
|
3c6ebd09bd | ||
|
|
af1b84afe2 | ||
|
|
45dbd7db5a | ||
|
|
a7699d6546 | ||
|
|
55c83cb026 | ||
|
|
deb211bdb7 | ||
|
|
8a5e5c3fb4 | ||
|
|
2a1640f7dc | ||
|
|
535aac8144 | ||
|
|
00cc5ee44e | ||
|
|
f0b882b576 | ||
|
|
8ed45aecfb | ||
|
|
77605e8701 | ||
|
|
b4c8242133 | ||
|
|
06e01e5ac8 | ||
|
|
ff22c32c24 | ||
|
|
95eb999493 | ||
|
|
7d729a8e9e | ||
|
|
c750a3cd88 | ||
|
|
adf6e03bc9 | ||
|
|
0466ce947f | ||
|
|
7abb670f66 | ||
|
|
55d7a8a254 | ||
|
|
e051455e23 | ||
|
|
4b5b97bbb2 | ||
|
|
1573508f75 | ||
|
|
018b0d8b9d | ||
|
|
47d7fa46d8 | ||
|
|
21e5400ff3 | ||
|
|
bb77e0f413 | ||
|
|
c5851a3569 | ||
|
|
93f27f61e7 | ||
|
|
7d40e07dfb | ||
|
|
5ab71de988 | ||
|
|
d7254472f0 | ||
|
|
245542ce4d | ||
|
|
31891d0970 | ||
|
|
3cc9ec157e | ||
|
|
9aa00fac15 | ||
|
|
2a2ba8c6aa | ||
|
|
db4cbe66c1 | ||
|
|
087dab5ed1 | ||
|
|
69c32e5c0d | ||
|
|
14ad697565 | ||
|
|
d2a6b07e0c | ||
|
|
853b141153 | ||
|
|
12a6b49f97 | ||
|
|
06c1d00f22 | ||
|
|
8c0d7a3904 | ||
|
|
9b5590047d | ||
|
|
46d9e3c119 | ||
|
|
bb7c9adbb8 | ||
|
|
5f4ef05c6e | ||
|
|
5bbbff2550 | ||
|
|
8f637c52cd | ||
|
|
f826e7641c | ||
|
|
400067c364 | ||
|
|
92311b65fb | ||
|
|
05ecf8bcb6 | ||
|
|
1f991302e5 | ||
|
|
f3f0532f74 | ||
|
|
3a9e5728c6 | ||
|
|
2a97b62603 | ||
|
|
64146f5afa | ||
|
|
e52130b627 | ||
|
|
a2583944d9 | ||
|
|
4c6c149d4a | ||
|
|
9835ee9dbe | ||
|
|
755d0520a6 | ||
|
|
08c55218fa | ||
|
|
352bff564c | ||
|
|
313a51219a | ||
|
|
c2d2884794 | ||
|
|
32a47bcee0 | ||
|
|
b5890437de | ||
|
|
b0af924cfc | ||
|
|
915d445561 | ||
|
|
070264647f | ||
|
|
ab1f58c2cc | ||
|
|
d6bc72c3c1 | ||
|
|
4e2aec6c35 | ||
|
|
2375a1abcb | ||
|
|
ab4da63029 | ||
|
|
ab384b464b | ||
|
|
d2de1089d6 | ||
|
|
b76b6cf835 | ||
|
|
a92eae867b | ||
|
|
0a86e0a719 | ||
|
|
7800ab05b2 | ||
|
|
032d3786bf | ||
|
|
db65f8d646 | ||
|
|
3a66b8e053 | ||
|
|
8a1716d5e2 | ||
|
|
abe4c1bc9a | ||
|
|
84b882f8b8 | ||
|
|
c3fc818037 | ||
|
|
57ff8312f3 | ||
|
|
68511bd3eb | ||
|
|
ba4fe80b50 | ||
|
|
b7d728a86e | ||
|
|
1e751d6afc | ||
|
|
aaf98308f7 | ||
|
|
3e322165f5 | ||
|
|
1c201b5f8c | ||
|
|
abe1be18b2 | ||
|
|
983562f7b8 | ||
|
|
1c9d0dd86f | ||
|
|
22a057d6e3 | ||
|
|
e92fd1f05b | ||
|
|
9a45c6582c | ||
|
|
3e3af62713 | ||
|
|
c93875729a | ||
|
|
3288591cc3 | ||
|
|
8f21cea345 | ||
|
|
4e9886dba8 | ||
|
|
cb91368b32 | ||
|
|
17b1151490 | ||
|
|
6083992914 | ||
|
|
70ed79076d | ||
|
|
31f2e9b071 | ||
|
|
b0ffb24a2e | ||
|
|
30e87695ea | ||
|
|
429d5d4d0d | ||
|
|
7b23db5abd | ||
|
|
5c8809f542 | ||
|
|
9bcbfd2512 | ||
|
|
1e7991f68d | ||
|
|
b29dab4d6b | ||
|
|
d2a5cb2d60 | ||
|
|
7b090d56d8 | ||
|
|
bcf610a29e | ||
|
|
55001644d2 | ||
|
|
eef4e9f672 | ||
|
|
3de7f92e8a | ||
|
|
d4c44a292c | ||
|
|
90bea73c11 | ||
|
|
a603c19d0e | ||
|
|
c3eb31d348 | ||
|
|
1b730836e4 | ||
|
|
4c65e994a3 | ||
|
|
ede503f6fe | ||
|
|
24d35993e9 | ||
|
|
d6651fc3c5 | ||
|
|
6671e3def0 | ||
|
|
6662862b43 | ||
|
|
500bac9929 | ||
|
|
5e6a8c8334 | ||
|
|
4f27a465c4 | ||
|
|
f490a3b2c2 | ||
|
|
9ae4955344 | ||
|
|
b89da4b061 | ||
|
|
b974ead0dc | ||
|
|
0427436df6 | ||
|
|
4319b2fad8 | ||
|
|
0fb150be19 | ||
|
|
6d0984f5fc | ||
|
|
b708fe283c | ||
|
|
74d59b43ac | ||
|
|
c6c14afca2 | ||
|
|
282e34b9e0 | ||
|
|
1eb75e24e7 | ||
|
|
be8592f096 | ||
|
|
4d88fbbbd2 | ||
|
|
70ffbfa4f3 | ||
|
|
c987bc2f80 | ||
|
|
7b8a848c61 | ||
|
|
0c5457a5f2 | ||
|
|
6aa6059974 | ||
|
|
98f247688e | ||
|
|
51f9d916e0 | ||
|
|
8a9386ffc5 | ||
|
|
bcd44dad84 | ||
|
|
ac96985c71 | ||
|
|
b98f487f3c | ||
|
|
42917f14ef | ||
|
|
938c62430f | ||
|
|
6132ae66da | ||
|
|
a02c7023e5 | ||
|
|
d15aa22131 | ||
|
|
19009d1637 | ||
|
|
4dbaf5f68e | ||
|
|
af2b1c66c9 | ||
|
|
3488e1fb83 | ||
|
|
f26d750fbf | ||
|
|
6e6c8956b9 | ||
|
|
80a426bc4f | ||
|
|
93da01c7ce | ||
|
|
55c4c86c23 | ||
|
|
82b16dc8de | ||
|
|
8078b6febb | ||
|
|
8a43dc936a | ||
|
|
7d1fbe9ce9 | ||
|
|
38a1cf9712 | ||
|
|
102039385a | ||
|
|
e780a65007 | ||
|
|
b8505ff218 | ||
|
|
20fec6461a | ||
|
|
d66e18b113 | ||
|
|
55fe666dac | ||
|
|
3554814c86 | ||
|
|
fd75e94824 | ||
|
|
70cc605b56 | ||
|
|
0779b8df16 | ||
|
|
ecc30c2d92 | ||
|
|
80840396aa | ||
|
|
c536081dea | ||
|
|
87a488e790 | ||
|
|
90647e25dd | ||
|
|
01c6e29dd5 | ||
|
|
1eac0972ac | ||
|
|
ce087f5330 | ||
|
|
9e06245860 | ||
|
|
4b9cedb444 | ||
|
|
a99c4328fc | ||
|
|
07b4b5b783 | ||
|
|
13be26443b | ||
|
|
ce993900d1 | ||
|
|
f604dd321e | ||
|
|
e0ac54ec0a | ||
|
|
8273c00881 | ||
|
|
4da7b456bb | ||
|
|
7498751ee3 | ||
|
|
a8b0306afe | ||
|
|
2dd133d5e5 | ||
|
|
e67c048b18 | ||
|
|
10b6808037 | ||
|
|
2d3e85f531 |
@@ -0,0 +1,2 @@
|
||||
|
||||
github: [pybricks]
|
||||
@@ -0,0 +1,38 @@
|
||||
name: Release @pybricks/ide-docs
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '@pybricks/ide-docs/**'
|
||||
|
||||
jobs:
|
||||
publish_ide_docs:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Ubuntu packages
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y dvisvgm preview-latex-style texlive texlive-fonts-extra texlive-latex-extra
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Set up Python 3.8
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: 3.8
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install poetry
|
||||
poetry run python -m pip install --upgrade pip
|
||||
poetry run python -m pip install --upgrade setuptools
|
||||
poetry install
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '14.x'
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
- run: yarn build
|
||||
working-directory: doc/ide
|
||||
- run: yarn publish
|
||||
working-directory: doc/ide
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
|
||||
@@ -8,7 +8,7 @@ on: [ push, pull_request ]
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [3.8, 3.9]
|
||||
@@ -32,6 +32,12 @@ jobs:
|
||||
- name: Build package
|
||||
run: poetry build
|
||||
- name: Lint docs
|
||||
run: poetry run doc8 --extension .inc
|
||||
- name: Build html docs
|
||||
run: poetry run doc8
|
||||
- name: Build html docs for Read the Docs
|
||||
run: poetry run make -C doc html
|
||||
- name: Instal IDE docs dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install dvisvgm preview-latex-style texlive texlive-fonts-extra texlive-latex-extra
|
||||
- name: Build html docs for Pybricks Code IDE
|
||||
run: poetry run make -C doc html SOURCEDIR=ide
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
[submodule "pybricks-projects"]
|
||||
path = pybricks-projects
|
||||
url = https://github.com/pybricks/pybricks-projects
|
||||
[submodule "media/ev3dev-media"]
|
||||
path = media/ev3dev-media
|
||||
url = https://github.com/ev3dev/ev3dev-media.git
|
||||
|
||||
@@ -15,7 +15,7 @@ builtins
|
||||
cdot
|
||||
Celcius
|
||||
cityhub
|
||||
cplushub
|
||||
technichub
|
||||
de
|
||||
dev
|
||||
en
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
# Changelog
|
||||
|
||||
<!-- refer to https://keepachangelog.com/en/1.0.0/ for guidance -->
|
||||
|
||||
## 2.0.0.post2
|
||||
|
||||
### Added
|
||||
- Added this changelog.
|
||||
|
||||
### Fixed
|
||||
- Fixed code completion for `DCMotor` and `Motor` classes in MS Python VS Code extension.
|
||||
- Fixed missing `DCMotor` type in `ev3devices`.
|
||||
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018-2020 The Pybricks Authors
|
||||
Copyright (c) 2018-2021 The Pybricks Authors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
import os
|
||||
|
||||
# General information about the project.
|
||||
project = 'pybricks-micropython'
|
||||
copyright = '2018-2020 The Pybricks Authors'
|
||||
project = 'pybricks'
|
||||
copyright = '2018-2021 The Pybricks Authors'
|
||||
author = ''
|
||||
|
||||
_TITLE = 'Pybricks Modules and Examples'
|
||||
@@ -15,6 +15,7 @@ _DISCLAIMER = 'LEGO, the LEGO logo, MINDSTORMS and the MINDSTORMS EV3 logo are\
|
||||
trademarks and/or copyrights of the LEGO Group of companies \
|
||||
which does not sponsor, authorize or endorse this site.'
|
||||
|
||||
html_favicon = '../common/images/favicon.ico'
|
||||
html_logo = '../common/images/pybricks-logo-rtd.png'
|
||||
latex_logo = '../common/images/pybricks-logo-large.png'
|
||||
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
0 Name: pupmotors
|
||||
0 Name: hubs.ldr
|
||||
0 Author: Pybricks {laurens@pybricks.com}
|
||||
0 !LICENSE MIT
|
||||
1 15 -420 -56 -250 1 0 0 0 1 0 0 0 1 26910.dat
|
||||
1 15 10 -80 140 1 0 0 0 1 0 0 0 1 28738.dat
|
||||
1 71 -270 -40 630 1 0 0 0 1 0 0 0 1 22127.dat
|
||||
1 15 200 -96 600 -1 0 0 0 1 0 0 0 -1 28739.dat
|
||||
1 15 470 -16 -90 1 0 0 0 1 0 0 0 1 45601p02.dat
|
||||
1 15 -800 -40 360 1 0 0 0 1 0 0 0 1 95646c01.dat
|
||||
1 15 -1160 32 -310 1 0 0 0 1 0 0 0 1 53788c01.dat
|
||||
1 71 -1340 -40 430 1 0 0 0 1 0 0 0 1 87576c01.dat
|
||||
0 ROTATION CENTER 0 0 0 1 "Custom"
|
||||
0 ROTATION CONFIG 0 0
|
||||
1 15 -20 -56 320 1 0 0 0 1 0 0 0 1 26910.dat
|
||||
1 15 -330 -80 110 0 0 1 0 1 0 -1 0 0 28738.dat
|
||||
1 71 -310 -40 390 1 0 0 0 1 0 0 0 1 22127.dat
|
||||
1 15 260 -16 90 1 0 0 0 1 0 0 0 1 45601p02.dat
|
||||
1 3 440 -16 10 1 0 0 0 1 0 0 0 1 45601c01.dat
|
||||
1 3 780 -16 -310 1 0 0 0 1 0 0 0 1 45601c01.dat
|
||||
1 15 -930 -40 360 1 0 0 0 1 0 0 0 1 95646c01.dat
|
||||
1 15 -1490 32 350 1 0 0 0 1 0 0 0 1 53788c01.dat
|
||||
0
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
0 Name: hubsoverview.ldr
|
||||
0 Author: Pybricks {laurens@pybricks.com}
|
||||
0 !LICENSE MIT
|
||||
0 ROTATION CENTER 0 0 0 1 "Custom"
|
||||
0 ROTATION CONFIG 0 0
|
||||
1 15 90 -56 300 1 0 0 0 1 0 0 0 1 26910.dat
|
||||
1 15 -150 -80 300 1 0 0 0 1 0 0 0 1 28738.dat
|
||||
1 71 -360 -40 120 -1 0 0 0 1 0 0 0 -1 22127.dat
|
||||
1 15 -160 -16 -40 1 0 0 0 1 0 0 0 1 45601p02.dat
|
||||
1 3 50 -16 -140 1 0 0 0 1 0 0 0 1 45601c01.dat
|
||||
0
|
||||
@@ -0,0 +1,40 @@
|
||||
0 Name: imu.ldr
|
||||
0 Author: Pybricks {laurens@pybricks.com}
|
||||
0 !LICENSE MIT
|
||||
0 ROTATION CENTER 0 0 0 1 "Custom"
|
||||
0 ROTATION CONFIG 0 0
|
||||
1 3 -80 -20 160 0 0 1 0 1 0 -1 0 0 45601c01.dat
|
||||
1 322 0 20 70 1 0 0 0 1 0 0 0 1 39367p01.dat
|
||||
1 322 -160 20 70 1 0 0 0 1 0 0 0 1 39367p01.dat
|
||||
1 322 0 20 250 1 0 0 0 1 0 0 0 1 39367p01.dat
|
||||
1 322 -160 20 250 1 0 0 0 1 0 0 0 1 39367p01.dat
|
||||
0 WRITE Type in the comment
|
||||
1 3 720 -80 170 0 0 -1 0 -1 0 -1 0 0 45601c01.dat
|
||||
1 322 800 20 80 1 0 0 0 1 0 0 0 1 39367p01.dat
|
||||
1 322 640 20 80 1 0 0 0 1 0 0 0 1 39367p01.dat
|
||||
1 322 800 20 260 1 0 0 0 1 0 0 0 1 39367p01.dat
|
||||
1 322 640 20 260 1 0 0 0 1 0 0 0 1 39367p01.dat
|
||||
0 WRITE Type in the comment
|
||||
1 3 720 -70 -630 0 1 0 0 0 -1 -1 0 0 45601c01.dat
|
||||
1 322 770 20 -720 1 0 0 0 1 0 0 0 1 39367p01.dat
|
||||
1 322 610 20 -720 1 0 0 0 1 0 0 0 1 39367p01.dat
|
||||
1 322 770 20 -540 1 0 0 0 1 0 0 0 1 39367p01.dat
|
||||
1 322 610 20 -540 1 0 0 0 1 0 0 0 1 39367p01.dat
|
||||
0 WRITE Type in the comment
|
||||
0 WRITE Type in the comment
|
||||
0 MLCAD BTG Group name
|
||||
1 71 -230 60 -780 0 0 1 -1 0 0 0 -1 0 55615.dat
|
||||
0 MLCAD BTG Group name
|
||||
1 4 -90 60 -800 0 0 1 -1 0 0 0 -1 0 32278.dat
|
||||
0 MLCAD BTG Group name
|
||||
1 2 -250 60 -640 0 1 0 -1 0 0 0 0 1 32278.dat
|
||||
0 MLCAD BTG Group name
|
||||
1 71 -230 40 -780 0 0 1 0 1 0 -1 0 0 55615.dat
|
||||
0 MLCAD BTG Group name
|
||||
1 1 -250 -100 -780 0 1 0 0 0 -1 -1 0 0 32278.dat
|
||||
0 GROUP 5 Group name
|
||||
1 15 -20 90 -570 0 0 -1 0 -1 0 -1 0 0 3811.dat
|
||||
1 15 720 90 -570 0 0 -1 0 -1 0 -1 0 0 3811.dat
|
||||
1 15 -30 90 190 0 0 -1 0 -1 0 -1 0 0 3811.dat
|
||||
1 15 720 90 190 0 0 -1 0 -1 0 -1 0 0 3811.dat
|
||||
0
|
||||
|
After Width: | Height: | Size: 654 KiB |
@@ -0,0 +1,412 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="1250"
|
||||
height="720"
|
||||
viewBox="0 0 1250 720"
|
||||
sodipodi:docname="imuexamples.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<image
|
||||
sodipodi:absref="imuexamples.png"
|
||||
xlink:href="imuexamples.png"
|
||||
y="0"
|
||||
x="0"
|
||||
id="image872"
|
||||
preserveAspectRatio="none"
|
||||
height="720"
|
||||
width="1250.0001"
|
||||
style="stroke-width:3.19999957" />
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6">
|
||||
<marker
|
||||
inkscape:isstock="true"
|
||||
style="overflow:visible"
|
||||
id="marker8272"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path8270"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker6790"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true"
|
||||
inkscape:collect="always">
|
||||
<path
|
||||
id="path6788"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:isstock="true"
|
||||
style="overflow:visible"
|
||||
id="marker5128"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
inkscape:collect="always">
|
||||
<path
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
id="path5126"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath860">
|
||||
<rect
|
||||
style="fill:#6ab0de;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect862"
|
||||
width="589.10107"
|
||||
height="96.333336"
|
||||
x="235.33333"
|
||||
y="-236.00002" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1040">
|
||||
<rect
|
||||
style="fill:#1e1e1e;fill-opacity:1;stroke:none;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1042"
|
||||
width="128.5101"
|
||||
height="19.934668"
|
||||
x="827.15656"
|
||||
y="74.666672" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1853"
|
||||
inkscape:window-height="1145"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.75000002"
|
||||
inkscape:cx="643.10407"
|
||||
inkscape:cy="459.26885"
|
||||
inkscape:window-x="67"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:snap-global="false" />
|
||||
<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"
|
||||
id="rect1090"
|
||||
width="88.926552"
|
||||
height="42.092525"
|
||||
x="415.71399"
|
||||
y="513.96191" />
|
||||
<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"
|
||||
id="rect1092"
|
||||
width="88.926552"
|
||||
height="4"
|
||||
x="415.71399"
|
||||
y="513.96191" />
|
||||
<text
|
||||
id="text1096"
|
||||
y="544.38055"
|
||||
x="423.85089"
|
||||
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"
|
||||
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="544.38055"
|
||||
x="423.85089"
|
||||
id="tspan1094"
|
||||
sodipodi:role="line">Y: Left</tspan></text>
|
||||
<rect
|
||||
y="519.35236"
|
||||
x="773.67474"
|
||||
height="42.092525"
|
||||
width="148.7303"
|
||||
id="rect875"
|
||||
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" />
|
||||
<rect
|
||||
y="519.35236"
|
||||
x="773.67474"
|
||||
height="4"
|
||||
width="148.7303"
|
||||
id="rect877"
|
||||
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" />
|
||||
<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="783.47827"
|
||||
y="549.93768"
|
||||
id="text881"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan879"
|
||||
x="783.47827"
|
||||
y="549.93768"
|
||||
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">X: Forward</tspan></text>
|
||||
<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"
|
||||
id="rect883"
|
||||
width="84.926552"
|
||||
height="42.092525"
|
||||
x="613.005"
|
||||
y="435.9295" />
|
||||
<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"
|
||||
id="rect885"
|
||||
width="84.926552"
|
||||
height="4"
|
||||
x="613.005"
|
||||
y="435.9295" />
|
||||
<text
|
||||
id="text889"
|
||||
y="466.51483"
|
||||
x="626.14191"
|
||||
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"
|
||||
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="466.51483"
|
||||
x="626.14191"
|
||||
id="tspan887"
|
||||
sodipodi:role="line">Z: Up</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694"
|
||||
d="M 814.16733,68.128379 C 812.90144,125.87929 718.05656,283.01422 674.91202,173.29441"
|
||||
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.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect4696"
|
||||
width="224.77599"
|
||||
height="42.092525"
|
||||
x="746.64636"
|
||||
y="31.371185" />
|
||||
<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"
|
||||
id="rect4698"
|
||||
width="224.77599"
|
||||
height="4"
|
||||
x="746.64636"
|
||||
y="31.371185" />
|
||||
<text
|
||||
id="text4702"
|
||||
y="61.956482"
|
||||
x="756.44995"
|
||||
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"
|
||||
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="61.956482"
|
||||
x="756.44995"
|
||||
id="tspan4700"
|
||||
sodipodi:role="line">top_side = -Axis.Z</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 588.78088,131.62753 C 602.71447,261.13607 408.36126,182.49627 438.30137,83.694259"
|
||||
id="path4704"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<rect
|
||||
y="46.682903"
|
||||
x="354.89914"
|
||||
height="42.092525"
|
||||
width="244.42542"
|
||||
id="rect4684"
|
||||
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" />
|
||||
<rect
|
||||
y="46.682903"
|
||||
x="354.89914"
|
||||
height="4"
|
||||
width="244.42542"
|
||||
id="rect4686"
|
||||
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" />
|
||||
<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="364.70273"
|
||||
y="77.268227"
|
||||
id="text4690"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4688"
|
||||
x="364.70273"
|
||||
y="77.268227"
|
||||
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">front_side = -Axis.X</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4716"
|
||||
d="m 980.70246,244.86037 c 22.58974,-82.56389 91.04754,17.95479 125.63244,-75.14241"
|
||||
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.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect4718"
|
||||
width="232.75874"
|
||||
height="42.092525"
|
||||
x="1002.7154"
|
||||
y="152.06769" />
|
||||
<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"
|
||||
id="rect4720"
|
||||
width="232.75874"
|
||||
height="4"
|
||||
x="1002.7154"
|
||||
y="152.06769" />
|
||||
<text
|
||||
id="text4724"
|
||||
y="182.65302"
|
||||
x="1012.519"
|
||||
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"
|
||||
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="182.65302"
|
||||
x="1012.519"
|
||||
id="tspan4722"
|
||||
sodipodi:role="line">front_side = Axis.Z</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4736"
|
||||
d="M 1032.9329,450.74191 C 947.09947,493.10021 907.59636,422.33393 942.18123,329.23673"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<rect
|
||||
y="431.80176"
|
||||
x="1020.7235"
|
||||
height="42.092525"
|
||||
width="223.09496"
|
||||
id="rect4728"
|
||||
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" />
|
||||
<rect
|
||||
y="431.80176"
|
||||
x="1020.7235"
|
||||
height="4"
|
||||
width="223.09496"
|
||||
id="rect4730"
|
||||
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" />
|
||||
<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="1028.8771"
|
||||
y="462.38702"
|
||||
id="text4734"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4732"
|
||||
x="1028.8771"
|
||||
y="462.38702"
|
||||
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_side = -Axis.X</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 281.59646,261.93718 c -22.58969,-82.56389 -41.04752,14.62146 -75.63239,-78.47574"
|
||||
id="path4738"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<rect
|
||||
y="167.09308"
|
||||
x="109.27574"
|
||||
height="42.092525"
|
||||
width="215.38545"
|
||||
id="rect4740"
|
||||
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" />
|
||||
<rect
|
||||
y="167.09308"
|
||||
x="109.27574"
|
||||
height="4"
|
||||
width="215.38545"
|
||||
id="rect4742"
|
||||
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" />
|
||||
<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="119.07937"
|
||||
y="197.67841"
|
||||
id="text4746"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4744"
|
||||
x="119.07937"
|
||||
y="197.67841"
|
||||
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_side = Axis.Z</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4758"
|
||||
d="m 420.02759,339.6125 c 9.12433,-59.47413 -33.03745,-120.40753 -79.74207,-81.45106"
|
||||
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.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect4750"
|
||||
width="234.44266"
|
||||
height="42.092525"
|
||||
x="404.79791"
|
||||
y="314.1073" />
|
||||
<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"
|
||||
id="rect4752"
|
||||
width="234.44266"
|
||||
height="4"
|
||||
x="404.79791"
|
||||
y="314.1073" />
|
||||
<text
|
||||
id="text4756"
|
||||
y="344.69263"
|
||||
x="414.6015"
|
||||
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"
|
||||
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="344.69263"
|
||||
x="414.6015"
|
||||
id="tspan4754"
|
||||
sodipodi:role="line">front_side = Axis.X</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5128)"
|
||||
d="M 601.65481,535.63708 V 437.18765"
|
||||
id="path5118"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6786"
|
||||
d="M 736.87546,624.06352 822.93347,573.9822"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6790)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker8272)"
|
||||
d="M 528.06103,622.66606 432.1922,566.71727"
|
||||
id="path8268"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,12 @@
|
||||
0 Name: orientation.ldr
|
||||
0 Author: Pybricks {laurens@pybricks.com}
|
||||
0 !LICENSE MIT
|
||||
0 ROTATION CENTER 0 0 0 1 "Custom"
|
||||
0 ROTATION CONFIG 0 0
|
||||
1 15 -160 -56 260 0 0 1 0 1 0 -1 0 0 26910.dat
|
||||
1 71 -430 -40 520 0 0 -1 0 1 0 1 0 0 22127.dat
|
||||
1 15 140 -16 30 0 0 1 0 1 0 -1 0 0 45601p02.dat
|
||||
1 3 430 -16 -180 0 0 1 0 1 0 -1 0 0 45601c01.dat
|
||||
1 0 724 -90 -378 0 0 -1 0 -1 0 -1 0 0 u9218c01.dat
|
||||
1 15 760 -100 -378 1 0 0 0 1 0 0 0 1 20841.dat
|
||||
0
|
||||
|
After Width: | Height: | Size: 66 KiB |
@@ -0,0 +1,269 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="600"
|
||||
height="450"
|
||||
viewBox="0 0 600 450"
|
||||
sodipodi:docname="orientation_inventorhub.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath860">
|
||||
<rect
|
||||
style="fill:#6ab0de;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect862"
|
||||
width="589.10107"
|
||||
height="96.333336"
|
||||
x="235.33333"
|
||||
y="-236.00002" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1040">
|
||||
<rect
|
||||
style="fill:#1e1e1e;fill-opacity:1;stroke:none;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1042"
|
||||
width="128.5101"
|
||||
height="19.934668"
|
||||
x="827.15656"
|
||||
y="74.666672" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1853"
|
||||
inkscape:window-height="1145"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.0606602"
|
||||
inkscape:cx="333.28458"
|
||||
inkscape:cy="169.50072"
|
||||
inkscape:window-x="67"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:snap-global="false" />
|
||||
<rect
|
||||
style="fill:#fcfcfc;fill-opacity:1;stroke:none;stroke-width:1.13385832;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect844"
|
||||
width="600"
|
||||
height="450"
|
||||
x="0"
|
||||
y="0" />
|
||||
<image
|
||||
sodipodi:absref="orientation_inventorhub.png"
|
||||
xlink:href="orientation_inventorhub.png"
|
||||
y="48.001614"
|
||||
x="101.28084"
|
||||
id="image999"
|
||||
preserveAspectRatio="none"
|
||||
height="338.39999"
|
||||
width="360"
|
||||
style="stroke-width:1.25" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 176.58676,175.20729 110.16176,79.35702 99.66667,-78 -102.66667,-76.666662 z"
|
||||
id="path1112"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<rect
|
||||
y="237.61398"
|
||||
x="378.28824"
|
||||
height="42.092525"
|
||||
width="92.709976"
|
||||
id="rect1046"
|
||||
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" />
|
||||
<rect
|
||||
y="237.61398"
|
||||
x="378.28824"
|
||||
height="4"
|
||||
width="92.709976"
|
||||
id="rect1048"
|
||||
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" />
|
||||
<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="388.25851"
|
||||
y="268.19931"
|
||||
id="text1052"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1050"
|
||||
x="388.25851"
|
||||
y="268.19931"
|
||||
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">RIGHT</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1056"
|
||||
d="M 409.20157,108.45455 C 426.1171,112.8 410.02912,48.247438 452.86824,50.454538"
|
||||
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.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1058"
|
||||
width="99.939941"
|
||||
height="42.092525"
|
||||
x="450.50766"
|
||||
y="27.638273" />
|
||||
<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"
|
||||
id="rect1060"
|
||||
width="99.939941"
|
||||
height="4"
|
||||
x="450.50766"
|
||||
y="27.638273" />
|
||||
<text
|
||||
id="text1064"
|
||||
y="58.223598"
|
||||
x="460.47794"
|
||||
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"
|
||||
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="58.223598"
|
||||
x="460.47794"
|
||||
id="tspan1062"
|
||||
sodipodi:role="line">FRONT</tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.24119687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1068"
|
||||
width="88.709984"
|
||||
height="42.092525"
|
||||
x="74.64743"
|
||||
y="289.41293" />
|
||||
<rect
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.24119687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1070"
|
||||
width="88.709984"
|
||||
height="4"
|
||||
x="74.64743"
|
||||
y="289.41293" />
|
||||
<text
|
||||
id="text1074"
|
||||
y="319.99826"
|
||||
x="84.647736"
|
||||
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"
|
||||
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="319.99826"
|
||||
x="84.647736"
|
||||
id="tspan1072"
|
||||
sodipodi:role="line">BACK</tspan></text>
|
||||
<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"
|
||||
id="rect1078"
|
||||
width="67.413025"
|
||||
height="42.092525"
|
||||
x="254.93002"
|
||||
y="151.108" />
|
||||
<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"
|
||||
id="rect1080"
|
||||
width="67.413025"
|
||||
height="4"
|
||||
x="254.93002"
|
||||
y="151.108" />
|
||||
<text
|
||||
id="text1084"
|
||||
y="181.69333"
|
||||
x="264.9003"
|
||||
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"
|
||||
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="181.69333"
|
||||
x="264.9003"
|
||||
id="tspan1082"
|
||||
sodipodi:role="line">TOP</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 214.04234,123.11631 c -16.91553,4.34545 -0.82755,-60.207112 -43.66667,-58.000012"
|
||||
id="path1088"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<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"
|
||||
id="rect1090"
|
||||
width="80.376648"
|
||||
height="42.092525"
|
||||
x="96.597748"
|
||||
y="43.11636" />
|
||||
<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"
|
||||
id="rect1092"
|
||||
width="80.376648"
|
||||
height="4"
|
||||
x="96.597748"
|
||||
y="43.11636" />
|
||||
<text
|
||||
id="text1096"
|
||||
y="73.701691"
|
||||
x="106.40134"
|
||||
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"
|
||||
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="73.701691"
|
||||
x="106.40134"
|
||||
id="tspan1094"
|
||||
sodipodi:role="line">LEFT</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 332.37499,402.3481 C 301.57806,421.60983 193.9783,440.31402 214.86196,371.07607"
|
||||
id="path1100"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<rect
|
||||
y="377.55441"
|
||||
x="320.28799"
|
||||
height="42.092525"
|
||||
width="122.20998"
|
||||
id="rect1102"
|
||||
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" />
|
||||
<rect
|
||||
y="377.55441"
|
||||
x="320.28799"
|
||||
height="4"
|
||||
width="122.20998"
|
||||
id="rect1104"
|
||||
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" />
|
||||
<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="330.9249"
|
||||
y="408.13974"
|
||||
id="text1108"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1106"
|
||||
x="330.9249"
|
||||
y="408.13974"
|
||||
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">BOTTOM</tspan></text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 98 KiB |
@@ -0,0 +1,263 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="600"
|
||||
height="450"
|
||||
viewBox="0 0 600 450"
|
||||
sodipodi:docname="orientation_movehub.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath860">
|
||||
<rect
|
||||
style="fill:#6ab0de;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect862"
|
||||
width="589.10107"
|
||||
height="96.333336"
|
||||
x="235.33333"
|
||||
y="-236.00002" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1040">
|
||||
<rect
|
||||
style="fill:#1e1e1e;fill-opacity:1;stroke:none;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1042"
|
||||
width="128.5101"
|
||||
height="19.934668"
|
||||
x="827.15656"
|
||||
y="74.666672" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1172"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.5"
|
||||
inkscape:cx="207.51304"
|
||||
inkscape:cy="268.59606"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:snap-global="false" />
|
||||
<rect
|
||||
style="fill:#fcfcfc;fill-opacity:1;stroke:none;stroke-width:1.13385832;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect844"
|
||||
width="600"
|
||||
height="450"
|
||||
x="0"
|
||||
y="0" />
|
||||
<image
|
||||
sodipodi:absref="orientation_movehub.png"
|
||||
xlink:href="orientation_movehub.png"
|
||||
style="stroke-width:1.25"
|
||||
width="463.20001"
|
||||
height="402.39999"
|
||||
preserveAspectRatio="none"
|
||||
id="image1010"
|
||||
x="15.085896"
|
||||
y="11.234114" />
|
||||
<rect
|
||||
y="210.2413"
|
||||
x="361.42303"
|
||||
height="42.092525"
|
||||
width="90.876648"
|
||||
id="rect1198"
|
||||
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" />
|
||||
<rect
|
||||
y="210.2413"
|
||||
x="361.42303"
|
||||
height="4"
|
||||
width="90.876648"
|
||||
id="rect1200"
|
||||
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" />
|
||||
<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="370.06"
|
||||
y="240.82661"
|
||||
id="text1204"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1202"
|
||||
x="370.06"
|
||||
y="240.82661"
|
||||
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">RIGHT</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1208"
|
||||
d="m 453.0864,92.872824 c 16.9155,4.34545 0.8275,-60.207095 43.6666,-57.999995"
|
||||
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.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1210"
|
||||
width="103.04331"
|
||||
height="42.092525"
|
||||
x="494.39255"
|
||||
y="12.056505" />
|
||||
<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"
|
||||
id="rect1212"
|
||||
width="103.04331"
|
||||
height="4"
|
||||
x="494.39255"
|
||||
y="12.056505" />
|
||||
<text
|
||||
id="text1216"
|
||||
y="42.641838"
|
||||
x="505.36276"
|
||||
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"
|
||||
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="42.641838"
|
||||
x="505.36276"
|
||||
id="tspan1214"
|
||||
sodipodi:role="line">FRONT</tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.24119687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1220"
|
||||
width="88.709984"
|
||||
height="42.092525"
|
||||
x="9.1156197"
|
||||
y="321.3736" />
|
||||
<rect
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.24119687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1222"
|
||||
width="88.709984"
|
||||
height="4"
|
||||
x="9.1156197"
|
||||
y="321.3736" />
|
||||
<text
|
||||
id="text1226"
|
||||
y="351.95892"
|
||||
x="21.119404"
|
||||
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"
|
||||
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="351.95892"
|
||||
x="21.119404"
|
||||
id="tspan1224"
|
||||
sodipodi:role="line">BACK</tspan></text>
|
||||
<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"
|
||||
id="rect1230"
|
||||
width="67.413025"
|
||||
height="42.092525"
|
||||
x="185.39822"
|
||||
y="160.40205" />
|
||||
<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"
|
||||
id="rect1232"
|
||||
width="67.413025"
|
||||
height="4"
|
||||
x="185.39822"
|
||||
y="160.40205" />
|
||||
<text
|
||||
id="text1236"
|
||||
y="190.98738"
|
||||
x="195.36848"
|
||||
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"
|
||||
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="190.98738"
|
||||
x="195.36848"
|
||||
id="tspan1234"
|
||||
sodipodi:role="line">TOP</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 213.14372,122.85522 c -16.91553,4.34545 -0.82755,-60.207091 -43.66667,-57.999991"
|
||||
id="path1240"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<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"
|
||||
id="rect1242"
|
||||
width="80.376648"
|
||||
height="42.092525"
|
||||
x="95.699127"
|
||||
y="42.85524" />
|
||||
<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"
|
||||
id="rect1244"
|
||||
width="80.376648"
|
||||
height="4"
|
||||
x="95.699127"
|
||||
y="42.85524" />
|
||||
<text
|
||||
id="text1248"
|
||||
y="73.440567"
|
||||
x="106.52438"
|
||||
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"
|
||||
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="73.440567"
|
||||
x="106.52438"
|
||||
id="tspan1246"
|
||||
sodipodi:role="line">LEFT</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 223.05333,425.42158 C 192.2564,444.68328 84.656638,463.38748 105.5403,394.14948"
|
||||
id="path1252"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<rect
|
||||
y="400.62772"
|
||||
x="210.96632"
|
||||
height="42.092525"
|
||||
width="122.8654"
|
||||
id="rect1254"
|
||||
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" />
|
||||
<rect
|
||||
y="400.62772"
|
||||
x="210.96632"
|
||||
height="4"
|
||||
width="122.8654"
|
||||
id="rect1256"
|
||||
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" />
|
||||
<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="222.49867"
|
||||
y="431.21304"
|
||||
id="text1260"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1258"
|
||||
x="222.49867"
|
||||
y="431.21304"
|
||||
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">BOTTOM</tspan></text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 66 KiB |
@@ -0,0 +1,269 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="600"
|
||||
height="450"
|
||||
viewBox="0 0 600 450"
|
||||
sodipodi:docname="orientation_primehub.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath860">
|
||||
<rect
|
||||
style="fill:#6ab0de;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect862"
|
||||
width="589.10107"
|
||||
height="96.333336"
|
||||
x="235.33333"
|
||||
y="-236.00002" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1040">
|
||||
<rect
|
||||
style="fill:#1e1e1e;fill-opacity:1;stroke:none;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1042"
|
||||
width="128.5101"
|
||||
height="19.934668"
|
||||
x="827.15656"
|
||||
y="74.666672" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1172"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.75000002"
|
||||
inkscape:cx="728.73773"
|
||||
inkscape:cy="159.45867"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:snap-global="false" />
|
||||
<rect
|
||||
style="fill:#fcfcfc;fill-opacity:1;stroke:none;stroke-width:1.13385832;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect844"
|
||||
width="600"
|
||||
height="450"
|
||||
x="0"
|
||||
y="0" />
|
||||
<image
|
||||
sodipodi:absref="orientation_primehub.png"
|
||||
xlink:href="orientation_primehub.png"
|
||||
y="48.382168"
|
||||
x="100.66959"
|
||||
id="image1021"
|
||||
preserveAspectRatio="none"
|
||||
height="338.39999"
|
||||
width="358.39999"
|
||||
style="stroke-width:1.25" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 176.58676,175.20729 110.16176,79.35702 99.66667,-78 -102.66667,-76.666662 z"
|
||||
id="path1112"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<rect
|
||||
y="237.61398"
|
||||
x="378.28824"
|
||||
height="42.092525"
|
||||
width="92.709976"
|
||||
id="rect1046"
|
||||
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" />
|
||||
<rect
|
||||
y="237.61398"
|
||||
x="378.28824"
|
||||
height="4"
|
||||
width="92.709976"
|
||||
id="rect1048"
|
||||
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" />
|
||||
<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="388.25851"
|
||||
y="268.19931"
|
||||
id="text1052"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1050"
|
||||
x="388.25851"
|
||||
y="268.19931"
|
||||
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">RIGHT</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1056"
|
||||
d="M 409.20157,108.45455 C 426.1171,112.8 410.02912,48.247438 452.86824,50.454538"
|
||||
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.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1058"
|
||||
width="99.939941"
|
||||
height="42.092525"
|
||||
x="450.50766"
|
||||
y="27.638273" />
|
||||
<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"
|
||||
id="rect1060"
|
||||
width="99.939941"
|
||||
height="4"
|
||||
x="450.50766"
|
||||
y="27.638273" />
|
||||
<text
|
||||
id="text1064"
|
||||
y="58.223598"
|
||||
x="460.47794"
|
||||
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"
|
||||
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="58.223598"
|
||||
x="460.47794"
|
||||
id="tspan1062"
|
||||
sodipodi:role="line">FRONT</tspan></text>
|
||||
<rect
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.24119687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1068"
|
||||
width="88.709984"
|
||||
height="42.092525"
|
||||
x="74.64743"
|
||||
y="289.41293" />
|
||||
<rect
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.24119687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1070"
|
||||
width="88.709984"
|
||||
height="4"
|
||||
x="74.64743"
|
||||
y="289.41293" />
|
||||
<text
|
||||
id="text1074"
|
||||
y="319.99826"
|
||||
x="84.647736"
|
||||
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"
|
||||
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="319.99826"
|
||||
x="84.647736"
|
||||
id="tspan1072"
|
||||
sodipodi:role="line">BACK</tspan></text>
|
||||
<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"
|
||||
id="rect1078"
|
||||
width="67.413025"
|
||||
height="42.092525"
|
||||
x="254.93002"
|
||||
y="151.108" />
|
||||
<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"
|
||||
id="rect1080"
|
||||
width="67.413025"
|
||||
height="4"
|
||||
x="254.93002"
|
||||
y="151.108" />
|
||||
<text
|
||||
id="text1084"
|
||||
y="181.69333"
|
||||
x="264.9003"
|
||||
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"
|
||||
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="181.69333"
|
||||
x="264.9003"
|
||||
id="tspan1082"
|
||||
sodipodi:role="line">TOP</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 214.04234,123.11631 c -16.91553,4.34545 -0.82755,-60.207112 -43.66667,-58.000012"
|
||||
id="path1088"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<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"
|
||||
id="rect1090"
|
||||
width="80.376648"
|
||||
height="42.092525"
|
||||
x="96.597748"
|
||||
y="43.11636" />
|
||||
<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"
|
||||
id="rect1092"
|
||||
width="80.376648"
|
||||
height="4"
|
||||
x="96.597748"
|
||||
y="43.11636" />
|
||||
<text
|
||||
id="text1096"
|
||||
y="73.701691"
|
||||
x="106.40134"
|
||||
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"
|
||||
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="73.701691"
|
||||
x="106.40134"
|
||||
id="tspan1094"
|
||||
sodipodi:role="line">LEFT</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 332.37499,402.3481 C 301.57806,421.60983 193.9783,440.31402 214.86196,371.07607"
|
||||
id="path1100"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<rect
|
||||
y="377.55441"
|
||||
x="320.28799"
|
||||
height="42.092525"
|
||||
width="122.20998"
|
||||
id="rect1102"
|
||||
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" />
|
||||
<rect
|
||||
y="377.55441"
|
||||
x="320.28799"
|
||||
height="4"
|
||||
width="122.20998"
|
||||
id="rect1104"
|
||||
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" />
|
||||
<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="330.9249"
|
||||
y="408.13974"
|
||||
id="text1108"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1106"
|
||||
x="330.9249"
|
||||
y="408.13974"
|
||||
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">BOTTOM</tspan></text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 47 KiB |
@@ -0,0 +1,263 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="600"
|
||||
height="450"
|
||||
viewBox="0 0 600 450"
|
||||
sodipodi:docname="orientation_technichub.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath860">
|
||||
<rect
|
||||
style="fill:#6ab0de;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect862"
|
||||
width="589.10107"
|
||||
height="96.333336"
|
||||
x="235.33333"
|
||||
y="-236.00002" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1040">
|
||||
<rect
|
||||
style="fill:#1e1e1e;fill-opacity:1;stroke:none;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1042"
|
||||
width="128.5101"
|
||||
height="19.934668"
|
||||
x="827.15656"
|
||||
y="74.666672" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1172"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.0606602"
|
||||
inkscape:cx="288.44009"
|
||||
inkscape:cy="242.25201"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:snap-global="false" />
|
||||
<rect
|
||||
style="fill:#fcfcfc;fill-opacity:1;stroke:none;stroke-width:1.13385832;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect844"
|
||||
width="600"
|
||||
height="450"
|
||||
x="0"
|
||||
y="0" />
|
||||
<image
|
||||
sodipodi:absref="orientation_technichub.png"
|
||||
xlink:href="orientation_technichub.png"
|
||||
style="stroke-width:1.25"
|
||||
width="359.20001"
|
||||
height="323.20001"
|
||||
preserveAspectRatio="none"
|
||||
id="image870"
|
||||
x="95.0215"
|
||||
y="66.343895" />
|
||||
<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"
|
||||
id="rect873"
|
||||
width="94.047379"
|
||||
height="42.092525"
|
||||
x="369.40115"
|
||||
y="235.02014" />
|
||||
<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"
|
||||
id="rect875"
|
||||
width="94.047379"
|
||||
height="4"
|
||||
x="369.40115"
|
||||
y="235.02014" />
|
||||
<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"
|
||||
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"
|
||||
id="tspan877"
|
||||
sodipodi:role="line">RIGHT</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 397.89738,128.77907 c 16.91553,4.34545 0.82755,-60.207095 43.66667,-57.999995"
|
||||
id="path889"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<rect
|
||||
y="47.962753"
|
||||
x="439.20349"
|
||||
height="42.092525"
|
||||
width="99.704239"
|
||||
id="rect881"
|
||||
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" />
|
||||
<rect
|
||||
y="47.962753"
|
||||
x="439.20349"
|
||||
height="4"
|
||||
width="99.704239"
|
||||
id="rect883"
|
||||
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" />
|
||||
<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="449.17377"
|
||||
y="78.54808"
|
||||
id="text887"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan885"
|
||||
x="449.17377"
|
||||
y="78.54808"
|
||||
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">FRONT</tspan></text>
|
||||
<rect
|
||||
y="272.67694"
|
||||
x="108.42245"
|
||||
height="42.092525"
|
||||
width="88.709984"
|
||||
id="rect961"
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.24119687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="272.67694"
|
||||
x="108.42245"
|
||||
height="4"
|
||||
width="88.709984"
|
||||
id="rect963"
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.24119687;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="123.72604"
|
||||
y="303.26227"
|
||||
id="text967"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan965"
|
||||
x="123.72604"
|
||||
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"
|
||||
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" />
|
||||
<rect
|
||||
y="157.47092"
|
||||
x="232.60791"
|
||||
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" />
|
||||
<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"
|
||||
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>
|
||||
<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"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<rect
|
||||
y="42.940842"
|
||||
x="100.96023"
|
||||
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" />
|
||||
<rect
|
||||
y="42.940842"
|
||||
x="100.96023"
|
||||
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" />
|
||||
<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"
|
||||
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>
|
||||
<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"
|
||||
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"
|
||||
id="rect1116"
|
||||
width="117.09069"
|
||||
height="42.092525"
|
||||
x="340.08701"
|
||||
y="371.42603" />
|
||||
<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"
|
||||
id="rect1118"
|
||||
width="117.09069"
|
||||
height="4"
|
||||
x="340.08701"
|
||||
y="371.42603" />
|
||||
<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"
|
||||
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"
|
||||
id="tspan1120"
|
||||
sodipodi:role="line">BOTTOM</tspan></text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 115 KiB |
@@ -0,0 +1,269 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="600"
|
||||
height="450"
|
||||
viewBox="0 0 600 450"
|
||||
sodipodi:docname="orientation_tiltsensor.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath860">
|
||||
<rect
|
||||
style="fill:#6ab0de;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect862"
|
||||
width="589.10107"
|
||||
height="96.333336"
|
||||
x="235.33333"
|
||||
y="-236.00002" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1040">
|
||||
<rect
|
||||
style="fill:#1e1e1e;fill-opacity:1;stroke:none;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1042"
|
||||
width="128.5101"
|
||||
height="19.934668"
|
||||
x="827.15656"
|
||||
y="74.666672" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1172"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.0606602"
|
||||
inkscape:cx="329.73302"
|
||||
inkscape:cy="132.75133"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:snap-global="false" />
|
||||
<rect
|
||||
style="fill:#fcfcfc;fill-opacity:1;stroke:none;stroke-width:1.13385832;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect844"
|
||||
width="600"
|
||||
height="450"
|
||||
x="0"
|
||||
y="0" />
|
||||
<image
|
||||
sodipodi:absref="orientation_tiltsensor.png"
|
||||
xlink:href="orientation_tiltsensor.png"
|
||||
y="98.870911"
|
||||
x="99.318779"
|
||||
id="image1043"
|
||||
preserveAspectRatio="none"
|
||||
height="278.62332"
|
||||
width="264.25601"
|
||||
style="stroke-width:1.94886804" />
|
||||
<rect
|
||||
y="151.37714"
|
||||
x="349.25064"
|
||||
height="42.092525"
|
||||
width="88.709976"
|
||||
id="rect1266"
|
||||
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" />
|
||||
<rect
|
||||
y="151.37714"
|
||||
x="349.25064"
|
||||
height="4"
|
||||
width="88.709976"
|
||||
id="rect1268"
|
||||
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" />
|
||||
<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="356.72086"
|
||||
y="181.96249"
|
||||
id="text1272"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1270"
|
||||
x="356.72086"
|
||||
y="181.96249"
|
||||
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">RIGHT</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1276"
|
||||
d="m 352.16392,122.88432 c 16.9155,4.34545 0.8275,-60.207107 43.6666,-58.000007"
|
||||
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.13333321;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1278"
|
||||
width="96.876648"
|
||||
height="42.092525"
|
||||
x="393.46988"
|
||||
y="42.068047" />
|
||||
<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"
|
||||
id="rect1280"
|
||||
width="96.876648"
|
||||
height="4"
|
||||
x="393.46988"
|
||||
y="42.068047" />
|
||||
<text
|
||||
id="text1284"
|
||||
y="72.653381"
|
||||
x="401.27359"
|
||||
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"
|
||||
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="72.653381"
|
||||
x="401.27359"
|
||||
id="tspan1282"
|
||||
sodipodi:role="line">FRONT</tspan></text>
|
||||
<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"
|
||||
id="rect1298"
|
||||
width="53.967594"
|
||||
height="42.092525"
|
||||
x="279.03238"
|
||||
y="98.204475" />
|
||||
<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"
|
||||
id="rect1300"
|
||||
width="53.967594"
|
||||
height="4"
|
||||
x="279.03238"
|
||||
y="98.204475" />
|
||||
<text
|
||||
id="text1304"
|
||||
y="128.78979"
|
||||
x="283.19595"
|
||||
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"
|
||||
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="128.78979"
|
||||
x="283.19595"
|
||||
id="tspan1302"
|
||||
sodipodi:role="line">TOP</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 260.67132,140.21275 c -16.9155,4.34545 -0.8275,-60.207108 -43.6666,-58.000008"
|
||||
id="path1308"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<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"
|
||||
id="rect1310"
|
||||
width="75.544754"
|
||||
height="42.092525"
|
||||
x="148.05865"
|
||||
y="60.212769" />
|
||||
<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"
|
||||
id="rect1312"
|
||||
width="75.544754"
|
||||
height="4"
|
||||
x="148.05865"
|
||||
y="60.212769" />
|
||||
<text
|
||||
id="text1316"
|
||||
y="90.798088"
|
||||
x="156.17328"
|
||||
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"
|
||||
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="90.798088"
|
||||
x="156.17328"
|
||||
id="tspan1314"
|
||||
sodipodi:role="line">LEFT</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 408.00402,238.77787 c -30.7969,19.26173 -138.2788,38.90873 -117.3951,-30.32922"
|
||||
id="path1320"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<rect
|
||||
y="213.98419"
|
||||
x="395.91714"
|
||||
height="42.092525"
|
||||
width="119.87664"
|
||||
id="rect1322"
|
||||
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" />
|
||||
<rect
|
||||
y="213.98419"
|
||||
x="395.91714"
|
||||
height="4"
|
||||
width="119.87664"
|
||||
id="rect1324"
|
||||
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" />
|
||||
<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="404.72061"
|
||||
y="244.56952"
|
||||
id="text1328"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1326"
|
||||
x="404.72061"
|
||||
y="244.56952"
|
||||
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">BOTTOM</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1332"
|
||||
d="m 237.12342,170.915 c -20.5212,19.15467 -39.4653,3.18452 -66.9567,32.8243"
|
||||
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.24119687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1288"
|
||||
width="88.709984"
|
||||
height="42.092525"
|
||||
x="103.77959"
|
||||
y="169.67621" />
|
||||
<rect
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.24119687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1290"
|
||||
width="88.709984"
|
||||
height="4"
|
||||
x="103.77959"
|
||||
y="169.67621" />
|
||||
<text
|
||||
id="text1294"
|
||||
y="200.26154"
|
||||
x="115.41656"
|
||||
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"
|
||||
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="200.26154"
|
||||
x="115.41656"
|
||||
id="tspan1292"
|
||||
sodipodi:role="line">BACK</tspan></text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1,256 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="450"
|
||||
height="450"
|
||||
viewBox="0 0 450 450"
|
||||
sodipodi:docname="primehub_buttons.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath860">
|
||||
<rect
|
||||
style="fill:#6ab0de;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect862"
|
||||
width="589.10107"
|
||||
height="96.333336"
|
||||
x="235.33333"
|
||||
y="-236.00002" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1040">
|
||||
<rect
|
||||
style="fill:#1e1e1e;fill-opacity:1;stroke:none;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1042"
|
||||
width="128.5101"
|
||||
height="19.934668"
|
||||
x="827.15656"
|
||||
y="74.666672" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1172"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.0606602"
|
||||
inkscape:cx="264.34169"
|
||||
inkscape:cy="315.96311"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:snap-global="false"
|
||||
showguides="false" />
|
||||
<rect
|
||||
style="fill:#fcfcfc;fill-opacity:1;stroke:none;stroke-width:1.13385832;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect844"
|
||||
width="450"
|
||||
height="450"
|
||||
x="0"
|
||||
y="0" />
|
||||
<g
|
||||
id="g970"
|
||||
transform="translate(17.441551,-18.065971)">
|
||||
<image
|
||||
sodipodi:absref="primehubtop.png"
|
||||
xlink:href="primehubtop.png"
|
||||
y="28.855242"
|
||||
x="78.985664"
|
||||
id="image853"
|
||||
preserveAspectRatio="none"
|
||||
height="386.06873"
|
||||
width="244.9046"
|
||||
style="stroke-width:3.63406801" />
|
||||
<circle
|
||||
r="19.625"
|
||||
cy="80.700775"
|
||||
cx="272.00305"
|
||||
id="path856"
|
||||
style="fill:none;fill-opacity:1;stroke:#d0d0d0;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<circle
|
||||
style="fill:none;fill-opacity:1;stroke:#f4f4f4;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="circle858"
|
||||
cx="272.00305"
|
||||
cy="80.700775"
|
||||
r="21.5" />
|
||||
<rect
|
||||
y="133.10596"
|
||||
x="108.8772"
|
||||
height="183.39523"
|
||||
width="184.14073"
|
||||
id="rect964"
|
||||
style="fill:#f4f4f4;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
</g>
|
||||
<circle
|
||||
style="fill:#f4f4f4;fill-opacity:1;stroke:#dddddd;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="path860"
|
||||
cx="218.73126"
|
||||
cy="345.19565"
|
||||
r="32.29121" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 276.1665,59.318793 228.55465,27.616844"
|
||||
id="path1036"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<g
|
||||
id="g846"
|
||||
transform="translate(-26.959225)">
|
||||
<rect
|
||||
y="2.5080223"
|
||||
x="44.959225"
|
||||
height="42.092525"
|
||||
width="244.56721"
|
||||
id="rect1038"
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333344;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="2.5080223"
|
||||
x="44.959225"
|
||||
height="4"
|
||||
width="244.56721"
|
||||
id="rect1040"
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333344;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="52.096157"
|
||||
y="33.093319"
|
||||
id="text1044"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1042"
|
||||
x="52.096157"
|
||||
y="33.093319"
|
||||
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">Button.BLUETOOTH</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 217.75258,250.87782 v 96.66666"
|
||||
id="path1058"
|
||||
inkscape:connector-curvature="0" />
|
||||
<rect
|
||||
y="241.26053"
|
||||
x="123.07694"
|
||||
height="42.092525"
|
||||
width="194.36263"
|
||||
id="rect1050"
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333344;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="241.26053"
|
||||
x="123.07694"
|
||||
height="4"
|
||||
width="194.36263"
|
||||
id="rect1052"
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333344;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="130.21388"
|
||||
y="271.84586"
|
||||
id="text1056"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1054"
|
||||
x="130.21388"
|
||||
y="271.84586"
|
||||
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">Button.CENTER</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 166.52786,347.04816 -35.28065,69.10991"
|
||||
id="path893"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<g
|
||||
id="g852"
|
||||
transform="translate(7.1281185)">
|
||||
<rect
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333344;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1073"
|
||||
width="159.69595"
|
||||
height="42.092525"
|
||||
x="10.871881"
|
||||
y="404.98434" />
|
||||
<rect
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333344;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1075"
|
||||
width="159.69595"
|
||||
height="4"
|
||||
x="10.871881"
|
||||
y="404.98434" />
|
||||
<text
|
||||
id="text1079"
|
||||
y="435.56967"
|
||||
x="18.008812"
|
||||
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"
|
||||
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="435.56967"
|
||||
x="18.008812"
|
||||
id="tspan1077"
|
||||
sodipodi:role="line">Button.LEFT</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1081"
|
||||
d="m 273.24721,347.04816 35.28065,69.10991"
|
||||
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.13333344;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1061"
|
||||
width="172.36263"
|
||||
height="42.092525"
|
||||
x="261.2052"
|
||||
y="404.98434" />
|
||||
<rect
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333344;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1063"
|
||||
width="172.36263"
|
||||
height="4"
|
||||
x="261.2052"
|
||||
y="404.98434" />
|
||||
<text
|
||||
id="text1067"
|
||||
y="435.56967"
|
||||
x="268.34213"
|
||||
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"
|
||||
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="435.56967"
|
||||
x="268.34213"
|
||||
id="tspan1065"
|
||||
sodipodi:role="line">Button.RIGHT</tspan></text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 10 KiB |
@@ -0,0 +1,424 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="450"
|
||||
height="400"
|
||||
viewBox="0 0 450 400"
|
||||
sodipodi:docname="primehub_display.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath860">
|
||||
<rect
|
||||
style="fill:#6ab0de;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect862"
|
||||
width="589.10107"
|
||||
height="96.333336"
|
||||
x="235.33333"
|
||||
y="-236.00002" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1040">
|
||||
<rect
|
||||
style="fill:#1e1e1e;fill-opacity:1;stroke:none;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1042"
|
||||
width="128.5101"
|
||||
height="19.934668"
|
||||
x="827.15656"
|
||||
y="74.666672" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1172"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.5"
|
||||
inkscape:cx="380.9636"
|
||||
inkscape:cy="114.1086"
|
||||
inkscape:window-x="1920"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:snap-global="false"
|
||||
showguides="false" />
|
||||
<rect
|
||||
style="fill:#fcfcfc;fill-opacity:1;stroke:none;stroke-width:1.13385832;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect844"
|
||||
width="450"
|
||||
height="400"
|
||||
x="0"
|
||||
y="0" />
|
||||
<g
|
||||
id="g970"
|
||||
transform="translate(17.20585,-24.225357)">
|
||||
<image
|
||||
sodipodi:absref="primehubtop.png"
|
||||
xlink:href="primehubtop.png"
|
||||
y="28.855242"
|
||||
x="78.985664"
|
||||
id="image853"
|
||||
preserveAspectRatio="none"
|
||||
height="386.06873"
|
||||
width="244.9046"
|
||||
style="stroke-width:3.63406801" />
|
||||
<circle
|
||||
r="19.625"
|
||||
cy="80.700775"
|
||||
cx="272.00305"
|
||||
id="path856"
|
||||
style="fill:none;fill-opacity:1;stroke:#d0d0d0;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<circle
|
||||
style="fill:none;fill-opacity:1;stroke:#f4f4f4;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="circle858"
|
||||
cx="272.00305"
|
||||
cy="80.700775"
|
||||
r="21.5" />
|
||||
<rect
|
||||
y="133.10596"
|
||||
x="108.8772"
|
||||
height="183.39523"
|
||||
width="184.14073"
|
||||
id="rect964"
|
||||
style="fill:#f4f4f4;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
</g>
|
||||
<circle
|
||||
style="fill:#f4f4f4;fill-opacity:1;stroke:#dddddd;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="path860"
|
||||
cx="218.49556"
|
||||
cy="339.03625"
|
||||
r="32.29121" />
|
||||
<rect
|
||||
y="113.78788"
|
||||
x="241.52562"
|
||||
height="26.547276"
|
||||
width="28.4128"
|
||||
id="rect874"
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect876"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="241.52562"
|
||||
y="149.18375" />
|
||||
<rect
|
||||
y="184.57956"
|
||||
x="241.52562"
|
||||
height="26.547276"
|
||||
width="28.4128"
|
||||
id="rect878"
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect880"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="241.52562"
|
||||
y="219.97539" />
|
||||
<rect
|
||||
y="255.37122"
|
||||
x="241.52562"
|
||||
height="26.547276"
|
||||
width="28.4128"
|
||||
id="rect882"
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect891"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="278.60895"
|
||||
y="113.78788" />
|
||||
<rect
|
||||
y="149.18375"
|
||||
x="278.60895"
|
||||
height="26.547276"
|
||||
width="28.4128"
|
||||
id="rect893"
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect895"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="278.60895"
|
||||
y="184.57956" />
|
||||
<rect
|
||||
y="219.97539"
|
||||
x="278.60895"
|
||||
height="26.547276"
|
||||
width="28.4128"
|
||||
id="rect897"
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect899"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="278.60895"
|
||||
y="255.37122" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect903"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="130.27565"
|
||||
y="113.78788" />
|
||||
<rect
|
||||
y="149.18375"
|
||||
x="130.27565"
|
||||
height="26.547276"
|
||||
width="28.4128"
|
||||
id="rect905"
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect907"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="130.27565"
|
||||
y="184.57956" />
|
||||
<rect
|
||||
y="219.97539"
|
||||
x="130.27565"
|
||||
height="26.547276"
|
||||
width="28.4128"
|
||||
id="rect909"
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect911"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="130.27565"
|
||||
y="255.37122" />
|
||||
<rect
|
||||
y="113.78788"
|
||||
x="167.35896"
|
||||
height="26.547276"
|
||||
width="28.4128"
|
||||
id="rect915"
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect917"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="167.35896"
|
||||
y="149.18375" />
|
||||
<rect
|
||||
y="184.57956"
|
||||
x="167.35896"
|
||||
height="26.547276"
|
||||
width="28.4128"
|
||||
id="rect919"
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect921"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="167.35896"
|
||||
y="219.97539" />
|
||||
<rect
|
||||
y="255.37122"
|
||||
x="167.35896"
|
||||
height="26.547276"
|
||||
width="28.4128"
|
||||
id="rect923"
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect927"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="204.44231"
|
||||
y="113.78788" />
|
||||
<rect
|
||||
y="149.18375"
|
||||
x="204.44231"
|
||||
height="26.547276"
|
||||
width="28.4128"
|
||||
id="rect929"
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect931"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="204.44231"
|
||||
y="184.57956" />
|
||||
<rect
|
||||
y="219.97539"
|
||||
x="204.44231"
|
||||
height="26.547276"
|
||||
width="28.4128"
|
||||
id="rect933"
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#ffec6c;fill-opacity:1;stroke:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect935"
|
||||
width="28.4128"
|
||||
height="26.547276"
|
||||
x="204.44231"
|
||||
y="255.37122" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 143.07085,125.96136 95.458999,94.259414"
|
||||
id="path972"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<rect
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333344;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1058"
|
||||
width="63.773277"
|
||||
height="42.092525"
|
||||
x="49.546856"
|
||||
y="64.91291" />
|
||||
<rect
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333344;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect1060"
|
||||
width="63.773277"
|
||||
height="4"
|
||||
x="49.546856"
|
||||
y="64.91291" />
|
||||
<text
|
||||
id="text1064"
|
||||
y="95.498222"
|
||||
x="54.1838"
|
||||
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"
|
||||
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="95.498222"
|
||||
x="54.1838"
|
||||
id="tspan1062"
|
||||
sodipodi:role="line">(0, 0)</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path974"
|
||||
d="M 291.95856,125.96136 339.57041,94.259414"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<rect
|
||||
y="64.91291"
|
||||
x="320.7131"
|
||||
height="42.092525"
|
||||
width="63.773277"
|
||||
id="rect976"
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333344;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<rect
|
||||
y="64.91291"
|
||||
x="320.7131"
|
||||
height="4"
|
||||
width="63.773277"
|
||||
id="rect978"
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333344;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="325.35004"
|
||||
y="95.498222"
|
||||
id="text982"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan980"
|
||||
x="325.35004"
|
||||
y="95.498222"
|
||||
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">(0, 4)</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 291.95856,270.25941 47.61185,31.70195"
|
||||
id="path984"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<rect
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333344;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect986"
|
||||
width="63.773277"
|
||||
height="42.092525"
|
||||
x="320.7131"
|
||||
y="288.9325" />
|
||||
<rect
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333344;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="rect988"
|
||||
width="63.773277"
|
||||
height="4"
|
||||
x="320.7131"
|
||||
y="288.9325" />
|
||||
<text
|
||||
id="text992"
|
||||
y="319.51782"
|
||||
x="325.35004"
|
||||
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"
|
||||
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="319.51782"
|
||||
x="325.35004"
|
||||
id="tspan990"
|
||||
sodipodi:role="line">(4, 4)</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1020"
|
||||
d="M 143.07085,270.14558 95.458999,301.84753"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<rect
|
||||
y="288.9325"
|
||||
x="49.536201"
|
||||
height="42.092525"
|
||||
width="63.773277"
|
||||
id="rect1012"
|
||||
style="opacity:1;fill:#e7f2fa;fill-opacity:1;stroke:none;stroke-width:2.13333344;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="54.173134"
|
||||
y="319.51782"
|
||||
id="text1018"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1016"
|
||||
x="54.173134"
|
||||
y="319.51782"
|
||||
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">(4, 0)</tspan></text>
|
||||
<rect
|
||||
y="288.93512"
|
||||
x="49.546856"
|
||||
height="4"
|
||||
width="63.773277"
|
||||
id="rect1022"
|
||||
style="opacity:1;fill:#6ab0de;fill-opacity:1;stroke:none;stroke-width:2.13333344;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 18 KiB |
@@ -0,0 +1,115 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="450"
|
||||
height="106"
|
||||
viewBox="0 0 450 106"
|
||||
sodipodi:docname="primehub_light.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath860">
|
||||
<rect
|
||||
style="fill:#6ab0de;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect862"
|
||||
width="589.10107"
|
||||
height="96.333336"
|
||||
x="235.33333"
|
||||
y="-236.00002" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath1040">
|
||||
<rect
|
||||
style="fill:#1e1e1e;fill-opacity:1;stroke:none;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect1042"
|
||||
width="128.5101"
|
||||
height="19.934668"
|
||||
x="827.15656"
|
||||
y="74.666672" />
|
||||
</clipPath>
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath894">
|
||||
<rect
|
||||
style="fill:#d92626;fill-opacity:0.45762712;stroke:none;stroke-width:1.13385832;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect896"
|
||||
width="298.05273"
|
||||
height="138.83516"
|
||||
x="69.762825"
|
||||
y="296.87869" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1853"
|
||||
inkscape:window-height="1145"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.70710678"
|
||||
inkscape:cx="333.41863"
|
||||
inkscape:cy="-328.9942"
|
||||
inkscape:window-x="67"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2"
|
||||
inkscape:snap-global="false"
|
||||
showguides="false" />
|
||||
<rect
|
||||
style="fill:#fcfcfc;fill-opacity:1;stroke:none;stroke-width:1.13385844;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="rect844"
|
||||
width="450"
|
||||
height="106"
|
||||
x="0"
|
||||
y="0" />
|
||||
<image
|
||||
sodipodi:absref="primehubtop.png"
|
||||
xlink:href="primehubtop.png"
|
||||
style="stroke-width:3.63406801"
|
||||
width="244.9046"
|
||||
height="386.06873"
|
||||
preserveAspectRatio="none"
|
||||
id="image853"
|
||||
x="96.427216"
|
||||
y="16.477236"
|
||||
clip-path="url(#clipPath894)"
|
||||
transform="translate(-0.0475179,-296.61368)" />
|
||||
<circle
|
||||
style="fill:#3d83ff;fill-opacity:0.36312848;stroke:#2d95ff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="path860"
|
||||
cx="218.832"
|
||||
cy="54.269928"
|
||||
r="32.29121" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 72 KiB |
@@ -0,0 +1,14 @@
|
||||
0 Name: pupdevicesoverview.ldr
|
||||
0 Author: Pybricks {laurens@pybricks.com}
|
||||
0 !LICENSE MIT
|
||||
0 ROTATION CENTER 0 0 0 1 "Custom"
|
||||
0 ROTATION CONFIG 0 0
|
||||
1 15 130 -280 500 0 1 0 -1 0 0 0 0 1 54675c01.dat
|
||||
1 71 330 -280 300 0 1 0 -1 0 0 0 0 1 22169c01.dat
|
||||
1 15 540 -280 220 1 0 0 0 1 0 0 0 1 21980c01.dat
|
||||
1 15 560 -280 830 1 0 0 0 1 0 0 0 1 37316.dat
|
||||
1 15 370 -280 990 -1 0 0 0 -1 0 0 0 1 37308c01.dat
|
||||
1 15 750 -320 550 1 0 0 0 1 0 0 0 1 26912.dat
|
||||
1 0 750 -310 586 -1 0 0 0 -1 0 0 0 1 u9218c01.dat
|
||||
1 15 560 -266 808 -1 0 0 0 -1 0 0 0 1 u9218c01.dat
|
||||
0
|
||||
@@ -1,8 +1,13 @@
|
||||
0 Name: pupmotors
|
||||
0 Name: pupmotors.ldr
|
||||
0 Author: Pybricks {laurens@pybricks.com}
|
||||
0 !LICENSE MIT
|
||||
0 ROTATION CENTER 0 0 0 1 "Custom"
|
||||
0 ROTATION CONFIG 0 0
|
||||
1 15 430 -96 190 0 0 1 1 0 0 0 1 0 54675c01.dat
|
||||
1 15 410 -72 30 0 0 1 1 0 0 0 1 0 54696c01.dat
|
||||
1 71 230 -144 0 1 0 0 0 1 0 0 0 1 22169c01.dat
|
||||
1 71 40 -216 0 1 0 0 0 1 0 0 0 1 22172c01.dat
|
||||
1 15 -140 -320 80 1 0 0 0 1 0 0 0 1 26913c01.dat
|
||||
1 15 430 -96 400 0 0 1 1 0 0 0 1 0 54675c01.dat
|
||||
1 322 430 -72 30 0 0 1 1 0 0 0 1 0 54696c01.dat
|
||||
1 71 430 -72 -180 0 0 1 1 0 0 0 1 0 54696c01.dat
|
||||
1 71 190 -144 -180 1 0 0 0 1 0 0 0 1 22169c01.dat
|
||||
1 71 -20 -216 -140 1 0 0 0 1 0 0 0 1 22172c01.dat
|
||||
1 15 120 -320 160 1 0 0 0 1 0 0 0 1 26913c01.dat
|
||||
0
|
||||
|
||||
|
Before Width: | Height: | Size: 576 KiB After Width: | Height: | Size: 866 KiB |
@@ -11,8 +11,8 @@
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="2000"
|
||||
height="610"
|
||||
viewBox="0 0 529.16666 161.39583"
|
||||
height="1118"
|
||||
viewBox="0 0 529.16666 295.80416"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)"
|
||||
@@ -57,9 +57,9 @@
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.49497475"
|
||||
inkscape:cx="899.69341"
|
||||
inkscape:cy="449.26412"
|
||||
inkscape:zoom="0.35"
|
||||
inkscape:cx="619.19211"
|
||||
inkscape:cy="823.24691"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
@@ -87,18 +87,18 @@
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-135.60415)">
|
||||
transform="translate(0,-1.1958167)">
|
||||
<image
|
||||
sodipodi:absref="pupmotors.png"
|
||||
xlink:href="pupmotors.png"
|
||||
y="135.60416"
|
||||
x="-2.220446e-16"
|
||||
id="image853"
|
||||
width="529.16669"
|
||||
height="295.80417"
|
||||
preserveAspectRatio="none"
|
||||
height="161.39583"
|
||||
width="529.16669" />
|
||||
id="image853"
|
||||
x="-2.220446e-16"
|
||||
y="1.1958181" />
|
||||
<g
|
||||
transform="matrix(1.9732825,0,0,1.9732825,-10.059646,-179.85595)"
|
||||
transform="matrix(1.9732825,0,0,1.9732825,82.068314,-182.19652)"
|
||||
id="g2717">
|
||||
<g
|
||||
transform="matrix(1,-0.27773651,0,1,59.387949,102.27922)"
|
||||
@@ -123,7 +123,7 @@
|
||||
</g>
|
||||
<g
|
||||
id="g2727"
|
||||
transform="matrix(1.7059944,0,0,1.7059944,79.305221,-182.52003)">
|
||||
transform="matrix(1.7059944,0,0,1.7059944,-18.326438,-250.00951)">
|
||||
<g
|
||||
style="fill:#2980b9;fill-opacity:1;stroke:#fffbfb;stroke-width:0.13229167;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="g2721"
|
||||
@@ -147,7 +147,7 @@
|
||||
sodipodi:nodetypes="ccccsc" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.7059944,0,0,1.7059944,125.04034,-119.77598)"
|
||||
transform="matrix(1.7059944,0,0,1.7059944,40.772154,-187.53273)"
|
||||
id="g2747">
|
||||
<g
|
||||
transform="matrix(1,-0.27773651,0,1,61.231459,102.02783)"
|
||||
@@ -173,7 +173,7 @@
|
||||
</g>
|
||||
<g
|
||||
id="g2757"
|
||||
transform="matrix(1.9732825,0,0,1.9732825,-108.71143,-177.21012)">
|
||||
transform="matrix(1.9732825,0,0,1.9732825,-63.81015,-178.54646)">
|
||||
<g
|
||||
style="fill:#2980b9;fill-opacity:1;stroke:#fffbfb;stroke-width:0.13229167;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="g2751"
|
||||
@@ -196,7 +196,7 @@
|
||||
style="fill:#2980b9;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.9732825,0,0,1.9732825,-212.65488,-179.47797)"
|
||||
transform="matrix(1.9732825,0,0,1.9732825,-192.3424,-182.95247)"
|
||||
id="g2767">
|
||||
<g
|
||||
transform="matrix(1,-0.27773651,0,1,59.387949,102.27922)"
|
||||
@@ -219,5 +219,61 @@
|
||||
id="path2765"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
id="g874"
|
||||
transform="matrix(1.9732825,0,0,1.9732825,-208.72093,-323.71573)">
|
||||
<g
|
||||
style="fill:#2980b9;fill-opacity:1;stroke:#fffbfb;stroke-width:0.13229167;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="g868"
|
||||
transform="matrix(1,-0.27773651,0,1,59.387949,102.27922)">
|
||||
<path
|
||||
id="path866"
|
||||
style="fill:#2980b9;fill-opacity:1;fill-rule:evenodd;stroke:#fffbfb;stroke-width:0.13229167;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 107.60315,149.3339 -4.4195,12.01847 -4.419489,-12.01847 c 2.609269,1.92005 6.179199,1.90899 8.838989,0 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path870"
|
||||
d="m 148.90956,215.29575 c -8.02867,2.89572 -14.60635,11.81219 -14.60635,19.93021 l 1.74541,-0.62952 c 0,-7.05178 5.7198,-14.86961 12.86094,-17.44522 7.14113,-2.57561 12.86094,1.11628 12.86094,8.16806 l 1.74541,-0.62952 c 0,-8.11802 -6.57768,-12.28973 -14.60635,-9.39401 z"
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2980b9;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path872"
|
||||
d="m 161.70224,224.65346 1.85836,-0.53454 0.43431,0.40926 -0.98973,1.42822 c 0,0 -2.13398,-0.30486 -2.13398,-0.32574 0,-0.0209 0.83104,-0.9772 0.83104,-0.9772 z"
|
||||
style="fill:#2980b9;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.9732825,0,0,1.9732825,-134.6376,-374.36454)"
|
||||
id="g884">
|
||||
<g
|
||||
transform="matrix(1,-0.27773651,0,1,59.387949,102.27922)"
|
||||
id="g878"
|
||||
style="fill:#2980b9;fill-opacity:1;stroke:#fffbfb;stroke-width:0.13229167;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 107.60315,149.3339 -4.4195,12.01847 -4.419489,-12.01847 c 2.609269,1.92005 6.179199,1.90899 8.838989,0 z"
|
||||
style="fill:#2980b9;fill-opacity:1;fill-rule:evenodd;stroke:#fffbfb;stroke-width:0.13229167;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path876" />
|
||||
</g>
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2980b9;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 148.90956,215.29575 c -8.02867,2.89572 -14.60635,11.81219 -14.60635,19.93021 l 1.74541,-0.62952 c 0,-7.05178 5.7198,-14.86961 12.86094,-17.44522 7.14113,-2.57561 12.86094,1.11628 12.86094,8.16806 l 1.74541,-0.62952 c 0,-8.11802 -6.57768,-12.28973 -14.60635,-9.39401 z"
|
||||
id="path880"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#2980b9;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 161.70224,224.65346 1.85836,-0.53454 0.43431,0.40926 -0.98973,1.42822 c 0,0 -2.13398,-0.30486 -2.13398,-0.32574 0,-0.0209 0.83104,-0.9772 0.83104,-0.9772 z"
|
||||
id="path882"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<ellipse
|
||||
style="fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.68220371;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:75.59054565;stroke-opacity:1"
|
||||
id="path886"
|
||||
cx="158.78319"
|
||||
cy="17.35313"
|
||||
rx="1.295833"
|
||||
ry="1.1623898"
|
||||
transform="matrix(0.89702138,0.44198716,0,1,0,0)" />
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 22 KiB |
@@ -1,7 +1,8 @@
|
||||
0 Name: pupmotors
|
||||
0 Author: Pybricks {laurens@pybricks.com}
|
||||
0 !LICENSE MIT
|
||||
1 15 600 -280 240 -1 0 0 0 -1 0 0 0 1 37316c01.dat
|
||||
0 !LDCAD GROUP_DEF [topLevel=true] [LID=0] [GID=9FDP9pj0O55] [name=Group 1] [center=0 0 0]
|
||||
1 15 600 -280 180 1 0 0 0 1 0 0 0 1 37316.dat
|
||||
1 15 60 -272 160 -1 0 0 0 -1 0 0 0 1 37312c01.dat
|
||||
1 15 -400 -280 240 -1 0 0 0 -1 0 0 0 1 37308c01.dat
|
||||
1 0 -400 -310 -374 -1 0 0 0 -1 0 0 0 1 u9218c01.dat
|
||||
@@ -10,3 +11,11 @@
|
||||
1 0 630 -310 -384 -1 0 0 0 -1 0 0 0 1 u9218c01.dat
|
||||
1 15 60 -320 -430 0 0 1 0 1 0 -1 0 0 20844.dat
|
||||
1 0 60 -310 -394 -1 0 0 0 -1 0 0 0 1 u9218c01.dat
|
||||
1 15 600 -266 158 -1 0 0 0 -1 0 0 0 1 u9218c01.dat
|
||||
1 15 1130 -280 240 1 0 0 0 1 0 0 0 1 37316.dat
|
||||
1 15 1290 -280 220 1 0 0 0 1 0 0 0 1 37308.dat
|
||||
1 0 690 -312 530 0 0 1 0 1 0 -1 0 0 22168.dat
|
||||
0 !LDCAD GROUP_NXT [ids=0] [nrs=2]
|
||||
1 71 704.852 -312 -628.188 -0.5 0 0.866 0 1 0 -0.866 0 -0.5 58123.dat
|
||||
0 !LDCAD GROUP_NXT [ids=0] [nrs=-1]
|
||||
1 71 972.1 -321.5 -814.7 0.5 0 -0.866 0 1 0 0.866 0 0.5 99499c01.dat
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="1000"
|
||||
height="302"
|
||||
viewBox="0 0 1000 302"
|
||||
sodipodi:docname="sensor_color_lights.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1853"
|
||||
inkscape:window-height="1145"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.76339286"
|
||||
inkscape:cx="161.01621"
|
||||
inkscape:cy="109.1048"
|
||||
inkscape:window-x="67"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" />
|
||||
<rect
|
||||
style="fill:#f4f4f4;fill-opacity:1;stroke:#1b2933;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect828"
|
||||
width="150.00003"
|
||||
height="147"
|
||||
x="717.60785"
|
||||
y="55.592186"
|
||||
rx="4.3997755"
|
||||
ry="4.3997755" />
|
||||
<image
|
||||
width="448"
|
||||
height="302"
|
||||
preserveAspectRatio="none"
|
||||
xlink:href="../images/sensor_color.png"
|
||||
id="image10"
|
||||
x="0"
|
||||
y="0"
|
||||
sodipodi:absref="../images/sensor_color.png"
|
||||
style="fill:#fcfcfc;fill-opacity:1;stroke:#fcfcfc;stroke-opacity:1" />
|
||||
<rect
|
||||
ry="23.066439"
|
||||
rx="23.066439"
|
||||
y="79.498627"
|
||||
x="743.64288"
|
||||
height="99.187141"
|
||||
width="97.929855"
|
||||
id="rect830"
|
||||
style="fill:#1b2a34;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<circle
|
||||
style="fill:#e9e9e9;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="path832"
|
||||
cx="792.60779"
|
||||
cy="129.09219"
|
||||
r="37.83313" />
|
||||
<circle
|
||||
style="fill:#1b2a34;fill-opacity:1;stroke:none;stroke-width:0.99999994;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="circle842"
|
||||
cx="792.60779"
|
||||
cy="129.09219"
|
||||
r="0.26551938" />
|
||||
<path
|
||||
style="fill:none;stroke:#1b2a34;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 792.60149,129.04962 32.78644,18.92925"
|
||||
id="path844"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path846"
|
||||
d="m 792.60149,129.04962 -32.78644,18.92925"
|
||||
style="fill:none;stroke:#1b2a34;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;stroke:#1b2a34;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 792.60149,129.04962 V 91.191114"
|
||||
id="path848"
|
||||
inkscape:connector-curvature="0" />
|
||||
<circle
|
||||
r="27.129555"
|
||||
cy="129.09219"
|
||||
cx="792.60779"
|
||||
id="circle834"
|
||||
style="fill:#1b2a34;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<circle
|
||||
style="fill:#e9e9e9;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="circle836"
|
||||
cx="792.60779"
|
||||
cy="129.09219"
|
||||
r="19.997108" />
|
||||
<rect
|
||||
style="fill:#fcc302;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect850"
|
||||
width="15.630781"
|
||||
height="7.8153906"
|
||||
x="784.67413"
|
||||
y="157.12068"
|
||||
rx="0"
|
||||
ry="0" />
|
||||
<rect
|
||||
ry="0"
|
||||
rx="0"
|
||||
y="714.78345"
|
||||
x="277.33652"
|
||||
height="7.8153906"
|
||||
width="15.630781"
|
||||
id="rect852"
|
||||
style="fill:#fcc302;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="rotate(-60)" />
|
||||
<rect
|
||||
transform="matrix(-0.5,-0.8660254,-0.8660254,0.5,0,0)"
|
||||
style="fill:#fcc302;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect854"
|
||||
width="15.630781"
|
||||
height="7.8153906"
|
||||
x="-515.15295"
|
||||
y="-657.84869"
|
||||
rx="0"
|
||||
ry="0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path903"
|
||||
d="M 820.32215,111.88423 904.46121,62.706941"
|
||||
style="fill:none;stroke:#6ab0de;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<circle
|
||||
r="19.024944"
|
||||
cy="59.943871"
|
||||
cx="908.17609"
|
||||
id="circle897"
|
||||
style="fill:#e7f2fa;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:28.75451088px;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="900.87256"
|
||||
y="69.039848"
|
||||
id="text901"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan899"
|
||||
x="900.87256"
|
||||
y="69.039848"
|
||||
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">2</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#6ab0de;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 764.02762,111.88423 679.88856,62.706941"
|
||||
id="path909"
|
||||
inkscape:connector-curvature="0" />
|
||||
<circle
|
||||
style="fill:#e7f2fa;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="circle911"
|
||||
cx="-676.17365"
|
||||
cy="59.943871"
|
||||
r="19.024944"
|
||||
transform="scale(-1,1)" />
|
||||
<text
|
||||
id="text915"
|
||||
y="69.039848"
|
||||
x="667.81085"
|
||||
style="font-style:normal;font-weight:normal;font-size:28.75451088px;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"
|
||||
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="69.039848"
|
||||
x="667.81085"
|
||||
id="tspan913"
|
||||
sodipodi:role="line">0</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#6ab0de;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 794.47953,161.16366 v 72.04678"
|
||||
id="path919"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g924"
|
||||
transform="translate(-1.9683207,-11.115222)">
|
||||
<circle
|
||||
r="19.024944"
|
||||
cy="257.1044"
|
||||
cx="796.21179"
|
||||
id="circle4656"
|
||||
style="fill:#e7f2fa;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:28.75451088px;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="790.29767"
|
||||
y="266.20038"
|
||||
id="text4660"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4658"
|
||||
x="790.29767"
|
||||
y="266.20038"
|
||||
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">1</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8.7 KiB |
@@ -0,0 +1,165 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg2"
|
||||
width="1100"
|
||||
height="287"
|
||||
viewBox="0 0 1100 287"
|
||||
sodipodi:docname="sensor_ultrasonic_lights.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<metadata
|
||||
id="metadata8">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs6" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#fcfcfc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1853"
|
||||
inkscape:window-height="1145"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
inkscape:zoom="10.523077"
|
||||
inkscape:cx="527.41549"
|
||||
inkscape:cy="252.46821"
|
||||
inkscape:window-x="67"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" />
|
||||
<image
|
||||
width="520"
|
||||
height="287"
|
||||
preserveAspectRatio="none"
|
||||
xlink:href="../images/sensor_ultrasonic.png"
|
||||
id="image10"
|
||||
x="0"
|
||||
y="0"
|
||||
sodipodi:absref="../images/sensor_ultrasonic.png" />
|
||||
<image
|
||||
sodipodi:absref="../images/sensor_ultrasonic_front.png"
|
||||
y="65.201767"
|
||||
x="666.66376"
|
||||
id="image941"
|
||||
xlink:href="../images/sensor_ultrasonic_front.png"
|
||||
preserveAspectRatio="none"
|
||||
height="153.18715"
|
||||
width="363.40701"
|
||||
style="stroke-width:2.12158799" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1014"
|
||||
d="M 741.37048,36.101381 V 108.14816"
|
||||
style="fill:none;stroke:#6ab0de;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<circle
|
||||
style="fill:#e7f2fa;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="circle911"
|
||||
cx="-741.81281"
|
||||
cy="31.839216"
|
||||
r="19.024944"
|
||||
transform="scale(-1,1)" />
|
||||
<text
|
||||
id="text915"
|
||||
y="40.935192"
|
||||
x="733.45001"
|
||||
style="font-style:normal;font-weight:normal;font-size:28.75451088px;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"
|
||||
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="40.935192"
|
||||
x="733.45001"
|
||||
id="tspan913"
|
||||
sodipodi:role="line">0</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#6ab0de;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 954.7844,36.101381 V 108.14816"
|
||||
id="path1016"
|
||||
inkscape:connector-curvature="0" />
|
||||
<circle
|
||||
transform="scale(-1,1)"
|
||||
r="19.024944"
|
||||
cy="31.839216"
|
||||
cx="-955.22675"
|
||||
id="circle1018"
|
||||
style="fill:#e7f2fa;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:28.75451088px;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="948.84326"
|
||||
y="41.203976"
|
||||
id="text1022"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1020"
|
||||
x="948.84326"
|
||||
y="41.203976"
|
||||
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">1</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#6ab0de;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 741.37048,249.09108 V 177.0443"
|
||||
id="path1024"
|
||||
inkscape:connector-curvature="0" />
|
||||
<circle
|
||||
transform="scale(-1)"
|
||||
r="19.024944"
|
||||
cy="-253.35324"
|
||||
cx="-741.81281"
|
||||
id="circle1026"
|
||||
style="fill:#e7f2fa;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:28.75451088px;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="733.45001"
|
||||
y="261.74335"
|
||||
id="text1030"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1028"
|
||||
x="733.45001"
|
||||
y="261.74335"
|
||||
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">2</tspan></text>
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path1032"
|
||||
d="M 954.7844,249.09108 V 177.0443"
|
||||
style="fill:none;stroke:#6ab0de;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<circle
|
||||
style="fill:#e7f2fa;fill-opacity:1;stroke:#6ab0de;stroke-width:4;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="circle1034"
|
||||
cx="-955.22675"
|
||||
cy="-253.35324"
|
||||
r="19.024944"
|
||||
transform="scale(-1)" />
|
||||
<text
|
||||
id="text1038"
|
||||
y="263.62482"
|
||||
x="947.76813"
|
||||
style="font-style:normal;font-weight:normal;font-size:28.75451088px;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"
|
||||
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="263.62482"
|
||||
x="947.76813"
|
||||
id="tspan1036"
|
||||
sodipodi:role="line">3</tspan></text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.6 KiB |
@@ -76,7 +76,7 @@
|
||||
inkscape:current-layer="svg2"
|
||||
showguides="false" />
|
||||
<image
|
||||
sodipodi:absref="/home/laurens/pybricks/git/pybricks-api/doc/api/diagram_source/terminal.png"
|
||||
sodipodi:absref="terminal.png"
|
||||
xlink:href="terminal.png"
|
||||
width="967.99994"
|
||||
height="402"
|
||||
|
||||
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.4 KiB |
@@ -15,6 +15,7 @@ Motors
|
||||
EV3-compatible motors. The arrows indicate the default positive direction.
|
||||
|
||||
.. autoclass:: pybricks.ev3devices.Motor
|
||||
:noindex:
|
||||
:no-members:
|
||||
|
||||
.. rubric:: Measuring
|
||||
@@ -74,6 +75,10 @@ Color Sensor
|
||||
Infrared Sensor and Beacon
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Each method of this class puts the sensor in a different *mode*. Switching
|
||||
modes takes about one second on this sensor. To make sure that your program
|
||||
runs quickly, use only of these methods in your program.
|
||||
|
||||
.. figure:: ../api/images/sensor_ev3_ir.png
|
||||
:width: 60 %
|
||||
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
Working with vectors
|
||||
====================
|
||||
|
||||
Scalars and Vectors
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. _scalar:
|
||||
|
||||
scalar
|
||||
--------------
|
||||
|
||||
TODO
|
||||
|
||||
.. _vector:
|
||||
|
||||
vector
|
||||
--------------
|
||||
|
||||
TODO
|
||||
|
||||
Robot reference frame
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. _robotframe:
|
||||
|
||||
Robot reference frame
|
||||
----------------------
|
||||
|
||||
TODO (explanation, diagram, etc)::
|
||||
* X: To the right
|
||||
* Y: forward
|
||||
* Z: upward
|
||||
@@ -0,0 +1,49 @@
|
||||
:mod:`geometry <pybricks.geometry>` -- Geometry and algebra
|
||||
============================================================
|
||||
|
||||
.. module:: pybricks.geometry
|
||||
|
||||
.. autoclass:: pybricks.geometry.Matrix
|
||||
:no-members:
|
||||
|
||||
.. autoattribute:: pybricks.geometry::Matrix.T
|
||||
|
||||
.. autoattribute:: pybricks.geometry::Matrix.shape
|
||||
|
||||
.. autofunction:: pybricks.geometry.vector
|
||||
|
||||
.. autoclass:: pybricks.geometry.Axis
|
||||
:no-members:
|
||||
|
||||
.. _robotframe:
|
||||
|
||||
Reference frames
|
||||
-----------------------
|
||||
|
||||
The Pybricks module and this documentation use the following conventions:
|
||||
|
||||
- X: Positive means forward. Negative means backward.
|
||||
- Y: Positive means to the left. Negative means to the right.
|
||||
- Z: Positive means upward. Negative means downward.
|
||||
|
||||
To make sure that all hub measurements (such as acceleration) have the correct
|
||||
value and sign, you can specify how the hub is mounted in your creation. This
|
||||
adjust the measurements so that it is easy to see how your *robot* is moving,
|
||||
rather than how the *hub* is moving.
|
||||
|
||||
For example, the hub may be mounted upside down in your design. If you
|
||||
configure the settings as shown in :numref:`fig_imuexamples`, the hub
|
||||
measurements will be adjusted accordingly. This way, a positive acceleration
|
||||
value in the X direction means that your *robot* accelerates forward, even
|
||||
though the *hub* accelerates backward.
|
||||
|
||||
.. _fig_imuexamples:
|
||||
|
||||
.. figure:: ../api/images/imuexamples_label.png
|
||||
:width: 100 %
|
||||
|
||||
How to configure the ``top_side`` and ``front_side`` settings for three
|
||||
different robot designs. The same technique can be applied to other hubs
|
||||
and other creations, by noting which way the top and
|
||||
front :class:`Side <Side>` of the hub are pointing. The example
|
||||
on the left is the default configuration.
|
||||
@@ -1,18 +0,0 @@
|
||||
:mod:`hubs <pybricks.hubs>` -- Programmable Hubs
|
||||
================================================
|
||||
|
||||
.. module:: pybricks.hubs
|
||||
|
||||
.. _fig_hubs:
|
||||
|
||||
Select your programmable hub using the buttons below.
|
||||
|
||||
.. content-tabs::
|
||||
|
||||
.. tab-container:: ev3brick
|
||||
:title: EV3 Brick
|
||||
|
||||
.. figure:: ../api/images/ev3brick.png
|
||||
:height: 15 em
|
||||
|
||||
.. include:: hubs_ev3brick.inc
|
||||
@@ -0,0 +1,51 @@
|
||||
City Hub
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../api/images/cityhub.png
|
||||
:height: 15 em
|
||||
|
||||
.. autoclass:: pybricks.hubs.CityHub
|
||||
:no-members:
|
||||
|
||||
.. rubric:: Using the hub status light
|
||||
|
||||
.. automethod:: pybricks.hubs::CityHub.light.on
|
||||
|
||||
.. automethod:: pybricks.hubs::CityHub.light.off
|
||||
|
||||
.. automethod:: pybricks.hubs::CityHub.light.blink
|
||||
|
||||
.. automethod:: pybricks.hubs::CityHub.light.animate
|
||||
|
||||
.. rubric:: Using the battery
|
||||
|
||||
.. automethod:: pybricks.hubs::CityHub.battery.voltage
|
||||
|
||||
.. automethod:: pybricks.hubs::CityHub.battery.current
|
||||
|
||||
Status light examples
|
||||
---------------------
|
||||
|
||||
Turning the light on and off
|
||||
****************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_cityhub/light_off.py
|
||||
|
||||
Changing brightness and using custom colors
|
||||
*******************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_cityhub/light_hsv.py
|
||||
|
||||
Making the light blink
|
||||
**********************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_cityhub/light_blink.py
|
||||
|
||||
Creating light animations
|
||||
*************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_cityhub/light_animate.py
|
||||
@@ -0,0 +1,200 @@
|
||||
MINDSTORMS EV3 Brick
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../api/images/ev3brick.png
|
||||
:height: 15 em
|
||||
|
||||
.. autoclass:: pybricks.hubs.EV3Brick
|
||||
:no-members:
|
||||
|
||||
.. rubric:: Using the buttons
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.buttons.pressed
|
||||
|
||||
.. rubric:: Using the brick status light
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.light.on
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.light.off
|
||||
|
||||
.. rubric:: Using the speaker
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.speaker.beep
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.speaker.play_notes
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.speaker.play_file
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.speaker.say
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.speaker.set_speech_options
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.speaker.set_volume
|
||||
|
||||
.. rubric:: Using the screen
|
||||
|
||||
.. |this image| replace:: the screen
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.clear
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.draw_text
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.print
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.set_font
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.load_image
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.draw_image
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.draw_pixel
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.draw_line
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.draw_box
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.draw_circle
|
||||
|
||||
.. autoattribute:: pybricks.hubs::EV3Brick.screen.width
|
||||
|
||||
.. autoattribute:: pybricks.hubs::EV3Brick.screen.height
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.save
|
||||
|
||||
.. rubric:: Using the battery
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.battery.voltage
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.battery.current
|
||||
|
||||
Status light examples
|
||||
---------------------
|
||||
|
||||
Turn the light on and change the color
|
||||
**************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/ev3/light_color/main.py
|
||||
|
||||
Screen examples
|
||||
---------------------
|
||||
|
||||
Show an image on the screen
|
||||
***************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/ev3/screen_image/main.py
|
||||
|
||||
Drawing shapes on the screen
|
||||
****************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/ev3/screen_draw/main.py
|
||||
|
||||
Using different fonts
|
||||
*********************
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\begin{CJK}{UTF8}{gbsn}
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/ev3/screen_print/main.py
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\end{CJK}
|
||||
|
||||
.. rubric:: Available languages and voices for speech
|
||||
|
||||
.. [#espeak_lang]
|
||||
|
||||
You can choose the following languages:
|
||||
|
||||
- ``'af'``: Afrikaans
|
||||
- ``'an'``: Aragonese
|
||||
- ``'bg'``: Bulgarian
|
||||
- ``'bs'``: Bosnian
|
||||
- ``'ca'``: Catalan
|
||||
- ``'cs'``: Czech
|
||||
- ``'cy'``: Welsh
|
||||
- ``'da'``: Danish
|
||||
- ``'de'``: German
|
||||
- ``'el'``: Greek
|
||||
- ``'en'``: English (default)
|
||||
- ``'en-gb'``: English (United Kingdom)
|
||||
- ``'en-sc'``: English (Scotland)
|
||||
- ``'en-uk-north'``: English (United Kingdom, Northern)
|
||||
- ``'en-uk-rp'``: English (United Kingdom, Received Pronunciation)
|
||||
- ``'en-uk-wmids'``: English (United Kingdom, West Midlands)
|
||||
- ``'en-us'``: English (United States)
|
||||
- ``'en-wi'``: English (West Indies)
|
||||
- ``'eo'``: Esperanto
|
||||
- ``'es'``: Spanish
|
||||
- ``'es-la'``: Spanish (Latin America)
|
||||
- ``'et'``: Estonian
|
||||
- ``'fa'``: Persian
|
||||
- ``'fa-pin'``: Persian
|
||||
- ``'fi'``: Finnish
|
||||
- ``'fr-be'``: French (Belgium)
|
||||
- ``'fr-fr'``: French (France)
|
||||
- ``'ga'``: Irish
|
||||
- ``'grc'``: Greek
|
||||
- ``'hi'``: Hindi
|
||||
- ``'hr'``: Croatian
|
||||
- ``'hu'``: Hungarian
|
||||
- ``'hy'``: Armenian
|
||||
- ``'hy-west'``: Armenian (Western)
|
||||
- ``'id'``: Indonesian
|
||||
- ``'is'``: Icelandic
|
||||
- ``'it'``: Italian
|
||||
- ``'jbo'``: Lojban
|
||||
- ``'ka'``: Georgian
|
||||
- ``'kn'``: Kannada
|
||||
- ``'ku'``: Kurdish
|
||||
- ``'la'``: Latin
|
||||
- ``'lfn'``: Lingua Franca Nova
|
||||
- ``'lt'``: Lithuanian
|
||||
- ``'lv'``: Latvian
|
||||
- ``'mk'``: Macedonian
|
||||
- ``'ml'``: Malayalam
|
||||
- ``'ms'``: Malay
|
||||
- ``'ne'``: Nepali
|
||||
- ``'nl'``: Dutch
|
||||
- ``'no'``: Norwegian
|
||||
- ``'pa'``: Punjabi
|
||||
- ``'pl'``: Polish
|
||||
- ``'pt-br'``: Portuguese (Brazil)
|
||||
- ``'pt-pt'``: Portuguese (Portugal)
|
||||
- ``'ro'``: Romanian
|
||||
- ``'ru'``: Russian
|
||||
- ``'sk'``: Slovak
|
||||
- ``'sq'``: Albanian
|
||||
- ``'sr'``: Serbian
|
||||
- ``'sv'``: Swedish
|
||||
- ``'sw'``: Swahili
|
||||
- ``'ta'``: Tamil
|
||||
- ``'tr'``: Turkish
|
||||
- ``'vi'``: Vietnamese
|
||||
- ``'vi-hue'``: Vietnamese (Hue)
|
||||
- ``'vi-sgn'``: Vietnamese (Saigon)
|
||||
- ``'zh'``: Mandarin Chinese
|
||||
- ``'zh-yue'``: Cantonese Chinese
|
||||
|
||||
You can choose the following voices:
|
||||
|
||||
- ``'f1'``: female variant 1
|
||||
- ``'f2'``: female variant 2
|
||||
- ``'f3'``: female variant 3
|
||||
- ``'f4'``: female variant 4
|
||||
- ``'f5'``: female variant 5
|
||||
- ``'m1'``: male variant 1
|
||||
- ``'m2'``: male variant 2
|
||||
- ``'m3'``: male variant 3
|
||||
- ``'m4'``: male variant 4
|
||||
- ``'m5'``: male variant 5
|
||||
- ``'m6'``: male variant 6
|
||||
- ``'m7'``: male variant 7
|
||||
- ``'croak'``: croak
|
||||
- ``'whisper'``: whisper
|
||||
- ``'whisperf'``: female whisper
|
||||
@@ -0,0 +1,51 @@
|
||||
:mod:`hubs <pybricks.hubs>` -- Programmable Hubs
|
||||
================================================
|
||||
|
||||
.. module:: pybricks.hubs
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:hidden:
|
||||
|
||||
movehub
|
||||
cityhub
|
||||
technichub
|
||||
primehub
|
||||
ev3brick
|
||||
|
||||
.. pybricks-classlink:: MoveHub
|
||||
|
||||
.. figure:: ../../api/images/movehub.png
|
||||
:height: 10 em
|
||||
:target: movehub.html
|
||||
|
||||
.. pybricks-classlink:: CityHub
|
||||
|
||||
.. figure:: ../../api/images/cityhub.png
|
||||
:height: 10 em
|
||||
:target: cityhub.html
|
||||
|
||||
.. pybricks-classlink:: TechnicHub
|
||||
|
||||
.. figure:: ../../api/images/technichub.png
|
||||
:height: 10 em
|
||||
:target: technichub.html
|
||||
|
||||
.. pybricks-classlink:: PrimeHub
|
||||
|
||||
.. figure:: ../../api/images/primehub.png
|
||||
:height: 10 em
|
||||
:target: primehub.html
|
||||
|
||||
.. pybricks-classlink:: InventorHub
|
||||
|
||||
.. figure:: ../../api/images/inventorhub.png
|
||||
:height: 10 em
|
||||
:target: primehub.html
|
||||
|
||||
.. pybricks-classlink:: EV3Brick
|
||||
|
||||
.. figure:: ../../api/images/ev3brick.png
|
||||
:height: 10 em
|
||||
:target: ev3brick.html
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
Move Hub
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. _fig_movehub:
|
||||
|
||||
.. figure:: ../../api/images/movehub_label.png
|
||||
:height: 15 em
|
||||
|
||||
.. autoclass:: pybricks.hubs.MoveHub
|
||||
:no-members:
|
||||
|
||||
.. rubric:: Using the hub status light
|
||||
|
||||
.. automethod:: pybricks.hubs::MoveHub.light.on
|
||||
|
||||
.. automethod:: pybricks.hubs::MoveHub.light.off
|
||||
|
||||
.. automethod:: pybricks.hubs::MoveHub.light.blink
|
||||
|
||||
.. automethod:: pybricks.hubs::MoveHub.light.animate
|
||||
|
||||
.. rubric:: Using the battery
|
||||
|
||||
.. automethod:: pybricks.hubs::MoveHub.battery.voltage
|
||||
|
||||
.. automethod:: pybricks.hubs::MoveHub.battery.current
|
||||
|
||||
Status light examples
|
||||
---------------------
|
||||
|
||||
Turning the light on and off
|
||||
******************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_movehub/light_off.py
|
||||
|
||||
Making the light blink
|
||||
******************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_movehub/light_blink.py
|
||||
@@ -0,0 +1,210 @@
|
||||
Prime Hub / Inventor Hub
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../api/images/primeinventorhub.png
|
||||
:height: 15 em
|
||||
|
||||
.. class:: InventorHub
|
||||
|
||||
This class is the same as the ``PrimeHub`` class, shown below. Both classes
|
||||
work on both hubs.
|
||||
|
||||
These hubs are completely identical. They use the same Pybricks firmware.
|
||||
|
||||
.. autoclass:: pybricks.hubs.PrimeHub
|
||||
:no-members:
|
||||
|
||||
.. rubric:: Using the hub status light
|
||||
|
||||
.. figure:: ../../api/images/primehub_light_label.png
|
||||
:width: 22 em
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.light.on
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.light.off
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.light.blink
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.light.animate
|
||||
|
||||
.. rubric:: Using the light matrix display
|
||||
|
||||
.. figure:: ../../api/images/primehub_display_label.png
|
||||
:width: 22 em
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.display.orientation
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.display.off
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.display.pixel
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.display.image
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.display.animate
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.display.number
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.display.char
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.display.text
|
||||
|
||||
.. rubric:: Using the buttons
|
||||
|
||||
.. figure:: ../../api/images/primehub_buttons_label.png
|
||||
:width: 22 em
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.buttons.pressed
|
||||
|
||||
.. rubric:: Using the IMU
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.imu.up
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.imu.tilt
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.imu.acceleration
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.imu.angular_velocity
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.imu.heading
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.imu.reset_heading
|
||||
|
||||
.. rubric:: Using the speaker
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.speaker.beep
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.speaker.play_notes
|
||||
|
||||
.. rubric:: Using the battery
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.battery.voltage
|
||||
|
||||
.. automethod:: pybricks.hubs::PrimeHub.battery.current
|
||||
|
||||
.. note:: The examples below use the ``PrimeHub`` class. The examples work fine
|
||||
on both hubs because they are the identical. If you prefer, you can
|
||||
change this to ``InventorHub``.
|
||||
|
||||
Status light examples
|
||||
---------------------
|
||||
|
||||
Turning the light on and off
|
||||
****************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/light_off.py
|
||||
|
||||
Changing brightness and using custom colors
|
||||
*******************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/light_hsv.py
|
||||
|
||||
Making the light blink
|
||||
**********************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/light_blink.py
|
||||
|
||||
Creating light animations
|
||||
*************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/light_animate.py
|
||||
|
||||
Matrix display examples
|
||||
-----------------------
|
||||
|
||||
Displaying images
|
||||
*****************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/display_image.py
|
||||
|
||||
Displaying numbers
|
||||
******************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/display_number.py
|
||||
|
||||
Displaying text
|
||||
***************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/display_text.py
|
||||
|
||||
Displaying individual pixels
|
||||
****************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/display_pixel.py
|
||||
|
||||
Changing the display orientation
|
||||
********************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/display_orientation.py
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/display_orientation_imu.py
|
||||
|
||||
Making your own images
|
||||
**********************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/display_matrix.py
|
||||
|
||||
Combining images to make expressions
|
||||
************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/display_expression.py
|
||||
|
||||
Displaying animations
|
||||
*********************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/display_animate.py
|
||||
|
||||
Button examples
|
||||
---------------
|
||||
|
||||
Detecting button presses
|
||||
************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/button_main.py
|
||||
|
||||
IMU examples
|
||||
---------------
|
||||
|
||||
Testing which way is up
|
||||
********************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/imu_up.py
|
||||
|
||||
|
||||
Reading the tilt value
|
||||
********************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/imu_tilt.py
|
||||
|
||||
Using a custom hub orientation
|
||||
**************************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/imu_tilt_blast.py
|
||||
|
||||
Reading acceleration and angular velocity vectors
|
||||
**************************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/imu_read_vector.py
|
||||
|
||||
Reading acceleration and angular velocity on one axis
|
||||
*****************************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_primehub/imu_read_scalar.py
|
||||
@@ -0,0 +1,99 @@
|
||||
Technic Hub
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../api/images/technichub.png
|
||||
:height: 15 em
|
||||
|
||||
.. autoclass:: pybricks.hubs.TechnicHub
|
||||
:no-members:
|
||||
|
||||
.. rubric:: Using the hub status light
|
||||
|
||||
.. automethod:: pybricks.hubs::TechnicHub.light.on
|
||||
|
||||
.. automethod:: pybricks.hubs::TechnicHub.light.off
|
||||
|
||||
.. automethod:: pybricks.hubs::TechnicHub.light.blink
|
||||
|
||||
.. automethod:: pybricks.hubs::TechnicHub.light.animate
|
||||
|
||||
.. rubric:: Using the IMU
|
||||
|
||||
.. automethod:: pybricks.hubs::TechnicHub.imu.up
|
||||
|
||||
.. automethod:: pybricks.hubs::TechnicHub.imu.tilt
|
||||
|
||||
.. automethod:: pybricks.hubs::TechnicHub.imu.acceleration
|
||||
|
||||
.. automethod:: pybricks.hubs::TechnicHub.imu.angular_velocity
|
||||
|
||||
.. automethod:: pybricks.hubs::TechnicHub.imu.heading
|
||||
|
||||
.. automethod:: pybricks.hubs::TechnicHub.imu.reset_heading
|
||||
|
||||
.. rubric:: Using the battery
|
||||
|
||||
.. automethod:: pybricks.hubs::TechnicHub.battery.voltage
|
||||
|
||||
.. automethod:: pybricks.hubs::TechnicHub.battery.current
|
||||
|
||||
Status light examples
|
||||
---------------------
|
||||
|
||||
Turning the light on and off
|
||||
****************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_technichub/light_off.py
|
||||
|
||||
Changing brightness and using custom colors
|
||||
*******************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_technichub/light_hsv.py
|
||||
|
||||
Making the light blink
|
||||
**********************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_technichub/light_blink.py
|
||||
|
||||
Creating light animations
|
||||
*************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_technichub/light_animate.py
|
||||
|
||||
IMU examples
|
||||
---------------
|
||||
|
||||
Testing which way is up
|
||||
********************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_technichub/imu_up.py
|
||||
|
||||
|
||||
Reading the tilt value
|
||||
********************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_technichub/imu_tilt.py
|
||||
|
||||
Using a custom hub orientation
|
||||
**************************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_technichub/imu_tilt_blast.py
|
||||
|
||||
Reading acceleration and angular velocity vectors
|
||||
**************************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_technichub/imu_read_vector.py
|
||||
|
||||
Reading acceleration and angular velocity on one axis
|
||||
*****************************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/hub_technichub/imu_read_scalar.py
|
||||
@@ -1,230 +0,0 @@
|
||||
.. autoclass:: pybricks.hubs.EV3Brick
|
||||
:no-members:
|
||||
|
||||
.. rubric:: Using the buttons
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.buttons.pressed
|
||||
|
||||
.. rubric:: Using the brick status light
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.light.on
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide example**
|
||||
|
||||
**Example: Turn the light on and change the color.**
|
||||
|
||||
.. literalinclude::
|
||||
../../pybricks-projects/snippets/ev3/light_color/main.py
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.light.off
|
||||
|
||||
.. rubric:: Using the speaker
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.speaker.beep
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.speaker.play_notes
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide musical note format**
|
||||
|
||||
Each note is a string with the following format:
|
||||
|
||||
- The first character is the name of the note, ``A`` to ``G``
|
||||
or ``R`` for a rest.
|
||||
- Note names can also include an accidental ``#`` (sharp) or
|
||||
``b`` (flat). ``B#``/``Cb`` and ``E#``/``Fb`` are not
|
||||
allowed.
|
||||
- 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``).
|
||||
- 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.
|
||||
- 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.
|
||||
- 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.
|
||||
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.speaker.play_file
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.speaker.say
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.speaker.set_speech_options
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide available languages and voices**
|
||||
|
||||
You can choose the following languages:
|
||||
|
||||
- ``'af'``: Afrikaans
|
||||
- ``'an'``: Aragonese
|
||||
- ``'bg'``: Bulgarian
|
||||
- ``'bs'``: Bosnian
|
||||
- ``'ca'``: Catalan
|
||||
- ``'cs'``: Czech
|
||||
- ``'cy'``: Welsh
|
||||
- ``'da'``: Danish
|
||||
- ``'de'``: German
|
||||
- ``'el'``: Greek
|
||||
- ``'en'``: English (default)
|
||||
- ``'en-gb'``: English (United Kingdom)
|
||||
- ``'en-sc'``: English (Scotland)
|
||||
- ``'en-uk-north'``: English (United Kingdom, Northern)
|
||||
- ``'en-uk-rp'``:
|
||||
English (United Kingdom, Received Pronunciation)
|
||||
- ``'en-uk-wmids'``: English (United Kingdom, West Midlands)
|
||||
- ``'en-us'``: English (United States)
|
||||
- ``'en-wi'``: English (West Indies)
|
||||
- ``'eo'``: Esperanto
|
||||
- ``'es'``: Spanish
|
||||
- ``'es-la'``: Spanish (Latin America)
|
||||
- ``'et'``: Estonian
|
||||
- ``'fa'``: Persian
|
||||
- ``'fa-pin'``: Persian
|
||||
- ``'fi'``: Finnish
|
||||
- ``'fr-be'``: French (Belgium)
|
||||
- ``'fr-fr'``: French (France)
|
||||
- ``'ga'``: Irish
|
||||
- ``'grc'``: Greek
|
||||
- ``'hi'``: Hindi
|
||||
- ``'hr'``: Croatian
|
||||
- ``'hu'``: Hungarian
|
||||
- ``'hy'``: Armenian
|
||||
- ``'hy-west'``: Armenian (Western)
|
||||
- ``'id'``: Indonesian
|
||||
- ``'is'``: Icelandic
|
||||
- ``'it'``: Italian
|
||||
- ``'jbo'``: Lojban
|
||||
- ``'ka'``: Georgian
|
||||
- ``'kn'``: Kannada
|
||||
- ``'ku'``: Kurdish
|
||||
- ``'la'``: Latin
|
||||
- ``'lfn'``: Lingua Franca Nova
|
||||
- ``'lt'``: Lithuanian
|
||||
- ``'lv'``: Latvian
|
||||
- ``'mk'``: Macedonian
|
||||
- ``'ml'``: Malayalam
|
||||
- ``'ms'``: Malay
|
||||
- ``'ne'``: Nepali
|
||||
- ``'nl'``: Dutch
|
||||
- ``'no'``: Norwegian
|
||||
- ``'pa'``: Punjabi
|
||||
- ``'pl'``: Polish
|
||||
- ``'pt-br'``: Portuguese (Brazil)
|
||||
- ``'pt-pt'``: Portuguese (Portugal)
|
||||
- ``'ro'``: Romanian
|
||||
- ``'ru'``: Russian
|
||||
- ``'sk'``: Slovak
|
||||
- ``'sq'``: Albanian
|
||||
- ``'sr'``: Serbian
|
||||
- ``'sv'``: Swedish
|
||||
- ``'sw'``: Swahili
|
||||
- ``'ta'``: Tamil
|
||||
- ``'tr'``: Turkish
|
||||
- ``'vi'``: Vietnamese
|
||||
- ``'vi-hue'``: Vietnamese (Hue)
|
||||
- ``'vi-sgn'``: Vietnamese (Saigon)
|
||||
- ``'zh'``: Mandarin Chinese
|
||||
- ``'zh-yue'``: Cantonese Chinese
|
||||
|
||||
You can choose the following voices:
|
||||
|
||||
- ``'f1'``: female variant 1
|
||||
- ``'f2'``: female variant 2
|
||||
- ``'f3'``: female variant 3
|
||||
- ``'f4'``: female variant 4
|
||||
- ``'f5'``: female variant 5
|
||||
- ``'m1'``: male variant 1
|
||||
- ``'m2'``: male variant 2
|
||||
- ``'m3'``: male variant 3
|
||||
- ``'m4'``: male variant 4
|
||||
- ``'m5'``: male variant 5
|
||||
- ``'m6'``: male variant 6
|
||||
- ``'m7'``: male variant 7
|
||||
- ``'croak'``: croak
|
||||
- ``'whisper'``: whisper
|
||||
- ``'whisperf'``: female whisper
|
||||
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.speaker.set_volume
|
||||
|
||||
|
||||
.. rubric:: Using the screen
|
||||
|
||||
.. |this image| replace:: the screen
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.clear
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.draw_text
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.print
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide example**
|
||||
|
||||
**Example: Say hello... in several ways.**
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\begin{CJK}{UTF8}{gbsn}
|
||||
|
||||
.. literalinclude::
|
||||
../../pybricks-projects/snippets/ev3/screen_print/main.py
|
||||
|
||||
.. raw:: latex
|
||||
|
||||
\end{CJK}
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.set_font
|
||||
|
||||
**Example:** See example in :meth:`print`.
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.load_image
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide example**
|
||||
|
||||
**Example: Show an image on the screen.**
|
||||
|
||||
.. literalinclude::
|
||||
../../pybricks-projects/snippets/ev3/screen_image/main.py
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.draw_image
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.draw_pixel
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.draw_line
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide example**
|
||||
|
||||
**Example: Draw some shapes on the screen.**
|
||||
|
||||
.. literalinclude::
|
||||
../../pybricks-projects/snippets/ev3/screen_draw/main.py
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.draw_box
|
||||
|
||||
**Example:** See example in :meth:`draw_line`.
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.draw_circle
|
||||
|
||||
**Example:** See example in :meth:`draw_line`.
|
||||
|
||||
.. autoattribute:: pybricks.hubs::EV3Brick.screen.width
|
||||
|
||||
.. autoattribute:: pybricks.hubs::EV3Brick.screen.height
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.screen.save
|
||||
|
||||
|
||||
.. rubric:: Using the battery
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.battery.voltage
|
||||
|
||||
.. automethod:: pybricks.hubs::EV3Brick.battery.current
|
||||
|
After Width: | Height: | Size: 182 KiB |
|
After Width: | Height: | Size: 277 KiB |
|
After Width: | Height: | Size: 114 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 239 KiB |
|
After Width: | Height: | Size: 163 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 183 KiB |
|
Before Width: | Height: | Size: 669 KiB After Width: | Height: | Size: 1009 KiB |
|
After Width: | Height: | Size: 208 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 81 KiB |
@@ -7,7 +7,24 @@ run your first scripts.
|
||||
|
||||
**Step 1: Install Pybricks**
|
||||
|
||||
To get started, go to the :doc:`EV3 Quick Start <start_ev3>`.
|
||||
Pybricks scripts are the same across all hubs. The only difference is in how
|
||||
you install Pybricks and how you run scripts. To get started, click one of
|
||||
the platforms below.
|
||||
|
||||
.. list-table::
|
||||
|
||||
* - **MINDSTORMS EV3**
|
||||
- **Powered Up (Technic/City/BOOST)**
|
||||
- **SPIKE / MINDSTORMS Inventor**
|
||||
|
||||
* - .. image:: ../api/images/ev3brick.png
|
||||
:target: start_ev3/index.html
|
||||
|
||||
- .. figure:: ../api/images/powereduphubs.png
|
||||
:target: start_pup.html
|
||||
|
||||
- .. figure:: ../api/images/primeinventorhub.png
|
||||
:target: start_inventor.html
|
||||
|
||||
|
||||
**Step 2: Start coding!**
|
||||
@@ -46,22 +63,26 @@ findings on our `support page`_ so we can make Pybricks even better.
|
||||
:caption: Getting started
|
||||
:hidden:
|
||||
|
||||
start_ev3
|
||||
start_ev3/index
|
||||
start_pup
|
||||
start_inventor
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Pybricks Modules
|
||||
:hidden:
|
||||
|
||||
hubs
|
||||
hubs/index
|
||||
pupdevices/index
|
||||
ev3devices
|
||||
nxtdevices
|
||||
iodevices
|
||||
parameters
|
||||
tools
|
||||
iodevices/index
|
||||
parameters/index
|
||||
tools/index
|
||||
robotics
|
||||
media
|
||||
messaging
|
||||
geometry
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
:mod:`iodevices <pybricks.iodevices>` -- Generic I/O Devices
|
||||
============================================================
|
||||
|
||||
.. automodule:: pybricks.iodevices
|
||||
:no-members:
|
||||
|
||||
.. note::
|
||||
|
||||
This module provides classes to interact with unofficial motors, sensors,
|
||||
and other custom electronics. You should only connect custom electronics
|
||||
or unofficial devices if you know what you are doing. Proceed with caution.
|
||||
|
||||
LUMP Device
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../api/images/sensor_lump.png
|
||||
:width: 80 %
|
||||
|
||||
.. autoclass:: pybricks.iodevices.LUMPDevice
|
||||
|
||||
.. raw:: html
|
||||
|
||||
<h1>EV3 Only</h1>
|
||||
|
||||
The classes listed below are **only available on the EV3**.
|
||||
|
||||
.. include:: iodevices_ev3.inc
|
||||
@@ -0,0 +1,11 @@
|
||||
EV3 Analog Sensor
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. note::
|
||||
|
||||
This class is only available on EV3.
|
||||
|
||||
.. figure:: ../../api/images/sensor_rj12_brown.png
|
||||
:width: 25 %
|
||||
|
||||
.. autoclass:: pybricks.iodevices.AnalogSensor
|
||||
@@ -0,0 +1,20 @@
|
||||
EV3 DC Motor
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. note::
|
||||
|
||||
This class is specifically for on EV3. For Powered Up DC Motors, just use
|
||||
the :class:`DCMotor <pybricks.pupdevices.DCMotor>` class.
|
||||
|
||||
.. figure:: ../../api/images/rcxmotor.png
|
||||
:width: 40 %
|
||||
|
||||
.. autoclass:: pybricks._common.DCMotor
|
||||
:noindex:
|
||||
:no-members:
|
||||
|
||||
.. automethod:: pybricks._common.DCMotor.dc
|
||||
:noindex:
|
||||
|
||||
.. automethod:: pybricks._common.DCMotor.stop
|
||||
:noindex:
|
||||
@@ -0,0 +1,60 @@
|
||||
Ev3dev sensors
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. note::
|
||||
|
||||
This class is only available on EV3.
|
||||
|
||||
.. figure:: ../../api/images/sensor_ev3dev.png
|
||||
:width: 70 %
|
||||
|
||||
EV3 MicroPython is built on top of ev3dev, which means that a sensor
|
||||
may be supported even if it is not listed in this documentation. If so, you can
|
||||
use it with the ``Ev3devSensor`` class. This is easier and faster than using
|
||||
the custom device classes given above.
|
||||
|
||||
To check whether you can use the ``Ev3devSensor`` class:
|
||||
|
||||
* Plug the sensor into your EV3 Brick.
|
||||
* Go to the main menu of the EV3 Brick.
|
||||
* Select `Device Browser` and then `Sensors`.
|
||||
* If your sensor shows up, you can use it.
|
||||
|
||||
Now select your sensor from the menu and choose `set mode`. This shows all
|
||||
available modes for this sensor. You can use these mode names as the ``mode``
|
||||
setting below.
|
||||
|
||||
To learn more about compatible devices and what each mode does,
|
||||
visit the `ev3dev sensors`_ page.
|
||||
|
||||
.. autoclass:: pybricks.iodevices.Ev3devSensor
|
||||
:no-members:
|
||||
|
||||
.. autoattribute:: pybricks.iodevices.Ev3devSensor.sensor_index
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.iodevices.Ev3devSensor.port_index
|
||||
:annotation:
|
||||
|
||||
.. automethod:: pybricks.iodevices.Ev3devSensor.read
|
||||
|
||||
**Example: Reading values with the Ev3devSensor class**
|
||||
|
||||
In this example we use the LEGO MINDSTORMS EV3 Color Sensor with the raw
|
||||
RGB mode. This gives uncalibrated red, green, and blue reflection values.
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/ev3/ev3devsensor/main.py
|
||||
|
||||
**Example: Extending the Ev3devSensor class**
|
||||
|
||||
This example shows how to extend the ``Ev3devSensor`` class by accessing
|
||||
additional features found in the Linux system folder for this device.
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/ev3/ev3devsensor/class_example.py
|
||||
|
||||
.. _ev3dev sensors: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/sensors.html
|
||||
.. _Mode name: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/sensor_data.html
|
||||
.. _lego-sensor: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/sensors.html#the-lego-sensor-subsytem
|
||||
.. _lego-port: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/ports.html#the-lego-port-subsystem
|
||||
@@ -0,0 +1,50 @@
|
||||
Generic I2C Device
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. note::
|
||||
|
||||
This class is **only supported on the EV3** at this time. It could be added
|
||||
to Powered Up hubs in a future release. If you'd like to see this happen, be
|
||||
sure to ask us on our `support page`_.
|
||||
|
||||
.. _support page: https://github.com/pybricks/support/issues/
|
||||
|
||||
|
||||
.. figure:: ../../api/images/sensor_rj12_bluegreen.png
|
||||
:width: 25 %
|
||||
|
||||
.. autoclass:: pybricks.iodevices.I2CDevice
|
||||
|
||||
**Example: Read and write to an I2C device**
|
||||
|
||||
.. literalinclude:: ../../../examples/ev3/i2c_basics/main.py
|
||||
|
||||
.. _i2caddress:
|
||||
|
||||
I2C Addresses
|
||||
---------------
|
||||
I2C addresses are 7-bit values. However, most vendors who make LEGO compatible
|
||||
sensors provide an 8-bit address in their documentation.
|
||||
To use those addresses, you must shift them by 1 bit.
|
||||
For example, if the documented address is ``0xD2``, you can do
|
||||
``address = 0xD2 >> 1``.
|
||||
|
||||
Advanced I2C Commands
|
||||
---------------------
|
||||
Some rudimentary I2C devices do not require a register argument or even any
|
||||
data. You can achieve this behavior as shown in the examples below.
|
||||
|
||||
**Example: Advanced I2C read and write techniques**
|
||||
|
||||
.. literalinclude:: ../../../examples/ev3/i2c_extra/main.py
|
||||
|
||||
**Additional technical resources**
|
||||
|
||||
The ``I2CDevice`` class methods call functions from the Linux SMBus driver.
|
||||
To find out which commands are called under the hood, check the
|
||||
`Pybricks source code`_.
|
||||
More details about using I2C without MicroPython can be found on
|
||||
the `ev3dev I2C`_ page.
|
||||
|
||||
.. _ev3dev I2C: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/i2c.html
|
||||
.. _Pybricks source code: https://github.com/pybricks/pybricks-micropython
|
||||
@@ -0,0 +1,61 @@
|
||||
:mod:`iodevices <pybricks.iodevices>` -- Generic I/O Devices
|
||||
============================================================
|
||||
|
||||
.. automodule:: pybricks.iodevices
|
||||
:no-members:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:hidden:
|
||||
|
||||
pupdevice
|
||||
i2cdevice
|
||||
uartdevice
|
||||
analogsensor
|
||||
lumpdevice
|
||||
dcmotor
|
||||
ev3devsensor
|
||||
|
||||
.. pybricks-classlink:: PUPDevice
|
||||
|
||||
.. figure:: ../../api/images/sensor_pup.png
|
||||
:width: 70 %
|
||||
:target: pupdevice.html
|
||||
|
||||
This class is only available on Powered Up hubs.
|
||||
|
||||
.. pybricks-classlink:: I2CDevice
|
||||
|
||||
.. figure:: ../../api/images/sensor_rj12_bluegreen.png
|
||||
:width: 25 %
|
||||
:target: i2cdevice.html
|
||||
|
||||
.. pybricks-classlink:: UARTDevice
|
||||
|
||||
.. figure:: ../../api/images/sensor_rj12_gray.png
|
||||
:width: 25 %
|
||||
:target: uartdevice.html
|
||||
|
||||
.. pybricks-classlink:: AnalogSensor
|
||||
|
||||
.. figure:: ../../api/images/sensor_rj12_brown.png
|
||||
:width: 25 %
|
||||
:target: analogsensor.html
|
||||
|
||||
.. pybricks-classlink:: LUMPDevice
|
||||
|
||||
.. figure:: ../../api/images/sensor_rj12_green.png
|
||||
:width: 25 %
|
||||
:target: lumpdevice.html
|
||||
|
||||
.. pybricks-classlink:: DCMotor
|
||||
|
||||
.. figure:: ../../api/images/rcxmotor.png
|
||||
:width: 40 %
|
||||
:target: dcmotor.html
|
||||
|
||||
.. pybricks-classlink:: Ev3devSensor
|
||||
|
||||
.. figure:: ../../api/images/sensor_ev3dev.png
|
||||
:width: 70 %
|
||||
:target: ev3devsensor.html
|
||||
@@ -0,0 +1,11 @@
|
||||
EV3 UART Device
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. note::
|
||||
|
||||
This class is only available on EV3.
|
||||
|
||||
.. figure:: ../../api/images/sensor_rj12_green.png
|
||||
:width: 25 %
|
||||
|
||||
.. autoclass:: pybricks.iodevices.LUMPDevice
|
||||
@@ -0,0 +1,14 @@
|
||||
Powered Up Device
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../api/images/sensor_pup.png
|
||||
:width: 70 %
|
||||
|
||||
.. autoclass:: pybricks.iodevices.PUPDevice
|
||||
:no-members:
|
||||
|
||||
.. automethod:: pybricks.iodevices.PUPDevice.info
|
||||
|
||||
.. automethod:: pybricks.iodevices.PUPDevice.read
|
||||
|
||||
.. automethod:: pybricks.iodevices.PUPDevice.write
|
||||
@@ -0,0 +1,20 @@
|
||||
Generic UART Device
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. note::
|
||||
|
||||
This class is **only supported on the EV3** at this time. It could be added
|
||||
to Powered Up hubs in a future release. If you'd like to see this happen,
|
||||
be sure to ask us on our `support page`_.
|
||||
|
||||
.. _support page: https://github.com/pybricks/support/issues/
|
||||
|
||||
.. figure:: ../../api/images/sensor_rj12_gray.png
|
||||
:width: 25 %
|
||||
|
||||
.. autoclass:: pybricks.iodevices.UARTDevice
|
||||
|
||||
**Example: Read and write to a UART device**
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/ev3/uart_basics/main.py
|
||||
@@ -1,151 +0,0 @@
|
||||
Analog Sensor
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../api/images/sensor_rj12_brown.png
|
||||
:width: 25 %
|
||||
|
||||
.. autoclass:: pybricks.iodevices.AnalogSensor
|
||||
|
||||
I2C Device
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../api/images/sensor_rj12_bluegreen.png
|
||||
:width: 25 %
|
||||
|
||||
.. autoclass:: pybricks.iodevices.I2CDevice
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide example**
|
||||
|
||||
**Example: Read and write to an I2C device.**
|
||||
|
||||
.. literalinclude:: ../../pybricks-projects/snippets/ev3/i2c_basics/main.py
|
||||
|
||||
.. _i2caddress:
|
||||
|
||||
I2C Addresses
|
||||
---------------
|
||||
I2C addresses are 7-bit values. However, most vendors who make LEGO compatible
|
||||
sensors provide an 8-bit address in their documentation.
|
||||
To use those addresses, you must shift them by 1 bit.
|
||||
For example, if the documented address is ``0xD2``, you can do
|
||||
``address = 0xD2 >> 1``.
|
||||
|
||||
Advanced I2C Commands
|
||||
---------------------
|
||||
Some rudimentary I2C devices do not require a register argument or even any
|
||||
data. You can achieve this behavior as shown in the examples below.
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide example**
|
||||
|
||||
**Example: Advanced I2C read and write techniques.**
|
||||
|
||||
.. literalinclude:: ../../pybricks-projects/snippets/ev3/i2c_extra/main.py
|
||||
|
||||
**Additional technical resources**
|
||||
|
||||
The ``I2CDevice`` class methods call functions from the Linux SMBus driver.
|
||||
To find out which commands are called under the hood, check the
|
||||
`Pybricks source code`_.
|
||||
More details about using I2C without MicroPython can be found on
|
||||
the `ev3dev I2C`_ page.
|
||||
|
||||
.. _ev3dev I2C: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/i2c.html
|
||||
.. _Pybricks source code: https://github.com/pybricks/pybricks-micropython
|
||||
|
||||
|
||||
UART Device
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../api/images/sensor_rj12_gray.png
|
||||
:width: 25 %
|
||||
|
||||
.. autoclass:: pybricks.iodevices.UARTDevice
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide example**
|
||||
|
||||
**Example: Read and write to a UART device.**
|
||||
|
||||
.. literalinclude::
|
||||
../../pybricks-projects/snippets/ev3/uart_basics/main.py
|
||||
|
||||
DC Motor
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../api/images/rcxmotor.png
|
||||
:width: 40 %
|
||||
|
||||
.. autoclass:: pybricks._common.DCMotor
|
||||
:noindex:
|
||||
:no-members:
|
||||
|
||||
.. automethod:: pybricks._common.DCMotor.dc
|
||||
:noindex:
|
||||
|
||||
.. automethod:: pybricks._common.DCMotor.stop
|
||||
:noindex:
|
||||
|
||||
Ev3dev sensors
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../api/images/sensor_ev3dev.png
|
||||
:width: 70 %
|
||||
|
||||
EV3 MicroPython is built on top of ev3dev, which means that a sensor
|
||||
may be supported even if it is not listed in this documentation. If so, you can
|
||||
use it with the ``Ev3devSensor`` class. This is easier and faster than using
|
||||
the custom device classes given above.
|
||||
|
||||
To check whether you can use the ``Ev3devSensor`` class:
|
||||
|
||||
* Plug the sensor into your EV3 Brick.
|
||||
* Go to the main menu of the EV3 Brick.
|
||||
* Select `Device Browser` and then `Sensors`.
|
||||
* If your sensor shows up, you can use it.
|
||||
|
||||
Now select your sensor from the menu and choose `set mode`. This shows all
|
||||
available modes for this sensor. You can use these mode names as the ``mode``
|
||||
setting below.
|
||||
|
||||
To learn more about compatible devices and what each mode does,
|
||||
visit the `ev3dev sensors`_ page.
|
||||
|
||||
.. autoclass:: pybricks.iodevices.Ev3devSensor
|
||||
:no-members:
|
||||
|
||||
.. autoattribute:: pybricks.iodevices.Ev3devSensor.sensor_index
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.iodevices.Ev3devSensor.port_index
|
||||
:annotation:
|
||||
|
||||
.. automethod:: pybricks.iodevices.Ev3devSensor.read
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide example: Reading values with the Ev3devSensor class**
|
||||
|
||||
**Example**
|
||||
|
||||
In this example we use the LEGO MINDSTORMS EV3 Color Sensor with the raw
|
||||
RGB mode. This gives uncalibrated red, green, and blue reflection values.
|
||||
|
||||
.. literalinclude::
|
||||
../../pybricks-projects/snippets/ev3/ev3devsensor/main.py
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide example: Extending the Ev3devSensor class**
|
||||
|
||||
**Example**
|
||||
|
||||
This example shows how to extend the ``Ev3devSensor`` class by accessing
|
||||
additional features found in the Linux system folder for this device.
|
||||
|
||||
.. literalinclude::
|
||||
../../pybricks-projects/snippets/ev3/ev3devsensor/class_example.py
|
||||
|
||||
.. _ev3dev sensors: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/sensors.html
|
||||
.. _Mode name: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/sensor_data.html
|
||||
.. _lego-sensor: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/sensors.html#the-lego-sensor-subsytem
|
||||
.. _lego-port: http://docs.ev3dev.org/projects/lego-linux-drivers/en/ev3dev-stretch/ports.html#the-lego-port-subsystem
|
||||
@@ -64,25 +64,6 @@ and the client can send a message to the server.
|
||||
|
||||
An example network with one server and one clients.
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide full server example**
|
||||
|
||||
**Example: EV3 Bluetooth Server.**
|
||||
|
||||
This is the full version of the excerpt shown in :numref:`fig_messaging`.
|
||||
|
||||
.. literalinclude:: ../../pybricks-projects/snippets/ev3/bluetooth_server/server.py
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide full client example**
|
||||
|
||||
**Example: EV3 Bluetooth Client.**
|
||||
|
||||
This is the full version of the excerpt shown in :numref:`fig_messaging`.
|
||||
|
||||
.. literalinclude:: ../../pybricks-projects/snippets/ev3/bluetooth_client/client.py
|
||||
|
||||
|
||||
The only difference between the client and the server is which one initiates
|
||||
the connection at the beginning of the program:
|
||||
|
||||
@@ -123,6 +104,21 @@ numbers, or text), you can choose one of the Mailboxes below.
|
||||
.. autoclass:: TextMailbox
|
||||
:no-members:
|
||||
|
||||
Examples
|
||||
-----------------
|
||||
|
||||
**EV3 Bluetooth Server**
|
||||
|
||||
This is the full version of the excerpt shown in :numref:`fig_messaging`.
|
||||
|
||||
.. literalinclude:: ../../examples/ev3/bluetooth_server/server.py
|
||||
|
||||
**EV3 Bluetooth Client**
|
||||
|
||||
This is the full version of the excerpt shown in :numref:`fig_messaging`.
|
||||
|
||||
.. literalinclude:: ../../examples/ev3/bluetooth_client/client.py
|
||||
|
||||
Making bigger networks
|
||||
----------------------
|
||||
|
||||
|
||||
@@ -126,6 +126,8 @@ the settings.
|
||||
|
||||
.. automethod:: pybricks._common.Control.stalled
|
||||
|
||||
.. automethod:: pybricks._common.Control.load
|
||||
|
||||
.. rubric:: Settings
|
||||
|
||||
.. automethod:: pybricks._common.Control.limits
|
||||
|
||||
@@ -90,9 +90,6 @@ Vernier Adapter
|
||||
^^^^^^^^^^^^^^^^^
|
||||
.. autoclass:: pybricks.nxtdevices.VernierAdapter
|
||||
|
||||
.. toggle-header::
|
||||
:header: **Show/hide example**
|
||||
**Example: Using the Surface Temperature Sensor.**
|
||||
|
||||
**Example: Using the Surface Temperature Sensor.**
|
||||
|
||||
.. literalinclude:: ../../pybricks-projects/snippets/ev3/vernier_surface_temperature/main.py
|
||||
.. literalinclude:: ../../examples/ev3/vernier_surface_temperature/main.py
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
Button
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. class:: Button
|
||||
|
||||
Buttons on a hub or remote.
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.LEFT_DOWN
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.LEFT_MINUS
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.DOWN
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.RIGHT_DOWN
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.RIGHT_MINUS
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.LEFT
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.CENTER
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.RIGHT
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.LEFT_UP
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.LEFT_PLUS
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.UP
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.BEACON
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.RIGHT_UP
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Button.RIGHT_PLUS
|
||||
:annotation:
|
||||
@@ -0,0 +1,84 @@
|
||||
Color
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
.. autoclass:: pybricks.parameters.Color
|
||||
:no-members:
|
||||
|
||||
.. rubric:: Saturated colors
|
||||
|
||||
These colors have maximum saturation and brightness value.
|
||||
They differ only in hue.
|
||||
|
||||
.. autoattribute:: RED
|
||||
|
||||
.. pybricks-color:: RED
|
||||
|
||||
.. autoattribute:: ORANGE
|
||||
|
||||
.. pybricks-color:: ORANGE
|
||||
|
||||
.. autoattribute:: YELLOW
|
||||
|
||||
.. pybricks-color:: YELLOW
|
||||
|
||||
.. autoattribute:: GREEN
|
||||
|
||||
.. pybricks-color:: GREEN
|
||||
|
||||
.. autoattribute:: CYAN
|
||||
|
||||
.. pybricks-color:: CYAN
|
||||
|
||||
.. autoattribute:: BLUE
|
||||
|
||||
.. pybricks-color:: BLUE
|
||||
|
||||
.. autoattribute:: VIOLET
|
||||
|
||||
.. pybricks-color:: VIOLET
|
||||
|
||||
.. autoattribute:: MAGENTA
|
||||
|
||||
.. pybricks-color:: MAGENTA
|
||||
|
||||
.. rubric:: Unsaturated colors
|
||||
|
||||
These colors have zero hue and saturation. They differ only in brightness
|
||||
value.
|
||||
|
||||
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.
|
||||
|
||||
.. autoattribute:: WHITE
|
||||
|
||||
.. pybricks-color:: WHITE
|
||||
|
||||
.. autoattribute:: GRAY
|
||||
|
||||
.. pybricks-color:: GRAY
|
||||
|
||||
.. autoattribute:: BLACK
|
||||
|
||||
This represents dark objects that still reflect
|
||||
a very small amount of light.
|
||||
|
||||
.. pybricks-color:: BLACK
|
||||
|
||||
.. autoattribute:: NONE
|
||||
|
||||
This is total darkness, with no reflection or light at all.
|
||||
|
||||
.. pybricks-color:: NONE
|
||||
|
||||
.. rubric:: Making your own colors
|
||||
|
||||
This example shows the basics of color properties, and how to define new colors.
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/parameters/color_basics.py
|
||||
|
||||
This example shows more advanced use cases of the ``Color`` class.
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/parameters/color_advanced.py
|
||||
@@ -0,0 +1,24 @@
|
||||
Direction
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. class:: Direction
|
||||
|
||||
Rotational direction for positive speed or angle values.
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Direction.CLOCKWISE
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Direction.COUNTERCLOCKWISE
|
||||
:annotation:
|
||||
|
||||
+--------------------------------+-------------------+-----------------+
|
||||
| ``positive_direction =`` | Positive speed: | Negative speed: |
|
||||
+================================+===================+=================+
|
||||
| ``Direction.CLOCKWISE`` | clockwise | counterclockwise|
|
||||
+--------------------------------+-------------------+-----------------+
|
||||
| ``Direction.COUNTERCLOCKWISE`` | counterclockwise | clockwise |
|
||||
+--------------------------------+-------------------+-----------------+
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,29 @@
|
||||
:mod:`parameters <pybricks.parameters>` -- Parameters and Constants
|
||||
===================================================================
|
||||
|
||||
.. automodule:: pybricks.parameters
|
||||
:no-members:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:hidden:
|
||||
|
||||
button
|
||||
color
|
||||
direction
|
||||
port
|
||||
side
|
||||
stop
|
||||
|
||||
.. pybricks-classlink:: Button
|
||||
|
||||
.. pybricks-classlink:: Color
|
||||
|
||||
.. pybricks-classlink:: Direction
|
||||
|
||||
.. pybricks-classlink:: Port
|
||||
|
||||
.. pybricks-classlink:: Side
|
||||
|
||||
.. pybricks-classlink:: Stop
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
Port
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. class:: Port
|
||||
|
||||
Input and output ports:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Port.A
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Port.B
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Port.C
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Port.D
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Port.E
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Port.F
|
||||
:annotation:
|
||||
|
||||
EV3 Sensor ports:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Port.S1
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Port.S2
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Port.S3
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Port.S4
|
||||
:annotation:
|
||||
@@ -0,0 +1,55 @@
|
||||
Side
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. class:: Side
|
||||
|
||||
Side of a hub or a sensor. These devices are
|
||||
mostly rectangular boxes with six sides:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Side.TOP
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Side.BOTTOM
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Side.FRONT
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Side.BACK
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Side.LEFT
|
||||
:annotation:
|
||||
|
||||
.. autoattribute:: pybricks.parameters.Side.RIGHT
|
||||
:annotation:
|
||||
|
||||
|
||||
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.
|
||||
|
||||
**Prime Hub**
|
||||
|
||||
.. figure:: ../../api/images/orientation_primehub_label.png
|
||||
:height: 17 em
|
||||
|
||||
**Inventor Hub**
|
||||
|
||||
.. figure:: ../../api/images/orientation_inventorhub_label.png
|
||||
:height: 17 em
|
||||
|
||||
**Move Hub**
|
||||
|
||||
.. figure:: ../../api/images/orientation_movehub_label.png
|
||||
:height: 17 em
|
||||
|
||||
**Technic Hub**
|
||||
|
||||
.. figure:: ../../api/images/orientation_technichub_label.png
|
||||
:height: 17 em
|
||||
|
||||
**Tilt Sensor**
|
||||
|
||||
.. figure:: ../../api/images/orientation_tiltsensor_label.png
|
||||
:height: 17 em
|
||||
@@ -1,42 +1,22 @@
|
||||
:mod:`parameters <pybricks.parameters>` -- Parameters and Constants
|
||||
===================================================================
|
||||
Stop
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. automodule:: pybricks.parameters
|
||||
:no-members:
|
||||
.. class:: Stop
|
||||
|
||||
.. autoclass:: pybricks.parameters.Port
|
||||
:no-members:
|
||||
Action after the motor stops.
|
||||
|
||||
Motor ports:
|
||||
.. autoattribute:: pybricks.parameters.Stop.COAST
|
||||
:annotation:
|
||||
|
||||
.. data:: A
|
||||
.. data:: B
|
||||
.. data:: C
|
||||
.. data:: D
|
||||
.. autoattribute:: pybricks.parameters.Stop.BRAKE
|
||||
:annotation:
|
||||
|
||||
Sensor ports:
|
||||
.. autoattribute:: pybricks.parameters.Stop.HOLD
|
||||
:annotation:
|
||||
|
||||
.. data:: S1
|
||||
.. data:: S2
|
||||
.. data:: S3
|
||||
.. data:: S4
|
||||
|
||||
.. autoclass:: pybricks.parameters.Direction
|
||||
:no-members:
|
||||
|
||||
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 following diagrams:
|
||||
|
||||
- Clockwise direction for :ref:`EV3/NXT motors <fig_ev3motors>`
|
||||
|
||||
.. autoclass:: pybricks.parameters.Stop
|
||||
:no-members:
|
||||
|
||||
The following table show how each stop type adds an extra level of
|
||||
The following table shows how each stop type adds an extra level of
|
||||
resistance to motion. In these examples, ``m`` is a
|
||||
:class:`Motor <pybricks.ev3devices.Motor>` and
|
||||
:class:`Motor <pybricks.pupdevices.Motor>` and
|
||||
and ``d`` is a :class:`DriveBase <pybricks.robotics.DriveBase>`. The
|
||||
examples also show how running at zero speed compares to these stop types.
|
||||
|
||||
@@ -58,9 +38,3 @@
|
||||
| | | | | | | ``d.straight(0)`` |
|
||||
| | | | | | | ``d.straight(100)`` |
|
||||
+--------+------------+--------+-------------+---------------+-----------------------------------------+
|
||||
|
||||
.. autoclass:: pybricks.parameters.Color
|
||||
:no-members:
|
||||
|
||||
.. autoclass:: pybricks.parameters.Button
|
||||
:no-members:
|
||||
@@ -0,0 +1,79 @@
|
||||
Color and Distance Sensor
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../api/images/sensor_colordistance.png
|
||||
:width: 35 %
|
||||
|
||||
.. autoclass:: pybricks.pupdevices.ColorDistanceSensor
|
||||
:no-members:
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ColorDistanceSensor.color
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ColorDistanceSensor.reflection
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ColorDistanceSensor.ambient
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ColorDistanceSensor.distance
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ColorDistanceSensor.hsv
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ColorDistanceSensor.detectable_colors
|
||||
|
||||
.. rubric:: Built-in light
|
||||
|
||||
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.
|
||||
|
||||
.. automethod:: pybricks.pupdevices::ColorDistanceSensor.light.on
|
||||
|
||||
.. automethod:: pybricks.pupdevices::ColorDistanceSensor.light.off
|
||||
|
||||
Examples
|
||||
-------------------
|
||||
|
||||
Measuring color
|
||||
***************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_color_distance/color_print.py
|
||||
|
||||
|
||||
Waiting for a color
|
||||
*******************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_color_distance/wait_for_color.py
|
||||
|
||||
Measuring distance
|
||||
******************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_color_distance/distance_blink.py
|
||||
|
||||
Blinking the built-in light
|
||||
***************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_color_distance/distance_blink.py
|
||||
|
||||
Reading hue, saturation, value
|
||||
**********************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_color_distance/hsv.py
|
||||
|
||||
Changing the detectable colors
|
||||
******************************
|
||||
|
||||
By default, the sensor is configured to detect red, yellow, green,
|
||||
blue, white, or ``None``, which suits many applications.
|
||||
|
||||
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.
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_color_distance/detectable_colors.py
|
||||
@@ -0,0 +1,82 @@
|
||||
Color Sensor
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../api/images/sensor_color_lights_label.png
|
||||
:width: 70 %
|
||||
|
||||
.. autoclass:: pybricks.pupdevices.ColorSensor
|
||||
:no-members:
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ColorSensor.color
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ColorSensor.reflection
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ColorSensor.ambient
|
||||
|
||||
.. rubric:: Advanced color sensing
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ColorSensor.hsv
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ColorSensor.detectable_colors
|
||||
|
||||
.. rubric:: Built-in lights
|
||||
|
||||
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.
|
||||
|
||||
.. automethod:: pybricks.pupdevices::ColorSensor.lights.on
|
||||
|
||||
.. automethod:: pybricks.pupdevices::ColorSensor.lights.off
|
||||
|
||||
|
||||
Examples
|
||||
-------------------
|
||||
|
||||
Measuring color and reflection
|
||||
******************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_color/color_print.py
|
||||
|
||||
|
||||
Waiting for a color
|
||||
*******************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_color/wait_for_color.py
|
||||
|
||||
|
||||
Reading *reflected* hue, saturation, and value
|
||||
************************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_color/hsv.py
|
||||
|
||||
|
||||
Changing the detectable colors
|
||||
******************************
|
||||
|
||||
By default, the sensor is configured to detect red, yellow, green,
|
||||
blue, white, or ``None``, which suits many applications.
|
||||
|
||||
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.
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_color/detectable_colors.py
|
||||
|
||||
Reading *ambient* hue, saturation, value, and color
|
||||
***************************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_color/color_ambient.py
|
||||
|
||||
Blinking the built-in lights
|
||||
****************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_color/lights_blink.py
|
||||
@@ -0,0 +1,45 @@
|
||||
Motors without Rotation Sensors
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. _fig_pupdcmotors:
|
||||
|
||||
.. figure:: ../../api/images/pupdcmotors_label.png
|
||||
:width: 70 %
|
||||
:alt: pupmotors
|
||||
:align: center
|
||||
|
||||
Powered Up motors without rotation sensors. The arrows indicate the default
|
||||
positive direction.
|
||||
|
||||
.. autoclass:: pybricks.pupdevices.DCMotor
|
||||
:no-members:
|
||||
|
||||
.. automethod:: pybricks.pupdevices.DCMotor.dc
|
||||
:noindex:
|
||||
|
||||
.. automethod:: pybricks.pupdevices.DCMotor.stop
|
||||
:noindex:
|
||||
|
||||
.. automethod:: pybricks.pupdevices.DCMotor.brake
|
||||
:noindex:
|
||||
|
||||
Examples
|
||||
-------------------
|
||||
|
||||
Making the motor move back and forth
|
||||
************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/motor_dc/motor_dc_init_basic.py
|
||||
|
||||
Changing the positive direction
|
||||
*******************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/motor_dc/motor_dc_init_direction.py
|
||||
|
||||
Starting and stopping
|
||||
*********************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/motor_dc/motor_dc_stop.py
|
||||
@@ -0,0 +1,31 @@
|
||||
Force Sensor
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../api/images/sensor_force.png
|
||||
:width: 35 %
|
||||
|
||||
.. autoclass:: pybricks.pupdevices.ForceSensor
|
||||
:no-members:
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ForceSensor.force
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ForceSensor.distance
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ForceSensor.pressed
|
||||
|
||||
.. automethod:: pybricks.pupdevices.ForceSensor.touched
|
||||
|
||||
Examples
|
||||
-------------------
|
||||
|
||||
Measuring force and movement
|
||||
****************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_force/basics.py
|
||||
|
||||
Measuring peak force
|
||||
********************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_force/peak.py
|
||||
@@ -0,0 +1,87 @@
|
||||
:mod:`pupdevices <pybricks.pupdevices>` -- Powered Up Devices
|
||||
=============================================================
|
||||
|
||||
.. automodule:: pybricks.pupdevices
|
||||
:no-members:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:hidden:
|
||||
|
||||
dcmotor
|
||||
motor
|
||||
tiltsensor
|
||||
infraredsensor
|
||||
colordistancesensor
|
||||
pfmotor
|
||||
colorsensor
|
||||
ultrasonicsensor
|
||||
forcesensor
|
||||
light
|
||||
remote
|
||||
|
||||
.. pybricks-classlink:: DCMotor
|
||||
|
||||
.. figure:: ../../api/images/pupdcmotors_label.png
|
||||
:width: 70 %
|
||||
:target: dcmotor.html
|
||||
|
||||
.. pybricks-classlink:: Motor
|
||||
|
||||
.. figure:: ../../api/images/pupmotors_label.png
|
||||
:width: 100 %
|
||||
:target: motor.html
|
||||
|
||||
.. pybricks-classlink:: TiltSensor
|
||||
|
||||
.. figure:: ../../api/images/sensor_tilt.png
|
||||
:width: 35 %
|
||||
:target: tiltsensor.html
|
||||
|
||||
.. pybricks-classlink:: InfraredSensor
|
||||
|
||||
.. figure:: ../../api/images/sensor_proximity.png
|
||||
:width: 35 %
|
||||
:target: infraredsensor.html
|
||||
|
||||
.. pybricks-classlink:: ColorDistanceSensor
|
||||
|
||||
.. figure:: ../../api/images/sensor_colordistance.png
|
||||
:width: 32 %
|
||||
:target: colordistancesensor.html
|
||||
|
||||
.. pybricks-classlink:: PFMotor
|
||||
|
||||
.. figure:: ../../api/images/pfmotor.png
|
||||
:width: 95 %
|
||||
:target: pfmotor.html
|
||||
|
||||
.. pybricks-classlink:: ColorSensor
|
||||
|
||||
.. figure:: ../../api/images/sensor_color.png
|
||||
:width: 32 %
|
||||
:target: colorsensor.html
|
||||
|
||||
.. pybricks-classlink:: UltrasonicSensor
|
||||
|
||||
.. figure:: ../../api/images/sensor_ultrasonic.png
|
||||
:width: 37 %
|
||||
:target: ultrasonicsensor.html
|
||||
|
||||
.. pybricks-classlink:: ForceSensor
|
||||
|
||||
.. figure:: ../../api/images/sensor_force.png
|
||||
:width: 35 %
|
||||
:target: forcesensor.html
|
||||
|
||||
.. pybricks-classlink:: Light
|
||||
|
||||
.. figure:: ../../api/images/light.png
|
||||
:width: 90 %
|
||||
:target: light.html
|
||||
|
||||
.. pybricks-classlink:: Remote
|
||||
|
||||
.. figure:: ../../api/images/pupremote.png
|
||||
:width: 50 %
|
||||
:target: remote.html
|
||||
@@ -0,0 +1,23 @@
|
||||
Infrared Sensor
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../api/images/sensor_proximity.png
|
||||
:width: 35 %
|
||||
|
||||
.. autoclass:: pybricks.pupdevices.InfraredSensor
|
||||
:no-members:
|
||||
|
||||
.. automethod:: pybricks.pupdevices.InfraredSensor.distance
|
||||
|
||||
.. automethod:: pybricks.pupdevices.InfraredSensor.reflection
|
||||
|
||||
.. automethod:: pybricks.pupdevices.InfraredSensor.count
|
||||
|
||||
Examples
|
||||
-------------------
|
||||
|
||||
Measuring distance, object count, and reflection
|
||||
************************************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/sensor_infrared/basics.py
|
||||
@@ -0,0 +1,27 @@
|
||||
Light
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. figure:: ../../api/images/light.png
|
||||
:width: 90 %
|
||||
|
||||
.. autoclass:: pybricks.pupdevices.Light
|
||||
:no-members:
|
||||
|
||||
.. automethod:: pybricks.pupdevices.Light.on
|
||||
|
||||
.. automethod:: pybricks.pupdevices.Light.off
|
||||
|
||||
Examples
|
||||
-------------------
|
||||
|
||||
Making the light blink
|
||||
**********************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/light/basics.py
|
||||
|
||||
Gradually change the brightness
|
||||
*******************************
|
||||
|
||||
.. literalinclude::
|
||||
../../../examples/pup/light/math.py
|
||||