1
0
Fork 0
mirror of https://github.com/iNavFlight/inav-configurator.git synced 2025-07-23 16:25:19 +03:00

Calibration tab. Squashed commit. Kudos to @DzikuVx, @skaman82, @Afinogen

This commit is contained in:
Konstantin Sharlaimov (DigitalEntity) 2017-12-31 17:19:49 +10:00
parent 35eb73e5cb
commit 9942e9508e
30 changed files with 1270 additions and 47 deletions

View file

@ -68,6 +68,9 @@
"tabSetup": { "tabSetup": {
"message": "Setup" "message": "Setup"
}, },
"tabCalibration": {
"message": "Calibration"
},
"tabConfiguration": { "tabConfiguration": {
"message": "Configuration" "message": "Configuration"
}, },
@ -1891,6 +1894,42 @@
"armingCheckFail": { "armingCheckFail": {
"message": "<div class=\"checksfail\"></div>" "message": "<div class=\"checksfail\"></div>"
}, },
"calibrationHead1": {
"message": "Accelerometer Calibration"
},
"calibrationHead2": {
"message": "Accelerometer Values"
},
"calibrationHead3": {
"message": "Level Calibration"
},
"calibrationHead4": {
"message": "Compass Calibration"
},
"accZero": {
"message": "Acc Zero"
},
"accGain": {
"message": "Acc Gain"
},
"NoteCalibration": {
"message": "Note: If the flightcontroller is mounted in another angle or upside down, do the calibration steps with the flightcontroller pointing as shown in the pictures, not the quad (otherwise calibration won´t work)."
},
"AccBtn": {
"message": "Calibrate Accelerometer"
},
"MagCalText": {
"message": "After pressing the button you have 30 seconds to hold the copter in the air and rotate it so that each side (front, back, left, right, top and bottom) points down towards the earth."
},
"MagBtn": {
"message": "Calibrate Compass"
},
"LevCalText": {
"message": "Please put some Text here…"
},
"LevBtn": {
"message": "Level calibration"
},
"tabPresets": { "tabPresets": {
"message": "Presets" "message": "Presets"
}, },
@ -1915,6 +1954,24 @@
"presetApplyDescription": { "presetApplyDescription": {
"message": "Preset overwrites selected configuration values including mixer, filtering, PIDs and other. Settings like: flight modes, radio settings, failsafe and OSD are not changed. Applied values should <strong>NOT</strong> treated as final values, but entry points for final tuning. <br> Always check new configuration before flying!" "message": "Preset overwrites selected configuration values including mixer, filtering, PIDs and other. Settings like: flight modes, radio settings, failsafe and OSD are not changed. Applied values should <strong>NOT</strong> treated as final values, but entry points for final tuning. <br> Always check new configuration before flying!"
}, },
"OK": {
"message": "OK"
},
"accCalibrationStartTitle": {
"message": "Accelerometer Calibration"
},
"accCalibrationStartBody": {
"message": "Place flight controller in a position showed in image, then press <strong>Calibrate</strong> button again. Repeat for each of 6 position. Keep it stable during calibration."
},
"accCalibrationStopTitle": {
"message": "Calibration finished"
},
"accCalibrationStopBody": {
"message": "Accelerometer calibration finished, check if values have been saved."
},
"accCalibrationProcessing": {
"message": "Processing..."
},
"tabAdvancedTuning": { "tabAdvancedTuning": {
"message": "Advanced tuning" "message": "Advanced tuning"
}, },

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-28 30.3 141.7 141.7" style="enable-background:new -28 30.3 141.7 141.7;" xml:space="preserve">
<style type="text/css">
.st0{fill:#818181;stroke:#818181;stroke-width:5;stroke-miterlimit:10;}
.st1{fill:#818181;}
</style>
<path class="st0" d="M42.2,154.8c-29.8,0-54-24.2-54-54c0-29.8,24.2-54,54-54c29.8,0,54,24.2,54,54S72,154.8,42.2,154.8z M42.2,51.7
c-27,0-49,22-49,49c0,27,22,49,49,49c27,0,49-22,49-49C91.2,73.7,69.2,51.7,42.2,51.7z"/>
<g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</g>
<rect x="39.7" y="34.7" class="st0" width="5" height="132"/>
<rect x="-23.8" y="98.2" class="st0" width="132" height="5"/>
<g>
<g>
<g>
<path class="st1" d="M42.2,100.7l0,33.7c-18.6,0-33.7-15.1-33.7-33.7l0,0L42.2,100.7z"/>
</g>
</g>
<g>
<g>
<path class="st1" d="M42.2,100.7l0-33.7c18.6,0,33.7,15.1,33.7,33.7l0,0L42.2,100.7z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-28 30.3 141.7 141.7" style="enable-background:new -28 30.3 141.7 141.7;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;stroke:#FFFFFF;stroke-width:5;stroke-miterlimit:10;}
</style>
<path class="st0" d="M42.2,154.8c-29.8,0-54-24.2-54-54c0-29.8,24.2-54,54-54c29.8,0,54,24.2,54,54S72,154.8,42.2,154.8z M42.2,51.7
c-27,0-49,22-49,49c0,27,22,49,49,49c27,0,49-22,49-49C91.2,73.7,69.2,51.7,42.2,51.7z"/>
<g>
<g>
<g>
<path class="st0" d="M42.2,100.7l0,33.7c-18.6,0-33.7-15.1-33.7-33.7l0,0L42.2,100.7z"/>
</g>
</g>
<g>
<g>
<path class="st0" d="M42.2,100.7l0-33.7c18.6,0,33.7,15.1,33.7,33.7l0,0L42.2,100.7z"/>
</g>
</g>
</g>
<rect x="39.7" y="34.7" class="st0" width="5" height="132"/>
<rect x="-23.8" y="98.2" class="st0" width="132" height="5"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

11
images/icons/check.svg Normal file
View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-365 365.6 544 544" style="enable-background:new -365 365.6 544 544;" xml:space="preserve">
<style type="text/css">
.st0{fill:#37A8DB;}
</style>
<path class="st0" d="M98.3,828.3c105.6-105.6,105.6-276.9,0-382.5c-105.6-105.6-276.9-105.6-382.5,0
c-105.6,105.6-105.6,276.9,0,382.5C-178.6,934-7.3,934,98.3,828.3L98.3,828.3z M-190,595.7l60.8,60.8L4.1,523.4l47.1,47.1
L-81.9,703.7l-47.2,47.1l-108-108L-190,595.7z M-190,595.7"/>
</svg>

After

Width:  |  Height:  |  Size: 712 B

21
images/icons/pos1.svg Normal file
View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-9 11 180 180" style="enable-background:new -9 11 180 180;" xml:space="preserve">
<style type="text/css">
.st0{fill:#37A8DB;}
.st1{fill:#C1C1C1;}
</style>
<path class="st0" d="M84.3,113.9h10.9c0.6,0,1-0.2,1.5-0.6c0.5-0.3,0.7-0.9,0.7-1.6v-4.3h8.1h12.6c0,0.1,0.1,0.1,0.1,0.2
s0.1,0.1,0.1,0.2l0,0l0.1,0.1c0,0,0.1,0,0.1,0.1c0.1,0,0.1,0.1,0.2,0.1s0.1,0.1,0.2,0.1s0.1,0,0.2,0.1c0.1,0,0.1,0,0.2,0l0,0
c0.1,0,0.1,0,0.2,0c0.1,0,0.1,0,0.2,0h10.8c1.1,0,2.1-0.9,2.1-2.1v-0.7V105v-1c0-1.1-0.9-2.1-2.1-2.1H129l-0.5-0.5v-0.2h0.3v-0.6
h-0.3V100h-1.6l0,0v-3.4h28.9l0,0l0,0l-3.2-2.6h-20.8l-1.7,0.9h-1c0-0.9-0.8-1.7-1.7-1.7l0,0v-1h-0.6c0-1.7-0.8-3-1.7-3H125
c-0.8,0.1-1.5,1.5-1.6,3h-0.6v1l0,0c-0.9,0-1.7,0.8-1.7,1.7h-1l-1.7-0.9H97.6l-3.2,2.6h28.9v3.4h-2.1v0.8H121v0.6h0.2v0.7H120
c-0.8,0-1.4,0.3-1.8,0.9l-18.8-1.8l-15.8-1.6l-3.2-0.3l0,0l0,0l0,0l0,0l-4.6,0.5l-5.8,0.5l-26.3,2.6l-0.8,0.1l0,0
c-0.3-0.6-1-0.9-1.8-0.9h-1.7v-0.7h0.2v-0.6h-0.2V100h-2.1v-3.4h-1.6h-0.2l0,0h0.3l0,0l0,0h30.5L63.1,94H42.3l-1.7,1h-1
c0-0.9-0.8-1.7-1.7-1.7l0,0v-1h-0.6c0-1.6-0.7-2.9-1.6-3h-0.1c-0.9,0-1.7,1.4-1.7,3h-0.6v1l0,0c-0.9,0-1.7,0.8-1.7,1.7h-1L29,94.1
H8.2L5,96.7l0,0l0,0h29v3.3h-1.7v0.8H32v0.6h0.3v0.7h-1.9c-1.1,0-2.1,0.9-2.1,2.1v1v1c0,1.1,0.9,2.1,2.1,2.1h10.8
c0.7,0,1.4-0.3,1.7-0.9h5.2h15.5v4.3c0,0.1,0,0.1,0,0.2v0.1v0.1v0.1l0,0c0,0.1,0,0.1,0.1,0.2l0,0c0,0.1,0.1,0.1,0.1,0.2l0,0
c0.1,0.2,0.2,0.3,0.3,0.5c0.3,0.3,0.9,0.6,1.5,0.6h12.5"/>
<path class="st1" d="M156,122H4c-0.6,0-1-0.4-1-1s0.4-1,1-1h152c0.6,0,1,0.4,1,1S156.6,122,156,122z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-9 11 180 180" style="enable-background:new -9 11 180 180;" xml:space="preserve">
<style type="text/css">
.st0{fill:#C1C1C1;}
</style>
<path class="st0" d="M84.3,113.9h10.9c0.6,0,1-0.2,1.5-0.6c0.5-0.3,0.7-0.9,0.7-1.6v-4.3h8.1h12.6c0,0.1,0.1,0.1,0.1,0.2
s0.1,0.1,0.1,0.2l0,0l0.1,0.1c0,0,0.1,0,0.1,0.1c0.1,0,0.1,0.1,0.2,0.1s0.1,0.1,0.2,0.1s0.1,0,0.2,0.1c0.1,0,0.1,0,0.2,0l0,0
c0.1,0,0.1,0,0.2,0c0.1,0,0.1,0,0.2,0h10.8c1.1,0,2.1-0.9,2.1-2.1v-0.7V105v-1c0-1.1-0.9-2.1-2.1-2.1H129l-0.5-0.5v-0.2h0.3v-0.6
h-0.3V100h-1.6l0,0v-3.4h28.9l0,0l0,0l-3.2-2.6h-20.8l-1.7,0.9h-1c0-0.9-0.8-1.7-1.7-1.7l0,0v-1h-0.6c0-1.7-0.8-3-1.7-3H125
c-0.8,0.1-1.5,1.5-1.6,3h-0.6v1l0,0c-0.9,0-1.7,0.8-1.7,1.7h-1l-1.7-0.9H97.6l-3.2,2.6h28.9v3.4h-2.1v0.8H121v0.6h0.2v0.7H120
c-0.8,0-1.4,0.3-1.8,0.9l-18.8-1.8l-15.8-1.6l-3.2-0.3l0,0l0,0l0,0l0,0l-4.6,0.5l-5.8,0.5l-26.3,2.6l-0.8,0.1l0,0
c-0.3-0.6-1-0.9-1.8-0.9h-1.7v-0.7h0.2v-0.6h-0.2V100h-2.1v-3.4h-1.6h-0.2l0,0h0.3l0,0l0,0h30.5L63.1,94H42.3l-1.7,1h-1
c0-0.9-0.8-1.7-1.7-1.7l0,0v-1h-0.6c0-1.6-0.7-2.9-1.6-3h-0.1c-0.9,0-1.7,1.4-1.7,3h-0.6v1l0,0c-0.9,0-1.7,0.8-1.7,1.7h-1L29,94.1
H8.2L5,96.7l0,0l0,0h29v3.3h-1.7v0.8H32v0.6h0.3v0.7h-1.9c-1.1,0-2.1,0.9-2.1,2.1v1v1c0,1.1,0.9,2.1,2.1,2.1h10.8
c0.7,0,1.4-0.3,1.7-0.9h5.2h15.5v4.3c0,0.1,0,0.1,0,0.2v0.1v0.1v0.1l0,0c0,0.1,0,0.1,0.1,0.2l0,0c0,0.1,0.1,0.1,0.1,0.2l0,0
c0.1,0.2,0.2,0.3,0.3,0.5c0.3,0.3,0.9,0.6,1.5,0.6h12.5"/>
<path class="st0" d="M156,122H4c-0.6,0-1-0.4-1-1s0.4-1,1-1h152c0.6,0,1,0.4,1,1S156.6,122,156,122z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

21
images/icons/pos2.svg Normal file
View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-9 11 180 180" style="enable-background:new -9 11 180 180;" xml:space="preserve">
<style type="text/css">
.st0{fill:#37A8DB;}
.st1{fill:#C1C1C1;}
</style>
<path class="st0" d="M76.9,89.2H66c-0.6,0-1,0.2-1.5,0.6c-0.5,0.3-0.7,0.9-0.7,1.6v4.3h-8.1H43.1c0-0.1-0.1-0.1-0.1-0.2
s-0.1-0.1-0.1-0.2l0,0l-0.1-0.1c0,0-0.1,0-0.1-0.1c-0.1,0-0.1-0.1-0.2-0.1c-0.1,0-0.1-0.1-0.2-0.1c-0.1,0-0.1,0-0.2-0.1
c-0.1,0-0.1,0-0.2,0l0,0c-0.1,0-0.1,0-0.2,0c-0.1,0-0.1,0-0.2,0h-11c-1.1,0-2.1,0.9-2.1,2.1v0.7v0.5v1c0,1.1,0.9,2.1,2.1,2.1H32
l0.5,0.5v0.2h-0.3v0.6h0.3v0.8H34l0,0v3.4H5.1l0,0l0,0l3.2,2.6L29,109l1.7-0.9h1c0,0.9,0.8,1.7,1.7,1.7l0,0v1H34c0,1.7,0.8,3,1.7,3
h0.1c0.8-0.1,1.5-1.5,1.6-3H38v-1l0,0c0.9,0,1.7-0.8,1.7-1.7h1l1.7,0.9h20.8l3.2-2.6H37.5V103h2.1v-0.8h0.2v-0.6h-0.2V101h1.7
c0.8,0,1.4-0.3,1.8-0.9l18.8,1.8l15.8,1.6l3.2,0.3l0,0l0,0l0,0l0,0l4.6-0.5l5.9-0.6l26.3-2.6l0.8-0.1l0,0c0.3,0.6,1,0.9,1.8,0.9h1.7
v0.7h-0.2v0.6h0.2v0.8h2.1v3.4h1.6h0.2l0,0h-0.3l0,0l0,0H95.1l3.2,2.6h20.8l1.7-0.9h1c0,0.9,0.8,1.7,1.7,1.7l0,0v1h0.6
c0,1.6,0.7,2.9,1.6,3h0.1c0.9,0,1.7-1.4,1.7-3h0.6v-1l0,0c0.9,0,1.7-0.8,1.7-1.7h1l1.7,0.9h20.8l3.2-2.6l0,0l0,0h-28.9V103h1.7v-0.8
h0.3v-0.6h-0.3V101h1.9c1.1,0,2.1-0.9,2.1-2.1v-1v-1c0-1.1-0.9-2.1-2.1-2.1H120c-0.7,0-1.4,0.3-1.7,0.9h-5.2H97.6v-4.3
c0-0.1,0-0.1,0-0.2V91v-0.1v-0.1l0,0c0-0.1,0-0.1-0.1-0.2l0,0c0-0.1-0.1-0.1-0.1-0.2l0,0c-0.1-0.2-0.2-0.3-0.3-0.5
c-0.3-0.3-0.9-0.6-1.5-0.6H83.1"/>
<path class="st1" d="M156,122H4c-0.6,0-1-0.4-1-1s0.4-1,1-1h152c0.6,0,1,0.4,1,1S156.6,122,156,122z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-9 11 180 180" style="enable-background:new -9 11 180 180;" xml:space="preserve">
<style type="text/css">
.st0{fill:#C1C1C1;}
</style>
<path class="st0" d="M76.9,89.2H66c-0.6,0-1,0.2-1.5,0.6c-0.5,0.3-0.7,0.9-0.7,1.6v4.3h-8.1H43.1c0-0.1-0.1-0.1-0.1-0.2
s-0.1-0.1-0.1-0.2l0,0l-0.1-0.1c0,0-0.1,0-0.1-0.1c-0.1,0-0.1-0.1-0.2-0.1c-0.1,0-0.1-0.1-0.2-0.1c-0.1,0-0.1,0-0.2-0.1
c-0.1,0-0.1,0-0.2,0l0,0c-0.1,0-0.1,0-0.2,0c-0.1,0-0.1,0-0.2,0h-11c-1.1,0-2.1,0.9-2.1,2.1v0.7v0.5v1c0,1.1,0.9,2.1,2.1,2.1H32
l0.5,0.5v0.2h-0.3v0.6h0.3v0.8H34l0,0v3.4H5.1l0,0l0,0l3.2,2.6L29,109l1.7-0.9h1c0,0.9,0.8,1.7,1.7,1.7l0,0v1H34c0,1.7,0.8,3,1.7,3
h0.1c0.8-0.1,1.5-1.5,1.6-3H38v-1l0,0c0.9,0,1.7-0.8,1.7-1.7h1l1.7,0.9h20.8l3.2-2.6H37.5V103h2.1v-0.8h0.2v-0.6h-0.2V101h1.7
c0.8,0,1.4-0.3,1.8-0.9l18.8,1.8l15.8,1.6l3.2,0.3l0,0l0,0l0,0l0,0l4.6-0.5l5.9-0.6l26.3-2.6l0.8-0.1l0,0c0.3,0.6,1,0.9,1.8,0.9h1.7
v0.7h-0.2v0.6h0.2v0.8h2.1v3.4h1.6h0.2l0,0h-0.3l0,0l0,0H95.1l3.2,2.6h20.8l1.7-0.9h1c0,0.9,0.8,1.7,1.7,1.7l0,0v1h0.6
c0,1.6,0.7,2.9,1.6,3h0.1c0.9,0,1.7-1.4,1.7-3h0.6v-1l0,0c0.9,0,1.7-0.8,1.7-1.7h1l1.7,0.9h20.8l3.2-2.6l0,0l0,0h-28.9V103h1.7v-0.8
h0.3v-0.6h-0.3V101h1.9c1.1,0,2.1-0.9,2.1-2.1v-1v-1c0-1.1-0.9-2.1-2.1-2.1H120c-0.7,0-1.4,0.3-1.7,0.9h-5.2H97.6v-4.3
c0-0.1,0-0.1,0-0.2V91v-0.1v-0.1l0,0c0-0.1,0-0.1-0.1-0.2l0,0c0-0.1-0.1-0.1-0.1-0.2l0,0c-0.1-0.2-0.2-0.3-0.3-0.5
c-0.3-0.3-0.9-0.6-1.5-0.6H83.1"/>
<path class="st0" d="M156,122H4c-0.6,0-1-0.4-1-1s0.4-1,1-1h152c0.6,0,1,0.4,1,1S156.6,122,156,122z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

49
images/icons/pos3.svg Normal file
View file

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-9 11 180 180" style="enable-background:new -9 11 180 180;" xml:space="preserve">
<style type="text/css">
.st0{fill:#37A8DB;}
.st1{fill:#C1C1C1;}
</style>
<g>
<path class="st0" d="M92.4,101.6l-20.8,11.2l3.3-11.1l-3.3-11.1L92.4,101.6z"/>
<g>
<g>
<g>
<path class="st0" d="M126.2,61.7c0,3.4-2.2,6.5-5.4,7.8c-6.7,4-9.5,7.4-13.8,12.5l-1.3,1.6c-5.2,6.6-8,13.5-8,16.8v0.7
c0,3.3,2.8,10.2,8,16.9c5.1,6.5,8.1,9.8,15.1,14.1c3.2,1.2,5.4,4.4,5.4,7.8c0,4.7-3.5,8.2-8.2,8.2c-3.1,0-6.3-2-7.4-4.7
l-0.1-0.1c-0.1-0.1-0.3-0.4-0.3-0.7c-2.5-5.6-4.5-9.3-11.9-13.8c-1.3-0.7-2.5-1.4-3.6-2c-5.4-3.2-8.7-5.1-13.1-5.3
c-5.4,0.3-9,2.5-16.2,7l-0.7,0.4c-7.5,4.6-9.5,8.4-11.9,14.1c-0.1,0.3-0.2,0.6-0.3,0.7l-0.1,0.1c-1.2,2.7-4.3,4.7-7.4,4.7
c-4.7,0-8.2-3.5-8.2-8.2c0-3.4,2.2-6.5,5.4-7.8c6.7-4,9.5-7.4,13.8-12.5l1.3-1.6c5.2-6.6,8-13.5,8-16.8v-0.7
c0-3.3-2.8-10.2-8-16.9c-5.1-6.5-8.1-9.8-15.1-14.1c-3.2-1.2-5.4-4.4-5.4-7.8c0-4.7,3.5-8.2,8.2-8.2c3.1,0,6.3,2,7.4,4.7
l0.1,0.1c0.1,0.1,0.3,0.4,0.3,0.7c2.2,5.1,4.2,9.5,11.9,13.8c1.3,0.7,2.5,1.4,3.6,2.1c5.4,3.2,8.7,5.1,13.1,5.3
c5.4-0.3,9-2.5,16.2-7l0.7-0.4c7.4-4.5,9.4-8.2,11.9-13.8c0.1-0.3,0.2-0.5,0.3-0.7l0.1-0.1c1.1-2.6,4.1-4.7,7.3-5.1l0.1,0
C122.7,53.5,126.2,57.1,126.2,61.7z M95.7,101.2v-0.7c0-4.4,3.5-11.8,8.4-18.1l1.3-1.6c4.4-5.3,7.3-8.9,14.4-13l0.2-0.1
c2.4-0.9,4.2-3.4,4.2-5.9c0-3.5-2.6-6.2-6.1-6.2c-2.5,0.3-4.7,1.8-5.6,3.7c-0.1,0.3-0.2,0.5-0.3,0.7l-0.1,0.1
c-2.6,5.8-4.8,10-12.7,14.9l-0.7,0.4C91,80,87.3,82.3,81.4,82.6l-0.1,0l-0.1,0c-4.8-0.3-8.3-2.3-14-5.6
c-1.1-0.6-2.3-1.3-3.6-2.1c-8.3-4.7-10.5-9.6-12.8-14.9l-0.1-0.1c-0.1-0.1-0.3-0.4-0.3-0.7c-0.9-2-3.2-3.4-5.5-3.4
c-3.5,0-6.2,2.7-6.2,6.2c0,2.6,1.7,5,4.2,5.9l0.2,0.1c7.3,4.5,10.5,8.1,15.7,14.6c5,6.3,8.4,13.7,8.4,18.1v0.7
c0,4.4-3.5,11.8-8.4,18.1l-1.3,1.6c-4.4,5.3-7.3,8.9-14.4,13l-0.2,0.1c-2.4,0.9-4.2,3.4-4.2,5.9c0,3.5,2.7,6.2,6.2,6.2
c2.3,0,4.6-1.4,5.5-3.4c0.1-0.3,0.2-0.5,0.3-0.7l0-0.1c2.5-6,4.7-10.3,12.7-15.2l0.7-0.4c7.5-4.6,11.3-6.9,17.2-7.2l0.1,0l0.1,0
c4.8,0.3,8.3,2.3,14,5.6c1.1,0.6,2.3,1.3,3.6,2.1c7.9,4.8,10.2,9,12.8,14.9l0.1,0.1c0.1,0.1,0.3,0.4,0.3,0.7
c0.9,2,3.2,3.4,5.5,3.4c3.5,0,6.2-2.7,6.2-6.2c0-2.6-1.7-5-4.2-5.9l-0.2-0.1c-7.3-4.5-10.5-8.1-15.7-14.6
C99.2,113,95.7,105.5,95.7,101.2z"/>
</g>
</g>
<path class="st0" d="M61.1,136.5c0.3,1,0.3,2.4,0.3,3.4c0,9.3-7.5,16.5-16.5,16.5c-8.9,0-16.5-7.5-16.5-16.5
c0-8.9,7.5-16.5,16.5-16.5c0.7,0,1.4,0,2.4,0.3l2.1-3.1c-1.4-0.3-2.7-0.3-4.5-0.3c-11,0-19.9,8.9-19.9,19.9
c0,11,8.9,19.9,19.9,19.9c11,0,19.9-8.9,19.9-19.9c0-2.1-0.3-3.8-0.7-5.8L61.1,136.5z"/>
<path class="st0" d="M25.1,61.7c0,11,8.9,19.9,19.9,19.9c1.7,0,3.1-0.3,4.5-0.7l-2.1-3.1c-0.7,0-1.7,0.3-2.4,0.3
c-9.3,0-16.5-7.5-16.5-16.5S36,45.3,45,45.3s16.5,7.5,16.5,16.5c0,1,0,2.1-0.3,3.4l3.1,2.1c0.3-1.7,0.7-3.4,0.7-5.5
c0-11-8.9-19.9-19.9-19.9C34,41.9,25.1,50.8,25.1,61.7z"/>
<path class="st0" d="M102.2,136.5c-0.3,1-0.3,2.4-0.3,3.4c0,9.3,7.5,16.5,16.5,16.5c8.9,0,16.5-7.5,16.5-16.5s-7.5-16.5-16.5-16.5
c-0.7,0-1.4,0-2.4,0.3l-2.1-3.1c1.4-0.3,2.7-0.3,4.5-0.3c11,0,19.9,8.9,19.9,19.9c0,11-8.9,19.9-19.9,19.9
c-11,0-19.9-8.9-19.9-19.9c0-2.1,0.3-3.8,0.7-5.8L102.2,136.5z"/>
<path class="st0" d="M138.2,61.7c0,11-8.9,19.9-19.9,19.9c-1.7,0-3.1-0.3-4.5-0.7l2.1-3.1c0.7,0,1.7,0.3,2.4,0.3
c9.3,0,16.5-7.5,16.5-16.5c0-8.9-7.5-16.5-16.5-16.5c-8.9,0-16.5,7.5-16.5,16.5c0,1,0,2.1,0.3,3.4l-3.1,2.1
c-0.3-1.7-0.7-3.4-0.7-5.5c0-11,8.9-19.9,19.9-19.9C129.3,41.9,138.2,50.8,138.2,61.7z"/>
</g>
</g>
<path class="st1" d="M157,165H5c-0.6,0-1-0.4-1-1s0.4-1,1-1h152c0.6,0,1,0.4,1,1S157.6,165,157,165z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-9 11 180 180" style="enable-background:new -9 11 180 180;" xml:space="preserve">
<style type="text/css">
.st0{fill:#C1C1C1;}
</style>
<g>
<path class="st0" d="M92.4,101.6l-20.8,11.2l3.3-11.1l-3.3-11.1L92.4,101.6z"/>
<g>
<g>
<g>
<path class="st0" d="M126.2,61.7c0,3.4-2.2,6.5-5.4,7.8c-6.7,4-9.5,7.4-13.8,12.5l-1.3,1.6c-5.2,6.6-8,13.5-8,16.8v0.7
c0,3.3,2.8,10.2,8,16.9c5.1,6.5,8.1,9.8,15.1,14.1c3.2,1.2,5.4,4.4,5.4,7.8c0,4.7-3.5,8.2-8.2,8.2c-3.1,0-6.3-2-7.4-4.7
l-0.1-0.1c-0.1-0.1-0.3-0.4-0.3-0.7c-2.5-5.6-4.5-9.3-11.9-13.8c-1.3-0.7-2.5-1.4-3.6-2c-5.4-3.2-8.7-5.1-13.1-5.3
c-5.4,0.3-9,2.5-16.2,7l-0.7,0.4c-7.5,4.6-9.5,8.4-11.9,14.1c-0.1,0.3-0.2,0.6-0.3,0.7l-0.1,0.1c-1.2,2.7-4.3,4.7-7.4,4.7
c-4.7,0-8.2-3.5-8.2-8.2c0-3.4,2.2-6.5,5.4-7.8c6.7-4,9.5-7.4,13.8-12.5l1.3-1.6c5.2-6.6,8-13.5,8-16.8v-0.7
c0-3.3-2.8-10.2-8-16.9c-5.1-6.5-8.1-9.8-15.1-14.1c-3.2-1.2-5.4-4.4-5.4-7.8c0-4.7,3.5-8.2,8.2-8.2c3.1,0,6.3,2,7.4,4.7
l0.1,0.1c0.1,0.1,0.3,0.4,0.3,0.7c2.2,5.1,4.2,9.5,11.9,13.8c1.3,0.7,2.5,1.4,3.6,2.1c5.4,3.2,8.7,5.1,13.1,5.3
c5.4-0.3,9-2.5,16.2-7l0.7-0.4c7.4-4.5,9.4-8.2,11.9-13.8c0.1-0.3,0.2-0.5,0.3-0.7l0.1-0.1c1.1-2.6,4.1-4.7,7.3-5.1l0.1,0
C122.7,53.5,126.2,57.1,126.2,61.7z M95.7,101.2v-0.7c0-4.4,3.5-11.8,8.4-18.1l1.3-1.6c4.4-5.3,7.3-8.9,14.4-13l0.2-0.1
c2.4-0.9,4.2-3.4,4.2-5.9c0-3.5-2.6-6.2-6.1-6.2c-2.5,0.3-4.7,1.8-5.6,3.7c-0.1,0.3-0.2,0.5-0.3,0.7l-0.1,0.1
c-2.6,5.8-4.8,10-12.7,14.9l-0.7,0.4C91,80,87.3,82.3,81.4,82.6l-0.1,0l-0.1,0c-4.8-0.3-8.3-2.3-14-5.6
c-1.1-0.6-2.3-1.3-3.6-2.1c-8.3-4.7-10.5-9.6-12.8-14.9l-0.1-0.1c-0.1-0.1-0.3-0.4-0.3-0.7c-0.9-2-3.2-3.4-5.5-3.4
c-3.5,0-6.2,2.7-6.2,6.2c0,2.6,1.7,5,4.2,5.9l0.2,0.1c7.3,4.5,10.5,8.1,15.7,14.6c5,6.3,8.4,13.7,8.4,18.1v0.7
c0,4.4-3.5,11.8-8.4,18.1l-1.3,1.6c-4.4,5.3-7.3,8.9-14.4,13l-0.2,0.1c-2.4,0.9-4.2,3.4-4.2,5.9c0,3.5,2.7,6.2,6.2,6.2
c2.3,0,4.6-1.4,5.5-3.4c0.1-0.3,0.2-0.5,0.3-0.7l0-0.1c2.5-6,4.7-10.3,12.7-15.2l0.7-0.4c7.5-4.6,11.3-6.9,17.2-7.2l0.1,0l0.1,0
c4.8,0.3,8.3,2.3,14,5.6c1.1,0.6,2.3,1.3,3.6,2.1c7.9,4.8,10.2,9,12.8,14.9l0.1,0.1c0.1,0.1,0.3,0.4,0.3,0.7
c0.9,2,3.2,3.4,5.5,3.4c3.5,0,6.2-2.7,6.2-6.2c0-2.6-1.7-5-4.2-5.9l-0.2-0.1c-7.3-4.5-10.5-8.1-15.7-14.6
C99.2,113,95.7,105.5,95.7,101.2z"/>
</g>
</g>
<path class="st0" d="M61.1,136.5c0.3,1,0.3,2.4,0.3,3.4c0,9.3-7.5,16.5-16.5,16.5c-8.9,0-16.5-7.5-16.5-16.5
c0-8.9,7.5-16.5,16.5-16.5c0.7,0,1.4,0,2.4,0.3l2.1-3.1c-1.4-0.3-2.7-0.3-4.5-0.3c-11,0-19.9,8.9-19.9,19.9
c0,11,8.9,19.9,19.9,19.9c11,0,19.9-8.9,19.9-19.9c0-2.1-0.3-3.8-0.7-5.8L61.1,136.5z"/>
<path class="st0" d="M25.1,61.7c0,11,8.9,19.9,19.9,19.9c1.7,0,3.1-0.3,4.5-0.7l-2.1-3.1c-0.7,0-1.7,0.3-2.4,0.3
c-9.3,0-16.5-7.5-16.5-16.5S36,45.3,45,45.3s16.5,7.5,16.5,16.5c0,1,0,2.1-0.3,3.4l3.1,2.1c0.3-1.7,0.7-3.4,0.7-5.5
c0-11-8.9-19.9-19.9-19.9C34,41.9,25.1,50.8,25.1,61.7z"/>
<path class="st0" d="M102.2,136.5c-0.3,1-0.3,2.4-0.3,3.4c0,9.3,7.5,16.5,16.5,16.5c8.9,0,16.5-7.5,16.5-16.5s-7.5-16.5-16.5-16.5
c-0.7,0-1.4,0-2.4,0.3l-2.1-3.1c1.4-0.3,2.7-0.3,4.5-0.3c11,0,19.9,8.9,19.9,19.9c0,11-8.9,19.9-19.9,19.9
c-11,0-19.9-8.9-19.9-19.9c0-2.1,0.3-3.8,0.7-5.8L102.2,136.5z"/>
<path class="st0" d="M138.2,61.7c0,11-8.9,19.9-19.9,19.9c-1.7,0-3.1-0.3-4.5-0.7l2.1-3.1c0.7,0,1.7,0.3,2.4,0.3
c9.3,0,16.5-7.5,16.5-16.5c0-8.9-7.5-16.5-16.5-16.5c-8.9,0-16.5,7.5-16.5,16.5c0,1,0,2.1,0.3,3.4l-3.1,2.1
c-0.3-1.7-0.7-3.4-0.7-5.5c0-11,8.9-19.9,19.9-19.9C129.3,41.9,138.2,50.8,138.2,61.7z"/>
</g>
</g>
<path class="st0" d="M157,165H5c-0.6,0-1-0.4-1-1s0.4-1,1-1h152c0.6,0,1,0.4,1,1S157.6,165,157,165z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

49
images/icons/pos4.svg Normal file
View file

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-9 11 180 180" style="enable-background:new -9 11 180 180;" xml:space="preserve">
<style type="text/css">
.st0{fill:#37A8DB;}
.st1{fill:#C1C1C1;}
</style>
<g>
<path class="st0" d="M82.2,90.3l11.2,20.8l-11.1-3.3l-11.1,3.3L82.2,90.3z"/>
<g>
<g>
<g>
<path class="st0" d="M42.4,56.5c3.4,0,6.5,2.2,7.8,5.4c4,6.7,7.4,9.5,12.5,13.8l1.6,1.3c6.6,5.2,13.5,8,16.8,8h0.7
c3.3,0,10.2-2.8,16.9-8c6.5-5.1,9.8-8.1,14.1-15.1c1.2-3.2,4.4-5.4,7.8-5.4c4.7,0,8.2,3.5,8.2,8.2c0,3.1-2,6.3-4.7,7.4l-0.1,0.1
c-0.1,0.1-0.4,0.3-0.7,0.3c-5.6,2.5-9.3,4.5-13.8,11.9c-0.7,1.3-1.4,2.5-2,3.6c-3.2,5.4-5.1,8.7-5.3,13.1c0.3,5.4,2.5,9,7,16.2
l0.4,0.7c4.6,7.5,8.4,9.5,14.1,11.9c0.3,0.1,0.6,0.2,0.7,0.3l0.1,0.1c2.7,1.2,4.7,4.3,4.7,7.4c0,4.7-3.5,8.2-8.2,8.2
c-3.4,0-6.5-2.2-7.8-5.4c-4-6.7-7.4-9.5-12.5-13.8l-1.6-1.3c-6.6-5.2-13.5-8-16.8-8h-0.7c-3.3,0-10.2,2.8-16.9,8
c-6.5,5.1-9.8,8.1-14.1,15.1c-1.2,3.2-4.4,5.4-7.8,5.4c-4.7,0-8.2-3.5-8.2-8.2c0-3.1,2-6.3,4.7-7.4l0.1-0.1
c0.1-0.1,0.4-0.3,0.7-0.3c5.1-2.2,9.5-4.2,13.8-11.9c0.7-1.3,1.4-2.5,2.1-3.6c3.2-5.4,5.1-8.7,5.3-13.1c-0.3-5.4-2.5-9-7-16.2
l-0.4-0.7c-4.5-7.4-8.2-9.4-13.8-11.9c-0.3-0.1-0.5-0.2-0.7-0.3l-0.1-0.1c-2.6-1.1-4.7-4.1-5.1-7.3l0-0.1
C34.2,60,37.7,56.5,42.4,56.5z M81.8,86.9h-0.7c-4.4,0-11.8-3.5-18.1-8.4l-1.6-1.3c-5.3-4.4-8.9-7.3-13-14.4l-0.1-0.2
c-0.9-2.4-3.4-4.2-5.9-4.2c-3.5,0-6.2,2.6-6.2,6.1c0.3,2.5,1.8,4.7,3.7,5.6c0.3,0.1,0.5,0.2,0.7,0.3l0.1,0.1
c5.8,2.6,10,4.8,14.9,12.7l0.4,0.7c4.6,7.5,6.9,11.3,7.2,17.2l0,0.1l0,0.1c-0.3,4.8-2.3,8.3-5.6,14c-0.6,1.1-1.3,2.3-2.1,3.6
c-4.7,8.3-9.6,10.5-14.9,12.8l-0.1,0.1c-0.1,0.1-0.4,0.3-0.7,0.3c-2,0.9-3.4,3.2-3.4,5.5c0,3.5,2.7,6.2,6.2,6.2
c2.6,0,5-1.7,5.9-4.2l0.1-0.2c4.5-7.3,8.1-10.5,14.6-15.7c6.3-5,13.7-8.4,18.1-8.4l0.7,0c4.4,0,11.8,3.5,18.1,8.4l1.6,1.3
c5.3,4.4,8.9,7.3,13,14.4l0.1,0.2c0.9,2.4,3.4,4.2,5.9,4.2c3.5,0,6.2-2.7,6.2-6.2c0-2.3-1.4-4.6-3.4-5.5
c-0.3-0.1-0.5-0.2-0.7-0.3l-0.1,0c-6-2.5-10.3-4.7-15.2-12.7l-0.4-0.7c-4.6-7.5-6.9-11.3-7.2-17.2l0-0.1l0-0.1
c0.3-4.8,2.3-8.3,5.6-14c0.6-1.1,1.3-2.3,2.1-3.6c4.8-7.9,9-10.2,14.9-12.8l0.1-0.1c0.1-0.1,0.4-0.3,0.7-0.3
c2-0.9,3.4-3.2,3.4-5.5c0-3.5-2.7-6.2-6.2-6.2c-2.6,0-5,1.7-5.9,4.2l-0.1,0.2c-4.5,7.3-8.1,10.5-14.6,15.7
C93.6,83.4,86.2,86.9,81.8,86.9z"/>
</g>
</g>
<path class="st0" d="M117.1,121.6c1-0.3,2.4-0.3,3.4-0.3c9.3,0,16.5,7.5,16.5,16.5c0,8.9-7.5,16.5-16.5,16.5s-16.5-7.5-16.5-16.5
c0-0.7,0-1.4,0.3-2.4l-3.1-2.1c-0.3,1.4-0.3,2.7-0.3,4.5c0,11,8.9,19.9,19.9,19.9s19.9-8.9,19.9-19.9c0-11-8.9-19.9-19.9-19.9
c-2.1,0-3.8,0.3-5.8,0.7L117.1,121.6z"/>
<path class="st0" d="M42.4,157.6c11,0,19.9-8.9,19.9-19.9c0-1.7-0.3-3.1-0.7-4.5l-3.1,2.1c0,0.7,0.3,1.7,0.3,2.4
c0,9.3-7.5,16.5-16.5,16.5s-16.5-7.5-16.5-16.5c0-8.9,7.5-16.5,16.5-16.5c1,0,2.1,0,3.4,0.3l2.1-3.1c-1.7-0.3-3.4-0.7-5.5-0.7
c-11,0-19.9,8.9-19.9,19.9C22.5,148.7,31.4,157.6,42.4,157.6z"/>
<path class="st0" d="M117.1,80.4c1,0.3,2.4,0.3,3.4,0.3c9.3,0,16.5-7.5,16.5-16.5c0-8.9-7.5-16.5-16.5-16.5
c-8.9,0-16.5,7.5-16.5,16.5c0,0.7,0,1.4,0.3,2.4l-3.1,2.1c-0.3-1.4-0.3-2.7-0.3-4.5c0-11,8.9-19.9,19.9-19.9s19.9,8.9,19.9,19.9
s-8.9,19.9-19.9,19.9c-2.1,0-3.8-0.3-5.8-0.7L117.1,80.4z"/>
<path class="st0" d="M42.4,44.4c11,0,19.9,8.9,19.9,19.9c0,1.7-0.3,3.1-0.7,4.5l-3.1-2.1c0-0.7,0.3-1.7,0.3-2.4
c0-9.3-7.5-16.5-16.5-16.5c-8.9,0-16.5,7.5-16.5,16.5c0,8.9,7.5,16.5,16.5,16.5c1,0,2.1,0,3.4-0.3l2.1,3.1
c-1.7,0.3-3.4,0.7-5.5,0.7c-11,0-19.9-8.9-19.9-19.9C22.5,53.3,31.4,44.4,42.4,44.4z"/>
</g>
</g>
<path class="st1" d="M157,165H5c-0.6,0-1-0.4-1-1s0.4-1,1-1h152c0.6,0,1,0.4,1,1S157.6,165,157,165z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-9 11 180 180" style="enable-background:new -9 11 180 180;" xml:space="preserve">
<style type="text/css">
.st0{fill:#C1C1C1;}
</style>
<g>
<path class="st0" d="M82.2,90.3l11.2,20.8l-11.1-3.3l-11.1,3.3L82.2,90.3z"/>
<g>
<g>
<g>
<path class="st0" d="M42.4,56.5c3.4,0,6.5,2.2,7.8,5.4c4,6.7,7.4,9.5,12.5,13.8l1.6,1.3c6.6,5.2,13.5,8,16.8,8h0.7
c3.3,0,10.2-2.8,16.9-8c6.5-5.1,9.8-8.1,14.1-15.1c1.2-3.2,4.4-5.4,7.8-5.4c4.7,0,8.2,3.5,8.2,8.2c0,3.1-2,6.3-4.7,7.4l-0.1,0.1
c-0.1,0.1-0.4,0.3-0.7,0.3c-5.6,2.5-9.3,4.5-13.8,11.9c-0.7,1.3-1.4,2.5-2,3.6c-3.2,5.4-5.1,8.7-5.3,13.1c0.3,5.4,2.5,9,7,16.2
l0.4,0.7c4.6,7.5,8.4,9.5,14.1,11.9c0.3,0.1,0.6,0.2,0.7,0.3l0.1,0.1c2.7,1.2,4.7,4.3,4.7,7.4c0,4.7-3.5,8.2-8.2,8.2
c-3.4,0-6.5-2.2-7.8-5.4c-4-6.7-7.4-9.5-12.5-13.8l-1.6-1.3c-6.6-5.2-13.5-8-16.8-8h-0.7c-3.3,0-10.2,2.8-16.9,8
c-6.5,5.1-9.8,8.1-14.1,15.1c-1.2,3.2-4.4,5.4-7.8,5.4c-4.7,0-8.2-3.5-8.2-8.2c0-3.1,2-6.3,4.7-7.4l0.1-0.1
c0.1-0.1,0.4-0.3,0.7-0.3c5.1-2.2,9.5-4.2,13.8-11.9c0.7-1.3,1.4-2.5,2.1-3.6c3.2-5.4,5.1-8.7,5.3-13.1c-0.3-5.4-2.5-9-7-16.2
l-0.4-0.7c-4.5-7.4-8.2-9.4-13.8-11.9c-0.3-0.1-0.5-0.2-0.7-0.3l-0.1-0.1c-2.6-1.1-4.7-4.1-5.1-7.3l0-0.1
C34.2,60,37.7,56.5,42.4,56.5z M81.8,86.9h-0.7c-4.4,0-11.8-3.5-18.1-8.4l-1.6-1.3c-5.3-4.4-8.9-7.3-13-14.4l-0.1-0.2
c-0.9-2.4-3.4-4.2-5.9-4.2c-3.5,0-6.2,2.6-6.2,6.1c0.3,2.5,1.8,4.7,3.7,5.6c0.3,0.1,0.5,0.2,0.7,0.3l0.1,0.1
c5.8,2.6,10,4.8,14.9,12.7l0.4,0.7c4.6,7.5,6.9,11.3,7.2,17.2l0,0.1l0,0.1c-0.3,4.8-2.3,8.3-5.6,14c-0.6,1.1-1.3,2.3-2.1,3.6
c-4.7,8.3-9.6,10.5-14.9,12.8l-0.1,0.1c-0.1,0.1-0.4,0.3-0.7,0.3c-2,0.9-3.4,3.2-3.4,5.5c0,3.5,2.7,6.2,6.2,6.2
c2.6,0,5-1.7,5.9-4.2l0.1-0.2c4.5-7.3,8.1-10.5,14.6-15.7c6.3-5,13.7-8.4,18.1-8.4l0.7,0c4.4,0,11.8,3.5,18.1,8.4l1.6,1.3
c5.3,4.4,8.9,7.3,13,14.4l0.1,0.2c0.9,2.4,3.4,4.2,5.9,4.2c3.5,0,6.2-2.7,6.2-6.2c0-2.3-1.4-4.6-3.4-5.5
c-0.3-0.1-0.5-0.2-0.7-0.3l-0.1,0c-6-2.5-10.3-4.7-15.2-12.7l-0.4-0.7c-4.6-7.5-6.9-11.3-7.2-17.2l0-0.1l0-0.1
c0.3-4.8,2.3-8.3,5.6-14c0.6-1.1,1.3-2.3,2.1-3.6c4.8-7.9,9-10.2,14.9-12.8l0.1-0.1c0.1-0.1,0.4-0.3,0.7-0.3
c2-0.9,3.4-3.2,3.4-5.5c0-3.5-2.7-6.2-6.2-6.2c-2.6,0-5,1.7-5.9,4.2l-0.1,0.2c-4.5,7.3-8.1,10.5-14.6,15.7
C93.6,83.4,86.2,86.9,81.8,86.9z"/>
</g>
</g>
<path class="st0" d="M117.1,121.6c1-0.3,2.4-0.3,3.4-0.3c9.3,0,16.5,7.5,16.5,16.5c0,8.9-7.5,16.5-16.5,16.5s-16.5-7.5-16.5-16.5
c0-0.7,0-1.4,0.3-2.4l-3.1-2.1c-0.3,1.4-0.3,2.7-0.3,4.5c0,11,8.9,19.9,19.9,19.9s19.9-8.9,19.9-19.9c0-11-8.9-19.9-19.9-19.9
c-2.1,0-3.8,0.3-5.8,0.7L117.1,121.6z"/>
<path class="st0" d="M42.4,157.6c11,0,19.9-8.9,19.9-19.9c0-1.7-0.3-3.1-0.7-4.5l-3.1,2.1c0,0.7,0.3,1.7,0.3,2.4
c0,9.3-7.5,16.5-16.5,16.5s-16.5-7.5-16.5-16.5c0-8.9,7.5-16.5,16.5-16.5c1,0,2.1,0,3.4,0.3l2.1-3.1c-1.7-0.3-3.4-0.7-5.5-0.7
c-11,0-19.9,8.9-19.9,19.9C22.5,148.7,31.4,157.6,42.4,157.6z"/>
<path class="st0" d="M117.1,80.4c1,0.3,2.4,0.3,3.4,0.3c9.3,0,16.5-7.5,16.5-16.5c0-8.9-7.5-16.5-16.5-16.5
c-8.9,0-16.5,7.5-16.5,16.5c0,0.7,0,1.4,0.3,2.4l-3.1,2.1c-0.3-1.4-0.3-2.7-0.3-4.5c0-11,8.9-19.9,19.9-19.9s19.9,8.9,19.9,19.9
s-8.9,19.9-19.9,19.9c-2.1,0-3.8-0.3-5.8-0.7L117.1,80.4z"/>
<path class="st0" d="M42.4,44.4c11,0,19.9,8.9,19.9,19.9c0,1.7-0.3,3.1-0.7,4.5l-3.1-2.1c0-0.7,0.3-1.7,0.3-2.4
c0-9.3-7.5-16.5-16.5-16.5c-8.9,0-16.5,7.5-16.5,16.5c0,8.9,7.5,16.5,16.5,16.5c1,0,2.1,0,3.4-0.3l2.1,3.1
c-1.7,0.3-3.4,0.7-5.5,0.7c-11,0-19.9-8.9-19.9-19.9C22.5,53.3,31.4,44.4,42.4,44.4z"/>
</g>
</g>
<path class="st0" d="M157,165H5c-0.6,0-1-0.4-1-1s0.4-1,1-1h152c0.6,0,1,0.4,1,1S157.6,165,157,165z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

48
images/icons/pos5.svg Normal file
View file

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-9 11 180 180" style="enable-background:new -9 11 180 180;" xml:space="preserve">
<style type="text/css">
.st0{fill:#37A8DB;}
.st1{fill:#C1C1C1;}
</style>
<g>
<path class="st0" d="M71,100.4l20.8-11.2l-3.3,11.1l3.3,11.1L71,100.4z"/>
<g>
<g>
<g>
<path class="st0" d="M37.1,140.3c0-3.4,2.2-6.5,5.4-7.8c6.7-4,9.5-7.4,13.8-12.5l1.3-1.6c5.2-6.6,8-13.5,8-16.8v-0.7
c0-3.3-2.8-10.2-8-16.9c-5.1-6.5-8.1-9.8-15.1-14.1c-3.2-1.2-5.4-4.4-5.4-7.8c0-4.7,3.5-8.2,8.2-8.2c3.1,0,6.3,2,7.4,4.7
l0.1,0.1c0.1,0.1,0.3,0.4,0.3,0.7c2.5,5.6,4.5,9.3,11.9,13.8c1.3,0.7,2.5,1.4,3.6,2c5.4,3.2,8.7,5.1,13.1,5.3
c5.4-0.3,9-2.5,16.2-7l0.7-0.4c7.5-4.6,9.5-8.4,11.9-14.1c0.1-0.3,0.2-0.6,0.3-0.7l0.1-0.1c1.2-2.7,4.3-4.7,7.4-4.7
c4.7,0,8.2,3.5,8.2,8.2c0,3.4-2.2,6.5-5.4,7.8c-6.7,4-9.5,7.4-13.8,12.5l-1.3,1.6c-5.2,6.6-8,13.5-8,16.8v0.7
c0,3.3,2.8,10.2,8,16.9c5.1,6.5,8.1,9.8,15.1,14.1c3.2,1.2,5.4,4.4,5.4,7.8c0,4.7-3.5,8.2-8.2,8.2c-3.1,0-6.3-2-7.4-4.7
l-0.1-0.1c-0.1-0.1-0.3-0.4-0.3-0.7c-2.2-5.1-4.2-9.5-11.9-13.8c-1.3-0.7-2.5-1.4-3.6-2.1c-5.4-3.2-8.7-5.1-13.1-5.3
c-5.4,0.3-9,2.5-16.2,7l-0.7,0.4c-7.4,4.5-9.4,8.2-11.9,13.8c-0.1,0.3-0.2,0.5-0.3,0.7l-0.1,0.1c-1.1,2.6-4.1,4.7-7.3,5.1
l-0.1,0C40.6,148.5,37.1,144.9,37.1,140.3z M67.6,100.8v0.7c0,4.4-3.5,11.8-8.4,18.1l-1.3,1.6c-4.4,5.3-7.3,8.9-14.4,13
l-0.2,0.1c-2.4,0.9-4.2,3.4-4.2,5.9c0,3.5,2.6,6.2,6.1,6.2c2.5-0.3,4.7-1.8,5.6-3.7c0.1-0.3,0.2-0.5,0.3-0.7l0.1-0.1
c2.6-5.8,4.8-10,12.7-14.9l0.7-0.4c7.5-4.6,11.3-6.9,17.2-7.2l0.1,0l0.1,0c4.8,0.3,8.3,2.3,14,5.6c1.1,0.6,2.3,1.3,3.6,2.1
c8.3,4.7,10.5,9.6,12.8,14.9l0.1,0.1c0.1,0.1,0.3,0.4,0.3,0.7c0.9,2,3.2,3.4,5.5,3.4c3.5,0,6.2-2.7,6.2-6.2c0-2.6-1.7-5-4.2-5.9
l-0.2-0.1c-7.3-4.5-10.5-8.1-15.7-14.6c-5-6.3-8.4-13.7-8.4-18.1v-0.7c0-4.4,3.5-11.8,8.4-18.1l1.3-1.6c4.4-5.3,7.3-8.9,14.4-13
l0.2-0.1c2.4-0.9,4.2-3.4,4.2-5.9c0-3.5-2.7-6.2-6.2-6.2c-2.3,0-4.6,1.4-5.5,3.4c-0.1,0.3-0.2,0.5-0.3,0.7l0,0.1
c-2.5,6-4.7,10.3-12.7,15.2l-0.7,0.4c-7.5,4.6-11.3,6.9-17.2,7.2l-0.1,0l-0.1,0c-4.8-0.3-8.3-2.3-14-5.6
c-1.1-0.6-2.3-1.3-3.6-2.1c-7.9-4.8-10.2-9-12.8-14.9l-0.1-0.1c-0.1-0.1-0.3-0.4-0.3-0.7c-0.9-2-3.2-3.4-5.5-3.4
c-3.5,0-6.2,2.7-6.2,6.2c0,2.6,1.7,5,4.2,5.9l0.2,0.1c7.3,4.5,10.5,8.1,15.7,14.6C64.1,89,67.6,96.5,67.6,100.8z"/>
</g>
</g>
<path class="st0" d="M102.2,65.5c-0.3-1-0.3-2.4-0.3-3.4c0-9.3,7.5-16.5,16.5-16.5c8.9,0,16.5,7.5,16.5,16.5s-7.5,16.5-16.5,16.5
c-0.7,0-1.4,0-2.4-0.3l-2.1,3.1c1.4,0.3,2.7,0.3,4.5,0.3c11,0,19.9-8.9,19.9-19.9c0-11-8.9-19.9-19.9-19.9
c-11,0-19.9,8.9-19.9,19.9c0,2.1,0.3,3.8,0.7,5.8L102.2,65.5z"/>
<path class="st0" d="M138.2,140.3c0-11-8.9-19.9-19.9-19.9c-1.7,0-3.1,0.3-4.5,0.7l2.1,3.1c0.7,0,1.7-0.3,2.4-0.3
c9.3,0,16.5,7.5,16.5,16.5c0,8.9-7.5,16.5-16.5,16.5s-16.5-7.5-16.5-16.5c0-1,0-2.1,0.3-3.4l-3.1-2.1c-0.3,1.7-0.7,3.4-0.7,5.5
c0,11,8.9,19.9,19.9,19.9C129.3,160.1,138.2,151.2,138.2,140.3z"/>
<path class="st0" d="M61.1,65.5c0.3-1,0.3-2.4,0.3-3.4c0-9.3-7.5-16.5-16.5-16.5s-16.5,7.5-16.5,16.5C28.5,71,36,78.5,45,78.5
c0.7,0,1.4,0,2.4-0.3l2.1,3.1c-1.4,0.3-2.7,0.3-4.5,0.3c-11,0-19.9-8.9-19.9-19.9c0-11,8.9-19.9,19.9-19.9
c11,0,19.9,8.9,19.9,19.9c0,2.1-0.3,3.8-0.7,5.8L61.1,65.5z"/>
<path class="st0" d="M25.1,140.3c0-11,8.9-19.9,19.9-19.9c1.7,0,3.1,0.3,4.5,0.7l-2.1,3.1c-0.7,0-1.7-0.3-2.4-0.3
c-9.3,0-16.5,7.5-16.5,16.5S36,156.7,45,156.7c8.9,0,16.5-7.5,16.5-16.5c0-1,0-2.1-0.3-3.4l3.1-2.1c0.3,1.7,0.7,3.4,0.7,5.5
c0,11-8.9,19.9-19.9,19.9C34,160.1,25.1,151.2,25.1,140.3z"/>
</g>
</g>
<path class="st1" d="M157,165H5c-0.6,0-1-0.4-1-1s0.4-1,1-1h152c0.6,0,1,0.4,1,1S157.6,165,157,165z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-9 11 180 180" style="enable-background:new -9 11 180 180;" xml:space="preserve">
<style type="text/css">
.st0{fill:#C1C1C1;}
</style>
<g>
<path class="st0" d="M71,100.4l20.8-11.2l-3.3,11.1l3.3,11.1L71,100.4z"/>
<g>
<g>
<g>
<path class="st0" d="M37.1,140.3c0-3.4,2.2-6.5,5.4-7.8c6.7-4,9.5-7.4,13.8-12.5l1.3-1.6c5.2-6.6,8-13.5,8-16.8v-0.7
c0-3.3-2.8-10.2-8-16.9c-5.1-6.5-8.1-9.8-15.1-14.1c-3.2-1.2-5.4-4.4-5.4-7.8c0-4.7,3.5-8.2,8.2-8.2c3.1,0,6.3,2,7.4,4.7
l0.1,0.1c0.1,0.1,0.3,0.4,0.3,0.7c2.5,5.6,4.5,9.3,11.9,13.8c1.3,0.7,2.5,1.4,3.6,2c5.4,3.2,8.7,5.1,13.1,5.3
c5.4-0.3,9-2.5,16.2-7l0.7-0.4c7.5-4.6,9.5-8.4,11.9-14.1c0.1-0.3,0.2-0.6,0.3-0.7l0.1-0.1c1.2-2.7,4.3-4.7,7.4-4.7
c4.7,0,8.2,3.5,8.2,8.2c0,3.4-2.2,6.5-5.4,7.8c-6.7,4-9.5,7.4-13.8,12.5l-1.3,1.6c-5.2,6.6-8,13.5-8,16.8v0.7
c0,3.3,2.8,10.2,8,16.9c5.1,6.5,8.1,9.8,15.1,14.1c3.2,1.2,5.4,4.4,5.4,7.8c0,4.7-3.5,8.2-8.2,8.2c-3.1,0-6.3-2-7.4-4.7
l-0.1-0.1c-0.1-0.1-0.3-0.4-0.3-0.7c-2.2-5.1-4.2-9.5-11.9-13.8c-1.3-0.7-2.5-1.4-3.6-2.1c-5.4-3.2-8.7-5.1-13.1-5.3
c-5.4,0.3-9,2.5-16.2,7l-0.7,0.4c-7.4,4.5-9.4,8.2-11.9,13.8c-0.1,0.3-0.2,0.5-0.3,0.7l-0.1,0.1c-1.1,2.6-4.1,4.7-7.3,5.1
l-0.1,0C40.6,148.5,37.1,144.9,37.1,140.3z M67.6,100.8v0.7c0,4.4-3.5,11.8-8.4,18.1l-1.3,1.6c-4.4,5.3-7.3,8.9-14.4,13
l-0.2,0.1c-2.4,0.9-4.2,3.4-4.2,5.9c0,3.5,2.6,6.2,6.1,6.2c2.5-0.3,4.7-1.8,5.6-3.7c0.1-0.3,0.2-0.5,0.3-0.7l0.1-0.1
c2.6-5.8,4.8-10,12.7-14.9l0.7-0.4c7.5-4.6,11.3-6.9,17.2-7.2l0.1,0l0.1,0c4.8,0.3,8.3,2.3,14,5.6c1.1,0.6,2.3,1.3,3.6,2.1
c8.3,4.7,10.5,9.6,12.8,14.9l0.1,0.1c0.1,0.1,0.3,0.4,0.3,0.7c0.9,2,3.2,3.4,5.5,3.4c3.5,0,6.2-2.7,6.2-6.2c0-2.6-1.7-5-4.2-5.9
l-0.2-0.1c-7.3-4.5-10.5-8.1-15.7-14.6c-5-6.3-8.4-13.7-8.4-18.1v-0.7c0-4.4,3.5-11.8,8.4-18.1l1.3-1.6c4.4-5.3,7.3-8.9,14.4-13
l0.2-0.1c2.4-0.9,4.2-3.4,4.2-5.9c0-3.5-2.7-6.2-6.2-6.2c-2.3,0-4.6,1.4-5.5,3.4c-0.1,0.3-0.2,0.5-0.3,0.7l0,0.1
c-2.5,6-4.7,10.3-12.7,15.2l-0.7,0.4c-7.5,4.6-11.3,6.9-17.2,7.2l-0.1,0l-0.1,0c-4.8-0.3-8.3-2.3-14-5.6
c-1.1-0.6-2.3-1.3-3.6-2.1c-7.9-4.8-10.2-9-12.8-14.9l-0.1-0.1c-0.1-0.1-0.3-0.4-0.3-0.7c-0.9-2-3.2-3.4-5.5-3.4
c-3.5,0-6.2,2.7-6.2,6.2c0,2.6,1.7,5,4.2,5.9l0.2,0.1c7.3,4.5,10.5,8.1,15.7,14.6C64.1,89,67.6,96.5,67.6,100.8z"/>
</g>
</g>
<path class="st0" d="M102.2,65.5c-0.3-1-0.3-2.4-0.3-3.4c0-9.3,7.5-16.5,16.5-16.5c8.9,0,16.5,7.5,16.5,16.5s-7.5,16.5-16.5,16.5
c-0.7,0-1.4,0-2.4-0.3l-2.1,3.1c1.4,0.3,2.7,0.3,4.5,0.3c11,0,19.9-8.9,19.9-19.9c0-11-8.9-19.9-19.9-19.9
c-11,0-19.9,8.9-19.9,19.9c0,2.1,0.3,3.8,0.7,5.8L102.2,65.5z"/>
<path class="st0" d="M138.2,140.3c0-11-8.9-19.9-19.9-19.9c-1.7,0-3.1,0.3-4.5,0.7l2.1,3.1c0.7,0,1.7-0.3,2.4-0.3
c9.3,0,16.5,7.5,16.5,16.5c0,8.9-7.5,16.5-16.5,16.5s-16.5-7.5-16.5-16.5c0-1,0-2.1,0.3-3.4l-3.1-2.1c-0.3,1.7-0.7,3.4-0.7,5.5
c0,11,8.9,19.9,19.9,19.9C129.3,160.1,138.2,151.2,138.2,140.3z"/>
<path class="st0" d="M61.1,65.5c0.3-1,0.3-2.4,0.3-3.4c0-9.3-7.5-16.5-16.5-16.5s-16.5,7.5-16.5,16.5C28.5,71,36,78.5,45,78.5
c0.7,0,1.4,0,2.4-0.3l2.1,3.1c-1.4,0.3-2.7,0.3-4.5,0.3c-11,0-19.9-8.9-19.9-19.9c0-11,8.9-19.9,19.9-19.9
c11,0,19.9,8.9,19.9,19.9c0,2.1-0.3,3.8-0.7,5.8L61.1,65.5z"/>
<path class="st0" d="M25.1,140.3c0-11,8.9-19.9,19.9-19.9c1.7,0,3.1,0.3,4.5,0.7l-2.1,3.1c-0.7,0-1.7-0.3-2.4-0.3
c-9.3,0-16.5,7.5-16.5,16.5S36,156.7,45,156.7c8.9,0,16.5-7.5,16.5-16.5c0-1,0-2.1-0.3-3.4l3.1-2.1c0.3,1.7,0.7,3.4,0.7,5.5
c0,11-8.9,19.9-19.9,19.9C34,160.1,25.1,151.2,25.1,140.3z"/>
</g>
</g>
<path class="st0" d="M157,165H5c-0.6,0-1-0.4-1-1s0.4-1,1-1h152c0.6,0,1,0.4,1,1S157.6,165,157,165z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

47
images/icons/pos6.svg Normal file
View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-9 11 180 180" style="enable-background:new -9 11 180 180;" xml:space="preserve">
<style type="text/css">
.st0{fill:#37A8DB;}
.st1{fill:#C1C1C1;}
</style>
<path class="st0" d="M81.1,111.7L69.9,90.9L81,94.2l11.1-3.3L81.1,111.7z"/>
<g>
<g>
<g>
<path class="st0" d="M120.9,145.5c-3.4,0-6.5-2.2-7.8-5.4c-4-6.7-7.4-9.5-12.5-13.8l-1.6-1.3c-6.6-5.2-13.5-8-16.8-8h-0.7
c-3.3,0-10.2,2.8-16.9,8c-6.5,5.1-9.8,8.1-14.1,15.1c-1.2,3.2-4.4,5.4-7.8,5.4c-4.7,0-8.2-3.5-8.2-8.2c0-3.1,2-6.3,4.7-7.4
l0.1-0.1c0.1-0.1,0.4-0.3,0.7-0.3c5.6-2.5,9.3-4.5,13.8-11.9c0.7-1.3,1.4-2.5,2-3.6c3.2-5.4,5.1-8.7,5.3-13.1
c-0.3-5.4-2.5-9-7-16.2L53.9,84c-4.6-7.5-8.4-9.5-14.1-11.9c-0.3-0.1-0.6-0.2-0.7-0.3l-0.1-0.1c-2.7-1.2-4.7-4.3-4.7-7.4
c0-4.7,3.5-8.2,8.2-8.2c3.4,0,6.5,2.2,7.8,5.4c4,6.7,7.4,9.5,12.5,13.8l1.6,1.3c6.6,5.2,13.5,8,16.8,8h0.7c3.3,0,10.2-2.8,16.9-8
c6.5-5.1,9.8-8.1,14.1-15.1c1.2-3.2,4.4-5.4,7.8-5.4c4.7,0,8.2,3.5,8.2,8.2c0,3.1-2,6.3-4.7,7.4l-0.1,0.1
c-0.1,0.1-0.4,0.3-0.7,0.3c-5.1,2.2-9.5,4.2-13.8,11.9c-0.7,1.3-1.4,2.5-2.1,3.6c-3.2,5.4-5.1,8.7-5.3,13.1c0.3,5.4,2.5,9,7,16.2
l0.4,0.7c4.5,7.4,8.2,9.4,13.8,11.9c0.3,0.1,0.5,0.2,0.7,0.3l0.1,0.1c2.6,1.1,4.7,4.1,5.1,7.3l0,0.1
C129.1,142,125.6,145.5,120.9,145.5z M81.5,115.1h0.7c4.4,0,11.8,3.5,18.1,8.4l1.6,1.3c5.3,4.4,8.9,7.3,13,14.4l0.1,0.2
c0.9,2.4,3.4,4.2,5.9,4.2c3.5,0,6.2-2.6,6.2-6.1c-0.3-2.5-1.8-4.7-3.7-5.6c-0.3-0.1-0.5-0.2-0.7-0.3l-0.1-0.1
c-5.8-2.6-10-4.8-14.9-12.7l-0.4-0.7c-4.6-7.5-6.9-11.3-7.2-17.2l0-0.1l0-0.1c0.3-4.8,2.3-8.3,5.6-14c0.6-1.1,1.3-2.3,2.1-3.6
c4.7-8.3,9.6-10.5,14.9-12.8l0.1-0.1c0.1-0.1,0.4-0.3,0.7-0.3c2-0.9,3.4-3.2,3.4-5.5c0-3.5-2.7-6.2-6.2-6.2c-2.6,0-5,1.7-5.9,4.2
l-0.1,0.2c-4.5,7.3-8.1,10.5-14.6,15.7c-6.3,5-13.7,8.4-18.1,8.4h-0.7c-4.4,0-11.8-3.5-18.1-8.4l-1.6-1.3
c-5.3-4.4-8.9-7.3-13-14.4l-0.1-0.2c-0.9-2.4-3.4-4.2-5.9-4.2c-3.5,0-6.2,2.7-6.2,6.2c0,2.3,1.4,4.6,3.4,5.5
c0.3,0.1,0.5,0.2,0.7,0.3l0.1,0c6,2.5,10.3,4.7,15.2,12.7l0.4,0.7c4.6,7.5,6.9,11.3,7.2,17.2l0,0.1l0,0.1
c-0.3,4.8-2.3,8.3-5.6,14c-0.6,1.1-1.3,2.3-2.1,3.6c-4.8,7.9-9,10.2-14.9,12.8l-0.1,0.1c-0.1,0.1-0.4,0.3-0.7,0.3
c-2,0.9-3.4,3.2-3.4,5.5c0,3.5,2.7,6.2,6.2,6.2c2.6,0,5-1.7,5.9-4.2l0.1-0.2c4.5-7.3,8.1-10.5,14.6-15.7
C69.7,118.6,77.1,115.1,81.5,115.1z"/>
</g>
</g>
<path class="st0" d="M46.2,80.4c-1,0.3-2.4,0.3-3.4,0.3c-9.3,0-16.5-7.5-16.5-16.5s7.5-16.5,16.5-16.5s16.5,7.5,16.5,16.5
c0,0.7,0,1.4-0.3,2.4l3.1,2.1c0.3-1.4,0.3-2.7,0.3-4.5c0-11-8.9-19.9-19.9-19.9s-19.9,8.9-19.9,19.9s8.9,19.9,19.9,19.9
c2.1,0,3.8-0.3,5.8-0.7L46.2,80.4z"/>
<path class="st0" d="M120.9,44.4c-11,0-19.9,8.9-19.9,19.9c0,1.7,0.3,3.1,0.7,4.5l3.1-2.1c0-0.7-0.3-1.7-0.3-2.4
c0-9.3,7.5-16.5,16.5-16.5s16.5,7.5,16.5,16.5s-7.5,16.5-16.5,16.5c-1,0-2.1,0-3.4-0.3l-2.1,3.1c1.7,0.3,3.4,0.7,5.5,0.7
c11,0,19.9-8.9,19.9-19.9C140.8,53.3,131.9,44.4,120.9,44.4z"/>
<path class="st0" d="M46.2,121.6c-1-0.3-2.4-0.3-3.4-0.3c-9.3,0-16.5,7.5-16.5,16.5s7.5,16.5,16.5,16.5s16.5-7.5,16.5-16.5
c0-0.7,0-1.4-0.3-2.4l3.1-2.1c0.3,1.4,0.3,2.7,0.3,4.5c0,11-8.9,19.9-19.9,19.9s-19.9-8.9-19.9-19.9s8.9-19.9,19.9-19.9
c2.1,0,3.8,0.3,5.8,0.7L46.2,121.6z"/>
<path class="st0" d="M120.9,157.6c-11,0-19.9-8.9-19.9-19.9c0-1.7,0.3-3.1,0.7-4.5l3.1,2.1c0,0.7-0.3,1.7-0.3,2.4
c0,9.3,7.5,16.5,16.5,16.5s16.5-7.5,16.5-16.5s-7.5-16.5-16.5-16.5c-1,0-2.1,0-3.4,0.3l-2.1-3.1c1.7-0.3,3.4-0.7,5.5-0.7
c11,0,19.9,8.9,19.9,19.9C140.8,148.7,131.9,157.6,120.9,157.6z"/>
</g>
<path class="st1" d="M157,165H5c-0.6,0-1-0.4-1-1s0.4-1,1-1h152c0.6,0,1,0.4,1,1S157.6,165,157,165z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-9 11 180 180" style="enable-background:new -9 11 180 180;" xml:space="preserve">
<style type="text/css">
.st0{fill:#C1C1C1;}
</style>
<path class="st0" d="M81.1,111.7L69.9,90.9L81,94.2l11.1-3.3L81.1,111.7z"/>
<g>
<g>
<g>
<path class="st0" d="M120.9,145.5c-3.4,0-6.5-2.2-7.8-5.4c-4-6.7-7.4-9.5-12.5-13.8l-1.6-1.3c-6.6-5.2-13.5-8-16.8-8h-0.7
c-3.3,0-10.2,2.8-16.9,8c-6.5,5.1-9.8,8.1-14.1,15.1c-1.2,3.2-4.4,5.4-7.8,5.4c-4.7,0-8.2-3.5-8.2-8.2c0-3.1,2-6.3,4.7-7.4
l0.1-0.1c0.1-0.1,0.4-0.3,0.7-0.3c5.6-2.5,9.3-4.5,13.8-11.9c0.7-1.3,1.4-2.5,2-3.6c3.2-5.4,5.1-8.7,5.3-13.1
c-0.3-5.4-2.5-9-7-16.2L53.9,84c-4.6-7.5-8.4-9.5-14.1-11.9c-0.3-0.1-0.6-0.2-0.7-0.3l-0.1-0.1c-2.7-1.2-4.7-4.3-4.7-7.4
c0-4.7,3.5-8.2,8.2-8.2c3.4,0,6.5,2.2,7.8,5.4c4,6.7,7.4,9.5,12.5,13.8l1.6,1.3c6.6,5.2,13.5,8,16.8,8h0.7c3.3,0,10.2-2.8,16.9-8
c6.5-5.1,9.8-8.1,14.1-15.1c1.2-3.2,4.4-5.4,7.8-5.4c4.7,0,8.2,3.5,8.2,8.2c0,3.1-2,6.3-4.7,7.4l-0.1,0.1
c-0.1,0.1-0.4,0.3-0.7,0.3c-5.1,2.2-9.5,4.2-13.8,11.9c-0.7,1.3-1.4,2.5-2.1,3.6c-3.2,5.4-5.1,8.7-5.3,13.1c0.3,5.4,2.5,9,7,16.2
l0.4,0.7c4.5,7.4,8.2,9.4,13.8,11.9c0.3,0.1,0.5,0.2,0.7,0.3l0.1,0.1c2.6,1.1,4.7,4.1,5.1,7.3l0,0.1
C129.1,142,125.6,145.5,120.9,145.5z M81.5,115.1h0.7c4.4,0,11.8,3.5,18.1,8.4l1.6,1.3c5.3,4.4,8.9,7.3,13,14.4l0.1,0.2
c0.9,2.4,3.4,4.2,5.9,4.2c3.5,0,6.2-2.6,6.2-6.1c-0.3-2.5-1.8-4.7-3.7-5.6c-0.3-0.1-0.5-0.2-0.7-0.3l-0.1-0.1
c-5.8-2.6-10-4.8-14.9-12.7l-0.4-0.7c-4.6-7.5-6.9-11.3-7.2-17.2l0-0.1l0-0.1c0.3-4.8,2.3-8.3,5.6-14c0.6-1.1,1.3-2.3,2.1-3.6
c4.7-8.3,9.6-10.5,14.9-12.8l0.1-0.1c0.1-0.1,0.4-0.3,0.7-0.3c2-0.9,3.4-3.2,3.4-5.5c0-3.5-2.7-6.2-6.2-6.2c-2.6,0-5,1.7-5.9,4.2
l-0.1,0.2c-4.5,7.3-8.1,10.5-14.6,15.7c-6.3,5-13.7,8.4-18.1,8.4h-0.7c-4.4,0-11.8-3.5-18.1-8.4l-1.6-1.3
c-5.3-4.4-8.9-7.3-13-14.4l-0.1-0.2c-0.9-2.4-3.4-4.2-5.9-4.2c-3.5,0-6.2,2.7-6.2,6.2c0,2.3,1.4,4.6,3.4,5.5
c0.3,0.1,0.5,0.2,0.7,0.3l0.1,0c6,2.5,10.3,4.7,15.2,12.7l0.4,0.7c4.6,7.5,6.9,11.3,7.2,17.2l0,0.1l0,0.1
c-0.3,4.8-2.3,8.3-5.6,14c-0.6,1.1-1.3,2.3-2.1,3.6c-4.8,7.9-9,10.2-14.9,12.8l-0.1,0.1c-0.1,0.1-0.4,0.3-0.7,0.3
c-2,0.9-3.4,3.2-3.4,5.5c0,3.5,2.7,6.2,6.2,6.2c2.6,0,5-1.7,5.9-4.2l0.1-0.2c4.5-7.3,8.1-10.5,14.6-15.7
C69.7,118.6,77.1,115.1,81.5,115.1z"/>
</g>
</g>
<path class="st0" d="M46.2,80.4c-1,0.3-2.4,0.3-3.4,0.3c-9.3,0-16.5-7.5-16.5-16.5s7.5-16.5,16.5-16.5s16.5,7.5,16.5,16.5
c0,0.7,0,1.4-0.3,2.4l3.1,2.1c0.3-1.4,0.3-2.7,0.3-4.5c0-11-8.9-19.9-19.9-19.9s-19.9,8.9-19.9,19.9s8.9,19.9,19.9,19.9
c2.1,0,3.8-0.3,5.8-0.7L46.2,80.4z"/>
<path class="st0" d="M120.9,44.4c-11,0-19.9,8.9-19.9,19.9c0,1.7,0.3,3.1,0.7,4.5l3.1-2.1c0-0.7-0.3-1.7-0.3-2.4
c0-9.3,7.5-16.5,16.5-16.5s16.5,7.5,16.5,16.5s-7.5,16.5-16.5,16.5c-1,0-2.1,0-3.4-0.3l-2.1,3.1c1.7,0.3,3.4,0.7,5.5,0.7
c11,0,19.9-8.9,19.9-19.9C140.8,53.3,131.9,44.4,120.9,44.4z"/>
<path class="st0" d="M46.2,121.6c-1-0.3-2.4-0.3-3.4-0.3c-9.3,0-16.5,7.5-16.5,16.5s7.5,16.5,16.5,16.5s16.5-7.5,16.5-16.5
c0-0.7,0-1.4-0.3-2.4l3.1-2.1c0.3,1.4,0.3,2.7,0.3,4.5c0,11-8.9,19.9-19.9,19.9s-19.9-8.9-19.9-19.9s8.9-19.9,19.9-19.9
c2.1,0,3.8,0.3,5.8,0.7L46.2,121.6z"/>
<path class="st0" d="M120.9,157.6c-11,0-19.9-8.9-19.9-19.9c0-1.7,0.3-3.1,0.7-4.5l3.1,2.1c0,0.7-0.3,1.7-0.3,2.4
c0,9.3,7.5,16.5,16.5,16.5s16.5-7.5,16.5-16.5s-7.5-16.5-16.5-16.5c-1,0-2.1,0-3.4,0.3l-2.1-3.1c1.7-0.3,3.4-0.7,5.5-0.7
c11,0,19.9,8.9,19.9,19.9C140.8,148.7,131.9,157.6,120.9,157.6z"/>
</g>
<path class="st0" d="M157,165H5c-0.6,0-1-0.4-1-1s0.4-1,1-1h152c0.6,0,1,0.4,1,1S157.6,165,157,165z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

View file

@ -44,6 +44,7 @@ var CONFIG,
SENSOR_STATUS, SENSOR_STATUS,
SENSOR_CONFIG, SENSOR_CONFIG,
NAV_POSHOLD, NAV_POSHOLD,
CALIBRATION_DATA,
POSITION_ESTIMATOR, POSITION_ESTIMATOR,
RTH_AND_LAND_CONFIG, RTH_AND_LAND_CONFIG,
FW_CONFIG; FW_CONFIG;
@ -284,6 +285,32 @@ var FC = {
hoverThrottle: null hoverThrottle: null
}; };
CALIBRATION_DATA = {
acc: {
Pos0: null,
Pos1: null,
Pos2: null,
Pos3: null,
Pos4: null,
Pos5: null
},
accZero: {
X: null,
Y: null,
Z: null
},
accGain: {
X: null,
Y: null,
Z: null
},
magZero: {
X: null,
Y: null,
Z: null
}
};
RTH_AND_LAND_CONFIG = { RTH_AND_LAND_CONFIG = {
minRthDistance: null, minRthDistance: null,
rthClimbFirst: null, rthClimbFirst: null,

View file

@ -34,6 +34,7 @@ var GUI_control = function () {
'receiver', 'receiver',
'sensors', 'sensors',
'servos', 'servos',
'calibration',
'setup', 'setup',
'osd', 'osd',
'profiles', 'profiles',

View file

@ -12,6 +12,8 @@ var MSPCodes = {
MSP_NAV_POSHOLD: 12, MSP_NAV_POSHOLD: 12,
MSP_SET_NAV_POSHOLD: 13, MSP_SET_NAV_POSHOLD: 13,
MSP_CALIBRATION_DATA: 14,
MSP_SET_CALIBRATION_DATA: 15,
MSP_POSITION_ESTIMATION_CONFIG: 16, MSP_POSITION_ESTIMATION_CONFIG: 16,
MSP_SET_POSITION_ESTIMATION_CONFIG: 17, MSP_SET_POSITION_ESTIMATION_CONFIG: 17,

View file

@ -982,6 +982,30 @@ var mspHelper = (function (gui) {
console.log('NAV_POSHOLD saved'); console.log('NAV_POSHOLD saved');
break; break;
case MSPCodes.MSP_CALIBRATION_DATA:
var callibrations = data.getUint8(0);
CALIBRATION_DATA.acc.Pos0 = (1 & (callibrations >> 0));
CALIBRATION_DATA.acc.Pos1 = (1 & (callibrations >> 1));
CALIBRATION_DATA.acc.Pos2 = (1 & (callibrations >> 2));
CALIBRATION_DATA.acc.Pos3 = (1 & (callibrations >> 3));
CALIBRATION_DATA.acc.Pos4 = (1 & (callibrations >> 4));
CALIBRATION_DATA.acc.Pos5 = (1 & (callibrations >> 5));
CALIBRATION_DATA.accZero.X = data.getInt16(1, true);
CALIBRATION_DATA.accZero.Y = data.getInt16(3, true);
CALIBRATION_DATA.accZero.Z = data.getInt16(5, true);
CALIBRATION_DATA.accGain.X = data.getInt16(7, true);
CALIBRATION_DATA.accGain.Y = data.getInt16(9, true);
CALIBRATION_DATA.accGain.Z = data.getInt16(11, true);
CALIBRATION_DATA.magZero.X = data.getInt16(13, true);
CALIBRATION_DATA.magZero.Y = data.getInt16(15, true);
CALIBRATION_DATA.magZero.Z = data.getInt16(17, true);
break;
case MSPCodes.MSP_SET_CALIBRATION_DATA:
console.log('Calibration data saved');
break;
case MSPCodes.MSP_POSITION_ESTIMATION_CONFIG: case MSPCodes.MSP_POSITION_ESTIMATION_CONFIG:
POSITION_ESTIMATOR.w_z_baro_p = data.getUint16(0, true) / 100; POSITION_ESTIMATOR.w_z_baro_p = data.getUint16(0, true) / 100;
POSITION_ESTIMATOR.w_z_gps_p = data.getUint16(2, true) / 100; POSITION_ESTIMATOR.w_z_gps_p = data.getUint16(2, true) / 100;
@ -1388,6 +1412,36 @@ var mspHelper = (function (gui) {
buffer.push(highByte(NAV_POSHOLD.hoverThrottle)); buffer.push(highByte(NAV_POSHOLD.hoverThrottle));
break; break;
case MSPCodes.MSP_SET_CALIBRATION_DATA:
buffer.push(lowByte(CALIBRATION_DATA.accZero.X));
buffer.push(highByte(CALIBRATION_DATA.accZero.X));
buffer.push(lowByte(CALIBRATION_DATA.accZero.Y));
buffer.push(highByte(CALIBRATION_DATA.accZero.Y));
buffer.push(lowByte(CALIBRATION_DATA.accZero.Z));
buffer.push(highByte(CALIBRATION_DATA.accZero.Z));
buffer.push(lowByte(CALIBRATION_DATA.accGain.X));
buffer.push(highByte(CALIBRATION_DATA.accGain.X));
buffer.push(lowByte(CALIBRATION_DATA.accGain.Y));
buffer.push(highByte(CALIBRATION_DATA.accGain.Y));
buffer.push(lowByte(CALIBRATION_DATA.accGain.Z));
buffer.push(highByte(CALIBRATION_DATA.accGain.Z));
buffer.push(lowByte(CALIBRATION_DATA.magZero.X));
buffer.push(highByte(CALIBRATION_DATA.magZero.X));
buffer.push(lowByte(CALIBRATION_DATA.magZero.Y));
buffer.push(highByte(CALIBRATION_DATA.magZero.Y));
buffer.push(lowByte(CALIBRATION_DATA.magZero.Z));
buffer.push(highByte(CALIBRATION_DATA.magZero.Z));
break;
case MSPCodes.MSP_SET_POSITION_ESTIMATION_CONFIG: case MSPCodes.MSP_SET_POSITION_ESTIMATION_CONFIG:
buffer.push(lowByte(POSITION_ESTIMATOR.w_z_baro_p * 100)); buffer.push(lowByte(POSITION_ESTIMATOR.w_z_baro_p * 100));
buffer.push(highByte(POSITION_ESTIMATOR.w_z_baro_p * 100)); buffer.push(highByte(POSITION_ESTIMATOR.w_z_baro_p * 100));
@ -2223,6 +2277,22 @@ var mspHelper = (function (gui) {
} }
}; };
self.loadCalibrationData = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "1.6.0")) {
MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, callback);
} else {
callback();
}
};
self.saveCalibrationData = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "1.6.0")) {
MSP.send_message(MSPCodes.MSP_SET_CALIBRATION_DATA, mspHelper.crunch(MSPCodes.MSP_SET_CALIBRATION_DATA), false, callback);
} else {
callback();
}
};
self.loadRthAndLandConfig = function (callback) { self.loadRthAndLandConfig = function (callback) {
if (semver.gte(CONFIG.flightControllerVersion, "1.7.1")) { if (semver.gte(CONFIG.flightControllerVersion, "1.7.1")) {
MSP.send_message(MSPCodes.MSP_RTH_AND_LAND_CONFIG, false, false, callback); MSP.send_message(MSPCodes.MSP_RTH_AND_LAND_CONFIG, false, false, callback);

View file

@ -866,6 +866,18 @@ li.active .ic_transponder {
background-image: url("../images/icons/cf_icon_transponder_white.svg"); background-image: url("../images/icons/cf_icon_transponder_white.svg");
} }
.ic_calibration {
background-image: url(../images/icons/cf_icon_cal_grey.svg);
}
.ic_calibration:hover {
background-image: url(../images/icons/cf_icon_cal_white.svg);
}
li.active .ic_calibration {
background-image: url(../images/icons/cf_icon_cal_white.svg);
}
/* SPARE Tab-Icons */ /* SPARE Tab-Icons */
.ic_failsafe { .ic_failsafe {
background-image: url("../images/icons/cf_icon_failsafe_grey.svg"); background-image: url("../images/icons/cf_icon_failsafe_grey.svg");
@ -1502,7 +1514,7 @@ dialog {
/* fixing padding for all Tabs*/ /* fixing padding for all Tabs*/
.tab-setup, .tab-landing, .tab-adjustments, .tab-auxiliary, .tab-cli, .tab-configuration, .tab-failsafe, .tab-onboard_logging, .tab-setup, .tab-landing, .tab-adjustments, .tab-auxiliary, .tab-cli, .tab-configuration, .tab-failsafe, .tab-onboard_logging,
.tab-firmware_flasher, .tab-gps, .tab-help, .tab-led-strip, .tab-logging, .tab-modes, .tab-motors, .tab-pid_tuning, .tab-firmware_flasher, .tab-gps, .tab-help, .tab-led-strip, .tab-logging, .tab-modes, .tab-motors, .tab-pid_tuning,
.tab-ports, .tab-receiver, .tab-sensors, .tab-servos, .tab-osd { .tab-ports, .tab-receiver, .tab-sensors, .tab-servos, .tab-osd, .tab-calibration {
height: 100%; height: 100%;
position: relative; position: relative;
} }

View file

@ -164,6 +164,7 @@
</ul> </ul>
<ul class="mode-connected"> <ul class="mode-connected">
<li class="tab_setup"><a href="#" data-i18n="tabSetup" class="tabicon ic_setup" title="Setup"></a></li> <li class="tab_setup"><a href="#" data-i18n="tabSetup" class="tabicon ic_setup" title="Setup"></a></li>
<li class="tab_calibration"><a href="#" i18n="tabCalibration" class="tabicon ic_calibration" title="Calibration"></a></li>
<li class="tab_profiles"><a href="#" data-i18n="tabPresets" class="tabicon ic_wizzard" <li class="tab_profiles"><a href="#" data-i18n="tabPresets" class="tabicon ic_wizzard"
title="Presets"></a></li> title="Presets"></a></li>
<li class="tab_ports"><a href="#" data-i18n="tabPorts" class="tabicon ic_ports" title="Ports"></a></li> <li class="tab_ports"><a href="#" data-i18n="tabPorts" class="tabicon ic_ports" title="Ports"></a></li>

View file

@ -158,6 +158,9 @@ $(document).ready(function () {
case 'setup': case 'setup':
TABS.setup.initialize(content_ready); TABS.setup.initialize(content_ready);
break; break;
case 'calibration':
TABS.calibration.initialize(content_ready);
break;
case 'configuration': case 'configuration':
TABS.configuration.initialize(content_ready); TABS.configuration.initialize(content_ready);
break; break;

181
src/css/tabs/calibration.css Executable file
View file

@ -0,0 +1,181 @@
.tab-calibration .content_toolbar {
left: 0px;
}
.tab-calibration .tile {
float: left;
width: calc(33% - 10px);
height: 180px;
background-color: #ddd;
border-radius: 7px;
border: solid 1px silver;
margin-right: 14px;
margin-bottom: 15px;
box-shadow: inset 0 0 10px #ccc;
background-size: 140px;
background-position: center;
background-repeat: no-repeat;
background-position-y: 30px;
}
.tab-calibration .tile:nth-child(4) {
margin-right: 0px;
margin-left: 1px;
}
.tab-calibration .tile:nth-child(7) {
margin-right: 0px;
margin-left: 1px;
}
.tab-calibration .steptitle {
float: left;
width: calc(100% - 10px);
text-align: center;
padding: 5px;
background-color: silver;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
color: white;
}
.tab-calibration .indicator {
float: right;
margin-right: 20px;
margin-top: 106px;
width: 30px;
height: 30px;
text-align: center;
display: none;
background-image: url(../../../images/icons/check.svg);
background-size: contain;
}
.tab-calibration .finished .indicator {
display: block;
}
.tab-calibration .finished .steptitle {
background-color: grey;
}
.tab-calibration .active .steptitle {
background-color: #37a8db;
}
.tab-calibration .active {
border: solid 1px #37a8db;
background-color: white;
box-shadow: 0 0 10px #ccc;
}
.tab-calibration .finished {
background-color: #FFF;
}
.tab-calibration .step1 {
background-image: url(../../../images/icons/pos1_grey.svg);
background-size: 185px;
background-position-y: 10px;
}
.tab-calibration .step1.active, .tab-calibration .step1.finished {
background-image: url(../../../images/icons/pos1.svg);
}
.tab-calibration .step2 {
background-image: url(../../../images/icons/pos2_grey.svg);
background-size: 185px;
background-position-y: 10px;
}
.tab-calibration .step2.active, .tab-calibration .step2.finished {
background-image: url(../../../images/icons/pos2.svg);
}
.tab-calibration .step3 {
background-image: url(../../../images/icons/pos3_grey.svg);
}
.tab-calibration .step3.active, .tab-calibration .step3.finished {
background-image: url(../../../images/icons/pos3.svg);
}
.tab-calibration .step4 {
background-image: url(../../../images/icons/pos4_grey.svg);
}
.tab-calibration .step4.active, .tab-calibration .step4.finished {
background-image: url(../../../images/icons/pos4.svg);
}
.tab-calibration .step5 {
background-image: url(../../../images/icons/pos5_grey.svg);
}
.tab-calibration .step5.active, .tab-calibration .step5.finished {
background-image: url(../../../images/icons/pos5.svg);
}
.tab-calibration .step6 {
background-image: url(../../../images/icons/pos6_grey.svg);
}
.tab-calibration .step6.active, .tab-calibration .step6.finished {
background-image: url(../../../images/icons/pos6.svg);
}
.tab-calibration .note {
margin-bottom: 20px;
width: calc(100% - 20px);
margin-top: 5px;
padding:5px;
min-height: 45px;
}
#calib_btn {
margin-top: 5px;
margin-left: 5px;
}
#calib_btn a {
height:30px;
padding-top: 20px;
width: calc(100% - 5px);
}
.tab-calibration input {
width: 57px;
padding-left: 3px;
height: 20px;
line-height: 20px;
text-align: left;
border: 1px solid silver;
border-radius: 3px;
margin-left: 11px;
font-size: 12px;
font-weight: normal;
}
.tab-calibration .spacer_box div input {
margin-right: 0px;
}
.tab-calibration #mag_btn {
margin-top: 10px;
}
.tab-calibration #level_btn {
margin-top: 10px;
}
.tab-calibration .acc tr td {
width: 25%;
}
.tab-calibration .acc tr td:nth-child(1){
width: 34%;
}

157
tabs/calibration.html Executable file
View file

@ -0,0 +1,157 @@
<div class="tab-calibration toolbar_fixed_bottom">
<div class="content_wrapper">
<!-- should be the first DIV on each tab -->
<div class="cf_column full spacerbottom">
<div class="tab_title" data-i18n="tabCalibration">Calibration</div>
<div class="cf_doc_version_bt">
<a id="button-documentation" href="" target="_blank"></a>
</div>
<div class="cf_column threefourth_left">
<div class="spacer_right">
<div class="gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="calibrationHead1"></div>
</div>
<div class="spacer_box">
<div class="calibHeader">
<div class="twothird">
<div class="note" data-i18n="NoteCalibration"></div>
</div>
<div class="third_right">
<div class="default_btn">
<div id="calib_btn">
<a id="calibrate-start-button" class="calibrate" href="#" data-i18n="AccBtn"></a>
</div>
</div>
</div>
</div>
<div data-step="1" class="tile step1 finished">
<div class="steptitle">Step 1</div>
<div class="indicator"></div>
</div>
<div data-step="2" class="tile step2 active">
<div class="steptitle">Step 2</div>
<div class="indicator"></div>
</div>
<div data-step="3" class="tile step3">
<div class="steptitle">Step 3</div>
<div class="indicator"></div>
</div>
<div data-step="4" class="tile step4">
<div class="steptitle">Step 4</div>
<div class="indicator"></div>
</div>
<div data-step="5" class="tile step5">
<div class="steptitle">Step 5</div>
<div class="indicator"></div>
</div>
<div data-step="6" class="tile step6">
<div class="steptitle">Step 6</div>
<div class="indicator"></div>
</div>
<div class="gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="calibrationHead2"></div>
</div>
<div class="spacer_box">
<table class="cf_table acc">
<tr>
<td data-i18n="accZero"></td>
<td><label for="accZeroX"><span>X</span></label><input type="number" name="accZeroX" min="0" max="2000"></td>
<td><label for="accZeroY"><span>Y</span></label><input type="number" name="accZeroY" min="0" max="2000"></td>
<td><label for="accZeroZ"><span>Z</span></label><input type="number" name="accZeroZ" min="0" max="2000"></td>
</tr>
<tr>
<td data-i18n="accGain"></td>
<td><label for="accGainX"><span>X</span></label><input type="number" name="accGainX" min="0" max="2000"></td>
<td><label for="accGainX"><span>Y</span></label><input type="number" name="accGainX" min="0" max="2000"></td>
<td><label for="accGainX"><span>Z</span></label><input type="number" name="accGainX" min="0" max="2000"></td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="cf_column fourth">
<!-- div class="gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="calibrationHead3"></div>
</div>
<div class="spacer_box">
<span data-i18n="LevCalText">text</span>
<div class="default_btn">
<div id="level_btn">
<a class="level" href="#" data-i18n="LevBtn"></a>
</div>
</div>
</div>
</div -->
<div class="gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" data-i18n="calibrationHead4"></div>
</div>
<div class="spacer_box">
<span data-i18n="MagCalText">text</span>
<div class="default_btn">
<div id="mag_btn">
<a class="calibratemag" href="#" data-i18n="MagBtn"></a>
</div>
</div>
<table id="mag-calibrated-data" class="cf_table">
<tr>
<td><label for="MagX"><span>X</span></label></td>
<td><input type="number" name="MagX" min="0" max="2000"></td>
</tr>
<tr>
<td><label for="MagY"><span>Y</span></label></td>
<td><input type="number" name="MagY" min="0" max="2000"></td>
</tr>
<tr>
<td><label for="MagZ"><span>Z</span></label></td>
<td><input type="number" name="MagZ" min="0" max="2000"></td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="content_toolbar">
<div class="btn save_btn">
<a class="save" href="#" data-i18n="configurationButtonSave"></a>
</div>
</div>
</div>
<div id="modal-acc-calibration-start" class="is-hidden">
<div class="modal__content">
<h1 class="modal__title" data-i18n="accCalibrationStartTitle"></h1>
<div class="modal__text" data-i18n="accCalibrationStartBody"></div>
</div>
<div class="modal__buttons">
<a id="modal-start-button" class="modal__button modal__button--main" data-i18n="OK"></a>
</div>
</div>
<div id="modal-acc-calibration-stop" class="is-hidden">
<div class="modal__content">
<h1 class="modal__title" data-i18n="accCalibrationStopTitle"></h1>
<div class="modal__text" data-i18n="accCalibrationStopBody"></div>
</div>
<div class="modal__buttons">
<a id="modal-stop-button" class="modal__button modal__button--main" data-i18n="OK"></a>
</div>
</div>
<div id="modal-acc-processing" class="is-hidden">
<div class="modal__content">
<h1 class="modal__title modal__title--center" data-i18n="accCalibrationProcessing"></h1>
</div>
</div>
<div id="modal-compass-processing" class="is-hidden">
<div class="modal__content">
<h1 class="modal__title modal__title--center" data-i18n="accCalibrationProcessing"></h1>
<div id="modal-compass-countdown" class="modal__text"></div>
</div>
</div>

221
tabs/calibration.js Executable file
View file

@ -0,0 +1,221 @@
/*global chrome */
'use strict';
TABS.calibration = {};
TABS.calibration.model = (function () {
var publicScope = {},
privateScope = {};
privateScope.step = null;
publicScope.next = function () {
if (privateScope.step === null) {
privateScope.step = 1;
} else {
var count = 0;
for (var i = 0; i < 6; i++) {
if (CALIBRATION_DATA.acc['Pos' + i] === 1) {
count++;
}
}
privateScope.step = count;
}
console.log(privateScope.step);
if (privateScope.step > 5) {
privateScope.step = null;
}
return privateScope.step;
};
publicScope.getStep = function () {
return privateScope.step;
};
return publicScope;
})();
TABS.calibration.initialize = function (callback) {
var loadChainer = new MSPChainerClass(),
saveChainer = new MSPChainerClass(),
modalStart,
modalStop,
modalProcessing;
if (GUI.active_tab != 'calibration') {
GUI.active_tab = 'calibration';
googleAnalytics.sendAppView('Calibration');
}
loadChainer.setChain([
mspHelper.loadStatus,
mspHelper.loadCalibrationData
]);
loadChainer.setExitPoint(loadHtml);
loadChainer.execute();
saveChainer.setChain([
mspHelper.saveCalibrationData
]);
saveChainer.setExitPoint(loadChainer.execute);
function loadHtml() {
$('#content').load("./tabs/calibration.html", processHtml);
}
MSP.send_message(MSPCodes.MSP_IDENT, false, false, loadHtml);
function updateCalibrationSteps() {
for (var i = 0; i < 6; i++) {
var $element = $('[data-step="' + (i + 1) + '"]');
if (CALIBRATION_DATA.acc['Pos' + i] === 0) {
$element.removeClass('finished').removeClass('active');
} else {
$element.addClass("finished").removeClass('active');
}
}
}
function updateSensorData() {
var pos = ['X', 'Y', 'Z'];
pos.forEach(function (item) {
$('[name=accGain' + item + ']').val(CALIBRATION_DATA.accGain[item]);
$('[name=accZero' + item + ']').val(CALIBRATION_DATA.accGain[item]);
$('[name=Mag' + item + ']').val(CALIBRATION_DATA.magZero[item]);
});
updateCalibrationSteps();
}
function checkFinishAccCalibrate() {
if (TABS.calibration.model.next() === null) {
modalStop = new jBox('Modal', {
width: 400,
height: 200,
animation: false,
closeOnClick: false,
closeOnEsc: false,
content: $('#modal-acc-calibration-stop')
}).open();
}
updateSensorData();
}
function processHtml() {
if (SENSOR_CONFIG.magnetometer === 0) {
//Comment for test
$('#mag_btn, #mag-calibrated-data').css('pointer-events', 'none').css('opacity', '0.4');
}
$('#mag_btn').on('click', function () {
MSP.send_message(MSPCodes.MSP_MAG_CALIBRATION, false, false, function () {
GUI.log(chrome.i18n.getMessage('initialSetupMagCalibStarted'));
});
var button = $(this);
$(button).addClass('disabled');
modalProcessing = new jBox('Modal', {
width: 400,
height: 100,
animation: false,
closeOnClick: false,
closeOnEsc: false,
content: $('#modal-compass-processing')
}).open();
var countdown = 30;
helper.interval.add('compass_calibration_interval', function () {
countdown--;
$('#modal-compass-countdown').text(countdown);
if (countdown === 0) {
$(button).removeClass('disabled');
modalProcessing.close();
GUI.log(chrome.i18n.getMessage('initialSetupMagCalibEnded'));
MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, updateSensorData);
helper.interval.remove('compass_calibration_interval');
}
}, 1000);
});
$('#calibrate-start-button').click(function () {
var newStep = null,
$button = $(this);
if (TABS.calibration.model.getStep() === null) {
for (var i = 0; i < 6; i++) {
if (CALIBRATION_DATA.acc['Pos' + i] === 1) {
CALIBRATION_DATA.acc['Pos' + i] = 0;
}
}
updateCalibrationSteps();
modalStart = new jBox('Modal', {
width: 400,
height: 200,
animation: false,
closeOnClick: false,
closeOnEsc: false,
content: $('#modal-acc-calibration-start')
}).open();
} else {
newStep = TABS.calibration.model.next();
}
/*
* Communication
*/
if (newStep !== null) {
$button.addClass('disabled');
modalProcessing = new jBox('Modal', {
width: 400,
height: 100,
animation: false,
closeOnClick: false,
closeOnEsc: false,
content: $('#modal-acc-processing')
}).open();
MSP.send_message(MSPCodes.MSP_ACC_CALIBRATION, false, false, function () {
GUI.log(chrome.i18n.getMessage('initialSetupAccelCalibStarted'));
});
helper.timeout.add('acc_calibration_timeout', function () {
$button.removeClass('disabled');
modalProcessing.close();
MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, checkFinishAccCalibrate);
GUI.log(chrome.i18n.getMessage('initialSetupAccelCalibEnded'));
}, 2000);
}
});
$('#modal-start-button').click(function () {
modalStart.close();
TABS.calibration.model.next();
});
$('#modal-stop-button').click(function () {
modalStop.close();
});
// translate to user-selected language
localize();
MSP.send_message(MSPCodes.MSP_CALIBRATION_DATA, false, false, updateSensorData);
GUI.content_ready(callback);
}
};
TABS.calibration.cleanup = function (callback) {
if (callback) callback();
};

View file

@ -142,4 +142,4 @@
<a class="save" href="#" data-i18n="configurationButtonSave"></a> <a class="save" href="#" data-i18n="configurationButtonSave"></a>
</div> </div>
</div> </div>
</div> </div>

View file

@ -600,7 +600,7 @@ TABS.profiles.initialize = function (callback, scrollPosition) {
//noinspection JSValidateTypes //noinspection JSValidateTypes
$('#content').scrollTop((scrollPosition) ? scrollPosition : 0); $('#content').scrollTop((scrollPosition) ? scrollPosition : 0);
OSD.GUI.jbox = new jBox('Modal', { var modal = new jBox('Modal', {
width: 600, width: 600,
height: 240, height: 240,
closeButton: 'title', closeButton: 'title',

View file

@ -8,18 +8,6 @@
</div> </div>
<div class="cf_column fourth buttonarea"> <div class="cf_column fourth buttonarea">
<div class="spacer_right"> <div class="spacer_right">
<div class="default_btn">
<div id="accel_calib_rest">
<a class="calibrateAccel" id="default_btn green" href="#"
data-i18n="initialSetupButtonCalibrateAccel"></a>
</div>
<div id="accel_calib_running">
<div class="data-loading-setup">
<p>Calibrating...</p>
</div>
</div>
</div>
<div class="default_btn"> <div class="default_btn">
<div id="mag_calib_rest"> <div id="mag_calib_rest">
<a class="calibrateMag" href="#" data-i18n="initialSetupButtonCalibrateMag"></a> <a class="calibrateMag" href="#" data-i18n="initialSetupButtonCalibrateMag"></a>
@ -37,9 +25,7 @@
</div> </div>
</div> </div>
<div class="threefourth_right setupinfo"> <div class="threefourth_right setupinfo">
<div class="cell_setup">
<span data-i18n="initialSetupCalibrateAccelText"></span>
</div>
<div class="cell_setup"> <div class="cell_setup">
<span data-i18n="initialSetupCalibrateMagText"></span> <span data-i18n="initialSetupCalibrateMagText"></span>
</div> </div>

View file

@ -54,35 +54,6 @@ TABS.setup.initialize = function (callback) {
self.initializeInstruments(); self.initializeInstruments();
// UI Hooks
$('a.calibrateAccel').click(function () {
var self = $(this);
if (!self.hasClass('calibrating')) {
self.addClass('calibrating');
// During this period MCU won't be able to process any serial commands because its locked in a for/while loop
// until this operation finishes, sending more commands through data_poll() will result in serial buffer overflow
helper.interval.pause('setup_data_pull');
MSP.send_message(MSPCodes.MSP_ACC_CALIBRATION, false, false, function () {
GUI.log(chrome.i18n.getMessage('initialSetupAccelCalibStarted'));
$('#accel_calib_running').show();
$('#accel_calib_rest').hide();
});
helper.timeout.add('button_reset', function () {
helper.interval.resume('setup_data_pull');
GUI.log(chrome.i18n.getMessage('initialSetupAccelCalibEnded'));
self.removeClass('calibrating');
$('#accel_calib_running').hide();
$('#accel_calib_rest').show();
}, 2000);
}
});
$('a.calibrateMag').click(function () { $('a.calibrateMag').click(function () {
var self = $(this); var self = $(this);