forked from sigrokproject/libsigrok
-
Notifications
You must be signed in to change notification settings - Fork 2
/
NEWS
1013 lines (990 loc) · 43 KB
/
NEWS
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
0.5.0 (2017-06-12)
------------------
Note: This release DOES change the libsigrok API. That means it is NOT
backwards-compatible and frontends will need updates.
* New supported hardware:
- Logic analyzers:
- CWAV USBee ZX (bug #764)
- DreamSourceLab DSLogic
- DreamSourceLab DSLogic Pro
- FTDI LA (simple, limited logic analyzer using FTDI chips directly)
- Oscilloscopes:
- Hameg HMO3524
- Hantek 6022BE
- LeCroy X-Stream series
- Rigol DS1074Z Plus
- Rigol DS1104Z Plus
- Rigol MSO2000A series
- Rocktech BM102
- Rohde&Schwarz HMO 1002
- Sainsmart DDS120
- Logic analyzers / oscilloscopes (but not MSOs):
- Hantek 6022BL
- Programmable power supplies:
- Agilent N5763A
- HP 6633A
- Rohde&Schwarz HMC8043
- Electronic loads:
- Arachnid Labs Re:load Pro
- Multimeters:
- Agilent U1241C
- Agilent U1242C
- Fluke 289
- HP 3457A
- Keysight U1281
- Keysight U1282
- Metrix MX56C
- PeakTech 3330
- Sound level meters:
- PCE PCE-322A
- LCR meters:
- PeakTech 2170
- Signal generators:
- Rohde&Schwarz SME0x series
* New build dependencies (libsigrokcxx C++ library):
- libsigrok >= 0.5.0 (the libsigrok C library)
- A C++ compiler with full C++11 support (g++ >= 4.8.1 or clang++ >= 3.3)
* New config keys:
- SR_CONF_ADC_POWERLINE_CYCLES
- SR_CONF_PROBE_FACTOR
- SR_CONF_SIGNAL_GENERATOR
- SR_CONF_TRIGGER_LEVEL
- SR_CONF_UNDER_VOLTAGE_CONDITION
- SR_CONF_UNDER_VOLTAGE_CONDITION_ACTIVE
* New measurement quantity keys:
- SR_MQ_HARMONIC_RATIO
* New measurement quantity flags:
- SR_MQFLAG_FOUR_WIRE
* agilent-dmm:
- Fix handling of AC/DC flags in volts mode.
- Add support for AC/DC flags in current mode.
- Add support for Keysight branded meters.
- Add support for reading secondary display and temperature.
- Add support for dBm/dBV modes.
- Rework job management to allow for faster and configurable samplerate.
- Add support for Log-Hand/-Trig/-Auto/-Export data sources.
- Fix handling of the second channel of 2 channels models.
- Add support for Vsense (Non-Contact Voltage).
* asix-sigma:
- Fix RLE decoder.
- Disable support for triggers, they don't work right now (bug #359).
- Properly decode data gathered at 100 and 200 MHz (bug #840).
- Only download firmware when necessary.
- Enforce optionally specified sample count (bug #838).
- Fixup the download of the last data acquisition chunk (bug #838).
- Various other bugfixes and internal code improvements.
* demo:
- Add "cable squid" logic waveform (works-with logo, many channels).
- Add walking one/walking zero pattern.
* deree-de5000:
- Rename the driver to serial-lcr, allow support for multiple devices.
* fx2lafw:
- CWAV USBee SX: Add support for one analog channel.
- Fix analog scaling.
- Fix a -Wself-assign compiler warning (bug #793).
- Warn on fail to open plausible devices (bug #867).
- Use wide_sampling only if necessary (depends on channel config).
* hameg-hmo:
- Support triggering on either falling or rising edge (bug #740).
- Terminate all commands with a linefeed for all transports (bug #784).
- Add PATTern and BUS1/BUS2 trigger sources.
- Fix index access for models with 2 pods / 16 digital channels.
- Support BE format for SCPI sample downloads.
* hantek-6xxx:
- Fix some issues by using power-of-two data sizes (bug #821).
- Fix AC/DC coupling selection (bug #836).
- Only list DC coupling once (bug #822).
* lecroy-xstream:
- Fix config_list() capabilities listing (bug #913).
* openbench-logic-sniffer:
- Fix acquisition restart with trigger enabled (bug #809).
* rigol-ds:
- Add support for getting/setting the trigger level.
- Properly report which channel is enabled.
- Add probe factor support.
- Send *OPC? after commands that don't return a value (bug #933).
* saleae-logic16:
- Add 20MHz and 50MHz to samplerate preset list (bug #799).
* uni-t-ut32x:
- Accept SR_CONF_CONN to fix the device scan.
* ut71x:
- Fix float printing issue in a debug message (bug #700).
- Fix incorrect resistance values on some DMMs.
* session:
- Fix memory allocation issue in sr_packet_copy().
- Increase chunk size for slightly better performance.
- Fix a segfault when input files were read multiple times.
- Fix missing data when input files were read multiple times (bug #944).
* analog:
- Improve output readability by using SI prefix.
* scpi:
- Fix remote locking according to USBTMC spec (bug #783).
- Various internal improvements to better handle corner cases.
* scpi/vxi:
- Fix incomplete reads (bug #790).
* input/vcd:
- Skip BOM at beginning of file (bug #755).
* input/trace32_ad:
- Make the sample rate an option.
* output/srzip:
- Add support for storing analog channels.
* output/analog:
- Drop obsolete and duplicate functions (bug #636).
- Fix incorrect displaying of the values for certain digits settings.
* output/csv:
- Fix a segfault when using non-hardware input.
- Fix a segfault due to a g_malloc() allocating too few bytes.
- Add an option to output units for column labels.
- Fix segfaults related to incorrect indices and unitsizes (bug #844).
- Fix a false negative after successful import causing frontend issues.
- Skip leading UTF-8 BOM in the input stream (bug #756).
- Correctly skip over last processed end-of-line sequence and accept
absence of last end-of-line termination sequence (bug #635).
- Send larger datafeed chunks, to speed up import.
* output/ascii:
- Add support for user configurable character set.
* output/gnuplot:
- Remove, obsoleted by the improved CSV module.
* bindings:
- Link C++ code with gnustl_shared if it exists (Android).
- Flesh out the analog payload bindings.
* bindings/cxx:
- Fixup memory leak in input module receive() calls (bug #976).
- Fix various -Wundefined-var-template clang warnings (bug #915).
* bindings/ruby:
- Fix out-of-tree build (bug #797).
- Fix distribution of Ruby bindings (bug #741).
- Fix Ruby bindings build on Mac OS X and FreeBSD (bug #800).
- Fix the build with BSD Make (bug #801).
- Make the Ruby bindings build with Ruby 2.0 again.
* bindings/java:
- Use correct JNI function when calling Vector.add.
* Build system:
- Use latest AX_CXX_COMPILE_STDCXX (bug #795).
- Fix linker issues related to --whole-archive (bug #802).
- Don't access the sr_driver_list with no driver compiled (bug #820).
- Fix a build issue related to C++ compiler flags (bug #865).
- configure summary: Show whether shared/static build is enabled.
- configure summary: Show linker flags.
- uninstall: Remove empty include directories (bug #861).
* udev rules file:
- Add TAG+="uaccess" for systemd, keep plugdev group as well (bug #665).
- Use 660 permissions (bug #665).
- Add various new USB VID/PID pairs for newly-supported hardware.
* Add a MIME info file (and icons) for sigrok session files (bug #857).
* Various internal refactorings and improvements.
- Add sr_sw_limits_*() helper functions for software limits.
- Add and use the standard cleanup helper std_cleanup().
- Add std_scan_complete() helper function for scan completion.
* All drivers were converted to use the new SR_DF_ANALOG format, support
for SR_DF_ANALOG_OLD has been dropped (bug #728).
* Many drivers now report the correct number of digits in analog packets.
* resource: Improve logging output (bug #806).
* Fix an issue with analog packets with digits=0 (bug #815).
* Fix a crash when scanning for devices with no options provided (bug #786).
* Fix a segfault with input/ouput modules (bug #813).
* Fix various compiler warnings.
* Fix various memory leaks.
* Remove FSF postal address from boiler plate license text.
* Various Doxygen fixes and improvements.
* README.devices: Update firmware related (and other) information.
* HACKING: Update URL to Linux kernel coding style.
0.4.0 (2016-01-29)
------------------
Note: This release DOES change the libsigrok API. That means it is NOT
backwards-compatible and frontends will need updates.
* New supported hardware:
- Logic analyzers:
- AKIP-9101
- BeagleLogic
- LeCroy LogicStudio
- mcupro Logic16 clone
- Pipistrello OLS
- Sysclk LWLA1016
- Oscilloscopes:
- Rigol/Agilent DS1000Z series
- Yokogawa DLM2000 series
- Yokogawa DL9000 series
- Hung-Chang DSO-2100
- GW Instek GDS-800
- Multimeters:
- Agilent U1241A/B
- Agilent U1242A/B
- Brymen BM25x series
- MASTECH MS8250B
- Metrahit 16T/16U/KMM2002
- PeakTech 3415
- Tenma 72-7730
- Tenma 72-7732
- Tenma 72-9380A
- Testo 435-4
- UNI-T UT372
- UNI-T UT71x series (UT71A/B/C/D/E)
- Velleman DVM4100
- Voltcraft VC-870
- Voltcraft VC-920
- Voltcraft VC-940
- Voltcraft VC-960
- Programmable power supplies:
- Fluke/Philips PM2800 series
- HP 663xx series
- Manson HCS-3xxx series
- Motech LPS-30x series
- Rigol DP800 series
- Korad KAxxxxP series (a.k.a Velleman LABPS3005D and others)
- AC/DC sources:
- Agilent N5700A series (DC sources)
- Chroma 61600 series (AC sources)
- Chroma 62000 series (DC sources)
- Electronic loads:
- Maynuo M97 (and compatibles)
- LCR meters:
- DER EE DE-5000
- Scales:
- KERN EW 6200-2NM
- BeagleBone Black capes:
- BayLibre ACME (revA and revB)
* New input modules:
- raw_analog: Raw analog signals in various formats
- trace32_ad: Lauterbach Trace32 logic analyzer data
* New output modules:
- wav: Waveform audio file format
- srzip: Native ZIP-based sigrok file format
* Add libsigrok language bindings based on SWIG + doxygen:
- C++ language bindings
- Python language bindings
- Ruby language bindings
- Java language bindings
* Add a Modbus framework in order to be able to support Modbus based devices.
- Add a Modbus RTU backend.
* Add a new, more flexible trigger framework.
* Add a generic software-trigger framework usable by any driver, currently
used by fx2lafw and saleae-logic16.
* Add a (Linux-only) GPIB SCPI backend using linux-gpib and libgpib.
* Add a generic scpi-pps driver which supports various power supplies.
* Add an experimental framework for "transforms" which can perform operations
on libsigrok session packets. This will be changed and improved upon in
later releases. Currently implemented tranforms:
- nop: Do nothing, pass on packets unmodified.
- scale: Scale all analog values by a specified factor.
- invert: Invert all the data values.
- An analog value of x becomes 1/x.
- A digital value of 0 becomes 1 (and vice versa).
* input:
- Introduce a new input module API.
- Rename "input format" to "input module" everywhere.
- Add a preferred file extension field (bug #541).
* output:
- Fix output option enumeration.
- Fix a double-free issue.
- Add a preferred file extension field (bug #541).
* input/csv:
- Avoid a segfault related to the obsolete mimetype format match (bug #681).
* input/vcd:
- Chunk up samples in 1MB blocks for better performance (bug #551).
- Allow optional index items (bug #322).
- Add support for 1 bit vectors (bug #723).
* input/wav:
- Fix an offset calculation error.
- Properly initialize the channel list early enough (bug #387).
* output/analog:
- Fix channel deinterleaving.
* output/csv:
- Match format based on .csv extention in the filename.
- Add support for analog data/packets.
* New or updated build dependencies:
- New build dependencies (libsigrok C library):
- libgpib (optional)
- libieee1284 (optional)
- Updated build dependencies (libsigrok C library):
- libserialport >= 0.1.1 (optional)
- librevisa >= 0.0.20130412 (optional)
- libftdi >= 0.16 or libftdi1 >= 1.0 (optional)
- New build dependencies (libsigrokcxx C++ library):
- libsigrok >= 0.4.0 (the libsigrok C library, see above)
- A C++ compiler with C++11 support (g++ >= 4.7 or clang++ >= 3.1)
- doxygen (required for building the C++ library!)
- graphviz (optional, only needed for C++ API docs)
- Python (2 or 3) executable (development files are not needed)
- glibmm-2.4 (>= 2.32.0)
- New build dependencies (libsigrok Python bindings):
- libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
- Python >= 2.7 or Python >= 3 (including development files!)
- Python setuptools (for Python 2 or 3)
- pygobject >= 3.0.0 (for Python 2 or 3), a.k.a python-gi
- numpy (for Python 2 or 3)
- SWIG >= 2.0.0
- doxygen (optional, only needed for the Python API docs)
- graphviz (optional, only needed for the Python API docs)
- doxypy (optional, only needed for the Python API docs)
- New build dependencies (libsigrok Ruby bindings):
- libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
- Ruby >= 1.9.3 (including development files!)
- SWIG >= 3.0.8
- YARD (optional, only needed for the Ruby API docs)
- New build dependencies (libsigrok Java bindings):
- libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above)
- SWIG >= 2.0.0
- Java JDK (for JNI includes and the javac/jar binaries)
- doxygen (optional, only needed for the Java API docs)
- graphviz (optional, only needed for the Java API docs)
* Build system:
- Modernize the whole autotools setup.
- Add --with-libserialport, --with-libftdi, --with-libusb,
--with-librevisa, --with-libgpib, --with-libieee1284.
- Add --enable-bindings, --enable-cxx, --enable-python, --enable-ruby,
and --enable-java.
- Support both libftdi >= 0.16 and libftdi1 >= 1.0.
- configure: Show SCPI backends that'll be compiled.
- Unconditionally build src/lcr/es51919.c (bug #545).
- Compile with -std=c99 and _POSIX_C_SOURCE=200112L by default.
- Only link the 'check' library against the unit tests.
- Fix various out-of-tree build issues (e.g. bug #473).
- Don't set CFLAGS, LDFLAGS, etc. in configure.ac or Makefile.am (bug #578).
- Check for the numpy Python module (bug #533).
- Check for zip_discard(), provide alternative if not available (bug #674).
* Portability:
- Android: Add fallbacks for missing stoi()/stod().
- FreeBSD: Fix a libusb related compiler error.
- FreeBSD: Fix an issue with libusb_get_port_numbers().
- FreeBSD: Fix an issue with BSD Make (bug #556).
- FreeBSD: Fix an issue with SWIG detection (bug #557).
- FreeBSD: Fix a build issue related to isascii() (bug #649).
- Mac OS X: Fix 'sed' invocation in autogen.sh (bug #516).
- Mac OS X: Fix a usb_get_port_path() related issue (bug #673).
- Windows: Fix some thread-related issues causing hangs (bugs #343, #328).
- Windows: Fix a USB/thread related issue (bug #343).
- Windows: Fix shared (non-static) build.
- Windows: Fix various warnings related to a missing LIBUSB_CALL item.
- Windows: Add a missing WSAStartup() call to fix scpi/tcp (bug #692).
- Fix an issue with non-GNU Make (bug #628).
- Avoid std::map::emplace() for GCC 4.7 compatibility (bug #720).
- Avoid g_close() to not unnecessarily require glib >= 2.36 (bug #724).
* Language bindings:
- Support new output API.
- Add Doxygen docs for all language bindings.
- C++: Fix a C++ bindings linking issue (bug #534).
- Python: Fix mapping of vector & map attributes to Python types (bug #382).
- Python: Implement equality checks for EnumValue derived classes (bug #443).
- Python: Handle import failures without crashing.
- Python: Fix an installation issue (bug #644).
- Python: Prevent a numpy deprecation warning (bug #417).
- Python: Fix a ConfigKey.parse_string() crash (bug #483).
- Python: Fix the build for Python 3 (bug #645).
- Python: Fix some string conversion issues for Python 3 (bug #478).
- Python: Fix a SWIG related memory leak (bug #479).
- Python: Make device.config_keys() act like a Python dict (bug #480).
- Python: Provide sensible __str__() and __repr__() for enums (bug #688).
- Java: Install files into DESTDIR (bug #537).
- Java: Fix some SWIG warnings due to %extend redefinitions (bug #417).
- Java: Fix an issue related to C/C++ style casts (bug #688).
- Java: Fix a reference leak (bug #690).
- Session::set_trigger(): Fix segfault conditions (bugs #491, #496).
* Various API changes, additions and removals (see API docs for details).
* Add various new config keys, config info types, measurement quantity keys,
measurement quantity flags, units, device instance types, and error codes.
* udev rules file: Add entries for newly supported hardware.
* Add/use a new resource access API, defaults to XDG data dirs.
* Switch to a new SR_DF_ANALOG format (bug #640).
* All drivers:
- Publish config key capabilities.
- Gather connection info and serial number, if any.
- Cleanups of serial port based drivers wrt (non-)blocking reads/writes.
* Various drivers:
- Use physical USB connection instead of sdi->index.
- Fix blocking serial write timeout (bugs #436, #437, #433, #428, #427,
#430, #432, #434, #438).
* agilent-dmm:
- Fix value parser to consider 0.0 to be a valid result.
- Correctly parse negative overload.
- Add RMS flag to AC voltage modes.
- Add provisional support for the U124xx.
- U124xx/U125xx: Support 5 more modes (resistance, capacitance, frequency,
continuity, and temperature).
- Add current loop sensor support.
- Fix frequency support.
* beaglelogic:
- Add SR_CONF_CAPTURE_RATIO support.
* brymen-bm86x:
- Add current loop sensor support.
* chronovu-la:
- Properly handle multiple ChronoVu devices being attached (bug #504).
* colead-slm:
- Properly check acquisition sample limit.
* demo:
- Add support for continuous acquisition.
- Fix a memory leak related to channel groups.
- Support changing the amplitude of analog channels.
- Adds a new channel group "Analog", which has all analog channels in it.
- Attach analog generator to channel, not channel group.
- Provide a separate property list for the analog group (bug #505).
- Fix an issue by always honoring sample limit changes (bug #314).
- Fix square pattern output being shorter than other patterns.
- Fix analog output at low samplerates.
- Fix SR_CONF_DEVICE_OPTIONS variant type.
- Fix an infinite loop when 0 channels of one type were used.
* fx2lafw:
- Fix continuous mode usage with output modules (bug #380).
- Check for a valid samplerate before trying to set it (bug #386).
- Fix wide (16bit) sampling case (bug #373).
- Add SR_CONF_CAPTURE_RATIO support.
- Set up the transfer first, then start the acquisition (bug #574).
- Avoid the need to run "rmmod usbtest" on Linux for devices
with the standard Cypress FX2 USB VID/PID of 04b4:8613 (bug #445).
- Add support for the official fx2lafw sigrok VID/PID pairs and firmware
(this requires sigrok-firmware-fx2lafw >= 0.1.3):
- 1D50:608C: fx2lafw-sigrok-fx2-8ch.fw
- 1D50:608D: fx2lafw-sigrok-fx2-16ch.fw
* gmc-mh-1x-2x:
- Add support for the Metrahit Metrahit 16T, 16U, and KMM2002.
- Complete energy measurement ranges (V, A, W) for Metrahit 29S.
* hameg-hmo:
- Implement SR_CONF_SCAN_OPTIONS.
- Make sure the enabled_channels list is empty before populating it.
- Fix reading of analog data from an HMO1024 (Firmware 04.527).
- Fix a double-free issue.
- Fix a floating point comparison issue (bug #731).
* hantek-dso:
- Properly zero out MQ flags.
- Fix driver/global/channel group config keys.
* ikalogic-scanalogic2:
- Fix a segfault condition (bug #440).
* ikalogic-scanaplus:
- Fix a memory leak and a memory allocation issue.
* kecheng-kc-330b:
- Fix missing time/frequency weighting.
* lascar-el-usb:
- Fix issues caused by copy-paste errors.
* ols:
- Fix a serial port related issue on FreeBSD (bug #414).
- Fix detection and acquisition on Windows (bug #562).
- Fix an event source related acquisition issue (bug #678).
- Fix a portability issue due to direct use of FDs (bug #205).
* rigol-ds:
- Fix duplicated vendor string for Agilent devices.
- Replace magic numbers by appropriate constant or variable (bug #406).
- Handle POSITIVE/NEGATIVE (instead of POS/NEG) correctly (bug #558).
- Add missing 20/50/100V vdiv entries.
- Fix an issue related to the search for the closest vdiv.
- Return the actual hardware num_vdiv and vdiv list.
- Fix the smallest supported vdiv for the DS2000 series.
- Fix a double-free issue.
- SR_CONF_DATA_SOURCE is a device option, not per channel group.
* saleae-logic16:
- Recognize the FPGA FIFO overflow status.
- Downgrade error during capture to a message (bug #466).
- Add SR_CONF_CAPTURE_RATIO support.
- Support new bitstream version 1.3 with renumbered registers.
- Publish samplerates according to selected channels (bug #646).
* serial-dmm:
- Fix RadioShack 22-812 DMM incorrect readings (bug #657).
- Implement request timeout feature (bug #345).
* sysclk-lwla:
- Do not create channels in reverse order.
- Fix an issue related to sdi->connection_id (bug #441).
- Various robustness improvements.
- Fix a compile issue (bug #714).
- Work around some vendor FX2 firmware issues.
* zeroplus-logic-cube:
- Fix an issue when trying to trigger on a channel being 0/low.
* README: Drop obsolete sigrok-commits mailing list.
* Fix a Doxyfile issue which caused build failures e.g. on buildroot.
* Fix a USB timeout related sr_session_iteration() issue (bug #571).
* Fix various gcc/clang compiler errors/warnings (e.g. bugs #637, #721).
* Fix an issue related to multiple sr_init()/sr_exit() calls (bug #565).
* Fix an issue with transform packet passing (bug #631).
* Rename sr_dev_driver.priv to .context (bug #442).
* serial: Re-implement sr_serial_find_usb() using new libserialport APIs.
* Unit tests: Add some checks for session handling.
* scpi and scpi/usbtmc:
- Accept *IDN responses with more than 4 tokens (some devices need this).
- Fix incomplete data issue for e.g. Hameg HMO1024.
- Support the RL1 feature.
- Implement Rigol DS1000 workaround on any firmware version (bug #354).
* Various session related changes and improvements.
* The code now uses the Glib main loop as backend.
* Logging: Add a timestamp (at DBG/SPEW loglevel) to all log messages.
* Fix a trigger related segfault (bug #550).
* Don't check the libusb_get_device_descriptor() return code (bug #658).
* Fix various memory leaks in the code (e.g. bugs #629, #630, #632).
* session_file: Enable only probes listed in metadata (bugs #410, #495).
0.3.0 (2014-05-06)
------------------
Note: This release DOES change the libsigrok API. That means it is NOT
backwards-compatible and frontends will need updates.
* New supported hardware:
- Logic analyzers:
- ChronoVu LA16
- Sysclk LWLA1034
- Oscilloscopes:
- Agilent DSO1000 series (various models)
- Hameg HMO compact series (various models)
- Rigol DS2000 series (various models)
- Rigol VS5000 series (various models)
- Multimeters:
- BBC Goerz Metrawatt M2110
- Brymen BM869
- Fluke 189
- Gossen Metrawatt MetraHIT 1x/2x series (various models)
- Tenma 72-7745 (rebadged UNI-T UT60E)
- Tenma 72-7750 (rebadged UNI-T UT60G)
- UNI-T UT60G
- UNI-T UT61B
- UNI-T UT61C
- V&A VA40B
- Voltcraft M-3650CR
- Voltcraft ME-42
- Thermometers:
- APPA 55II
- Programmable power supplies:
- Atten PPS3000 series (various models, tested on PPS3203T-3S).
- Conrad DIGI 35 CPU
* Add support for channel groups.
* Add generic SCPI backend code which can be used via various transports:
- Serial ports
- USBTMC
- TCP/RAW
- TCP/Rigol (Rigol-VS5000 series specific)
- VXI
- librevisa
* udev rules file: Add entries for newly supported hardware.
* New config keys:
- SR_CONF_DEMODULATOR
- SR_CONF_CENTER_FREQUENCY
- SR_CONF_NUM_LOGIC_CHANNELS
- SR_CONF_NUM_ANALOG_CHANNELS
- SR_CONF_CLOCK_EDGE
- SR_CONF_POWER_SUPPLY
- SR_CONF_OUTPUT_VOLTAGE
- SR_CONF_OUTPUT_VOLTAGE_MAX
- SR_CONF_OUTPUT_CURRENT
- SR_CONF_OUTPUT_CURRENT_MAX
- SR_CONF_OUTPUT_ENABLED
- SR_CONF_OUTPUT_CHANNEL
- SR_CONF_OVER_VOLTAGE_PROTECTION
- SR_CONF_OVER_CURRENT_PROTECTION
- SR_CONF_DEVICE_MODE
- SR_CONF_TEST_MODE
* New config info types:
- SR_T_INT32
* New measurement quantity keys:
- SR_MQ_TIME
* New measurement quantity flags:
- SR_MQFLAG_DURATION
- SR_MQFLAG_AVG
* New device instance types:
- SR_INST_SCPI
* New error codes:
- SR_ERR_CHANNEL_GROUP
∗ The SR_T_CHAR config type has been renamed to SR_T_STRING.
* New build dependencies:
- libserialport >= 0.1.0 (optional).
- All drivers that talk to serial ports now require libserialport.
- If libserialport is not found, those drivers will not be built.
- librevisa >= 0.0.20130812 (optional, only used by some drivers).
* Dropped build dependencies:
- libasound2 is no longer required (only the removed alsa driver used it).
- libudev is no longer required (only the removed link-mso19 driver used it).
* Serial port handling code:
- Add support for 5/6 data bits and non-standard baud rates.
- Fix an issue related to nonblocking reads (bug #188).
- Fix an 'invalid arguments' condition causing problems (bug #192).
* alsa: This driver was removed (also fixes bugs #28, #61, #96, #114).
* asix-sigma:
- Publish SR_CONF_CAPTURE_RATIO correctly (bugs #287, #291).
- Don't set invalid config options (bug #86).
- Various other bugfixes.
* cem-dt-885x: Fix a code portability issue (bug #267).
* chronovu-la:
- Rename the 'chronovu-la8' driver to 'chronovu-la'.
- Add support for the ChronoVu LA16.
- Fix a segfault when doing multiple acquisitions on an LA8 (bug #247).
- Document that streaming is not possible for LA8/LA16 (bug #261).
* demo:
- Add support for analog channels (bug #11).
- Make the number of channels user-configurable.
- Add per-channel-group options.
- Implement analog sample patterns: sine, triangle, sawtooth.
- Fix a samplerate related issue with rates >= 50kHz (bugs #294, #295).
- Fix an issue causing data glitches every 40ms (bug #297).
- Fix an issue related to channel group handling (bug #262).
* digitek-dt4000zc: Fix driver on NetBSD due to missing DTR=1 (bug #189).
* fx2lafw:
- Fix incorrect unitsize when a trigger fires (bug #182).
- Implement config_get() for SR_CONF_LIMIT_SAMPLES.
- Don't send more samples than requested to the session bus.
* gmc-mh-1x-2x:
- Add new (sub)driver 'gmc-mh-2x-bd232'.
- Add support for the SI232-II interface.
* hameg-hmo:
- Fix a build issue on Mac OS X (bug #216).
- Various fixes related to frame limit, samplerate, options, etc.
* link-mso19: Drop unfinished driver for now (until it starts working).
* openbench-logic-sniffer:
- Fix a serial port related issue/hang, seen on (e.g.) NetBSD.
- Fix an SR_CONF_PATTERN_MODE related problem (bugs #184, #190).
- Fix a serial (non)blocking mode issue (bug #231).
- Temporarily disable the driver on Windows (needs portability fixes).
- Fix an endianness issue in the protocol handling (bug #135).
- Fix a sampling issue when (samples % 4) != 0 (bug #200).
- Fix an issue occurring when all channels were disabled (bugs #316, #347).
- Add an option to turn test patterns off again (bug #293).
* rigol-ds:
- Rename the 'rigol-ds1xx2' driver to 'rigol-ds'.
- Add support for more models and unify the driver code (bug #212).
- Add support for RS232 connectivity (previously only USBTMC worked).
- Enable the driver on non-Linux platforms since all transports the driver
uses are provided by cross-platform code/libs now (e.g. serial, USBTMC).
- Add support for 4 channels (required by some models).
- Add support for channel groups.
- Advertise SR_CONF_LIMIT_FRAMES support.
- Fix an issue with SR_DF_END sending.
- Enable/disable LA pod when (de)selecting digital channels.
- Disable key lock when closing device.
- Work around issues due to DS1000 specific protocol changes (bug #283).
- Fix incorrect digital channel numbers on some models (bug #269).
- Fix an issue with partial data reads (bugs #220, #209, #207).
* saleae-logic16:
- Fix an issue related to USB device claiming (bug #159).
- Don't send more samples than requested to the session bus (bug #350).
- Use unitsize 1 (not 2) if none of channels 8-15 are used.
* serial-dmm: Fix some parse issues by increasing a timeout.
* sysclk-lwla: Fix a sampling issue related to a glib API call (bug #270).
* uni-t-ut32x: Fix typo which prevented usage with multiple devices.
* victor-dmm: Fix MIN/MAX always being reported (bug #228).
* zeroplus-logic-cube:
- Add support for 32-channel models and additional memory sizes.
- Fix a frontend issue due to missing SR_CONF_CAPTURE_RATIO.
- Fix an issue causing pre-trigger garbage data to be sent (bug #222).
- Add initial voltage threshold support.
* Various drivers:
- Expose missing SR_CONF_TRIGGER_TYPE.
- Report max. possible number of samples (bugs #197, #258, #263).
* Output modules:
- Skip analog channels in logic-only output formats.
- Remove the obsolete output module API, add wrapper calls for the new one.
- Stop using the obsolete output API (bugs #288, #47, #48).
- Properly receive and handle samplerate metadata (bug #46).
* input/vcd: Abort with an error upon > 64 channels (bug #194).
* output/vcd:
- Fix output for more than 8 channels.
- Output timestamp only once per change.
- Minor whitespace changes of output files to make them more readable.
- Remove bogus $dumpvars and $dumpoff commands.
- Various bugfixes and portability fixes.
* output/csv:
- Remove a 64-channel limit (bug #193).
- Fix an issue resulting in incorrect trailing commas (bug #230).
- Fix an issue where all timestamps would be zero (bug #35).
* Rename 'probe' to 'channel' in all places, since libsigrok supports a lot
of gear where 'channel' fits better (bug #259).
* Change TRIGGER_SLOPE from SR_T_UINT64 to SR_T_STRING.
* Windows support improvements:
- Use libserialport (+other backend code) to fix serial devices (bug #91).
- Add serial source addition/removal backend code (bug #206).
- Add backend code for properly supporting USB based devices.
* Fix various memory leaks in the backend code.
* Fix some incorrect parsing of floating point numbers in the strutil code.
* Fix various endianness issues in backend code and drivers (bug #266).
* Fix a few issues related to incorrect parsing with non-ANSI-C locales
(bugs #271, #272, #273, #274).
* Fix an issue related to data being sent to the libsigrok session which
was not a multiple of the unit/sample size (bugs, #289, #290).
* Drop the es51922 DMM parser (replaced by the generic es519xx parser).
* libsigrok session files:
- The libsigrok session file format (for *.sr files) has changed, and the
file format 'version' field is bumped to 2. Older libsigrok versions will
not be able to handle version 2 files, but new libsigrok versions can
handle both version 1 and version 2 files. New libsigrok versions will
always write/output version 2 files.
- Fix an issue resulting in left-over temporary files (bug #276).
- Fix an issue with analog probes (unsupported) in *.sr files (bug #277).
- Fix an issue with missing samplerate from session files (bug #275).
* Improved API documentation.
* Major API changes (overview):
- Change various function/macro names related to the probe->channel rename.
- Change various functions due to the new channel group feature.
- All enums in the public API now have names (e.g. 'enum sr_mqflag').
- The lib no longer defines names with _t suffix (POSIX reserved).
- New API calls:
- sr_session_dev_list()
- sr_session_save_init()
- sr_session_append()
- sr_config_commit()
- sr_output_new()
- sr_output_send()
- sr_output_free()
- Obsoleted and removed API calls:
- sr_filter_channels()
- 'struct sr_session' is now opaque (contents shouldn't be used directly).
- Please see the Doxygen API documentation for further details.
* Build system:
- Switch to a non-recursive automake setup (fewer files, faster builds).
- configure: Clearly mark required and optional libs.
0.2.2 (2013-11-04)
------------------
Note: This release does NOT change the libsigrok API. While new config keys,
config info types, and unit codes have been added (additional enum
entries / numbers), no existing interfaces were added/changed/removed.
Frontends should continue to work fine without recompiling or relinking.
* New supported hardware:
- Logic analyzers:
- Saleae Logic16
- Thermometers:
- Center 309
- UNI-T UT325
- Voltcraft K204
- Multimeters:
- ISOTECH IDM103N
- Metex M-4650CR
- Norma DM950
- Voltcraft M-4650CR
- Energy meters:
- EDF Teleinfo
* New config keys:
- SR_CONF_VOLTAGE_THRESHOLD
- SR_CONF_EXTERNAL_CLOCK
- SR_CONF_SWAP
- SR_CONF_ENERGYMETER
* New config info types:
- SR_T_DOUBLE_RANGE
* New units:
- SR_UNIT_REVOLUTIONS_PER_MINUTE
- SR_UNIT_VOLT_AMPERE
- SR_UNIT_WATT
- SR_UNIT_WATT_HOUR
* New input modules:
- csv (comma-separated values)
* Bump required libzip version to >= 0.10.
* uni-t-dmm: This driver now requires the specification of the USB VID/PID
of the cable that is used. Example for sigrok-cli:
- Old: sigrok-cli --driver voltcraft-vc820 ...
- New: sigrok-cli --driver voltcraft-vc820:conn=1a86.e008 ...
* openbench-logic-sniffer:
- Initial test pattern support (SR_CONF_PATTERN_MODE).
- Initial external clock support (SR_CONF_EXTERNAL_CLOCK).
- Initial channel swap support (SR_CONF_SWAP).
- Various minor fixes and improvements.
* When a frontend adds a device instance to a running session, start
acquisition on it. This helps with the collectd use-case where devices
can be removed and added dynamically while a session is running.
* rigol-ds1xx2: Support newer Linux kernels with USBTMC in /sys/class/usbmisc.
* rigol-ds1xx2: Also detect the Rigol DS1152E/DS1152D.
* agilent-dmm: Fix a segfault happening in certain cases.
* output/analog: Support all currently known MQFLAGs.
* Fix a minor compile issue due to an incorrect #include.
* Fix two compile issues on FreeBSD (bug #185).
* es519xx: New generic parser for various Cyrustek DMM ICs.
* es51922/fs9721/fs9922/metex14: Use diode MQFLAG (bug #141).
* voltcraft-vc830: Fix diode mode handling (bug #142).
* Add the missing HACKING file to the tarball.
* README.devices: Updates/notes for newly added devices.
0.2.1 (2013-08-07)
------------------
Note: This release does NOT change the libsigrok API. While new config keys,
config info types, and error codes have been added (additional enum
entries / numbers), no existing interfaces were added/changed/removed.
Frontends should continue to work fine without recompiling or relinking.
* New supported hardware:
- Logic analyzers:
- IKALOGIC Scanalogic-2
- IKALOGIC ScanaPLUS
- Sound level meters:
- CEM DT-8852
- Kecheng KC-330B
- Multimeters:
- UNI-T UT60A
- UNI-T UT60E
- Voltcraft M-3650D
- Voltcraft VC-830
* Drop the Tecpel DMM-8060 (doesn't have PC connectivity).
* New config keys:
- SR_CONF_SPL_WEIGHT_FREQ
- SR_CONF_SPL_WEIGHT_TIME
- SR_CONF_SPL_MEASUREMENT_RANGE
- SR_CONF_HOLD_MIN
- SR_CONF_HOLD_MAX
- SR_CONF_POWER_OFF
- SR_CONF_DATA_SOURCE
* New config info types:
- SR_T_UINT64_RANGE
* New error codes:
- SR_ERR_TIMEOUT
* Always link against libm, the math library (bug #115).
* Fix a bug in sr_si_string_u64() at al (bug #73).
* output/csv: Fix incorrect probe order.
* alsa: Fix a double-free issue (bug #129).
* zeroplus-logic-cube: Fix a bug in the driver cleanup code.
* ikalogic-scanalogic2: Use GET_REPORT (bug #130).
* uni-t-dmm: Fix a bug breaking the UNI-T UT61E (bug #136).
* Various internal consistency fixes and code cleanups.
* Improved Doxygen documentation.
* Fixed various memory leaks.
0.2.0 (2013-05-04)
------------------
Note: This release DOES change the libsigrok API. That means it is NOT
backwards-compatible and frontends will need updates.
* Support for analog sources (oscilloscopes, DMMs, data loggers) was added.
* New supported hardware:
- Logic analyzers:
- CWAV USBee DX
- ZEROPLUS LAP-16128U
- Oscilloscopes:
- Hantek DSO-2090 (USB scope)
- Rigol DS1052D
- Rigol DS1052E
- Rigol DS1102D
- Rigol DS1102E
- Multimeters:
- Agilent U1231A
- Agilent U1232A
- Agilent U1233A
- Brymen BM857
- Digitek DT4000ZC
- Fluke 187
- Fluke 189
- Fluke 287
- Fluke 289
- Fluke ScopeMeter 199B
- MASTECH MAS345
- Metex ME-31
- Metex M-3640D
- PCE PCE-DM32
- PeakTech 3410
- PeakTech 4370
- RadioShack 22-168
- RadioShack 22-805
- RadioShack 22-812
- Tecpel DMM-8060
- Tecpel DMM-8061
- TekPower TP4000ZC
- UNI-T UT61D
- UNI-T UT61E
- V&A VA18B
- Victor 70C
- Victor 86C
- Voltcraft VC-820
- Voltcraft VC-840
- Sound level meters:
- Colead SL-5868P
- Tondaj SL-814
- Temperature/humidity/CO loggers:
- Lascar EL-USB and EL-USB CO series (various models)
- MIC 98581
- MIC 98583
* The limitation of max. 64 digital probes has been removed in many places.
* Added generic DMM protocol parsers usable for various DMMs, over various
cables and/or transports (e.g. same protocol over serial or USB/HID):
- Cyrustek ES51922 binary protocol.
- Fortune Semiconductor FS9721_LP3/FS9721B binary protocol.
- Fortune Semiconductor FS9922-DMM3/DMM4 binary protocol.
- Metex 14-byte ASCII protocol.
- RadioShack 22-812 binary protocol.
* zeroplus-logic-cube driver:
- Fix acquisition at some specific samplerates. Only report valid ones.
- Default to a samplerate of 1MHz.
- Fix trigger code.
- Add pre-trigger (capture ratio) setting.
- Add support for the ZEROPLUS LAP-16128U.
* fx2lafw driver:
- Add support for the CWAV USBee DX. This requires the latest version of
the fx2lafw firmware files.
- Add support for wide sampling (i.e. 16 probes instead of just 8).
- Fix multi-stage (software) triggers.
- Fix various memory leaks, firmware upload timeout bugs, and other issues.
- Various performance and memory usage improvements in the driver.
* chronovu-la8 driver:
- Add support for newer LA8 versions with USB VID/PID 0403:8867.
* demo driver:
- Various bugfixes when setting time/sample limits.
* openbench-logic-sniffer driver:
- Don't try to scan all available serial ports for OLS devices. Instead,
the serial port to use now has to be specified by the user.
- Allow disabling RLE.
* udev rules file: Add many new entries for additional devices.
* New output formats:
- analog: Prints analog values and their unit (e.g. from scopes or DMMs).
* New input formats:
- vcd: Value Change Dump format
- wav: Waveform audio file format (for analog data)
* 'binary' input format: Add support for a 'samplerate' option.
* API related changes:
- There is generated Doxygen API documentation now.
- The header that frontends should include is: <libsigrok/libsigrok.h>.
There are other headers which are installed, but those are not meant to
be included directly by the frontends.
- There were numerous API changes, additions and removals, too many to list
here. Please check the source code or Doxygen API documentation for the
current set of API functions.
* Serial port code:
- Various improvements and fixes related to multiple parameters such as
directions, baudrate, flow control, and others.
- Add support for more baudrates (e.g. very low ones such as 600/1200)
that are used in some devices.
- Add support for setting DTR/RTS.
* gnuplot files: Add sample files for CWAV USBee DX (for 8/16 bit sampling).
* Documentation updates:
- Add a README.devices file which contains various notes for users of
libsigrok about device- and/or driver-specific issues.
- Update README, HACKING, and other documents.
- Updated build dependencies list.
- The following libs are needed in more recent versions now:
- glib (required): Now must be >= 2.32.0.
- libusb-1.0 (optional): Now must be >= 1.0.9.
- The following new libs were added as (optional) dependencies:
- libasound / alsa-lib (optional): >= 1.0
- check (optional, only needed for unit tests): >= 0.9.4
* Portability:
- Various compile fixes for Windows, FreeBSD/NetBSD/OpenBSD, and Mac OS X.
- Simplify/allow/fix cross-compilation of libsigrok.
- Various bugfixes for 32bit systems.
- Various endianness fixes.
* configure:
- Add a --disable-all-drivers option. This can be overridden by
additional --enable-<drivername> options to selectively enable only some.
- Improve autodetection of libraries, and only enable drivers for which
all required libraries were found.
* Add a test suite for libsigrok with a few unit tests (the list will grow).
0.1.1 (2012-05-30)
------------------
Note: This release does NOT change the libsigrok API.
* The 'saleae-logic' driver (which depends on the Saleae firmware), has
been replaced with the new 'fx2lafw' driver, which uses an open-source
firmware for Cypress FX2 chips which is also named 'fx2lafw'.
Details: http://sigrok.org/wiki/Fx2lafw
This new driver (+ firmware) currently supports the following devices:
- ARMFLY AX-Pro
- Braintechnology USB-LPS
- EE Electronics ESLA100
- EE Electronics ESLA201A
- Robomotic MiniLogic
- Robomotic BugLogic 3
- Saleae Logic
- USBee AX
- USBee SX
- All Cypress FX2 eval boards with stock Cypress VID/PID, including:
- Lcsoft Mini Board
- Braintechnology USB Interface V2.x
Only acquisition with 8 probes is supported so far. Support for 16 probes
and support for analog signal acquisition (on devices which have these
capabilities) will be added later.
* ASIX SIGMA driver:
- Add support for the ASIX SIGMA2. This requires the latest version of
the SIGMA/SIGMA2 firmware files.
Details: http://sigrok.org/wiki/Firmware
- Various bugfixes.
* ZEROPLUS Logic Cube LAP-C (16032): Fix a segfault.
* udev file: Add entries for Robomotic BugLogic 3, Velleman PCSU1000,
Ideofy LA-08, ARMFLY AX-Pro, and Braintechnology USB Interface V2.x.
* The zlib dependency has been removed (no longer needed).
* Fix compiling with "Homebrew" (Mac OS X).