Skip to content

Commit ca949a5

Browse files
fix: gpio_input / gpio_output / gpio_counter
1 parent d1a4b79 commit ca949a5

File tree

4 files changed

+55
-54
lines changed

4 files changed

+55
-54
lines changed

vendors/milesight-iot/uc-series/uc300/uc300-decoder.js

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ function Decoder(bytes, port) {
2626
}
2727
/* eslint-enable */
2828

29-
var gpio_in_chns = [0x03, 0x04, 0x05, 0x06];
30-
var gpio_out_chns = [0x07, 0x08];
29+
var gpio_input_chns = [0x03, 0x04, 0x05, 0x06];
30+
var gpio_output_chns = [0x07, 0x08];
3131
var pt100_chns = [0x09, 0x0a];
3232
var ai_chns = [0x0b, 0x0c];
3333
var av_chns = [0x0d, 0x0e];
@@ -80,23 +80,23 @@ function milesightDeviceDecode(bytes) {
8080
i += 1;
8181
}
8282
// GPIO INPUT
83-
else if (includes(gpio_in_chns, channel_id) && channel_type === 0x00) {
84-
var id = channel_id - gpio_in_chns[0] + 1;
85-
var gpio_in_name = "gpio_in_" + id;
86-
decoded[gpio_in_name] = readOnOffStatus(bytes[i]);
83+
else if (includes(gpio_input_chns, channel_id) && channel_type === 0x00) {
84+
var id = channel_id - gpio_input_chns[0] + 1;
85+
var gpio_input_name = "gpio_input_" + id;
86+
decoded[gpio_input_name] = readOnOffStatus(bytes[i]);
8787
i += 1;
8888
}
8989
// GPIO OUTPUT
90-
else if (includes(gpio_out_chns, channel_id) && channel_type === 0x01) {
91-
var id = channel_id - gpio_out_chns[0] + 1;
92-
var gpio_out_name = "gpio_out_" + id;
93-
decoded[gpio_out_name] = readOnOffStatus(bytes[i]);
90+
else if (includes(gpio_output_chns, channel_id) && channel_type === 0x01) {
91+
var id = channel_id - gpio_output_chns[0] + 1;
92+
var gpio_output_name = "gpio_output_" + id;
93+
decoded[gpio_output_name] = readOnOffStatus(bytes[i]);
9494
i += 1;
9595
}
9696
// GPIO AS COUNTER
97-
else if (includes(gpio_in_chns, channel_id) && channel_type === 0xc8) {
98-
var id = channel_id - gpio_in_chns[0] + 1;
99-
var counter_name = "counter_" + id;
97+
else if (includes(gpio_input_chns, channel_id) && channel_type === 0xc8) {
98+
var id = channel_id - gpio_input_chns[0] + 1;
99+
var counter_name = "gpio_counter_" + id;
100100
decoded[counter_name] = readUInt32LE(bytes.slice(i, i + 4));
101101
i += 4;
102102
}
@@ -220,20 +220,20 @@ function milesightDeviceDecode(bytes) {
220220
var type = bytes[i++];
221221
// AS GPIO INPUT
222222
if (type === 0) {
223-
var name = "gpio_in_" + (j + 1);
223+
var name = "gpio_input_" + (j + 1);
224224
data[name] = readOnOffStatus(readUInt32LE(bytes.slice(i, i + 4)));
225225
i += 4;
226226
}
227227
// AS COUNTER
228228
else {
229-
var name = "counter_" + (j + 1);
229+
var name = "gpio_counter_" + (j + 1);
230230
data[name] = readUInt32LE(bytes.slice(i, i + 4));
231231
i += 4;
232232
}
233233
}
234234
// GPIO OUTPUT
235235
else if (j < 6) {
236-
var name = "gpio_out_" + (j - 4 + 1);
236+
var name = "gpio_output_" + (j - 4 + 1);
237237
data[name] = readOnOffStatus(bytes[i]);
238238
i += 1;
239239
}
@@ -357,15 +357,15 @@ function handle_downlink_response(channel_type, bytes, offset) {
357357
break;
358358
case 0x91:
359359
decoded.jitter_config = decoded.jitter_config || {};
360-
var channel_map = { all: 0, gpio_in_1: 1, gpio_in_2: 2, gpio_in_3: 3, gpio_in_4: 4, gpio_out_1: 5, gpio_out_2: 6 };
360+
var channel_map = { all: 0, gpio_input_1: 1, gpio_input_2: 2, gpio_input_3: 3, gpio_input_4: 4, gpio_output_1: 5, gpio_output_2: 6 };
361361
var channel_id = readUInt8(bytes[offset]);
362362
decoded.jitter_config[channel_map[channel_id]] = readUInt32LE(bytes.slice(offset + 1, offset + 5));
363363
offset += 5;
364364
break;
365365
case 0x92:
366366
var gpio_index = readUInt8(bytes[offset]);
367-
var gpio_out_chn_name = "gpio_out_" + gpio_index + "_control";
368-
decoded[gpio_out_chn_name] = {
367+
var gpio_output_chn_name = "gpio_output_" + gpio_index + "_control";
368+
decoded[gpio_output_chn_name] = {
369369
status: readOnOffStatus(bytes[offset + 1]),
370370
duration: readUInt32LE(bytes.slice(offset + 2, offset + 6)),
371371
};

vendors/milesight-iot/uc-series/uc300/uc300-encoder.js

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -56,17 +56,17 @@ function milesightDeviceEncode(payload) {
5656
if ("jitter_config" in payload) {
5757
encoded = encoded.concat(setJitterConfig(payload.jitter_config));
5858
}
59-
if ("gpio_out_1_control" in payload) {
60-
encoded = encoded.concat(controlOutputStatusWithDuration(1, payload.gpio_out_1_control));
59+
if ("gpio_output_1_control" in payload) {
60+
encoded = encoded.concat(controlOutputStatusWithDuration(1, payload.gpio_output_1_control));
6161
}
62-
if ("gpio_out_2_control" in payload) {
63-
encoded = encoded.concat(controlOutputStatusWithDuration(2, payload.gpio_out_2_control));
62+
if ("gpio_output_2_control" in payload) {
63+
encoded = encoded.concat(controlOutputStatusWithDuration(2, payload.gpio_output_2_control));
6464
}
65-
if ("gpio_out_1" in payload) {
66-
encoded = encoded.concat(controlOutputStatus(1, payload.gpio_out_1));
65+
if ("gpio_output_1" in payload) {
66+
encoded = encoded.concat(controlOutputStatus(1, payload.gpio_output_1));
6767
}
68-
if ("gpio_out_2" in payload) {
69-
encoded = encoded.concat(controlOutputStatus(2, payload.gpio_out_2));
68+
if ("gpio_output_2" in payload) {
69+
encoded = encoded.concat(controlOutputStatus(2, payload.gpio_output_2));
7070
}
7171

7272
return encoded;
@@ -225,16 +225,17 @@ function reportStatus(report_status) {
225225
* Set jitter config
226226
* @param {object} jitter_config
227227
* @param {number} jitter_config.all unit: millisecond
228-
* @param {number} jitter_config.gpio_in_2 unit: millisecond
229-
* @param {number} jitter_config.gpio_in_3 unit: millisecond
230-
* @param {number} jitter_config.gpio_in_4 unit: millisecond
231-
* @param {number} jitter_config.gpio_out_1 unit: millisecond
232-
* @param {number} jitter_config.gpio_out_2 unit: millisecond
228+
* @param {number} jitter_config.gpio_input_1 unit: millisecond
229+
* @param {number} jitter_config.gpio_input_2 unit: millisecond
230+
* @param {number} jitter_config.gpio_input_3 unit: millisecond
231+
* @param {number} jitter_config.gpio_input_4 unit: millisecond
232+
* @param {number} jitter_config.gpio_output_1 unit: millisecond
233+
* @param {number} jitter_config.gpio_output_2 unit: millisecond
233234
* @example { "jitter_config": { "all": 100 } }
234-
* @example { "jitter_config": { "gpio_in_1": 1000, "gpio_in_2": 1000 } }
235+
* @example { "jitter_config": { "gpio_input_1": 1000, "gpio_input_2": 1000 } }
235236
*/
236237
function setJitterConfig(jitter_config) {
237-
var channel_map = { all: 0, gpio_in_1: 1, gpio_in_2: 2, gpio_in_3: 3, gpio_in_4: 4, gpio_out_1: 5, gpio_out_2: 6 };
238+
var channel_map = { all: 0, gpio_input_1: 1, gpio_input_2: 2, gpio_input_3: 3, gpio_input_4: 4, gpio_output_1: 5, gpio_output_2: 6 };
238239

239240
var data = [];
240241
for (var key in channel_map) {
@@ -252,23 +253,23 @@ function setJitterConfig(jitter_config) {
252253

253254
/**
254255
* Control output with time
255-
* @param {object} gpio_out_x_control
256-
* @param {number} gpio_out_x_control.duration unit: millisecond
257-
* @param {number} gpio_out_x_control.status values: (0: off, 1: on)
258-
* @example { "gpio_out_1_control": { "duration": 1000, "status": 1 } }
259-
* @example { "gpio_out_2_control": { "duration": 1000, "status": 0 } }
256+
* @param {object} gpio_output_x_control
257+
* @param {number} gpio_output_x_control.duration unit: millisecond
258+
* @param {number} gpio_output_x_control.status values: (0: off, 1: on)
259+
* @example { "gpio_output_1_control": { "duration": 1000, "status": 1 } }
260+
* @example { "gpio_output_2_control": { "duration": 1000, "status": 0 } }
260261
*/
261-
function controlOutputStatusWithDuration(gpio_index, gpio_out_x_control) {
262-
var duration = gpio_out_x_control.duration;
263-
var status = gpio_out_x_control.status;
262+
function controlOutputStatusWithDuration(gpio_index, gpio_output_x_control) {
263+
var duration = gpio_output_x_control.duration;
264+
var status = gpio_output_x_control.status;
264265
var gpio_chns = [1, 2];
265266
if (gpio_chns.indexOf(gpio_index) === -1) {
266-
throw new Error("gpio_out_x_control must be one of " + gpio_chns.join(", "));
267+
throw new Error("gpio_output_x_control must be one of " + gpio_chns.join(", "));
267268
}
268269
var on_off_map = { 0: "off", 1: "on" };
269270
var on_off_values = getValues(on_off_map);
270271
if (on_off_values.indexOf(status) === -1) {
271-
throw new Error("gpio_out_" + gpio_index + "_control.status must be one of " + on_off_values.join(", "));
272+
throw new Error("gpio_output_" + gpio_index + "_control.status must be one of " + on_off_values.join(", "));
272273
}
273274

274275
var buffer = new Buffer(7);
@@ -282,10 +283,10 @@ function controlOutputStatusWithDuration(gpio_index, gpio_out_x_control) {
282283

283284
/**
284285
* Control output status
285-
* @param {number} gpio_index values: (1: gpio_out_1, 2: gpio_out_2)
286+
* @param {number} gpio_index values: (1: gpio_output_1, 2: gpio_output_2)
286287
* @param {number} status values: (0: off, 1: on)
287-
* @example { "gpio_out_1": 1 }
288-
* @example { "gpio_out_2": 0 }
288+
* @example { "gpio_output_1": 1 }
289+
* @example { "gpio_output_2": 0 }
289290
*/
290291
function controlOutputStatus(gpio_index, status) {
291292
var gpio_chns = [1, 2];
@@ -295,7 +296,7 @@ function controlOutputStatus(gpio_index, status) {
295296
var on_off_map = { 0: "off", 1: "on" };
296297
var on_off_values = getValues(on_off_map);
297298
if (on_off_values.indexOf(status) === -1) {
298-
throw new Error("gpio_out_" + gpio_index + "_control.status must be one of " + on_off_values.join(", "));
299+
throw new Error("gpio_output_" + gpio_index + "_control.status must be one of " + on_off_values.join(", "));
299300
}
300301

301302
var channel_ids = [0x07, 0x08];

vendors/milesight-iot/uc-series/uc501/uc501-encoder.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -360,10 +360,10 @@ function stopTransmit(stop_transmit) {
360360

361361
/**
362362
* Control output status
363-
* @param {number} gpio_index values: (1: gpio_out_1, 2: gpio_out_2)
363+
* @param {number} gpio_index values: (1: gpio_output_1, 2: gpio_output_2)
364364
* @param {number} status values: (0: off, 1: on)
365-
* @example { "gpio_out_1": 1 }
366-
* @example { "gpio_out_2": 0 }
365+
* @example { "gpio_output_1": 1 }
366+
* @example { "gpio_output_2": 0 }
367367
*/
368368
function controlOutputStatus(gpio_index, status) {
369369
var gpio_chns = [1, 2];

vendors/milesight-iot/uc-series/uc502/uc502-encoder.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -360,10 +360,10 @@ function stopTransmit(stop_transmit) {
360360

361361
/**
362362
* Control output status
363-
* @param {number} gpio_index values: (1: gpio_out_1, 2: gpio_out_2)
363+
* @param {number} gpio_index values: (1: gpio_output_1, 2: gpio_output_2)
364364
* @param {number} status values: (0: off, 1: on)
365-
* @example { "gpio_out_1": 1 }
366-
* @example { "gpio_out_2": 0 }
365+
* @example { "gpio_output_1": 1 }
366+
* @example { "gpio_output_2": 0 }
367367
*/
368368
function controlOutputStatus(gpio_index, status) {
369369
var gpio_chns = [1, 2];

0 commit comments

Comments
 (0)