X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=NEWS;h=d30199c41a031a277e458bb066fa9ee8a3477b0d;hp=101b16e24377ba7cd1928c64d0fd314dc702981e;hb=991c44f33a55733610f6d9da1efbcc5bf1074dee;hpb=3d0530ef2115b56d3750c3557a0d45bd3831b7c6 diff --git a/NEWS b/NEWS index 101b16e..d30199c 100644 --- a/NEWS +++ b/NEWS @@ -1,22 +1,315 @@ +0.4.0 (2016-01-29) +------------------ + +Note: This release DOES change the libsigrokdecode public C API. This +means it is NOT backwards-compatible and frontends will need updates. + + * New supported protocol decoders: + - adns5020 Bidirectional command and data over an SPI-like protocol + - am230x Aosong AM230x/DHTxx/RHTxx humidity/temperature sensor + - arm_etmv3 Decode ETM instruction trace packets + - arm_itm Trace data from Cortex-M / ARMv7m ITM module + - arm_tpiu Filter TPIU formatted trace data into separate streams + - eeprom24xx 24xx series I²C EEPROM protocol + - em4100 EM4100 100-150kHz RFID protocol + - jitter Retrieves the timing jitter between two digital signals + - max7219 8-digit LED display driver + - mdio Half-duplex sync serial bus for MII management (MAC/PHY) + - modbus Modbus RTU protocol for industrial applications + - mrf24j40 IEEE 802.15.4 2.4 GHz RF tranceiver chip + - nrf24l01 2.4GHz transceiver chip + - pwm Analog level encoded in duty cycle percentage + - qi Async serial protocol for Qi charger receivers + - rfm12 HopeRF RFM12 wireless transceiver control protocol + - sdcard_sd Secure Digital card (SD mode) low-level protocol + - spdif Serial bus for connecting digital audio devices + - stepper_motor Absolute position and movement speed from step/dir + - swd Two-wire protocol for debug access to ARM CPUs + - tca6408a Texas Instruments TCA6408A 8-bit I²C I/O expander + - timing Calculate time between edges + - usb_power_delivery USB Power Delivery protocol + - usb_request USB (low-speed and full-speed) transaction/request protocol + * The 'mx25lxx05d' decoder was renamed to 'spiflash' and made more generic. + * arm_itm: + - Use objdump instead of addr2line (bug #564). + * can: + - Emit bit value annotations. + - Improve stuff bit annotation placement. + * ds1307: + - Emit per-bit annotations for registers. + - Add more annotation classes (and annotation rows). + - Handle register 0x07 (control register). + - Handle SRAM register accesses. + - Correctly handle address wrap-around. + - Warn about (and ignore) non-DS1307 traffic. + * edid: + - Handle more EDID structure sections. + - Add annotation rows. + * jitter: + - Avoid Unicode string literals (bug #569). + * jtag: + - Fix/enable OUT_PYTHON output. + - Add more annotations, fix a SHIFT-IR/-DR issue. + * jtag_stm32: + - Fix incorrect handling of registers. + - Decode more fields, improve IDCODE handling. + - Decode IDCODE contents as strings (not just hex values). + * midi: + - Fix two incorrect sample numbers. + - Update for a change (emit databyte/bits at the same time) in the uart PD. + * mrf24j40: + - Fix a register address typo. + * nunchuk: + - Fix inverted button press logic. + * pan1321: + - Update for a change (emit databyte/bits at the same time) in the uart PD. + * onewire_link: + - Fix a bug when the samplerate is too low for the PD (bug #357). + * parallel: + - Enforce that at least one pin must be provided. + * pwm: + - Avoid Unicode string literals (bug #569). + * spi: + - OUT_PYTHON docs: Fix order of MISO/MOSI data items. + - Tell stacked decoders about missing CS# signal. + - Add binary output facilities for MISO/MOSI (bug #424). + - Don't decode data lines if CS# isn't asserted (bug #559). + - Add a 'TRANSFER' output type. + * spiflash: + - Implement FAST READ command. + - Add a 'chip' option in preparation for supporting more devices. + - Fix incorrect 'inputs' field. + * tlc5620: + - Fix incorrect DAC selection decode, add more annotations. + - Only decode the last 11 bits, ignore the rest. + - Properly handle LOAD and LDAC based operations. + - Handle the case of less than 11 bits in a command. + - Add options for per-DAC Vref, show voltages. + * uart: + - Add signal inversion options 'invert_tx' and 'invert_rx'. + - Emit databyte and bits list at the same time to simplify stacked PDs. + - Improve sample positions at high data rates. + - Handle framing errors better. + - Performance-optimize handling of samples when TX and RX are both idle. + * usb_packet: + - Fix incorrect DATA*/MDATA handling (bug #623). + - Handle invalid packets more gracefully (bug #186). + - Calculate and check CRC5/CRC16. + - Handle errors from usb_signalling. + - Handle PREamble transmissions. + * usb_request: + - Handle transmission timeouts. + - Handle PREamble transmissions. + * usb_signalling: + - Track USB symbol width to compensate frequency errors. + - Detect bit stuffing errors. + - Handle symbol errors in EOP state. + - Use explicit positions for packet start/end (avoids glitches). + - Decode RESET and Keep-Alive signalling conditions. + - Add option to automatically set signalling speed. + - Fix SOP detection after an error condition. + - Add signalling states needed after LS PREamble PID. + - Detect PREamble PID. + * Drop the PD testing framework. It's in the 'sigrok-test' repository now + (and is not meant for "end users" or distro packages anyway; it's a pure + developer tool/system). This also fixes some PD test related build issues. + * Makefile.am: Use libtool's -no-undefined option (fixes MinGW shared build). + * Support loading decoders stored in ZIP files. + * Updated build requirements: + - libglib >= 2.28.0 + - Drop obsolete (optional) dependencies: python3-coverage, libsigrok. + * README: Use clearer descriptions for the dependencies. + * Remove all references to the obsolete sigrok-commits mailing list. + * Fix incorrect doxygen comment for srd_decoder_list() function (bug #378). + * configure.ac: + - Fix a shell portability issue ("==" vs. "="). + - Use AM_CFLAGS instead of CFLAGS. + - Only link the 'check' library into the unit tests (not the lib). + * Unit tests: + - Fix out-of-tree build. + * libsigrokdecode.pc (pkg-config) file: + - Fix an issue related to the Python lib dependencies. + - Publish decodersdir variable. + * Add "-git-" suffix to development version numbers. + * Pass unitsize per sample chunk (bug #352). + * Modernize the whole autotools setup. + * Build with _POSIX_C_SOURCE=200112L per default. + * Build: Show CC and CFLAGS in configuration summary. + * Also look for decoders in XDG data directories. + * Restrict Python code to stable ABI subset (PEP 384). + * Fix various memory leaks. + * Fix an issue with PDs not being properly removed upon unload. + * Don't let Python override signal handlers (bug #461). + * configure: Also check for Python 3.5 (bug #739). + +0.3.0 (2014-05-06) +------------------ + +Note: This release DOES change the libsigrokdecode public C API. This +means it is NOT backwards-compatible and frontends will need updates. + + * New supported protocol decoders: + - guess_bitrate Guess the bitrate/baudrate of a signal + - ir_nec NEC infrared remote control protocol + - ir_rc5 RC-5 infrared remote control protocol + - midi Musical Instrument Digital Interface + - parallel Parallel synchronous bus decoder + - rgb_led_spi RGB LED string decoder (SPI) + - xfp 10 Gigabit Small Form Factor Pluggable Module + - z80 Zilog Z80 microprocessor disassembly + * Add support for annotation rows, i.e. groups of annotation classes that + are supposed to be displayed on the same GUI "row" together. + * Add support for the new OUTPUT_BINARY feature, which allows PDs to output + decoded data in various file formats (for loading and further processing + in other tools, or for direct live piping into other tools). + * Add support for the OUTPUT_META output type. This is used by PDs for + reporting various data points to the frontends, allowing them to perform + various post-processing and statistics tasks on them (e.g. simple counts, + average/mean values, min/max values, and so on). + * The OUTPUT_PROTO output type is now called OUTPUT_PYTHON. + * All protocol decoders: + - Bump the 'api_version' field of all decoders to 2. They are no longer + compatible (and cannot be used with) older libsigrokdecode versions. + - Updates to emit proper annotation classes, annotation sample numbers, + and annotation rows for GUI usage (bugs #146, #148, #150, #151, #154, + #155, #162, #147, #163, #168, #156, #309, and #344). + - Longer and shorter annotations are now supplied for GUI usage (frontends + can for example always show the longest annotation per zoom-level). + - Extensive protocol information has been moved from the PDs to the wiki. + Example: http://sigrok.org/wiki/Protocol_decoder:Uart + - Use correct I²C / I²S names in user-visible texts (not I2C/I2S). + * dcf77: + - Fix a bug in the handling of DCF77 bit 0. + - Drop handling of the 'PON' pin, this is not DCF77 related (bug #153). + - Fix the data parity check (bug #157). + * i2c: + - Fix corner case that can yield issues when using triggers on LAs. + - Drop unneeded 'addressing' option. + - Output bit-exact annotations and data for use by stacked PDs. + * i2s: + - Add OUTPUT_BINARY support for dumping the decoded data in WAV format. + * lpc: + - Various fixes to make the PD work better (or at all). + - Fix the handling of optional channels. + - Make the RESET# pin optional. + * onewire_link: + - Split 'reset' and 'presence' annotations. + * pan1321: + - Support the JSEC, JPRO, JAAC, and JSDA commands. + - Various internal fixes and improvements. + * parallel: + - Fix internal use of the obsolete 'metadata' parameter (bug #202). + * rtc8564: + - Properly handle register 0x06 (weekday) and the 'century' bit. + * sdcard_spi: + - Emit bit-exact annotations for the register fields that need them. + - Fix a Python issue with duplicate keys in a dict (bug #191). + * spi: + - Either MISO or MOSI can be optional now, but not both (bug #175). + - The CS# pin is optional now. If the pin is supplied, it is honored + (decoding only happens when the pin is asserted). Otherwise decoding will + use every CLK edge, regardless of CS# state or CS# existence (bug #152). + - Rename the 'SCK' pin to the more common 'CLK'. + - Output bit-exact annotations and data for use by stacked PDs. + - Fix a bug occurring when only MOSI (but not MISO) was supplied. + * transitioncounter: + - Drop the obsolete 'transitioncounter' dummy protocol decoder. + * uart: + - Fix corner case that can yield issues when using triggers on LAs. + - Use 'T' for stop bits and 'P' for parity bits (shortest annotations). + - Add a data format selection option. + - Annotations for RX and TX are now emitted in different annotation rows. + - Either the RX or TX signal can be optional now (but not both). + - Fix incorrectly displayed characters (bug #201). + - Add support for OUTPUT_BINARY output for RX, TX, or both. + - Output bit-exact annotations and data for use by stacked PDs. + * uart_dump: + - Drop the obsolete 'uart_dump' decoder (the feature is now included + in the 'uart' protocol decoder itself via OUTPUT_BINARY). + * usb_packet: + - The 'usb_protocol' decoder has been renamed to 'usb_packet'. + - Various bugfixes and decoding improvements. + * usb_signalling: + - Fix decoding of individual bits, sample in the middle of bits (bug #158). + * libsigrokdecode API changes overview: + - Add srd_session_new(), srd_session_destroy(), and a session context. + - Add srd_session_metadata_set(). + - The name 'probe' has been renamed to 'channel' everywhere. + - The lib no longer defineѕ names with _t suffix (POSIX reserved). + - Drop the obsolete SRD_MAX_NUM_PROBES. + - Add the SRD_CONF_SAMPLERATE config key. + - Please see the Doxygen API documentation for further details. + * Protocol decoder API: + - Metadata is passed to PDs at runtime now (not at decoder start). + PDs now have a new optional metadata() method to receive it. + - Output types are now registered via Decoder.register(), not Decoder.add(). + - The report() method is now obsolete. This kind of information will be + passed to the frontends via the OUTPUT_META output type, allowing the + frontends to perform various post-processing and statistics tasks. + - PDs can now define BINARY_OUTPUT types via the 'binary' tuple. + - PDs can now define annotation rows via the 'annotation_rows' tuple. + - PD options are now a tuple of dicts. Each option is a dict containing + the keys 'id', 'desc', 'def', and 'values'. Valid option types are + UTF-8 strings, integers, and floats (bugs #254, #306, #317, #165). + - Channels, optional channels, and annotations are now tuples (not lists). + - Only load PDs of API version 2, all other versions are incompatible. + * srd_inst_channel_set_all(): Report an error if not all channels required + by the respective protocol decoder have been supplied. + * Remove some internal limitations to max. 64 channels (bug #120). + * Add a unit test suite framework for libsigrokdecode ('make check'). + * Add a protocol decoder test-suite framework for developers (tests/pdtest). + * Various bugfixes: + - srd_inst_option_set(): Properly return an error on exceptions. + - srd_inst_option_set(): Fix setting of instance options, caused by class + variable clobbering or releasing borrowed references (bugs #170, #174). + - srd_decoder_load(): Error out upon invalid module names (bug #176). + - srd_decoder_load(): Don't try to load an already loaded PD twice. + - srd_decoder_load_all(): Avoid issues without prior srd_init() (bug #178). + - srd_decoder_doc_get(): Fix an issue in the unit test suite (bug #179). + - srd_pd_output_callback_add(): Honor cb_data value (bug #143). + - Fix issues with PDs not getting the samplerate (bugs #97, #132, #166). + - Don't incorrectly decrease a borrowed reference (bug #177). + - Fix various memory leaks and segfault conditions. + * Build system: + - Use pkg-config (not python3-config) to check for Python libs. + This enables (better) libsigrokdecode cross-compile support. + - PDs no longer have an extra Makefile.am, and 'make install' now + happens via a Python script. + - configure: Clearly mark required and optional libs. + - Fix an issue with DESTDIR support (bug #215). + - Add the HACKING file to the tarball. + * Updated or new build-time and runtime requirements: + - Python >= 3.2 (required) + - check >= 0.9.4 (optional, only needed for the libsigrokdecode testsuite) + - libsigrok >= 0.3.0 (optional, only needed for the developer PD testsuite) + - python3-coverage (optional, only needed for the developer PD testsuite) + * New 'make install'-time requirement: + - Python >= 3.2 (required) + 0.2.0 (2013-05-04) ------------------ - * Note: This release DOES change the libsigrokdecode public C API. This - means it is NOT backwards-compatible and frontends will need updates. +Note: This release DOES change the libsigrokdecode public C API. This +means it is NOT backwards-compatible and frontends will need updates. + * New supported protocol decoders: - Dallas DS1307 RTC * Library: Decoders now expose their options via the GSList *options field in struct srd_decoder. - * Various API documentation fixes. + * API related changes: + - Various API documentation fixes. + - srd_decoder_list() now returns 'const GSList *' instead of 'GSList *'. + - Added new srd_strerror() and srd_strerror_name() API calls. * Added support for optional probes for PDs. 0.1.1 (2013-01-27) ------------------ - * Note: This release does NOT change the libsigrokdecode public C API. This - means existing libsigrokdecode frontends should not require any changes. - However, individual PDs and their output changed, which may require - some adaptations on the user's side in some cases. +Note: This release does NOT change the libsigrokdecode public C API. This +means existing libsigrokdecode frontends should not require any changes. +However, individual PDs and their output changed, which may require +some adaptations on the user's side in some cases. + * New supported protocol decoders: - avr_isp AVR In-System Programming - can Controller Area Network