@@ -8,6 +8,7 @@ import { gui_log } from "../gui_log";
8
8
import $ from "jquery" ;
9
9
10
10
const servos = { } ;
11
+
11
12
servos . initialize = function ( callback ) {
12
13
if ( GUI . active_tab !== "servos" ) {
13
14
GUI . active_tab = "servos" ;
@@ -42,20 +43,22 @@ servos.initialize = function (callback) {
42
43
43
44
$ ( ".tab-servos" ) . addClass ( "supported" ) ;
44
45
45
- let servoCheckbox = "" ;
46
+ // setup header
46
47
let servoHeader = "" ;
47
48
for ( let i = 0 ; i < FC . RC . active_channels - 4 ; i ++ ) {
48
49
servoHeader += `<th>A${ i + 1 } </th>` ;
49
50
}
51
+
50
52
servoHeader += '<th style="width: 110px" i18n="servosRateAndDirection"></th>' ;
51
- servoHeader += '<th style="width: 110px" i18n="servosReverse"></th>' ;
52
53
54
+ $ ( "div.tab-servos table.fields tr.main" ) . append ( servoHeader ) ;
55
+
56
+ // setup checkboxes
57
+ let servoCheckbox = "" ;
53
58
for ( let i = 0 ; i < FC . RC . active_channels ; i ++ ) {
54
- servoCheckbox += `<td class="channel"><input type="checkbox"/></td>` ;
59
+ servoCheckbox += `<td class="channel" id="channel ${ i } " ><input type="checkbox"/></td>` ;
55
60
}
56
61
57
- $ ( "div.tab-servos table.fields tr.main" ) . append ( servoHeader ) ;
58
-
59
62
/*
60
63
* function: void process_servos(string, object)
61
64
*/
@@ -69,8 +72,7 @@ servos.initialize = function (callback) {
69
72
element += `<td class="min">${ subElement } ${ FC . SERVO_CONFIG [ obj ] . min } " /></td>` ;
70
73
element += `<td class="middle">${ subElement } ${ FC . SERVO_CONFIG [ obj ] . middle } " /></td>` ;
71
74
element += `<td class="max">${ subElement } ${ FC . SERVO_CONFIG [ obj ] . max } " /></td>` ;
72
- element += `${ servoCheckbox } <td class="direction"></td>` ;
73
- element += `<td class="reverse"></td></tr>` ;
75
+ element += `${ servoCheckbox } <td class="direction"></td></tr>` ;
74
76
75
77
$ ( "div.tab-servos table.fields" ) . append ( element ) ;
76
78
@@ -95,17 +97,18 @@ servos.initialize = function (callback) {
95
97
96
98
$ ( "div.tab-servos table.fields tr:last" ) . data ( "info" , { obj : obj } ) ;
97
99
98
- // adding select box for servo reverse
99
- $ ( "div.tab-servos table.fields tr:last td.reverse" ) . append (
100
- '<select class="reverse" name="reverse"></select>' ,
101
- ) ;
102
-
103
- const reverse = $ ( "div.tab-servos table.fields tr:last td.reverse select" ) ;
104
-
105
- reverse . append ( `<option value="0">${ i18n . getMessage ( "servosNormal" ) } </option>` ) ;
106
- reverse . append ( `<option value="1">${ i18n . getMessage ( "servosReverse" ) } </option>` ) ;
107
-
108
- reverse . val ( FC . SERVO_CONFIG [ obj ] . reversedInputSources ) ;
100
+ // check if input sources are reversed
101
+ for ( const rule of FC . SERVO_RULES ) {
102
+ const inputSource = rule . inputSource ;
103
+ const reversed = FC . SERVO_CONFIG [ obj ] . reversedInputSources & ( 1 << inputSource ) ;
104
+ if ( reversed ) {
105
+ FC . SERVO_CONFIG [ obj ] . reversedInputSources |= 1 << inputSource ;
106
+ const inputSourceElement = $ ( `#channel${ inputSource } ` ) . find ( "input" ) ;
107
+ if ( inputSourceElement ) {
108
+ inputSourceElement . prop ( "checked" , true ) . parent ( ) . css ( "background-color" , "red" ) ;
109
+ }
110
+ }
111
+ }
109
112
110
113
// UI hooks
111
114
@@ -138,7 +141,6 @@ servos.initialize = function (callback) {
138
141
FC . SERVO_CONFIG [ info . obj ] . max = parseInt ( $ ( ".max input" , this ) . val ( ) ) ;
139
142
140
143
FC . SERVO_CONFIG [ info . obj ] . rate = parseInt ( $ ( ".direction select" , this ) . val ( ) ) ;
141
- FC . SERVO_CONFIG [ info . obj ] . reversedInputSources = parseInt ( $ ( ".reverse select" , this ) . val ( ) ) ;
142
144
} ) ;
143
145
144
146
//
0 commit comments