]> sigrok.org Git - libsigrok.git/blob - NEWS
Don't set _POSIX_C_SOURCE for VXI/RPC related files.
[libsigrok.git] / NEWS
1 0.3.0 (2014-05-06)
2 ------------------
3
4 Note: This release DOES change the libsigrok API. That means it is NOT
5       backwards-compatible and frontends will need updates.
6
7  * New supported hardware:
8    - Logic analyzers:
9      - ChronoVu LA16
10      - Sysclk LWLA1034
11    - Oscilloscopes:
12      - Agilent DSO1000 series (various models)
13      - Hameg HMO compact series (various models)
14      - Rigol DS2000 series (various models)
15      - Rigol VS5000 series (various models)
16    - Multimeters:
17      - BBC Goerz Metrawatt M2110
18      - Brymen BM869
19      - Fluke 189
20      - Gossen Metrawatt MetraHIT 1x/2x series (various models)
21      - Tenma 72-7745 (rebadged UNI-T UT60E)
22      - Tenma 72-7750 (rebadged UNI-T UT60G)
23      - UNI-T UT60G
24      - UNI-T UT61B
25      - UNI-T UT61C
26      - V&A VA40B
27      - Voltcraft M-3650CR
28      - Voltcraft ME-42
29    - Thermometers:
30      - APPA 55II
31    - Programmable power supplies:
32      - Atten PPS3000 series (various models, tested on PPS3203T-3S).
33      - Conrad DIGI 35 CPU
34  * Add support for channel groups.
35  * Add generic SCPI backend code which can be used via various transports:
36    - Serial ports
37    - USBTMC
38    - TCP/RAW
39    - TCP/Rigol (Rigol-VS5000 series specific)
40    - VXI
41    - librevisa
42  * udev rules file: Add entries for newly supported hardware.
43  * New config keys:
44    - SR_CONF_DEMODULATOR
45    - SR_CONF_CENTER_FREQUENCY
46    - SR_CONF_NUM_LOGIC_CHANNELS
47    - SR_CONF_NUM_ANALOG_CHANNELS
48    - SR_CONF_CLOCK_EDGE
49    - SR_CONF_POWER_SUPPLY
50    - SR_CONF_OUTPUT_VOLTAGE
51    - SR_CONF_OUTPUT_VOLTAGE_MAX
52    - SR_CONF_OUTPUT_CURRENT
53    - SR_CONF_OUTPUT_CURRENT_MAX
54    - SR_CONF_OUTPUT_ENABLED
55    - SR_CONF_OUTPUT_CHANNEL
56    - SR_CONF_OVER_VOLTAGE_PROTECTION
57    - SR_CONF_OVER_CURRENT_PROTECTION
58    - SR_CONF_DEVICE_MODE
59    - SR_CONF_TEST_MODE
60  * New config info types:
61    - SR_T_INT32
62  * New measurement quantity keys:
63    - SR_MQ_TIME
64  * New measurement quantity flags:
65    - SR_MQFLAG_DURATION
66    - SR_MQFLAG_AVG
67  * New device instance types:
68    - SR_INST_SCPI
69  * New error codes:
70    - SR_ERR_CHANNEL_GROUP
71  ∗ The SR_T_CHAR config type has been renamed to SR_T_STRING.
72  * New build dependencies:
73    - libserialport >= 0.1.0 (optional).
74      - All drivers that talk to serial ports now require libserialport.
75      - If libserialport is not found, those drivers will not be built.
76    - librevisa >= 0.0.20130812 (optional, only used by some drivers).
77  * Dropped build dependencies:
78    - libasound2 is no longer required (only the removed alsa driver used it).
79    - libudev is no longer required (only the removed link-mso19 driver used it).
80  * Serial port handling code:
81    - Add support for 5/6 data bits and non-standard baud rates.
82    - Fix an issue related to nonblocking reads (bug #188).
83    - Fix an 'invalid arguments' condition causing problems (bug #192).
84  * alsa: This driver was removed (also fixes bugs #28, #61, #96, #114).
85  * asix-sigma:
86    - Publish SR_CONF_CAPTURE_RATIO correctly (bugs #287, #291).
87    - Don't set invalid config options (bug #86).
88    - Various other bugfixes.
89  * cem-dt-885x: Fix a code portability issue (bug #267).
90  * chronovu-la:
91    - Rename the 'chronovu-la8' driver to 'chronovu-la'.
92    - Add support for the ChronoVu LA16.
93    - Fix a segfault when doing multiple acquisitions on an LA8 (bug #247).
94    - Document that streaming is not possible for LA8/LA16 (bug #261).
95  * demo:
96    - Add support for analog channels (bug #11).
97    - Make the number of channels user-configurable.
98    - Add per-channel-group options.
99    - Implement analog sample patterns: sine, triangle, sawtooth.
100    - Fix a samplerate related issue with rates >= 50kHz (bugs #294, #295).
101    - Fix an issue causing data glitches every 40ms (bug #297).
102    - Fix an issue related to channel group handling (bug #262).
103  * digitek-dt4000zc: Fix driver on NetBSD due to missing DTR=1 (bug #189).
104  * fx2lafw:
105    - Fix incorrect unitsize when a trigger fires (bug #182).
106    - Implement config_get() for SR_CONF_LIMIT_SAMPLES.
107    - Don't send more samples than requested to the session bus.
108  * gmc-mh-1x-2x:
109    - Add new (sub)driver 'gmc-mh-2x-bd232'.
110    - Add support for the SI232-II interface.
111  * hameg-hmo:
112    - Fix a build issue on Mac OS X (bug #216).
113    - Various fixes related to frame limit, samplerate, options, etc.
114  * link-mso19: Drop unfinished driver for now (until it starts working).
115  * openbench-logic-sniffer:
116    - Fix a serial port related issue/hang, seen on (e.g.) NetBSD.
117    - Fix an SR_CONF_PATTERN_MODE related problem (bugs #184, #190).
118    - Fix a serial (non)blocking mode issue (bug #231).
119    - Temporarily disable the driver on Windows (needs portability fixes).
120    - Fix an endianness issue in the protocol handling (bug #135).
121    - Fix a sampling issue when (samples % 4) != 0 (bug #200).
122    - Fix an issue occurring when all channels were disabled (bugs #316, #347).
123    - Add an option to turn test patterns off again (bug #293).
124  * rigol-ds:
125    - Rename the 'rigol-ds1xx2' driver to 'rigol-ds'.
126    - Add support for more models and unify the driver code (bug #212).
127    - Add support for RS232 connectivity (previously only USBTMC worked).
128    - Enable the driver on non-Linux platforms since all transports the driver
129      uses are provided by cross-platform code/libs now (e.g. serial, USBTMC).
130    - Add support for 4 channels (required by some models).
131    - Add support for channel groups.
132    - Advertise SR_CONF_LIMIT_FRAMES support.
133    - Fix an issue with SR_DF_END sending.
134    - Enable/disable LA pod when (de)selecting digital channels.
135    - Disable key lock when closing device.
136    - Work around issues due to DS1000 specific protocol changes (bug #283).
137    - Fix incorrect digital channel numbers on some models (bug #269).
138    - Fix an issue with partial data reads (bugs #220, #209, #207).
139  * saleae-logic16:
140    - Fix an issue related to USB device claiming (bug #159).
141    - Don't send more samples than requested to the session bus (bug #350).
142    - Use unitsize 1 (not 2) if none of channels 8-15 are used.
143  * serial-dmm: Fix some parse issues by increasing a timeout.
144  * sysclk-lwla: Fix a sampling issue related to a glib API call (bug #270).
145  * uni-t-ut32x: Fix typo which prevented usage with multiple devices.
146  * victor-dmm: Fix MIN/MAX always being reported (bug #228).
147  * zeroplus-logic-cube:
148    - Add support for 32-channel models and additional memory sizes.
149    - Fix a frontend issue due to missing SR_CONF_CAPTURE_RATIO.
150    - Fix an issue causing pre-trigger garbage data to be sent (bug #222).
151    - Add initial voltage threshold support.
152  * Various drivers:
153    - Expose missing SR_CONF_TRIGGER_TYPE.
154    - Report max. possible number of samples (bugs #197, #258, #263).
155  * Output modules:
156    - Skip analog channels in logic-only output formats.
157    - Remove the obsolete output module API, add wrapper calls for the new one.
158    - Stop using the obsolete output API (bugs #288, #47, #48).
159    - Properly receive and handle samplerate metadata (bug #46).
160  * input/vcd: Abort with an error upon > 64 channels (bug #194).
161  * output/vcd:
162    - Fix output for more than 8 channels.
163    - Output timestamp only once per change.
164    - Minor whitespace changes of output files to make them more readable.
165    - Remove bogus $dumpvars and $dumpoff commands.
166    - Various bugfixes and portability fixes.
167  * output/csv:
168    - Remove a 64-channel limit (bug #193).
169    - Fix an issue resulting in incorrect trailing commas (bug #230).
170    - Fix an issue where all timestamps would be zero (bug #35).
171  * Rename 'probe' to 'channel' in all places, since libsigrok supports a lot
172    of gear where 'channel' fits better (bug #259).
173  * Change TRIGGER_SLOPE from SR_T_UINT64 to SR_T_STRING.
174  * Windows support improvements:
175    - Use libserialport (+other backend code) to fix serial devices (bug #91).
176    - Add serial source addition/removal backend code (bug #206).
177    - Add backend code for properly supporting USB based devices.
178  * Fix various memory leaks in the backend code.
179  * Fix some incorrect parsing of floating point numbers in the strutil code.
180  * Fix various endianness issues in backend code and drivers (bug #266).
181  * Fix a few issues related to incorrect parsing with non-ANSI-C locales
182    (bugs #271, #272, #273, #274).
183  * Fix an issue related to data being sent to the libsigrok session which
184    was not a multiple of the unit/sample size (bugs, #289, #290).
185  * Drop the es51922 DMM parser (replaced by the generic es519xx parser).
186  * libsigrok session files:
187    - The libsigrok session file format (for *.sr files) has changed, and the
188      file format 'version' field is bumped to 2. Older libsigrok versions will
189      not be able to handle version 2 files, but new libsigrok versions can
190      handle both version 1 and version 2 files. New libsigrok versions will
191      always write/output version 2 files.
192    - Fix an issue resulting in left-over temporary files (bug #276).
193    - Fix an issue with analog probes (unsupported) in *.sr files (bug #277).
194    - Fix an issue with missing samplerate from session files (bug #275).
195  * Improved API documentation.
196  * Major API changes (overview):
197    - Change various function/macro names related to the probe->channel rename.
198    - Change various functions due to the new channel group feature.
199    - All enums in the public API now have names (e.g. 'enum sr_mqflag').
200    - The lib no longer defines names with _t suffix (POSIX reserved).
201    - New API calls:
202       - sr_session_dev_list()
203       - sr_session_save_init()
204       - sr_session_append()
205       - sr_config_commit()
206       - sr_output_new()
207       - sr_output_send()
208       - sr_output_free()
209    - Obsoleted and removed API calls:
210       - sr_filter_channels()
211    - 'struct sr_session' is now opaque (contents shouldn't be used directly).
212    - Please see the Doxygen API documentation for further details.
213  * Build system:
214    - Switch to a non-recursive automake setup (fewer files, faster builds).
215    - configure: Clearly mark required and optional libs.
216
217 0.2.2 (2013-11-04)
218 ------------------
219
220 Note: This release does NOT change the libsigrok API. While new config keys,
221       config info types, and unit codes have been added (additional enum
222       entries / numbers), no existing interfaces were added/changed/removed.
223       Frontends should continue to work fine without recompiling or relinking.
224
225  * New supported hardware:
226    - Logic analyzers:
227      - Saleae Logic16
228    - Thermometers:
229      - Center 309
230      - UNI-T UT325
231      - Voltcraft K204
232    - Multimeters:
233      - ISOTECH IDM103N
234      - Metex M-4650CR
235      - Norma DM950
236      - Voltcraft M-4650CR
237    - Energy meters:
238      - EDF Teleinfo
239  * New config keys:
240    - SR_CONF_VOLTAGE_THRESHOLD
241    - SR_CONF_EXTERNAL_CLOCK
242    - SR_CONF_SWAP
243    - SR_CONF_ENERGYMETER
244  * New config info types:
245    - SR_T_DOUBLE_RANGE
246  * New units:
247    - SR_UNIT_REVOLUTIONS_PER_MINUTE
248    - SR_UNIT_VOLT_AMPERE
249    - SR_UNIT_WATT
250    - SR_UNIT_WATT_HOUR
251  * New input modules:
252    - csv (comma-separated values)
253  * Bump required libzip version to >= 0.10.
254  * uni-t-dmm: This driver now requires the specification of the USB VID/PID
255    of the cable that is used. Example for sigrok-cli:
256     - Old: sigrok-cli --driver voltcraft-vc820 ...
257     - New: sigrok-cli --driver voltcraft-vc820:conn=1a86.e008 ...
258  * openbench-logic-sniffer:
259    - Initial test pattern support (SR_CONF_PATTERN_MODE).
260    - Initial external clock support (SR_CONF_EXTERNAL_CLOCK).
261    - Initial channel swap support (SR_CONF_SWAP).
262    - Various minor fixes and improvements.
263  * When a frontend adds a device instance to a running session, start
264    acquisition on it. This helps with the collectd use-case where devices
265    can be removed and added dynamically while a session is running.
266  * rigol-ds1xx2: Support newer Linux kernels with USBTMC in /sys/class/usbmisc.
267  * rigol-ds1xx2: Also detect the Rigol DS1152E/DS1152D.
268  * agilent-dmm: Fix a segfault happening in certain cases.
269  * output/analog: Support all currently known MQFLAGs.
270  * Fix a minor compile issue due to an incorrect #include.
271  * Fix two compile issues on FreeBSD (bug #185).
272  * es519xx: New generic parser for various Cyrustek DMM ICs.
273  * es51922/fs9721/fs9922/metex14: Use diode MQFLAG (bug #141).
274  * voltcraft-vc830: Fix diode mode handling (bug #142).
275  * Add the missing HACKING file to the tarball.
276  * README.devices: Updates/notes for newly added devices.
277
278 0.2.1 (2013-08-07)
279 ------------------
280
281 Note: This release does NOT change the libsigrok API. While new config keys,
282       config info types, and error codes have been added (additional enum
283       entries / numbers), no existing interfaces were added/changed/removed.
284       Frontends should continue to work fine without recompiling or relinking.
285
286  * New supported hardware:
287    - Logic analyzers:
288      - IKALOGIC Scanalogic-2
289      - IKALOGIC ScanaPLUS
290    - Sound level meters:
291      - CEM DT-8852
292      - Kecheng KC-330B
293    - Multimeters:
294      - UNI-T UT60A
295      - UNI-T UT60E
296      - Voltcraft M-3650D
297      - Voltcraft VC-830
298  * Drop the Tecpel DMM-8060 (doesn't have PC connectivity).
299  * New config keys:
300    - SR_CONF_SPL_WEIGHT_FREQ
301    - SR_CONF_SPL_WEIGHT_TIME
302    - SR_CONF_SPL_MEASUREMENT_RANGE
303    - SR_CONF_HOLD_MIN
304    - SR_CONF_HOLD_MAX
305    - SR_CONF_POWER_OFF
306    - SR_CONF_DATA_SOURCE
307  * New config info types:
308    - SR_T_UINT64_RANGE
309  * New error codes:
310    - SR_ERR_TIMEOUT
311  * Always link against libm, the math library (bug #115).
312  * Fix a bug in sr_si_string_u64() at al (bug #73).
313  * output/csv: Fix incorrect probe order.
314  * alsa: Fix a double-free issue (bug #129).
315  * zeroplus-logic-cube: Fix a bug in the driver cleanup code.
316  * ikalogic-scanalogic2: Use GET_REPORT (bug #130).
317  * uni-t-dmm: Fix a bug breaking the UNI-T UT61E (bug #136).
318  * Various internal consistency fixes and code cleanups.
319  * Improved Doxygen documentation.
320  * Fixed various memory leaks.
321
322 0.2.0 (2013-05-04)
323 ------------------
324
325 Note: This release DOES change the libsigrok API. That means it is NOT
326       backwards-compatible and frontends will need updates.
327
328  * Support for analog sources (oscilloscopes, DMMs, data loggers) was added.
329  * New supported hardware:
330    - Logic analyzers:
331      - CWAV USBee DX
332      - ZEROPLUS LAP-16128U
333    - Oscilloscopes:
334      - Hantek DSO-2090 (USB scope)
335      - Rigol DS1052D
336      - Rigol DS1052E
337      - Rigol DS1102D
338      - Rigol DS1102E
339    - Multimeters:
340      - Agilent U1231A
341      - Agilent U1232A
342      - Agilent U1233A
343      - Brymen BM857
344      - Digitek DT4000ZC
345      - Fluke 187
346      - Fluke 189
347      - Fluke 287
348      - Fluke 289
349      - Fluke ScopeMeter 199B
350      - MASTECH MAS345
351      - Metex ME-31
352      - Metex M-3640D
353      - PCE PCE-DM32
354      - PeakTech 3410
355      - PeakTech 4370
356      - RadioShack 22-168
357      - RadioShack 22-805
358      - RadioShack 22-812
359      - Tecpel DMM-8060
360      - Tecpel DMM-8061
361      - TekPower TP4000ZC
362      - UNI-T UT61D
363      - UNI-T UT61E
364      - V&A VA18B
365      - Victor 70C
366      - Victor 86C
367      - Voltcraft VC-820
368      - Voltcraft VC-840
369    - Sound level meters:
370      - Colead SL-5868P
371      - Tondaj SL-814
372    - Temperature/humidity/CO loggers:
373      - Lascar EL-USB and EL-USB CO series (various models)
374      - MIC 98581
375      - MIC 98583
376  * The limitation of max. 64 digital probes has been removed in many places.
377  * Added generic DMM protocol parsers usable for various DMMs, over various
378    cables and/or transports (e.g. same protocol over serial or USB/HID):
379    - Cyrustek ES51922 binary protocol.
380    - Fortune Semiconductor FS9721_LP3/FS9721B binary protocol.
381    - Fortune Semiconductor FS9922-DMM3/DMM4 binary protocol.
382    - Metex 14-byte ASCII protocol.
383    - RadioShack 22-812 binary protocol.
384  * zeroplus-logic-cube driver:
385    - Fix acquisition at some specific samplerates. Only report valid ones.
386    - Default to a samplerate of 1MHz.
387    - Fix trigger code.
388    - Add pre-trigger (capture ratio) setting.
389    - Add support for the ZEROPLUS LAP-16128U.
390  * fx2lafw driver:
391    - Add support for the CWAV USBee DX. This requires the latest version of
392      the fx2lafw firmware files.
393    - Add support for wide sampling (i.e. 16 probes instead of just 8).
394    - Fix multi-stage (software) triggers.
395    - Fix various memory leaks, firmware upload timeout bugs, and other issues.
396    - Various performance and memory usage improvements in the driver.
397  * chronovu-la8 driver:
398    - Add support for newer LA8 versions with USB VID/PID 0403:8867.
399  * demo driver:
400    - Various bugfixes when setting time/sample limits.
401  * openbench-logic-sniffer driver:
402    - Don't try to scan all available serial ports for OLS devices. Instead,
403      the serial port to use now has to be specified by the user.
404    - Allow disabling RLE.
405  * udev rules file: Add many new entries for additional devices.
406  * New output formats:
407    - analog: Prints analog values and their unit (e.g. from scopes or DMMs).
408  * New input formats:
409    - vcd: Value Change Dump format
410    - wav: Waveform audio file format (for analog data)
411  * 'binary' input format: Add support for a 'samplerate' option.
412  * API related changes:
413    - There is generated Doxygen API documentation now.
414    - The header that frontends should include is: <libsigrok/libsigrok.h>.
415      There are other headers which are installed, but those are not meant to
416      be included directly by the frontends.
417    - There were numerous API changes, additions and removals, too many to list
418      here. Please check the source code or Doxygen API documentation for the
419      current set of API functions.
420  * Serial port code:
421     - Various improvements and fixes related to multiple parameters such as
422       directions, baudrate, flow control, and others.
423     - Add support for more baudrates (e.g. very low ones such as 600/1200)
424       that are used in some devices.
425     - Add support for setting DTR/RTS.
426  * gnuplot files: Add sample files for CWAV USBee DX (for 8/16 bit sampling).
427  * Documentation updates:
428    - Add a README.devices file which contains various notes for users of
429      libsigrok about device- and/or driver-specific issues.
430    - Update README, HACKING, and other documents.
431    - Updated build dependencies list.
432      - The following libs are needed in more recent versions now:
433        - glib (required): Now must be >= 2.32.0.
434        - libusb-1.0 (optional): Now must be >= 1.0.9.
435      - The following new libs were added as (optional) dependencies:
436        - libasound / alsa-lib (optional): >= 1.0
437        - check (optional, only needed for unit tests): >= 0.9.4
438  * Portability:
439    - Various compile fixes for Windows, FreeBSD/NetBSD/OpenBSD, and Mac OS X.
440    - Simplify/allow/fix cross-compilation of libsigrok.
441    - Various bugfixes for 32bit systems.
442    - Various endianness fixes.
443  * configure:
444     - Add a --disable-all-drivers option. This can be overridden by
445       additional --enable-<drivername> options to selectively enable only some.
446     - Improve autodetection of libraries, and only enable drivers for which
447       all required libraries were found.
448  * Add a test suite for libsigrok with a few unit tests (the list will grow).
449
450 0.1.1 (2012-05-30)
451 ------------------
452
453 Note: This release does NOT change the libsigrok API.
454
455  * The 'saleae-logic' driver (which depends on the Saleae firmware), has
456    been replaced with the new 'fx2lafw' driver, which uses an open-source
457    firmware for Cypress FX2 chips which is also named 'fx2lafw'.
458    Details: http://sigrok.org/wiki/Fx2lafw
459    This new driver (+ firmware) currently supports the following devices:
460      - ARMFLY AX-Pro
461      - Braintechnology USB-LPS
462      - EE Electronics ESLA100
463      - EE Electronics ESLA201A
464      - Robomotic MiniLogic
465      - Robomotic BugLogic 3
466      - Saleae Logic
467      - USBee AX
468      - USBee SX
469      - All Cypress FX2 eval boards with stock Cypress VID/PID, including:
470        - Lcsoft Mini Board
471        - Braintechnology USB Interface V2.x
472    Only acquisition with 8 probes is supported so far. Support for 16 probes
473    and support for analog signal acquisition (on devices which have these
474    capabilities) will be added later.
475  * ASIX SIGMA driver:
476    - Add support for the ASIX SIGMA2. This requires the latest version of
477      the SIGMA/SIGMA2 firmware files.
478      Details: http://sigrok.org/wiki/Firmware
479    - Various bugfixes.
480  * ZEROPLUS Logic Cube LAP-C (16032): Fix a segfault.
481  * udev file: Add entries for Robomotic BugLogic 3, Velleman PCSU1000,
482    Ideofy LA-08, ARMFLY AX-Pro, and Braintechnology USB Interface V2.x.
483  * The zlib dependency has been removed (no longer needed).
484  * Fix compiling with "Homebrew" (Mac OS X).
485  * libsigrok now expects firmware files in $prefix/share/sigrok-firmware by
486    default (was $prefix/share/libsigrok/firmware before).
487  * Fix a Makefile.am bug which caused the generated ChangeLog files being
488    accidentally deleted upon 'make distclean'.
489  * ChronoVu LA8 input file format: Improve autodetection of the file format.
490    We now only accept files of the size 8388613 bytes (all LA8 files have
491    exactly this amount of bytes).
492
493 0.1.0 (2012-04-17)
494 ------------------
495
496  * Initial release.
497