]> sigrok.org Git - libsigrok.git/blobdiff - NEWS
Don't set _POSIX_C_SOURCE for VXI/RPC related files.
[libsigrok.git] / NEWS
diff --git a/NEWS b/NEWS
index 1c89e0a189e15aa18eaf3733ec22c0e7132ed2c9..accf2c0c3590aad66877b53b6a1cc8c731f95de2 100644 (file)
--- a/NEWS
+++ b/NEWS
-0.1.1 (2012-xx-yy)
+0.3.0 (2014-05-06)
 ------------------
 
-This release does NOT change the libsigrok API.
+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
@@ -23,22 +469,26 @@ This release does NOT change the libsigrok API.
      - 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,
-   and Ideofy LA-08, ARMFLY AX-Pro.
-
- * The zlib dependency has been removed (no longer needed),
+   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).
+ * libsigrok now expects firmware files in $prefix/share/sigrok-firmware by
+   default (was $prefix/share/libsigrok/firmware before).
+ * Fix a Makefile.am bug which caused the generated ChangeLog files being
+   accidentally deleted upon 'make distclean'.
+ * ChronoVu LA8 input file format: Improve autodetection of the file format.
+   We now only accept files of the size 8388613 bytes (all LA8 files have
+   exactly this amount of bytes).
 
 0.1.0 (2012-04-17)
 ------------------