]>
Commit | Line | Data |
---|---|---|
1 | 0.4.0 (2016-01-29) | |
2 | ------------------ | |
3 | ||
4 | Note: This release DOES change the libsigrokdecode public C API. This | |
5 | means it is NOT backwards-compatible and frontends will need updates. | |
6 | ||
7 | * New supported protocol decoders: | |
8 | - adns5020 Bidirectional command and data over an SPI-like protocol | |
9 | - am230x Aosong AM230x/DHTxx/RHTxx humidity/temperature sensor | |
10 | - arm_etmv3 Decode ETM instruction trace packets | |
11 | - arm_itm Trace data from Cortex-M / ARMv7m ITM module | |
12 | - arm_tpiu Filter TPIU formatted trace data into separate streams | |
13 | - eeprom24xx 24xx series I²C EEPROM protocol | |
14 | - em4100 EM4100 100-150kHz RFID protocol | |
15 | - jitter Retrieves the timing jitter between two digital signals | |
16 | - max7219 8-digit LED display driver | |
17 | - mdio Half-duplex sync serial bus for MII management (MAC/PHY) | |
18 | - modbus Modbus RTU protocol for industrial applications | |
19 | - mrf24j40 IEEE 802.15.4 2.4 GHz RF tranceiver chip | |
20 | - nrf24l01 2.4GHz transceiver chip | |
21 | - pwm Analog level encoded in duty cycle percentage | |
22 | - qi Async serial protocol for Qi charger receivers | |
23 | - rfm12 HopeRF RFM12 wireless transceiver control protocol | |
24 | - sdcard_sd Secure Digital card (SD mode) low-level protocol | |
25 | - spdif Serial bus for connecting digital audio devices | |
26 | - stepper_motor Absolute position and movement speed from step/dir | |
27 | - swd Two-wire protocol for debug access to ARM CPUs | |
28 | - tca6408a Texas Instruments TCA6408A 8-bit I²C I/O expander | |
29 | - timing Calculate time between edges | |
30 | - usb_power_delivery USB Power Delivery protocol | |
31 | - usb_request USB (low-speed and full-speed) transaction/request protocol | |
32 | * The 'mx25lxx05d' decoder was renamed to 'spiflash' and made more generic. | |
33 | * arm_itm: | |
34 | - Use objdump instead of addr2line (bug #564). | |
35 | * can: | |
36 | - Emit bit value annotations. | |
37 | - Improve stuff bit annotation placement. | |
38 | * ds1307: | |
39 | - Emit per-bit annotations for registers. | |
40 | - Add more annotation classes (and annotation rows). | |
41 | - Handle register 0x07 (control register). | |
42 | - Handle SRAM register accesses. | |
43 | - Correctly handle address wrap-around. | |
44 | - Warn about (and ignore) non-DS1307 traffic. | |
45 | * edid: | |
46 | - Handle more EDID structure sections. | |
47 | - Add annotation rows. | |
48 | * jitter: | |
49 | - Avoid Unicode string literals (bug #569). | |
50 | * jtag: | |
51 | - Fix/enable OUT_PYTHON output. | |
52 | - Add more annotations, fix a SHIFT-IR/-DR issue. | |
53 | * jtag_stm32: | |
54 | - Fix incorrect handling of registers. | |
55 | - Decode more fields, improve IDCODE handling. | |
56 | - Decode IDCODE contents as strings (not just hex values). | |
57 | * midi: | |
58 | - Fix two incorrect sample numbers. | |
59 | - Update for a change (emit databyte/bits at the same time) in the uart PD. | |
60 | * mrf24j40: | |
61 | - Fix a register address typo. | |
62 | * nunchuk: | |
63 | - Fix inverted button press logic. | |
64 | * pan1321: | |
65 | - Update for a change (emit databyte/bits at the same time) in the uart PD. | |
66 | * onewire_link: | |
67 | - Fix a bug when the samplerate is too low for the PD (bug #357). | |
68 | * parallel: | |
69 | - Enforce that at least one pin must be provided. | |
70 | * pwm: | |
71 | - Avoid Unicode string literals (bug #569). | |
72 | * spi: | |
73 | - OUT_PYTHON docs: Fix order of MISO/MOSI data items. | |
74 | - Tell stacked decoders about missing CS# signal. | |
75 | - Add binary output facilities for MISO/MOSI (bug #424). | |
76 | - Don't decode data lines if CS# isn't asserted (bug #559). | |
77 | - Add a 'TRANSFER' output type. | |
78 | * spiflash: | |
79 | - Implement FAST READ command. | |
80 | - Add a 'chip' option in preparation for supporting more devices. | |
81 | - Fix incorrect 'inputs' field. | |
82 | * tlc5620: | |
83 | - Fix incorrect DAC selection decode, add more annotations. | |
84 | - Only decode the last 11 bits, ignore the rest. | |
85 | - Properly handle LOAD and LDAC based operations. | |
86 | - Handle the case of less than 11 bits in a command. | |
87 | - Add options for per-DAC Vref, show voltages. | |
88 | * uart: | |
89 | - Add signal inversion options 'invert_tx' and 'invert_rx'. | |
90 | - Emit databyte and bits list at the same time to simplify stacked PDs. | |
91 | - Improve sample positions at high data rates. | |
92 | - Handle framing errors better. | |
93 | - Performance-optimize handling of samples when TX and RX are both idle. | |
94 | * usb_packet: | |
95 | - Fix incorrect DATA*/MDATA handling (bug #623). | |
96 | - Handle invalid packets more gracefully (bug #186). | |
97 | - Calculate and check CRC5/CRC16. | |
98 | - Handle errors from usb_signalling. | |
99 | - Handle PREamble transmissions. | |
100 | * usb_request: | |
101 | - Handle transmission timeouts. | |
102 | - Handle PREamble transmissions. | |
103 | * usb_signalling: | |
104 | - Track USB symbol width to compensate frequency errors. | |
105 | - Detect bit stuffing errors. | |
106 | - Handle symbol errors in EOP state. | |
107 | - Use explicit positions for packet start/end (avoids glitches). | |
108 | - Decode RESET and Keep-Alive signalling conditions. | |
109 | - Add option to automatically set signalling speed. | |
110 | - Fix SOP detection after an error condition. | |
111 | - Add signalling states needed after LS PREamble PID. | |
112 | - Detect PREamble PID. | |
113 | * Drop the PD testing framework. It's in the 'sigrok-test' repository now | |
114 | (and is not meant for "end users" or distro packages anyway; it's a pure | |
115 | developer tool/system). This also fixes some PD test related build issues. | |
116 | * Makefile.am: Use libtool's -no-undefined option (fixes MinGW shared build). | |
117 | * Support loading decoders stored in ZIP files. | |
118 | * Updated build requirements: | |
119 | - libglib >= 2.28.0 | |
120 | - Drop obsolete (optional) dependencies: python3-coverage, libsigrok. | |
121 | * README: Use clearer descriptions for the dependencies. | |
122 | * Remove all references to the obsolete sigrok-commits mailing list. | |
123 | * Fix incorrect doxygen comment for srd_decoder_list() function (bug #378). | |
124 | * configure.ac: | |
125 | - Fix a shell portability issue ("==" vs. "="). | |
126 | - Use AM_CFLAGS instead of CFLAGS. | |
127 | - Only link the 'check' library into the unit tests (not the lib). | |
128 | * Unit tests: | |
129 | - Fix out-of-tree build. | |
130 | * libsigrokdecode.pc (pkg-config) file: | |
131 | - Fix an issue related to the Python lib dependencies. | |
132 | - Publish decodersdir variable. | |
133 | * Add "-git-<hash>" suffix to development version numbers. | |
134 | * Pass unitsize per sample chunk (bug #352). | |
135 | * Modernize the whole autotools setup. | |
136 | * Build with _POSIX_C_SOURCE=200112L per default. | |
137 | * Build: Show CC and CFLAGS in configuration summary. | |
138 | * Also look for decoders in XDG data directories. | |
139 | * Restrict Python code to stable ABI subset (PEP 384). | |
140 | * Fix various memory leaks. | |
141 | * Fix an issue with PDs not being properly removed upon unload. | |
142 | * Don't let Python override signal handlers (bug #461). | |
143 | * configure: Also check for Python 3.5 (bug #739). | |
144 | ||
145 | 0.3.0 (2014-05-06) | |
146 | ------------------ | |
147 | ||
148 | Note: This release DOES change the libsigrokdecode public C API. This | |
149 | means it is NOT backwards-compatible and frontends will need updates. | |
150 | ||
151 | * New supported protocol decoders: | |
152 | - guess_bitrate Guess the bitrate/baudrate of a signal | |
153 | - ir_nec NEC infrared remote control protocol | |
154 | - ir_rc5 RC-5 infrared remote control protocol | |
155 | - midi Musical Instrument Digital Interface | |
156 | - parallel Parallel synchronous bus decoder | |
157 | - rgb_led_spi RGB LED string decoder (SPI) | |
158 | - xfp 10 Gigabit Small Form Factor Pluggable Module | |
159 | - z80 Zilog Z80 microprocessor disassembly | |
160 | * Add support for annotation rows, i.e. groups of annotation classes that | |
161 | are supposed to be displayed on the same GUI "row" together. | |
162 | * Add support for the new OUTPUT_BINARY feature, which allows PDs to output | |
163 | decoded data in various file formats (for loading and further processing | |
164 | in other tools, or for direct live piping into other tools). | |
165 | * Add support for the OUTPUT_META output type. This is used by PDs for | |
166 | reporting various data points to the frontends, allowing them to perform | |
167 | various post-processing and statistics tasks on them (e.g. simple counts, | |
168 | average/mean values, min/max values, and so on). | |
169 | * The OUTPUT_PROTO output type is now called OUTPUT_PYTHON. | |
170 | * All protocol decoders: | |
171 | - Bump the 'api_version' field of all decoders to 2. They are no longer | |
172 | compatible (and cannot be used with) older libsigrokdecode versions. | |
173 | - Updates to emit proper annotation classes, annotation sample numbers, | |
174 | and annotation rows for GUI usage (bugs #146, #148, #150, #151, #154, | |
175 | #155, #162, #147, #163, #168, #156, #309, and #344). | |
176 | - Longer and shorter annotations are now supplied for GUI usage (frontends | |
177 | can for example always show the longest annotation per zoom-level). | |
178 | - Extensive protocol information has been moved from the PDs to the wiki. | |
179 | Example: http://sigrok.org/wiki/Protocol_decoder:Uart | |
180 | - Use correct I²C / I²S names in user-visible texts (not I2C/I2S). | |
181 | * dcf77: | |
182 | - Fix a bug in the handling of DCF77 bit 0. | |
183 | - Drop handling of the 'PON' pin, this is not DCF77 related (bug #153). | |
184 | - Fix the data parity check (bug #157). | |
185 | * i2c: | |
186 | - Fix corner case that can yield issues when using triggers on LAs. | |
187 | - Drop unneeded 'addressing' option. | |
188 | - Output bit-exact annotations and data for use by stacked PDs. | |
189 | * i2s: | |
190 | - Add OUTPUT_BINARY support for dumping the decoded data in WAV format. | |
191 | * lpc: | |
192 | - Various fixes to make the PD work better (or at all). | |
193 | - Fix the handling of optional channels. | |
194 | - Make the RESET# pin optional. | |
195 | * onewire_link: | |
196 | - Split 'reset' and 'presence' annotations. | |
197 | * pan1321: | |
198 | - Support the JSEC, JPRO, JAAC, and JSDA commands. | |
199 | - Various internal fixes and improvements. | |
200 | * parallel: | |
201 | - Fix internal use of the obsolete 'metadata' parameter (bug #202). | |
202 | * rtc8564: | |
203 | - Properly handle register 0x06 (weekday) and the 'century' bit. | |
204 | * sdcard_spi: | |
205 | - Emit bit-exact annotations for the register fields that need them. | |
206 | - Fix a Python issue with duplicate keys in a dict (bug #191). | |
207 | * spi: | |
208 | - Either MISO or MOSI can be optional now, but not both (bug #175). | |
209 | - The CS# pin is optional now. If the pin is supplied, it is honored | |
210 | (decoding only happens when the pin is asserted). Otherwise decoding will | |
211 | use every CLK edge, regardless of CS# state or CS# existence (bug #152). | |
212 | - Rename the 'SCK' pin to the more common 'CLK'. | |
213 | - Output bit-exact annotations and data for use by stacked PDs. | |
214 | - Fix a bug occurring when only MOSI (but not MISO) was supplied. | |
215 | * transitioncounter: | |
216 | - Drop the obsolete 'transitioncounter' dummy protocol decoder. | |
217 | * uart: | |
218 | - Fix corner case that can yield issues when using triggers on LAs. | |
219 | - Use 'T' for stop bits and 'P' for parity bits (shortest annotations). | |
220 | - Add a data format selection option. | |
221 | - Annotations for RX and TX are now emitted in different annotation rows. | |
222 | - Either the RX or TX signal can be optional now (but not both). | |
223 | - Fix incorrectly displayed characters (bug #201). | |
224 | - Add support for OUTPUT_BINARY output for RX, TX, or both. | |
225 | - Output bit-exact annotations and data for use by stacked PDs. | |
226 | * uart_dump: | |
227 | - Drop the obsolete 'uart_dump' decoder (the feature is now included | |
228 | in the 'uart' protocol decoder itself via OUTPUT_BINARY). | |
229 | * usb_packet: | |
230 | - The 'usb_protocol' decoder has been renamed to 'usb_packet'. | |
231 | - Various bugfixes and decoding improvements. | |
232 | * usb_signalling: | |
233 | - Fix decoding of individual bits, sample in the middle of bits (bug #158). | |
234 | * libsigrokdecode API changes overview: | |
235 | - Add srd_session_new(), srd_session_destroy(), and a session context. | |
236 | - Add srd_session_metadata_set(). | |
237 | - The name 'probe' has been renamed to 'channel' everywhere. | |
238 | - The lib no longer defineѕ names with _t suffix (POSIX reserved). | |
239 | - Drop the obsolete SRD_MAX_NUM_PROBES. | |
240 | - Add the SRD_CONF_SAMPLERATE config key. | |
241 | - Please see the Doxygen API documentation for further details. | |
242 | * Protocol decoder API: | |
243 | - Metadata is passed to PDs at runtime now (not at decoder start). | |
244 | PDs now have a new optional metadata() method to receive it. | |
245 | - Output types are now registered via Decoder.register(), not Decoder.add(). | |
246 | - The report() method is now obsolete. This kind of information will be | |
247 | passed to the frontends via the OUTPUT_META output type, allowing the | |
248 | frontends to perform various post-processing and statistics tasks. | |
249 | - PDs can now define BINARY_OUTPUT types via the 'binary' tuple. | |
250 | - PDs can now define annotation rows via the 'annotation_rows' tuple. | |
251 | - PD options are now a tuple of dicts. Each option is a dict containing | |
252 | the keys 'id', 'desc', 'def', and 'values'. Valid option types are | |
253 | UTF-8 strings, integers, and floats (bugs #254, #306, #317, #165). | |
254 | - Channels, optional channels, and annotations are now tuples (not lists). | |
255 | - Only load PDs of API version 2, all other versions are incompatible. | |
256 | * srd_inst_channel_set_all(): Report an error if not all channels required | |
257 | by the respective protocol decoder have been supplied. | |
258 | * Remove some internal limitations to max. 64 channels (bug #120). | |
259 | * Add a unit test suite framework for libsigrokdecode ('make check'). | |
260 | * Add a protocol decoder test-suite framework for developers (tests/pdtest). | |
261 | * Various bugfixes: | |
262 | - srd_inst_option_set(): Properly return an error on exceptions. | |
263 | - srd_inst_option_set(): Fix setting of instance options, caused by class | |
264 | variable clobbering or releasing borrowed references (bugs #170, #174). | |
265 | - srd_decoder_load(): Error out upon invalid module names (bug #176). | |
266 | - srd_decoder_load(): Don't try to load an already loaded PD twice. | |
267 | - srd_decoder_load_all(): Avoid issues without prior srd_init() (bug #178). | |
268 | - srd_decoder_doc_get(): Fix an issue in the unit test suite (bug #179). | |
269 | - srd_pd_output_callback_add(): Honor cb_data value (bug #143). | |
270 | - Fix issues with PDs not getting the samplerate (bugs #97, #132, #166). | |
271 | - Don't incorrectly decrease a borrowed reference (bug #177). | |
272 | - Fix various memory leaks and segfault conditions. | |
273 | * Build system: | |
274 | - Use pkg-config (not python3-config) to check for Python libs. | |
275 | This enables (better) libsigrokdecode cross-compile support. | |
276 | - PDs no longer have an extra Makefile.am, and 'make install' now | |
277 | happens via a Python script. | |
278 | - configure: Clearly mark required and optional libs. | |
279 | - Fix an issue with DESTDIR support (bug #215). | |
280 | - Add the HACKING file to the tarball. | |
281 | * Updated or new build-time and runtime requirements: | |
282 | - Python >= 3.2 (required) | |
283 | - check >= 0.9.4 (optional, only needed for the libsigrokdecode testsuite) | |
284 | - libsigrok >= 0.3.0 (optional, only needed for the developer PD testsuite) | |
285 | - python3-coverage (optional, only needed for the developer PD testsuite) | |
286 | * New 'make install'-time requirement: | |
287 | - Python >= 3.2 (required) | |
288 | ||
289 | 0.2.0 (2013-05-04) | |
290 | ------------------ | |
291 | ||
292 | Note: This release DOES change the libsigrokdecode public C API. This | |
293 | means it is NOT backwards-compatible and frontends will need updates. | |
294 | ||
295 | * New supported protocol decoders: | |
296 | - Dallas DS1307 RTC | |
297 | * Library: Decoders now expose their options via the GSList *options field | |
298 | in struct srd_decoder. | |
299 | * API related changes: | |
300 | - Various API documentation fixes. | |
301 | - srd_decoder_list() now returns 'const GSList *' instead of 'GSList *'. | |
302 | - Added new srd_strerror() and srd_strerror_name() API calls. | |
303 | * Added support for optional probes for PDs. | |
304 | ||
305 | 0.1.1 (2013-01-27) | |
306 | ------------------ | |
307 | ||
308 | Note: This release does NOT change the libsigrokdecode public C API. This | |
309 | means existing libsigrokdecode frontends should not require any changes. | |
310 | However, individual PDs and their output changed, which may require | |
311 | some adaptations on the user's side in some cases. | |
312 | ||
313 | * New supported protocol decoders: | |
314 | - avr_isp AVR In-System Programming | |
315 | - can Controller Area Network | |
316 | - jtag Joint Test Action Group (IEEE 1149.1) | |
317 | - jtag_stm32 Joint Test Action Group / ST STM32 | |
318 | - lm75 National LM75 | |
319 | - lpc Low-Pin-Count | |
320 | - maxim_ds28ea00 Maxim DS28EA00 1-Wire digital thermometer | |
321 | - onewire_link 1-Wire serial communication bus (link layer) | |
322 | - onewire_network 1-Wire serial communication bus (network layer) | |
323 | - sdcard_spi Secure Digital card (SPI mode) | |
324 | - tlc5620 Texas Instruments TLC5620 | |
325 | - uart_dump UART dump | |
326 | * i2cfilter: Now outputs 'i2c' packets instead of just data bytes, so | |
327 | other PDs can stack on top of it. It filters by I2C slave address. | |
328 | * edid: Now takes 'i2c' packets as input. | |
329 | * pan1321: | |
330 | - Various bugfixes to make the PD actually work. | |
331 | - Now features 'Text (short)' and 'Text (verbose)' outputs. | |
332 | * usb: | |
333 | - The PD is split into 'usb_signalling' and 'usb_protocol' (stacked on top). | |
334 | - Various bugfixes to make the PD work (better). | |
335 | - The DP/DM probes were swapped, this is now fixed. | |
336 | - Preliminary support for USB low-speed (in addition to full-speed). | |
337 | * mlx90614: Minor bugfixes. | |
338 | * dcf77: | |
339 | - Major bugfix, this PD was not working correctly at all. | |
340 | - Handle PON signal. | |
341 | * nunchuk: Complete rewrite, works (better) now. | |
342 | * spi: Update docs, send CS# change packets, change output API slightly. | |
343 | If you have a PD which stacks on top of SPI, it'll need to be adapted. | |
344 | The PDs that ship with libsigrokdecode are updated already. | |
345 | * mx25lxx05d: | |
346 | - Implement support for the READ, RDSR, and PP commands. | |
347 | - Decode status register bits. | |
348 | - Fix SE command handling. | |
349 | - Fix inverted SRWD bit handling. | |
350 | * Various smaller style and consistency changes in code and PD descriptions. | |
351 | * Fix the build with Homebrew on Mac OS X. | |
352 | * Performance improvements in some PDs. | |
353 | * Documentation: Update website and git URLs. | |
354 | * pkg-config file: Small fix to improve behaviour on Windows with cmake. | |
355 | * All PD implementation files are now named 'pd.py' consistently. | |
356 | * configure script: | |
357 | - Also check for python3.3-config in addition to python-config and others. | |
358 | - Add missing -fvisibility=hidden to default CFLAGS. | |
359 | - Fix CFLAGS handling (configure.ac amends CFLAGS, doesn't overwrite now). | |
360 | * The minimum required glib version is 2.24.0 now. | |
361 | * We now ship a standard INSTALL file which documents the 'configure' options. | |
362 | ||
363 | 0.1.0 (2012-04-17) | |
364 | ------------------ | |
365 | ||
366 | * Initial release. | |
367 |