forked from LORD-MicroStrain/MSCL
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG.txt
1895 lines (1506 loc) · 89.3 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
======================================================================================================
MSCL Change Log - update with each release
The version number scheme in MSCL is as follows:
MAJOR.MINOR.PATCH
The MAJOR version is incremented when changes are made (to the public interface) that are not backwards compatible.
The MINOR version is incremented when a new feature is added (to the public interface) or a current feature is improved upon.
The PATCH version is incremented when a bug is fixed.
======================================================================================================
-------------------------------------------------------------------------
13.0.2 - 2016-10-04
- fix for datalog downloading v2 failing to verify checksum correctly.
-------------------------------------------------------------------------
13.0.1 - 2016-09-29
- fix for NodeFeatures::supportsFlashId returning true when the node doesn't support logging.
-------------------------------------------------------------------------
13.0.0 - 2016-09-27
- CHANGED NodeFeatures::sampleRates to take a dataCollectionMethod parameter which also affects the list of sample rates available.
- CHANGED NodeFeatures::supportsSamplingRate to take a dataCollectionMethod parameter as well.
- CHANGED NodeFeatures::maxSampleRate to take a dataCollectionMethod parameter as well.
- CHANGED NodeFeatures::maxSampleRateForSettlingTime to take a dataCollectionMethod as well.
- changed Set to Idle's cancel operation to not throw an exception, but instead to just send a cancel byte a few times if no cancel response was heard.
- added check for flash bandwidth in WirelessNodeConfig's verifyConfig when applicable.
- fix for V-Link-200 and Wireless-Impact-Sensor sample rates being incorrect.
-------------------------------------------------------------------------
12.2.1 - 2016-09-23
- updated list of V-Link-200 anti-aliasing filters.
-------------------------------------------------------------------------
12.2.0 - 2016-09-22
- added a debug mode option to the Connection class to allow getting all bytes read and written to the connection via the MSCL instance.
-------------------------------------------------------------------------
12.1.1 - 2016-09-21
- updated v-link-200 available storage limit modes.
-------------------------------------------------------------------------
12.1.0 - 2016-09-21
- added 300Hz sample rate.
- updated SHM-Link-2 features to support 300Hz.
-------------------------------------------------------------------------
12.0.0 - 2016-09-20
- CHANGED WirelessTypes::AutoCalErrorFlag to WirelessTypes::AutoCalShmErrorFlag.
- added WirelessTypes::AutoShuntCalErrorFlag.
- added baseline and shunt values to the data read from the AutoShuntCal response.
-------------------------------------------------------------------------
11.0.1 - 2016-09-19
- fix for using floating point event duration when shouldn't, and vice-versa (inversed logic).
-------------------------------------------------------------------------
11.0.0 - 2016-09-14
- MOVED WsdaInfo class outside of the WsdaFinder class (no longer nested).
-------------------------------------------------------------------------
10.4.2 - 2016-09-13
- checking that event driven sampling cannot be configured with transmit only when verifying config settings.
-------------------------------------------------------------------------
10.4.1 - 2016-09-12
- added missing ShuntCalCmdInfo useInternalShunt field and using in command.
- added new microcontroller types.
-------------------------------------------------------------------------
10.4.0 - 2016-09-12
- added NodeFeatures::supportsNonSyncLogWithTimestamps()
-------------------------------------------------------------------------
10.3.0 - 2016-09-12
- support for startNonSyncSampling v2 on supported Nodes.
- removed Event Driven Non-Sync support from the list of sampling modes for V-Link and Wireless-Impact Sensor.
-------------------------------------------------------------------------
10.2.0 - 2016-09-09
- support for the WirelessNode getDiagnosticInfo command.
- added range_invalid to the input range enum list.
- added eepromLocation function to the ChannelGroup class.
-------------------------------------------------------------------------
10.1.0 - 2016-09-08
- added parsing for new Diagnostic packet channels.
- fix for SG-Link not working with Input Range.
- added missing input range to the SHM-Link.
-------------------------------------------------------------------------
10.0.0 - 2016-09-07
- added WirelessNode::autoShuntCal functionality for supported Nodes.
- changed from hardware gain interface to input range interface.
- CHANGED ConfigOption::CONFIG_HARDWARE_GAIN to ConfigOption::CONFIG_INPUT_RANGE.
- CHANGED WirelessNodeConfig::hardwareGain functions to WirelessNodeConfig::inputRange.
- CHANGED WirelessNode::getHardwareGain to WirelessNode::getInputRange.
- CHANGED WirelessTypes::ChannelGroupSetting::chSetting_hardwareGain to WirelessTypes::ChannelGroupSetting::chSetting_inputRange.
- CHANGED WirelessTypes::ChannelGroupSetting::chSetting_shuntCal to WirelessTypes::ChannelGroupSetting::chSetting_legacyShuntCal.
- CHANGED NodeFeatures::supportsHardwareGain to NodeFeatures::supportsInputRange.
- DELETED NodeFeatures::minHardwareGain and NodeFeatures::maxHardwareGain.
- DELETED NodeFeatures::normalizeHardwareGain.
- CHANGED NodeFeatures::supportsShuntCal to NodeFeatures::supportsLegacyShuntCal.
- added Single ended channels to V-Link-200.
-------------------------------------------------------------------------
9.1.2 - 2016-09-06
- fix for crash during datalog download.
-------------------------------------------------------------------------
9.1.1 - 2016-08-31
- fix for uint24s in datalog data being built incorrectly.
-------------------------------------------------------------------------
9.1.0 - 2016-08-31
- added upnp WSDA discovery support (Windows & C++ only for now).
- removed unused SG-Link-8ch
-------------------------------------------------------------------------
9.0.1 - 2016-08-29
- added a minimum timeout of 200ms to the dataloginfo command.
-------------------------------------------------------------------------
9.0.0 - 2016-08-23
- CHANGED EventTriggerOptions trigger value's to be floats. (Instead of the bits value, this value is
now set using the cal coefficients that are set on the Node, or that will be set if changing together in WirelessNodeConfig).
-------------------------------------------------------------------------
8.0.2 - 2016-08-22
- fix for bugs found using PVS-Studio.
-------------------------------------------------------------------------
8.0.1 - 2016-08-18
- added more model number for the V-Link 200.
-------------------------------------------------------------------------
8.0.0 - 2016-08-18
- support for configuring data format of uint24 for supported Nodes.
- CHANGED WirelessTypes::DataFormat::dataFormat_2byte_uint to dataFormat_raw_uint16
- CHANGED WirelessTypes::DataFormat::dataFormat_4byte_float to dataFormat_cal_float
-------------------------------------------------------------------------
7.4.0 - 2016-08-16
- support for 256hz sample rate with SHM-Link-2 node with new firmware.
-------------------------------------------------------------------------
7.3.0 - 2016-08-16
- support for parsing uint16 (18-bit truncated) data types in Wireless packets.
-------------------------------------------------------------------------
7.2.0 - 2016-08-16
- support for parsing uint24 data types in Wireless packets.
-------------------------------------------------------------------------
7.1.10 - 2016-08-15
- fix for HCL Calibrated Packet parser storing temperature in incorrect data type
-------------------------------------------------------------------------
7.1.9 - 2016-08-11
- updated HCL Calibrated Packet parser.
-------------------------------------------------------------------------
7.1.8 - 2016-08-11
- using std::chrono::high_resolution_clock instead of boost::chrono::high_resolution_clock.
- can do this now because supposedly Microsoft fixed a bug in VS2015 where high_resolution_clock was compiling as a system_clock.
- now only dependent on boost/system as a library (for asio). All other boost includes are header only.
-------------------------------------------------------------------------
7.1.7 - 2016-08-10
- building with VS2015 (upgraded from 2013)
-------------------------------------------------------------------------
7.1.6 - 2016-08-09
- waiting longer after resetting Node radio before continuing
- adding up to 3 retries to ping before autobalance
-------------------------------------------------------------------------
7.1.5 - 2016-08-05
- support for HCL Smart Bearing - Calibrated packet.
-------------------------------------------------------------------------
7.1.4 - 2016-07-29
- autobalance command returns a warning if the target percentage is off by more than 5%
- Note that this logic is only for autobalance v1, and v2 nodes return this warning themselves
-------------------------------------------------------------------------
7.1.3 - 2016-07-27
- added minimum timeout of 600ms for the AutoBalance v2 response.
-------------------------------------------------------------------------
7.1.2 - 2016-07-26
- simplified the Wireless SetToIdle response parser.
-------------------------------------------------------------------------
7.1.1 - 2016-07-26
- fix for Sensor Delay not writing the Sensor Always On value correctly.
-------------------------------------------------------------------------
7.1.0 - 2016-07-25
- added support for Sensor Delay configuration.
-------------------------------------------------------------------------
7.0.1 - 2016-07-15
- renamed node to Wireless Impact Sensor.
-------------------------------------------------------------------------
7.0.0 - 2016-07-14
- CHANGED ConfigOption::CONFIG_LOW_PASS_FILTER to ConfigOption::CONFIG_ANTI_ALIASING_FILTER.
- CHANGED WirelessNodeConfig::lowPassFilter functions to WirelessNodeConfig::antiAliasingFilter.
- CHANGED NodeFeatures::supportsLowPassFilter to NodeFeatures::supportsAntiAliasingFilter.
- CHANGED WirelessNode::getLowPassFilter to WirelessNode::getAntiAliasingFilter.
- CHANGED WirelessTypes::ChannelGroupSetting::chSetting_lowPassFilter to WirelessTypes::ChannelGroupSetting::chSetting_antiAliasingFilter
- CHANGED NodeModel::node_vLink2 to NodeModel::node_vLink200.
-------------------------------------------------------------------------
6.1.3 - 2016-07-13
- fixed a bug in Datalog Download not stopping when it should (error calulating bytes remaining).
- fixed a bug in Datalog Download reading out of range for checksums in some cases.
-------------------------------------------------------------------------
6.1.2 - 2016-07-13
- fixed a bug in Datalog Download where cal coefficients would never get updated between sessions.
-------------------------------------------------------------------------
6.1.1 - 2016-07-12
- fixed a bug in Sync Sampling logic allowing nodes with 100.1 percent bandwidth to get slots
and the network reporting OK.
- added logic where nodes in a Legacy Sync network cannot get assigned the last 8 slots.
-------------------------------------------------------------------------
6.1.0 - 2016-07-08
- updated to new download data packet (102 bytes instead of 100).
-------------------------------------------------------------------------
6.0.0 - 2016-07-08
- DELETED DeviceInfo.status() as it was not always reliable and not available for new CP210x driver.
- DELETED DeviceInfo.DeviceStatus enum.
- added DeviceInfo.description().
- changed how devices are discovered on Windows again to support new CP210x driver.
-------------------------------------------------------------------------
5.4.5 - 2016-07-07
- fix for incorrectly checking for active channels in DatalogDownloader.
-------------------------------------------------------------------------
5.4.4 - 2016-07-07
- fix for accidental commit of non-working device discovery code.
-------------------------------------------------------------------------
5.4.3 - 2016-07-01
- fix for datalog download skipping data.
-------------------------------------------------------------------------
5.4.2 - 2016-06-30
- changed how devices are discovered on Windows
- This is an attempt to fix a bug where devices are not listed in WMI's "Win32_SerialPortConfiguration"
-------------------------------------------------------------------------
5.4.1 - 2016-06-30
- more bug fixes for new datalog download parsing.
-------------------------------------------------------------------------
5.4.0 - 2016-06-28
- bug fixes for new datalog download parsing.
- added new eeprom locations to NodeEepromMap.
- added BaseStation::readWriteRetries getter function.
- added WirelessNode::readWriteRetries getter function.
-------------------------------------------------------------------------
5.3.0 - 2016-06-24
- support for parsing the failure (device busy) packets for the 3 new datalogging commands.
- fixed bug where new datalog data was being parsed in big endian when should be parsed in little endian.
-------------------------------------------------------------------------
5.2.0 - 2016-06-24
- added Endianness functionality.
-------------------------------------------------------------------------
5.1.2 - 2016-06-22
- updated formula for new V-Link hardware gain settings.
-------------------------------------------------------------------------
5.1.1 - 2016-06-21
- using Get Datalog Info command when asking for # datalogging sessions for new nodes.
-------------------------------------------------------------------------
5.1.0 - 2016-06-21
- support for 4-byte float with no cals applied datatype.
-------------------------------------------------------------------------
5.0.1 - 2016-06-21
- fix for parsing of v2 Datalogging headers not being called.
-------------------------------------------------------------------------
5.0.0 - 2016-06-21
- initial support for Datalogging v2 download.
- DELETED DatalogDownloader::triggerType()
- DELETED DatalogDownloader::totalSweeps()
-------------------------------------------------------------------------
4.4.1 - 2016-06-17
- fix for duplicate HclSmartBeacon_RawPackets not being thrown out.
- fix for duplicate RawAngleStrainPackets not being thrown out.
-------------------------------------------------------------------------
4.4.0 - 2016-06-16
- added support for Event Trigger Index channel in Diagnostic Packet.
-------------------------------------------------------------------------
4.3.4 - 2016-06-14
- added NodeMemory2 class (internal class) for next gen Node datalog downloading.
-------------------------------------------------------------------------
4.3.3 - 2016-06-10
- added Get Datalog Data Node command (internal function).
-------------------------------------------------------------------------
4.3.2 - 2016-06-10
- added Datalog Session Info Node command (internal function).
-------------------------------------------------------------------------
4.3.1 - 2016-06-08
- fix for parsing packet failures causing crash, now just them throwing out.
-------------------------------------------------------------------------
4.3.0 - 2016-06-08
- added support for Storage Limit Mode
- added NodeFeatures::storageLimitModes
- added WirelessNode::getStorageLimitMode for getting the config
- added WirelessNodeConfig::storageLimitMode for setting the config
-------------------------------------------------------------------------
4.2.1 - 2016-06-08
- changed filterSensorcloudName to not use regex.
- removed regex include as its no longer needed.
-------------------------------------------------------------------------
4.2.0 - 2016-06-01
- support for v2 of the Erase node command (handled automatically through the same interface).
-------------------------------------------------------------------------
4.1.1 - 2016-06-01
- support for Flash ID eeprom on new nodes (currently used for determining data storage size).
-------------------------------------------------------------------------
4.1.0 - 2016-05-31
- added NodeFeatures::supportsCentisecondEventDuration to the public interface.
-------------------------------------------------------------------------
4.0.0 - 2016-05-27
- Event pre/post duration moved to milliseconds in MSCL to avoid floating point errors.
- CHANGED EventTriggerOptions::preDuration to take/return a uint32 number of milliseconds instead of float seconds.
- CHANGED EventTriggerOptions::postDuration to take/return a uint32 number of milliseconds instead of float seconds.
- CHANGED NodeFeatures::maxEventTriggerTotalDuration to return the max event duration in milliseconds.
- CHANGED NodeFeatures::normalizeEventDuration to take and return event durations in milliseconds.
-------------------------------------------------------------------------
3.0.1 - 2016-05-26
- fix for allowing pre and post duration above maximum values.
-------------------------------------------------------------------------
3.0.0 - 2016-05-26
- CHANGED EventTriggerOptions::preDuration to take/return a float number of seconds instead of uint16.
- CHANGED EventTriggerOptions::postDuration to take/return a float number of seconds instead of uint16.
- added NodeFeatures::normalizeEventDuration to normalize the pre and post event duration values.
- support for new nodes using 10s-of-milliseconds resolution for pre/post duration.
-------------------------------------------------------------------------
2.1.0 - 2016-05-25
- added support for Torque-Link.
-------------------------------------------------------------------------
2.0.2 - 2016-05-24
- fix for Event Driven nodes in network being sorted by bandwidth incorrectly.
-------------------------------------------------------------------------
2.0.1 - 2016-05-24
- fix for SyncSamplingNetwork using Sync eeprom when should be using the Sampling eeprom.
This caused Event Driven nodes to run through the optimizeBandwidth routine, messing with the logic.
-------------------------------------------------------------------------
2.0.0 - 2016-05-24
- support for optimizing slots for Event Driven nodes.
- DELETED SyncSamplingNetwork::setPendingConfig
- DELETED SyncSamplingNetwork::clearPendingConfig
- DELETED SyncSamplingNetwork::clearAllPendingConfigs
- RENAMED Utils::roundDownToNearestBase2 to Utils::floorBase2
- RENAMED Utils::roundUpToNearestBase2 to Utils::ceilBase2
-------------------------------------------------------------------------
1.46.0 - 2016-05-20
- added special rules for sync networks with mixed old (fw < 10.0) and new (fw >= 10.0) nodes.
-------------------------------------------------------------------------
1.45.5 - 2016-05-12
- fix for incorrect parsing of ASPP v2 packets.
-------------------------------------------------------------------------
1.45.4 - 2016-05-11
- fix for DatalogDownloader's LoggedDataSweep parsing floats incorrectly.
-------------------------------------------------------------------------
1.45.3 - 2016-05-11
- fix for DatalogDownloader's LoggedDataSweep calsApplied being set incorrectly.
-------------------------------------------------------------------------
1.45.2 - 2016-05-11
- forcing uninitialized unit values (0xAA or 0xFF) read from eeprom or datalog download to a unit_none id.
-------------------------------------------------------------------------
1.45.1 - 2016-05-11
- fixed float values (data and cal coefficients) being read in the wrong endianess in the DatalogDownloader.
-------------------------------------------------------------------------
1.45.0 - 2016-05-09
- moved the calApplied() function from the datapoint level to the sweep level.
- removed the nanoseconds() function from the DataSweep, as it was redundant with the Timestamp() function.
- added more units
-------------------------------------------------------------------------
1.44.1 - 2016-05-04
- no longer checking for invalid event trigger settings when no triggers active.
-------------------------------------------------------------------------
1.44.0 - 2016-05-04
- added the shuntCal wireless channel setting.
-------------------------------------------------------------------------
1.43.0 - 2016-05-03
- added support for the Built in Test diagnostic packet channel.
-------------------------------------------------------------------------
1.42.0 - 2016-04-27
- added support for getting cal coefficients from the DatalogDownloader.
- added CalCoefficients class as a wrapper for LinearEquation, unit, and equation type.
-------------------------------------------------------------------------
1.41.1 - 2016-04-26
- fix for Wireless Impact Sensor listing 3 low pass filters for 1 channel.
-------------------------------------------------------------------------
1.41.0 - 2016-04-25
- added support for low pass filter configuration.
-------------------------------------------------------------------------
1.40.1 - 2016-04-20
- added uint16 support for the Wireless Impact Sensor.
-------------------------------------------------------------------------
1.40.0 - 2016-04-20
- added maxSampleRateForSettlingTime NodeFeatures call.
-------------------------------------------------------------------------
1.39.5 - 2016-04-18
- made separate ConfigIssue enums for Event trigger mask and Event trigger duration.
-------------------------------------------------------------------------
1.39.4 - 2016-04-15
- fix for a few edge cases where event sampling types weren't being checked.
-------------------------------------------------------------------------
1.39.3 - 2016-04-15
- fix for V-Link-2 not having any listed sample rates for event driven.
-------------------------------------------------------------------------
1.39.2 - 2016-04-15
- converting uninitialized unit to a "none" unit.
-------------------------------------------------------------------------
1.39.1 - 2016-04-15
- added all the units that SensorCloud has to MSCL.
-------------------------------------------------------------------------
1.39.0 - 2016-04-15
- added nonSyncEvent and syncEvent WirelessSamplingModes.
- added logic to the WirelessNodeConfig verify for these new sampling modes.
- added new sample rates to the Wireless Impact Sensor for these new sampling modes.
-------------------------------------------------------------------------
1.38.0 - 2016-04-15
- added basic support for Wireless Impact Sensor.
-------------------------------------------------------------------------
1.37.2 - 2016-04-12
- added calApplied() function to WirelessDataPoint class.
-------------------------------------------------------------------------
1.37.1 - 2016-04-07
- updated WirelessNode.lastCommunicationTime() to be BaseStation independent.
- updated all lastCommunicationTime functions to include when data is heard
from the device as well as command replies.
-------------------------------------------------------------------------
1.37.0 - 2016-04-06
- support for parsing of incoming ASPP v2 packets.
- support for parsing of RollerPackets.
- changed Wireless Node nodeAddress to uint32 when parsing data.
-------------------------------------------------------------------------
1.36.3 - 2016-03-28
- not disabling beacon on successive calls to SyncSamplingNetwork.startSampling()
- increased # of retries to ping after a cycle power from 5 to 15.
-------------------------------------------------------------------------
1.36.2 - 2016-03-24
- retrying up to 10x to communicate after an autobalance command is sent.
-------------------------------------------------------------------------
1.36.1 - 2016-03-18
- removed check for page download failure as it was causing issues.
Unfortunately, this means the page download now needs to time out for a failure.
-------------------------------------------------------------------------
1.36.0 - 2016-03-16
- added NodeFeatures.supportsLoggedData() function.
-------------------------------------------------------------------------
1.35.4 - 2016-03-15
- added percentComplete to the DatalogDownloader class.
-------------------------------------------------------------------------
1.35.3 - 2016-03-09
- added setting of direct triggerMask to EventTriggerOptions.
-------------------------------------------------------------------------
1.35.2 - 2016-03-09
- changed the way specific trigger settings are configured in EventTriggerOptions.
-------------------------------------------------------------------------
1.35.1 - 2016-03-09
- added triggerMask() function to EventTriggerOptions.
-------------------------------------------------------------------------
1.35.0 - 2016-02-29
- support for configuration of diagnostic packets.
-------------------------------------------------------------------------
1.34.3 - 2016-02-26
- initial support for setting Event Trigger sampling configuration.
-------------------------------------------------------------------------
1.34.2 - 2016-02-25
- initial support for getting Event Trigger sampling configuration.
-------------------------------------------------------------------------
1.34.1 - 2016-02-23
- support for the changed sample rate format in diagnostic packet.
-------------------------------------------------------------------------
1.34.0 - 2016-02-19
- Parsing of diagnostic packets.
-------------------------------------------------------------------------
1.33.1 - 2016-02-17
- fix for Raw Strain Sync packets duplicating channels between sweeps.
-------------------------------------------------------------------------
1.33.0 - 2016-02-16
- added support for Raw Strain Sync data packets.
- added sync support for the shm-link Node (non-custom).
-------------------------------------------------------------------------
1.32.2 - 2016-02-15
- sending a byte/ping to the BaseStation before starting SetToIdle to attempt to fix
an issue where the Base won't start the Set To Idle operation when lots of data over the air.
-------------------------------------------------------------------------
1.32.1 - 2016-02-11
- support for the CF-Bearing-Temp-Link
-------------------------------------------------------------------------
1.32.0 - 2016-02-03
- added InertialNode.setInitialAttitude() command.
- added InertialNode.setInitialHeading() command.
- fix for 8192Hz sample rate throwing exceptions when being used.
- removed maxSampleRate restriction for Nodes with FW 10.0+.
-------------------------------------------------------------------------
1.31.0 - 2016-02-03
- added InertialNode.getAutoInitialization() command.
- added InertialNode.setAutoInitialization() command.
-------------------------------------------------------------------------
1.30.0 - 2016-02-03
- added InertialNode.resetFilter() command.
- removed the Error_Timeout exception (replaced with Error_Communication everywhere).
-------------------------------------------------------------------------
1.29.1 - 2016-01-29
- fix for failing to parse the BaseStation startRfSweep command response.
-------------------------------------------------------------------------
1.29.0 - 2016-01-27
- removed BaseStation.nodeCommandsTimeout() and BaseStation.basecommandsTimeout()
in favor of a single BaseStation.timeout() function.
- renamed InertialNode.commandsTimeout() to InertialNode.timeout().
- changed default timeout of BaseStation commands to 50ms (from 1100ms!).
- WirelessNode timeouts now add 50ms to the normal BaseStation timeout (so default of 100ms).
- change default timeout of InertialNode commands to 100ms (from 1000ms!).
- added minimum timeout of 1100ms to old BaseStation enable/disable beacon commands.
-------------------------------------------------------------------------
1.28.3 - 2016-01-27
- fix for tick being calculated incorrectly for all buffered packets.
-------------------------------------------------------------------------
1.28.2 - 2016-01-26
- fix for startRfSweepMode having the wrong payload length in the command.
-------------------------------------------------------------------------
1.28.1 - 2016-01-26
- additional logic for Sync Sampling formulas v2.
-------------------------------------------------------------------------
1.28.0 - 2016-01-25
- changed Sync Sampling formulas to support new nodes' methods (fw 10.0+).
-------------------------------------------------------------------------
1.27.1 - 2016-01-21
- applying eeprom changes in SyncSamplingNetwork.applyConfiguration by resetting the node.
-------------------------------------------------------------------------
1.27.0 - 2016-01-20
- SyncSamplingNetwork.startSampling functions no longer throw communication error exceptions
-If a Node fails to respond to a start sync command, 3 more attempts are made, then it moved to other nodes.
This is because we can not get the response when a Node really does start, and then successive
calls to the startSampling function will not be able to start that Node, nor Nodes behind it in the network.
-------------------------------------------------------------------------
1.26.0 - 2016-01-18
- no longer caching eeprom 1030.
- initial support for the new V-Link.
- added "options" parameter to the startRfSweep command (for internal use).
-------------------------------------------------------------------------
1.25.0 - 2016-01-18
- removed BaseStation.getNextData() in favor of BaseStation.getData()
- removed InertialNode.getNextDataPacket() in favor of InertialNode.getDataPackets()
-------------------------------------------------------------------------
1.24.1 - 2016-01-13
- fix for RfSweep data throwing an error when asking for channel name.
-------------------------------------------------------------------------
1.24.0 - 2016-01-12
- added parsing of RfSweep data packets.
-------------------------------------------------------------------------
1.23.0 - 2016-01-11
- added BaseStation startRfSweepMode command.
-------------------------------------------------------------------------
1.22.0 - 2016-01-08
- Wireless command responses now ignore the bytes that were already in the read buffer before the command was sent.
- this was a fix for the short commands/responses sometimes erroneously getting mixed up.
-------------------------------------------------------------------------
1.21.11 - 2016-01-06
- WirelessDataPoint now lazy loads the channelName.
- WirelessDataPoint now has arbitrary properties that can be set by packet parsers to be passed to user programs.
-------------------------------------------------------------------------
1.21.10 - 2015-12-16
- support for parsing Node Discovery v4 packets.
-------------------------------------------------------------------------
1.21.9 - 2015-12-14
- sending the startNonSyncSampling command multiple times to give Nodes a better chance at successfully starting.
-------------------------------------------------------------------------
1.21.8 - 2015-12-14
- reverting changes made in 1.21.7.
-------------------------------------------------------------------------
1.21.7 - 2015-12-11
- changed SampleRate::str() to return strings that match SensorCloud's specs.
-------------------------------------------------------------------------
1.21.6 - 2015-12-09
- adding Node Built In Test to eeproms that shouldn't be cached.
-------------------------------------------------------------------------
1.21.5 - 2015-12-07
- using reset radio to apply Node eeproms when possible, instead of cycle power.
-------------------------------------------------------------------------
1.21.4 - 2015-12-02
- checking if sampling modes are supported when defaulting to a sampling mode if not yet set in eeprom.
-------------------------------------------------------------------------
1.21.3 - 2015-12-01
- support for Sleep Interval eeprom on Nodes with firmware 10.0+.
-------------------------------------------------------------------------
1.21.2 - 2015-11-19
- fix for issues with min and max distributed angles throwing errors when they are valid.
-------------------------------------------------------------------------
1.21.1 - 2015-11-11
- fixed bugs causing Raw Angle Strain packets to get parsed incorrectly.
-------------------------------------------------------------------------
1.21.0 - 2015-11-10
- added support for parsing Beacon Echo packets (base fw v3.32+).
-------------------------------------------------------------------------
1.20.6 - 2015-11-06
- fix for angles in distributed version of Raw Angle Strain packets being incorrectly determined.
-------------------------------------------------------------------------
1.20.5 - 2015-11-05
- added parsing of Raw Angle Strain Packets.
- fix for SetToIdleStatus::cancel() failing due to attempting to determine which ping function to use.
- set complete flag to true on the SetToIdleStatus after a successful cancel operation.
- restricting SHM-Link2 sample rates to the correct range.
- added BaseStation connection() function for getting a reference to the underlying Connection.
-------------------------------------------------------------------------
1.20.4 - 2015-11-03
- added more detail to read/write eeprom specific failure code messages.
- changed Windows serial port timeouts to be as fast and efficient as possible.
- this fixes an issue with Inertial data coming in so fast that it gets timestamps incorrectly.
- Note: there currently seems to be a bug in the SiLabs driver causing CPU spikes with this method.
-------------------------------------------------------------------------
1.20.3 - 2015-11-02
- changed Value casting from boost numeric_cast (runtime out of range errors) to static_cast.
-------------------------------------------------------------------------
1.20.2 - 2015-11-02
- fix for LDC 16ch packets not being parsed correctly.
-------------------------------------------------------------------------
1.20.1 - 2015-10-29
- added histogramEnable to FatigueOptions config.
- added supportsHistogramEnableConfig to NodeFeatures.
-------------------------------------------------------------------------
1.20.0 - 2015-10-29
- added fatigueMode to FatigueOptions config (replaces distributedAngleMode boolean).
- changed rawMode to debugMode in FatigueOptions.
- changed supportsFatigueRawModeConfig to supportsFatigueDebugModeConfig.
- added supportsFatigueModeConfig (replaces supportsFatigueDistributedAngleMode).
- added fatigueModes function to NodeFeatures for getting a list of supported fatigue modes.
-------------------------------------------------------------------------
1.19.2 - 2015-10-28
- changed back to std::regex...again.
-------------------------------------------------------------------------
1.19.1 - 2015-10-27
- fix for specific config issue enums not actually being returned.
-------------------------------------------------------------------------
1.19.0 - 2015-10-27
- added support for WirelessNode quickPing() command for performing a "Short Ping".
- this uses the new ASPP Short Ping if the Base Station supports it.
- changed from std::regex to boost::regex as the current Ubuntu LTS (14.04) doesn't support it.
- exposed InertialTypes::channelFieldToStr to SWIG.
- exposed InertialTypes::channelQualifierToStr to SWIG.
- exposed InertialTypes::channelName to SWIG.
-------------------------------------------------------------------------
1.18.3 - 2015-10-27
- added more specific config issue enums.
- fix for Gauge Factor config issue incorrectly sending a Hardware Gain issue enum.
-------------------------------------------------------------------------
1.18.2 - 2015-10-26
- fix for ActivitySense options not being written in the applyConfig function.
-------------------------------------------------------------------------
1.18.1 - 2015-10-22
- added support for the SG-Link-Micro node.
-------------------------------------------------------------------------
1.18.0 - 2015-10-21
- added support for the Fatigue distributed angle mode configuration.
-------------------------------------------------------------------------
1.17.1 - 2015-10-21
- added support for WirelessNode regionCode() function.
- removed optional frequency parameter from WirelessNode constructor.
-------------------------------------------------------------------------
1.17.0 - 2015-10-21
- added support for Gauge Factor configuration for supported nodes.
-------------------------------------------------------------------------
1.16.0 - 2015-10-20
- finalized support for ActivitySense feature.
-------------------------------------------------------------------------
1.15.1 - 2015-10-20
- added support for SHM-Link2-cust1 model.
- starting to add support for ActivitySense feature (not yet working, invalid eeproms).
-------------------------------------------------------------------------
1.15.0 - 2015-10-19
- added InertialNode::getAntennaOffset().
- added InertialNode::setAntennaOffset().
-------------------------------------------------------------------------
1.14.0 - 2015-10-16
- added InertialNode::getSensorToVehicleOffset().
- added InertialNode::setSensorToVehicleOffset().
- added start of InertialNodeFeatures class (doesn't provide anything right now).
-------------------------------------------------------------------------
1.13.0 - 2015-10-15
- added InertialNode::getSensorToVehicleTransformation().
- added InertialNode::setSensorToVehicleTransformation().
-------------------------------------------------------------------------
1.12.2 - 2015-10-15
- removing support for cal coefficients from the SHM-Link 2.
-------------------------------------------------------------------------
1.12.1 - 2015-10-15
- updated SHM-Link 2 features to not support limited duration (sweeps).
-------------------------------------------------------------------------
1.12.0 - 2015-10-15
- added NodeFeatures::supportsLimitedDuration for checking which Nodes only support unlimited sampling (no sweeps).
- don't allow a value other than true to be set for unlimited duration if Node doesn't support disabling it.
- don't allow reading or writing the number of sweeps if the node only supports unlimited sampling.
- NodeFeatures minSweeps and maxSweeps functions return 0 if the node only supports unlimited sampling.
- added sleep and up to 5 attempted pings after performing the BaseStation cycle power command.
- added sleep after performing the BaseStation reset radio command.
- added sleep and up to 5 attempted pings after performing the WirelessNode cycle power command.
- added sleep after performing the WirelessNode reset radio command.
- writing a disabled value of 0xFFFF to the channel value for analog base stations if set to 0xFF.
-------------------------------------------------------------------------
1.11.4 - 2015-10-14
- updated to changes made to auto balance 2 packet.
- changed WirelessNode::autoBalance command to take a float percentage range.
- changed AutoBalanceResult to have percent achieved instead of the channel sample value.
- removed resolution from all of the channels as the new autobalance made it unnecessary.
-------------------------------------------------------------------------
1.11.3 - 2015-10-13
- updated auto balance 2 command id.
- fix for cycle power on the base station failing if haven't determined protocol version.
- resetting the radio or cycling power when writing base eeproms (depending on firmware version).
- cycling the power on nodes when committing eeproms (instead of resetting radio).
-------------------------------------------------------------------------
1.11.2 - 2015-10-13
- made AutoBalanceResult functions const.
-------------------------------------------------------------------------
1.11.1 - 2015-10-13
- fix for WirelessNode::autobalance not returning the AutoBalanceResult.
-------------------------------------------------------------------------
1.11.0 - 2015-10-13
- support for old and new auto balance commands.
- old auto balance command now performs a hardware offset eeprom read.
- old auto balance command now performs a read single sensor to get the channel value.
- moved AutoCalResult to its own file.
- moved AutoBalanceResult to its own file.
-------------------------------------------------------------------------
1.10.1 - 2015-10-12
- changed WirelessNode's autobalance function to take a ChannelMask instead of a channel number.
- added method to get the resolution from each WirelessChannel object.
- adding start of the AutoBalance_v2 command (not fully functional).
-------------------------------------------------------------------------
1.10.0 - 2015-10-09
- added supportsLostBeaconTimeout() to the NodeFeatures class.
-------------------------------------------------------------------------
1.9.2 - 2015-10-06
- fix for mV/V-Link having incorrect model number.
-------------------------------------------------------------------------
1.9.1 - 2015-10-05
- added support for Wireless Nodes and BaseStations supporting new transmit powers.
-------------------------------------------------------------------------
1.9.0 - 2015-10-02
- added support for the mV/V-Link Wireless Node.
-------------------------------------------------------------------------
1.8.1 - 2015-10-01
- fix for the swig.jam file not having quotes around the paths, causing failures when spaces are in the path.
-------------------------------------------------------------------------
1.8.0 - 2015-09-29
- parsing of BaseStation Read/Write eeprom failure error codes.
- any BaseStation function that reads from eeprom can potentially now throw an Error_NotSupported exception.
- any BaseStation function that writes to eeprom can potentially now throw an Error_NotSupported exception.
-------------------------------------------------------------------------
1.7.3 - 2015-09-29
- parsing of Node Write Eeprom failure packet.
- any Node function that writes to eeprom can potentially now throw an Error_NotSupported exception.
-------------------------------------------------------------------------
1.7.2 - 2015-09-29
- parsing of Node Read Eeprom failure packet.
- any Node function that reads from eeprom can potentially now throw an Error_NotSupported exception.
-------------------------------------------------------------------------
1.7.1 - 2015-09-28
- fix for AutoCal_shmLink using new App Data Type.
-------------------------------------------------------------------------
1.7.0 - 2015-09-28
- added WirelessNode::readWriteRetries for configuring automatic retries of Node eeprom reads and writes.
- added BaseStation::readWriteRetries for configuring automatic retries of BaseStation eeprom reads and writes.
-------------------------------------------------------------------------
1.6.1 - 2015-09-25
- fix for AutoCal_shmLink command returning when it should still be waiting for a second response.
-------------------------------------------------------------------------
1.6.0 - 2015-09-24
- added WirelessNode::useGroupRead to allow disabling of group eeprom read commands.
-------------------------------------------------------------------------
1.5.1 - 2015-09-21
- using WirelessProtocol class for WirelessNode read/write eeprom and page download commands.
-------------------------------------------------------------------------
1.5.0 - 2015-09-15
- added BaseStation::doCommand function for making custom commands/responses (C++ only).
-------------------------------------------------------------------------
1.4.1 - 2015-09-11
- fix for gcc on Windows not finding type_info
-------------------------------------------------------------------------
1.4.0 - 2015-09-11
- support for the Beacon Status command.
-------------------------------------------------------------------------
1.3.0 - 2015-09-09
- support for v2 Ping Base Station command.
- support for v2 Read Base Eeprom command.
- support for v2 Write Base Eeprom command.
- support for the "WSDA-Base OEM" BaseStation.
-------------------------------------------------------------------------
1.2.1 - 2015-09-08
- added BaseProtocol class to use for future ASPP protocol updates.
-------------------------------------------------------------------------
1.2.0 - 2015-09-04
- support for Wireless Node AutoBalance functionality.
- support for Wireless Node Hardware Offset configuration.
- restricting sampling modes in features for SHM-Link 2.
- fix for the HCL Raw packets being thrown out when should be accepted.
-------------------------------------------------------------------------
1.1.0 - 2015-08-31
- support for HCL Smart Bearing Raw Inertial and Raw Sensor Board packets.
-------------------------------------------------------------------------
1.0.2 - 2015-08-27
- fix for parsing mag values as uint16 when should be int16 in HCL Smart Bearing packet.
-------------------------------------------------------------------------
1.0.1 - 2015-08-27
- fix for invalid node rssi being transmitted in SHM Packet.
-------------------------------------------------------------------------
1.0.0 - 2015-08-26
- official release of MSCL 1.0
-------------------------------------------------------------------------
0.42.0 - 2015-08-26
- support for the new wireless firmware version scheme (Major.SvnRevision).
-------------------------------------------------------------------------
0.41.4 - 2015-08-26
- support for changes to the HCL Smart Bearing - Raw Base Board packet.
-------------------------------------------------------------------------
0.41.3 - 2015-08-25
- changed types of rssi values from "int" to "int16".
-------------------------------------------------------------------------
0.41.2 - 2015-08-24
- fix for v-link hardware gain to bits function not rounding correctly.
-------------------------------------------------------------------------
0.41.1 - 2015-08-24
- Structural Health channel names now include the angle.
- added decimal point to the supported SensorCloud characters.
- made DataPoint constructor public.
-------------------------------------------------------------------------
0.41.0 - 2015-08-17
- full parsing of AutoCal command for the SHM-Link.
-------------------------------------------------------------------------
0.40.1 - 2015-08-17