diff --git a/images/paper.jpg b/images/paper.jpg new file mode 100644 index 00000000..b84d077a Binary files /dev/null and b/images/paper.jpg differ diff --git a/tabs/receiver.css b/tabs/receiver.css index f85ec607..aa22c24c 100644 --- a/tabs/receiver.css +++ b/tabs/receiver.css @@ -1,8 +1,16 @@ .tab-receiver { } + +.tab-receiver .spacer { + padding-left: 10px; + padding-right: 9px; + width: calc(100% - 18px); +} + .tab-receiver input[type="number"]::-webkit-inner-spin-button { border: 0; } + .tab-receiver .help { padding: 10px; background-color: #ffcb18; @@ -11,63 +19,61 @@ .tab-receiver .bars { float: left; - width: 45%; - + width:calc(50% - 20px); font-weight: bold; } + .tab-receiver .bars ul { margin-bottom: 5px; clear: left; } + .tab-receiver .bars li { float: left; - height: 22px; line-height: 20px; white-space: nowrap; } + .tab-receiver .bars .name { padding: 0 10px 0 0; - width: 50px; - text-align: right; } .tab-receiver .bars .meter { width: calc(100% - 60px); } + .tab-receiver .bars .meter-bar { position: relative; margin-top: 2px; - - width: 100%; + width: calc(100% - 2px); height: 15px; - border: 1px solid silver; background-color: #f4f4f4; + border-radius:3px; } + .tab-receiver .bars .meter-bar .label { position: absolute; - width: 50px; height: 15px; line-height: 15px; - text-align: center; color: #474747; } .tab-receiver .bars .meter-bar .fill { position: relative; overflow: hidden; - + border-radius:2px; width: 50%; height: 15px; - background-color: green; } .tab-receiver .bars .meter-bar .fill .label { color: white; } + .tab-receiver .bars ul:nth-of-type(1) .fill { background-color: #f1453d; @@ -118,195 +124,279 @@ .tab-receiver .bars ul:nth-of-type(13) .fill { background-color: #cf267d; } + .tab-receiver .bars ul:nth-of-type(14) .fill { background-color: #7a1464; } + .tab-receiver .bars ul:nth-of-type(15) .fill { background-color: #3a7a14; } + .tab-receiver .bars ul:nth-of-type(16) .fill { background-color: #14407a; } + .tab-receiver .tunings { float: right; + width: 45%; + } + .tab-receiver .tunings table { border-collapse: collapse; + width:calc(100% - 2px); } + .tab-receiver .tunings .throttle { margin-bottom: 10px; } + .tab-receiver .tunings .rate { margin-bottom: 10px; } + .tab-receiver .tunings .yaw_rate { - margin-left: 127px; + margin-left: 0px; margin-bottom: 10px; } + .tab-receiver .tunings table, .tab-receiver .tunings table th, .tab-receiver .tunings table td { padding: 4px; - border: 1px solid #8b8b8b; + text-align: left; + padding-left: 6px; } + .tab-receiver .tunings table th { - width: 118px; + background: #8b8b8b; + color: white; } + + +.tab-receiver .tunings table th:first-child { + border-top-left-radius: 3px; +} + +.tab-receiver .tunings table th:last-child { + border-top-right-radius: 3px; +} + + +.tab-receiver .tunings table td { + background: #DEDEDE; +} + +.tab-receiver .tunings table td:first-child { + border-bottom-left-radius: 5px; +} + +.tab-receiver .tunings table td:last-child { + border-bottom-right-radius: 5px; +} + .tab-receiver .tunings table td { padding: 1px; } + .tab-receiver .tunings table tr:nth-child(odd) { background-color: #ececec; } -.tab-receiver .tunings table input { - width: 100%; - height: 20px; +.tab-receiver .tunings table input { + width: calc(100% - 8px); + border:1px solid silver; + border-radius:3px; + height: 20px; + margin:3px; line-height: 20px; text-align: right; } + .tab-receiver .rssi_channel_wrapper { float: right; + margin: 0px 0px 10px 0; + border-left: 0; + width:30%; + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; + background-color:#DEDEDE; - margin: 10px 0 0 0; - - width: 126px; - - border: 1px solid #8b8b8b; - border-left: 0; } + .tab-receiver .rssi_channel_wrapper .head { height: 15px; padding: 4px; + text-align: left; + padding-left: 6px; + font-weight: bold; + background: #8b8b8b; + color: white; + border-top-right-radius: 5px; - text-align: center; - font-weight: bold; - - border-bottom: 1px solid #8b8b8b; - background-color: #ececec; } + .tab-receiver .rssi_channel_wrapper select { - width: 100%; height: 22px; - padding-left: 5px; + border: 1px solid silver; + margin:4px; + width: calc(100% - 8px); + } + .tab-receiver .rcmap_wrapper { float: right; position: relative; + margin: 0px 0px 10px 0; + width:calc(70% - 3px); + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; + background-color:#DEDEDE; - margin: 10px 0 0 0; - - width: 126px; - - border: 1px solid #8b8b8b; } + .tab-receiver .rcmap_wrapper .head { height: 15px; padding: 4px; + text-align: left; + padding-left: 6px; + font-weight: bold; + background: #8b8b8b; + color: white; + border-top-left-radius: 5px; - text-align: center; - font-weight: bold; - - border-bottom: 1px solid #8b8b8b; - background-color: #ececec; } + .tab-receiver .rcmap_wrapper .head span { - border-bottom: 1px dashed silver; } + .tab-receiver .hybrid_element input { position: absolute; - padding-left: 5px; - - width: calc(100% - 24px); - height: 22px; - + width: calc(100% - 36px); + height: 20px; z-index: 2; + border-radius:0px; + border: 1px solid silver; + margin:4px; + } + .tab-receiver .hybrid_element select { width: 100%; height: 22px; - z-index: 1; + border: 1px solid silver; + margin:4px; + width: calc(100% - 10px); + + + } + .tab-receiver .curves { - float: right; + float: left; + margin-right:10px; } + .tab-receiver .throttle_curve { - margin: 0 10px 10px 0; - - width: 220px; - height: 120px; - + margin: 0 0px 0px 0; + width: 200px; + height: 117px; border: 1px solid silver; + border-radius: 3px; + background-image:url(../images/paper.jpg); + background-size:200%; + background-position:center; } + .tab-receiver .pitch_roll_curve { - margin: 0 10px 0 0; - - width: 220px; - height: 120px; - + margin: 0 0px 0px 0; + width: 200px; + height: 117px; border: 1px solid silver; + border-radius: 3px; + background-image:url(../images/paper.jpg); + background-size:200%; + background-position:center; } + .tab-receiver select[name="rx_refresh_rate"] { float: right; - border: 1px solid silver; } + .tab-receiver #RX_plot { width: 100%; height: 200px; } + .tab-receiver #RX_plot .line:nth-child(1) { stroke: #f1453d; } + .tab-receiver #RX_plot .line:nth-child(2) { stroke: #673fb4; } + .tab-receiver #RX_plot .line:nth-child(3) { stroke: #2b98f0; } + .tab-receiver #RX_plot .line:nth-child(4) { stroke: #1fbcd2; } + .tab-receiver #RX_plot .line:nth-child(5) { stroke: #159588; } + .tab-receiver #RX_plot .line:nth-child(6) { stroke: #50ae55; } + .tab-receiver #RX_plot .line:nth-child(7) { stroke: #cdda49; } + .tab-receiver #RX_plot .line:nth-child(8) { stroke: #fdc02f; } + .tab-receiver #RX_plot .line:nth-child(9) { stroke: #fc5830; } + .tab-receiver #RX_plot .line:nth-child(10) { stroke: #785549; } + .tab-receiver #RX_plot .line:nth-child(11) { stroke: #9e9e9e; } + .tab-receiver #RX_plot .line:nth-child(12) { stroke: #7a6614; } + .tab-receiver #RX_plot .line:nth-child(13) { stroke: #cf267d; } + .tab-receiver #RX_plot .line:nth-child(14) { stroke: #7a1464; } + .tab-receiver #RX_plot .line:nth-child(15) { stroke: #3a7a14; } + .tab-receiver #RX_plot .line:nth-child(16) { stroke: #14407a; } + .tab-receiver .buttons { width: calc(100% - 20px); - position: absolute; bottom: 10px; } @@ -314,17 +404,28 @@ /* SVG classes*/ .tab-receiver .grid .tick { stroke: silver; + stroke-width: 1px; shape-rendering: crispEdges; } + .tab-receiver .line { stroke-width: 2px; fill: none; } + .tab-receiver .grid path { stroke-width: 0; } + .tab-receiver .axis path, .axis line { fill: none; - stroke: #000; + stroke: #ccc; + stroke-width: 1px; shape-rendering: crispEdges; } + +.tab-receiver text { + stroke: none; + fill: #828885; + font-size:10px; +} diff --git a/tabs/receiver.html b/tabs/receiver.html index a6a42817..832f5111 100644 --- a/tabs/receiver.html +++ b/tabs/receiver.html @@ -1,97 +1,115 @@
-
-
-
- -
-
-
-

+
+
+
+
-
-
-
-
- - - - - - - - - -
- - - - - - - - - -
- - - - - - - -
-
+
+
+

+
+
+
+
-
-
+
+
- +
- - + +
-
-
-
-
- -
-
- -
-
-
- -
- - - - - - - -
-
-
-
-
-
-
+
+
+
+
+
+
+
+ +
+
+
+ + + + + + + + + +
+
+
+
+
+
+
+
+ +
+
+
+ + + + + + + + + +
+ + + + + + + +
+
+
+
+
+
+
+
+ +
+ + + + + + + +
+
+
+
+
+
+
+
+
\ No newline at end of file diff --git a/tabs/receiver.js b/tabs/receiver.js index 6bfd651e..b2e45fea 100644 --- a/tabs/receiver.js +++ b/tabs/receiver.js @@ -1,7 +1,7 @@ 'use strict'; TABS.receiver = { - rateChartHeight: 120 + rateChartHeight: 117 }; TABS.receiver.initialize = function (callback) { @@ -219,21 +219,22 @@ TABS.receiver.initialize = function (callback) { } // math magic by englishman - var midx = 220 * mid, + var midx = 200 * mid, midxl = midx * 0.5, - midxr = (((220 - midx) * 0.5) + midx), - midy = rateHeight - (midx * (rateHeight / 220)), + midxr = (((200 - midx) * 0.5) + midx), + midy = rateHeight - (midx * (rateHeight / 200)), midyl = rateHeight - ((rateHeight - midy) * 0.5 *(expo + 1)), midyr = (midy / 2) * (expo + 1); // draw - context.clearRect(0, 0, 220, rateHeight); + context.clearRect(0, 0, 200, rateHeight); context.beginPath(); context.moveTo(0, rateHeight); context.quadraticCurveTo(midxl, midyl, midx, midy); context.moveTo(midx, midy); - context.quadraticCurveTo(midxr, midyr, 220, 0); + context.quadraticCurveTo(midxr, midyr, 200, 0); context.lineWidth = 2; + context.strokeStyle = '#59aa29'; context.stroke(); }, 0); }).trigger('input'); @@ -261,11 +262,12 @@ TABS.receiver.initialize = function (callback) { var ratey = rateHeight * rate; // draw - context.clearRect(0, 0, 220, rateHeight); + context.clearRect(0, 0, 200, rateHeight); context.beginPath(); context.moveTo(0, rateHeight); - context.quadraticCurveTo(110, rateHeight - ((ratey / 2) * (1 - expo)), 220, rateHeight - ratey); + context.quadraticCurveTo(110, rateHeight - ((ratey / 2) * (1 - expo)), 200, rateHeight - ratey); context.lineWidth = 2; + context.strokeStyle = '#59aa29'; context.stroke(); }, 0); }).trigger('input'); diff --git a/tabs/setup.css b/tabs/setup.css index bea001d1..df938eb1 100644 --- a/tabs/setup.css +++ b/tabs/setup.css @@ -1,19 +1,11 @@ - - .tab_setup .model-and-info { float: left; } - - .tab_setup .default_btn { margin-bottom:10px; } - - - - #interactive_block { position: absolute; width: calc(75% - 30px); @@ -35,13 +27,10 @@ margin-bottom:10px; color: #616161; } - - .attitude_info dl { width:100%; } - .attitude_info dt { width:50%; float:left; @@ -75,12 +64,16 @@ margin-bottom:10px; #interactive_block a.reset:hover { background-color: #dedcdc; } + #canvas_wrapper { position: absolute; width: 100%; height: 100%; top: 0; left: 0; + background-image:url(../images/paper.jpg); + background-size:100%; + background-position:center; }