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