X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=NEWS;h=a961148e7b4a75af724fd3441fec6b48925203e8;hp=1c89e0a189e15aa18eaf3733ec22c0e7132ed2c9;hb=HEAD;hpb=9f05304e4e1b842f875cfdaccf9e93cae0012937 diff --git a/NEWS b/NEWS index 1c89e0a1..a961148e 100644 --- a/NEWS +++ b/NEWS @@ -1,16 +1,978 @@ -0.1.1 (2012-xx-yy) +0.5.0 (2017-06-12) ------------------ -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: + - 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: . + 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 @@ -23,22 +985,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) ------------------