@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.
- package/lib/WirelessGateway.js +251 -614
- package/package.json +1 -1
- package/wireless.html +50 -9
- package/wireless.js +20 -2
package/lib/WirelessGateway.js
CHANGED
|
@@ -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].
|
|
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
|
-
|
|
1165
|
-
console.log('
|
|
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
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
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
|
-
|
|
6299
|
-
|
|
6300
|
-
|
|
6301
|
-
|
|
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
|
-
'
|
|
6310
|
-
'
|
|
6311
|
-
'
|
|
6312
|
-
'
|
|
6313
|
-
'
|
|
6314
|
-
'
|
|
6315
|
-
'
|
|
6316
|
-
'
|
|
6317
|
-
'
|
|
6318
|
-
'tx_life_count': frame.slice(
|
|
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
|
-
'
|
|
6322
|
-
'
|
|
6323
|
-
'
|
|
6324
|
-
'
|
|
6325
|
-
'
|
|
6326
|
-
'
|
|
6327
|
-
'
|
|
6328
|
-
'
|
|
6329
|
-
'
|
|
6330
|
-
'tx_life_count': frame.slice(
|
|
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
|
-
|
|
6459
|
-
|
|
6460
|
-
|
|
6461
|
-
|
|
6462
|
-
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
-
|
|
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
|
-
'
|
|
6473
|
-
'
|
|
6474
|
-
'
|
|
6475
|
-
'
|
|
6476
|
-
'
|
|
6477
|
-
'
|
|
6478
|
-
'
|
|
6479
|
-
'
|
|
6480
|
-
'
|
|
6481
|
-
'
|
|
6482
|
-
'
|
|
6483
|
-
'tx_life_count': frame.slice(
|
|
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
|
-
'
|
|
6487
|
-
'
|
|
6488
|
-
'
|
|
6489
|
-
'
|
|
6490
|
-
'
|
|
6491
|
-
'
|
|
6492
|
-
'
|
|
6493
|
-
'
|
|
6494
|
-
'
|
|
6495
|
-
'
|
|
6496
|
-
'
|
|
6497
|
-
'tx_life_count': frame.slice(
|
|
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[
|
|
6647
|
-
var minute = payload[
|
|
6648
|
-
var expected_packets = payload[
|
|
6649
|
-
var current_packet = payload[
|
|
6650
|
-
var sdata_start =
|
|
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[
|
|
6682
|
-
var fsr = payload[
|
|
6683
|
-
var device_temp = msbLsb(payload[
|
|
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[
|
|
6744
|
-
var fsr = payload[
|
|
6745
|
-
var device_temp = msbLsb(payload[
|
|
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[
|
|
6918
|
-
var fsr = payload[
|
|
6919
|
-
var device_temp = msbLsb(payload[
|
|
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)
|
|
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[
|
|
7262
|
-
var minute = payload[
|
|
7263
|
-
var expected_packets = payload[
|
|
7264
|
-
var current_packet = payload[
|
|
7265
|
-
var sdata_start =
|
|
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[
|
|
7296
|
-
var fsr = payload[
|
|
7297
|
-
var device_temp = msbLsb(payload[
|
|
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[
|
|
7357
|
-
var fsr = payload[
|
|
7358
|
-
var device_temp = msbLsb(payload[
|
|
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
|
-
|
|
7362
|
-
|
|
7363
|
-
|
|
7364
|
-
|
|
7365
|
-
|
|
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[
|
|
7542
|
-
var fsr = payload[
|
|
7543
|
-
var device_temp = msbLsb(payload[
|
|
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)
|
|
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)
|
|
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[
|
|
8062
|
-
var minute = payload[
|
|
8063
|
-
var expected_packets = payload[
|
|
8064
|
-
var current_packet = payload[
|
|
8065
|
-
var sdata_start =
|
|
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[
|
|
8097
|
-
var fsr = payload[
|
|
8098
|
-
var device_temp = msbLsb(payload[
|
|
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[
|
|
8159
|
-
var fsr = payload[
|
|
8160
|
-
var device_temp = msbLsb(payload[
|
|
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[
|
|
8336
|
-
var fsr = payload[
|
|
8337
|
-
var device_temp = msbLsb(payload[
|
|
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)
|
|
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[
|
|
8676
|
-
var minute = payload[
|
|
8677
|
-
var expected_packets = payload[
|
|
8678
|
-
var current_packet = payload[
|
|
8679
|
-
var sdata_start =
|
|
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[
|
|
8711
|
-
var fsr = payload[
|
|
8712
|
-
var device_temp = msbLsb(payload[
|
|
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[
|
|
8773
|
-
var fsr = payload[
|
|
8774
|
-
var device_temp = msbLsb(payload[
|
|
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[
|
|
8946
|
-
var fsr = payload[
|
|
8947
|
-
var device_temp = msbLsb(payload[
|
|
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
|
-
'
|
|
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
|
-
'
|
|
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
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
|
-
|
|
328
|
-
|
|
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-
|
|
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-
|
|
1612
|
-
<input type="checkbox" id="node-input-
|
|
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-
|
|
1616
|
-
<input type="text" id="node-input-
|
|
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.
|
|
2128
|
-
promises.
|
|
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));
|