X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=NEWS;h=60de6e341b7289cfb99883a94b0c921a4b79b008;hb=fdb297c6de08cf7f2c2aedd5e0399bda2dd60a5d;hp=e66de177438a08dbd5659ed69cb8ca73954b92b5;hpb=95723b1e178ff2f8f30d4d338840da4f61b3643b;p=libsigrok.git diff --git a/NEWS b/NEWS index e66de177..60de6e34 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,480 @@ +0.5.2 (2019-12-23) +------------------ + +Note: This release does NOT change the libsigrok public C API in incompatible + ways. While new config keys have been added (additional enum + entries / numbers), no existing interfaces were changed or removed. + Frontends should continue to work fine without recompiling or relinking. + + * New supported hardware: + - Logic analyzers: + - Microchip PICkit2 + - Sysclk SLA5032 + - Multimeters: + - Agilent 34405A + - Agilent U1271 + - Agilent U1272 + - Agilent U1273 + - HP 34401A + - Keysight 34465A + - MASTECH MS2115B + - Mooshimeter + - Power supplies: + - BK Precision 9130 + - HP 6611C + - HP 6612C + - HP 6613C + - HP 6614C + - HP 66312A + - HP 6632A + - HP 6634A + - Korad KA3005P (with 0xBC as extra byte in the model ID). + - Korad KD6005P + - Manson HCS-3300 + - Manson HCS-3302 + - RND 320-KD3005P + - Stamos S-LS-31 + - TENMA 72-2535 V2.1 + - Voltcraft DPPS-32-15 + - Oscilloscopes: + - Agilent DSO1000B series + - Hameg HMO3522 + - Rigol MSO5000 series + - Rohde&Schwarz HMO1000 series (e.g. bug #1286) + - Rohde&Schwarz RTA4000 series + - Rohde&Schwarz RTB2000 series + - Rohde&Schwarz RTC1000 series + - Rohde&Schwarz RTM3000 series + - YiXingDianZi MDSO + - LCR meters: + - MASTECH MS5308 + - PeakTech 2165 + - UNI-T UT612 + - Voltcraft 4080 + - Thermometers: + - MASTECH MS6514 + * New config keys: + - SR_CONF_OFFSET + - SR_CONF_TRIGGER_PATTERN + - SR_CONF_HIGH_RESOLUTION + - SR_CONF_PEAK_DETECTION + - SR_CONF_LOGIC_THRESHOLD + - SR_CONF_LOGIC_THRESHOLD_CUSTOM + - SR_CONF_RANGE + - SR_CONF_DIGITS + * New output modules: + - wavedrom: WaveDrom JSON-based digital timing diagrams. + * Build dependencies: + - hidapi >= 0.8.0 (optional, used for some HID based "serial cables") + - bluez/libbluetooth >= 4.0 (optional, used for Bluetooth/BLE; Linux-only) + - libgio >= 2.32.0 (optional, used by some drivers) + * C++ bindings: + - Add Output::format(). + - Avoid "using namespace" in headers (bug #1354). + * Python bindings: + - Add data array for logic packet payload. + - Add override for Context.create_logic_packet(). + - Add new Context::create_end_packet() method. + * Backend: + - Add support for "serial over USB HID" transport, e.g. in DMMs (bug #555). + Supported chips/protocols: WCH CH9325, SiLabs CP2110, Brymen BU-86X IR + adapter, Victor DMM chip. + - Add support for Bluetooth and BLE (currently Linux-only). + - Add support for "serial over Bluetooth/BLE" transport (used e.g. in DMMs). + - serial: Add support for optional "RX chunk" callback. + - Remove sr_dev_close call from std_serial_dev_acquisition_stop (bug #1271). + * input/trace32_ad: + - Add support for new file format (BINHDR2). + * input/csv: + - Unbreak re-import of CSV files. + - Various parsing robustness improvements. + - Introduce generic "column processing" support. + - Various module option changes and renames. + - Add support for analog input data. + - Add support for timestamp columns, auto detect samplerate. + - Add automatic format match support. + - Set default "header" option value to true. + - Fix incorrect/incomplete startline/newline handling (bug #968). + * output/analog: + - Also print meta strings (not just numbers). + * output/vcd: + - Use larger data type to internally store frequency. + - Support smaller timescales with higher resolution. + * output/csv: + - Set default "time" option value to false. + * scpi: + - Add connenction_id() function to all SCPI drivers. + - scpi_libgpib: Add mutex to SPoll. + * dmm/bm86x: + - Unbreak temperature modes for two probes and no probes (bug #1394). + * brymen-bm86x, victor-dmm: + - Removed in favor of serial-dmm based driver support. + * scpi-pps: + - Add support for various config keys for HP 66xxB power supplies. + - Add init_acquisition() and update_status() for HP 66xxB power supplies. + - Set device and channel group feature for HP 66xxB. + - Don't use SCPI_CMD_REMOTE/_LOCAL for HP 66xxB devices when in GPIB mode. + - Add support for various config keys for HP 66xxA power supplies. + - Add configurable sr_mqflags. + - Add missing frequency channel settings for acquisition. + * hantek-4032l: + - Fix broken triggering on low signal (bug #1402). + * hameg-hmo: + - Use g_byte_array_free() instead of g_free() (bug #1324). + - Remove invalid HMO2522, add missing HMO3522 (bug #1322). + - Add support for 16 digital (logic) channels, i.e. two pods. + - Add support for various new config keys. + - Avoid getting stuck upon SCPI timeouts (bug #1323). + - Try to find a valid serialcomm if none is supplied (bug #1321). + - When setting slope, also set trigger type to edge (bug #1328). + - Use 1-based (not 0-based) POD numbers. + - Fix for an incorrect samplerate being returned. + - Fix the upper limit for the vertical scale. + * agilent-dmm: + - Fix support for Agilent/Keysight U1252A. + * asix-sigma: + - Fix a compiler warning (bug #1411). + * beaglelogic: + - Fix mismatched printf specifiers. + * saleae-logic16: + - Warn (instead of erroring out) if FPGA is unsupported. + * demo: + - Set an initial MQ, MQ flag and digits to the analog package. + - Get/set measurement quantity for the analog channels. + - Get/set amplitude while data acquisition is running. + - Get/set new config key SR_CONF_OFFSET. + - Add random analog signal generation. + * korad-kaxxxxp: + - Add SR_MQFLAG_DC flag to the current channel packet. + - Fix bug when setting values while acquisition is running. + - Send META packet when states have changed. + * lecroy-xstream: + - Remove header read, which caused issues on some devices (PR #33). + * uni-t-ut32x: + - Pre-set to default conn= spec. + - Use common code for sample/time limits. + - Improve robustness of packet parser, more diagnostics. + * chronovu-la: + - Fix broken triggering (#1369). + * openbench-logic-sniffer: + - Use 32bit for handling sample counts. + - Extend reponse delay when scanning device (helps on Pepino). + - Add feature to support >256K memory. + - Introduce metadata quirks support, unbreak Logic Shrimp. + * ftdi-la: + - Added FTDI FT232H device ID. + - Do enter the error path upon VID:PID mismatch (bug #1390). + * hp-3478a: + - Check via GPIB serial poll if new data is available. + - Add get/set/list of measurement ranges. + - Add get/set/list of digits. + - Check for measurement value overflow. + * manson-hcs-3xxx: + - Add support for some models with changes ID string (e.g. bug #1441). + * fx2lafw: + - Add support for 48MHz sampling (for very short intervals only). + * ipdbg-la: + - Check if limit samples is valid. + - Improve acquisition speed. + - Fix various issues on Windows. + - Fix an issue when capture rate is 100% (bug #1393). + * scpi-dmm: + - Accept serialcomm= scan options. + - Run OPC queries immediately before essential commands. + * brymen-bm86x: + - Fix incorrect channel indices. + * dmm/eev121gw: + - Add missing scale items for sub display in power modes. + * rigol-ds: + - Fix memory buffer readout on DS4000 series. + * fluke-45: + - Avoid NULL dereference in the probe routine. + - Disable ECHO test, it confuses other SCPI devices (bug #1272). + ∗ fluke-dmm: + - Fix use-after-free bugs (bug #1423). + * rdtech-dps: + - Synchronize read and write operations. + - Retry sr_modbus_read_holding_registers() up to 3 times. + - Handle different per-model current/voltage digits (bug #1385). + - Send META package when states have changed. + * udev: + - Add an additional Rohde&Schwarz HMO VID/PID. + - Add Siglent SDS1104X-E VID/PID (bug #1357). + - Add Lecroy WaveRunner VID/PID. + * Build system: + - Fix an issue when building in directories that are symlinks (bug #547). + - Fix C++ bindings compilation with Doxygen >= 1.8.16 (bug #1422). + * Fix various memory leaks in the backend and in drivers. + * README.devices: Update/amend docs, add more examples. + +0.5.1 (2018-10-14) +------------------ + +Note: This release does NOT change the libsigrok public C API in incompatible + ways. While new config keys have been added (additional enum + entries / numbers), no existing interfaces were changed or removed. + Frontends should continue to work fine without recompiling or relinking. + + * New supported hardware: + - Logic analyzers: + - DreamSourceLab DSLogic Basic + - DreamSourceLab DSLogic Plus + - Hantek 4032L + - IPDBG (ipdbg.org FPGA IP debugger) + - Meilhaus Logian-16L + - Saleae Logic Pro 16 (experimental) + - ZEROPLUS Logic Cube LAP-16032U + - ZEROPLUS Logic Cube LAP-C (16128+) (bug #1045) + - Oscilloscopes: + - Agilent MSO7034A (experimental, digital channels not yet supported) + - Hantek DSO-2250 (experimental) + - Rigol DS4000 series (bug #1208) + - Siglent SDS1000 series + - Siglent SDS2000 series + - Multimeters: + - EEVblog 121GW (supports serial connection, requires BLE-serial bridge) + - Fluke 45 + - HP 3478A + - MASTECH MS8250D + - Metex M-3860M + - PeakTech 4390A + - SparkFun 70C + - Victor DMMs with Mini-USB connector + - Voltcraft VC-96 + - Power supplies: + - GW Instek GPD series + - HP 6631B + - HP 66332A + - HP 6633B + - HP 6634B + - Korad KD3005P + - RDTech DPS/DPH series + - Rigol DP711 + - Rigol DP712 + - RND KA3005P + - Tenma 72-2540 + - Electronic loads: + - ZKETECH EBD-USB + * New config keys: + - SR_CONF_POWERMETER + - SR_CONF_UNDER_VOLTAGE_CONDITION_THRESHOLD + - SR_CONF_EXTERNAL_CLOCK_SOURCE + * Build dependencies: + - Drop libftdi 0.x support, require libftdi 1.x (bug #959). + * dreamsourcelab-dslogic: + - Split DSLogic devices into this new driver (were in fx2lafw previously). + - Handle SR_CONF_TRIGGER_MATCH in config_list() (bug #1032). + - Fix incorrect default/initial threshold setting. + - Fix deinterleaving when non-contiguous set of channels is enabled. + - Fix a triggering issue (bug #1188). + * demo: + - Unbreak execution with all analog channels disabled (bug #625). + - Only send average result data when averaging is active (bug #930). + - Don't generate analog output data for disabled channels (bug #923). + - Skip generating data when all channels in a group are disabled (bug #923). + - Mask out logic data for disabled channels in datafeed packets. + - Add multi-frame and frame-count (development) feature. + - Properly handle low samplerates. + - Add graycode generator mode. + - Add triggering support. + * conrad-digi-35-cpu: + - Add SR_CONF_LIST for voltage_target and current_limit. + * arachnid-labs-re-load-pro: + - Stop monitoring when open/close device. + - Add SR_DF_META packets for changed values/states. + - Change serial read in acquisition mode to prevent data loss. + - Fix a rounding issue when setting a current limit. + - Add SR_CONF_UNDER_VOLTAGE_THRESHOLD support. + - Make SR_CONF_REGULATION listable. + - Get a response when in acquision mode. + - Set an encoding "digits" value for analog packets. + * asix-sigma: + - Propagate errors from firmware upload (bug #471). + - Only change number of channels after successful firmware upload (bug #471). + - Only open the USB device once; fails with newer libftdi (bug #471). + - Download sample data upon user initiated stop, too. + * serial-lcr: + - Fix a double-free error (tested with PeakTech 2170). + - Support channel selection (enable/disable P1/P2). + * brymen-bm86x: + - Support channel selection (enable/disable channels). + - Fix a crash upon device closing. + * manson-hcs-3xxx: + - Add new name for the HCS-3304 (adjustment for new Manson firmware). + * chronovu-la: + - Silence overly verbose and confusing log messages. + * beaglelogic: + - Update scan() to return all 14 channels by default. + - Enable seamless continuous capturing. + - Use a flexible sampleunit depending on enabled channels. + - Add TCP protocol support. + - Fix a crash on device connection closing. + - Correctly advertise samplerates via SR_CONF_SAMPLERATE/SR_CONF_LIST. + - Fix a compiler warning (bug #1094). + * lecroy-xstream: + - Fix COMM_HEADER and COMM_FORMAT. + - Use best-effort strategy for models unknown to the driver. + - Fix trigger source/slope handling. + - Implement config_channel_set API callback. + - Fix sample rate handling. + - Keep acquiring infinitely if no frame limit is set. + - Properly handle a stopping acquisition. + - Wait for trigger before acquiring additional frames. + * hantek-6xxx: + - Use lower MAX_PACKET_SIZE on Windows (bug #1048). + - Use FIFO-based sampling, don't buffer all samples before send (bug #1214). + - Hantek 6022BE: Add VID/PID 04b5:6022 support (bug #918). + - Hantek 6022BL: Add VID/PID 04b5:602a support (bug #1295). + * scpi-pps: + - Add channel group device options for HP 663xx. + - Use thread safe SCPI functions, return float not double (bug #779). + - Improve switching of channel groups (PSU channels). + - Add missing functionality for the HP 6632B power supply. + - Add listable OVP/OCP threshold for HP 66xxx and prepared all others. + - Don't block waiting for a value on capture stop. + - Use software sample and time limits. + - Fix broken channel selection code (bug #1279). + * hameg-hmo: + - Forward internal channel state to sigrok channel state (bug #883). + * sysclk-lwla: + - Fix a segfault in dev_close(). + - Fix a regression with (at least) the LWLA1034. + * rigol-ds: + - Fix crash when fetching logic channels (bug #1073). + - Fix a memory leak. + - Fix an issue causing only one channel to be acquired (bug #1018). + - Store trigger sources and their number for each model (bug #299). + * hantek-dso: + - Fix segfault when accessing already free()d memory (bug #458). + * korad-kaxxxxp: + - Add two channels "V" and "I", remove channel "CH1". + - Synchronize read and write operations. + * serial-dmm: + - Add support for multiple channels per DMM. + - Count analog DMM channels starting at 1. + - Print data bytes according to specific meter's packet length. + * siglent-sds: + - Fixed timebase problem where "ns" could not be selected (bug #1120). + - Add an averaging function. + - Partial fix for a USB connection problem (bug #1130). + - Fix samplerate and memory depth calculation. + - Better support for *-E series devices (more work might be needed). + - Fix SR_CONF_AVERAGING/SR_CONF_AVG_SAMPLES handling. + * hantek-4032l: + - Various data acquisition fixes (bug #1190). + - Add support for cleanly aborting an acquisition. + * fx2lafw: + - Silence message in query for channel group's device options (bug #1267). + - Add usb-c-grok IDs for upcoming device support. + * input/wav: + - Fix incorrect memset() call. + - Fix module reset issue (bug #1167). + - Don't assume CHUNK_SIZE >= total_samples. + * input/raw_analog: + - Fix module reset issue (bug #1167). + - Set appropriate precision digits for sample format (bug #950). + * input/vcd: + - Fixup VCD timestamp to sigrok samplenum mapping (bug #1075). + - Abort VCD import when timestamp counts backwards (bug #1250). + - Expand the reset() logic (bug #1306). + - Add channel list checks for file re-read (bug #1306). + * input/csv: + - Make the data format option a list. + * input/logicport: + - Add input module for LogicPort File (*.lpf) files. + * input/chronovu_la8: + - Only send data to the session, don't send the header. + - Also claim responsibility for ChronoVu LA16 files (.kdt/.kd1). + * input/null: + - Add this new input module (used for testing and benchmarking purposes). + * Input modules: + - Improve option names and descriptions. + - Increase chunk sizes to 4MB in most cases for improved performance. + - Add confidence (detection strength) to format_match() (bug #1200). + * output/null: + - Add this new output module (used for testing and benchmarking purposes). + * output/analog: + - Display SR_DF_META packets. + - Convert binary to digital digits of precision (bug #950). + * output/vcd: + - Assign adjacent names to enabled channels (bug #519). + - Assume packed input data image, unbreak 2nd+ channel (bug #519). + * output/wav: + - Change default for scale factor from 0.0 to 1.0. + * output/csv: + - Fix out-of-bounds array access in process_analog() (bug #1124). + - Make the label values option a list. + - Disable the dedup option by default. + * Output modules: + - Fixup trigger marker position in ascii/bits/hex output modules. + * Fix various compiler warnings, scan-build issues, and memory leaks. + * soft-trigger: + - Fix a memory allocation issue (bug #1000). + - Fix an issue causing triggers to not work. + * session_driver: Fix an issue causing incorrect analog data reads. + * Logging: + - Flush log lines to cope with non-terminal output (pipes). + - Move log level check so that it affects all handlers (bug #698). + * SCPI: + - Fix an issue caused by trailing whitespace handling (bug #788). + - Synchronize read, write and write+read operations. + * Various DMMs: Set DC flag for diode mode (bug #144). + * All drivers: + - Use serial_write_blocking() everywhere (bug #962). + - Fix locale dependent string to float conversion (bug #1064). + - Show firmware name when loading fails (bug #1262). + * FreeBSD: + - Ensure device is closed before usb_get_port_path() (bug #1109). + * Metex DMMs: + - Add missing modes and set correct digits values. + - Add power factor measurement mode. + - Fix incorrect measurement modes. + * DTM0660 DMMs: + - Do not apply the exponent twice on the value (bug #1236). + * libsigrok API: + - Add sr_a2l_threshold(). + - Add sr_a2l_schmitt_trigger(). + - Add sr_sprintf_ascii(). + - Add sr_snprintf_ascii(). + - Add sr_vsprintf_ascii(). + - Add sr_vsnprintf_ascii(). + - Add sr_resourcepaths_get() (bug #1128). + - Add sr_input_module_get(). + - Add sr_log_callback_get(). + - Add sr_packet_copy(). + - Add sr_packet_free(). + - sr_parse_boolstring(): Assume bool is true when no value is specified. + - sr_voltage_string(): Add a space before the unit. + - sr_parse_rational(): + - Bugfix for integral parts between -0 and -1. + - Bugfix in an error path (bug #1093). + - Various parsing robustness improvements/fixes. + - Accept leading whitespace. + - Insist on some mantissa. + - sr_analog_si_prefix_friendly(): Fix read past end of array (bug #950). + - sr_parse_sizestring(): Support tera/peta/exa suffixes (bug #763). + * libsigrokcxx API: + - Add Analog::get_logic_via_threshold(). + - Add Analog::get_logic_via_schmitt_trigger(). + - Add Context::input_format_match(). + - Add Option::parse_string(). + - Add ConfigKey::parse_string(). + * backend: Emit firmware search paths in a log message. + * Fix a driver-independent firmware loading issue (bug #1140). + * modbus: Improve error handling. + * Multiple internal refactorings to massively reduce per-driver boilerplate. + * Also check $SIGROK_FIRMWARE_DIR for firmware files. + * udev rules file: + - Add Brymen BU-86X adapter IDs. + - Add Rigol DP800 series IDs. + - Add usb-c-grok IDs. + - Rename file for correct rule ordering on systemd systems (bug #1059). + - Split device access policy from the device database. New files: + 60-libsigrok.rules, 61-libsigrok-{plugdev,uaccess}.rules. + * Build system: + - Emit a warning if the C++ bindings are not being built. + - Install MIME info file in $(datadir)/mime/packages (bug #983). + 0.5.0 (2017-06-12) ------------------ @@ -205,7 +682,7 @@ Note: This release DOES change the libsigrok API. That means it is NOT - LeCroy LogicStudio - mcupro Logic16 clone - Pipistrello OLS - - SysClk LWLA1016 + - Sysclk LWLA1016 - Oscilloscopes: - Rigol/Agilent DS1000Z series - Yokogawa DLM2000 series