@ncd-io/node-red-enterprise-sensors 0.1.8 → 0.1.10

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.
@@ -367,17 +367,17 @@ module.exports = class WirelessSensor{
367
367
  default:
368
368
  en_axis_data.increment = 0;
369
369
  }
370
- var fsr_mult = .00006;
370
+ var fsr_mult = .000019;
371
371
  var fsr_text = "";
372
372
  switch(globalDevices[deviceAddr].fsr){
373
373
  case 0:
374
- fsr_mult = 0.00003;
374
+ fsr_mult = 0.000019;
375
375
  break;
376
376
  case 1:
377
- fsr_mult = 0.0006;
377
+ fsr_mult = 0.000038;
378
378
  break;
379
379
  case 2:
380
- fsr_mult = 0.00012;
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)*.00006).toFixed(5));
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)*.00006).toFixed(5));
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)*.00006).toFixed(5));
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];
@@ -2257,25 +2276,42 @@ function sensor_types(parent){
2257
2276
  },
2258
2277
  '78': {
2259
2278
  name: 'Oil Particulate Counter Sensor',
2260
- parse: (d) => {
2261
- return {
2262
-
2263
- ferro_particles_lt_50_um: d.slice(0, 2).reduce(msbLsb),
2264
- ferro_particles_50_100_um: d.slice(2, 4).reduce(msbLsb),
2265
- ferro_particles_100_200_um: d.slice(4, 6).reduce(msbLsb),
2266
- ferro_particles_200_400_um: d.slice(6, 8).reduce(msbLsb),
2267
- ferro_particles_400_800_um: d.slice(8, 10).reduce(msbLsb),
2268
- ferro_particles_gt_800_um: d.slice(10, 12).reduce(msbLsb),
2269
- ferro_particles_total: d.slice(12, 14).reduce(msbLsb),
2270
- non_ferro_particles_150_200_um: d.slice(14, 16).reduce(msbLsb),
2271
- non_ferro_particles_200_400_um: d.slice(16, 18).reduce(msbLsb),
2272
- non_ferro_particles_400_800_um: d.slice(18, 20).reduce(msbLsb),
2273
- non_ferro_particles_800_1600_um: d.slice(20, 22).reduce(msbLsb),
2274
- non_ferro_particles_gt_1600_um: d.slice(22, 24).reduce(msbLsb),
2275
- non_ferro_particles_total: d.slice(24, 26).reduce(msbLsb),
2276
- ferro_particles_total_24h: d.slice(26, 28).reduce(msbLsb),
2277
- non_ferro_particles_total_24h: d.slice(28, 30).reduce(msbLsb)
2278
- };
2279
+ parse: (d, original_payload) => {
2280
+ if(original_payload[1] <= 3){
2281
+ return {
2282
+ ferro_particles_30_50_um: d.slice(0, 4).reduce(msbLsb)/100,
2283
+ ferro_particles_50_100_um: d.slice(4, 8).reduce(msbLsb)/100,
2284
+ ferro_particles_100_200_um: d.slice(8, 12).reduce(msbLsb)/100,
2285
+ ferro_particles_200_400_um: d.slice(12, 16).reduce(msbLsb)/100,
2286
+ ferro_particles_400_800_um: d.slice(16, 20).reduce(msbLsb)/100,
2287
+ ferro_particles_gt_800_um: d.slice(20, 24).reduce(msbLsb)/100,
2288
+ ferro_particles_total: d.slice(24, 28).reduce(msbLsb)/100,
2289
+ non_ferro_particles_120_200_um: d.slice(28, 32).reduce(msbLsb)/100,
2290
+ non_ferro_particles_200_400_um: d.slice(32, 36).reduce(msbLsb)/100,
2291
+ non_ferro_particles_400_800_um: d.slice(36, 40).reduce(msbLsb)/100
2292
+ };
2293
+ }else{
2294
+ return {
2295
+ ferro_particles_30_50_um: d.slice(0, 4).reduce(msbLsb)/100,
2296
+ ferro_particles_50_100_um: d.slice(4, 8).reduce(msbLsb)/100,
2297
+ ferro_particles_100_200_um: d.slice(8, 12).reduce(msbLsb)/100,
2298
+ ferro_particles_200_400_um: d.slice(12, 16).reduce(msbLsb)/100,
2299
+ ferro_particles_400_800_um: d.slice(16, 20).reduce(msbLsb)/100,
2300
+ ferro_particles_gt_800_um: d.slice(20, 24).reduce(msbLsb)/100,
2301
+ ferro_particles_total: d.slice(24, 28).reduce(msbLsb)/100,
2302
+ non_ferro_particles_120_200_um: d.slice(28, 32).reduce(msbLsb)/100,
2303
+ non_ferro_particles_200_400_um: d.slice(32, 36).reduce(msbLsb)/100,
2304
+ non_ferro_particles_400_800_um: d.slice(36, 40).reduce(msbLsb)/100,
2305
+ non_ferro_particles_800_1600_um: d.slice(40, 44).reduce(msbLsb)/100,
2306
+ non_ferro_particles_gt_1600_um: d.slice(44, 48).reduce(msbLsb)/100,
2307
+ non_ferro_particles_total: d.slice(48, 52).reduce(msbLsb)/100,
2308
+ ferro_particles_total_24h: d.slice(52, 56).reduce(msbLsb)/100,
2309
+ non_ferro_particles_total_24h: d.slice(56, 60).reduce(msbLsb)/100,
2310
+ ferro_concentration: d.slice(60, 64).reduce(msbLsb)/100,
2311
+ non_ferro_concentration: d.slice(64, 68).reduce(msbLsb)/100,
2312
+ flow: d.slice(68, 72).reduce(msbLsb)/100,
2313
+ };
2314
+ }
2279
2315
  }
2280
2316
  },
2281
2317
  '79': {
@@ -2287,8 +2323,8 @@ function sensor_types(parent){
2287
2323
  dialectric_constant: signInt(d.slice(8, 12).reduce(msbLsb), 32) / 100,
2288
2324
  temperature: signInt(d.slice(12, 16).reduce(msbLsb), 32) / 100,
2289
2325
  saturability: signInt(d.slice(16, 20).reduce(msbLsb), 32) / 100,
2290
- water_content: signInt(d.slice(20, 24).reduce(msbLsb), 32) / 100,
2291
- moisture_content: signInt(d.slice(24, 28).reduce(msbLsb), 32) / 100,
2326
+ moisture_content: signInt(d.slice(20, 24).reduce(msbLsb), 32) / 100,
2327
+ water_content: signInt(d.slice(24, 28).reduce(msbLsb), 32) / 100,
2292
2328
  kinematic_viscosity_40c: signInt(d.slice(28, 32).reduce(msbLsb), 32) / 100,
2293
2329
  kinematic_viscosity_100c: signInt(d.slice(32, 36).reduce(msbLsb), 32) / 100
2294
2330
  };
@@ -5890,12 +5926,18 @@ function sensor_types(parent){
5890
5926
  }
5891
5927
  },
5892
5928
  '521': {
5893
- name: 'Type 520 - 6 Channel Current Temperature and Humidity',
5929
+ name: 'Type 521 - 3 Channel Light Sensor',
5894
5930
  parse: (payload, parsed) => {
5895
5931
  return {
5896
5932
  lux_1: payload.slice(0, 2).reduce(msbLsb)/100,
5897
- lux_2: payload.slice(2, 4).reduce(msbLsb)/100,
5898
- lux_3: payload.slice(4, 6).reduce(msbLsb)/100
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
5899
5941
  }
5900
5942
  }
5901
5943
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ncd-io/node-red-enterprise-sensors",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {