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 dependecies: - 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 occuring 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 obolete 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 defineѕ 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: . 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- 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). * 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) ------------------ * Initial release.