@ncd-io/node-red-enterprise-sensors 0.1.9 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/WirelessGateway.js +37 -12
- package/package.json +1 -1
package/lib/WirelessGateway.js
CHANGED
|
@@ -367,17 +367,17 @@ module.exports = class WirelessSensor{
|
|
|
367
367
|
default:
|
|
368
368
|
en_axis_data.increment = 0;
|
|
369
369
|
}
|
|
370
|
-
var fsr_mult = .
|
|
370
|
+
var fsr_mult = .000019;
|
|
371
371
|
var fsr_text = "";
|
|
372
372
|
switch(globalDevices[deviceAddr].fsr){
|
|
373
373
|
case 0:
|
|
374
|
-
fsr_mult = 0.
|
|
374
|
+
fsr_mult = 0.000019;
|
|
375
375
|
break;
|
|
376
376
|
case 1:
|
|
377
|
-
fsr_mult = 0.
|
|
377
|
+
fsr_mult = 0.000038;
|
|
378
378
|
break;
|
|
379
379
|
case 2:
|
|
380
|
-
fsr_mult = 0.
|
|
380
|
+
fsr_mult = 0.000076;
|
|
381
381
|
break;
|
|
382
382
|
}
|
|
383
383
|
switch(globalDevices[deviceAddr].fsr){
|
|
@@ -405,13 +405,13 @@ module.exports = class WirelessSensor{
|
|
|
405
405
|
fft_concat[label] = {};
|
|
406
406
|
|
|
407
407
|
if('x_offset' in en_axis_data){
|
|
408
|
-
fft_concat[label].x = parseFloat((signInt(((raw_data[i+en_axis_data.x_offset]<<8)+(raw_data[i+en_axis_data.x_offset+1])), 16)
|
|
408
|
+
fft_concat[label].x = parseFloat((signInt(((raw_data[i+en_axis_data.x_offset]<<8)+(raw_data[i+en_axis_data.x_offset+1])), 16)*fsr_mult).toFixed(5));
|
|
409
409
|
}
|
|
410
410
|
if('y_offset' in en_axis_data){
|
|
411
|
-
fft_concat[label].y = parseFloat((signInt(((raw_data[i+en_axis_data.y_offset]<<8)+(raw_data[i+en_axis_data.y_offset+1])), 16)
|
|
411
|
+
fft_concat[label].y = parseFloat((signInt(((raw_data[i+en_axis_data.y_offset]<<8)+(raw_data[i+en_axis_data.y_offset+1])), 16)*fsr_mult).toFixed(5));
|
|
412
412
|
}
|
|
413
413
|
if('z_offset' in en_axis_data){
|
|
414
|
-
fft_concat[label].z = parseFloat((signInt(((raw_data[i+en_axis_data.z_offset]<<8)+(raw_data[i+en_axis_data.z_offset+1])), 16)
|
|
414
|
+
fft_concat[label].z = parseFloat((signInt(((raw_data[i+en_axis_data.z_offset]<<8)+(raw_data[i+en_axis_data.z_offset+1])), 16)*fsr_mult).toFixed(5));
|
|
415
415
|
}
|
|
416
416
|
|
|
417
417
|
|
|
@@ -432,6 +432,7 @@ module.exports = class WirelessSensor{
|
|
|
432
432
|
en_axis: globalDevices[deviceAddr].en_axis,
|
|
433
433
|
odr: globalDevices[deviceAddr].odr,
|
|
434
434
|
device_temp: globalDevices[deviceAddr].device_temp,
|
|
435
|
+
fsr: globalDevices[deviceAddr].fsr,
|
|
435
436
|
data: fft_concat
|
|
436
437
|
};
|
|
437
438
|
if(firmware > 0){
|
|
@@ -1034,6 +1035,24 @@ module.exports = class WirelessSensor{
|
|
|
1034
1035
|
console.log(packet);
|
|
1035
1036
|
return this.config_send(sensor_mac, packet);
|
|
1036
1037
|
}
|
|
1038
|
+
config_clear_stored_calibration_65(sensor_mac){
|
|
1039
|
+
console.log('config_clear_stored_calibration_65');
|
|
1040
|
+
var packet = [244, 88, 0, 0, 65, 1];
|
|
1041
|
+
console.log(packet);
|
|
1042
|
+
return this.config_send(sensor_mac, packet);
|
|
1043
|
+
}
|
|
1044
|
+
config_atmospheric_calibration_command_65(sensor_mac){
|
|
1045
|
+
console.log('config_send_atmospheric_calibration_command_65');
|
|
1046
|
+
var packet = [244, 88, 0, 0, 65, 2];
|
|
1047
|
+
console.log(packet);
|
|
1048
|
+
return this.config_send(sensor_mac, packet);
|
|
1049
|
+
}
|
|
1050
|
+
config_calibrate_zero_point_65(sensor_mac){
|
|
1051
|
+
console.log('config_calibrate_zero_point_65');
|
|
1052
|
+
var packet = [244, 88, 0, 0, 65, 3];
|
|
1053
|
+
console.log(packet);
|
|
1054
|
+
return this.config_send(sensor_mac, packet);
|
|
1055
|
+
}
|
|
1037
1056
|
config_set_payload_length_80(sensor_mac, value){
|
|
1038
1057
|
console.log('config_set_payload_length_80');
|
|
1039
1058
|
var packet = [244, 79, 0, 0, 80, 68, value];
|
|
@@ -2304,8 +2323,8 @@ function sensor_types(parent){
|
|
|
2304
2323
|
dialectric_constant: signInt(d.slice(8, 12).reduce(msbLsb), 32) / 100,
|
|
2305
2324
|
temperature: signInt(d.slice(12, 16).reduce(msbLsb), 32) / 100,
|
|
2306
2325
|
saturability: signInt(d.slice(16, 20).reduce(msbLsb), 32) / 100,
|
|
2307
|
-
|
|
2308
|
-
|
|
2326
|
+
moisture_content: signInt(d.slice(20, 24).reduce(msbLsb), 32) / 100,
|
|
2327
|
+
water_content: signInt(d.slice(24, 28).reduce(msbLsb), 32) / 100,
|
|
2309
2328
|
kinematic_viscosity_40c: signInt(d.slice(28, 32).reduce(msbLsb), 32) / 100,
|
|
2310
2329
|
kinematic_viscosity_100c: signInt(d.slice(32, 36).reduce(msbLsb), 32) / 100
|
|
2311
2330
|
};
|
|
@@ -5907,12 +5926,18 @@ function sensor_types(parent){
|
|
|
5907
5926
|
}
|
|
5908
5927
|
},
|
|
5909
5928
|
'521': {
|
|
5910
|
-
name: 'Type
|
|
5929
|
+
name: 'Type 521 - 3 Channel Light Sensor',
|
|
5911
5930
|
parse: (payload, parsed) => {
|
|
5912
5931
|
return {
|
|
5913
5932
|
lux_1: payload.slice(0, 2).reduce(msbLsb)/100,
|
|
5914
|
-
|
|
5915
|
-
|
|
5933
|
+
temp_1: payload.slice(2, 4).reduce(msbLsb)/100,
|
|
5934
|
+
ext_temp_1: payload.slice(4, 6).reduce(msbLsb)/100,
|
|
5935
|
+
lux_2: payload.slice(6, 8).reduce(msbLsb)/100,
|
|
5936
|
+
temp_2: payload.slice(8, 10).reduce(msbLsb)/100,
|
|
5937
|
+
ext_temp_2: payload.slice(10, 12).reduce(msbLsb)/100,
|
|
5938
|
+
lux_3: payload.slice(12, 14).reduce(msbLsb)/100,
|
|
5939
|
+
temp_3: payload.slice(14, 16).reduce(msbLsb)/100,
|
|
5940
|
+
ext_temp_3: payload.slice(16, 18).reduce(msbLsb)/100
|
|
5916
5941
|
}
|
|
5917
5942
|
}
|
|
5918
5943
|
},
|