@ncd-io/node-red-enterprise-sensors 1.1.1 → 1.1.3

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.
@@ -202,7 +202,10 @@ module.exports = class WirelessSensor{
202
202
  frame.data.splice(2,0,frame.data[5],0);
203
203
  this.sensor_pool[frame.mac].reported_config = this.sensor_types[data.sensor_type].parse_fly(frame.data);
204
204
  }else if(mode === 'ACK'){
205
- this.sensor_pool[frame.mac].result = data.result;
205
+ this.sensor_pool[frame.mac].status = data.result;
206
+ if(data.data.length){
207
+ this.sensor_pool[frame.mac].data = data.data;
208
+ };
206
209
  }
207
210
  var that = this;
208
211
 
@@ -1161,9 +1164,15 @@ module.exports = class WirelessSensor{
1161
1164
  console.log(packet);
1162
1165
  return this.config_send(sensor_mac, packet);
1163
1166
  }
1164
- config_set_acceleration_interrupt_threshold_84(sensor_mac, value){
1165
- console.log('config_set_acceleration_interrupt_threshold_84');
1166
- var packet = [244, 79, 0, 0, 0, 60, value];
1167
+ config_set_acceleration_interrupt_threshold_p1_84(sensor_mac, value){
1168
+ console.log('config_set_acceleration_interrupt_threshold_p1_84');
1169
+ var packet = [244, 79, 0, 0, 0, 60, 1, value];
1170
+ console.log(packet);
1171
+ return this.config_send(sensor_mac, packet);
1172
+ }
1173
+ config_set_acceleration_interrupt_threshold_p2_84(sensor_mac, value){
1174
+ console.log('config_set_acceleration_interrupt_threshold_p2_84');
1175
+ var packet = [244, 79, 0, 0, 0, 60, 2, value];
1167
1176
  console.log(packet);
1168
1177
  return this.config_send(sensor_mac, packet);
1169
1178
  }
@@ -1805,6 +1814,12 @@ module.exports = class WirelessSensor{
1805
1814
  console.log(packet);
1806
1815
  return this.config_send(sensor_mac, packet);
1807
1816
  }
1817
+ config_set_mode_97(sensor_mac, value){
1818
+ console.log('config_set_mode_97');
1819
+ var packet = [244, 83, 0, 0, 0, value]
1820
+ console.log(packet);
1821
+ return this.config_send(sensor_mac, packet);
1822
+ }
1808
1823
  config_get_delay(sensor_mac){
1809
1824
  return new Promise((fulfill, reject) => {
1810
1825
  this.config_send(sensor_mac, [247, 21, 0, 0, 0]).then((res) => {
@@ -3245,23 +3260,46 @@ function sensor_types(parent){
3245
3260
  }
3246
3261
  },
3247
3262
  'parse_fly': (frame) => {
3248
- return {
3249
- 'firmware': frame[2],
3250
- 'calibration_days': frame[12],
3251
- 'sensor_update_rate':frame.slice(13, 15).reduce(msbLsb),
3252
- 'hardware_id_1': frame[15],
3253
- 'hardware_id_2': frame[16],
3254
- 'hardware_id_3': frame[17],
3255
- 'report_rate': frame.slice(18, 22).reduce(msbLsb),
3256
- 'tx_counter': frame.slice(22, 26).reduce(msbLsb),
3257
- 'machine_values': {
3263
+ if(frame[2] > 2){
3264
+ return {
3265
+ 'firmware': frame[2],
3266
+ 'calibration_days': frame[12] + ' days',
3267
+ 'sensor_update_rate':frame.slice(13, 15).reduce(msbLsb) + ' sec',
3268
+ 'heater_duration': frame.slice(15, 17).reduce(msbLsb) + ' msec',
3269
+ 'heater_temperature': frame.slice(17, 19).reduce(msbLsb) + ' °C',
3270
+ 'hardware_id': frame.slice(19, 22),
3271
+ 'report_rate': frame.slice(22, 26).reduce(msbLsb) + ' sec',
3272
+ 'tx_counter': frame.slice(26, 30).reduce(msbLsb),
3273
+ 'machine_values': {
3274
+ 'firmware': frame[2],
3275
+ 'calibration_days': frame[12],
3276
+ 'sensor_update_rate':frame.slice(13, 15),
3277
+ 'heater_duration': frame.slice(15, 17),
3278
+ 'heater_temperature': frame.slice(17, 19),
3279
+ 'hardware_id': frame.slice(19, 22),
3280
+ 'report_rate': frame.slice(22, 26).reduce(msbLsb),
3281
+ 'tx_counter': frame.slice(26, 30).reduce(msbLsb),
3282
+
3283
+ }
3284
+ };
3285
+ }
3286
+ else{
3287
+ return {
3258
3288
  'firmware': frame[2],
3259
- 'calibration_days': frame[12],
3260
- 'sensor_update_rate':frame.slice(13, 15),
3289
+ 'calibration_days': frame[12] + ' days',
3290
+ 'sensor_update_rate':frame.slice(13, 15).reduce(msbLsb) + ' sec',
3261
3291
  'hardware_id': frame.slice(15, 18),
3262
- 'report_rate': frame.slice(18, 22),
3263
- 'tx_counter': frame.slice(22, 26),
3264
- }
3292
+ 'report_rate': frame.slice(18, 22).reduce(msbLsb) + ' sec',
3293
+ 'tx_counter': frame.slice(22, 26).reduce(msbLsb),
3294
+ 'machine_values': {
3295
+ 'firmware': frame[2],
3296
+ 'calibration_days': frame[12],
3297
+ 'sensor_update_rate':frame.slice(13, 15),
3298
+ 'hardware_id': frame.slice(15, 18),
3299
+ 'report_rate': frame.slice(18, 22),
3300
+ 'tx_counter': frame.slice(22, 26),
3301
+ }
3302
+ };
3265
3303
  }
3266
3304
  }
3267
3305
  },
@@ -6295,39 +6333,56 @@ function sensor_types(parent){
6295
6333
  else if(payload[8] === 0){ // processed mode
6296
6334
  return {
6297
6335
  mode: payload[8],
6298
- rms_mv: payload.slice(9, 13).reduce(msbLsb) / 1000,
6299
- freq_1: payload.slice(13, 15).reduce(msbLsb),
6300
- freq_2: payload.slice(15, 17).reduce(msbLsb),
6301
- freq_3: payload.slice(17, 19).reduce(msbLsb),
6336
+ sampling_frequency: payload.slice(9, 13).reduce(msbLsb),
6337
+ rms_mv: payload.slice(13, 17).reduce(msbLsb) / 1000,
6338
+ freq_1: payload.slice(17, 19).reduce(msbLsb),
6339
+ freq_2: payload.slice(19, 21).reduce(msbLsb),
6340
+ freq_3: payload.slice(21, 23).reduce(msbLsb),
6302
6341
  };
6303
6342
  }
6304
6343
 
6305
6344
  },
6306
6345
  'parse_fly': (frame) => {
6346
+ let frame_data = {};
6347
+ frame_data.mode = frame[12] ? 'Raw':'Processed';
6348
+ switch(frame[13]){
6349
+ case 0:
6350
+ frame_data.raw_lenght = 55;
6351
+ break;
6352
+ case 1:
6353
+ frame_data.raw_lenght = 100;
6354
+ break;
6355
+ case 2:
6356
+ frame_data.raw_lenght = 150;
6357
+ break;
6358
+ case 3:
6359
+ frame_data.raw_lenght = 180;
6360
+ break;
6361
+ }
6307
6362
  return {
6308
6363
  'firmware': frame[2],
6309
- 'raw_length': frame[12],
6310
- 'raw_on_request_timeout': frame[13] + " Sec",
6311
- 'fly_rate': frame.slice(14, 16).reduce(msbLsb) + " min",
6312
- 'sensor_gain_db': frame[16] + " dB",
6313
- 'sensor_boot_time': frame[17] + " Sec",
6314
- 'hardware_id_1': frame[18],
6315
- 'hardware_id_2': frame[19],
6316
- 'hardware_id_3': frame[20],
6317
- 'rate': frame.slice(21, 25).reduce(msbLsb),
6318
- 'tx_life_count': frame.slice(25, 29).reduce(msbLsb),
6364
+ 'mode': frame_data.mode,
6365
+ 'raw_length': frame_data.raw_lenght + " Bytes",
6366
+ 'raw_on_request_timeout': frame[14] + " sec",
6367
+ 'fly_rate': frame.slice(15, 17).reduce(msbLsb) + " min",
6368
+ 'sensor_gain_db': frame[17] + " dB",
6369
+ 'sensor_boot_time': frame[18] + " sec",
6370
+ 'sampling_frequency': (frame.slice(19, 23).reverse()).reduce(msbLsb) + " Hz",
6371
+ 'hardware_id': frame.slice(23, 26),
6372
+ 'report_rate': frame.slice(26, 30).reduce(msbLsb),
6373
+ 'tx_life_count': frame.slice(30, 34).reduce(msbLsb),
6319
6374
  'machine_values': {
6320
6375
  'firmware': frame[2],
6321
- 'raw_lenght': frame[12],
6322
- 'raw_on_request_timeout': frame[13],
6323
- 'fly_rate': frame.slice(14, 16),
6324
- 'sensor_gain_db': frame[16],
6325
- 'sensor_boot_time': frame[17],
6326
- 'hardware_id_1': frame[18],
6327
- 'hardware_id_2': frame[19],
6328
- 'hardware_id_3': frame[20],
6329
- 'rate': frame.slice(21, 25),
6330
- 'tx_life_count': frame.slice(25, 29)
6376
+ 'mode':frame[12],
6377
+ 'raw_lenght': frame[13],
6378
+ 'raw_on_request_timeout': frame[14],
6379
+ 'fly_rate': frame.slice(15, 17),
6380
+ 'sensor_gain_db': frame[17],
6381
+ 'sensor_boot_time': frame[18],
6382
+ 'sampling_frequency': frame.slice(19, 23),
6383
+ 'hardware_id': frame.slice(23, 26),
6384
+ 'report_rate': frame.slice(26, 30),
6385
+ 'tx_life_count': frame.slice(30, 34)
6331
6386
  }
6332
6387
  }
6333
6388
  }
@@ -6455,46 +6510,63 @@ function sensor_types(parent){
6455
6510
  else if(payload[8] === 0){ // processed mode
6456
6511
  return {
6457
6512
  mode: payload[8],
6458
- c1_rms_mv: payload.slice(9, 13).reduce(msbLsb) / 1000,
6459
- c1_freq_1: payload.slice(13, 15).reduce(msbLsb),
6460
- c1_freq_2: payload.slice(15, 17).reduce(msbLsb),
6461
- c1_freq_3: payload.slice(17, 19).reduce(msbLsb),
6462
- c2_rms_mv: payload.slice(19, 23).reduce(msbLsb) / 1000,
6463
- c2_freq_1: payload.slice(23, 25).reduce(msbLsb),
6464
- c2_freq_2: payload.slice(25, 27).reduce(msbLsb),
6465
- c2_freq_3: payload.slice(27, 30).reduce(msbLsb)
6513
+ sampling_frequency: payload.slice(9, 13).reduce(msbLsb),
6514
+ c1_rms_mv: payload.slice(13, 15).reduce(msbLsb) / 1000,
6515
+ c1_freq_1: payload.slice(15, 17).reduce(msbLsb),
6516
+ c1_freq_2: payload.slice(17, 19).reduce(msbLsb),
6517
+ c1_freq_3: payload.slice(19, 23).reduce(msbLsb),
6518
+ c2_rms_mv: payload.slice(23, 25).reduce(msbLsb) / 1000,
6519
+ c2_freq_1: payload.slice(25, 27).reduce(msbLsb),
6520
+ c2_freq_2: payload.slice(27, 30).reduce(msbLsb),
6521
+ c2_freq_3: payload.slice(30, 34).reduce(msbLsb)
6466
6522
  };
6467
6523
  }
6468
6524
  },
6469
6525
  'parse_fly': (frame) => {
6526
+ let frame_data = {};
6527
+ frame_data.mode = frame[12] ? 'Raw':'Processed';
6528
+ switch(frame[13]){
6529
+ case 0:
6530
+ frame_data.raw_lenght = 55;
6531
+ break;
6532
+ case 1:
6533
+ frame_data.raw_lenght = 100;
6534
+ break;
6535
+ case 2:
6536
+ frame_data.raw_lenght = 150;
6537
+ break;
6538
+ case 3:
6539
+ frame_data.raw_lenght = 180;
6540
+ break;
6541
+ }
6470
6542
  return {
6471
6543
  'firmware': frame[2],
6472
- 'raw_length': frame[12],
6473
- 'raw_on_request_timeout': frame[13] + " Sec",
6474
- 'fly_rate': frame.slice(14, 16).reduce(msbLsb) + " min",
6475
- 'c1_sensor_gain_db': frame[16] + " dB",
6476
- 'c1_sensor_boot_time': frame[17] + " Sec",
6477
- 'c2_sensor_gain_db': frame[18] + " dB",
6478
- 'c2_sensor_boot_time': frame[19] + " Sec",
6479
- 'hardware_id_1': frame[20],
6480
- 'hardware_id_2': frame[21],
6481
- 'hardware_id_3': frame[22],
6482
- 'rate': frame.slice(23, 27).reduce(msbLsb),
6483
- 'tx_life_count': frame.slice(27, 31).reduce(msbLsb),
6544
+ 'mode': frame_data.mode,
6545
+ 'raw_length': frame_data.raw_lenght + " Bytes",
6546
+ 'raw_on_request_timeout': frame[14] + " sec",
6547
+ 'fly_rate': frame.slice(15, 17).reduce(msbLsb) + " min",
6548
+ 'c1_sensor_gain_db': frame[17] + " dB",
6549
+ 'c1_sensor_boot_time': frame[18] + " sec",
6550
+ 'c2_sensor_gain_db': frame[19] + " dB",
6551
+ 'c2_sensor_boot_time': frame[20] + " sec",
6552
+ 'sampling_frequency': (frame.slice(21, 25).reverse()).reduce(msbLsb) + " Hz",
6553
+ 'hardware_id': frame.slice(25, 28),
6554
+ 'report_rate': frame.slice(28, 32).reduce(msbLsb),
6555
+ 'tx_life_count': frame.slice(32, 36).reduce(msbLsb),
6484
6556
  'machine_values': {
6485
6557
  'firmware': frame[2],
6486
- 'raw_lenght': frame[12],
6487
- 'raw_on_request_timeout': frame[13],
6488
- 'fly_rate': frame.slice(14, 16),
6489
- 'c1_sensor_gain_db': frame[16],
6490
- 'c1_sensor_boot_time': frame[17],
6491
- 'c2_sensor_gain_db': frame[18],
6492
- 'c2_sensor_boot_time': frame[19],
6493
- 'hardware_id_1': frame[20],
6494
- 'hardware_id_2': frame[21],
6495
- 'hardware_id_3': frame[22],
6496
- 'rate': frame.slice(23, 27),
6497
- 'tx_life_count': frame.slice(27, 31)
6558
+ 'mode': frame[12],
6559
+ 'raw_lenght': frame[13],
6560
+ 'raw_on_request_timeout': frame[14],
6561
+ 'fly_rate': frame.slice(15, 17),
6562
+ 'c1_sensor_gain_db': frame[17],
6563
+ 'c1_sensor_boot_time': frame[18],
6564
+ 'c2_sensor_gain_db': frame[19],
6565
+ 'c2_sensor_boot_time': frame[20],
6566
+ 'sampling_frequency': frame.slice(21, 25),
6567
+ 'hardware_id': frame.slice(25, 28),
6568
+ 'report_rate': frame.slice(28, 32),
6569
+ 'tx_life_count': frame.slice(32, 36)
6498
6570
  }
6499
6571
  }
6500
6572
  }
@@ -6643,11 +6715,11 @@ function sensor_types(parent){
6643
6715
  if(payload[8] === 1){
6644
6716
  var deviceAddr = mac;
6645
6717
  var firmware = payload[1];
6646
- var hour = payload[11];
6647
- var minute = payload[12];
6648
- var expected_packets = payload[15];
6649
- var current_packet = payload[16];
6650
- var sdata_start = 17;
6718
+ var hour = payload[12];
6719
+ var minute = payload[13];
6720
+ var expected_packets = payload[16];
6721
+ var current_packet = payload[17];
6722
+ var sdata_start = 18;
6651
6723
 
6652
6724
  if(globalDevices.hasOwnProperty(deviceAddr) || expected_packets == 1){
6653
6725
  if(expected_packets != 1){
@@ -6677,46 +6749,10 @@ function sensor_types(parent){
6677
6749
  } else{
6678
6750
 
6679
6751
  var mode = payload[8];
6680
- var odr = payload[9];
6681
- var en_axis = payload[10] & 7;
6682
- var fsr = payload[10] >> 5;
6683
- var device_temp = msbLsb(payload[13], payload[14])/100;
6684
-
6685
-
6686
- switch(odr){
6687
- case 6:
6688
- odr = 50;
6689
- break;
6690
- case 7:
6691
- odr = 100;
6692
- break;
6693
- case 8:
6694
- odr = 200;
6695
- break;
6696
- case 9:
6697
- odr = 400;
6698
- break;
6699
- case 10:
6700
- odr = 800;
6701
- break;
6702
- case 11:
6703
- odr = 1600;
6704
- break;
6705
- case 12:
6706
- odr = 3200;
6707
- break;
6708
- case 13:
6709
- odr = 6400;
6710
- break;
6711
- case 14:
6712
- odr = 12800;
6713
- break;
6714
- case 15:
6715
- odr = 25600;
6716
- break;
6717
- default:
6718
- odr = 0;
6719
- }
6752
+ var odr = msbLsb(payload[9], payload[10])
6753
+ var en_axis = payload[11] & 7;
6754
+ var fsr = payload[11] >> 5;
6755
+ var device_temp = msbLsb(payload[14], payload[15])/100;
6720
6756
 
6721
6757
  globalDevices[deviceAddr] = {
6722
6758
  // stream_size: expected_packets,
@@ -6739,46 +6775,10 @@ function sensor_types(parent){
6739
6775
  }
6740
6776
  else{
6741
6777
  var mode = payload[8];
6742
- var odr = payload[9];
6743
- var en_axis = payload[10] & 7;
6744
- var fsr = payload[10] >> 5;
6745
- var device_temp = msbLsb(payload[13], payload[14])/100;
6746
-
6747
-
6748
- switch(odr){
6749
- case 6:
6750
- odr = 50;
6751
- break;
6752
- case 7:
6753
- odr = 100;
6754
- break;
6755
- case 8:
6756
- odr = 200;
6757
- break;
6758
- case 9:
6759
- odr = 400;
6760
- break;
6761
- case 10:
6762
- odr = 800;
6763
- break;
6764
- case 11:
6765
- odr = 1600;
6766
- break;
6767
- case 12:
6768
- odr = 3200;
6769
- break;
6770
- case 13:
6771
- odr = 6400;
6772
- break;
6773
- case 14:
6774
- odr = 12800;
6775
- break;
6776
- case 15:
6777
- odr = 25600;
6778
- break;
6779
- default:
6780
- odr = 0;
6781
- }
6778
+ var odr = msbLsb(payload[9], payload[10])
6779
+ var en_axis = payload[11] & 7;
6780
+ var fsr = payload[11] >> 5;
6781
+ var device_temp = msbLsb(payload[14], payload[15])/100;
6782
6782
 
6783
6783
  globalDevices[deviceAddr] = {
6784
6784
  // stream_size: expected_packets,
@@ -6913,46 +6913,10 @@ function sensor_types(parent){
6913
6913
  }else{
6914
6914
 
6915
6915
  var mode = payload[8];
6916
- var odr = payload[9];
6917
- var en_axis = payload[10] & 7;
6918
- var fsr = payload[10] >> 5;
6919
- var device_temp = msbLsb(payload[13], payload[14])/100;
6920
-
6921
-
6922
- switch(odr){
6923
- case 6:
6924
- odr = 50;
6925
- break;
6926
- case 7:
6927
- odr = 100;
6928
- break;
6929
- case 8:
6930
- odr = 200;
6931
- break;
6932
- case 9:
6933
- odr = 400;
6934
- break;
6935
- case 10:
6936
- odr = 800;
6937
- break;
6938
- case 11:
6939
- odr = 1600;
6940
- break;
6941
- case 12:
6942
- odr = 3200;
6943
- break;
6944
- case 13:
6945
- odr = 6400;
6946
- break;
6947
- case 14:
6948
- odr = 12800;
6949
- break;
6950
- case 15:
6951
- odr = 25600;
6952
- break;
6953
- default:
6954
- odr = 0;
6955
- }
6916
+ var odr = msbLsb(payload[9], payload[10])
6917
+ var en_axis = payload[11] & 7;
6918
+ var fsr = payload[11] >> 5;
6919
+ var device_temp = msbLsb(payload[14], payload[15])/100;
6956
6920
 
6957
6921
  globalDevices[deviceAddr] = {
6958
6922
  // stream_size: expected_packets,
@@ -7034,7 +6998,7 @@ function sensor_types(parent){
7034
6998
  z_peak_one_Hz: payload.slice(48, 50).reduce(msbLsb),
7035
6999
  z_peak_two_Hz: payload.slice(50, 52).reduce(msbLsb),
7036
7000
  z_peak_three_Hz: payload.slice(52, 54).reduce(msbLsb),
7037
- rpm: payload.slice(54, 56).reduce(msbLsb) / 10
7001
+ rpm: payload.slice(54, 56).reduce(msbLsb)
7038
7002
  };
7039
7003
  }
7040
7004
  // else{
@@ -7258,11 +7222,11 @@ function sensor_types(parent){
7258
7222
  if(payload[8] === 1){
7259
7223
  var deviceAddr = mac;
7260
7224
  var firmware = payload[1];
7261
- var hour = payload[11];
7262
- var minute = payload[12];
7263
- var expected_packets = payload[15];
7264
- var current_packet = payload[16];
7265
- var sdata_start = 17;
7225
+ var hour = payload[12];
7226
+ var minute = payload[13];
7227
+ var expected_packets = payload[16];
7228
+ var current_packet = payload[17];
7229
+ var sdata_start = 18;
7266
7230
 
7267
7231
  if(globalDevices.hasOwnProperty(deviceAddr) || expected_packets == 1){
7268
7232
  if(expected_packets != 1){
@@ -7291,45 +7255,10 @@ function sensor_types(parent){
7291
7255
  return;
7292
7256
  } else{
7293
7257
  var mode = payload[8];
7294
- var odr = payload[9];
7295
- var en_axis = payload[10] & 7;
7296
- var fsr = payload[10] >> 5;
7297
- var device_temp = msbLsb(payload[13], payload[14])/100;
7298
-
7299
- switch(odr){
7300
- case 6:
7301
- odr = 50;
7302
- break;
7303
- case 7:
7304
- odr = 100;
7305
- break;
7306
- case 8:
7307
- odr = 200;
7308
- break;
7309
- case 9:
7310
- odr = 400;
7311
- break;
7312
- case 10:
7313
- odr = 800;
7314
- break;
7315
- case 11:
7316
- odr = 1600;
7317
- break;
7318
- case 12:
7319
- odr = 3200;
7320
- break;
7321
- case 13:
7322
- odr = 6400;
7323
- break;
7324
- case 14:
7325
- odr = 12800;
7326
- break;
7327
- case 15:
7328
- odr = 25600;
7329
- break;
7330
- default:
7331
- odr = 0;
7332
- }
7258
+ var odr = msbLsb(payload[9], payload[10])
7259
+ var en_axis = payload[11] & 7;
7260
+ var fsr = payload[11] >> 5;
7261
+ var device_temp = msbLsb(payload[14], payload[15])/100;
7333
7262
 
7334
7263
  globalDevices[deviceAddr] = {
7335
7264
  // stream_size: expected_packets,
@@ -7352,76 +7281,40 @@ function sensor_types(parent){
7352
7281
  }
7353
7282
  else{
7354
7283
  var mode = payload[8];
7355
- var odr = payload[9];
7356
- var en_axis = payload[10] & 7;
7357
- var fsr = payload[10] >> 5;
7358
- var device_temp = msbLsb(payload[13], payload[14])/100;
7284
+ var odr = msbLsb(payload[9], payload[10])
7285
+ var en_axis = payload[11] & 7;
7286
+ var fsr = payload[11] >> 5;
7287
+ var device_temp = msbLsb(payload[14], payload[15])/100;
7288
+
7289
+ globalDevices[deviceAddr] = {
7290
+ // stream_size: expected_packets,
7291
+ data: {},
7292
+ odr: odr,
7293
+ mo: mode,
7294
+ en_axis: en_axis,
7295
+ fsr: fsr,
7296
+ hour: hour,
7297
+ minute: minute,
7298
+ device_temp: device_temp,
7299
+ }
7300
+ globalDevices[deviceAddr].data[current_packet] = payload.slice(sdata_start);
7301
+ }
7302
+ if(Object.keys(globalDevices[deviceAddr].data).length == expected_packets){
7303
+ var raw_data = new Array();
7304
+
7305
+ for(const packet in globalDevices[deviceAddr].data){
7306
+ raw_data = raw_data.concat(globalDevices[deviceAddr].data[packet]);
7307
+ }
7308
+ var label = 0;
7359
7309
 
7310
+ var fft = new Array();
7311
+ var fft_concat = {};
7360
7312
 
7361
- switch(odr){
7362
- case 6:
7363
- odr = 50;
7364
- break;
7365
- case 7:
7366
- odr = 100;
7367
- break;
7368
- case 8:
7369
- odr = 200;
7370
- break;
7371
- case 9:
7372
- odr = 400;
7373
- break;
7374
- case 10:
7375
- odr = 800;
7376
- break;
7377
- case 11:
7378
- odr = 1600;
7379
- break;
7380
- case 12:
7381
- odr = 3200;
7382
- break;
7383
- case 13:
7384
- odr = 6400;
7385
- break;
7386
- case 14:
7387
- odr = 12800;
7388
- break;
7389
- case 15:
7390
- odr = 25600;
7391
- break;
7392
- default:
7393
- odr = 0;
7394
- }
7395
-
7396
- globalDevices[deviceAddr] = {
7397
- // stream_size: expected_packets,
7398
- data: {},
7399
- odr: odr,
7400
- mo: mode,
7401
- en_axis: en_axis,
7402
- fsr: fsr,
7403
- hour: hour,
7404
- minute: minute,
7405
- device_temp: device_temp,
7406
- }
7407
- globalDevices[deviceAddr].data[current_packet] = payload.slice(sdata_start);
7408
- }
7409
- if(Object.keys(globalDevices[deviceAddr].data).length == expected_packets){
7410
- var raw_data = new Array();
7411
-
7412
- for(const packet in globalDevices[deviceAddr].data){
7413
- raw_data = raw_data.concat(globalDevices[deviceAddr].data[packet]);
7414
- }
7415
- var label = 0;
7416
-
7417
- var fft = new Array();
7418
- var fft_concat = {};
7419
-
7420
- var en_axis_data = {};
7421
- switch (globalDevices[deviceAddr].en_axis){
7422
- case 1:
7423
- en_axis_data.x_offset = 0;
7424
- en_axis_data.increment = 2;
7313
+ var en_axis_data = {};
7314
+ switch (globalDevices[deviceAddr].en_axis){
7315
+ case 1:
7316
+ en_axis_data.x_offset = 0;
7317
+ en_axis_data.increment = 2;
7425
7318
  break;
7426
7319
  case 2:
7427
7320
  en_axis_data.y_offset = 0;
@@ -7537,46 +7430,10 @@ function sensor_types(parent){
7537
7430
  }
7538
7431
  }else{
7539
7432
  var mode = payload[8];
7540
- var odr = payload[9];
7541
- var en_axis = payload[10] & 7;
7542
- var fsr = payload[10] >> 5;
7543
- var device_temp = msbLsb(payload[13], payload[14])/100;
7544
-
7545
-
7546
- switch(odr){
7547
- case 6:
7548
- odr = 50;
7549
- break;
7550
- case 7:
7551
- odr = 100;
7552
- break;
7553
- case 8:
7554
- odr = 200;
7555
- break;
7556
- case 9:
7557
- odr = 400;
7558
- break;
7559
- case 10:
7560
- odr = 800;
7561
- break;
7562
- case 11:
7563
- odr = 1600;
7564
- break;
7565
- case 12:
7566
- odr = 3200;
7567
- break;
7568
- case 13:
7569
- odr = 6400;
7570
- break;
7571
- case 14:
7572
- odr = 12800;
7573
- break;
7574
- case 15:
7575
- odr = 25600;
7576
- break;
7577
- default:
7578
- odr = 0;
7579
- }
7433
+ var odr = msbLsb(payload[9], payload[10])
7434
+ var en_axis = payload[11] & 7;
7435
+ var fsr = payload[11] >> 5;
7436
+ var device_temp = msbLsb(payload[14], payload[15])/100;
7580
7437
 
7581
7438
  globalDevices[deviceAddr] = {
7582
7439
  // stream_size: expected_packets,
@@ -7701,7 +7558,7 @@ function sensor_types(parent){
7701
7558
  z1_peak_one_Hz: payload.slice(48, 50).reduce(msbLsb),
7702
7559
  z1_peak_two_Hz: payload.slice(50, 52).reduce(msbLsb),
7703
7560
  z1_peak_three_Hz: payload.slice(52, 54).reduce(msbLsb),
7704
- rpm_1: payload.slice(54, 56).reduce(msbLsb) / 10,
7561
+ rpm_1: payload.slice(54, 56).reduce(msbLsb),
7705
7562
 
7706
7563
  s2_odr: odr2,
7707
7564
  s2_temperature: signInt(payload.slice(55, 57).reduce(msbLsb), 16) / 100,
@@ -7729,7 +7586,7 @@ function sensor_types(parent){
7729
7586
  z2_peak_one_Hz: payload.slice(93, 95).reduce(msbLsb),
7730
7587
  z2_peak_two_Hz: payload.slice(95, 97).reduce(msbLsb),
7731
7588
  z2_peak_three_Hz: payload.slice(97, 99).reduce(msbLsb),
7732
- rpm_2: payload.slice(99, 101).reduce(msbLsb) / 10
7589
+ rpm_2: payload.slice(99, 101).reduce(msbLsb)
7733
7590
  };
7734
7591
  }
7735
7592
  // else{
@@ -8058,11 +7915,11 @@ function sensor_types(parent){
8058
7915
  if(payload[8] === 1){
8059
7916
  var deviceAddr = mac;
8060
7917
  var firmware = payload[1];
8061
- var hour = payload[11];
8062
- var minute = payload[12];
8063
- var expected_packets = payload[15];
8064
- var current_packet = payload[16];
8065
- var sdata_start = 17;
7918
+ var hour = payload[12];
7919
+ var minute = payload[13];
7920
+ var expected_packets = payload[16];
7921
+ var current_packet = payload[17];
7922
+ var sdata_start = 18;
8066
7923
 
8067
7924
  if(globalDevices.hasOwnProperty(deviceAddr) || expected_packets == 1){
8068
7925
  if(expected_packets != 1){
@@ -8092,46 +7949,10 @@ function sensor_types(parent){
8092
7949
  } else{
8093
7950
 
8094
7951
  var mode = payload[8];
8095
- var odr = payload[9];
8096
- var en_axis = payload[10] & 7;
8097
- var fsr = payload[10] >> 5;
8098
- var device_temp = msbLsb(payload[13], payload[14])/100;
8099
-
8100
-
8101
- switch(odr){
8102
- case 6:
8103
- odr = 50;
8104
- break;
8105
- case 7:
8106
- odr = 100;
8107
- break;
8108
- case 8:
8109
- odr = 200;
8110
- break;
8111
- case 9:
8112
- odr = 400;
8113
- break;
8114
- case 10:
8115
- odr = 800;
8116
- break;
8117
- case 11:
8118
- odr = 1600;
8119
- break;
8120
- case 12:
8121
- odr = 3200;
8122
- break;
8123
- case 13:
8124
- odr = 6400;
8125
- break;
8126
- case 14:
8127
- odr = 12800;
8128
- break;
8129
- case 15:
8130
- odr = 25600;
8131
- break;
8132
- default:
8133
- odr = 0;
8134
- }
7952
+ var odr = msbLsb(payload[9], payload[10])
7953
+ var en_axis = payload[11] & 7;
7954
+ var fsr = payload[11] >> 5;
7955
+ var device_temp = msbLsb(payload[14], payload[15])/100;
8135
7956
 
8136
7957
  globalDevices[deviceAddr] = {
8137
7958
  // stream_size: expected_packets,
@@ -8154,46 +7975,10 @@ function sensor_types(parent){
8154
7975
  }
8155
7976
  else{
8156
7977
  var mode = payload[8];
8157
- var odr = payload[9];
8158
- var en_axis = payload[10] & 7;
8159
- var fsr = payload[10] >> 5;
8160
- var device_temp = msbLsb(payload[13], payload[14])/100;
8161
-
8162
-
8163
- switch(odr){
8164
- case 6:
8165
- odr = 50;
8166
- break;
8167
- case 7:
8168
- odr = 100;
8169
- break;
8170
- case 8:
8171
- odr = 200;
8172
- break;
8173
- case 9:
8174
- odr = 400;
8175
- break;
8176
- case 10:
8177
- odr = 800;
8178
- break;
8179
- case 11:
8180
- odr = 1600;
8181
- break;
8182
- case 12:
8183
- odr = 3200;
8184
- break;
8185
- case 13:
8186
- odr = 6400;
8187
- break;
8188
- case 14:
8189
- odr = 12800;
8190
- break;
8191
- case 15:
8192
- odr = 25600;
8193
- break;
8194
- default:
8195
- odr = 0;
8196
- }
7978
+ var odr = msbLsb(payload[9], payload[10])
7979
+ var en_axis = payload[11] & 7;
7980
+ var fsr = payload[11] >> 5;
7981
+ var device_temp = msbLsb(payload[14], payload[15])/100;
8197
7982
 
8198
7983
  globalDevices[deviceAddr] = {
8199
7984
  // stream_size: expected_packets,
@@ -8331,46 +8116,10 @@ function sensor_types(parent){
8331
8116
  }else{
8332
8117
 
8333
8118
  var mode = payload[8];
8334
- var odr = payload[9];
8335
- var en_axis = payload[10] & 7;
8336
- var fsr = payload[10] >> 5;
8337
- var device_temp = msbLsb(payload[13], payload[14])/100;
8338
-
8339
-
8340
- switch(odr){
8341
- case 6:
8342
- odr = 50;
8343
- break;
8344
- case 7:
8345
- odr = 100;
8346
- break;
8347
- case 8:
8348
- odr = 200;
8349
- break;
8350
- case 9:
8351
- odr = 400;
8352
- break;
8353
- case 10:
8354
- odr = 800;
8355
- break;
8356
- case 11:
8357
- odr = 1600;
8358
- break;
8359
- case 12:
8360
- odr = 3200;
8361
- break;
8362
- case 13:
8363
- odr = 6400;
8364
- break;
8365
- case 14:
8366
- odr = 12800;
8367
- break;
8368
- case 15:
8369
- odr = 25600;
8370
- break;
8371
- default:
8372
- odr = 0;
8373
- }
8119
+ var odr = msbLsb(payload[9], payload[10])
8120
+ var en_axis = payload[11] & 7;
8121
+ var fsr = payload[11] >> 5;
8122
+ var device_temp = msbLsb(payload[14], payload[15])/100;
8374
8123
 
8375
8124
  globalDevices[deviceAddr] = {
8376
8125
  // stream_size: expected_packets,
@@ -8453,7 +8202,7 @@ function sensor_types(parent){
8453
8202
  z_peak_one_Hz: payload.slice(56, 58).reduce(msbLsb),
8454
8203
  z_peak_two_Hz: payload.slice(58, 60).reduce(msbLsb),
8455
8204
  z_peak_three_Hz: payload.slice(60, 62).reduce(msbLsb),
8456
- rpm: payload.slice(62, 64).reduce(msbLsb) / 10
8205
+ rpm: payload.slice(62, 64).reduce(msbLsb)
8457
8206
  };
8458
8207
  }
8459
8208
  // else{
@@ -8672,11 +8421,11 @@ function sensor_types(parent){
8672
8421
  if(payload[8] === 1){
8673
8422
  var deviceAddr = mac;
8674
8423
  var firmware = payload[1];
8675
- var hour = payload[11];
8676
- var minute = payload[12];
8677
- var expected_packets = payload[15];
8678
- var current_packet = payload[16];
8679
- var sdata_start = 17;
8424
+ var hour = payload[12];
8425
+ var minute = payload[13];
8426
+ var expected_packets = payload[16];
8427
+ var current_packet = payload[17];
8428
+ var sdata_start = 18;
8680
8429
 
8681
8430
  if(globalDevices.hasOwnProperty(deviceAddr) || expected_packets == 1){
8682
8431
  if(expected_packets != 1){
@@ -8706,46 +8455,10 @@ function sensor_types(parent){
8706
8455
  } else{
8707
8456
 
8708
8457
  var mode = payload[8];
8709
- var odr = payload[9];
8710
- var en_axis = payload[10] & 7;
8711
- var fsr = payload[10] >> 5;
8712
- var device_temp = msbLsb(payload[13], payload[14])/100;
8713
-
8714
-
8715
- switch(odr){
8716
- case 6:
8717
- odr = 50;
8718
- break;
8719
- case 7:
8720
- odr = 100;
8721
- break;
8722
- case 8:
8723
- odr = 200;
8724
- break;
8725
- case 9:
8726
- odr = 400;
8727
- break;
8728
- case 10:
8729
- odr = 800;
8730
- break;
8731
- case 11:
8732
- odr = 1600;
8733
- break;
8734
- case 12:
8735
- odr = 3200;
8736
- break;
8737
- case 13:
8738
- odr = 6400;
8739
- break;
8740
- case 14:
8741
- odr = 12800;
8742
- break;
8743
- case 15:
8744
- odr = 25600;
8745
- break;
8746
- default:
8747
- odr = 0;
8748
- }
8458
+ var odr = msbLsb(payload[9], payload[10])
8459
+ var en_axis = payload[11] & 7;
8460
+ var fsr = payload[11] >> 5;
8461
+ var device_temp = msbLsb(payload[14], payload[15])/100;
8749
8462
 
8750
8463
  globalDevices[deviceAddr] = {
8751
8464
  // stream_size: expected_packets,
@@ -8768,46 +8481,10 @@ function sensor_types(parent){
8768
8481
  }
8769
8482
  else{
8770
8483
  var mode = payload[8];
8771
- var odr = payload[9];
8772
- var en_axis = payload[10] & 7;
8773
- var fsr = payload[10] >> 5;
8774
- var device_temp = msbLsb(payload[13], payload[14])/100;
8775
-
8776
-
8777
- switch(odr){
8778
- case 6:
8779
- odr = 50;
8780
- break;
8781
- case 7:
8782
- odr = 100;
8783
- break;
8784
- case 8:
8785
- odr = 200;
8786
- break;
8787
- case 9:
8788
- odr = 400;
8789
- break;
8790
- case 10:
8791
- odr = 800;
8792
- break;
8793
- case 11:
8794
- odr = 1600;
8795
- break;
8796
- case 12:
8797
- odr = 3200;
8798
- break;
8799
- case 13:
8800
- odr = 6400;
8801
- break;
8802
- case 14:
8803
- odr = 12800;
8804
- break;
8805
- case 15:
8806
- odr = 25600;
8807
- break;
8808
- default:
8809
- odr = 0;
8810
- }
8484
+ var odr = msbLsb(payload[9], payload[10])
8485
+ var en_axis = payload[11] & 7;
8486
+ var fsr = payload[11] >> 5;
8487
+ var device_temp = msbLsb(payload[14], payload[15])/100;
8811
8488
 
8812
8489
  globalDevices[deviceAddr] = {
8813
8490
  // stream_size: expected_packets,
@@ -8941,46 +8618,10 @@ function sensor_types(parent){
8941
8618
  }else{
8942
8619
 
8943
8620
  var mode = payload[8];
8944
- var odr = payload[9];
8945
- var en_axis = payload[10] & 7;
8946
- var fsr = payload[10] >> 5;
8947
- var device_temp = msbLsb(payload[13], payload[14])/100;
8948
-
8949
-
8950
- switch(odr){
8951
- case 6:
8952
- odr = 50;
8953
- break;
8954
- case 7:
8955
- odr = 100;
8956
- break;
8957
- case 8:
8958
- odr = 200;
8959
- break;
8960
- case 9:
8961
- odr = 400;
8962
- break;
8963
- case 10:
8964
- odr = 800;
8965
- break;
8966
- case 11:
8967
- odr = 1600;
8968
- break;
8969
- case 12:
8970
- odr = 3200;
8971
- break;
8972
- case 13:
8973
- odr = 6400;
8974
- break;
8975
- case 14:
8976
- odr = 12800;
8977
- break;
8978
- case 15:
8979
- odr = 25600;
8980
- break;
8981
- default:
8982
- odr = 0;
8983
- }
8621
+ var odr = msbLsb(payload[9], payload[10])
8622
+ var en_axis = payload[11] & 7;
8623
+ var fsr = payload[11] >> 5;
8624
+ var device_temp = msbLsb(payload[14], payload[15])/100;
8984
8625
 
8985
8626
  globalDevices[deviceAddr] = {
8986
8627
  // stream_size: expected_packets,
@@ -9273,9 +8914,9 @@ function sensor_types(parent){
9273
8914
  name: 'Dual Pressure and Temperature Sensor',
9274
8915
  parse: (d) => {
9275
8916
  return{
9276
- pressure_s1: signInt(d.slice(0, 4).reduce(msbLsb)),
8917
+ pressure_s1: signInt(d.slice(0, 4).reduce(msbLsb)) / 100,
9277
8918
  temperature_s1: signInt(d.slice(4, 6).reduce(msbLsb))/100,
9278
- pressure_s2: signInt(d.slice(6, 10).reduce(msbLsb)),
8919
+ pressure_s2: signInt(d.slice(6, 10).reduce(msbLsb)) / 100,
9279
8920
  temperature_s2: signInt(d.slice(10, 12).reduce(msbLsb))/100
9280
8921
  };
9281
8922
  },
@@ -9335,9 +8976,7 @@ function sensor_types(parent){
9335
8976
  'auto_check_interval': frame.slice(14, 16).reduce(msbLsb) + " Sec.",
9336
8977
  'press_auto_check_percent': frame[17] + " %",
9337
8978
  'temp_auto_check_percent': frame[17] + " %",
9338
- 'hardware_id_1': frame[18],
9339
- 'hardware_id_2': frame[19],
9340
- 'hardware_id_3': frame[20],
8979
+ 'hardware_id': frame.slice(18, 21),
9341
8980
  'sample_rate': frame.slice(21, 25).reduce(msbLsb) + " Sec.",
9342
8981
  'tx_life_counter': frame.slice(25, 29).reduce(msbLsb),
9343
8982
  'machine_values': {
@@ -9347,9 +8986,7 @@ function sensor_types(parent){
9347
8986
  'auto_check_interval': frame.slice(14, 16),
9348
8987
  'press_auto_check_percent': frame[16],
9349
8988
  'temp_auto_check_percent': frame[17],
9350
- 'hardware_id_1': frame[18],
9351
- 'hardware_id_2': frame[19],
9352
- 'hardware_id_3': frame[20],
8989
+ 'hardware_id': frame.slice(18, 21),
9353
8990
  'sample_rate': frame.slice(21, 25),
9354
8991
  'tx_life_counter': frame.slice(25, 29),
9355
8992
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ncd-io/node-red-enterprise-sensors",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/wireless.html CHANGED
@@ -324,8 +324,10 @@
324
324
  led_velocity_threshold_84_active: {value: ""},
325
325
  led_velocity_threshold_84: {},
326
326
 
327
- acceleration_interrupt_threshold_84_active: {value: ""},
328
- acceleration_interrupt_threshold_84: {},
327
+ acceleration_interrupt_threshold_p1_84_active: {value: ""},
328
+ acceleration_interrupt_threshold_p1_84: {},
329
+ acceleration_interrupt_threshold_p2_84_active: {value: ""},
330
+ acceleration_interrupt_threshold_p2_84: {},
329
331
 
330
332
  set_rtc_101:{value:0},
331
333
  set_rtc_202:{value:0},
@@ -616,7 +618,10 @@
616
618
  number_of_samples_thermocouple_active:{value: ""},
617
619
  number_of_samples_thermocouple:{value:0},
618
620
  measurement_type_thermocouple_active:{value: ""},
619
- measurement_type_thermocouple:{value:0}
621
+ measurement_type_thermocouple:{value:0},
622
+
623
+ mode_97_active: {value: ""},
624
+ mode_97: {value: 0}
620
625
  },
621
626
  inputs: 0,
622
627
  outputs: 1,
@@ -1556,7 +1561,7 @@
1556
1561
  </div>
1557
1562
  </div>
1558
1563
  </div>
1559
- <div class="ncd-dependent" data-sensor-84 data-sensor-110 data-sensor-111 data-sensor-112 data-sensor-114 data-sensor-519 data-sensor-537>
1564
+ <div class="ncd-dependent" data-sensor-84 data-sensor-114 data-sensor-519 data-sensor-537>
1560
1565
  <hr>
1561
1566
  <div class="form-row ncd-active-check">
1562
1567
  <strong>LED Alert Mode</strong>
@@ -1601,6 +1606,9 @@
1601
1606
  <input type="text" id="node-input-led_velocity_threshold_84" placeholder="10" value="10">
1602
1607
  </div>
1603
1608
  </div>
1609
+ </div>
1610
+ <div class="ncd-dependent" data-sensor-110 data-sensor-111 data-sensor-112 data-sensor-114>
1611
+ <hr>
1604
1612
  <div class="form-row ncd-active-check">
1605
1613
  <div>
1606
1614
  <strong>Set Acceleration Wake/Interrupt Threshold</strong>
@@ -1608,16 +1616,32 @@
1608
1616
  <p>This will be an integer value that increments the interrupt threshold by 50mg. A value of 1 means turn the wake the sensor if acceleration is above 50mg, 2 means 100mg, etc.</p>
1609
1617
  </div>
1610
1618
  <div>
1611
- <label for="node-input-acceleration_interrupt_threshold_84_active"><i class="icon-tag"></i> Auto Config</label>
1612
- <input type="checkbox" id="node-input-acceleration_interrupt_threshold_84_active" class="ncd-config-toggle" data-target-id="node-input-acceleration_interrupt_threshold_84" value="1">
1619
+ <label for="node-input-acceleration_interrupt_threshold_p1_84_active"><i class="icon-tag"></i> Auto Config</label>
1620
+ <input type="checkbox" id="node-input-acceleration_interrupt_threshold_p1_84_active" class="ncd-config-toggle" data-target-id="node-input-acceleration_interrupt_threshold_p1_84" value="1">
1613
1621
  </div>
1614
1622
  <div>
1615
- <label for="node-input-acceleration_interrupt_threshold_84"><i class="icon-tag"></i> Value</label>
1616
- <input type="text" id="node-input-acceleration_interrupt_threshold_84" placeholder="10" value="10">
1623
+ <label for="node-input-acceleration_interrupt_threshold_p1_84"><i class="icon-tag"></i> Value</label>
1624
+ <input type="text" id="node-input-acceleration_interrupt_threshold_p1_84" placeholder="10" value="10">
1625
+ </div>
1626
+ </div>
1627
+ </div>
1628
+ <div class="ncd-dependent" data-sensor-111>
1629
+ <div class="form-row ncd-active-check">
1630
+ <div>
1631
+ <strong>Set Acceleration Wake/Interrupt Threshold Probe 2</strong>
1632
+ <p>Set a breakpoint for sensor to wake up and broadcast readings. This is an interrupt based configuration ideal for devices with minimal workload/uptime.</p>
1633
+ <p>This will be an integer value that increments the interrupt threshold by 50mg. A value of 1 means turn the wake the sensor if acceleration is above 50mg, 2 means 100mg, etc.</p>
1634
+ </div>
1635
+ <div>
1636
+ <label for="node-input-acceleration_interrupt_threshold_p2_84_active"><i class="icon-tag"></i> Auto Config</label>
1637
+ <input type="checkbox" id="node-input-acceleration_interrupt_threshold_p2_84_active" class="ncd-config-toggle" data-target-id="node-input-acceleration_interrupt_threshold_p2_84" value="1">
1638
+ </div>
1639
+ <div>
1640
+ <label for="node-input-acceleration_interrupt_threshold_p2_84"><i class="icon-tag"></i> Value</label>
1641
+ <input type="text" id="node-input-acceleration_interrupt_threshold_p2_84" placeholder="10" value="10">
1617
1642
  </div>
1618
1643
  </div>
1619
1644
  </div>
1620
-
1621
1645
  <div class="ncd-dependent" data-sensor-80 data-sensor-81 data-sensor-82 data-sensor-84 data-sensor-180 data-sensor-181 data-sensor-519 data-sensor-537 data-sensor-538>
1622
1646
  <hr>
1623
1647
  <div class="form-row ncd-active-check">
@@ -3672,6 +3696,23 @@
3672
3696
  </div>
3673
3697
  </div>
3674
3698
  <div class="ncd-dependent" data-sensor-97 data-sensor-98>
3699
+ <hr>
3700
+ <div class="form-row ncd-active-check">
3701
+ <strong>Set Mode</strong>
3702
+ <p> WARNING: If Mode is set to Raw it is recommended to also set the Destination Address configuration to the address of your Receiver/Gateway.</p>
3703
+ <div>
3704
+ <label for="node-input-mode_97_active"><i class="icon-tag"></i>Active:</label>
3705
+ <input type="checkbox" id="node-input-mode_97_active" class="ncd-config-toggle" data-target-id="node-input-mode_97" value="1">
3706
+ </div>
3707
+ <div>
3708
+ <label for="node-input-mode_97"><i class="icon-tag"></i>Value:</label>
3709
+ <select id="node-input-mode_97">
3710
+ <option value="0">Processed</option>
3711
+ <option value="1">Raw</option>
3712
+ <option value="2">Processed + Raw on demand</option>
3713
+ </select>
3714
+ </div>
3715
+ </div>
3675
3716
  <div class="form-row ncd-active-check">
3676
3717
  <strong>Set Raw Length</strong>
3677
3718
  <div>
package/wireless.js CHANGED
@@ -1690,6 +1690,9 @@ module.exports = function(RED) {
1690
1690
  if(config.boot_up_time_97_active){
1691
1691
  promises.boot_up_time_97 = node.config_gateway.config_set_boot_up_time_97(mac, parseInt(config.boot_up_time_97));
1692
1692
  }
1693
+ if(config.mode_97_active){
1694
+ promises.mode = node.config_gateway.config_set_mode_97(mac, parseInt(config.mode_97));
1695
+ }
1693
1696
  break;
1694
1697
  case 98:
1695
1698
  if(config.raw_length_97_active){
@@ -1704,6 +1707,9 @@ module.exports = function(RED) {
1704
1707
  if(config.boot_up_time_97_active){
1705
1708
  promises.boot_up_time_97 = node.config_gateway.config_set_boot_up_time_97(mac, parseInt(config.boot_up_time_97));
1706
1709
  }
1710
+ if(config.mode_97_active){
1711
+ promises.mode = node.config_gateway.config_set_mode_97(mac, parseInt(config.mode_97));
1712
+ }
1707
1713
  // if(config.sensor_boot_time_420ma_active){
1708
1714
  // promises.sensor_boot_time_420ma = node.config_gateway.config_set_sensor_boot_time_420ma(mac, parseInt(config.sensor_boot_time_420ma));
1709
1715
  // }
@@ -1935,6 +1941,9 @@ module.exports = function(RED) {
1935
1941
  if(config.fly_interval_110_active){
1936
1942
  promises.fly_interval_110 = node.config_gateway.config_set_fly_interval_110(mac, parseInt(config.fly_interval_110));
1937
1943
  }
1944
+ if(config.acceleration_interrupt_threshold_p1_84_active){
1945
+ promises.acceleration_interrupt_threshold_p1_84 = node.config_gateway.config_set_acceleration_interrupt_threshold_p1_84(mac, parseInt(config.acceleration_interrupt_threshold_p1_84));
1946
+ }
1938
1947
  break;
1939
1948
  case 111:
1940
1949
  if(config.output_data_rate_p1_81_active){
@@ -2012,6 +2021,12 @@ module.exports = function(RED) {
2012
2021
  if(config.fly_interval_110_active){
2013
2022
  promises.fly_interval_110 = node.config_gateway.config_set_fly_interval_110(mac, parseInt(config.fly_interval_110));
2014
2023
  }
2024
+ if(config.acceleration_interrupt_threshold_p1_84_active){
2025
+ promises.acceleration_interrupt_threshold_p1_84 = node.config_gateway.config_set_acceleration_interrupt_threshold_p1_84(mac, parseInt(config.acceleration_interrupt_threshold_p1_84));
2026
+ }
2027
+ if(config.acceleration_interrupt_threshold_p2_84_active){
2028
+ promises.acceleration_interrupt_threshold_p2_84 = node.config_gateway.config_set_acceleration_interrupt_threshold_p2_84(mac, parseInt(config.acceleration_interrupt_threshold_p2_84));
2029
+ }
2015
2030
  break;
2016
2031
  case 112:
2017
2032
  if(config.current_calibration_82_active){
@@ -2077,6 +2092,9 @@ module.exports = function(RED) {
2077
2092
  if(config.fly_interval_110_active){
2078
2093
  promises.fly_interval_110 = node.config_gateway.config_set_fly_interval_110(mac, parseInt(config.fly_interval_110));
2079
2094
  }
2095
+ if(config.acceleration_interrupt_threshold_p1_84_active){
2096
+ promises.acceleration_interrupt_threshold_p1_84 = node.config_gateway.config_set_acceleration_interrupt_threshold_p1_84(mac, parseInt(config.acceleration_interrupt_threshold_p1_84));
2097
+ }
2080
2098
  break;
2081
2099
  case 114:
2082
2100
  if(config.output_data_rate_101_active){
@@ -2124,8 +2142,8 @@ module.exports = function(RED) {
2124
2142
  if(config.led_velocity_threshold_84_active){
2125
2143
  promises.led_velocity_threshold_84 = node.config_gateway.config_set_led_velocity_threshold_84(mac, parseInt(config.led_velocity_threshold_84));
2126
2144
  }
2127
- if(config.acceleration_interrupt_threshold_84_active){
2128
- promises.acceleration_interrupt_threshold_84 = node.config_gateway.config_set_acceleration_interrupt_threshold_84(mac, parseInt(config.acceleration_interrupt_threshold_84));
2145
+ if(config.acceleration_interrupt_threshold_p1_84_active){
2146
+ promises.acceleration_interrupt_threshold_p1_84 = node.config_gateway.config_set_acceleration_interrupt_threshold_p1_84(mac, parseInt(config.acceleration_interrupt_threshold_p1_84));
2129
2147
  }
2130
2148
  if(config.payload_length_80_active){
2131
2149
  promises.payload_length_80 = node.config_gateway.config_set_payload_length_80(mac, parseInt(config.payload_length_80));