chore(infra): remove dead code
112
ci/master.yaml
@@ -1,112 +0,0 @@
|
||||
resources:
|
||||
- name: xod
|
||||
type: git
|
||||
source:
|
||||
uri: git@github.com:amperka/xod.git
|
||||
branch: master
|
||||
private_key: {{github-private-key}}
|
||||
|
||||
- name: master-version
|
||||
type: semver
|
||||
source:
|
||||
driver: git
|
||||
uri: git@github.com:xodio/xod-version.git
|
||||
branch: master
|
||||
file: master.txt
|
||||
private_key: {{github-private-key}}
|
||||
|
||||
- name: xod-client-browser-image
|
||||
type: docker-image
|
||||
source:
|
||||
repository: xodio/xod-client-browser
|
||||
username: {{docker-hub-username}}
|
||||
password: {{docker-hub-password}}
|
||||
|
||||
jobs:
|
||||
- name: build-monorepo
|
||||
serial: true
|
||||
public: true
|
||||
plan:
|
||||
- get: xod
|
||||
trigger: true
|
||||
|
||||
- task: install
|
||||
config:
|
||||
platform: linux
|
||||
image_resource:
|
||||
type: docker-image
|
||||
source:
|
||||
repository: xodio/node
|
||||
inputs:
|
||||
- name: xod
|
||||
outputs:
|
||||
- name: installed-xod
|
||||
run:
|
||||
path: sh
|
||||
args:
|
||||
- -exc
|
||||
- |
|
||||
rsync -a xod/ installed-xod/
|
||||
cd installed-xod
|
||||
yarn install --silent
|
||||
yarn run bootstrap
|
||||
symlinks -cr .
|
||||
|
||||
- task: build
|
||||
config:
|
||||
platform: linux
|
||||
image_resource:
|
||||
type: docker-image
|
||||
source:
|
||||
repository: xodio/node
|
||||
inputs:
|
||||
- name: installed-xod
|
||||
outputs:
|
||||
- name: built-xod
|
||||
run:
|
||||
path: sh
|
||||
args:
|
||||
- -exc
|
||||
- |
|
||||
rsync -a installed-xod/ built-xod/
|
||||
cd built-xod
|
||||
yarn run build
|
||||
|
||||
- task: test
|
||||
config:
|
||||
platform: linux
|
||||
image_resource:
|
||||
type: docker-image
|
||||
source:
|
||||
repository: xodio/node
|
||||
inputs:
|
||||
- name: built-xod
|
||||
run:
|
||||
dir: built-xod
|
||||
path: yarn
|
||||
args: [test]
|
||||
|
||||
- task: lint
|
||||
config:
|
||||
platform: linux
|
||||
image_resource:
|
||||
type: docker-image
|
||||
source:
|
||||
repository: xodio/node
|
||||
inputs:
|
||||
- name: built-xod
|
||||
run:
|
||||
dir: built-xod
|
||||
path: yarn
|
||||
args: [run, lint]
|
||||
|
||||
- get: master-version
|
||||
params: { pre: master }
|
||||
|
||||
- put: xod-client-browser-image
|
||||
params:
|
||||
build: built-xod/packages/xod-client-browser
|
||||
tag: master-version/number
|
||||
|
||||
- put: master-version
|
||||
params: { pre: master }
|
||||
@@ -13,7 +13,6 @@
|
||||
"lint": "eslint packages/*/src packages/*/test packages/xod-js/platform --ext js,jsx",
|
||||
"postinstall": "yarn run bootstrap",
|
||||
"start:xod-client-electron": "node ./tools/lerna-run-sorted start xod-client-electron",
|
||||
"start:xod-server": "node ./tools/lerna-run-sorted start xod-server",
|
||||
"storybook": "node ./tools/lerna-serve storybook xod-client",
|
||||
"test": "node ./tools/lerna-run-sorted test",
|
||||
"test:watch": "node ./tools/lerna-serve test:watch",
|
||||
|
||||
@@ -1,225 +0,0 @@
|
||||
# Makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = sphinx-build
|
||||
PAPER =
|
||||
BUILDDIR = _build
|
||||
|
||||
# Internal variables.
|
||||
PAPEROPT_a4 = -D latex_paper_size=a4
|
||||
PAPEROPT_letter = -D latex_paper_size=letter
|
||||
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
# the i18n builder cannot share the environment and doctrees with the others
|
||||
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
|
||||
|
||||
.PHONY: help
|
||||
help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html to make standalone HTML files"
|
||||
@echo " dirhtml to make HTML files named index.html in directories"
|
||||
@echo " singlehtml to make a single large HTML file"
|
||||
@echo " pickle to make pickle files"
|
||||
@echo " json to make JSON files"
|
||||
@echo " htmlhelp to make HTML files and a HTML help project"
|
||||
@echo " qthelp to make HTML files and a qthelp project"
|
||||
@echo " applehelp to make an Apple Help Book"
|
||||
@echo " devhelp to make HTML files and a Devhelp project"
|
||||
@echo " epub to make an epub"
|
||||
@echo " epub3 to make an epub3"
|
||||
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
||||
@echo " latexpdf to make LaTeX files and run them through pdflatex"
|
||||
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
|
||||
@echo " text to make text files"
|
||||
@echo " man to make manual pages"
|
||||
@echo " texinfo to make Texinfo files"
|
||||
@echo " info to make Texinfo files and run them through makeinfo"
|
||||
@echo " gettext to make PO message catalogs"
|
||||
@echo " changes to make an overview of all changed/added/deprecated items"
|
||||
@echo " xml to make Docutils-native XML files"
|
||||
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
|
||||
@echo " linkcheck to check all external links for integrity"
|
||||
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
||||
@echo " coverage to run coverage check of the documentation (if enabled)"
|
||||
@echo " dummy to check syntax errors of document sources"
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf $(BUILDDIR)/*
|
||||
|
||||
.PHONY: html
|
||||
html:
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||
|
||||
.PHONY: dirhtml
|
||||
dirhtml:
|
||||
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
|
||||
|
||||
.PHONY: singlehtml
|
||||
singlehtml:
|
||||
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
|
||||
@echo
|
||||
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
|
||||
|
||||
.PHONY: pickle
|
||||
pickle:
|
||||
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
|
||||
@echo
|
||||
@echo "Build finished; now you can process the pickle files."
|
||||
|
||||
.PHONY: json
|
||||
json:
|
||||
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
|
||||
@echo
|
||||
@echo "Build finished; now you can process the JSON files."
|
||||
|
||||
.PHONY: htmlhelp
|
||||
htmlhelp:
|
||||
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run HTML Help Workshop with the" \
|
||||
".hhp project file in $(BUILDDIR)/htmlhelp."
|
||||
|
||||
.PHONY: qthelp
|
||||
qthelp:
|
||||
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
|
||||
@echo
|
||||
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
|
||||
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
|
||||
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/XOD.qhcp"
|
||||
@echo "To view the help file:"
|
||||
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/XOD.qhc"
|
||||
|
||||
.PHONY: applehelp
|
||||
applehelp:
|
||||
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
|
||||
@echo
|
||||
@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
|
||||
@echo "N.B. You won't be able to view it unless you put it in" \
|
||||
"~/Library/Documentation/Help or install it in your application" \
|
||||
"bundle."
|
||||
|
||||
.PHONY: devhelp
|
||||
devhelp:
|
||||
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
|
||||
@echo
|
||||
@echo "Build finished."
|
||||
@echo "To view the help file:"
|
||||
@echo "# mkdir -p $$HOME/.local/share/devhelp/XOD"
|
||||
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/XOD"
|
||||
@echo "# devhelp"
|
||||
|
||||
.PHONY: epub
|
||||
epub:
|
||||
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
|
||||
@echo
|
||||
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
|
||||
|
||||
.PHONY: epub3
|
||||
epub3:
|
||||
$(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3
|
||||
@echo
|
||||
@echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3."
|
||||
|
||||
.PHONY: latex
|
||||
latex:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo
|
||||
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
|
||||
@echo "Run \`make' in that directory to run these through (pdf)latex" \
|
||||
"(use \`make latexpdf' here to do that automatically)."
|
||||
|
||||
.PHONY: latexpdf
|
||||
latexpdf:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through pdflatex..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
.PHONY: latexpdfja
|
||||
latexpdfja:
|
||||
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
|
||||
@echo "Running LaTeX files through platex and dvipdfmx..."
|
||||
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
|
||||
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
|
||||
|
||||
.PHONY: text
|
||||
text:
|
||||
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
|
||||
@echo
|
||||
@echo "Build finished. The text files are in $(BUILDDIR)/text."
|
||||
|
||||
.PHONY: man
|
||||
man:
|
||||
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
|
||||
@echo
|
||||
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
|
||||
|
||||
.PHONY: texinfo
|
||||
texinfo:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo
|
||||
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
|
||||
@echo "Run \`make' in that directory to run these through makeinfo" \
|
||||
"(use \`make info' here to do that automatically)."
|
||||
|
||||
.PHONY: info
|
||||
info:
|
||||
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
|
||||
@echo "Running Texinfo files through makeinfo..."
|
||||
make -C $(BUILDDIR)/texinfo info
|
||||
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
|
||||
|
||||
.PHONY: gettext
|
||||
gettext:
|
||||
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
|
||||
@echo
|
||||
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
|
||||
|
||||
.PHONY: changes
|
||||
changes:
|
||||
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
|
||||
@echo
|
||||
@echo "The overview file is in $(BUILDDIR)/changes."
|
||||
|
||||
.PHONY: linkcheck
|
||||
linkcheck:
|
||||
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
|
||||
@echo
|
||||
@echo "Link check complete; look for any errors in the above output " \
|
||||
"or in $(BUILDDIR)/linkcheck/output.txt."
|
||||
|
||||
.PHONY: doctest
|
||||
doctest:
|
||||
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
|
||||
@echo "Testing of doctests in the sources finished, look at the " \
|
||||
"results in $(BUILDDIR)/doctest/output.txt."
|
||||
|
||||
.PHONY: coverage
|
||||
coverage:
|
||||
$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
|
||||
@echo "Testing of coverage in the sources finished, look at the " \
|
||||
"results in $(BUILDDIR)/coverage/python.txt."
|
||||
|
||||
.PHONY: xml
|
||||
xml:
|
||||
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
|
||||
@echo
|
||||
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
|
||||
|
||||
.PHONY: pseudoxml
|
||||
pseudoxml:
|
||||
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
|
||||
@echo
|
||||
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
|
||||
|
||||
.PHONY: dummy
|
||||
dummy:
|
||||
$(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy
|
||||
@echo
|
||||
@echo "Build finished. Dummy builder generates no files."
|
||||
@@ -1,48 +0,0 @@
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
To build the documentation you should have few things installed:
|
||||
|
||||
* Python 3.4+
|
||||
* [Sphinx](http://www.sphinx-doc.org/en/stable/install.html)
|
||||
* [Plant UML](http://plantuml.com/)
|
||||
* `make`
|
||||
|
||||
It is implied that you are in `/path/to/xod/doc` directory while executing
|
||||
any command below:
|
||||
|
||||
$ cd doc/
|
||||
|
||||
Virtual Environment
|
||||
-------------------
|
||||
|
||||
Sphinx has few dependencies on its own, so you can prefer not to intall it
|
||||
system-wide, but to sandbox within the project. To do this use `pyvenv` which
|
||||
is a part of Python package:
|
||||
|
||||
$ pyvenv _build/venv3
|
||||
$ . _build/venv3/bin/activate
|
||||
|
||||
If you’ve set up the sandbox Sphinx will install localy in `./_build/venv3`.
|
||||
|
||||
Sphinx Install
|
||||
--------------
|
||||
|
||||
Run:
|
||||
|
||||
$ pip install -r requirements.txt
|
||||
|
||||
Building HTML Documentation
|
||||
---------------------------
|
||||
|
||||
Run:
|
||||
|
||||
$ make html
|
||||
|
||||
You’ll get the result in `_build/html`.
|
||||
|
||||
If you get “make: sphinx-build: Command not found”, you have forgot to activate
|
||||
the virtual environment for the current terminal session. Do:
|
||||
|
||||
$ . _build/venv3/bin/activate
|
||||
$ make html
|
||||
15
packages/xod-client/doc/_static/custom.css
vendored
@@ -1,15 +0,0 @@
|
||||
|
||||
.figure.align-right {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.figure p.caption {
|
||||
font-family: 'Roboto Condensed', sans-serif;
|
||||
font-size: 13px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
div.figure p.caption:before {
|
||||
content: '◼ ';
|
||||
color: black;
|
||||
}
|
||||
@@ -1,346 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# XOD documentation build configuration file, created by
|
||||
# sphinx-quickstart on Thu Jun 2 17:39:52 2016.
|
||||
#
|
||||
# This file is execfile()d with the current directory set to its
|
||||
# containing dir.
|
||||
#
|
||||
# Note that not all possible configuration values are present in this
|
||||
# autogenerated file.
|
||||
#
|
||||
# All configuration values have a default; values that are commented out
|
||||
# serve to show the default.
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#
|
||||
# import os
|
||||
# import sys
|
||||
# sys.path.insert(0, os.path.abspath('.'))
|
||||
|
||||
# -- General configuration ------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#
|
||||
# needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||
# ones.
|
||||
extensions = [
|
||||
'sphinx.ext.imgmath',
|
||||
]
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix(es) of source filenames.
|
||||
# You can specify multiple suffix as a list of string:
|
||||
#
|
||||
# source_suffix = ['.rst', '.md']
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The encoding of source files.
|
||||
#
|
||||
# source_encoding = 'utf-8-sig'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = 'XOD'
|
||||
copyright = '2016, Amperka LLC'
|
||||
author = 'Amperka LLC'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '0.1'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '0.1'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
#
|
||||
# This is also used if you do content translation via gettext catalogs.
|
||||
# Usually you set "language" from the command line for these cases.
|
||||
language = None
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#
|
||||
# today = ''
|
||||
#
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
#
|
||||
# today_fmt = '%B %d, %Y'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
# This patterns also effect to html_static_path and html_extra_path
|
||||
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all
|
||||
# documents.
|
||||
#
|
||||
# default_role = None
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
#
|
||||
# add_function_parentheses = True
|
||||
|
||||
# If true, the current module name will be prepended to all description
|
||||
# unit titles (such as .. function::).
|
||||
#
|
||||
# add_module_names = True
|
||||
|
||||
# If true, sectionauthor and moduleauthor directives will be shown in the
|
||||
# output. They are ignored by default.
|
||||
#
|
||||
# show_authors = False
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# A list of ignored prefixes for module index sorting.
|
||||
# modindex_common_prefix = []
|
||||
|
||||
# If true, keep warnings as "system message" paragraphs in the built documents.
|
||||
# keep_warnings = False
|
||||
|
||||
# If true, `todo` and `todoList` produce output, else they produce nothing.
|
||||
todo_include_todos = False
|
||||
|
||||
|
||||
# -- Options for HTML output ----------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
#
|
||||
html_theme = 'alabaster'
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#
|
||||
html_theme_options = {
|
||||
'description': 'Visual programming for electronics hobbyists',
|
||||
'font_family': "Roboto, sans-serif",
|
||||
'head_font_family': "'Roboto Slab', sans-serif",
|
||||
}
|
||||
|
||||
# Add any paths that contain custom themes here, relative to this directory.
|
||||
# html_theme_path = []
|
||||
|
||||
# The name for this set of Sphinx documents.
|
||||
# "<project> v<release> documentation" by default.
|
||||
#
|
||||
# html_title = 'XOD v0.1'
|
||||
|
||||
# A shorter title for the navigation bar. Default is the same as html_title.
|
||||
#
|
||||
# html_short_title = None
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top
|
||||
# of the sidebar.
|
||||
#
|
||||
# html_logo = None
|
||||
|
||||
# The name of an image file (relative to this directory) to use as a favicon of
|
||||
# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||
# pixels large.
|
||||
#
|
||||
# html_favicon = None
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ['_static']
|
||||
|
||||
# Add any extra paths that contain custom files (such as robots.txt or
|
||||
# .htaccess) here, relative to this directory. These files are copied
|
||||
# directly to the root of the documentation.
|
||||
#
|
||||
# html_extra_path = []
|
||||
|
||||
# If not None, a 'Last updated on:' timestamp is inserted at every page
|
||||
# bottom, using the given strftime format.
|
||||
# The empty string is equivalent to '%b %d, %Y'.
|
||||
#
|
||||
# html_last_updated_fmt = None
|
||||
|
||||
# If true, SmartyPants will be used to convert quotes and dashes to
|
||||
# typographically correct entities.
|
||||
#
|
||||
# html_use_smartypants = True
|
||||
|
||||
# Custom sidebar templates, maps document names to template names.
|
||||
#
|
||||
html_sidebars = {
|
||||
'**': [
|
||||
'about.html',
|
||||
'navigation.html',
|
||||
'relations.html',
|
||||
'searchbox.html',
|
||||
]
|
||||
}
|
||||
|
||||
# Additional templates that should be rendered to pages, maps page names to
|
||||
# template names.
|
||||
#
|
||||
# html_additional_pages = {}
|
||||
|
||||
# If false, no module index is generated.
|
||||
#
|
||||
# html_domain_indices = True
|
||||
|
||||
# If false, no index is generated.
|
||||
#
|
||||
# html_use_index = True
|
||||
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
#
|
||||
# html_split_index = False
|
||||
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
#
|
||||
# html_show_sourcelink = True
|
||||
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
#
|
||||
# html_show_sphinx = True
|
||||
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
#
|
||||
# html_show_copyright = True
|
||||
|
||||
# If true, an OpenSearch description file will be output, and all pages will
|
||||
# contain a <link> tag referring to it. The value of this option must be the
|
||||
# base URL from which the finished HTML is served.
|
||||
#
|
||||
# html_use_opensearch = ''
|
||||
|
||||
# This is the file name suffix for HTML files (e.g. ".xhtml").
|
||||
# html_file_suffix = None
|
||||
|
||||
# Language to be used for generating the HTML full-text search index.
|
||||
# Sphinx supports the following languages:
|
||||
# 'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja'
|
||||
# 'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr', 'zh'
|
||||
#
|
||||
# html_search_language = 'en'
|
||||
|
||||
# A dictionary with options for the search language support, empty by default.
|
||||
# 'ja' uses this config value.
|
||||
# 'zh' user can custom change `jieba` dictionary path.
|
||||
#
|
||||
# html_search_options = {'type': 'default'}
|
||||
|
||||
# The name of a javascript file (relative to the configuration directory) that
|
||||
# implements a search results scorer. If empty, the default will be used.
|
||||
#
|
||||
# html_search_scorer = 'scorer.js'
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'XODdoc'
|
||||
|
||||
# -- Options for LaTeX output ---------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#
|
||||
# 'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#
|
||||
# 'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#
|
||||
# 'preamble': '',
|
||||
|
||||
# Latex figure (float) alignment
|
||||
#
|
||||
# 'figure_align': 'htbp',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title,
|
||||
# author, documentclass [howto, manual, or own class]).
|
||||
latex_documents = [
|
||||
(master_doc, 'XOD.tex', 'XOD Documentation',
|
||||
'Amperka LLC', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
#
|
||||
# latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#
|
||||
# latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
#
|
||||
# latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#
|
||||
# latex_show_urls = False
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#
|
||||
# latex_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#
|
||||
# latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output ---------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
(master_doc, 'xod', 'XOD Documentation',
|
||||
[author], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#
|
||||
# man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output -------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
(master_doc, 'XOD', 'XOD Documentation',
|
||||
author, 'XOD', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#
|
||||
# texinfo_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#
|
||||
# texinfo_domain_indices = True
|
||||
|
||||
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||
#
|
||||
# texinfo_show_urls = 'footnote'
|
||||
|
||||
# If true, do not generate a @detailmenu in the "Top" node's menu.
|
||||
#
|
||||
# texinfo_no_detailmenu = False
|
||||
@@ -1,215 +0,0 @@
|
||||
|
||||
.. _execution:
|
||||
|
||||
***************
|
||||
Execution Model
|
||||
***************
|
||||
|
||||
In contrast to conventional programming, XOD is data flow language rather than
|
||||
control flow. That means there is no such thing as instruction pointer that
|
||||
determines what command will be executed at next moment. Instead, updates are
|
||||
done in instant transactions where all data is evaluated simultaneously.
|
||||
|
||||
Static and Dynamic Parts
|
||||
========================
|
||||
|
||||
Links and nodes are static. They can’t be changed at run time. The static
|
||||
structure makes XOD programs easy to understand and foresee their behavior. You
|
||||
can always know what changes will affect which nodes just by looking at
|
||||
links. And these connections doesn’t depend on a current or past state of any
|
||||
objects.
|
||||
|
||||
What makes the behavior dynamic are data updates. Data flows along links
|
||||
from outputs to inputs and cause cascade updates until the patch is fully
|
||||
evaluated to the defined state.
|
||||
|
||||
Data updates are initiated by some external impact. It can be a clock signal
|
||||
to perform regular updates or a signal from a sensor, for example, that will
|
||||
make a device respond to an event of the real world.
|
||||
|
||||
Signals
|
||||
=======
|
||||
|
||||
Links are flow lanes for your data. Likewise, wires conduct electricity
|
||||
links conduct data. Electricity spread over with semi-infinite speed.
|
||||
You may think of data in the same way.
|
||||
|
||||
Unlike electricity in wires, however, data is granular and flows along
|
||||
links only when updated. A moment of data update is called *a signal*
|
||||
in XOD.
|
||||
|
||||
At moments when there is no data update on a link (most of the time) the
|
||||
link is said to be *idle*.
|
||||
|
||||
Signal Value
|
||||
============
|
||||
|
||||
A signal can have payload data associated with it. The data is called *value*.
|
||||
The type of value is defined by input/output pin type. It can be one of:
|
||||
|
||||
* ``pulse`` — no data associated with the signal, used for signals that just
|
||||
describe the fact of something has occurred;
|
||||
* ``bool`` — either ``true`` (aka “yes”, logical one) or ``false`` (aka “no”, logical zero);
|
||||
* ``number`` — integer or real number, infinity or special ``NaN`` (Not a Number) value;
|
||||
* ``string`` — textual value that can be empty, single character, a line or
|
||||
multiple lines of text;
|
||||
|
||||
Besides any bool, number or string signal value can be ``null``. Null is *not* the
|
||||
same as ``false``, ``0`` or empty string. It denotes a missing value. Nulls are
|
||||
used for default values, optional values, and erroneous values.
|
||||
|
||||
Also, there are stared types that are suffixed with an asterisk, e.g.
|
||||
``number*``. Stared types are ordered lists or so-called tuples used to pack
|
||||
several homogenous values into one.
|
||||
|
||||
The type of signal can’t change while it flows from an output to an input,
|
||||
i.e. you can’t connect pins of a different type. However, some nodes
|
||||
can convert signal type if used as a medium.
|
||||
|
||||
Buffering
|
||||
=========
|
||||
|
||||
Once an input receives a signal, it *buffers* (cache, capture, hold) its value
|
||||
so that a node could use it for updates initiated by other input
|
||||
signals anytime in future.
|
||||
|
||||
Receiving a signal again on a particular input overwrites buffered value with
|
||||
a new one. So input pins always store most recent signal’s value.
|
||||
|
||||
Before an input receive any signal it buffers ``null`` value. However,
|
||||
a particular node can override the default value for some of its pins.
|
||||
|
||||
Transactions
|
||||
============
|
||||
|
||||
Despite many values are continuous in nature, e.g. current time, ambient
|
||||
temperature, sound pressure level, signals in XOD are not continuous.
|
||||
So updates in XOD are always discrete.
|
||||
|
||||
For example, once the system captures temperature signal from a sensor it takes
|
||||
the new value as constant. It passes the signal along links causing connected
|
||||
nodes to be updated. They could initiate own output signals as a response
|
||||
to that input signal. These new signals are passed further, and the process is
|
||||
repeated until all nodes that immediately depend on the original signal
|
||||
are re-evaluated. Only after that the system can take in subsequent temperature
|
||||
signal to update again.
|
||||
|
||||
Such cascade node update caused by a signal is called *transaction*.
|
||||
|
||||
Although nothing can be done instantly, you should think of transactions
|
||||
as moment atomic updates where no external impact is possible until everything
|
||||
will be evaluated in response to an initiating signal.
|
||||
|
||||
Transactions can happen one after another in milliseconds rate appear to be
|
||||
a real-time reaction to external changes.
|
||||
|
||||
Vice versa, transactions can occasionally occur in response to rare events.
|
||||
This lets processor sleep most of the time and preserve battery charge.
|
||||
|
||||
A particular branch of a transactional update completes when it stumbles upon
|
||||
a node that has no outputs or any node that had not generate an output signal in
|
||||
response to the input signal.
|
||||
|
||||
Order of Evaluation
|
||||
===================
|
||||
|
||||
Once you get the idea of transactions, it’s intuitive enough to understand which
|
||||
node will update after which. For the sake of completeness let’s outline
|
||||
evaluation rules of a transaction.
|
||||
|
||||
1. A new transaction starts when there is a signal generated by some node’s output.
|
||||
2. Any signals coming from outside while a transaction is in progress are postponed
|
||||
until current transaction finishes.
|
||||
3. Each node is evaluated at most once during a particular transaction.
|
||||
4. A node is evaluated only after all nodes that it depends on (i.e. linked to
|
||||
outputs) are evaluated.
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
Consider an example of power quality monitor. We want to enable an alarm when there
|
||||
is a voltage (greater than zero), but it is out of desired range from 11.6 to
|
||||
12.1 volts.
|
||||
|
||||
.. image:: images/execution/voltage-monitor.*
|
||||
:align: center
|
||||
|
||||
Although the same can be done with fewer nodes in a more compact way, let’s look
|
||||
at this example to understand node evaluation order step by step.
|
||||
|
||||
First, voltage sensor detects a voltage change. Let’s say its value is 12 volts.
|
||||
Voltage signal is spread over three outgoing links to three other node inputs as
|
||||
shown below.
|
||||
|
||||
.. image:: images/execution/voltage-monitor-p1.*
|
||||
:align: center
|
||||
|
||||
After that, these three nodes should be updated. The precise order does not matter
|
||||
because they do not have cross-dependencies, and it is not predictable at all.
|
||||
Let’s imagine that leftmost node (equality) would be the first. It compares incoming
|
||||
signal ``12`` with a buffered value ``0``. The result is ``false``, and that value
|
||||
is passed as an output signal further.
|
||||
|
||||
.. image:: images/execution/voltage-monitor-p2.*
|
||||
:align: center
|
||||
|
||||
We are still have three nodes that should be updated. Now there is an input signal
|
||||
for “or” node, and it should react. However, this would violate the rule #4 since nodes
|
||||
that “or” depends on indirectly are still not evaluated. So “greater” node is
|
||||
chosen.
|
||||
|
||||
It compares signal ``12`` with buffered constant ``11.6`` and outputs ``true`` since
|
||||
12 is greater than 11.6.
|
||||
|
||||
.. image:: images/execution/voltage-monitor-p3.*
|
||||
:align: center
|
||||
|
||||
There are still three dirty nodes. However, the only one that can be processed next is
|
||||
“less” node because other two depend on it. The “less” node is evaluated to ``true``.
|
||||
|
||||
.. image:: images/execution/voltage-monitor-p4.*
|
||||
:align: center
|
||||
|
||||
Oh, now we have just two node candidates to be updated. Since “or” depends on “and”,
|
||||
the later one is evaluated first. It finally sends ``true`` to “or” node that waits
|
||||
here from the second step.
|
||||
|
||||
.. image:: images/execution/voltage-monitor-p5.*
|
||||
:align: center
|
||||
|
||||
If we have some very quick voltage sensor, it can try to push new update right at
|
||||
the current moment. However, we have not finished with current transaction yet because there
|
||||
are still dirty nodes. So that new update signal will be postponed until we are done.
|
||||
|
||||
Node “or” finally got signals for each input, so it is evaluated and passes ``true``
|
||||
to its output.
|
||||
|
||||
.. image:: images/execution/voltage-monitor-p6.*
|
||||
:align: center
|
||||
|
||||
Now “not” node is outdated. It is evaluated and pass ``false`` further.
|
||||
|
||||
.. image:: images/execution/voltage-monitor-p7.*
|
||||
:align: center
|
||||
|
||||
As a final result, alarm node receives ``false`` signal and the alarm is not enabled.
|
||||
That is fine because input voltage falls into permissible range.
|
||||
|
||||
At this moment transaction completes, and we are ready to start the new one to handle
|
||||
voltage meter update that came few steps ago.
|
||||
|
||||
Restrictions
|
||||
------------
|
||||
|
||||
To make this rules feasible patch graph should follow few restrictions that are
|
||||
built into XOD:
|
||||
|
||||
1. A patch should not have loops involving only pure functional nodes. I.e. pure functional
|
||||
node cannot send an output signal back to its input directly or indirectly. So creation
|
||||
of links that cause graph loops is prohibited in XOD.
|
||||
2. In a case of simultaneous signals, the resolution priority on conflicting input should
|
||||
be explicit and well defined. So connecting more than one link to an input is
|
||||
not possible as well.
|
||||
|
||||
There is a special “buffer” node to deal with the first restriction and “merge” node
|
||||
to deal with the second.
|
||||
@@ -1,508 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="canvas"
|
||||
width="276.07123"
|
||||
height="420.02319"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="voltage-monitor-p1.svg">
|
||||
<metadata
|
||||
id="metadata217">
|
||||
<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="defs215" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview213"
|
||||
showgrid="true"
|
||||
inkscape:zoom="2.0388246"
|
||||
inkscape:cx="84.335836"
|
||||
inkscape:cy="261.95618"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-nodes="true" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Links"
|
||||
transform="translate(-236.0909,-143.328)"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 446.9064,317.10591 364.99646,175.84805"
|
||||
id="path4289"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 348.81067,316.12495 365.48694,176.33853"
|
||||
id="path4291"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 294.85801,316.61543 70.13845,-140.2769"
|
||||
id="path4293"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 252.67685,285.71528 26.97632,32.37159"
|
||||
id="path4295"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 379.22035,290.62006 -13.73341,25.01442"
|
||||
id="path4297"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 480.25895,291.60102 -17.65723,25.50489"
|
||||
id="path4299"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 349.79163,349.96798 43.6526,25.50489"
|
||||
id="path4301"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 446.9064,348.98703 -37.76685,27.4668"
|
||||
id="path4303"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 392.95375,409.80638 377.25843,425.5017"
|
||||
id="path4305"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 277.20078,349.96798 83.87185,76.51468"
|
||||
id="path4307"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,458.3638 0,17.65724"
|
||||
id="path4984"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,507.90215 1.47144,22.56202"
|
||||
id="path4986"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
style="display:inline"
|
||||
transform="translate(-236.0909,-143.328)">
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#cc0000;stroke-width:0.99999994"
|
||||
id="rect47"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="348.81079"
|
||||
y="143.828" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text49"
|
||||
class="title"
|
||||
y="163.828"
|
||||
x="373.91077"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4345"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">Voltage</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle53"
|
||||
cx="365.31079"
|
||||
cy="176.328" />
|
||||
<rect
|
||||
y="316.68024"
|
||||
x="431.15775"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="455.15775"
|
||||
y="336.68024"
|
||||
class="title"
|
||||
id="text4408"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410"><</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.18024"
|
||||
cx="447.65775"
|
||||
id="circle4412"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4442"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="346.38803"
|
||||
y="530.8512" />
|
||||
<text
|
||||
style="font-size:12.5px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4444"
|
||||
class="title"
|
||||
y="550.8512"
|
||||
x="370.66269">
|
||||
<tspan
|
||||
id="tspan4446"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff">Alarm</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4448"
|
||||
cx="362.88803"
|
||||
cy="530.3512" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4599"
|
||||
cx="447.65775"
|
||||
cy="316.67072" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="463.65775"
|
||||
id="circle4601"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1"
|
||||
id="rect4603"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="333.25244"
|
||||
y="316.68024" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4605"
|
||||
class="title"
|
||||
y="336.68024"
|
||||
x="357.25244"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4607"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">></tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4609"
|
||||
cx="349.75244"
|
||||
cy="349.18024" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="349.75244"
|
||||
id="circle4611"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4613"
|
||||
cx="365.75244"
|
||||
cy="316.67072" />
|
||||
<rect
|
||||
y="258.45245"
|
||||
x="363.4649"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4615"
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="387.4649"
|
||||
y="278.45245"
|
||||
class="title"
|
||||
id="text4617"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4619">11.6</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="290.95245"
|
||||
cx="379.9649"
|
||||
id="circle4621"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="463.66211"
|
||||
y="258.80374" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4629"
|
||||
class="title"
|
||||
y="278.80374"
|
||||
x="487.66211"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">12.1</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633"
|
||||
cx="480.16211"
|
||||
cy="291.30374" />
|
||||
<rect
|
||||
y="376.02817"
|
||||
x="376.90503"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4255"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="400.90503"
|
||||
y="396.02817"
|
||||
class="title"
|
||||
id="text4257"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4259">and</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="408.52817"
|
||||
cx="393.40503"
|
||||
id="circle4261"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4263"
|
||||
cx="393.40503"
|
||||
cy="376.01865" />
|
||||
<circle
|
||||
cy="376.01865"
|
||||
cx="409.40503"
|
||||
id="circle4265"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1"
|
||||
id="rect4267"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="344.55368"
|
||||
y="426.00113" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4269"
|
||||
class="title"
|
||||
y="446.00113"
|
||||
x="368.55368"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4271"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">or</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4273"
|
||||
cx="361.05368"
|
||||
cy="458.50113" />
|
||||
<circle
|
||||
cy="425.99161"
|
||||
cx="361.05368"
|
||||
id="circle4275"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4277"
|
||||
cx="377.05368"
|
||||
cy="425.99161" />
|
||||
<rect
|
||||
y="317.00363"
|
||||
x="262.45349"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406-0"
|
||||
style="display:inline;fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="286.45349"
|
||||
y="337.00363"
|
||||
class="title"
|
||||
id="text4408-4"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410-5">=</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.50363"
|
||||
cx="278.95349"
|
||||
id="circle4412-5"
|
||||
r="4"
|
||||
style="display:inline;fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4599-4"
|
||||
cx="278.95349"
|
||||
cy="316.99411" />
|
||||
<circle
|
||||
cy="316.99411"
|
||||
cx="294.95349"
|
||||
id="circle4601-7"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="display:inline;fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627-6"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="236.5909"
|
||||
y="253.24139" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
id="text4629-5"
|
||||
class="title"
|
||||
y="273.24139"
|
||||
x="260.59091"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">0</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633-6"
|
||||
cx="253.0909"
|
||||
cy="285.74139" />
|
||||
<rect
|
||||
y="476.00113"
|
||||
x="344.55368"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4972"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="368.55368"
|
||||
y="496.00113"
|
||||
class="title"
|
||||
id="text4974"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4976">not</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="508.50113"
|
||||
cx="361.05368"
|
||||
id="circle4978"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4980"
|
||||
cx="361.05368"
|
||||
cy="475.99161" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="320.59091"
|
||||
y="240.24139"
|
||||
class="title"
|
||||
id="text5080"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5082">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5084"
|
||||
class="title"
|
||||
y="240.24139"
|
||||
x="366.20544"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5086"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="405.9342"
|
||||
y="234.35565"
|
||||
class="title"
|
||||
id="text5088"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5090">12</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 18 KiB |
@@ -1,519 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="canvas"
|
||||
width="276.07123"
|
||||
height="420.02319"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="voltage-monitor-p3.svg">
|
||||
<metadata
|
||||
id="metadata217">
|
||||
<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="defs215" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview213"
|
||||
showgrid="true"
|
||||
inkscape:zoom="2.0388246"
|
||||
inkscape:cx="-44.414818"
|
||||
inkscape:cy="203.09874"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-nodes="true" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Links"
|
||||
transform="translate(-236.0909,-143.328)"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 446.9064,317.10591 364.99646,175.84805"
|
||||
id="path4289"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 348.81067,316.12495 365.48694,176.33853"
|
||||
id="path4291"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 294.85801,316.61543 70.13845,-140.2769"
|
||||
id="path4293"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 252.67685,285.71528 26.97632,32.37159"
|
||||
id="path4295"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 379.22035,290.62006 -13.73341,25.01442"
|
||||
id="path4297"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 480.25895,291.60102 -17.65723,25.50489"
|
||||
id="path4299"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 349.79163,349.96798 43.6526,25.50489"
|
||||
id="path4301"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 446.9064,348.98703 -37.76685,27.4668"
|
||||
id="path4303"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 392.95375,409.80638 377.25843,425.5017"
|
||||
id="path4305"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 277.20078,349.96798 83.87185,76.51468"
|
||||
id="path4307"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,458.3638 0,17.65724"
|
||||
id="path4984"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,507.90215 1.47144,22.56202"
|
||||
id="path4986"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
style="display:inline"
|
||||
transform="translate(-236.0909,-143.328)">
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#cc0000;stroke-width:0.99999994"
|
||||
id="rect47"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="348.81079"
|
||||
y="143.828" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text49"
|
||||
class="title"
|
||||
y="163.828"
|
||||
x="373.91077"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4345"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">Voltage</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle53"
|
||||
cx="365.31079"
|
||||
cy="176.328" />
|
||||
<rect
|
||||
y="316.68024"
|
||||
x="431.15775"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="455.15775"
|
||||
y="336.68024"
|
||||
class="title"
|
||||
id="text4408"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410"><</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.18024"
|
||||
cx="447.65775"
|
||||
id="circle4412"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4442"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="346.38803"
|
||||
y="530.8512" />
|
||||
<text
|
||||
style="font-size:12.5px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4444"
|
||||
class="title"
|
||||
y="550.8512"
|
||||
x="370.66269">
|
||||
<tspan
|
||||
id="tspan4446"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff">Alarm</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4448"
|
||||
cx="362.88803"
|
||||
cy="530.3512" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4599"
|
||||
cx="447.65775"
|
||||
cy="316.67072" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="463.65775"
|
||||
id="circle4601"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1"
|
||||
id="rect4603"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="333.25244"
|
||||
y="316.68024" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4605"
|
||||
class="title"
|
||||
y="336.68024"
|
||||
x="357.25244"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4607"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">></tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4609"
|
||||
cx="349.75244"
|
||||
cy="349.18024" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="349.75244"
|
||||
id="circle4611"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4613"
|
||||
cx="365.75244"
|
||||
cy="316.67072" />
|
||||
<rect
|
||||
y="258.45245"
|
||||
x="363.4649"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4615"
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="387.4649"
|
||||
y="278.45245"
|
||||
class="title"
|
||||
id="text4617"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4619">11.6</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="290.95245"
|
||||
cx="379.9649"
|
||||
id="circle4621"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="463.66211"
|
||||
y="258.80374" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4629"
|
||||
class="title"
|
||||
y="278.80374"
|
||||
x="487.66211"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">12.1</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633"
|
||||
cx="480.16211"
|
||||
cy="291.30374" />
|
||||
<rect
|
||||
y="376.02817"
|
||||
x="376.90503"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4255"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="400.90503"
|
||||
y="396.02817"
|
||||
class="title"
|
||||
id="text4257"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4259">and</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="408.52817"
|
||||
cx="393.40503"
|
||||
id="circle4261"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4263"
|
||||
cx="393.40503"
|
||||
cy="376.01865" />
|
||||
<circle
|
||||
cy="376.01865"
|
||||
cx="409.40503"
|
||||
id="circle4265"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1"
|
||||
id="rect4267"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="344.55368"
|
||||
y="426.00113" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4269"
|
||||
class="title"
|
||||
y="446.00113"
|
||||
x="368.55368"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4271"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">or</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4273"
|
||||
cx="361.05368"
|
||||
cy="458.50113" />
|
||||
<circle
|
||||
cy="425.99161"
|
||||
cx="361.05368"
|
||||
id="circle4275"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4277"
|
||||
cx="377.05368"
|
||||
cy="425.99161" />
|
||||
<rect
|
||||
y="317.00363"
|
||||
x="262.45349"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406-0"
|
||||
style="display:inline;fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
x="286.45349"
|
||||
y="337.00363"
|
||||
class="title"
|
||||
id="text4408-4"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410-5">=</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.50363"
|
||||
cx="278.95349"
|
||||
id="circle4412-5"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4599-4"
|
||||
cx="278.95349"
|
||||
cy="316.99411" />
|
||||
<circle
|
||||
cy="316.99411"
|
||||
cx="294.95349"
|
||||
id="circle4601-7"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="display:inline;fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627-6"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="236.5909"
|
||||
y="253.24139" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
id="text4629-5"
|
||||
class="title"
|
||||
y="273.24139"
|
||||
x="260.59091"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">0</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633-6"
|
||||
cx="253.0909"
|
||||
cy="285.74139" />
|
||||
<rect
|
||||
y="476.00113"
|
||||
x="344.55368"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4972"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="368.55368"
|
||||
y="496.00113"
|
||||
class="title"
|
||||
id="text4974"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4976">not</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="508.50113"
|
||||
cx="361.05368"
|
||||
id="circle4978"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4980"
|
||||
cx="361.05368"
|
||||
cy="475.99161" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="320.59091"
|
||||
y="240.24139"
|
||||
class="title"
|
||||
id="text5080"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5082">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5084"
|
||||
class="title"
|
||||
y="240.24139"
|
||||
x="366.20544"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5086"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="405.9342"
|
||||
y="234.35565"
|
||||
class="title"
|
||||
id="text5088"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5090">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5111"
|
||||
class="title"
|
||||
y="397.68506"
|
||||
x="307.34799"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5113"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">false</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 19 KiB |
@@ -1,530 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="canvas"
|
||||
width="276.07123"
|
||||
height="420.02319"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="voltage-monitor-p4.svg">
|
||||
<metadata
|
||||
id="metadata217">
|
||||
<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="defs215" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview213"
|
||||
showgrid="true"
|
||||
inkscape:zoom="2.0388246"
|
||||
inkscape:cx="53.680918"
|
||||
inkscape:cy="203.09874"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-nodes="true" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Links"
|
||||
transform="translate(-236.0909,-143.328)"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 446.9064,317.10591 364.99646,175.84805"
|
||||
id="path4289"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 348.81067,316.12495 365.48694,176.33853"
|
||||
id="path4291"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 294.85801,316.61543 70.13845,-140.2769"
|
||||
id="path4293"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 252.67685,285.71528 26.97632,32.37159"
|
||||
id="path4295"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 379.22035,290.62006 -13.73341,25.01442"
|
||||
id="path4297"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 480.25895,291.60102 -17.65723,25.50489"
|
||||
id="path4299"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 349.79163,349.96798 43.6526,25.50489"
|
||||
id="path4301"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 446.9064,348.98703 -37.76685,27.4668"
|
||||
id="path4303"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 392.95375,409.80638 377.25843,425.5017"
|
||||
id="path4305"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 277.20078,349.96798 83.87185,76.51468"
|
||||
id="path4307"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,458.3638 0,17.65724"
|
||||
id="path4984"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,507.90215 1.47144,22.56202"
|
||||
id="path4986"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
style="display:inline"
|
||||
transform="translate(-236.0909,-143.328)">
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#cc0000;stroke-width:0.99999994"
|
||||
id="rect47"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="348.81079"
|
||||
y="143.828" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text49"
|
||||
class="title"
|
||||
y="163.828"
|
||||
x="373.91077"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4345"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">Voltage</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle53"
|
||||
cx="365.31079"
|
||||
cy="176.328" />
|
||||
<rect
|
||||
y="316.68024"
|
||||
x="431.15775"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="455.15775"
|
||||
y="336.68024"
|
||||
class="title"
|
||||
id="text4408"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410"><</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.18024"
|
||||
cx="447.65775"
|
||||
id="circle4412"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4442"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="346.38803"
|
||||
y="530.8512" />
|
||||
<text
|
||||
style="font-size:12.5px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4444"
|
||||
class="title"
|
||||
y="550.8512"
|
||||
x="370.66269">
|
||||
<tspan
|
||||
id="tspan4446"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff">Alarm</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4448"
|
||||
cx="362.88803"
|
||||
cy="530.3512" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4599"
|
||||
cx="447.65775"
|
||||
cy="316.67072" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="463.65775"
|
||||
id="circle4601"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1"
|
||||
id="rect4603"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="333.25244"
|
||||
y="316.68024" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4605"
|
||||
class="title"
|
||||
y="336.68024"
|
||||
x="357.25244"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4607"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">></tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4609"
|
||||
cx="349.75244"
|
||||
cy="349.18024" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="349.75244"
|
||||
id="circle4611"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4613"
|
||||
cx="365.75244"
|
||||
cy="316.67072" />
|
||||
<rect
|
||||
y="258.45245"
|
||||
x="363.4649"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4615"
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="387.4649"
|
||||
y="278.45245"
|
||||
class="title"
|
||||
id="text4617"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4619">11.6</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="290.95245"
|
||||
cx="379.9649"
|
||||
id="circle4621"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="463.66211"
|
||||
y="258.80374" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4629"
|
||||
class="title"
|
||||
y="278.80374"
|
||||
x="487.66211"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">12.1</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633"
|
||||
cx="480.16211"
|
||||
cy="291.30374" />
|
||||
<rect
|
||||
y="376.02817"
|
||||
x="376.90503"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4255"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="400.90503"
|
||||
y="396.02817"
|
||||
class="title"
|
||||
id="text4257"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4259">and</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="408.52817"
|
||||
cx="393.40503"
|
||||
id="circle4261"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4263"
|
||||
cx="393.40503"
|
||||
cy="376.01865" />
|
||||
<circle
|
||||
cy="376.01865"
|
||||
cx="409.40503"
|
||||
id="circle4265"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1"
|
||||
id="rect4267"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="344.55368"
|
||||
y="426.00113" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4269"
|
||||
class="title"
|
||||
y="446.00113"
|
||||
x="368.55368"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4271"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">or</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4273"
|
||||
cx="361.05368"
|
||||
cy="458.50113" />
|
||||
<circle
|
||||
cy="425.99161"
|
||||
cx="361.05368"
|
||||
id="circle4275"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4277"
|
||||
cx="377.05368"
|
||||
cy="425.99161" />
|
||||
<rect
|
||||
y="317.00363"
|
||||
x="262.45349"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406-0"
|
||||
style="display:inline;fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
x="286.45349"
|
||||
y="337.00363"
|
||||
class="title"
|
||||
id="text4408-4"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410-5">=</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.50363"
|
||||
cx="278.95349"
|
||||
id="circle4412-5"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4599-4"
|
||||
cx="278.95349"
|
||||
cy="316.99411" />
|
||||
<circle
|
||||
cy="316.99411"
|
||||
cx="294.95349"
|
||||
id="circle4601-7"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="display:inline;fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627-6"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="236.5909"
|
||||
y="253.24139" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
id="text4629-5"
|
||||
class="title"
|
||||
y="273.24139"
|
||||
x="260.59091"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">0</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633-6"
|
||||
cx="253.0909"
|
||||
cy="285.74139" />
|
||||
<rect
|
||||
y="476.00113"
|
||||
x="344.55368"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4972"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="368.55368"
|
||||
y="496.00113"
|
||||
class="title"
|
||||
id="text4974"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4976">not</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="508.50113"
|
||||
cx="361.05368"
|
||||
id="circle4978"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4980"
|
||||
cx="361.05368"
|
||||
cy="475.99161" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="320.59091"
|
||||
y="240.24139"
|
||||
class="title"
|
||||
id="text5080"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5082">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5084"
|
||||
class="title"
|
||||
y="240.24139"
|
||||
x="366.20544"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5086"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="405.9342"
|
||||
y="234.35565"
|
||||
class="title"
|
||||
id="text5088"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5090">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5111"
|
||||
class="title"
|
||||
y="397.68506"
|
||||
x="307.34799"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5113"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">false</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="360.30771"
|
||||
y="370.38724"
|
||||
class="title"
|
||||
id="text5134"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5136">true</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 19 KiB |
@@ -1,541 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="canvas"
|
||||
width="276.07123"
|
||||
height="420.02319"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="voltage-monitor-p5.svg">
|
||||
<metadata
|
||||
id="metadata217">
|
||||
<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="defs215" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview213"
|
||||
showgrid="true"
|
||||
inkscape:zoom="2.0388246"
|
||||
inkscape:cx="-44.414818"
|
||||
inkscape:cy="183.47959"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-nodes="true" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Links"
|
||||
transform="translate(-236.0909,-143.328)"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 446.9064,317.10591 364.99646,175.84805"
|
||||
id="path4289"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 348.81067,316.12495 365.48694,176.33853"
|
||||
id="path4291"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 294.85801,316.61543 70.13845,-140.2769"
|
||||
id="path4293"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 252.67685,285.71528 26.97632,32.37159"
|
||||
id="path4295"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 379.22035,290.62006 -13.73341,25.01442"
|
||||
id="path4297"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 480.25895,291.60102 -17.65723,25.50489"
|
||||
id="path4299"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 349.79163,349.96798 43.6526,25.50489"
|
||||
id="path4301"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 446.9064,348.98703 -37.76685,27.4668"
|
||||
id="path4303"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 392.95375,409.80638 377.25843,425.5017"
|
||||
id="path4305"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 277.20078,349.96798 83.87185,76.51468"
|
||||
id="path4307"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,458.3638 0,17.65724"
|
||||
id="path4984"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,507.90215 1.47144,22.56202"
|
||||
id="path4986"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
style="display:inline"
|
||||
transform="translate(-236.0909,-143.328)">
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#cc0000;stroke-width:0.99999994"
|
||||
id="rect47"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="348.81079"
|
||||
y="143.828" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text49"
|
||||
class="title"
|
||||
y="163.828"
|
||||
x="373.91077"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4345"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">Voltage</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle53"
|
||||
cx="365.31079"
|
||||
cy="176.328" />
|
||||
<rect
|
||||
y="316.68024"
|
||||
x="431.15775"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406"
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
x="455.15775"
|
||||
y="336.68024"
|
||||
class="title"
|
||||
id="text4408"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410"><</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.18024"
|
||||
cx="447.65775"
|
||||
id="circle4412"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4442"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="346.38803"
|
||||
y="530.8512" />
|
||||
<text
|
||||
style="font-size:12.5px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4444"
|
||||
class="title"
|
||||
y="550.8512"
|
||||
x="370.66269">
|
||||
<tspan
|
||||
id="tspan4446"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff">Alarm</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4448"
|
||||
cx="362.88803"
|
||||
cy="530.3512" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4599"
|
||||
cx="447.65775"
|
||||
cy="316.67072" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="463.65775"
|
||||
id="circle4601"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1"
|
||||
id="rect4603"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="333.25244"
|
||||
y="316.68024" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4605"
|
||||
class="title"
|
||||
y="336.68024"
|
||||
x="357.25244"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4607"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">></tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4609"
|
||||
cx="349.75244"
|
||||
cy="349.18024" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="349.75244"
|
||||
id="circle4611"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4613"
|
||||
cx="365.75244"
|
||||
cy="316.67072" />
|
||||
<rect
|
||||
y="258.45245"
|
||||
x="363.4649"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4615"
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="387.4649"
|
||||
y="278.45245"
|
||||
class="title"
|
||||
id="text4617"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4619">11.6</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="290.95245"
|
||||
cx="379.9649"
|
||||
id="circle4621"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="463.66211"
|
||||
y="258.80374" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4629"
|
||||
class="title"
|
||||
y="278.80374"
|
||||
x="487.66211"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">12.1</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633"
|
||||
cx="480.16211"
|
||||
cy="291.30374" />
|
||||
<rect
|
||||
y="376.02817"
|
||||
x="376.90503"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4255"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="400.90503"
|
||||
y="396.02817"
|
||||
class="title"
|
||||
id="text4257"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4259">and</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="408.52817"
|
||||
cx="393.40503"
|
||||
id="circle4261"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4263"
|
||||
cx="393.40503"
|
||||
cy="376.01865" />
|
||||
<circle
|
||||
cy="376.01865"
|
||||
cx="409.40503"
|
||||
id="circle4265"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1"
|
||||
id="rect4267"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="344.55368"
|
||||
y="426.00113" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4269"
|
||||
class="title"
|
||||
y="446.00113"
|
||||
x="368.55368"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4271"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">or</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4273"
|
||||
cx="361.05368"
|
||||
cy="458.50113" />
|
||||
<circle
|
||||
cy="425.99161"
|
||||
cx="361.05368"
|
||||
id="circle4275"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4277"
|
||||
cx="377.05368"
|
||||
cy="425.99161" />
|
||||
<rect
|
||||
y="317.00363"
|
||||
x="262.45349"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406-0"
|
||||
style="display:inline;fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
x="286.45349"
|
||||
y="337.00363"
|
||||
class="title"
|
||||
id="text4408-4"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410-5">=</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.50363"
|
||||
cx="278.95349"
|
||||
id="circle4412-5"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4599-4"
|
||||
cx="278.95349"
|
||||
cy="316.99411" />
|
||||
<circle
|
||||
cy="316.99411"
|
||||
cx="294.95349"
|
||||
id="circle4601-7"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="display:inline;fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627-6"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="236.5909"
|
||||
y="253.24139" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
id="text4629-5"
|
||||
class="title"
|
||||
y="273.24139"
|
||||
x="260.59091"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">0</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633-6"
|
||||
cx="253.0909"
|
||||
cy="285.74139" />
|
||||
<rect
|
||||
y="476.00113"
|
||||
x="344.55368"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4972"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="368.55368"
|
||||
y="496.00113"
|
||||
class="title"
|
||||
id="text4974"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4976">not</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="508.50113"
|
||||
cx="361.05368"
|
||||
id="circle4978"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4980"
|
||||
cx="361.05368"
|
||||
cy="475.99161" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="320.59091"
|
||||
y="240.24139"
|
||||
class="title"
|
||||
id="text5080"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5082">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5084"
|
||||
class="title"
|
||||
y="240.24139"
|
||||
x="366.20544"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5086"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="405.9342"
|
||||
y="234.35565"
|
||||
class="title"
|
||||
id="text5088"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5090">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5111"
|
||||
class="title"
|
||||
y="397.68506"
|
||||
x="307.34799"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5113"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">false</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="360.30771"
|
||||
y="370.38724"
|
||||
class="title"
|
||||
id="text5134"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5136">true</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5240"
|
||||
class="title"
|
||||
y="369.89676"
|
||||
x="441.72717"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5242"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">true</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 20 KiB |
@@ -1,552 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="canvas"
|
||||
width="276.07123"
|
||||
height="420.02319"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="voltage-monitor-p6.svg">
|
||||
<metadata
|
||||
id="metadata217">
|
||||
<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="defs215" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview213"
|
||||
showgrid="true"
|
||||
inkscape:zoom="2.0388246"
|
||||
inkscape:cx="34.061771"
|
||||
inkscape:cy="124.62215"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-nodes="true" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Links"
|
||||
transform="translate(-236.0909,-143.328)"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 446.9064,317.10591 364.99646,175.84805"
|
||||
id="path4289"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 348.81067,316.12495 365.48694,176.33853"
|
||||
id="path4291"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 294.85801,316.61543 70.13845,-140.2769"
|
||||
id="path4293"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 252.67685,285.71528 26.97632,32.37159"
|
||||
id="path4295"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 379.22035,290.62006 -13.73341,25.01442"
|
||||
id="path4297"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 480.25895,291.60102 -17.65723,25.50489"
|
||||
id="path4299"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 349.79163,349.96798 43.6526,25.50489"
|
||||
id="path4301"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 446.9064,348.98703 -37.76685,27.4668"
|
||||
id="path4303"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 392.95375,409.80638 377.25843,425.5017"
|
||||
id="path4305"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 277.20078,349.96798 83.87185,76.51468"
|
||||
id="path4307"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,458.3638 0,17.65724"
|
||||
id="path4984"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,507.90215 1.47144,22.56202"
|
||||
id="path4986"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
style="display:inline"
|
||||
transform="translate(-236.0909,-143.328)">
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#cc0000;stroke-width:0.99999994"
|
||||
id="rect47"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="348.81079"
|
||||
y="143.828" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text49"
|
||||
class="title"
|
||||
y="163.828"
|
||||
x="373.91077"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4345"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">Voltage</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle53"
|
||||
cx="365.31079"
|
||||
cy="176.328" />
|
||||
<rect
|
||||
y="316.68024"
|
||||
x="431.15775"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406"
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
x="455.15775"
|
||||
y="336.68024"
|
||||
class="title"
|
||||
id="text4408"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410"><</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.18024"
|
||||
cx="447.65775"
|
||||
id="circle4412"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4442"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="346.38803"
|
||||
y="530.8512" />
|
||||
<text
|
||||
style="font-size:12.5px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4444"
|
||||
class="title"
|
||||
y="550.8512"
|
||||
x="370.66269">
|
||||
<tspan
|
||||
id="tspan4446"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff">Alarm</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4448"
|
||||
cx="362.88803"
|
||||
cy="530.3512" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4599"
|
||||
cx="447.65775"
|
||||
cy="316.67072" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="463.65775"
|
||||
id="circle4601"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1"
|
||||
id="rect4603"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="333.25244"
|
||||
y="316.68024" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4605"
|
||||
class="title"
|
||||
y="336.68024"
|
||||
x="357.25244"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4607"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">></tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4609"
|
||||
cx="349.75244"
|
||||
cy="349.18024" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="349.75244"
|
||||
id="circle4611"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4613"
|
||||
cx="365.75244"
|
||||
cy="316.67072" />
|
||||
<rect
|
||||
y="258.45245"
|
||||
x="363.4649"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4615"
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="387.4649"
|
||||
y="278.45245"
|
||||
class="title"
|
||||
id="text4617"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4619">11.6</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="290.95245"
|
||||
cx="379.9649"
|
||||
id="circle4621"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="463.66211"
|
||||
y="258.80374" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4629"
|
||||
class="title"
|
||||
y="278.80374"
|
||||
x="487.66211"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">12.1</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633"
|
||||
cx="480.16211"
|
||||
cy="291.30374" />
|
||||
<rect
|
||||
y="376.02817"
|
||||
x="376.90503"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4255"
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="400.90503"
|
||||
y="396.02817"
|
||||
class="title"
|
||||
id="text4257"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4259">and</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="408.52817"
|
||||
cx="393.40503"
|
||||
id="circle4261"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4263"
|
||||
cx="393.40503"
|
||||
cy="376.01865" />
|
||||
<circle
|
||||
cy="376.01865"
|
||||
cx="409.40503"
|
||||
id="circle4265"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1"
|
||||
id="rect4267"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="344.55368"
|
||||
y="426.00113" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4269"
|
||||
class="title"
|
||||
y="446.00113"
|
||||
x="368.55368"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4271"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">or</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4273"
|
||||
cx="361.05368"
|
||||
cy="458.50113" />
|
||||
<circle
|
||||
cy="425.99161"
|
||||
cx="361.05368"
|
||||
id="circle4275"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4277"
|
||||
cx="377.05368"
|
||||
cy="425.99161" />
|
||||
<rect
|
||||
y="317.00363"
|
||||
x="262.45349"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406-0"
|
||||
style="display:inline;fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
x="286.45349"
|
||||
y="337.00363"
|
||||
class="title"
|
||||
id="text4408-4"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410-5">=</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.50363"
|
||||
cx="278.95349"
|
||||
id="circle4412-5"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4599-4"
|
||||
cx="278.95349"
|
||||
cy="316.99411" />
|
||||
<circle
|
||||
cy="316.99411"
|
||||
cx="294.95349"
|
||||
id="circle4601-7"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="display:inline;fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627-6"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="236.5909"
|
||||
y="253.24139" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
id="text4629-5"
|
||||
class="title"
|
||||
y="273.24139"
|
||||
x="260.59091"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">0</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633-6"
|
||||
cx="253.0909"
|
||||
cy="285.74139" />
|
||||
<rect
|
||||
y="476.00113"
|
||||
x="344.55368"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4972"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="368.55368"
|
||||
y="496.00113"
|
||||
class="title"
|
||||
id="text4974"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4976">not</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="508.50113"
|
||||
cx="361.05368"
|
||||
id="circle4978"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4980"
|
||||
cx="361.05368"
|
||||
cy="475.99161" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="320.59091"
|
||||
y="240.24139"
|
||||
class="title"
|
||||
id="text5080"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5082">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5084"
|
||||
class="title"
|
||||
y="240.24139"
|
||||
x="366.20544"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5086"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="405.9342"
|
||||
y="234.35565"
|
||||
class="title"
|
||||
id="text5088"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5090">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5111"
|
||||
class="title"
|
||||
y="397.68506"
|
||||
x="307.34799"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5113"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">false</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="360.30771"
|
||||
y="370.38724"
|
||||
class="title"
|
||||
id="text5134"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5136">true</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5240"
|
||||
class="title"
|
||||
y="369.89676"
|
||||
x="441.72717"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5242"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">true</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="401.61789"
|
||||
y="422.37906"
|
||||
class="title"
|
||||
id="text5348"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5350">true</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 20 KiB |
@@ -1,563 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="canvas"
|
||||
width="276.07123"
|
||||
height="420.02319"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="voltage-monitor-p7.svg">
|
||||
<metadata
|
||||
id="metadata217">
|
||||
<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="defs215" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview213"
|
||||
showgrid="true"
|
||||
inkscape:zoom="2.0388246"
|
||||
inkscape:cx="-44.414818"
|
||||
inkscape:cy="85.383856"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-nodes="true" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Links"
|
||||
transform="translate(-236.0909,-143.328)"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 446.9064,317.10591 364.99646,175.84805"
|
||||
id="path4289"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 348.81067,316.12495 365.48694,176.33853"
|
||||
id="path4291"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 294.85801,316.61543 70.13845,-140.2769"
|
||||
id="path4293"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 252.67685,285.71528 26.97632,32.37159"
|
||||
id="path4295"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 379.22035,290.62006 -13.73341,25.01442"
|
||||
id="path4297"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 480.25895,291.60102 -17.65723,25.50489"
|
||||
id="path4299"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 349.79163,349.96798 43.6526,25.50489"
|
||||
id="path4301"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 446.9064,348.98703 -37.76685,27.4668"
|
||||
id="path4303"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 392.95375,409.80638 377.25843,425.5017"
|
||||
id="path4305"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 277.20078,349.96798 83.87185,76.51468"
|
||||
id="path4307"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,458.3638 0,17.65724"
|
||||
id="path4984"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,507.90215 1.47144,22.56202"
|
||||
id="path4986"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
style="display:inline"
|
||||
transform="translate(-236.0909,-143.328)">
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#cc0000;stroke-width:0.99999994"
|
||||
id="rect47"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="348.81079"
|
||||
y="143.828" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text49"
|
||||
class="title"
|
||||
y="163.828"
|
||||
x="373.91077"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4345"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">Voltage</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle53"
|
||||
cx="365.31079"
|
||||
cy="176.328" />
|
||||
<rect
|
||||
y="316.68024"
|
||||
x="431.15775"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406"
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
x="455.15775"
|
||||
y="336.68024"
|
||||
class="title"
|
||||
id="text4408"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410"><</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.18024"
|
||||
cx="447.65775"
|
||||
id="circle4412"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4442"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="346.38803"
|
||||
y="530.8512" />
|
||||
<text
|
||||
style="font-size:12.5px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4444"
|
||||
class="title"
|
||||
y="550.8512"
|
||||
x="370.66269">
|
||||
<tspan
|
||||
id="tspan4446"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff">Alarm</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4448"
|
||||
cx="362.88803"
|
||||
cy="530.3512" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4599"
|
||||
cx="447.65775"
|
||||
cy="316.67072" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="463.65775"
|
||||
id="circle4601"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1"
|
||||
id="rect4603"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="333.25244"
|
||||
y="316.68024" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4605"
|
||||
class="title"
|
||||
y="336.68024"
|
||||
x="357.25244"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4607"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">></tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4609"
|
||||
cx="349.75244"
|
||||
cy="349.18024" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="349.75244"
|
||||
id="circle4611"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4613"
|
||||
cx="365.75244"
|
||||
cy="316.67072" />
|
||||
<rect
|
||||
y="258.45245"
|
||||
x="363.4649"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4615"
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="387.4649"
|
||||
y="278.45245"
|
||||
class="title"
|
||||
id="text4617"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4619">11.6</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="290.95245"
|
||||
cx="379.9649"
|
||||
id="circle4621"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="463.66211"
|
||||
y="258.80374" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4629"
|
||||
class="title"
|
||||
y="278.80374"
|
||||
x="487.66211"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">12.1</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633"
|
||||
cx="480.16211"
|
||||
cy="291.30374" />
|
||||
<rect
|
||||
y="376.02817"
|
||||
x="376.90503"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4255"
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="400.90503"
|
||||
y="396.02817"
|
||||
class="title"
|
||||
id="text4257"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4259">and</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="408.52817"
|
||||
cx="393.40503"
|
||||
id="circle4261"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4263"
|
||||
cx="393.40503"
|
||||
cy="376.01865" />
|
||||
<circle
|
||||
cy="376.01865"
|
||||
cx="409.40503"
|
||||
id="circle4265"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1"
|
||||
id="rect4267"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="344.55368"
|
||||
y="426.00113" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4269"
|
||||
class="title"
|
||||
y="446.00113"
|
||||
x="368.55368"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4271"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">or</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4273"
|
||||
cx="361.05368"
|
||||
cy="458.50113" />
|
||||
<circle
|
||||
cy="425.99161"
|
||||
cx="361.05368"
|
||||
id="circle4275"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4277"
|
||||
cx="377.05368"
|
||||
cy="425.99161" />
|
||||
<rect
|
||||
y="317.00363"
|
||||
x="262.45349"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406-0"
|
||||
style="display:inline;fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
x="286.45349"
|
||||
y="337.00363"
|
||||
class="title"
|
||||
id="text4408-4"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410-5">=</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.50363"
|
||||
cx="278.95349"
|
||||
id="circle4412-5"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4599-4"
|
||||
cx="278.95349"
|
||||
cy="316.99411" />
|
||||
<circle
|
||||
cy="316.99411"
|
||||
cx="294.95349"
|
||||
id="circle4601-7"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="display:inline;fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627-6"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="236.5909"
|
||||
y="253.24139" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
id="text4629-5"
|
||||
class="title"
|
||||
y="273.24139"
|
||||
x="260.59091"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">0</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633-6"
|
||||
cx="253.0909"
|
||||
cy="285.74139" />
|
||||
<rect
|
||||
y="476.00113"
|
||||
x="344.55368"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4972"
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="368.55368"
|
||||
y="496.00113"
|
||||
class="title"
|
||||
id="text4974"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4976">not</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="508.50113"
|
||||
cx="361.05368"
|
||||
id="circle4978"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4980"
|
||||
cx="361.05368"
|
||||
cy="475.99161" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="320.59091"
|
||||
y="240.24139"
|
||||
class="title"
|
||||
id="text5080"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5082">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5084"
|
||||
class="title"
|
||||
y="240.24139"
|
||||
x="366.20544"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5086"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="405.9342"
|
||||
y="234.35565"
|
||||
class="title"
|
||||
id="text5088"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5090">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5111"
|
||||
class="title"
|
||||
y="397.68506"
|
||||
x="307.34799"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5113"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">false</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="360.30771"
|
||||
y="370.38724"
|
||||
class="title"
|
||||
id="text5134"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5136">true</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5240"
|
||||
class="title"
|
||||
y="369.89676"
|
||||
x="441.72717"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5242"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">true</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="401.61789"
|
||||
y="422.37906"
|
||||
class="title"
|
||||
id="text5348"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5350">true</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5371"
|
||||
class="title"
|
||||
y="471.36954"
|
||||
x="375.11789"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5373"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">true</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 21 KiB |
@@ -1,574 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="canvas"
|
||||
width="276.07123"
|
||||
height="420.02319"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="voltage-monitor-p8.svg">
|
||||
<metadata
|
||||
id="metadata217">
|
||||
<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="defs215" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview213"
|
||||
showgrid="true"
|
||||
inkscape:zoom="2.0388246"
|
||||
inkscape:cx="-44.414818"
|
||||
inkscape:cy="26.526408"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-nodes="true" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Links"
|
||||
transform="translate(-236.0909,-143.328)"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 446.9064,317.10591 364.99646,175.84805"
|
||||
id="path4289"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 348.81067,316.12495 365.48694,176.33853"
|
||||
id="path4291"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 294.85801,316.61543 70.13845,-140.2769"
|
||||
id="path4293"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 252.67685,285.71528 26.97632,32.37159"
|
||||
id="path4295"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 379.22035,290.62006 -13.73341,25.01442"
|
||||
id="path4297"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 480.25895,291.60102 -17.65723,25.50489"
|
||||
id="path4299"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 349.79163,349.96798 43.6526,25.50489"
|
||||
id="path4301"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 446.9064,348.98703 -37.76685,27.4668"
|
||||
id="path4303"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 392.95375,409.80638 377.25843,425.5017"
|
||||
id="path4305"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 277.20078,349.96798 83.87185,76.51468"
|
||||
id="path4307"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,458.3638 0,17.65724"
|
||||
id="path4984"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#cc0000;fill-rule:evenodd;stroke:#cc0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,507.90215 1.47144,22.56202"
|
||||
id="path4986"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
style="display:inline"
|
||||
transform="translate(-236.0909,-143.328)">
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#cc0000;stroke-width:0.99999994"
|
||||
id="rect47"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="348.81079"
|
||||
y="143.828" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text49"
|
||||
class="title"
|
||||
y="163.828"
|
||||
x="373.91077"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4345"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">Voltage</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle53"
|
||||
cx="365.31079"
|
||||
cy="176.328" />
|
||||
<rect
|
||||
y="316.68024"
|
||||
x="431.15775"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406"
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
x="455.15775"
|
||||
y="336.68024"
|
||||
class="title"
|
||||
id="text4408"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410"><</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.18024"
|
||||
cx="447.65775"
|
||||
id="circle4412"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#cc0000;stroke-width:1"
|
||||
id="rect4442"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="346.38803"
|
||||
y="530.8512" />
|
||||
<text
|
||||
style="font-size:12.5px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4444"
|
||||
class="title"
|
||||
y="550.8512"
|
||||
x="370.66269">
|
||||
<tspan
|
||||
id="tspan4446"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff">Alarm</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4448"
|
||||
cx="362.88803"
|
||||
cy="530.3512" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4599"
|
||||
cx="447.65775"
|
||||
cy="316.67072" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="463.65775"
|
||||
id="circle4601"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1"
|
||||
id="rect4603"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="333.25244"
|
||||
y="316.68024" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4605"
|
||||
class="title"
|
||||
y="336.68024"
|
||||
x="357.25244"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4607"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">></tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4609"
|
||||
cx="349.75244"
|
||||
cy="349.18024" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="349.75244"
|
||||
id="circle4611"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4613"
|
||||
cx="365.75244"
|
||||
cy="316.67072" />
|
||||
<rect
|
||||
y="258.45245"
|
||||
x="363.4649"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4615"
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="387.4649"
|
||||
y="278.45245"
|
||||
class="title"
|
||||
id="text4617"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4619">11.6</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="290.95245"
|
||||
cx="379.9649"
|
||||
id="circle4621"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="463.66211"
|
||||
y="258.80374" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4629"
|
||||
class="title"
|
||||
y="278.80374"
|
||||
x="487.66211"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">12.1</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633"
|
||||
cx="480.16211"
|
||||
cy="291.30374" />
|
||||
<rect
|
||||
y="376.02817"
|
||||
x="376.90503"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4255"
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="400.90503"
|
||||
y="396.02817"
|
||||
class="title"
|
||||
id="text4257"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4259">and</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="408.52817"
|
||||
cx="393.40503"
|
||||
id="circle4261"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4263"
|
||||
cx="393.40503"
|
||||
cy="376.01865" />
|
||||
<circle
|
||||
cy="376.01865"
|
||||
cx="409.40503"
|
||||
id="circle4265"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1"
|
||||
id="rect4267"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="344.55368"
|
||||
y="426.00113" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4269"
|
||||
class="title"
|
||||
y="446.00113"
|
||||
x="368.55368"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4271"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">or</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4273"
|
||||
cx="361.05368"
|
||||
cy="458.50113" />
|
||||
<circle
|
||||
cy="425.99161"
|
||||
cx="361.05368"
|
||||
id="circle4275"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4277"
|
||||
cx="377.05368"
|
||||
cy="425.99161" />
|
||||
<rect
|
||||
y="317.00363"
|
||||
x="262.45349"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406-0"
|
||||
style="display:inline;fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
x="286.45349"
|
||||
y="337.00363"
|
||||
class="title"
|
||||
id="text4408-4"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410-5">=</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.50363"
|
||||
cx="278.95349"
|
||||
id="circle4412-5"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4599-4"
|
||||
cx="278.95349"
|
||||
cy="316.99411" />
|
||||
<circle
|
||||
cy="316.99411"
|
||||
cx="294.95349"
|
||||
id="circle4601-7"
|
||||
r="4"
|
||||
style="display:inline;fill:#cc0000;stroke:#cc0000" />
|
||||
<rect
|
||||
style="display:inline;fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627-6"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="236.5909"
|
||||
y="253.24139" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
id="text4629-5"
|
||||
class="title"
|
||||
y="273.24139"
|
||||
x="260.59091"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">0</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633-6"
|
||||
cx="253.0909"
|
||||
cy="285.74139" />
|
||||
<rect
|
||||
y="476.00113"
|
||||
x="344.55368"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4972"
|
||||
style="fill:#888a85;stroke:#cc0000;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="368.55368"
|
||||
y="496.00113"
|
||||
class="title"
|
||||
id="text4974"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4976">not</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="508.50113"
|
||||
cx="361.05368"
|
||||
id="circle4978"
|
||||
r="4"
|
||||
style="fill:#cc0000;stroke:#cc0000" />
|
||||
<circle
|
||||
style="fill:#cc0000;stroke:#cc0000"
|
||||
r="4"
|
||||
id="circle4980"
|
||||
cx="361.05368"
|
||||
cy="475.99161" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="320.59091"
|
||||
y="240.24139"
|
||||
class="title"
|
||||
id="text5080"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5082">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5084"
|
||||
class="title"
|
||||
y="240.24139"
|
||||
x="366.20544"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5086"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="405.9342"
|
||||
y="234.35565"
|
||||
class="title"
|
||||
id="text5088"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5090">12</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5111"
|
||||
class="title"
|
||||
y="397.68506"
|
||||
x="307.34799"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5113"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">false</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="360.30771"
|
||||
y="370.38724"
|
||||
class="title"
|
||||
id="text5134"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5136">true</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5240"
|
||||
class="title"
|
||||
y="369.89676"
|
||||
x="441.72717"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5242"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">true</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="401.61789"
|
||||
y="422.37906"
|
||||
class="title"
|
||||
id="text5348"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5350">true</tspan>
|
||||
</text>
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000"
|
||||
id="text5371"
|
||||
class="title"
|
||||
y="471.36954"
|
||||
x="375.11789"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan5373"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000">true</tspan>
|
||||
</text>
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="378.1373"
|
||||
y="523.72913"
|
||||
class="title"
|
||||
id="text5394"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#cc0000">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#cc0000"
|
||||
id="tspan5396">false</tspan>
|
||||
</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 21 KiB |
@@ -1,476 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="canvas"
|
||||
width="276.07123"
|
||||
height="420.02319"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="voltage-monitor.svg">
|
||||
<metadata
|
||||
id="metadata217">
|
||||
<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="defs215" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview213"
|
||||
showgrid="true"
|
||||
inkscape:zoom="2.0388246"
|
||||
inkscape:cx="84.335836"
|
||||
inkscape:cy="261.95618"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer2"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-nodes="true" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Links"
|
||||
transform="translate(-236.0909,-143.328)"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 446.9064,317.10591 364.99646,175.84805"
|
||||
id="path4289"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 348.81067,316.12495 365.48694,176.33853"
|
||||
id="path4291"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 294.85801,316.61543 70.13845,-140.2769"
|
||||
id="path4293"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 252.67685,285.71528 26.97632,32.37159"
|
||||
id="path4295"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 379.22035,290.62006 -13.73341,25.01442"
|
||||
id="path4297"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 480.25895,291.60102 -17.65723,25.50489"
|
||||
id="path4299"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 349.79163,349.96798 43.6526,25.50489"
|
||||
id="path4301"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 446.9064,348.98703 -37.76685,27.4668"
|
||||
id="path4303"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 392.95375,409.80638 377.25843,425.5017"
|
||||
id="path4305"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 277.20078,349.96798 83.87185,76.51468"
|
||||
id="path4307"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,458.3638 0,17.65724"
|
||||
id="path4984"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 361.16296,507.90215 1.47144,22.56202"
|
||||
id="path4986"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
style="display:inline"
|
||||
transform="translate(-236.0909,-143.328)"
|
||||
sodipodi:insensitive="true">
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#555753;stroke-width:0.99999994"
|
||||
id="rect47"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="348.81079"
|
||||
y="143.828" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text49"
|
||||
class="title"
|
||||
y="163.828"
|
||||
x="373.91077"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4345"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">Voltage</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle53"
|
||||
cx="365.31079"
|
||||
cy="176.328" />
|
||||
<rect
|
||||
y="316.68024"
|
||||
x="431.15775"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="455.15775"
|
||||
y="336.68024"
|
||||
class="title"
|
||||
id="text4408"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410"><</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.18024"
|
||||
cx="447.65775"
|
||||
id="circle4412"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#9e8e9c;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4442"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="346.38803"
|
||||
y="530.8512" />
|
||||
<text
|
||||
style="font-size:12.5px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4444"
|
||||
class="title"
|
||||
y="550.8512"
|
||||
x="370.66269">
|
||||
<tspan
|
||||
id="tspan4446"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff">Alarm</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4448"
|
||||
cx="362.88803"
|
||||
cy="530.3512" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4599"
|
||||
cx="447.65775"
|
||||
cy="316.67072" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="463.65775"
|
||||
id="circle4601"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1"
|
||||
id="rect4603"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="333.25244"
|
||||
y="316.68024" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4605"
|
||||
class="title"
|
||||
y="336.68024"
|
||||
x="357.25244"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4607"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">></tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4609"
|
||||
cx="349.75244"
|
||||
cy="349.18024" />
|
||||
<circle
|
||||
cy="316.67072"
|
||||
cx="349.75244"
|
||||
id="circle4611"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4613"
|
||||
cx="365.75244"
|
||||
cy="316.67072" />
|
||||
<rect
|
||||
y="258.45245"
|
||||
x="363.4649"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4615"
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="387.4649"
|
||||
y="278.45245"
|
||||
class="title"
|
||||
id="text4617"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4619">11.6</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="290.95245"
|
||||
cx="379.9649"
|
||||
id="circle4621"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="463.66211"
|
||||
y="258.80374" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4629"
|
||||
class="title"
|
||||
y="278.80374"
|
||||
x="487.66211"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">12.1</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633"
|
||||
cx="480.16211"
|
||||
cy="291.30374" />
|
||||
<rect
|
||||
y="376.02817"
|
||||
x="376.90503"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4255"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="400.90503"
|
||||
y="396.02817"
|
||||
class="title"
|
||||
id="text4257"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4259">and</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="408.52817"
|
||||
cx="393.40503"
|
||||
id="circle4261"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4263"
|
||||
cx="393.40503"
|
||||
cy="376.01865" />
|
||||
<circle
|
||||
cy="376.01865"
|
||||
cx="409.40503"
|
||||
id="circle4265"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1"
|
||||
id="rect4267"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="344.55368"
|
||||
y="426.00113" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4269"
|
||||
class="title"
|
||||
y="446.00113"
|
||||
x="368.55368"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4271"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">or</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4273"
|
||||
cx="361.05368"
|
||||
cy="458.50113" />
|
||||
<circle
|
||||
cy="425.99161"
|
||||
cx="361.05368"
|
||||
id="circle4275"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4277"
|
||||
cx="377.05368"
|
||||
cy="425.99161" />
|
||||
<rect
|
||||
y="317.00363"
|
||||
x="262.45349"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406-0"
|
||||
style="display:inline;fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="286.45349"
|
||||
y="337.00363"
|
||||
class="title"
|
||||
id="text4408-4"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410-5">=</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="349.50363"
|
||||
cx="278.95349"
|
||||
id="circle4412-5"
|
||||
r="4"
|
||||
style="display:inline;fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4599-4"
|
||||
cx="278.95349"
|
||||
cy="316.99411" />
|
||||
<circle
|
||||
cy="316.99411"
|
||||
cx="294.95349"
|
||||
id="circle4601-7"
|
||||
r="4"
|
||||
style="display:inline;fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="display:inline;fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1"
|
||||
id="rect4627-6"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="236.5909"
|
||||
y="253.24139" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#ffffff"
|
||||
id="text4629-5"
|
||||
class="title"
|
||||
y="273.24139"
|
||||
x="260.59091"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631-6"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">0</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633-6"
|
||||
cx="253.0909"
|
||||
cy="285.74139" />
|
||||
<rect
|
||||
y="476.00113"
|
||||
x="344.55368"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4972"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
sodipodi:linespacing="125%"
|
||||
x="368.55368"
|
||||
y="496.00113"
|
||||
class="title"
|
||||
id="text4974"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4976">not</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="508.50113"
|
||||
cx="361.05368"
|
||||
id="circle4978"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4980"
|
||||
cx="361.05368"
|
||||
cy="475.99161" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 16 KiB |
@@ -1,360 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="canvas"
|
||||
width="305.82501"
|
||||
height="283.01416"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="example.svg">
|
||||
<metadata
|
||||
id="metadata217">
|
||||
<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="defs215" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview213"
|
||||
showgrid="true"
|
||||
inkscape:zoom="1.4416667"
|
||||
inkscape:cx="-63.273802"
|
||||
inkscape:cy="172.12161"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-nodes="true" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Links"
|
||||
transform="translate(-217.85286,-201.83546)">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 378.15907,317.79611 361.4828,343.79148"
|
||||
id="path4664"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 267.80137,317.30563 254.06796,343.301"
|
||||
id="path4666"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 237.63692,375.91783 -2.69763,77.2504"
|
||||
id="path4668"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 345.78748,376.16308 0,76.02419"
|
||||
id="path4670"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 278.5919,234.41473 345.297,343.79148"
|
||||
id="path4672"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 237.39169,342.81052 9.31909,-68.66701 31.88112,-38.74782"
|
||||
id="path4674"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 475.76433,281.50069 278.10142,234.90521"
|
||||
id="path4676"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Layer 1"
|
||||
style="display:inline"
|
||||
transform="translate(-217.85286,-201.83546)">
|
||||
<rect
|
||||
style="fill:#9e8e9c;stroke:#555753;stroke-width:1;fill-opacity:1"
|
||||
id="rect47"
|
||||
height="32"
|
||||
width="80"
|
||||
class="outline"
|
||||
x="262.35287"
|
||||
y="202.34962" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text49"
|
||||
class="title"
|
||||
y="222.34962"
|
||||
x="303.35287"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4345"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">Thermometer</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle53"
|
||||
cx="278.85287"
|
||||
cy="234.84962" />
|
||||
<text
|
||||
y="278.85287"
|
||||
x="-239.84962"
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
id="text55"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px"
|
||||
id="tspan4347">T</tspan>
|
||||
</text>
|
||||
<rect
|
||||
y="343.57739"
|
||||
x="329.04568"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406"
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="353.04568"
|
||||
y="363.57739"
|
||||
class="title"
|
||||
id="text4408"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4410"><</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="376.07739"
|
||||
cx="345.54568"
|
||||
id="circle4412"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#9e8e9c;stroke:#555753;fill-opacity:1"
|
||||
id="rect4442"
|
||||
height="32"
|
||||
width="64"
|
||||
class="outline"
|
||||
x="218.35286"
|
||||
y="452.34964" />
|
||||
<text
|
||||
style="font-size:12.5px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4444"
|
||||
class="title"
|
||||
y="472.34964"
|
||||
x="250.35286">
|
||||
<tspan
|
||||
id="tspan4446"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff">Cooler</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4448"
|
||||
cx="234.85286"
|
||||
cy="451.84964" />
|
||||
<text
|
||||
y="234.85286"
|
||||
x="-446.84964"
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
id="text4450"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;"
|
||||
id="tspan4452">EN</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4599"
|
||||
cx="345.54568"
|
||||
cy="343.56787" />
|
||||
<circle
|
||||
cy="343.56787"
|
||||
cx="361.54568"
|
||||
id="circle4601"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#888a85;stroke:#555753;stroke-width:1"
|
||||
id="rect4603"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="221.1404"
|
||||
y="343.57739" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4605"
|
||||
class="title"
|
||||
y="363.57739"
|
||||
x="245.1404"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4607"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">></tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4609"
|
||||
cx="237.6404"
|
||||
cy="376.07739" />
|
||||
<circle
|
||||
cy="343.56787"
|
||||
cx="237.6404"
|
||||
id="circle4611"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4613"
|
||||
cx="253.6404"
|
||||
cy="343.56787" />
|
||||
<rect
|
||||
y="285.34961"
|
||||
x="251.35286"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4615"
|
||||
style="fill:#96a38a;stroke:#555753;stroke-width:1;fill-opacity:1" />
|
||||
<text
|
||||
x="275.35284"
|
||||
y="305.34961"
|
||||
class="title"
|
||||
id="text4617"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4619">77 °F</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="317.84961"
|
||||
cx="267.85284"
|
||||
id="circle4621"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="fill:#96a38a;stroke:#555753;stroke-width:1;fill-opacity:1"
|
||||
id="rect4627"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="361.55005"
|
||||
y="285.7009" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
id="text4629"
|
||||
class="title"
|
||||
y="305.7009"
|
||||
x="385.55005"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4631"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff">71 °F</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4633"
|
||||
cx="378.05005"
|
||||
cy="318.2009" />
|
||||
<rect
|
||||
y="452.34964"
|
||||
x="328.35284"
|
||||
class="outline"
|
||||
width="64"
|
||||
height="32"
|
||||
id="rect4639"
|
||||
style="fill:#9e8e9c;stroke:#555753;fill-opacity:1" />
|
||||
<text
|
||||
x="360.35284"
|
||||
y="472.34964"
|
||||
class="title"
|
||||
id="text4641"
|
||||
style="font-size:12.5px;text-anchor:middle;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff"
|
||||
id="tspan4643">Heater</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="451.84964"
|
||||
cx="344.85284"
|
||||
id="circle4645"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
<text
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:end;"
|
||||
id="text4647"
|
||||
transform="matrix(0,-1,1,0,0,0)"
|
||||
x="-446.84964"
|
||||
y="344.85284"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
id="tspan4649"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;">EN</tspan>
|
||||
</text>
|
||||
<rect
|
||||
y="282.15353"
|
||||
x="459.17789"
|
||||
class="outline"
|
||||
width="64"
|
||||
height="32"
|
||||
id="rect4651"
|
||||
style="fill:#9e8e9c;stroke:#555753;fill-opacity:1" />
|
||||
<text
|
||||
x="491.17789"
|
||||
y="302.15353"
|
||||
class="title"
|
||||
id="text4653"
|
||||
style="font-size:12.5px;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff"
|
||||
sodipodi:linespacing="125%">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';letter-spacing:0px;word-spacing:0px;fill:#ffffff"
|
||||
id="tspan4655">Display</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="281.65353"
|
||||
cx="475.67789"
|
||||
id="circle4657"
|
||||
r="4"
|
||||
style="fill:#888a85;stroke:#555753" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 13 KiB |
@@ -1,191 +0,0 @@
|
||||
<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="31.669367mm"
|
||||
height="49.529999mm"
|
||||
viewBox="0 0 112.21429 175.5"
|
||||
id="svg4205"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="knob-led.svg">
|
||||
<defs
|
||||
id="defs4207" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2.8"
|
||||
inkscape:cx="70.747418"
|
||||
inkscape:cy="134.92744"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<metadata
|
||||
id="metadata4210">
|
||||
<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>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Layer 2"
|
||||
transform="translate(11.071426,4.2047778)">
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 5.3571429,45.438093 33.214286,72.223807"
|
||||
id="path6009"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 70,29.366664 48.571429,71.152379"
|
||||
id="path6011"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 31.785714,103.29524 -1.071428,35.71428"
|
||||
id="path6013"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-104.42857,-264.54553)"
|
||||
style="display:inline">
|
||||
<rect
|
||||
y="265.04553"
|
||||
x="168.14287"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406"
|
||||
style="display:inline;fill:#9e8e9c;fill-opacity:1;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="192.14287"
|
||||
y="285.04553"
|
||||
class="title"
|
||||
id="text4408"
|
||||
style="text-anchor:middle;display:inline;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff"
|
||||
id="tspan4410">Knob</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="297.54553"
|
||||
cx="184.64287"
|
||||
id="circle4412"
|
||||
r="4"
|
||||
style="display:inline;fill:#888a85;stroke:#555753" />
|
||||
<rect
|
||||
style="display:inline;fill:#888a85;stroke:#555753;stroke-width:1"
|
||||
id="rect4826"
|
||||
height="32"
|
||||
width="48"
|
||||
class="outline"
|
||||
x="131"
|
||||
y="339.68842" />
|
||||
<text
|
||||
style="text-anchor:middle;display:inline;fill:#ffffff"
|
||||
id="text4828"
|
||||
class="title"
|
||||
y="359.68842"
|
||||
x="155">
|
||||
<tspan
|
||||
id="tspan4830"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff">—</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4832"
|
||||
cx="147.5"
|
||||
cy="372.18842" />
|
||||
<circle
|
||||
cy="339.67889"
|
||||
cx="147.5"
|
||||
id="circle4834"
|
||||
r="4"
|
||||
style="display:inline;fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4836"
|
||||
cx="163.5"
|
||||
cy="339.67889" />
|
||||
<rect
|
||||
y="407.54553"
|
||||
x="129.92856"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4838"
|
||||
style="display:inline;fill:#9e8e9c;fill-opacity:1;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="153.92856"
|
||||
y="427.54553"
|
||||
class="title"
|
||||
id="text4840"
|
||||
style="text-anchor:middle;display:inline;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff"
|
||||
id="tspan4842">LED</tspan>
|
||||
</text>
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4846"
|
||||
cx="146.42856"
|
||||
cy="407.53601" />
|
||||
<rect
|
||||
y="281.47412"
|
||||
x="104.92857"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4850"
|
||||
style="display:inline;fill:#96a38a;fill-opacity:1;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="128.92857"
|
||||
y="301.47412"
|
||||
class="title"
|
||||
id="text4852"
|
||||
style="text-anchor:middle;display:inline;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff"
|
||||
id="tspan4854">1.0</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="313.97412"
|
||||
cx="121.42857"
|
||||
id="circle4856"
|
||||
r="4"
|
||||
style="display:inline;fill:#888a85;stroke:#555753" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 6.0 KiB |
@@ -1,97 +0,0 @@
|
||||
<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="13.828889mm"
|
||||
height="11.71491mm"
|
||||
viewBox="0 0 49 41.509522"
|
||||
id="svg4205"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="pow.svg">
|
||||
<defs
|
||||
id="defs4207" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2.8"
|
||||
inkscape:cx="60.72776"
|
||||
inkscape:cy="-11.422464"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<metadata
|
||||
id="metadata4210">
|
||||
<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>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-115.5,-268.75031)">
|
||||
<rect
|
||||
y="273.25983"
|
||||
x="116"
|
||||
class="outline"
|
||||
width="48"
|
||||
height="32"
|
||||
id="rect4406"
|
||||
style="display:inline;fill:#888a85;stroke:#555753;stroke-width:1" />
|
||||
<text
|
||||
x="140"
|
||||
y="293.25983"
|
||||
class="title"
|
||||
id="text4408"
|
||||
style="text-anchor:middle;display:inline;fill:#ffffff">
|
||||
<tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Roboto Condensed';-inkscape-font-specification:'Roboto Condensed, ';fill:#ffffff"
|
||||
id="tspan4410">pow</tspan>
|
||||
</text>
|
||||
<circle
|
||||
cy="305.75983"
|
||||
cx="132.5"
|
||||
id="circle4412"
|
||||
r="4"
|
||||
style="display:inline;fill:#888a85;stroke:#555753" />
|
||||
<circle
|
||||
style="display:inline;fill:#888a85;stroke:#555753"
|
||||
r="4"
|
||||
id="circle4599"
|
||||
cx="132.5"
|
||||
cy="273.25031" />
|
||||
<circle
|
||||
cy="273.25031"
|
||||
cx="148.5"
|
||||
id="circle4601"
|
||||
r="4"
|
||||
style="display:inline;fill:#888a85;stroke:#555753" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.7 KiB |
@@ -1,14 +0,0 @@
|
||||
.. XOD documentation master file, created by
|
||||
sphinx-quickstart on Thu Jun 2 17:39:52 2016.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
Welcome to XOD!
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
intro
|
||||
structure
|
||||
execution
|
||||
@@ -1,88 +0,0 @@
|
||||
************
|
||||
Introduction
|
||||
************
|
||||
|
||||
XOD is a visual functional reactive programming language aimed to electronics
|
||||
hobbyists.
|
||||
|
||||
It contrasts to classical programming like one do with C++ or JavaScript in
|
||||
many ways although it is powerful enough to solve same problems.
|
||||
|
||||
A Quick Look
|
||||
============
|
||||
|
||||
.. image:: images/intro/example.*
|
||||
:align: center
|
||||
|
||||
The image is a climate control program example that strives to keep temperature in
|
||||
71–77 °F range. It uses a digital thermometer as a sensor, a cooler, and a heater
|
||||
as actuators, and an LCD to display current temperature.
|
||||
|
||||
As you can see XOD program is a diagram that describes what system
|
||||
*should* be. Not a sequence of steps that would lead to the desired result.
|
||||
Formally XOD is a data flow system rather than a control flow.
|
||||
|
||||
A processor running XOD program will evaluate the graph when required. So that
|
||||
reality gets along with declared desire. That's it.
|
||||
|
||||
Rationale
|
||||
=========
|
||||
|
||||
Programming is hard. Good programming is manifold hard. But it’s required to
|
||||
create something new and *smart*.
|
||||
|
||||
Our intent is to create a shortcut. We found that many people feel more natural
|
||||
if they think about a program as an electrical circuit or a mechanism rather than
|
||||
as a sequence of instructions.
|
||||
|
||||
.. todo:: Example
|
||||
|
||||
|
||||
Fundamental Concepts
|
||||
====================
|
||||
|
||||
Let's explain few concepts that stay behind programming in XOD:
|
||||
|
||||
* It's **visual**. In contrast to usual programming where behavior is described by
|
||||
text with some syntax rules, in XOD you describe the program with blocks and
|
||||
lines that connect them together. That blocks are called *nodes* and lines
|
||||
connecting them are called *links*. There are many nodes built in, there are
|
||||
nodes authored by other XODers, you can also create your own.
|
||||
* It's **functional**. Formally it means that no nodes share mutable state. If you
|
||||
don't understand what does it mean exactly, don't worry. It means that what you see
|
||||
is what you get, and it is impossible that a change of data in one part of
|
||||
the program would *implicitly* change another data in another part without an
|
||||
*explicit* link. This is how programming should look like in any language, but
|
||||
it is not, and such implicit dependencies are often lead to bugs, glitches,
|
||||
and crashes. XOD protects you from them.
|
||||
* It's **reactive**. It means that nodes are activated and produce output signals
|
||||
as a reaction to input signals. Give an update in and you'll get an update
|
||||
out.
|
||||
|
||||
These three concepts together give you the ability to create robust programs
|
||||
in a simple way. Even if you haven't programming experience before.
|
||||
|
||||
What Makes XOD Different
|
||||
========================
|
||||
|
||||
Some languages and tools that look similar to XOD at a first sight.
|
||||
Notably Scratch_, `Lego Mindstorms`_, vvvv_, LabView_, NoFlo_.
|
||||
|
||||
.. _vvvv: https://vvvv.org/
|
||||
.. _NoFlo: http://noflojs.org/
|
||||
.. _Scratch: https://scratch.mit.edu/
|
||||
.. _`Lego Mindstorms`: http://www.lego.com/en-us/mindstorms/learn-to-program
|
||||
.. _LabView: http://www.ni.com/labview/
|
||||
|
||||
But neither of them share the same set of principles at once. Although some ideas
|
||||
will look familiar if you have an experience with that products.
|
||||
|
||||
#. XOD is not a tool to build toy-only projects. It is scalable, reliable, and complete.
|
||||
You can use it for serious tasks.
|
||||
#. XOD is targeted specifically toward electronics engineers making it easy to build
|
||||
gadgets, robotics, IoT.
|
||||
#. XOD is visual in a first place. Visualization features are used primarily to give
|
||||
you an easy program structure overview and ability to quickly and intuitively change
|
||||
that program, not to make it look funny or coarse-grained.
|
||||
#. XOD is open source. It’s free in sense of freedom. You can fork it, tweak it, host it
|
||||
and contribute back.
|
||||
@@ -1,281 +0,0 @@
|
||||
@ECHO OFF
|
||||
|
||||
REM Command file for Sphinx documentation
|
||||
|
||||
if "%SPHINXBUILD%" == "" (
|
||||
set SPHINXBUILD=sphinx-build
|
||||
)
|
||||
set BUILDDIR=_build
|
||||
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
|
||||
set I18NSPHINXOPTS=%SPHINXOPTS% .
|
||||
if NOT "%PAPER%" == "" (
|
||||
set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
|
||||
set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
|
||||
)
|
||||
|
||||
if "%1" == "" goto help
|
||||
|
||||
if "%1" == "help" (
|
||||
:help
|
||||
echo.Please use `make ^<target^>` where ^<target^> is one of
|
||||
echo. html to make standalone HTML files
|
||||
echo. dirhtml to make HTML files named index.html in directories
|
||||
echo. singlehtml to make a single large HTML file
|
||||
echo. pickle to make pickle files
|
||||
echo. json to make JSON files
|
||||
echo. htmlhelp to make HTML files and a HTML help project
|
||||
echo. qthelp to make HTML files and a qthelp project
|
||||
echo. devhelp to make HTML files and a Devhelp project
|
||||
echo. epub to make an epub
|
||||
echo. epub3 to make an epub3
|
||||
echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
|
||||
echo. text to make text files
|
||||
echo. man to make manual pages
|
||||
echo. texinfo to make Texinfo files
|
||||
echo. gettext to make PO message catalogs
|
||||
echo. changes to make an overview over all changed/added/deprecated items
|
||||
echo. xml to make Docutils-native XML files
|
||||
echo. pseudoxml to make pseudoxml-XML files for display purposes
|
||||
echo. linkcheck to check all external links for integrity
|
||||
echo. doctest to run all doctests embedded in the documentation if enabled
|
||||
echo. coverage to run coverage check of the documentation if enabled
|
||||
echo. dummy to check syntax errors of document sources
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "clean" (
|
||||
for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
|
||||
del /q /s %BUILDDIR%\*
|
||||
goto end
|
||||
)
|
||||
|
||||
|
||||
REM Check if sphinx-build is available and fallback to Python version if any
|
||||
%SPHINXBUILD% 1>NUL 2>NUL
|
||||
if errorlevel 9009 goto sphinx_python
|
||||
goto sphinx_ok
|
||||
|
||||
:sphinx_python
|
||||
|
||||
set SPHINXBUILD=python -m sphinx.__init__
|
||||
%SPHINXBUILD% 2> nul
|
||||
if errorlevel 9009 (
|
||||
echo.
|
||||
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
||||
echo.installed, then set the SPHINXBUILD environment variable to point
|
||||
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
||||
echo.may add the Sphinx directory to PATH.
|
||||
echo.
|
||||
echo.If you don't have Sphinx installed, grab it from
|
||||
echo.http://sphinx-doc.org/
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
:sphinx_ok
|
||||
|
||||
|
||||
if "%1" == "html" (
|
||||
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The HTML pages are in %BUILDDIR%/html.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "dirhtml" (
|
||||
%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "singlehtml" (
|
||||
%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "pickle" (
|
||||
%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; now you can process the pickle files.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "json" (
|
||||
%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; now you can process the JSON files.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "htmlhelp" (
|
||||
%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; now you can run HTML Help Workshop with the ^
|
||||
.hhp project file in %BUILDDIR%/htmlhelp.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "qthelp" (
|
||||
%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; now you can run "qcollectiongenerator" with the ^
|
||||
.qhcp project file in %BUILDDIR%/qthelp, like this:
|
||||
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\XOD.qhcp
|
||||
echo.To view the help file:
|
||||
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\XOD.ghc
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "devhelp" (
|
||||
%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "epub" (
|
||||
%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The epub file is in %BUILDDIR%/epub.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "epub3" (
|
||||
%SPHINXBUILD% -b epub3 %ALLSPHINXOPTS% %BUILDDIR%/epub3
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The epub3 file is in %BUILDDIR%/epub3.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "latex" (
|
||||
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "latexpdf" (
|
||||
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
|
||||
cd %BUILDDIR%/latex
|
||||
make all-pdf
|
||||
cd %~dp0
|
||||
echo.
|
||||
echo.Build finished; the PDF files are in %BUILDDIR%/latex.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "latexpdfja" (
|
||||
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
|
||||
cd %BUILDDIR%/latex
|
||||
make all-pdf-ja
|
||||
cd %~dp0
|
||||
echo.
|
||||
echo.Build finished; the PDF files are in %BUILDDIR%/latex.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "text" (
|
||||
%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The text files are in %BUILDDIR%/text.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "man" (
|
||||
%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The manual pages are in %BUILDDIR%/man.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "texinfo" (
|
||||
%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "gettext" (
|
||||
%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "changes" (
|
||||
%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.The overview file is in %BUILDDIR%/changes.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "linkcheck" (
|
||||
%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Link check complete; look for any errors in the above output ^
|
||||
or in %BUILDDIR%/linkcheck/output.txt.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "doctest" (
|
||||
%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Testing of doctests in the sources finished, look at the ^
|
||||
results in %BUILDDIR%/doctest/output.txt.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "coverage" (
|
||||
%SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Testing of coverage in the sources finished, look at the ^
|
||||
results in %BUILDDIR%/coverage/python.txt.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "xml" (
|
||||
%SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The XML files are in %BUILDDIR%/xml.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "pseudoxml" (
|
||||
%SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml.
|
||||
goto end
|
||||
)
|
||||
|
||||
if "%1" == "dummy" (
|
||||
%SPHINXBUILD% -b dummy %ALLSPHINXOPTS% %BUILDDIR%/dummy
|
||||
if errorlevel 1 exit /b 1
|
||||
echo.
|
||||
echo.Build finished. Dummy builder generates no files.
|
||||
goto end
|
||||
)
|
||||
|
||||
:end
|
||||
@@ -1,2 +0,0 @@
|
||||
sphinx
|
||||
sphinxcontrib-plantuml
|
||||
@@ -1,176 +0,0 @@
|
||||
*****************
|
||||
Program Structure
|
||||
*****************
|
||||
|
||||
Instead of writing a program in a text editor you're drawing it in XOD IDE.
|
||||
Underlying format of XOD programs is a set of JSON-files, but it doesn't
|
||||
matter much for the end user. These files are not intended to be manipulated
|
||||
directly and are used just to store and distribute projects.
|
||||
|
||||
Nodes
|
||||
=====
|
||||
|
||||
.. figure:: images/structure/pow.*
|
||||
:align: right
|
||||
:figwidth: 20%
|
||||
|
||||
An example of “pow” node that takes a power of input number and passes it
|
||||
further.
|
||||
|
||||
Any XOD program consists of nodes that interact with each other. Roughly you can
|
||||
think of nodes as electronic components: ICs, LEDs, mechanical switches, etc.
|
||||
|
||||
Every node has a *type* that determines what the node can and will do in the
|
||||
program. Some nodes represent hardware modules (thermometers,
|
||||
accelerometers, relays, motors), other nodes represent logic and mathematical
|
||||
transformations (sum, comparison, merge, filter); another are watches and
|
||||
constants used to configure and control behavior.
|
||||
|
||||
Of course, you may have as many nodes of a particular type as necessary.
|
||||
|
||||
Many node types are built in XOD. Also, you can include third-party node types,
|
||||
create your own and share them with the community.
|
||||
|
||||
Nodes are presented as rectangles with a label. You can overwrite default label
|
||||
with your own for clarity. It doesn't change a logic anyhow. For example, it is
|
||||
a good idea to label a node “Water Pump” instead of default “Relay” if you have
|
||||
a pump connected to the relay. After all, you’re trying to control a pump, not an
|
||||
abstract relay.
|
||||
|
||||
Pins, Inputs, and Outputs
|
||||
=========================
|
||||
|
||||
Every node has pins. They are depicted by small circles along edges of a node.
|
||||
Rougly if a node is analogous to IC, its pins are IC’s legs.
|
||||
|
||||
The pin can be either input or output. Input pins are always on top and
|
||||
outputs are at the bottom.
|
||||
|
||||
Think of inputs as data receivers and outputs are data senders or data sources.
|
||||
Give something on node’s input and it’ll get triggered to process the data, make
|
||||
something useful and possibly produce some output as a reaction. The reactive
|
||||
programming concept in action.
|
||||
|
||||
Some pins have labels. They are only for visual differentiation and consist
|
||||
of few letters that are mnemonics for pin function. Some mnemonics are widespread
|
||||
like EN for “enable”, VAL for “value”, CK for “clock”. Other are node-specific
|
||||
but anyway easy to remember. If there are just a few pins on the node and their
|
||||
designation is unambigous it is OK to left labels out because it makes programs
|
||||
more compact.
|
||||
|
||||
Every pin has a type on their own. The type denotes kind of data this pin was
|
||||
designed to work with. There are few basic types: pulse, boolean, number,
|
||||
string, array and a grouping mechanism that allows you create new composite
|
||||
pin types. But more on that later.
|
||||
|
||||
Node Categories
|
||||
===============
|
||||
|
||||
You may already noticed that nodes are colored differently. The color depends on
|
||||
node type or rather on type *category*. There are few of them.
|
||||
|
||||
*Pure functional* nodes are gray. They react to input change instantly.
|
||||
Think that their outputs are hard-bound to inputs. They are functions in the
|
||||
mathematical sense: change of an input parameter lead to re-computation of the
|
||||
function and update of the output. Also, pure functional nodes cannot change
|
||||
their outputs sporadically without input change. Pure function nodes are used
|
||||
to perform mathematical and logical operations, data transformations,
|
||||
filtering, and formatting.
|
||||
|
||||
*Hardware* nodes are purple. They represent physical peripheral devices such as
|
||||
sensors or actuators. Their inputs are commands to perform something useful, and
|
||||
their outputs are signals of something has happened in the real world.
|
||||
|
||||
*Configuration* nodes (or config nodes for short) are green. They serve a value
|
||||
that passes as a signal at the very beginning of program execution. You would
|
||||
usually use constants to tweak the system. You can change the value served either
|
||||
from patch editor directly or via a GUI board.
|
||||
|
||||
*Watch* nodes are pink. They show you the last signal value they have received.
|
||||
You would use them to debug the program and to gather system output. Watches
|
||||
are available in patch editor and on GUI boards as well.
|
||||
|
||||
Links
|
||||
=====
|
||||
|
||||
.. figure:: images/structure/knob-led.*
|
||||
:align: right
|
||||
:figwidth: 20%
|
||||
|
||||
Program example where four nodes are linked together to produce anti-dimmer.
|
||||
Rotate the knob more to get LED shine dimmer.
|
||||
|
||||
Nodes alone can't make your program different. To do something new they should
|
||||
be connected to work together. To be more precise you don’t connect nodes,
|
||||
but you connect their input and output pins. These connections are called *links*.
|
||||
Rougly links are analogous to wires or traces in an electrical circuit.
|
||||
|
||||
Once there is a link between an output and an input any data appearing on the
|
||||
output will instantly flow into the input. Which in turn will lead to node
|
||||
update and further cascade update of other nodes behind that node.
|
||||
|
||||
It is only allowed to link inputs with outputs. You can’t connect output to
|
||||
output for example. Also, an output can have an arbitrary number of outgoing links,
|
||||
but an input can have at most one incoming link. There is a reason for this namely
|
||||
explicit handling of simultaneous signals and conflict resolution. We’ll talk
|
||||
about this in :ref:`execution` chapter.
|
||||
|
||||
Links can be drawn as straight lines or as polylines at your will. An appearance
|
||||
doesn't affect logic anyhow. It’s just for program clearness.
|
||||
|
||||
Cycles and Buffers
|
||||
==================
|
||||
|
||||
One thing to note is that links should not create cycles or loops within the
|
||||
program. Thus, you will be not allowed to create a link that would create a
|
||||
path that data can flow infinitely round after round.
|
||||
|
||||
However, there are cases when feeding a signal back is required. For these
|
||||
cases there is a couple of special nodes that can be put in-between to
|
||||
close the loop. But more on that later.
|
||||
|
||||
Patches
|
||||
=======
|
||||
|
||||
A collection of nodes and links between them that are drawn together on single
|
||||
canvas is called a *patch*. Patches a rough analog to files or modules in
|
||||
classic programming.
|
||||
|
||||
In contrast to usual programming, however, there is no such thing as an entry point.
|
||||
All patches of your program are equal in rights and execute in parallel.
|
||||
|
||||
You can give your patch input and output pins effectively turning it into
|
||||
a new node type that you can place and use in your other patches and projects.
|
||||
|
||||
Schemes
|
||||
=======
|
||||
|
||||
Schemes are a different kind of patches that describe your hardware wiring rather
|
||||
than your program logic. They are static and just declare which things
|
||||
connected where.
|
||||
|
||||
Nodes on schemes are required by those logical nodes that represent hardware so
|
||||
that they’re able to convert data to real electrical signals and back when required.
|
||||
|
||||
Pins of hardware nodes has another type system as well. A pin can require or provide
|
||||
*features*. Features denote supported hardware interfaces, electrical capabilities
|
||||
of physical devices.
|
||||
|
||||
Again, there are hardware nodes built in and you can easily create your own or use
|
||||
third-party nodes to communicate with potentially any piece of hardware in your
|
||||
project.
|
||||
|
||||
Schemes are not restricted to a single target processor that will run the program.
|
||||
They could include a definition of several distinct devices that work together for
|
||||
one mission. For example, you can have a button directly linked to an LED on logical
|
||||
patch but split them on hardware level to a pair of distinct devices: one with
|
||||
button and one with LED connected by a 433 MHz channel or an Internet cloud service
|
||||
accessed with Wi-Fi.
|
||||
|
||||
Once you look to a scheme of some XOD project, it should become obvious how to
|
||||
wire electronic modules and components to replicate that device.
|
||||
|
||||
UI Boards
|
||||
=========
|
||||
|
||||
TODO
|
||||
@@ -1,13 +0,0 @@
|
||||
# EditorConfig helps developers define and maintain consistent
|
||||
# coding styles between different editors and IDEs
|
||||
# http://editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
@@ -1 +0,0 @@
|
||||
/client/
|
||||
19
packages/xod-server/.gitignore
vendored
@@ -1,19 +0,0 @@
|
||||
*.csv
|
||||
*.dat
|
||||
*.iml
|
||||
*.log
|
||||
*.out
|
||||
*.pid
|
||||
*.seed
|
||||
*.sublime-*
|
||||
*.swo
|
||||
*.swp
|
||||
*.tgz
|
||||
*.xml
|
||||
.DS_Store
|
||||
.idea
|
||||
.project
|
||||
.strong-pm
|
||||
coverage
|
||||
node_modules
|
||||
npm-debug.log
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"generator-loopback": {}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
{
|
||||
"name": "xod-server",
|
||||
"version": "0.0.1",
|
||||
"description": "Here will be server-side scripts.",
|
||||
"main": "server/server.js",
|
||||
"scripts": {
|
||||
"start": "node .",
|
||||
"posttest": "npm run lint && nsp check",
|
||||
"dev": "npm-watch",
|
||||
"reset": "node ./scripts/resetDb.js",
|
||||
"addUser": "node ./scripts/addUser.js"
|
||||
},
|
||||
"keywords": [
|
||||
"xod",
|
||||
"amperka"
|
||||
],
|
||||
"author": "Amperka team",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "6.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"compression": "^1.0.3",
|
||||
"cors": "^2.5.2",
|
||||
"helmet": "^1.3.0",
|
||||
"loopback": "^2.22.0",
|
||||
"loopback-boot": "^2.6.5",
|
||||
"loopback-component-explorer": "^2.4.0",
|
||||
"loopback-connector-mongodb": "^1.15.2",
|
||||
"loopback-datasource-juggler": "^2.39.0",
|
||||
"ramda": "^0.23.0",
|
||||
"serve-favicon": "^2.0.1",
|
||||
"strong-error-handler": "^1.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"npm-watch": "^0.1.6",
|
||||
"nsp": "^2.1.0"
|
||||
},
|
||||
"watch": {
|
||||
"start": {
|
||||
"patterns": [
|
||||
"server",
|
||||
"node_modules"
|
||||
],
|
||||
"extensions": "js, json"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
const R = require('ramda');
|
||||
const server = require('../server/server.js');
|
||||
const createUser = require('./parts/create-user.js');
|
||||
|
||||
const options = R.slice(2, Infinity, process.argv);
|
||||
|
||||
if (options.length !== 3) {
|
||||
console.error("(!) You should pass three parameters: username, email and password!");
|
||||
console.error("For example: npm run addUser test test@amperka.ru qwe123");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const userOptions = {
|
||||
username: options[0],
|
||||
email: options[1],
|
||||
password: options[2],
|
||||
};
|
||||
|
||||
createUser(userOptions)(server)
|
||||
.then(() => { process.exit(); })
|
||||
.catch(err => { console.error(err); process.exit(1); })
|
||||
@@ -1,13 +0,0 @@
|
||||
// Create a user
|
||||
module.exports = userOptions => app =>
|
||||
new Promise(resolve => {
|
||||
const User = app.models.user;
|
||||
|
||||
User.create(
|
||||
userOptions,
|
||||
(err, instance) => {
|
||||
if (err) { console.error(err); }
|
||||
console.log(`+ Add user ${instance.username}:${userOptions.password}: successfully.`);
|
||||
resolve(app);
|
||||
});
|
||||
});
|
||||
@@ -1,47 +0,0 @@
|
||||
const R = require('ramda');
|
||||
const server = require('../server/server.js');
|
||||
const createUser = require('./parts/create-user.js');
|
||||
/* eslint-disable max-len */
|
||||
|
||||
const userOptions = {
|
||||
email: 'test@amperka.ru',
|
||||
username: 'Amperka',
|
||||
password: 'qwe123',
|
||||
};
|
||||
|
||||
// Utils
|
||||
const emptyLine = (data) => { console.log(''); return data; };
|
||||
|
||||
// Destroy all datas!
|
||||
const destroyAll = (app) =>
|
||||
new Promise(resolve => {
|
||||
const models = R.pipe(
|
||||
R.prop('models'),
|
||||
R.toPairs,
|
||||
R.reject(([modelName]) => modelName === 'AccessToken')
|
||||
)(app);
|
||||
let curCount = 0;
|
||||
|
||||
R.forEach(
|
||||
([modelName, model]) => model.destroyAll(
|
||||
(err, info) => {
|
||||
if (err) { console.error(err); }
|
||||
console.log(`- Clear model '${modelName}': removed ${info.count} records.`);
|
||||
|
||||
curCount++;
|
||||
if (curCount === models.length) { resolve(app); }
|
||||
}
|
||||
)
|
||||
)(models);
|
||||
});
|
||||
|
||||
// Run
|
||||
Promise.resolve(server)
|
||||
.then(destroyAll)
|
||||
.then(emptyLine)
|
||||
.then(createUser(userOptions))
|
||||
.then(emptyLine)
|
||||
.then(() => {
|
||||
console.log('=== It\'s done! ===');
|
||||
process.exit();
|
||||
});
|
||||
@@ -1,4 +0,0 @@
|
||||
module.exports = function enableAuthentication(server) {
|
||||
// enable authentication
|
||||
server.enableAuth();
|
||||
};
|
||||
@@ -1,6 +0,0 @@
|
||||
module.exports = function rootBoot(server) {
|
||||
// Install a `/` route that returns server status
|
||||
const router = server.loopback.Router();
|
||||
router.get('/', server.loopback.status());
|
||||
server.use(router);
|
||||
};
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"loopback-component-explorer": {
|
||||
"mountPath": "/explorer"
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"restApiRoot": "/api",
|
||||
"host": "0.0.0.0",
|
||||
"port": 3000,
|
||||
"remoting": {
|
||||
"context": false,
|
||||
"rest": {
|
||||
"normalizeHttpPath": false,
|
||||
"xml": false
|
||||
},
|
||||
"json": {
|
||||
"strict": false,
|
||||
"limit": "100kb"
|
||||
},
|
||||
"urlencoded": {
|
||||
"extended": true,
|
||||
"limit": "100kb"
|
||||
},
|
||||
"cors": false,
|
||||
"handleErrors": false
|
||||
},
|
||||
"legacyExplorer": false,
|
||||
"aclErrorStatus": 403
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
/* eslint-disable max-len */
|
||||
|
||||
module.exports = {
|
||||
project: {
|
||||
validProjectName: 'Project name should contain only latin alphabet, digits, minus or underscore char.',
|
||||
},
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"db": {
|
||||
"name": "db",
|
||||
"connector": "memory"
|
||||
},
|
||||
"Mongo": {
|
||||
"host": "127.0.0.1",
|
||||
"port": 27017,
|
||||
"url": "mongodb://127.0.0.1:27017/xod",
|
||||
"database": "xod",
|
||||
"password": "",
|
||||
"name": "Mongo",
|
||||
"user": "",
|
||||
"connector": "mongodb"
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"final:after": {
|
||||
"strong-error-handler": {
|
||||
"params": {
|
||||
"debug": true,
|
||||
"log": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
{
|
||||
"initial:before": {
|
||||
"loopback#favicon": {}
|
||||
},
|
||||
"initial": {
|
||||
"compression": {},
|
||||
"cors": {
|
||||
"params": {
|
||||
"origin": true,
|
||||
"credentials": true,
|
||||
"maxAge": 86400
|
||||
}
|
||||
},
|
||||
"helmet#xssFilter": {},
|
||||
"helmet#frameguard": {
|
||||
"params": [
|
||||
"deny"
|
||||
]
|
||||
},
|
||||
"helmet#hsts": {
|
||||
"params": {
|
||||
"maxAge": 0,
|
||||
"includeSubdomains": true
|
||||
}
|
||||
},
|
||||
"helmet#hidePoweredBy": {},
|
||||
"helmet#ieNoOpen": {},
|
||||
"helmet#noSniff": {},
|
||||
"helmet#noCache": {
|
||||
"enabled": false
|
||||
}
|
||||
},
|
||||
"session": {},
|
||||
"auth": {},
|
||||
"parse": {},
|
||||
"routes": {
|
||||
"loopback#rest": {
|
||||
"paths": [
|
||||
"${restApiRoot}"
|
||||
]
|
||||
}
|
||||
},
|
||||
"files": {
|
||||
"loopback#static": {
|
||||
"paths": "/public",
|
||||
"params": "./public"
|
||||
}
|
||||
},
|
||||
"final": {
|
||||
"loopback#urlNotFound": {}
|
||||
},
|
||||
"final:after": {
|
||||
"strong-error-handler": {}
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
{
|
||||
"_meta": {
|
||||
"sources": [
|
||||
"loopback/common/models",
|
||||
"loopback/server/models",
|
||||
"../common/models",
|
||||
"./models"
|
||||
],
|
||||
"mixins": [
|
||||
"loopback/common/mixins",
|
||||
"loopback/server/mixins",
|
||||
"../common/mixins",
|
||||
"./mixins"
|
||||
]
|
||||
},
|
||||
"AccessToken": {
|
||||
"dataSource": "Mongo",
|
||||
"public": false
|
||||
},
|
||||
"ACL": {
|
||||
"dataSource": "Mongo",
|
||||
"public": false
|
||||
},
|
||||
"RoleMapping": {
|
||||
"dataSource": "Mongo",
|
||||
"public": false
|
||||
},
|
||||
"Role": {
|
||||
"dataSource": "Mongo",
|
||||
"public": false
|
||||
},
|
||||
"User": {
|
||||
"dataSource": "Mongo",
|
||||
"public": false,
|
||||
"options": {
|
||||
"emailVerificationRequired": false
|
||||
}
|
||||
},
|
||||
"project": {
|
||||
"dataSource": "Mongo",
|
||||
"public": true
|
||||
},
|
||||
"package": {
|
||||
"dataSource": "Mongo",
|
||||
"public": true
|
||||
},
|
||||
"user": {
|
||||
"dataSource": "Mongo",
|
||||
"public": true
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
const methods = require('../utils/methods');
|
||||
|
||||
module.exports = function PakcageModel(Package) {
|
||||
methods.filter(
|
||||
[
|
||||
'create',
|
||||
|
||||
'find',
|
||||
'findOne',
|
||||
'findById',
|
||||
|
||||
'count',
|
||||
'exists',
|
||||
|
||||
'__get__author',
|
||||
],
|
||||
Package
|
||||
);
|
||||
};
|
||||
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"name": "package",
|
||||
"base": "PersistedModel",
|
||||
"idInjection": true,
|
||||
"options": {
|
||||
"validateUpsert": true
|
||||
},
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"required": true
|
||||
}
|
||||
},
|
||||
"validations": [],
|
||||
"relations": {
|
||||
"author": {
|
||||
"type": "belongsTo",
|
||||
"model": "Profile",
|
||||
"foreignKey": "ownerId"
|
||||
}
|
||||
},
|
||||
"acls": [],
|
||||
"methods": {}
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
const errors = require('../constants/errors');
|
||||
const methods = require('../utils/methods');
|
||||
|
||||
|
||||
module.exports = function ProjectModel(Project) {
|
||||
// validation methods
|
||||
function checkProjectName(err) {
|
||||
if (/^[a-zA-Z0-9_\-]*$/.test(this.name) === false) {
|
||||
err();
|
||||
}
|
||||
}
|
||||
|
||||
// validation bindings
|
||||
Project.validate(
|
||||
'validProjectName',
|
||||
checkProjectName,
|
||||
{
|
||||
message: errors.project.validProjectName,
|
||||
}
|
||||
);
|
||||
|
||||
// methods
|
||||
methods.filter(
|
||||
[
|
||||
'create',
|
||||
'upsert',
|
||||
|
||||
'deleteById',
|
||||
|
||||
'find',
|
||||
'findOne',
|
||||
'findById',
|
||||
|
||||
'count',
|
||||
'exists',
|
||||
|
||||
'__get__author',
|
||||
],
|
||||
Project
|
||||
);
|
||||
};
|
||||
@@ -1,67 +0,0 @@
|
||||
{
|
||||
"name": "project",
|
||||
"base": "PersistedModel",
|
||||
"strict": true,
|
||||
"idInjection": true,
|
||||
"options": {
|
||||
"validateUpsert": true
|
||||
},
|
||||
"properties": {
|
||||
"ownerId": {
|
||||
"type": "number",
|
||||
"required": true
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"required": true
|
||||
},
|
||||
"createdAt": {
|
||||
"type": "date",
|
||||
"required": false,
|
||||
"defaultFn": "now"
|
||||
},
|
||||
"updatedAt": {
|
||||
"type": "date",
|
||||
"required": false,
|
||||
"defaultFn": "now"
|
||||
},
|
||||
"pojo": {
|
||||
"type": "string"
|
||||
},
|
||||
"public": {
|
||||
"type": "boolean",
|
||||
"required": true,
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
"validations": [],
|
||||
"relations": {
|
||||
"author": {
|
||||
"type": "belongsTo",
|
||||
"model": "user",
|
||||
"foreignKey": "ownerId"
|
||||
}
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"accessType": "*",
|
||||
"principalType": "ROLE",
|
||||
"principalId": "$unauthenticated",
|
||||
"permission": "DENY"
|
||||
},
|
||||
{
|
||||
"accessType": "EXECUTE",
|
||||
"principalType": "ROLE",
|
||||
"principalId": "$authenticated",
|
||||
"permission": "ALLOW",
|
||||
"property": "create"
|
||||
},
|
||||
{
|
||||
"accessType": "*",
|
||||
"principalType": "ROLE",
|
||||
"principalId": "$owner",
|
||||
"permission": "ALLOW"
|
||||
}
|
||||
],
|
||||
"methods": {}
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
const R = require('ramda');
|
||||
const methods = require('../utils/methods');
|
||||
const extract = source => JSON.parse(JSON.stringify(source)); // @TODO: Remove this hack
|
||||
|
||||
module.exports = function UserModel(User) {
|
||||
User.validatesUniquenessOf('username', { message: 'User already exists' });
|
||||
User.validatesLengthOf('password', { min: 6, message: { min: 'Password is too short' } });
|
||||
User.validatesUniquenessOf('email', { message: 'Email is not unique' });
|
||||
|
||||
methods.filter(
|
||||
[
|
||||
'logout',
|
||||
'resetPassword',
|
||||
'confirm',
|
||||
|
||||
'__findById__projects',
|
||||
'__get__projects',
|
||||
'__count__projects',
|
||||
],
|
||||
User
|
||||
);
|
||||
|
||||
// /user/login
|
||||
// Custom login with returning user data, includes project list
|
||||
User.signIn = (credentials, send) => {
|
||||
const app = User.app;
|
||||
const Project = app.models.Project;
|
||||
User.login(
|
||||
credentials,
|
||||
'user',
|
||||
(uErr, usr) => {
|
||||
const userData = extract(usr);
|
||||
|
||||
Project.find({
|
||||
where: { ownerId: userData.userId },
|
||||
}, (pErr, proj) => {
|
||||
const err = (uErr || pErr) ? R.merge(uErr, pErr) : null;
|
||||
send(err, {
|
||||
id: userData.id,
|
||||
ttl: userData.ttl,
|
||||
userId: userData.userId,
|
||||
username: userData.user.username,
|
||||
userpic: userData.user.userpic,
|
||||
projects: proj,
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
User.remoteMethod('signIn', {
|
||||
http: { path: '/login', verb: 'post' },
|
||||
accepts: { arg: 'credentials', type: 'object', http: { source: 'body' } },
|
||||
returns: [
|
||||
{ arg: 'id', type: 'string', root: true },
|
||||
{ arg: 'ttl', type: 'number', root: true },
|
||||
{ arg: 'userId', type: 'string', root: true },
|
||||
{ arg: 'username', type: 'string', root: true },
|
||||
{ arg: 'userpic', type: 'string', root: true },
|
||||
{ arg: 'projects', type: ['object'], root: true },
|
||||
],
|
||||
});
|
||||
|
||||
// /user/{id}
|
||||
// Returns userdata, includes project list
|
||||
User.getUserData = (id, send) => {
|
||||
User.findOne({
|
||||
where: { id },
|
||||
include: 'projects',
|
||||
}, (err, result) => {
|
||||
send(err, result);
|
||||
});
|
||||
};
|
||||
|
||||
User.remoteMethod('getUserData', {
|
||||
http: { path: '/:id', verb: 'get' },
|
||||
accepts: { arg: 'id', type: 'string', required: true },
|
||||
returns: [
|
||||
{ arg: 'id', type: 'string', root: true },
|
||||
{ arg: 'username', type: 'string', root: true },
|
||||
{ arg: 'userpic', type: 'string', root: true },
|
||||
{ arg: 'projects', type: ['object'], root: true },
|
||||
],
|
||||
});
|
||||
};
|
||||
@@ -1,50 +0,0 @@
|
||||
{
|
||||
"name": "user",
|
||||
"base": "User",
|
||||
"strict": false,
|
||||
"idInjection": true,
|
||||
"hidden": [
|
||||
"email"
|
||||
],
|
||||
"protected": [
|
||||
"email"
|
||||
],
|
||||
"properties": {
|
||||
"username": {
|
||||
"type": "string",
|
||||
"required": true
|
||||
},
|
||||
"userpic": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"validations": [],
|
||||
"relations": {
|
||||
"projects": {
|
||||
"type": "hasMany",
|
||||
"model": "project",
|
||||
"foreignKey": "ownerId"
|
||||
},
|
||||
"packages": {
|
||||
"type": "hasMany",
|
||||
"model": "package",
|
||||
"foreignKey": "ownerId"
|
||||
}
|
||||
},
|
||||
"acls": [
|
||||
{
|
||||
"accessType": "*",
|
||||
"principalType": "ROLE",
|
||||
"principalId": "$authenticated",
|
||||
"permission": "ALLOW"
|
||||
},
|
||||
{
|
||||
"accessType": "EXECUTE",
|
||||
"principalType": "ROLE",
|
||||
"principalId": "$everyone",
|
||||
"permission": "ALLOW",
|
||||
"property": "signIn"
|
||||
}
|
||||
],
|
||||
"methods": {}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
const loopback = require('loopback');
|
||||
const boot = require('loopback-boot');
|
||||
|
||||
const app = module.exports = loopback();
|
||||
|
||||
// start the web server
|
||||
app.start = () => app.listen(() => {
|
||||
app.emit('started');
|
||||
const baseUrl = app.get('url').replace(/\/$/, '');
|
||||
console.log('Web server listening at: %s', baseUrl);
|
||||
if (app.get('loopback-component-explorer')) {
|
||||
const explorerPath = app.get('loopback-component-explorer').mountPath;
|
||||
console.log('Browse your REST API at %s%s', baseUrl, explorerPath);
|
||||
}
|
||||
});
|
||||
|
||||
// Bootstrap the application, configure models, datasources and middleware.
|
||||
// Sub-apps like REST API are mounted via boot scripts.
|
||||
boot(app, __dirname, (err) => {
|
||||
if (err) throw err;
|
||||
|
||||
// start the server if `$ node server.js`
|
||||
if (require.main === module) {
|
||||
app.start();
|
||||
}
|
||||
});
|
||||
@@ -1,117 +0,0 @@
|
||||
const R = require('ramda');
|
||||
|
||||
const list = [
|
||||
{ name: 'create', isStatic: true },
|
||||
{ name: 'upsert', isStatic: true },
|
||||
{ name: 'updateAll', isStatic: true },
|
||||
{ name: 'updateAttributes', isStatic: false },
|
||||
{ name: 'replaceOrCreate', isStatic: true },
|
||||
{ name: 'createChangeStream', isStatic: true },
|
||||
|
||||
{ name: 'find', isStatic: true },
|
||||
{ name: 'findById', isStatic: true },
|
||||
{ name: 'findOne', isStatic: true },
|
||||
|
||||
{ name: 'deleteById', isStatic: true },
|
||||
|
||||
{ name: 'count', isStatic: true },
|
||||
{ name: 'exists', isStatic: true },
|
||||
|
||||
{ name: 'confirm', isStatic: true },
|
||||
{ name: 'login', isStatic: true },
|
||||
{ name: 'logout', isStatic: true },
|
||||
{ name: 'resetPassword', isStatic: true },
|
||||
|
||||
{ name: '__count__', isStatic: false },
|
||||
{ name: '__create__', isStatic: false },
|
||||
{ name: '__delete__', isStatic: false },
|
||||
{ name: '__destroyById__', isStatic: false },
|
||||
{ name: '__findById__', isStatic: false },
|
||||
{ name: '__get__', isStatic: false },
|
||||
{ name: '__updateById__', isStatic: false },
|
||||
];
|
||||
|
||||
const disable = R.curry(
|
||||
(methods, Model) => {
|
||||
if (!R.isArrayLike(methods)) { return; }
|
||||
|
||||
methods.forEach(method => {
|
||||
Model.disableRemoteMethod(method.name, method.isStatic);
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
// :: ['methodName', ...] -> [{name: methodName, isStatic: boolean}, ...]
|
||||
const get = R.map(
|
||||
R.compose(
|
||||
R.flip(R.find)(list),
|
||||
R.propEq('name')
|
||||
)
|
||||
);
|
||||
|
||||
const reject = R.curry(
|
||||
(methods, Model) => {
|
||||
const listToDisable = get(methods);
|
||||
|
||||
return disable(listToDisable, Model);
|
||||
}
|
||||
);
|
||||
|
||||
const filter = R.curry(
|
||||
(methodsToExpose, Model) => {
|
||||
if (Model && Model.sharedClass) {
|
||||
const publicMethods = methodsToExpose || [];
|
||||
|
||||
const methods = Model.sharedClass.methods();
|
||||
const relationMethods = [];
|
||||
const hiddenMethods = [];
|
||||
|
||||
Object.keys(Model.definition.settings.relations).forEach(relation => {
|
||||
relationMethods.push({ name: `__findById__${relation}`, isStatic: false });
|
||||
relationMethods.push({ name: `__destroyById__${relation}`, isStatic: false });
|
||||
relationMethods.push({ name: `__updateById__${relation}`, isStatic: false });
|
||||
relationMethods.push({ name: `__exists__${relation}`, isStatic: false });
|
||||
relationMethods.push({ name: `__link__${relation}`, isStatic: false });
|
||||
relationMethods.push({ name: `__get__${relation}`, isStatic: false });
|
||||
relationMethods.push({ name: `__create__${relation}`, isStatic: false });
|
||||
relationMethods.push({ name: `__update__${relation}`, isStatic: false });
|
||||
relationMethods.push({ name: `__destroy__${relation}`, isStatic: false });
|
||||
relationMethods.push({ name: `__unlink__${relation}`, isStatic: false });
|
||||
relationMethods.push({ name: `__count__${relation}`, isStatic: false });
|
||||
relationMethods.push({ name: `__delete__${relation}`, isStatic: false });
|
||||
});
|
||||
|
||||
methods.concat(relationMethods).forEach(method => {
|
||||
const methodName = method.name;
|
||||
if (publicMethods.indexOf(methodName) < 0) {
|
||||
hiddenMethods.push(methodName);
|
||||
Model.disableRemoteMethod(methodName, method.isStatic);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
const rejectUnauthorized = (Model) => {
|
||||
const acls = Model.definition.settings.acls || [];
|
||||
let authorizedMethods = [];
|
||||
|
||||
acls.forEach((acl) => {
|
||||
if (acl.permission === 'ALLOW' && acl.property) {
|
||||
if (Array.isArray(acl.property)) {
|
||||
authorizedMethods = authorizedMethods.concat(acl.property);
|
||||
} else if (acl.property !== '*') {
|
||||
authorizedMethods.push(acl.property);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
filter(authorizedMethods, Model);
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
list,
|
||||
reject,
|
||||
rejectUnauthorized,
|
||||
filter,
|
||||
};
|
||||