Merge pull request #20 from iNavFlight/calibration-tab

Calibration tab in feature branch
pull/323/head
Konstantin Sharlaimov 7 years ago committed by GitHub
commit 00baf9596d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -68,6 +68,9 @@
"tabSetup": {
"message": "Setup"
},
"tabCalibration": {
"message": "Calibration"
},
"tabConfiguration": {
"message": "Configuration"
},
@ -1891,6 +1894,42 @@
"armingCheckFail": {
"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": {
"message": "Presets"
},
@ -1915,6 +1954,24 @@
"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!"
},
"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": {
"message": "Advanced tuning"
},

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -44,6 +44,7 @@ var CONFIG,
SENSOR_STATUS,
SENSOR_CONFIG,
NAV_POSHOLD,
CALIBRATION_DATA,
POSITION_ESTIMATOR,
RTH_AND_LAND_CONFIG,
FW_CONFIG;
@ -284,6 +285,32 @@ var FC = {
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 = {
minRthDistance: null,
rthClimbFirst: null,

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

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

@ -982,6 +982,30 @@ var mspHelper = (function (gui) {
console.log('NAV_POSHOLD saved');
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:
POSITION_ESTIMATOR.w_z_baro_p = data.getUint16(0, 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));
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:
buffer.push(lowByte(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) {
if (semver.gte(CONFIG.flightControllerVersion, "1.7.1")) {
MSP.send_message(MSPCodes.MSP_RTH_AND_LAND_CONFIG, false, false, callback);

@ -866,6 +866,18 @@ li.active .ic_transponder {
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 */
.ic_failsafe {
background-image: url("../images/icons/cf_icon_failsafe_grey.svg");
@ -1502,7 +1514,7 @@ dialog {
/* fixing padding for all Tabs*/
.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-ports, .tab-receiver, .tab-sensors, .tab-servos, .tab-osd {
.tab-ports, .tab-receiver, .tab-sensors, .tab-servos, .tab-osd, .tab-calibration {
height: 100%;
position: relative;
}

@ -164,6 +164,7 @@
</ul>
<ul class="mode-connected">
<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"
title="Presets"></a></li>
<li class="tab_ports"><a href="#" data-i18n="tabPorts" class="tabicon ic_ports" title="Ports"></a></li>

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

@ -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%;
}

@ -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>

@ -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();
};

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

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

@ -8,18 +8,6 @@
</div>
<div class="cf_column fourth buttonarea">
<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 id="mag_calib_rest">
<a class="calibrateMag" href="#" data-i18n="initialSetupButtonCalibrateMag"></a>
@ -37,9 +25,7 @@
</div>
</div>
<div class="threefourth_right setupinfo">
<div class="cell_setup">
<span data-i18n="initialSetupCalibrateAccelText"></span>
</div>
<div class="cell_setup">
<span data-i18n="initialSetupCalibrateMagText"></span>
</div>

@ -54,35 +54,6 @@ TABS.setup.initialize = function (callback) {
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 () {
var self = $(this);

Loading…
Cancel
Save