10.5.2 (2019-12-23) 2------------------ 3 4Note: This release does NOT change the libsigrok public C API in incompatible 5 ways. While new config keys have been added (additional enum 6 entries / numbers), no existing interfaces were changed or removed. 7 Frontends should continue to work fine without recompiling or relinking. 8 9 * New supported hardware: 10 - Logic analyzers: 11 - Microchip PICkit2 12 - Sysclk SLA5032 13 - Multimeters: 14 - Agilent 34405A 15 - Agilent U1271 16 - Agilent U1272 17 - Agilent U1273 18 - HP 34401A 19 - Keysight 34465A 20 - MASTECH MS2115B 21 - Mooshimeter 22 - Power supplies: 23 - BK Precision 9130 24 - HP 6611C 25 - HP 6612C 26 - HP 6613C 27 - HP 6614C 28 - HP 66312A 29 - HP 6632A 30 - HP 6634A 31 - Korad KA3005P (with 0xBC as extra byte in the model ID). 32 - Korad KD6005P 33 - Manson HCS-3300 34 - Manson HCS-3302 35 - RND 320-KD3005P 36 - Stamos S-LS-31 37 - TENMA 72-2535 V2.1 38 - Voltcraft DPPS-32-15 39 - Oscilloscopes: 40 - Agilent DSO1000B series 41 - Hameg HMO3522 42 - Rigol MSO5000 series 43 - Rohde&Schwarz HMO1000 series (e.g. bug #1286) 44 - Rohde&Schwarz RTA4000 series 45 - Rohde&Schwarz RTB2000 series 46 - Rohde&Schwarz RTC1000 series 47 - Rohde&Schwarz RTM3000 series 48 - YiXingDianZi MDSO 49 - LCR meters: 50 - MASTECH MS5308 51 - PeakTech 2165 52 - UNI-T UT612 53 - Voltcraft 4080 54 - Thermometers: 55 - MASTECH MS6514 56 * New config keys: 57 - SR_CONF_OFFSET 58 - SR_CONF_TRIGGER_PATTERN 59 - SR_CONF_HIGH_RESOLUTION 60 - SR_CONF_PEAK_DETECTION 61 - SR_CONF_LOGIC_THRESHOLD 62 - SR_CONF_LOGIC_THRESHOLD_CUSTOM 63 - SR_CONF_RANGE 64 - SR_CONF_DIGITS 65 * New output modules: 66 - wavedrom: WaveDrom JSON-based digital timing diagrams. 67 * Build dependencies: 68 - hidapi >= 0.8.0 (optional, used for some HID based "serial cables") 69 - bluez/libbluetooth >= 4.0 (optional, used for Bluetooth/BLE; Linux-only) 70 - libgio >= 2.32.0 (optional, used by some drivers) 71 * C++ bindings: 72 - Add Output::format(). 73 - Avoid "using namespace" in headers (bug #1354). 74 * Python bindings: 75 - Add data array for logic packet payload. 76 - Add override for Context.create_logic_packet(). 77 - Add new Context::create_end_packet() method. 78 * Backend: 79 - Add support for "serial over USB HID" transport, e.g. in DMMs (bug #555). 80 Supported chips/protocols: WCH CH9325, SiLabs CP2110, Brymen BU-86X IR 81 adapter, Victor DMM chip. 82 - Add support for Bluetooth and BLE (currently Linux-only). 83 - Add support for "serial over Bluetooth/BLE" transport (used e.g. in DMMs). 84 - serial: Add support for optional "RX chunk" callback. 85 - Remove sr_dev_close call from std_serial_dev_acquisition_stop (bug #1271). 86 * input/trace32_ad: 87 - Add support for new file format (BINHDR2). 88 * input/csv: 89 - Unbreak re-import of CSV files. 90 - Various parsing robustness improvements. 91 - Introduce generic "column processing" support. 92 - Various module option changes and renames. 93 - Add support for analog input data. 94 - Add support for timestamp columns, auto detect samplerate. 95 - Add automatic format match support. 96 - Set default "header" option value to true. 97 - Fix incorrect/incomplete startline/newline handling (bug #968). 98 * output/analog: 99 - Also print meta strings (not just numbers). 100 * output/vcd: 101 - Use larger data type to internally store frequency. 102 - Support smaller timescales with higher resolution. 103 * output/csv: 104 - Set default "time" option value to false. 105 * scpi: 106 - Add connenction_id() function to all SCPI drivers. 107 - scpi_libgpib: Add mutex to SPoll. 108 * dmm/bm86x: 109 - Unbreak temperature modes for two probes and no probes (bug #1394). 110 * brymen-bm86x, victor-dmm: 111 - Removed in favor of serial-dmm based driver support. 112 * scpi-pps: 113 - Add support for various config keys for HP 66xxB power supplies. 114 - Add init_acquisition() and update_status() for HP 66xxB power supplies. 115 - Set device and channel group feature for HP 66xxB. 116 - Don't use SCPI_CMD_REMOTE/_LOCAL for HP 66xxB devices when in GPIB mode. 117 - Add support for various config keys for HP 66xxA power supplies. 118 - Add configurable sr_mqflags. 119 - Add missing frequency channel settings for acquisition. 120 * hantek-4032l: 121 - Fix broken triggering on low signal (bug #1402). 122 * hameg-hmo: 123 - Use g_byte_array_free() instead of g_free() (bug #1324). 124 - Remove invalid HMO2522, add missing HMO3522 (bug #1322). 125 - Add support for 16 digital (logic) channels, i.e. two pods. 126 - Add support for various new config keys. 127 - Avoid getting stuck upon SCPI timeouts (bug #1323). 128 - Try to find a valid serialcomm if none is supplied (bug #1321). 129 - When setting slope, also set trigger type to edge (bug #1328). 130 - Use 1-based (not 0-based) POD numbers. 131 - Fix for an incorrect samplerate being returned. 132 - Fix the upper limit for the vertical scale. 133 * agilent-dmm: 134 - Fix support for Agilent/Keysight U1252A. 135 * asix-sigma: 136 - Fix a compiler warning (bug #1411). 137 * beaglelogic: 138 - Fix mismatched printf specifiers. 139 * saleae-logic16: 140 - Warn (instead of erroring out) if FPGA is unsupported. 141 * demo: 142 - Set an initial MQ, MQ flag and digits to the analog package. 143 - Get/set measurement quantity for the analog channels. 144 - Get/set amplitude while data acquisition is running. 145 - Get/set new config key SR_CONF_OFFSET. 146 - Add random analog signal generation. 147 * korad-kaxxxxp: 148 - Add SR_MQFLAG_DC flag to the current channel packet. 149 - Fix bug when setting values while acquisition is running. 150 - Send META packet when states have changed. 151 * lecroy-xstream: 152 - Remove header read, which caused issues on some devices (PR #33). 153 * uni-t-ut32x: 154 - Pre-set to default conn= spec. 155 - Use common code for sample/time limits. 156 - Improve robustness of packet parser, more diagnostics. 157 * chronovu-la: 158 - Fix broken triggering (#1369). 159 * openbench-logic-sniffer: 160 - Use 32bit for handling sample counts. 161 - Extend reponse delay when scanning device (helps on Pepino). 162 - Add feature to support >256K memory. 163 - Introduce metadata quirks support, unbreak Logic Shrimp. 164 * ftdi-la: 165 - Added FTDI FT232H device ID. 166 - Do enter the error path upon VID:PID mismatch (bug #1390). 167 * hp-3478a: 168 - Check via GPIB serial poll if new data is available. 169 - Add get/set/list of measurement ranges. 170 - Add get/set/list of digits. 171 - Check for measurement value overflow. 172 * manson-hcs-3xxx: 173 - Add support for some models with changes ID string (e.g. bug #1441). 174 * fx2lafw: 175 - Add support for 48MHz sampling (for very short intervals only). 176 * ipdbg-la: 177 - Check if limit samples is valid. 178 - Improve acquisition speed. 179 - Fix various issues on Windows. 180 - Fix an issue when capture rate is 100% (bug #1393). 181 * scpi-dmm: 182 - Accept serialcomm= scan options. 183 - Run OPC queries immediately before essential commands. 184 * brymen-bm86x: 185 - Fix incorrect channel indices. 186 * dmm/eev121gw: 187 - Add missing scale items for sub display in power modes. 188 * rigol-ds: 189 - Fix memory buffer readout on DS4000 series. 190 * fluke-45: 191 - Avoid NULL dereference in the probe routine. 192 - Disable ECHO test, it confuses other SCPI devices (bug #1272). 193 ∗ fluke-dmm: 194 - Fix use-after-free bugs (bug #1423). 195 * rdtech-dps: 196 - Synchronize read and write operations. 197 - Retry sr_modbus_read_holding_registers() up to 3 times. 198 - Handle different per-model current/voltage digits (bug #1385). 199 - Send META package when states have changed. 200 * udev: 201 - Add an additional Rohde&Schwarz HMO VID/PID. 202 - Add Siglent SDS1104X-E VID/PID (bug #1357). 203 - Add Lecroy WaveRunner VID/PID. 204 * Build system: 205 - Fix an issue when building in directories that are symlinks (bug #547). 206 - Fix C++ bindings compilation with Doxygen >= 1.8.16 (bug #1422). 207 * Fix various memory leaks in the backend and in drivers. 208 * README.devices: Update/amend docs, add more examples. 209 2100.5.1 (2018-10-14) 211------------------ 212 213Note: This release does NOT change the libsigrok public C API in incompatible 214 ways. While new config keys have been added (additional enum 215 entries / numbers), no existing interfaces were changed or removed. 216 Frontends should continue to work fine without recompiling or relinking. 217 218 * New supported hardware: 219 - Logic analyzers: 220 - DreamSourceLab DSLogic Basic 221 - DreamSourceLab DSLogic Plus 222 - Hantek 4032L 223 - IPDBG (ipdbg.org FPGA IP debugger) 224 - Meilhaus Logian-16L 225 - Saleae Logic Pro 16 (experimental) 226 - ZEROPLUS Logic Cube LAP-16032U 227 - ZEROPLUS Logic Cube LAP-C (16128+) (bug #1045) 228 - Oscilloscopes: 229 - Agilent MSO7034A (experimental, digital channels not yet supported) 230 - Hantek DSO-2250 (experimental) 231 - Rigol DS4000 series (bug #1208) 232 - Siglent SDS1000 series 233 - Siglent SDS2000 series 234 - Multimeters: 235 - EEVblog 121GW (supports serial connection, requires BLE-serial bridge) 236 - Fluke 45 237 - HP 3478A 238 - MASTECH MS8250D 239 - Metex M-3860M 240 - PeakTech 4390A 241 - SparkFun 70C 242 - Victor DMMs with Mini-USB connector 243 - Voltcraft VC-96 244 - Power supplies: 245 - GW Instek GPD series 246 - HP 6631B 247 - HP 66332A 248 - HP 6633B 249 - HP 6634B 250 - Korad KD3005P 251 - RDTech DPS/DPH series 252 - Rigol DP711 253 - Rigol DP712 254 - RND KA3005P 255 - Tenma 72-2540 256 - Electronic loads: 257 - ZKETECH EBD-USB 258 * New config keys: 259 - SR_CONF_POWERMETER 260 - SR_CONF_UNDER_VOLTAGE_CONDITION_THRESHOLD 261 - SR_CONF_EXTERNAL_CLOCK_SOURCE 262 * Build dependencies: 263 - Drop libftdi 0.x support, require libftdi 1.x (bug #959). 264 * dreamsourcelab-dslogic: 265 - Split DSLogic devices into this new driver (were in fx2lafw previously). 266 - Handle SR_CONF_TRIGGER_MATCH in config_list() (bug #1032). 267 - Fix incorrect default/initial threshold setting. 268 - Fix deinterleaving when non-contiguous set of channels is enabled. 269 - Fix a triggering issue (bug #1188). 270 * demo: 271 - Unbreak execution with all analog channels disabled (bug #625). 272 - Only send average result data when averaging is active (bug #930). 273 - Don't generate analog output data for disabled channels (bug #923). 274 - Skip generating data when all channels in a group are disabled (bug #923). 275 - Mask out logic data for disabled channels in datafeed packets. 276 - Add multi-frame and frame-count (development) feature. 277 - Properly handle low samplerates. 278 - Add graycode generator mode. 279 - Add triggering support. 280 * conrad-digi-35-cpu: 281 - Add SR_CONF_LIST for voltage_target and current_limit. 282 * arachnid-labs-re-load-pro: 283 - Stop monitoring when open/close device. 284 - Add SR_DF_META packets for changed values/states. 285 - Change serial read in acquisition mode to prevent data loss. 286 - Fix a rounding issue when setting a current limit. 287 - Add SR_CONF_UNDER_VOLTAGE_THRESHOLD support. 288 - Make SR_CONF_REGULATION listable. 289 - Get a response when in acquision mode. 290 - Set an encoding "digits" value for analog packets. 291 * asix-sigma: 292 - Propagate errors from firmware upload (bug #471). 293 - Only change number of channels after successful firmware upload (bug #471). 294 - Only open the USB device once; fails with newer libftdi (bug #471). 295 - Download sample data upon user initiated stop, too. 296 * serial-lcr: 297 - Fix a double-free error (tested with PeakTech 2170). 298 - Support channel selection (enable/disable P1/P2). 299 * brymen-bm86x: 300 - Support channel selection (enable/disable channels). 301 - Fix a crash upon device closing. 302 * manson-hcs-3xxx: 303 - Add new name for the HCS-3304 (adjustment for new Manson firmware). 304 * chronovu-la: 305 - Silence overly verbose and confusing log messages. 306 * beaglelogic: 307 - Update scan() to return all 14 channels by default. 308 - Enable seamless continuous capturing. 309 - Use a flexible sampleunit depending on enabled channels. 310 - Add TCP protocol support. 311 - Fix a crash on device connection closing. 312 - Correctly advertise samplerates via SR_CONF_SAMPLERATE/SR_CONF_LIST. 313 - Fix a compiler warning (bug #1094). 314 * lecroy-xstream: 315 - Fix COMM_HEADER and COMM_FORMAT. 316 - Use best-effort strategy for models unknown to the driver. 317 - Fix trigger source/slope handling. 318 - Implement config_channel_set API callback. 319 - Fix sample rate handling. 320 - Keep acquiring infinitely if no frame limit is set. 321 - Properly handle a stopping acquisition. 322 - Wait for trigger before acquiring additional frames. 323 * hantek-6xxx: 324 - Use lower MAX_PACKET_SIZE on Windows (bug #1048). 325 - Use FIFO-based sampling, don't buffer all samples before send (bug #1214). 326 - Hantek 6022BE: Add VID/PID 04b5:6022 support (bug #918). 327 - Hantek 6022BL: Add VID/PID 04b5:602a support (bug #1295). 328 * scpi-pps: 329 - Add channel group device options for HP 663xx. 330 - Use thread safe SCPI functions, return float not double (bug #779). 331 - Improve switching of channel groups (PSU channels). 332 - Add missing functionality for the HP 6632B power supply. 333 - Add listable OVP/OCP threshold for HP 66xxx and prepared all others. 334 - Don't block waiting for a value on capture stop. 335 - Use software sample and time limits. 336 - Fix broken channel selection code (bug #1279). 337 * hameg-hmo: 338 - Forward internal channel state to sigrok channel state (bug #883). 339 * sysclk-lwla: 340 - Fix a segfault in dev_close(). 341 - Fix a regression with (at least) the LWLA1034. 342 * rigol-ds: 343 - Fix crash when fetching logic channels (bug #1073). 344 - Fix a memory leak. 345 - Fix an issue causing only one channel to be acquired (bug #1018). 346 - Store trigger sources and their number for each model (bug #299). 347 * hantek-dso: 348 - Fix segfault when accessing already free()d memory (bug #458). 349 * korad-kaxxxxp: 350 - Add two channels "V" and "I", remove channel "CH1". 351 - Synchronize read and write operations. 352 * serial-dmm: 353 - Add support for multiple channels per DMM. 354 - Count analog DMM channels starting at 1. 355 - Print data bytes according to specific meter's packet length. 356 * siglent-sds: 357 - Fixed timebase problem where "ns" could not be selected (bug #1120). 358 - Add an averaging function. 359 - Partial fix for a USB connection problem (bug #1130). 360 - Fix samplerate and memory depth calculation. 361 - Better support for *-E series devices (more work might be needed). 362 - Fix SR_CONF_AVERAGING/SR_CONF_AVG_SAMPLES handling. 363 * hantek-4032l: 364 - Various data acquisition fixes (bug #1190). 365 - Add support for cleanly aborting an acquisition. 366 * fx2lafw: 367 - Silence message in query for channel group's device options (bug #1267). 368 - Add usb-c-grok IDs for upcoming device support. 369 * input/wav: 370 - Fix incorrect memset() call. 371 - Fix module reset issue (bug #1167). 372 - Don't assume CHUNK_SIZE >= total_samples. 373 * input/raw_analog: 374 - Fix module reset issue (bug #1167). 375 - Set appropriate precision digits for sample format (bug #950). 376 * input/vcd: 377 - Fixup VCD timestamp to sigrok samplenum mapping (bug #1075). 378 - Abort VCD import when timestamp counts backwards (bug #1250). 379 - Expand the reset() logic (bug #1306). 380 - Add channel list checks for file re-read (bug #1306). 381 * input/csv: 382 - Make the data format option a list. 383 * input/logicport: 384 - Add input module for LogicPort File (*.lpf) files. 385 * input/chronovu_la8: 386 - Only send data to the session, don't send the header. 387 - Also claim responsibility for ChronoVu LA16 files (.kdt/.kd1). 388 * input/null: 389 - Add this new input module (used for testing and benchmarking purposes). 390 * Input modules: 391 - Improve option names and descriptions. 392 - Increase chunk sizes to 4MB in most cases for improved performance. 393 - Add confidence (detection strength) to format_match() (bug #1200). 394 * output/null: 395 - Add this new output module (used for testing and benchmarking purposes). 396 * output/analog: 397 - Display SR_DF_META packets. 398 - Convert binary to digital digits of precision (bug #950). 399 * output/vcd: 400 - Assign adjacent names to enabled channels (bug #519). 401 - Assume packed input data image, unbreak 2nd+ channel (bug #519). 402 * output/wav: 403 - Change default for scale factor from 0.0 to 1.0. 404 * output/csv: 405 - Fix out-of-bounds array access in process_analog() (bug #1124). 406 - Make the label values option a list. 407 - Disable the dedup option by default. 408 * Output modules: 409 - Fixup trigger marker position in ascii/bits/hex output modules. 410 * Fix various compiler warnings, scan-build issues, and memory leaks. 411 * soft-trigger: 412 - Fix a memory allocation issue (bug #1000). 413 - Fix an issue causing triggers to not work. 414 * session_driver: Fix an issue causing incorrect analog data reads. 415 * Logging: 416 - Flush log lines to cope with non-terminal output (pipes). 417 - Move log level check so that it affects all handlers (bug #698). 418 * SCPI: 419 - Fix an issue caused by trailing whitespace handling (bug #788). 420 - Synchronize read, write and write+read operations. 421 * Various DMMs: Set DC flag for diode mode (bug #144). 422 * All drivers: 423 - Use serial_write_blocking() everywhere (bug #962). 424 - Fix locale dependent string to float conversion (bug #1064). 425 - Show firmware name when loading fails (bug #1262). 426 * FreeBSD: 427 - Ensure device is closed before usb_get_port_path() (bug #1109). 428 * Metex DMMs: 429 - Add missing modes and set correct digits values. 430 - Add power factor measurement mode. 431 - Fix incorrect measurement modes. 432 * DTM0660 DMMs: 433 - Do not apply the exponent twice on the value (bug #1236). 434 * libsigrok API: 435 - Add sr_a2l_threshold(). 436 - Add sr_a2l_schmitt_trigger(). 437 - Add sr_sprintf_ascii(). 438 - Add sr_snprintf_ascii(). 439 - Add sr_vsprintf_ascii(). 440 - Add sr_vsnprintf_ascii(). 441 - Add sr_resourcepaths_get() (bug #1128). 442 - Add sr_input_module_get(). 443 - Add sr_log_callback_get(). 444 - Add sr_packet_copy(). 445 - Add sr_packet_free(). 446 - sr_parse_boolstring(): Assume bool is true when no value is specified. 447 - sr_voltage_string(): Add a space before the unit. 448 - sr_parse_rational(): 449 - Bugfix for integral parts between -0 and -1. 450 - Bugfix in an error path (bug #1093). 451 - Various parsing robustness improvements/fixes. 452 - Accept leading whitespace. 453 - Insist on some mantissa. 454 - sr_analog_si_prefix_friendly(): Fix read past end of array (bug #950). 455 - sr_parse_sizestring(): Support tera/peta/exa suffixes (bug #763). 456 * libsigrokcxx API: 457 - Add Analog::get_logic_via_threshold(). 458 - Add Analog::get_logic_via_schmitt_trigger(). 459 - Add Context::input_format_match(). 460 - Add Option::parse_string(). 461 - Add ConfigKey::parse_string(). 462 * backend: Emit firmware search paths in a log message. 463 * Fix a driver-independent firmware loading issue (bug #1140). 464 * modbus: Improve error handling. 465 * Multiple internal refactorings to massively reduce per-driver boilerplate. 466 * Also check $SIGROK_FIRMWARE_DIR for firmware files. 467 * udev rules file: 468 - Add Brymen BU-86X adapter IDs. 469 - Add Rigol DP800 series IDs. 470 - Add usb-c-grok IDs. 471 - Rename file for correct rule ordering on systemd systems (bug #1059). 472 - Split device access policy from the device database. New files: 473 60-libsigrok.rules, 61-libsigrok-{plugdev,uaccess}.rules. 474 * Build system: 475 - Emit a warning if the C++ bindings are not being built. 476 - Install MIME info file in $(datadir)/mime/packages (bug #983). 477 4780.5.0 (2017-06-12) 479------------------ 480 481Note: This release DOES change the libsigrok API. That means it is NOT 482 backwards-compatible and frontends will need updates. 483 484 * New supported hardware: 485 - Logic analyzers: 486 - CWAV USBee ZX (bug #764) 487 - DreamSourceLab DSLogic 488 - DreamSourceLab DSLogic Pro 489 - FTDI LA (simple, limited logic analyzer using FTDI chips directly) 490 - Oscilloscopes: 491 - Hameg HMO3524 492 - Hantek 6022BE 493 - LeCroy X-Stream series 494 - Rigol DS1074Z Plus 495 - Rigol DS1104Z Plus 496 - Rigol MSO2000A series 497 - Rocktech BM102 498 - Rohde&Schwarz HMO 1002 499 - Sainsmart DDS120 500 - Logic analyzers / oscilloscopes (but not MSOs): 501 - Hantek 6022BL 502 - Programmable power supplies: 503 - Agilent N5763A 504 - HP 6633A 505 - Rohde&Schwarz HMC8043 506 - Electronic loads: 507 - Arachnid Labs Re:load Pro 508 - Multimeters: 509 - Agilent U1241C 510 - Agilent U1242C 511 - Fluke 289 512 - HP 3457A 513 - Keysight U1281 514 - Keysight U1282 515 - Metrix MX56C 516 - PeakTech 3330 517 - Sound level meters: 518 - PCE PCE-322A 519 - LCR meters: 520 - PeakTech 2170 521 - Signal generators: 522 - Rohde&Schwarz SME0x series 523 * New build dependencies (libsigrokcxx C++ library): 524 - libsigrok >= 0.5.0 (the libsigrok C library) 525 - A C++ compiler with full C++11 support (g++ >= 4.8.1 or clang++ >= 3.3) 526 * New config keys: 527 - SR_CONF_ADC_POWERLINE_CYCLES 528 - SR_CONF_PROBE_FACTOR 529 - SR_CONF_SIGNAL_GENERATOR 530 - SR_CONF_TRIGGER_LEVEL 531 - SR_CONF_UNDER_VOLTAGE_CONDITION 532 - SR_CONF_UNDER_VOLTAGE_CONDITION_ACTIVE 533 * New measurement quantity keys: 534 - SR_MQ_HARMONIC_RATIO 535 * New measurement quantity flags: 536 - SR_MQFLAG_FOUR_WIRE 537 * agilent-dmm: 538 - Fix handling of AC/DC flags in volts mode. 539 - Add support for AC/DC flags in current mode. 540 - Add support for Keysight branded meters. 541 - Add support for reading secondary display and temperature. 542 - Add support for dBm/dBV modes. 543 - Rework job management to allow for faster and configurable samplerate. 544 - Add support for Log-Hand/-Trig/-Auto/-Export data sources. 545 - Fix handling of the second channel of 2 channels models. 546 - Add support for Vsense (Non-Contact Voltage). 547 * asix-sigma: 548 - Fix RLE decoder. 549 - Disable support for triggers, they don't work right now (bug #359). 550 - Properly decode data gathered at 100 and 200 MHz (bug #840). 551 - Only download firmware when necessary. 552 - Enforce optionally specified sample count (bug #838). 553 - Fixup the download of the last data acquisition chunk (bug #838). 554 - Various other bugfixes and internal code improvements. 555 * demo: 556 - Add "cable squid" logic waveform (works-with logo, many channels). 557 - Add walking one/walking zero pattern. 558 * deree-de5000: 559 - Rename the driver to serial-lcr, allow support for multiple devices. 560 * fx2lafw: 561 - CWAV USBee SX: Add support for one analog channel. 562 - Fix analog scaling. 563 - Fix a -Wself-assign compiler warning (bug #793). 564 - Warn on fail to open plausible devices (bug #867). 565 - Use wide_sampling only if necessary (depends on channel config). 566 * hameg-hmo: 567 - Support triggering on either falling or rising edge (bug #740). 568 - Terminate all commands with a linefeed for all transports (bug #784). 569 - Add PATTern and BUS1/BUS2 trigger sources. 570 - Fix index access for models with 2 pods / 16 digital channels. 571 - Support BE format for SCPI sample downloads. 572 * hantek-6xxx: 573 - Fix some issues by using power-of-two data sizes (bug #821). 574 - Fix AC/DC coupling selection (bug #836). 575 - Only list DC coupling once (bug #822). 576 * lecroy-xstream: 577 - Fix config_list() capabilities listing (bug #913). 578 * openbench-logic-sniffer: 579 - Fix acquisition restart with trigger enabled (bug #809). 580 * rigol-ds: 581 - Add support for getting/setting the trigger level. 582 - Properly report which channel is enabled. 583 - Add probe factor support. 584 - Send *OPC? after commands that don't return a value (bug #933). 585 * saleae-logic16: 586 - Add 20MHz and 50MHz to samplerate preset list (bug #799). 587 * uni-t-ut32x: 588 - Accept SR_CONF_CONN to fix the device scan. 589 * ut71x: 590 - Fix float printing issue in a debug message (bug #700). 591 - Fix incorrect resistance values on some DMMs. 592 * session: 593 - Fix memory allocation issue in sr_packet_copy(). 594 - Increase chunk size for slightly better performance. 595 - Fix a segfault when input files were read multiple times. 596 - Fix missing data when input files were read multiple times (bug #944). 597 * analog: 598 - Improve output readability by using SI prefix. 599 * scpi: 600 - Fix remote locking according to USBTMC spec (bug #783). 601 - Various internal improvements to better handle corner cases. 602 * scpi/vxi: 603 - Fix incomplete reads (bug #790). 604 * input/vcd: 605 - Skip BOM at beginning of file (bug #755). 606 * input/trace32_ad: 607 - Make the sample rate an option. 608 * output/srzip: 609 - Add support for storing analog channels. 610 * output/analog: 611 - Drop obsolete and duplicate functions (bug #636). 612 - Fix incorrect displaying of the values for certain digits settings. 613 * output/csv: 614 - Fix a segfault when using non-hardware input. 615 - Fix a segfault due to a g_malloc() allocating too few bytes. 616 - Add an option to output units for column labels. 617 - Fix segfaults related to incorrect indices and unitsizes (bug #844). 618 - Fix a false negative after successful import causing frontend issues. 619 - Skip leading UTF-8 BOM in the input stream (bug #756). 620 - Correctly skip over last processed end-of-line sequence and accept 621 absence of last end-of-line termination sequence (bug #635). 622 - Send larger datafeed chunks, to speed up import. 623 * output/ascii: 624 - Add support for user configurable character set. 625 * output/gnuplot: 626 - Remove, obsoleted by the improved CSV module. 627 * bindings: 628 - Link C++ code with gnustl_shared if it exists (Android). 629 - Flesh out the analog payload bindings. 630 * bindings/cxx: 631 - Fixup memory leak in input module receive() calls (bug #976). 632 - Fix various -Wundefined-var-template clang warnings (bug #915). 633 * bindings/ruby: 634 - Fix out-of-tree build (bug #797). 635 - Fix distribution of Ruby bindings (bug #741). 636 - Fix Ruby bindings build on Mac OS X and FreeBSD (bug #800). 637 - Fix the build with BSD Make (bug #801). 638 - Make the Ruby bindings build with Ruby 2.0 again. 639 * bindings/java: 640 - Use correct JNI function when calling Vector.add. 641 * Build system: 642 - Use latest AX_CXX_COMPILE_STDCXX (bug #795). 643 - Fix linker issues related to --whole-archive (bug #802). 644 - Don't access the sr_driver_list with no driver compiled (bug #820). 645 - Fix a build issue related to C++ compiler flags (bug #865). 646 - configure summary: Show whether shared/static build is enabled. 647 - configure summary: Show linker flags. 648 - uninstall: Remove empty include directories (bug #861). 649 * udev rules file: 650 - Add TAG+="uaccess" for systemd, keep plugdev group as well (bug #665). 651 - Use 660 permissions (bug #665). 652 - Add various new USB VID/PID pairs for newly-supported hardware. 653 * Add a MIME info file (and icons) for sigrok session files (bug #857). 654 * Various internal refactorings and improvements. 655 - Add sr_sw_limits_*() helper functions for software limits. 656 - Add and use the standard cleanup helper std_cleanup(). 657 - Add std_scan_complete() helper function for scan completion. 658 * All drivers were converted to use the new SR_DF_ANALOG format, support 659 for SR_DF_ANALOG_OLD has been dropped (bug #728). 660 * Many drivers now report the correct number of digits in analog packets. 661 * resource: Improve logging output (bug #806). 662 * Fix an issue with analog packets with digits=0 (bug #815). 663 * Fix a crash when scanning for devices with no options provided (bug #786). 664 * Fix a segfault with input/ouput modules (bug #813). 665 * Fix various compiler warnings. 666 * Fix various memory leaks. 667 * Remove FSF postal address from boiler plate license text. 668 * Various Doxygen fixes and improvements. 669 * README.devices: Update firmware related (and other) information. 670 * HACKING: Update URL to Linux kernel coding style. 671 6720.4.0 (2016-01-29) 673------------------ 674 675Note: This release DOES change the libsigrok API. That means it is NOT 676 backwards-compatible and frontends will need updates. 677 678 * New supported hardware: 679 - Logic analyzers: 680 - AKIP-9101 681 - BeagleLogic 682 - LeCroy LogicStudio 683 - mcupro Logic16 clone 684 - Pipistrello OLS 685 - Sysclk LWLA1016 686 - Oscilloscopes: 687 - Rigol/Agilent DS1000Z series 688 - Yokogawa DLM2000 series 689 - Yokogawa DL9000 series 690 - Hung-Chang DSO-2100 691 - GW Instek GDS-800 692 - Multimeters: 693 - Agilent U1241A/B 694 - Agilent U1242A/B 695 - Brymen BM25x series 696 - MASTECH MS8250B 697 - Metrahit 16T/16U/KMM2002 698 - PeakTech 3415 699 - Tenma 72-7730 700 - Tenma 72-7732 701 - Tenma 72-9380A 702 - Testo 435-4 703 - UNI-T UT372 704 - UNI-T UT71x series (UT71A/B/C/D/E) 705 - Velleman DVM4100 706 - Voltcraft VC-870 707 - Voltcraft VC-920 708 - Voltcraft VC-940 709 - Voltcraft VC-960 710 - Programmable power supplies: 711 - Fluke/Philips PM2800 series 712 - HP 663xx series 713 - Manson HCS-3xxx series 714 - Motech LPS-30x series 715 - Rigol DP800 series 716 - Korad KAxxxxP series (a.k.a Velleman LABPS3005D and others) 717 - AC/DC sources: 718 - Agilent N5700A series (DC sources) 719 - Chroma 61600 series (AC sources) 720 - Chroma 62000 series (DC sources) 721 - Electronic loads: 722 - Maynuo M97 (and compatibles) 723 - LCR meters: 724 - DER EE DE-5000 725 - Scales: 726 - KERN EW 6200-2NM 727 - BeagleBone Black capes: 728 - BayLibre ACME (revA and revB) 729 * New input modules: 730 - raw_analog: Raw analog signals in various formats 731 - trace32_ad: Lauterbach Trace32 logic analyzer data 732 * New output modules: 733 - wav: Waveform audio file format 734 - srzip: Native ZIP-based sigrok file format 735 * Add libsigrok language bindings based on SWIG + doxygen: 736 - C++ language bindings 737 - Python language bindings 738 - Ruby language bindings 739 - Java language bindings 740 * Add a Modbus framework in order to be able to support Modbus based devices. 741 - Add a Modbus RTU backend. 742 * Add a new, more flexible trigger framework. 743 * Add a generic software-trigger framework usable by any driver, currently 744 used by fx2lafw and saleae-logic16. 745 * Add a (Linux-only) GPIB SCPI backend using linux-gpib and libgpib. 746 * Add a generic scpi-pps driver which supports various power supplies. 747 * Add an experimental framework for "transforms" which can perform operations 748 on libsigrok session packets. This will be changed and improved upon in 749 later releases. Currently implemented tranforms: 750 - nop: Do nothing, pass on packets unmodified. 751 - scale: Scale all analog values by a specified factor. 752 - invert: Invert all the data values. 753 - An analog value of x becomes 1/x. 754 - A digital value of 0 becomes 1 (and vice versa). 755 * input: 756 - Introduce a new input module API. 757 - Rename "input format" to "input module" everywhere. 758 - Add a preferred file extension field (bug #541). 759 * output: 760 - Fix output option enumeration. 761 - Fix a double-free issue. 762 - Add a preferred file extension field (bug #541). 763 * input/csv: 764 - Avoid a segfault related to the obsolete mimetype format match (bug #681). 765 * input/vcd: 766 - Chunk up samples in 1MB blocks for better performance (bug #551). 767 - Allow optional index items (bug #322). 768 - Add support for 1 bit vectors (bug #723). 769 * input/wav: 770 - Fix an offset calculation error. 771 - Properly initialize the channel list early enough (bug #387). 772 * output/analog: 773 - Fix channel deinterleaving. 774 * output/csv: 775 - Match format based on .csv extention in the filename. 776 - Add support for analog data/packets. 777 * New or updated build dependencies: 778 - New build dependencies (libsigrok C library): 779 - libgpib (optional) 780 - libieee1284 (optional) 781 - Updated build dependencies (libsigrok C library): 782 - libserialport >= 0.1.1 (optional) 783 - librevisa >= 0.0.20130412 (optional) 784 - libftdi >= 0.16 or libftdi1 >= 1.0 (optional) 785 - New build dependencies (libsigrokcxx C++ library): 786 - libsigrok >= 0.4.0 (the libsigrok C library, see above) 787 - A C++ compiler with C++11 support (g++ >= 4.7 or clang++ >= 3.1) 788 - doxygen (required for building the C++ library!) 789 - graphviz (optional, only needed for C++ API docs) 790 - Python (2 or 3) executable (development files are not needed) 791 - glibmm-2.4 (>= 2.32.0) 792 - New build dependencies (libsigrok Python bindings): 793 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above) 794 - Python >= 2.7 or Python >= 3 (including development files!) 795 - Python setuptools (for Python 2 or 3) 796 - pygobject >= 3.0.0 (for Python 2 or 3), a.k.a python-gi 797 - numpy (for Python 2 or 3) 798 - SWIG >= 2.0.0 799 - doxygen (optional, only needed for the Python API docs) 800 - graphviz (optional, only needed for the Python API docs) 801 - doxypy (optional, only needed for the Python API docs) 802 - New build dependencies (libsigrok Ruby bindings): 803 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above) 804 - Ruby >= 1.9.3 (including development files!) 805 - SWIG >= 3.0.8 806 - YARD (optional, only needed for the Ruby API docs) 807 - New build dependencies (libsigrok Java bindings): 808 - libsigrokcxx >= 0.4.0 (the libsigrok C++ bindings, see above) 809 - SWIG >= 2.0.0 810 - Java JDK (for JNI includes and the javac/jar binaries) 811 - doxygen (optional, only needed for the Java API docs) 812 - graphviz (optional, only needed for the Java API docs) 813 * Build system: 814 - Modernize the whole autotools setup. 815 - Add --with-libserialport, --with-libftdi, --with-libusb, 816 --with-librevisa, --with-libgpib, --with-libieee1284. 817 - Add --enable-bindings, --enable-cxx, --enable-python, --enable-ruby, 818 and --enable-java. 819 - Support both libftdi >= 0.16 and libftdi1 >= 1.0. 820 - configure: Show SCPI backends that'll be compiled. 821 - Unconditionally build src/lcr/es51919.c (bug #545). 822 - Compile with -std=c99 and _POSIX_C_SOURCE=200112L by default. 823 - Only link the 'check' library against the unit tests. 824 - Fix various out-of-tree build issues (e.g. bug #473). 825 - Don't set CFLAGS, LDFLAGS, etc. in configure.ac or Makefile.am (bug #578). 826 - Check for the numpy Python module (bug #533). 827 - Check for zip_discard(), provide alternative if not available (bug #674). 828 * Portability: 829 - Android: Add fallbacks for missing stoi()/stod(). 830 - FreeBSD: Fix a libusb related compiler error. 831 - FreeBSD: Fix an issue with libusb_get_port_numbers(). 832 - FreeBSD: Fix an issue with BSD Make (bug #556). 833 - FreeBSD: Fix an issue with SWIG detection (bug #557). 834 - FreeBSD: Fix a build issue related to isascii() (bug #649). 835 - Mac OS X: Fix 'sed' invocation in autogen.sh (bug #516). 836 - Mac OS X: Fix a usb_get_port_path() related issue (bug #673). 837 - Windows: Fix some thread-related issues causing hangs (bugs #343, #328). 838 - Windows: Fix a USB/thread related issue (bug #343). 839 - Windows: Fix shared (non-static) build. 840 - Windows: Fix various warnings related to a missing LIBUSB_CALL item. 841 - Windows: Add a missing WSAStartup() call to fix scpi/tcp (bug #692). 842 - Fix an issue with non-GNU Make (bug #628). 843 - Avoid std::map::emplace() for GCC 4.7 compatibility (bug #720). 844 - Avoid g_close() to not unnecessarily require glib >= 2.36 (bug #724). 845 * Language bindings: 846 - Support new output API. 847 - Add Doxygen docs for all language bindings. 848 - C++: Fix a C++ bindings linking issue (bug #534). 849 - Python: Fix mapping of vector & map attributes to Python types (bug #382). 850 - Python: Implement equality checks for EnumValue derived classes (bug #443). 851 - Python: Handle import failures without crashing. 852 - Python: Fix an installation issue (bug #644). 853 - Python: Prevent a numpy deprecation warning (bug #417). 854 - Python: Fix a ConfigKey.parse_string() crash (bug #483). 855 - Python: Fix the build for Python 3 (bug #645). 856 - Python: Fix some string conversion issues for Python 3 (bug #478). 857 - Python: Fix a SWIG related memory leak (bug #479). 858 - Python: Make device.config_keys() act like a Python dict (bug #480). 859 - Python: Provide sensible __str__() and __repr__() for enums (bug #688). 860 - Java: Install files into DESTDIR (bug #537). 861 - Java: Fix some SWIG warnings due to %extend redefinitions (bug #417). 862 - Java: Fix an issue related to C/C++ style casts (bug #688). 863 - Java: Fix a reference leak (bug #690). 864 - Session::set_trigger(): Fix segfault conditions (bugs #491, #496). 865 * Various API changes, additions and removals (see API docs for details). 866 * Add various new config keys, config info types, measurement quantity keys, 867 measurement quantity flags, units, device instance types, and error codes. 868 * udev rules file: Add entries for newly supported hardware. 869 * Add/use a new resource access API, defaults to XDG data dirs. 870 * Switch to a new SR_DF_ANALOG format (bug #640). 871 * All drivers: 872 - Publish config key capabilities. 873 - Gather connection info and serial number, if any. 874 - Cleanups of serial port based drivers wrt (non-)blocking reads/writes. 875 * Various drivers: 876 - Use physical USB connection instead of sdi->index. 877 - Fix blocking serial write timeout (bugs #436, #437, #433, #428, #427, 878 #430, #432, #434, #438). 879 * agilent-dmm: 880 - Fix value parser to consider 0.0 to be a valid result. 881 - Correctly parse negative overload. 882 - Add RMS flag to AC voltage modes. 883 - Add provisional support for the U124xx. 884 - U124xx/U125xx: Support 5 more modes (resistance, capacitance, frequency, 885 continuity, and temperature). 886 - Add current loop sensor support. 887 - Fix frequency support. 888 * beaglelogic: 889 - Add SR_CONF_CAPTURE_RATIO support. 890 * brymen-bm86x: 891 - Add current loop sensor support. 892 * chronovu-la: 893 - Properly handle multiple ChronoVu devices being attached (bug #504). 894 * colead-slm: 895 - Properly check acquisition sample limit. 896 * demo: 897 - Add support for continuous acquisition. 898 - Fix a memory leak related to channel groups. 899 - Support changing the amplitude of analog channels. 900 - Adds a new channel group "Analog", which has all analog channels in it. 901 - Attach analog generator to channel, not channel group. 902 - Provide a separate property list for the analog group (bug #505). 903 - Fix an issue by always honoring sample limit changes (bug #314). 904 - Fix square pattern output being shorter than other patterns. 905 - Fix analog output at low samplerates. 906 - Fix SR_CONF_DEVICE_OPTIONS variant type. 907 - Fix an infinite loop when 0 channels of one type were used. 908 * fx2lafw: 909 - Fix continuous mode usage with output modules (bug #380). 910 - Check for a valid samplerate before trying to set it (bug #386). 911 - Fix wide (16bit) sampling case (bug #373). 912 - Add SR_CONF_CAPTURE_RATIO support. 913 - Set up the transfer first, then start the acquisition (bug #574). 914 - Avoid the need to run "rmmod usbtest" on Linux for devices 915 with the standard Cypress FX2 USB VID/PID of 04b4:8613 (bug #445). 916 - Add support for the official fx2lafw sigrok VID/PID pairs and firmware 917 (this requires sigrok-firmware-fx2lafw >= 0.1.3): 918 - 1D50:608C: fx2lafw-sigrok-fx2-8ch.fw 919 - 1D50:608D: fx2lafw-sigrok-fx2-16ch.fw 920 * gmc-mh-1x-2x: 921 - Add support for the Metrahit Metrahit 16T, 16U, and KMM2002. 922 - Complete energy measurement ranges (V, A, W) for Metrahit 29S. 923 * hameg-hmo: 924 - Implement SR_CONF_SCAN_OPTIONS. 925 - Make sure the enabled_channels list is empty before populating it. 926 - Fix reading of analog data from an HMO1024 (Firmware 04.527). 927 - Fix a double-free issue. 928 - Fix a floating point comparison issue (bug #731). 929 * hantek-dso: 930 - Properly zero out MQ flags. 931 - Fix driver/global/channel group config keys. 932 * ikalogic-scanalogic2: 933 - Fix a segfault condition (bug #440). 934 * ikalogic-scanaplus: 935 - Fix a memory leak and a memory allocation issue. 936 * kecheng-kc-330b: 937 - Fix missing time/frequency weighting. 938 * lascar-el-usb: 939 - Fix issues caused by copy-paste errors. 940 * ols: 941 - Fix a serial port related issue on FreeBSD (bug #414). 942 - Fix detection and acquisition on Windows (bug #562). 943 - Fix an event source related acquisition issue (bug #678). 944 - Fix a portability issue due to direct use of FDs (bug #205). 945 * rigol-ds: 946 - Fix duplicated vendor string for Agilent devices. 947 - Replace magic numbers by appropriate constant or variable (bug #406). 948 - Handle POSITIVE/NEGATIVE (instead of POS/NEG) correctly (bug #558). 949 - Add missing 20/50/100V vdiv entries. 950 - Fix an issue related to the search for the closest vdiv. 951 - Return the actual hardware num_vdiv and vdiv list. 952 - Fix the smallest supported vdiv for the DS2000 series. 953 - Fix a double-free issue. 954 - SR_CONF_DATA_SOURCE is a device option, not per channel group. 955 * saleae-logic16: 956 - Recognize the FPGA FIFO overflow status. 957 - Downgrade error during capture to a message (bug #466). 958 - Add SR_CONF_CAPTURE_RATIO support. 959 - Support new bitstream version 1.3 with renumbered registers. 960 - Publish samplerates according to selected channels (bug #646). 961 * serial-dmm: 962 - Fix RadioShack 22-812 DMM incorrect readings (bug #657). 963 - Implement request timeout feature (bug #345). 964 * sysclk-lwla: 965 - Do not create channels in reverse order. 966 - Fix an issue related to sdi->connection_id (bug #441). 967 - Various robustness improvements. 968 - Fix a compile issue (bug #714). 969 - Work around some vendor FX2 firmware issues. 970 * zeroplus-logic-cube: 971 - Fix an issue when trying to trigger on a channel being 0/low. 972 * README: Drop obsolete sigrok-commits mailing list. 973 * Fix a Doxyfile issue which caused build failures e.g. on buildroot. 974 * Fix a USB timeout related sr_session_iteration() issue (bug #571). 975 * Fix various gcc/clang compiler errors/warnings (e.g. bugs #637, #721). 976 * Fix an issue related to multiple sr_init()/sr_exit() calls (bug #565). 977 * Fix an issue with transform packet passing (bug #631). 978 * Rename sr_dev_driver.priv to .context (bug #442). 979 * serial: Re-implement sr_serial_find_usb() using new libserialport APIs. 980 * Unit tests: Add some checks for session handling. 981 * scpi and scpi/usbtmc: 982 - Accept *IDN responses with more than 4 tokens (some devices need this). 983 - Fix incomplete data issue for e.g. Hameg HMO1024. 984 - Support the RL1 feature. 985 - Implement Rigol DS1000 workaround on any firmware version (bug #354). 986 * Various session related changes and improvements. 987 * The code now uses the Glib main loop as backend. 988 * Logging: Add a timestamp (at DBG/SPEW loglevel) to all log messages. 989 * Fix a trigger related segfault (bug #550). 990 * Don't check the libusb_get_device_descriptor() return code (bug #658). 991 * Fix various memory leaks in the code (e.g. bugs #629, #630, #632). 992 * session_file: Enable only probes listed in metadata (bugs #410, #495). 993 9940.3.0 (2014-05-06) 995------------------ 996 997Note: This release DOES change the libsigrok API. That means it is NOT 998 backwards-compatible and frontends will need updates. 999 1000 * New supported hardware: 1001 - Logic analyzers: 1002 - ChronoVu LA16 1003 - Sysclk LWLA1034 1004 - Oscilloscopes: 1005 - Agilent DSO1000 series (various models) 1006 - Hameg HMO compact series (various models) 1007 - Rigol DS2000 series (various models) 1008 - Rigol VS5000 series (various models) 1009 - Multimeters: 1010 - BBC Goerz Metrawatt M2110 1011 - Brymen BM869 1012 - Fluke 189 1013 - Gossen Metrawatt MetraHIT 1x/2x series (various models) 1014 - Tenma 72-7745 (rebadged UNI-T UT60E) 1015 - Tenma 72-7750 (rebadged UNI-T UT60G) 1016 - UNI-T UT60G 1017 - UNI-T UT61B 1018 - UNI-T UT61C 1019 - V&A VA40B 1020 - Voltcraft M-3650CR 1021 - Voltcraft ME-42 1022 - Thermometers: 1023 - APPA 55II 1024 - Programmable power supplies: 1025 - Atten PPS3000 series (various models, tested on PPS3203T-3S). 1026 - Conrad DIGI 35 CPU 1027 * Add support for channel groups. 1028 * Add generic SCPI backend code which can be used via various transports: 1029 - Serial ports 1030 - USBTMC 1031 - TCP/RAW 1032 - TCP/Rigol (Rigol-VS5000 series specific) 1033 - VXI 1034 - librevisa 1035 * udev rules file: Add entries for newly supported hardware. 1036 * New config keys: 1037 - SR_CONF_DEMODULATOR 1038 - SR_CONF_CENTER_FREQUENCY 1039 - SR_CONF_NUM_LOGIC_CHANNELS 1040 - SR_CONF_NUM_ANALOG_CHANNELS 1041 - SR_CONF_CLOCK_EDGE 1042 - SR_CONF_POWER_SUPPLY 1043 - SR_CONF_OUTPUT_VOLTAGE 1044 - SR_CONF_OUTPUT_VOLTAGE_MAX 1045 - SR_CONF_OUTPUT_CURRENT 1046 - SR_CONF_OUTPUT_CURRENT_MAX 1047 - SR_CONF_OUTPUT_ENABLED 1048 - SR_CONF_OUTPUT_CHANNEL 1049 - SR_CONF_OVER_VOLTAGE_PROTECTION 1050 - SR_CONF_OVER_CURRENT_PROTECTION 1051 - SR_CONF_DEVICE_MODE 1052 - SR_CONF_TEST_MODE 1053 * New config info types: 1054 - SR_T_INT32 1055 * New measurement quantity keys: 1056 - SR_MQ_TIME 1057 * New measurement quantity flags: 1058 - SR_MQFLAG_DURATION 1059 - SR_MQFLAG_AVG 1060 * New device instance types: 1061 - SR_INST_SCPI 1062 * New error codes: 1063 - SR_ERR_CHANNEL_GROUP 1064 ∗ The SR_T_CHAR config type has been renamed to SR_T_STRING. 1065 * New build dependencies: 1066 - libserialport >= 0.1.0 (optional). 1067 - All drivers that talk to serial ports now require libserialport. 1068 - If libserialport is not found, those drivers will not be built. 1069 - librevisa >= 0.0.20130812 (optional, only used by some drivers). 1070 * Dropped build dependencies: 1071 - libasound2 is no longer required (only the removed alsa driver used it). 1072 - libudev is no longer required (only the removed link-mso19 driver used it). 1073 * Serial port handling code: 1074 - Add support for 5/6 data bits and non-standard baud rates. 1075 - Fix an issue related to nonblocking reads (bug #188). 1076 - Fix an 'invalid arguments' condition causing problems (bug #192). 1077 * alsa: This driver was removed (also fixes bugs #28, #61, #96, #114). 1078 * asix-sigma: 1079 - Publish SR_CONF_CAPTURE_RATIO correctly (bugs #287, #291). 1080 - Don't set invalid config options (bug #86). 1081 - Various other bugfixes. 1082 * cem-dt-885x: Fix a code portability issue (bug #267). 1083 * chronovu-la: 1084 - Rename the 'chronovu-la8' driver to 'chronovu-la'. 1085 - Add support for the ChronoVu LA16. 1086 - Fix a segfault when doing multiple acquisitions on an LA8 (bug #247). 1087 - Document that streaming is not possible for LA8/LA16 (bug #261). 1088 * demo: 1089 - Add support for analog channels (bug #11). 1090 - Make the number of channels user-configurable. 1091 - Add per-channel-group options. 1092 - Implement analog sample patterns: sine, triangle, sawtooth. 1093 - Fix a samplerate related issue with rates >= 50kHz (bugs #294, #295). 1094 - Fix an issue causing data glitches every 40ms (bug #297). 1095 - Fix an issue related to channel group handling (bug #262). 1096 * digitek-dt4000zc: Fix driver on NetBSD due to missing DTR=1 (bug #189). 1097 * fx2lafw: 1098 - Fix incorrect unitsize when a trigger fires (bug #182). 1099 - Implement config_get() for SR_CONF_LIMIT_SAMPLES. 1100 - Don't send more samples than requested to the session bus. 1101 * gmc-mh-1x-2x: 1102 - Add new (sub)driver 'gmc-mh-2x-bd232'. 1103 - Add support for the SI232-II interface. 1104 * hameg-hmo: 1105 - Fix a build issue on Mac OS X (bug #216). 1106 - Various fixes related to frame limit, samplerate, options, etc. 1107 * link-mso19: Drop unfinished driver for now (until it starts working). 1108 * openbench-logic-sniffer: 1109 - Fix a serial port related issue/hang, seen on (e.g.) NetBSD. 1110 - Fix an SR_CONF_PATTERN_MODE related problem (bugs #184, #190). 1111 - Fix a serial (non)blocking mode issue (bug #231). 1112 - Temporarily disable the driver on Windows (needs portability fixes). 1113 - Fix an endianness issue in the protocol handling (bug #135). 1114 - Fix a sampling issue when (samples % 4) != 0 (bug #200). 1115 - Fix an issue occurring when all channels were disabled (bugs #316, #347). 1116 - Add an option to turn test patterns off again (bug #293). 1117 * rigol-ds: 1118 - Rename the 'rigol-ds1xx2' driver to 'rigol-ds'. 1119 - Add support for more models and unify the driver code (bug #212). 1120 - Add support for RS232 connectivity (previously only USBTMC worked). 1121 - Enable the driver on non-Linux platforms since all transports the driver 1122 uses are provided by cross-platform code/libs now (e.g. serial, USBTMC). 1123 - Add support for 4 channels (required by some models). 1124 - Add support for channel groups. 1125 - Advertise SR_CONF_LIMIT_FRAMES support. 1126 - Fix an issue with SR_DF_END sending. 1127 - Enable/disable LA pod when (de)selecting digital channels. 1128 - Disable key lock when closing device. 1129 - Work around issues due to DS1000 specific protocol changes (bug #283). 1130 - Fix incorrect digital channel numbers on some models (bug #269). 1131 - Fix an issue with partial data reads (bugs #220, #209, #207). 1132 * saleae-logic16: 1133 - Fix an issue related to USB device claiming (bug #159). 1134 - Don't send more samples than requested to the session bus (bug #350). 1135 - Use unitsize 1 (not 2) if none of channels 8-15 are used. 1136 * serial-dmm: Fix some parse issues by increasing a timeout. 1137 * sysclk-lwla: Fix a sampling issue related to a glib API call (bug #270). 1138 * uni-t-ut32x: Fix typo which prevented usage with multiple devices. 1139 * victor-dmm: Fix MIN/MAX always being reported (bug #228). 1140 * zeroplus-logic-cube: 1141 - Add support for 32-channel models and additional memory sizes. 1142 - Fix a frontend issue due to missing SR_CONF_CAPTURE_RATIO. 1143 - Fix an issue causing pre-trigger garbage data to be sent (bug #222). 1144 - Add initial voltage threshold support. 1145 * Various drivers: 1146 - Expose missing SR_CONF_TRIGGER_TYPE. 1147 - Report max. possible number of samples (bugs #197, #258, #263). 1148 * Output modules: 1149 - Skip analog channels in logic-only output formats. 1150 - Remove the obsolete output module API, add wrapper calls for the new one. 1151 - Stop using the obsolete output API (bugs #288, #47, #48). 1152 - Properly receive and handle samplerate metadata (bug #46). 1153 * input/vcd: Abort with an error upon > 64 channels (bug #194). 1154 * output/vcd: 1155 - Fix output for more than 8 channels. 1156 - Output timestamp only once per change. 1157 - Minor whitespace changes of output files to make them more readable. 1158 - Remove bogus $dumpvars and $dumpoff commands. 1159 - Various bugfixes and portability fixes. 1160 * output/csv: 1161 - Remove a 64-channel limit (bug #193). 1162 - Fix an issue resulting in incorrect trailing commas (bug #230). 1163 - Fix an issue where all timestamps would be zero (bug #35). 1164 * Rename 'probe' to 'channel' in all places, since libsigrok supports a lot 1165 of gear where 'channel' fits better (bug #259). 1166 * Change TRIGGER_SLOPE from SR_T_UINT64 to SR_T_STRING. 1167 * Windows support improvements: 1168 - Use libserialport (+other backend code) to fix serial devices (bug #91). 1169 - Add serial source addition/removal backend code (bug #206). 1170 - Add backend code for properly supporting USB based devices. 1171 * Fix various memory leaks in the backend code. 1172 * Fix some incorrect parsing of floating point numbers in the strutil code. 1173 * Fix various endianness issues in backend code and drivers (bug #266). 1174 * Fix a few issues related to incorrect parsing with non-ANSI-C locales 1175 (bugs #271, #272, #273, #274). 1176 * Fix an issue related to data being sent to the libsigrok session which 1177 was not a multiple of the unit/sample size (bugs, #289, #290). 1178 * Drop the es51922 DMM parser (replaced by the generic es519xx parser). 1179 * libsigrok session files: 1180 - The libsigrok session file format (for *.sr files) has changed, and the 1181 file format 'version' field is bumped to 2. Older libsigrok versions will 1182 not be able to handle version 2 files, but new libsigrok versions can 1183 handle both version 1 and version 2 files. New libsigrok versions will 1184 always write/output version 2 files. 1185 - Fix an issue resulting in left-over temporary files (bug #276). 1186 - Fix an issue with analog probes (unsupported) in *.sr files (bug #277). 1187 - Fix an issue with missing samplerate from session files (bug #275). 1188 * Improved API documentation. 1189 * Major API changes (overview): 1190 - Change various function/macro names related to the probe->channel rename. 1191 - Change various functions due to the new channel group feature. 1192 - All enums in the public API now have names (e.g. 'enum sr_mqflag'). 1193 - The lib no longer defines names with _t suffix (POSIX reserved). 1194 - New API calls: 1195 - sr_session_dev_list() 1196 - sr_session_save_init() 1197 - sr_session_append() 1198 - sr_config_commit() 1199 - sr_output_new() 1200 - sr_output_send() 1201 - sr_output_free() 1202 - Obsoleted and removed API calls: 1203 - sr_filter_channels() 1204 - 'struct sr_session' is now opaque (contents shouldn't be used directly). 1205 - Please see the Doxygen API documentation for further details. 1206 * Build system: 1207 - Switch to a non-recursive automake setup (fewer files, faster builds). 1208 - configure: Clearly mark required and optional libs. 1209 12100.2.2 (2013-11-04) 1211------------------ 1212 1213Note: This release does NOT change the libsigrok API. While new config keys, 1214 config info types, and unit codes have been added (additional enum 1215 entries / numbers), no existing interfaces were added/changed/removed. 1216 Frontends should continue to work fine without recompiling or relinking. 1217 1218 * New supported hardware: 1219 - Logic analyzers: 1220 - Saleae Logic16 1221 - Thermometers: 1222 - Center 309 1223 - UNI-T UT325 1224 - Voltcraft K204 1225 - Multimeters: 1226 - ISOTECH IDM103N 1227 - Metex M-4650CR 1228 - Norma DM950 1229 - Voltcraft M-4650CR 1230 - Energy meters: 1231 - EDF Teleinfo 1232 * New config keys: 1233 - SR_CONF_VOLTAGE_THRESHOLD 1234 - SR_CONF_EXTERNAL_CLOCK 1235 - SR_CONF_SWAP 1236 - SR_CONF_ENERGYMETER 1237 * New config info types: 1238 - SR_T_DOUBLE_RANGE 1239 * New units: 1240 - SR_UNIT_REVOLUTIONS_PER_MINUTE 1241 - SR_UNIT_VOLT_AMPERE 1242 - SR_UNIT_WATT 1243 - SR_UNIT_WATT_HOUR 1244 * New input modules: 1245 - csv (comma-separated values) 1246 * Bump required libzip version to >= 0.10. 1247 * uni-t-dmm: This driver now requires the specification of the USB VID/PID 1248 of the cable that is used. Example for sigrok-cli: 1249 - Old: sigrok-cli --driver voltcraft-vc820 ... 1250 - New: sigrok-cli --driver voltcraft-vc820:conn=1a86.e008 ... 1251 * openbench-logic-sniffer: 1252 - Initial test pattern support (SR_CONF_PATTERN_MODE). 1253 - Initial external clock support (SR_CONF_EXTERNAL_CLOCK). 1254 - Initial channel swap support (SR_CONF_SWAP). 1255 - Various minor fixes and improvements. 1256 * When a frontend adds a device instance to a running session, start 1257 acquisition on it. This helps with the collectd use-case where devices 1258 can be removed and added dynamically while a session is running. 1259 * rigol-ds1xx2: Support newer Linux kernels with USBTMC in /sys/class/usbmisc. 1260 * rigol-ds1xx2: Also detect the Rigol DS1152E/DS1152D. 1261 * agilent-dmm: Fix a segfault happening in certain cases. 1262 * output/analog: Support all currently known MQFLAGs. 1263 * Fix a minor compile issue due to an incorrect #include. 1264 * Fix two compile issues on FreeBSD (bug #185). 1265 * es519xx: New generic parser for various Cyrustek DMM ICs. 1266 * es51922/fs9721/fs9922/metex14: Use diode MQFLAG (bug #141). 1267 * voltcraft-vc830: Fix diode mode handling (bug #142). 1268 * Add the missing HACKING file to the tarball. 1269 * README.devices: Updates/notes for newly added devices. 1270 12710.2.1 (2013-08-07) 1272------------------ 1273 1274Note: This release does NOT change the libsigrok API. While new config keys, 1275 config info types, and error codes have been added (additional enum 1276 entries / numbers), no existing interfaces were added/changed/removed. 1277 Frontends should continue to work fine without recompiling or relinking. 1278 1279 * New supported hardware: 1280 - Logic analyzers: 1281 - IKALOGIC Scanalogic-2 1282 - IKALOGIC ScanaPLUS 1283 - Sound level meters: 1284 - CEM DT-8852 1285 - Kecheng KC-330B 1286 - Multimeters: 1287 - UNI-T UT60A 1288 - UNI-T UT60E 1289 - Voltcraft M-3650D 1290 - Voltcraft VC-830 1291 * Drop the Tecpel DMM-8060 (doesn't have PC connectivity). 1292 * New config keys: 1293 - SR_CONF_SPL_WEIGHT_FREQ 1294 - SR_CONF_SPL_WEIGHT_TIME 1295 - SR_CONF_SPL_MEASUREMENT_RANGE 1296 - SR_CONF_HOLD_MIN 1297 - SR_CONF_HOLD_MAX 1298 - SR_CONF_POWER_OFF 1299 - SR_CONF_DATA_SOURCE 1300 * New config info types: 1301 - SR_T_UINT64_RANGE 1302 * New error codes: 1303 - SR_ERR_TIMEOUT 1304 * Always link against libm, the math library (bug #115). 1305 * Fix a bug in sr_si_string_u64() at al (bug #73). 1306 * output/csv: Fix incorrect probe order. 1307 * alsa: Fix a double-free issue (bug #129). 1308 * zeroplus-logic-cube: Fix a bug in the driver cleanup code. 1309 * ikalogic-scanalogic2: Use GET_REPORT (bug #130). 1310 * uni-t-dmm: Fix a bug breaking the UNI-T UT61E (bug #136). 1311 * Various internal consistency fixes and code cleanups. 1312 * Improved Doxygen documentation. 1313 * Fixed various memory leaks. 1314 13150.2.0 (2013-05-04) 1316------------------ 1317 1318Note: This release DOES change the libsigrok API. That means it is NOT 1319 backwards-compatible and frontends will need updates. 1320 1321 * Support for analog sources (oscilloscopes, DMMs, data loggers) was added. 1322 * New supported hardware: 1323 - Logic analyzers: 1324 - CWAV USBee DX 1325 - ZEROPLUS LAP-16128U 1326 - Oscilloscopes: 1327 - Hantek DSO-2090 (USB scope) 1328 - Rigol DS1052D 1329 - Rigol DS1052E 1330 - Rigol DS1102D 1331 - Rigol DS1102E 1332 - Multimeters: 1333 - Agilent U1231A 1334 - Agilent U1232A 1335 - Agilent U1233A 1336 - Brymen BM857 1337 - Digitek DT4000ZC 1338 - Fluke 187 1339 - Fluke 189 1340 - Fluke 287 1341 - Fluke 289 1342 - Fluke ScopeMeter 199B 1343 - MASTECH MAS345 1344 - Metex ME-31 1345 - Metex M-3640D 1346 - PCE PCE-DM32 1347 - PeakTech 3410 1348 - PeakTech 4370 1349 - RadioShack 22-168 1350 - RadioShack 22-805 1351 - RadioShack 22-812 1352 - Tecpel DMM-8060 1353 - Tecpel DMM-8061 1354 - TekPower TP4000ZC 1355 - UNI-T UT61D 1356 - UNI-T UT61E 1357 - V&A VA18B 1358 - Victor 70C 1359 - Victor 86C 1360 - Voltcraft VC-820 1361 - Voltcraft VC-840 1362 - Sound level meters: 1363 - Colead SL-5868P 1364 - Tondaj SL-814 1365 - Temperature/humidity/CO loggers: 1366 - Lascar EL-USB and EL-USB CO series (various models) 1367 - MIC 98581 1368 - MIC 98583 1369 * The limitation of max. 64 digital probes has been removed in many places. 1370 * Added generic DMM protocol parsers usable for various DMMs, over various 1371 cables and/or transports (e.g. same protocol over serial or USB/HID): 1372 - Cyrustek ES51922 binary protocol. 1373 - Fortune Semiconductor FS9721_LP3/FS9721B binary protocol. 1374 - Fortune Semiconductor FS9922-DMM3/DMM4 binary protocol. 1375 - Metex 14-byte ASCII protocol. 1376 - RadioShack 22-812 binary protocol. 1377 * zeroplus-logic-cube driver: 1378 - Fix acquisition at some specific samplerates. Only report valid ones. 1379 - Default to a samplerate of 1MHz. 1380 - Fix trigger code. 1381 - Add pre-trigger (capture ratio) setting. 1382 - Add support for the ZEROPLUS LAP-16128U. 1383 * fx2lafw driver: 1384 - Add support for the CWAV USBee DX. This requires the latest version of 1385 the fx2lafw firmware files. 1386 - Add support for wide sampling (i.e. 16 probes instead of just 8). 1387 - Fix multi-stage (software) triggers. 1388 - Fix various memory leaks, firmware upload timeout bugs, and other issues. 1389 - Various performance and memory usage improvements in the driver. 1390 * chronovu-la8 driver: 1391 - Add support for newer LA8 versions with USB VID/PID 0403:8867. 1392 * demo driver: 1393 - Various bugfixes when setting time/sample limits. 1394 * openbench-logic-sniffer driver: 1395 - Don't try to scan all available serial ports for OLS devices. Instead, 1396 the serial port to use now has to be specified by the user. 1397 - Allow disabling RLE. 1398 * udev rules file: Add many new entries for additional devices. 1399 * New output formats: 1400 - analog: Prints analog values and their unit (e.g. from scopes or DMMs). 1401 * New input formats: 1402 - vcd: Value Change Dump format 1403 - wav: Waveform audio file format (for analog data) 1404 * 'binary' input format: Add support for a 'samplerate' option. 1405 * API related changes: 1406 - There is generated Doxygen API documentation now. 1407 - The header that frontends should include is: <libsigrok/libsigrok.h>. 1408 There are other headers which are installed, but those are not meant to 1409 be included directly by the frontends. 1410 - There were numerous API changes, additions and removals, too many to list 1411 here. Please check the source code or Doxygen API documentation for the 1412 current set of API functions. 1413 * Serial port code: 1414 - Various improvements and fixes related to multiple parameters such as 1415 directions, baudrate, flow control, and others. 1416 - Add support for more baudrates (e.g. very low ones such as 600/1200) 1417 that are used in some devices. 1418 - Add support for setting DTR/RTS. 1419 * gnuplot files: Add sample files for CWAV USBee DX (for 8/16 bit sampling). 1420 * Documentation updates: 1421 - Add a README.devices file which contains various notes for users of 1422 libsigrok about device- and/or driver-specific issues. 1423 - Update README, HACKING, and other documents. 1424 - Updated build dependencies list. 1425 - The following libs are needed in more recent versions now: 1426 - glib (required): Now must be >= 2.32.0. 1427 - libusb-1.0 (optional): Now must be >= 1.0.9. 1428 - The following new libs were added as (optional) dependencies: 1429 - libasound / alsa-lib (optional): >= 1.0 1430 - check (optional, only needed for unit tests): >= 0.9.4 1431 * Portability: 1432 - Various compile fixes for Windows, FreeBSD/NetBSD/OpenBSD, and Mac OS X. 1433 - Simplify/allow/fix cross-compilation of libsigrok. 1434 - Various bugfixes for 32bit systems. 1435 - Various endianness fixes. 1436 * configure: 1437 - Add a --disable-all-drivers option. This can be overridden by 1438 additional --enable-<drivername> options to selectively enable only some. 1439 - Improve autodetection of libraries, and only enable drivers for which 1440 all required libraries were found. 1441 * Add a test suite for libsigrok with a few unit tests (the list will grow). 1442 14430.1.1 (2012-05-30) 1444------------------ 1445 1446Note: This release does NOT change the libsigrok API. 1447 1448 * The 'saleae-logic' driver (which depends on the Saleae firmware), has 1449 been replaced with the new 'fx2lafw' driver, which uses an open-source 1450 firmware for Cypress FX2 chips which is also named 'fx2lafw'. 1451 Details: http://sigrok.org/wiki/Fx2lafw 1452 This new driver (+ firmware) currently supports the following devices: 1453 - ARMFLY AX-Pro 1454 - Braintechnology USB-LPS 1455 - EE Electronics ESLA100 1456 - EE Electronics ESLA201A 1457 - Robomotic MiniLogic 1458 - Robomotic BugLogic 3 1459 - Saleae Logic 1460 - USBee AX 1461 - USBee SX 1462 - All Cypress FX2 eval boards with stock Cypress VID/PID, including: 1463 - Lcsoft Mini Board 1464 - Braintechnology USB Interface V2.x 1465 Only acquisition with 8 probes is supported so far. Support for 16 probes 1466 and support for analog signal acquisition (on devices which have these 1467 capabilities) will be added later. 1468 * ASIX SIGMA driver: 1469 - Add support for the ASIX SIGMA2. This requires the latest version of 1470 the SIGMA/SIGMA2 firmware files. 1471 Details: http://sigrok.org/wiki/Firmware 1472 - Various bugfixes. 1473 * ZEROPLUS Logic Cube LAP-C (16032): Fix a segfault. 1474 * udev file: Add entries for Robomotic BugLogic 3, Velleman PCSU1000, 1475 Ideofy LA-08, ARMFLY AX-Pro, and Braintechnology USB Interface V2.x. 1476 * The zlib dependency has been removed (no longer needed). 1477 * Fix compiling with "Homebrew" (Mac OS X). 1478 * libsigrok now expects firmware files in $prefix/share/sigrok-firmware by 1479 default (was $prefix/share/libsigrok/firmware before). 1480 * Fix a Makefile.am bug which caused the generated ChangeLog files being 1481 accidentally deleted upon 'make distclean'. 1482 * ChronoVu LA8 input file format: Improve autodetection of the file format. 1483 We now only accept files of the size 8388613 bytes (all LA8 files have 1484 exactly this amount of bytes). 1485 14860.1.0 (2012-04-17) 1487------------------ 1488 1489 * Initial release. 1490 1491