]>
Commit | Line | Data |
---|---|---|
6cedf14f UH |
1 | 0.5.3 (2019-12-11) |
2 | ------------------ | |
3 | ||
4 | Note: This release does NOT change the libsigrokdecode public C API in | |
5 | incompatible ways. This means existing frontends should not require any | |
6 | changes. However, individual PDs and their output changed, which may | |
7 | require some adaptations on the user's side in some cases. | |
8 | ||
9 | * New supported protocol decoders: | |
10 | - lin Local Interconnect Network (LIN) protocol | |
11 | - x2444m Xicor X2444M/P nonvolatile static RAM protocol | |
12 | - ds2408 1-Wire 8-channel addressable switch | |
13 | - cc1101 Low-power sub-1GHz RF transceiver chip | |
14 | - enc28j60 Microchip ENC28J60 10Base-T Ethernet controller protocol | |
15 | - pca9571 NXP PCA9571 8-bit I²C output expander | |
16 | - seven_segment 7-segment display protocol | |
17 | - amulet_ascii Amulet Technologies LCD controller ASCII protocol | |
18 | - tdm_audio TDM multi-channel audio protocol | |
19 | - signature Annotate signature of logic patterns | |
20 | - nes_gamepad NES gamepad button states | |
21 | - flexray Automotive network communications protocol | |
22 | - ir_rc6 RC-6 infrared remote control protocol | |
23 | - ieee488 IEEE-488 General Purpose Interface Bus (GPIB/HPIB or IEC) | |
24 | - hdcp HDCP protocol over HDMI | |
25 | * Add a mandatory 'tags' decoder metadata field that can be used by frontends | |
26 | for grouping various PDs together by topic, e.g. "Sensor", "Audio", etc. | |
27 | The full list of currently used tags is documented in the HACKING file. | |
28 | * All decoders must implement a reset() method now. It should reset all | |
29 | PD-internal state and will be called when the decoder is restarted from | |
30 | scratch (by frontends) with new data. | |
31 | * Fix various memory leaks and bad memory accesses (e.g. bug #1374). | |
32 | * Build system: Add support for Python 3.8 (bug #1438). | |
33 | * Various compiler warning fixes. | |
34 | * Slightly more detailed and easier to read log messages in some places. | |
35 | * Fix incorrect decoder 'output' metadata. | |
36 | * Improve annotation row ordering in various PDs. | |
37 | * ook: | |
38 | - Fix two typos causing decode issues. | |
39 | * uart: | |
40 | - Add support for break condition detection. | |
41 | - Add 'FRAME' Python output type that communicates frame validity. | |
42 | - Add '[rx|tx]_packet_delimiter' options. | |
43 | - Add '[rx|tx]_packet_len' options. | |
44 | - Communicate periods of idle frames to stacked decoders. | |
45 | - Add 'ignore' parity type, remove unsupported 'check_parity' option. | |
46 | - Shorten/rename various decoder option names. | |
47 | * spiflash: | |
48 | - Add support for Winbond W25Q80DV and Atmel AT25xxx. | |
49 | - Add support for the chip erase commands (CE, CE2). | |
50 | - Add support for write enable state tracking. | |
51 | - Remember write protection latch from status registers. | |
52 | - Fix WRSR incorrectly using MISO for register decodes. | |
53 | - Add "EEPROM" to descriptions to increase discoverability in UIs. | |
54 | * i2s: | |
55 | - Fix incorrect channel assignment. | |
56 | - Fix usage of the incorrect edge for the data sampling. | |
57 | * ds1307: | |
58 | - Fix incorrect unit for frequencies above 1Hz. | |
59 | - Fix incorrect AM/PM flag handling. | |
60 | * ir_rc5: | |
61 | - Fix an incorrect command value. | |
62 | - Massively improve performance via proper self.wait() usage. | |
63 | * onewire_network: | |
64 | - Add support for the 'Resume ROM' command. | |
65 | - Add a 'Disable Test Mode' command for DS2408. | |
66 | * sdcard_spi: | |
67 | - Add support for CMD24 including payload data (bug #1365). | |
68 | - Fix duplicated 'End bit' annotation emission. | |
69 | - Fix incorrect handling of CMD17 (bug #1377). | |
70 | - Add "Card is busy" annotations for CMD24 (bug #1376). | |
71 | * spi: | |
72 | - Add support for "transfer" annotations. | |
73 | * atsha204a: | |
74 | - Add support for ATECC508A. | |
75 | - Display OtherData parameter correctly when Verify command is executed | |
76 | in Validate mode. | |
77 | - Only call output_tx_bytes() when the bytes buffer is not empty. | |
78 | * usb_request: | |
79 | - Append OUT data only if it has been ACK'd. | |
80 | - Always keep IN and OUT transfers separate. In case the transfer is an | |
81 | IN transfer, set the high bit as used in the endpoint descriptors (i.e. | |
82 | 0x81 is IN enpoint 1, 0x01 is OUT endpoint 1). | |
83 | - Use separate annotation rows for IN, OUT and CONTROL (bug #1046). | |
84 | - Allow configuration of BULK IN transfer display via an option. | |
85 | * modbus: | |
86 | - Make C->S and S->C configurable via options. | |
87 | - Add a 'framegap' option. | |
88 | * mrf24j40: | |
89 | - Add RX/TX frame annotations. | |
90 | - Add TX retries/fails and CCAFAIL support. | |
91 | * eeprom93xx: | |
92 | - Add ASCII format support. | |
93 | - Add OUTPUT_BINARY support. | |
94 | * can: | |
95 | - Add CAN-FD support. | |
96 | - Add new 'fast_bitrate' option. | |
97 | - More robust sample point position for low sample rates. | |
98 | * gpib, iec: | |
99 | - Removed in favor of the new ieee488 decoder. | |
100 | * ir_nec: | |
101 | - Fix decoder when running it multiple times (bug #1243). | |
102 | ||
921e1895 UH |
103 | 0.5.2 (2018-09-12) |
104 | ------------------ | |
105 | ||
106 | Note: This release does NOT change the libsigrokdecode public C API in | |
107 | incompatible ways. This means existing frontends should not require any | |
108 | changes. However, individual PDs and their output changed, which may | |
109 | require some adaptations on the user's side in some cases. | |
110 | ||
111 | * New supported protocol decoders: | |
112 | - mcs48 Intel MCS-48 external memory access protocol | |
113 | - st7735 Sitronix ST7735 TFT controller protocol | |
114 | - atsha204a Microchip ATSHA204A CryptoAuthentication device | |
115 | - cfp 100 Gigabit C form-factor pluggable (CFP) protocol | |
116 | - jtag_ejtag MIPS EJTAG protocol | |
117 | - swim STM8 Single Wire Interface Module (SWIM) protocol | |
118 | - cec HDMI Consumer Electronics Control (CEC) protocol | |
119 | - miller Miller encoding protocol | |
120 | - ook On-off keying protocol | |
121 | - ook_oregon Oregon Scientific weather sensor protocol | |
122 | - ook_vis OOK visualisation in various formats | |
123 | * Various minor performance improvements in the backend. | |
124 | * Fix an issue causing decoder termination to take a long time. | |
125 | * Fix multiple self.put() memory leaks (bug #329). | |
126 | * Fix multiple memory leaks reported by scan-build. | |
127 | * Show a backtrace when the decode aborts due to an error (bug #1158). | |
128 | * Perform the log level check for non-default handlers as well (bug #698). | |
129 | * Fix multiple compiler warnings. | |
130 | * Compiler: Add -Wshadow -Wformat=2 -Wno-format-nonliteral -Wfloat-equal. | |
131 | * Build system: Add Python 3.7 support. | |
132 | * Fix a 'make install' issue that happens with Python >= 3.7. | |
133 | * Add two missing Python GIL release operations. | |
134 | * libsigrokdecode API changes: | |
135 | - Add the srd_log_callback_get() API call. | |
136 | - Add the SRD_ERR_TERM_REQ error code. | |
137 | * dcf77: | |
138 | - Annotate invalid dow and month fields, do not abort execution (bug #1173). | |
139 | - Annotate unexpected bit numbers and values, do not abort execution. | |
140 | * spiflash: | |
141 | - Add basic Adesto AT45DBxx support (WRITE1/2, STATUS). | |
142 | - Add Adesto AT45DB161E metadata. | |
143 | * jtag: | |
144 | - Fix shifting of registers (bug #1066). | |
145 | * jtag_stm32: | |
146 | - Fix handling of boundary scan TAP and incorrect state transitions. | |
147 | * eeprom24xx: | |
148 | - Add ON Semi CAT24C256 and CAT24M01 support. | |
149 | * counter: | |
150 | - Emit wider annotations to improve readability in UIs (bug #1210). | |
151 | - Add support for user specified initial counter values (bug #1229). | |
152 | - Add an option to ignore a certain number of edges. | |
153 | - Let the user decide how to handle the initial dead_cycles state. | |
154 | * mdio: | |
155 | - Accept MDIO READ without previous ADDRESS command (bug #1258). | |
156 | * edid: | |
157 | - Add support for extension blocks. | |
158 | - Various annotation improvements. | |
159 | * spi: | |
160 | - Fix an issue causing an AttributeError during certain decodes. | |
161 | * usb_power_delivery: | |
162 | - Emit more details in annotations (power, PDO type, RDO info). | |
163 | - Add PPS support. | |
164 | - Add better USB Power Delivery 3.0 support. | |
165 | ||
ea5f5d1f UH |
166 | 0.5.1 (2018-04-12) |
167 | ------------------ | |
168 | ||
169 | Note: This release does NOT change the libsigrokdecode public C API in | |
170 | incompatible ways. This means existing frontends should not require any | |
171 | changes. However, individual PDs and their output changed, which may | |
172 | require some adaptations on the user's side in some cases. | |
173 | ||
174 | * New supported protocol decoders: | |
175 | - ac97 Audio and modem control for PC systems | |
176 | - ds243x Maxim DS243x series 1-Wire EEPROM protocol | |
177 | - maple_bus Maple bus peripheral protocol for SEGA Dreamcast | |
178 | - morse Demodulated morse code protocol | |
179 | - graycode Accumulate rotary encoder increments, timing statistics | |
180 | - counter Count number of edges | |
181 | - sda2506 Serial nonvolatile 1-Kbit EEPROM | |
182 | - rc_encode PT2262/HX2262/SC5262 remote control encoder protocol | |
183 | * Updated build requirements: | |
184 | - libglib >= 2.34 | |
185 | * New API calls: | |
186 | - srd_searchpaths_get(): Retrieve PD search paths. | |
187 | - srd_session_terminate_reset(): Terminate currently executing decoders | |
188 | in a session, reset internal state. Allows re-using a session. | |
189 | * can: | |
190 | - Introduce clock synchronization (bug #990). | |
191 | - Fix incorrect stuff bit handling (bug #1085). | |
192 | * i2c: | |
193 | - Don't drop the first sample of input data. | |
194 | - Make input samplerate optional (bug #1076). | |
195 | * i2s: | |
196 | - Binary output: Make 32-bit WAV files, set file size to 4GB. | |
197 | - Fix unportable use of struct.pack(). | |
198 | - Make samplerate meta data optional. | |
199 | * stepper_motor: | |
200 | - Make samplerate meta data optional. | |
201 | * pwm: | |
202 | - Fixup sample numbers for binary output. | |
203 | * onewire_network: | |
204 | - Fixup start samplenumber for annotations. | |
205 | * lpc: | |
206 | - Improve robustness when decoding unexpected input data. | |
207 | * ir_nec: | |
208 | - Make timing margin relative. | |
209 | - Optionally accept input signals that include the carrier. | |
210 | * usb_request: | |
211 | - Handle CONTROL transfer protocol stalls. | |
212 | * usb_power_delivery: | |
213 | - Enforce numerical order of RDO/PDO flag annotations, enforce check | |
214 | order for start-of-packet sequences (bug #1090). | |
215 | * parallel: | |
216 | - Cope with sparse input maps, assume zero for unconnected pins (bug #1088). | |
217 | - Unbreak and improve "word" de-multiplexing. | |
218 | - Implement consistent number formatting. | |
219 | - Expand 'wordsize' description (bits vs cycles). | |
220 | * spi: | |
221 | - Cope when a sample rate of 0 was configured (bug #1118). | |
222 | * Acquire/release the Python GIL where needed to avoid threading issues. | |
223 | This allows frontends to call libsigrokdecode API functions from different | |
224 | threads without running into issues. | |
225 | * Convert all protocol decoders to PD API version 3. | |
226 | * Support for the old PD API version 2 has been removed. | |
227 | * Unbreak the execution of Decoder.wait() with empty condition. | |
228 | * self.wait(): Accept more forms of "unconditional wait" (None, no args). | |
229 | * Fix a compiler warning on Mac OS X. | |
230 | * configure.ac: Add missing PKG_PROG_PKG_CONFIG and AC_C_BIGENDIAN. | |
231 | * Add a reset() method to all PDs which resets internal variable state. | |
232 | * Clarify and improve channel mapping debug output. | |
233 | * Print decoder and system search paths in debug output. | |
234 | * Drop overly verbose log messages about (un)loading PDs. | |
235 | * HACKING: Prefer git pull requests over mailing list patches. | |
236 | ||
168e5fbe UH |
237 | 0.5.0 (2017-06-12) |
238 | ------------------ | |
239 | ||
240 | Note: This release DOES change the libsigrokdecode public C API. This | |
241 | means it is NOT backwards-compatible and frontends will need updates. | |
242 | ||
243 | * New supported protocol decoders: | |
244 | - ade77xx Poly phase multifunction energy metering IC protocol | |
245 | - adf435x Wideband synthesizer with integrated VCO | |
246 | - aud Renesas/Hitachi Advanced User Debugger (AUD) protocol | |
247 | - avr_pdi Atmel proprietary interface for the ATxmega MCU | |
248 | - dali DALI lighting control protocol | |
249 | - dsi DSI lighting control protocol | |
250 | - dmx512 Professional lighting control protocol | |
251 | - eeprom93xx 93xx series Microwire EEPROM protocol (bug #931) | |
252 | - em4305 EM4205/EM4305 100-150kHz RFID protocol | |
253 | - gpib IEEE-488 GPIB / HPIB protocol | |
254 | - iec Commodore serial IEEE-488 (IEC) bus protocol | |
255 | - microwire 3-wire, half-duplex, synchronous serial bus (bug #931) | |
256 | - ps2 PS/2 keyboard/mouse interface | |
257 | - rgb_led_ws281x RGB LED string protocol (WS281x) | |
258 | - ssi32 Synchronous Serial Interface (32bit) protocol | |
259 | - t55xx T55xx 100-150kHz RFID protocol | |
260 | - wiegand Wiegand interface for electronic entry systems | |
261 | * Add support for the new query-based PD v3 decoder API. | |
262 | - Decoders using PD v3 API can benefit from both readability improvements | |
263 | as well as performance improvements. Up to 10x speedup has been measured | |
264 | in some situations (depends a lot on the decoder, the amount of data, | |
265 | the amount of edges in the signals, and the amount of oversampling). | |
266 | - The majority of all decoders have been converted to PD API v3. | |
267 | - For the time being, both APIs (2 and 3) will remain supported until all | |
268 | decoders have been converted to API version 3. Then, support for API | |
269 | version 2 will be dropped. | |
270 | * Add support for specifying the (assumed) initial pin states before the | |
271 | first sample that is being decoded. This can be set to 0/low, 1/high, or | |
272 | to "use the same value as in the first sample". | |
273 | * Add support for adding multiple instances of a decoder (bug #868). | |
274 | * Introduce a decoders/common facility for code shared between PDs (bug #804). | |
275 | * Supply metadata to all stacked decoders, not just low-level ones (bug #664). | |
276 | * Various Doxygen/documentation improvements. | |
277 | * Factor out a srd_decoder_apiver() internal helper function. | |
278 | * srd_inst_decode(): Return SRD_ERR_ARG if unitsize is 0. | |
279 | * Print error messages when decoders fail load time checks (bug #704). | |
280 | * Fix multiple valgrind warnings (memory leaks and such). | |
281 | * Build system: Sort PD list alphabetically in "make install". | |
282 | * mdio: | |
283 | - Replace PD with a new implementation that also supports Clause 22 and 45. | |
284 | - Improve annotations slightly. | |
285 | * xfp: | |
286 | - Move various constants to common/plugtrx for reusability purposes. | |
287 | * sdcard_{sd,spi}: | |
288 | - Move various constants to common/sdcard for reusability purposes. | |
289 | * usb_request: | |
290 | - Drop hardcoded samplerate (workaround for the fixed bug #664). | |
291 | * spiflash: | |
292 | - Handle CS# transitions, allow variable-length transfers. | |
293 | - Handle "Fast Read Dual I/O" commands. | |
294 | - Add a "format" decoder option. | |
295 | - Implement Release Power-down / Device ID (0xAB) command (bug #845). | |
296 | - Remove hardcoded Macronix references. | |
297 | - Add initial FIDELIX FM25Q32 metadata/support. | |
298 | - Implement WRSR, RDSR2 commands. | |
299 | - Various annotation improvements. | |
300 | * timing: | |
301 | - Add frequency and averaging support. | |
302 | - Disable averaging feature if it's set to zero. | |
303 | - Add edge-edge mode and delta calculation. | |
304 | * midi: | |
305 | - Decode note names and percussion names (e.g. 'G2', 'Tambourine'). | |
306 | - Decode instrument names and drum_kit names (e.g. 'GS Orchestra Kit'). | |
307 | - Handle Polyphonic Pressure / Aftertouch (message 0xAn). | |
308 | - Handle Program Change (message 0xCn). | |
309 | - Handle Channel Pressure / Aftertouch (message 0xDn). | |
310 | - Handle Channel Mode (message 0xBn mm where mm is 120 through 127). | |
311 | - Handle System Common messages (message 0xF1 through 0xF6), including | |
312 | full time code decoding. | |
313 | - SysEx decoding now decodes the 1-3 byte manufacturer field, payload | |
314 | is now displayed as hex. | |
315 | - 'undefined' fields now display the value (e.g. 'undefined 0xf4'). | |
316 | - Add 'MSB' and 'LSB' to many control_functions entries. | |
317 | - Fix "trapped in state X" bug with handle_channel_msg_generic(), | |
318 | though this might be dead code. | |
319 | - Fix bug in sysex_manufacturer_ids; 1-byte manufacturers were not | |
320 | tuples due to missing comma. | |
321 | - Fix bug in SysEx state machine; 0xF7 now sent to handle_sysex_msg(). | |
322 | - Annotations: Provide multiple string versions (shorter and longer ones). | |
323 | - chromatic_notes in list.py was off by 1 octave. | |
324 | - Handle "Running Status" where status byte can be omitted. | |
325 | - SysEx message can be terminated by status byte, not just EOX. | |
326 | - Handle SysReal messages that interrupt in-progress message transmission. | |
327 | - Identify and print garbage / truncated data. | |
328 | - Add 2 new annotations: text-sysreal-verbose and text-error. | |
329 | * usb_power_delivery: | |
330 | - Drop problematic exception in us2samples() function (bug #758). | |
331 | * uart: | |
332 | - Fix a bug in the output for stacked PDs (when there's RX/TX overlap). | |
333 | - Various output formatting improvements (e.g. for ASCII and octal). | |
334 | - Skip frames with invalid start bits. | |
335 | - Emit 2 bytes for 9-bit UART binary output (bug #708). | |
336 | - Default to hex format datavalue annotations. | |
337 | * spi: | |
338 | - Fix binary output for wordsizes > 8 (bug #686). | |
339 | * sdcard_sd: | |
340 | - Don't try to decode commands that are not yet supported. | |
341 | - Always show CMD argument in hex. | |
342 | - Fix incorrect CMD8 annotations. | |
343 | * can: | |
344 | - Add warnings for various invalid bits and fields. | |
345 | - Skip stuff bit inspection where not applicable (bug #656). | |
346 | * eeprom24xx: | |
347 | - Add Xicor X24C02 support. | |
348 | * onewire_link: | |
349 | - Replace PD with a new, improved implementation (bugs #666, #926). | |
350 | - Overdrive speed is now detected automatically. | |
351 | - Some no longer needed decoder options have been dropped. | |
352 | * Various decoders: | |
353 | - Fix some incorrect PD license metadata fields. | |
354 | - Fix typos, whitespace issues and random other cosmetics in some PDs. | |
355 | - Use consistent __init__() format across all PDs. | |
356 | - Move some duplicated code snippets/lists to decoders/common. | |
357 | * Rename the maxim_ds28ea00 decoder to ds28ea00. | |
358 | * Show library versions in the debug output. | |
359 | * configure: Also check for Python 3.6. | |
360 | * configure summary: Show build type (static/shared) and linker flags. | |
361 | * Remove FSF postal address from boiler plate license text. | |
362 | * HACKING: Update URL to Linux kernel coding style. | |
363 | ||
a87daa42 UH |
364 | 0.4.0 (2016-01-29) |
365 | ------------------ | |
366 | ||
367 | Note: This release DOES change the libsigrokdecode public C API. This | |
368 | means it is NOT backwards-compatible and frontends will need updates. | |
369 | ||
370 | * New supported protocol decoders: | |
371 | - adns5020 Bidirectional command and data over an SPI-like protocol | |
372 | - am230x Aosong AM230x/DHTxx/RHTxx humidity/temperature sensor | |
373 | - arm_etmv3 Decode ETM instruction trace packets | |
374 | - arm_itm Trace data from Cortex-M / ARMv7m ITM module | |
375 | - arm_tpiu Filter TPIU formatted trace data into separate streams | |
376 | - eeprom24xx 24xx series I²C EEPROM protocol | |
377 | - em4100 EM4100 100-150kHz RFID protocol | |
378 | - jitter Retrieves the timing jitter between two digital signals | |
379 | - max7219 8-digit LED display driver | |
380 | - mdio Half-duplex sync serial bus for MII management (MAC/PHY) | |
381 | - modbus Modbus RTU protocol for industrial applications | |
382 | - mrf24j40 IEEE 802.15.4 2.4 GHz RF tranceiver chip | |
383 | - nrf24l01 2.4GHz transceiver chip | |
384 | - pwm Analog level encoded in duty cycle percentage | |
385 | - qi Async serial protocol for Qi charger receivers | |
386 | - rfm12 HopeRF RFM12 wireless transceiver control protocol | |
387 | - sdcard_sd Secure Digital card (SD mode) low-level protocol | |
388 | - spdif Serial bus for connecting digital audio devices | |
389 | - stepper_motor Absolute position and movement speed from step/dir | |
390 | - swd Two-wire protocol for debug access to ARM CPUs | |
391 | - tca6408a Texas Instruments TCA6408A 8-bit I²C I/O expander | |
392 | - timing Calculate time between edges | |
393 | - usb_power_delivery USB Power Delivery protocol | |
394 | - usb_request USB (low-speed and full-speed) transaction/request protocol | |
395 | * The 'mx25lxx05d' decoder was renamed to 'spiflash' and made more generic. | |
396 | * arm_itm: | |
397 | - Use objdump instead of addr2line (bug #564). | |
398 | * can: | |
399 | - Emit bit value annotations. | |
400 | - Improve stuff bit annotation placement. | |
401 | * ds1307: | |
402 | - Emit per-bit annotations for registers. | |
403 | - Add more annotation classes (and annotation rows). | |
404 | - Handle register 0x07 (control register). | |
405 | - Handle SRAM register accesses. | |
406 | - Correctly handle address wrap-around. | |
407 | - Warn about (and ignore) non-DS1307 traffic. | |
408 | * edid: | |
409 | - Handle more EDID structure sections. | |
410 | - Add annotation rows. | |
411 | * jitter: | |
412 | - Avoid Unicode string literals (bug #569). | |
413 | * jtag: | |
3f5f3a92 | 414 | - Fix/enable OUTPUT_PYTHON output. |
a87daa42 UH |
415 | - Add more annotations, fix a SHIFT-IR/-DR issue. |
416 | * jtag_stm32: | |
417 | - Fix incorrect handling of registers. | |
418 | - Decode more fields, improve IDCODE handling. | |
419 | - Decode IDCODE contents as strings (not just hex values). | |
420 | * midi: | |
421 | - Fix two incorrect sample numbers. | |
422 | - Update for a change (emit databyte/bits at the same time) in the uart PD. | |
423 | * mrf24j40: | |
424 | - Fix a register address typo. | |
425 | * nunchuk: | |
426 | - Fix inverted button press logic. | |
427 | * pan1321: | |
428 | - Update for a change (emit databyte/bits at the same time) in the uart PD. | |
429 | * onewire_link: | |
430 | - Fix a bug when the samplerate is too low for the PD (bug #357). | |
431 | * parallel: | |
432 | - Enforce that at least one pin must be provided. | |
433 | * pwm: | |
434 | - Avoid Unicode string literals (bug #569). | |
435 | * spi: | |
3f5f3a92 | 436 | - OUTPUT_PYTHON docs: Fix order of MISO/MOSI data items. |
a87daa42 UH |
437 | - Tell stacked decoders about missing CS# signal. |
438 | - Add binary output facilities for MISO/MOSI (bug #424). | |
439 | - Don't decode data lines if CS# isn't asserted (bug #559). | |
440 | - Add a 'TRANSFER' output type. | |
441 | * spiflash: | |
442 | - Implement FAST READ command. | |
443 | - Add a 'chip' option in preparation for supporting more devices. | |
444 | - Fix incorrect 'inputs' field. | |
445 | * tlc5620: | |
446 | - Fix incorrect DAC selection decode, add more annotations. | |
447 | - Only decode the last 11 bits, ignore the rest. | |
448 | - Properly handle LOAD and LDAC based operations. | |
449 | - Handle the case of less than 11 bits in a command. | |
450 | - Add options for per-DAC Vref, show voltages. | |
451 | * uart: | |
452 | - Add signal inversion options 'invert_tx' and 'invert_rx'. | |
453 | - Emit databyte and bits list at the same time to simplify stacked PDs. | |
454 | - Improve sample positions at high data rates. | |
455 | - Handle framing errors better. | |
456 | - Performance-optimize handling of samples when TX and RX are both idle. | |
457 | * usb_packet: | |
458 | - Fix incorrect DATA*/MDATA handling (bug #623). | |
459 | - Handle invalid packets more gracefully (bug #186). | |
460 | - Calculate and check CRC5/CRC16. | |
461 | - Handle errors from usb_signalling. | |
462 | - Handle PREamble transmissions. | |
463 | * usb_request: | |
464 | - Handle transmission timeouts. | |
465 | - Handle PREamble transmissions. | |
466 | * usb_signalling: | |
467 | - Track USB symbol width to compensate frequency errors. | |
468 | - Detect bit stuffing errors. | |
469 | - Handle symbol errors in EOP state. | |
470 | - Use explicit positions for packet start/end (avoids glitches). | |
471 | - Decode RESET and Keep-Alive signalling conditions. | |
472 | - Add option to automatically set signalling speed. | |
473 | - Fix SOP detection after an error condition. | |
474 | - Add signalling states needed after LS PREamble PID. | |
475 | - Detect PREamble PID. | |
476 | * Drop the PD testing framework. It's in the 'sigrok-test' repository now | |
477 | (and is not meant for "end users" or distro packages anyway; it's a pure | |
478 | developer tool/system). This also fixes some PD test related build issues. | |
479 | * Makefile.am: Use libtool's -no-undefined option (fixes MinGW shared build). | |
480 | * Support loading decoders stored in ZIP files. | |
481 | * Updated build requirements: | |
482 | - libglib >= 2.28.0 | |
483 | - Drop obsolete (optional) dependencies: python3-coverage, libsigrok. | |
484 | * README: Use clearer descriptions for the dependencies. | |
485 | * Remove all references to the obsolete sigrok-commits mailing list. | |
486 | * Fix incorrect doxygen comment for srd_decoder_list() function (bug #378). | |
487 | * configure.ac: | |
488 | - Fix a shell portability issue ("==" vs. "="). | |
489 | - Use AM_CFLAGS instead of CFLAGS. | |
490 | - Only link the 'check' library into the unit tests (not the lib). | |
491 | * Unit tests: | |
492 | - Fix out-of-tree build. | |
493 | * libsigrokdecode.pc (pkg-config) file: | |
494 | - Fix an issue related to the Python lib dependencies. | |
495 | - Publish decodersdir variable. | |
496 | * Add "-git-<hash>" suffix to development version numbers. | |
497 | * Pass unitsize per sample chunk (bug #352). | |
498 | * Modernize the whole autotools setup. | |
499 | * Build with _POSIX_C_SOURCE=200112L per default. | |
500 | * Build: Show CC and CFLAGS in configuration summary. | |
501 | * Also look for decoders in XDG data directories. | |
502 | * Restrict Python code to stable ABI subset (PEP 384). | |
503 | * Fix various memory leaks. | |
504 | * Fix an issue with PDs not being properly removed upon unload. | |
505 | * Don't let Python override signal handlers (bug #461). | |
506 | * configure: Also check for Python 3.5 (bug #739). | |
507 | ||
91fe5791 UH |
508 | 0.3.0 (2014-05-06) |
509 | ------------------ | |
510 | ||
511 | Note: This release DOES change the libsigrokdecode public C API. This | |
512 | means it is NOT backwards-compatible and frontends will need updates. | |
513 | ||
514 | * New supported protocol decoders: | |
515 | - guess_bitrate Guess the bitrate/baudrate of a signal | |
516 | - ir_nec NEC infrared remote control protocol | |
517 | - ir_rc5 RC-5 infrared remote control protocol | |
518 | - midi Musical Instrument Digital Interface | |
519 | - parallel Parallel synchronous bus decoder | |
520 | - rgb_led_spi RGB LED string decoder (SPI) | |
521 | - xfp 10 Gigabit Small Form Factor Pluggable Module | |
522 | - z80 Zilog Z80 microprocessor disassembly | |
523 | * Add support for annotation rows, i.e. groups of annotation classes that | |
524 | are supposed to be displayed on the same GUI "row" together. | |
525 | * Add support for the new OUTPUT_BINARY feature, which allows PDs to output | |
526 | decoded data in various file formats (for loading and further processing | |
527 | in other tools, or for direct live piping into other tools). | |
528 | * Add support for the OUTPUT_META output type. This is used by PDs for | |
529 | reporting various data points to the frontends, allowing them to perform | |
530 | various post-processing and statistics tasks on them (e.g. simple counts, | |
531 | average/mean values, min/max values, and so on). | |
532 | * The OUTPUT_PROTO output type is now called OUTPUT_PYTHON. | |
533 | * All protocol decoders: | |
534 | - Bump the 'api_version' field of all decoders to 2. They are no longer | |
535 | compatible (and cannot be used with) older libsigrokdecode versions. | |
536 | - Updates to emit proper annotation classes, annotation sample numbers, | |
537 | and annotation rows for GUI usage (bugs #146, #148, #150, #151, #154, | |
538 | #155, #162, #147, #163, #168, #156, #309, and #344). | |
539 | - Longer and shorter annotations are now supplied for GUI usage (frontends | |
540 | can for example always show the longest annotation per zoom-level). | |
541 | - Extensive protocol information has been moved from the PDs to the wiki. | |
542 | Example: http://sigrok.org/wiki/Protocol_decoder:Uart | |
543 | - Use correct I²C / I²S names in user-visible texts (not I2C/I2S). | |
544 | * dcf77: | |
545 | - Fix a bug in the handling of DCF77 bit 0. | |
546 | - Drop handling of the 'PON' pin, this is not DCF77 related (bug #153). | |
547 | - Fix the data parity check (bug #157). | |
548 | * i2c: | |
549 | - Fix corner case that can yield issues when using triggers on LAs. | |
550 | - Drop unneeded 'addressing' option. | |
551 | - Output bit-exact annotations and data for use by stacked PDs. | |
552 | * i2s: | |
553 | - Add OUTPUT_BINARY support for dumping the decoded data in WAV format. | |
554 | * lpc: | |
555 | - Various fixes to make the PD work better (or at all). | |
556 | - Fix the handling of optional channels. | |
557 | - Make the RESET# pin optional. | |
558 | * onewire_link: | |
559 | - Split 'reset' and 'presence' annotations. | |
560 | * pan1321: | |
561 | - Support the JSEC, JPRO, JAAC, and JSDA commands. | |
562 | - Various internal fixes and improvements. | |
563 | * parallel: | |
564 | - Fix internal use of the obsolete 'metadata' parameter (bug #202). | |
565 | * rtc8564: | |
566 | - Properly handle register 0x06 (weekday) and the 'century' bit. | |
567 | * sdcard_spi: | |
568 | - Emit bit-exact annotations for the register fields that need them. | |
569 | - Fix a Python issue with duplicate keys in a dict (bug #191). | |
570 | * spi: | |
571 | - Either MISO or MOSI can be optional now, but not both (bug #175). | |
572 | - The CS# pin is optional now. If the pin is supplied, it is honored | |
573 | (decoding only happens when the pin is asserted). Otherwise decoding will | |
868fd207 | 574 | use every CLK edge, regardless of CS# state or CS# existence (bug #152). |
91fe5791 UH |
575 | - Rename the 'SCK' pin to the more common 'CLK'. |
576 | - Output bit-exact annotations and data for use by stacked PDs. | |
868fd207 | 577 | - Fix a bug occurring when only MOSI (but not MISO) was supplied. |
91fe5791 UH |
578 | * transitioncounter: |
579 | - Drop the obsolete 'transitioncounter' dummy protocol decoder. | |
580 | * uart: | |
581 | - Fix corner case that can yield issues when using triggers on LAs. | |
582 | - Use 'T' for stop bits and 'P' for parity bits (shortest annotations). | |
583 | - Add a data format selection option. | |
584 | - Annotations for RX and TX are now emitted in different annotation rows. | |
585 | - Either the RX or TX signal can be optional now (but not both). | |
586 | - Fix incorrectly displayed characters (bug #201). | |
587 | - Add support for OUTPUT_BINARY output for RX, TX, or both. | |
588 | - Output bit-exact annotations and data for use by stacked PDs. | |
589 | * uart_dump: | |
590 | - Drop the obsolete 'uart_dump' decoder (the feature is now included | |
591 | in the 'uart' protocol decoder itself via OUTPUT_BINARY). | |
592 | * usb_packet: | |
593 | - The 'usb_protocol' decoder has been renamed to 'usb_packet'. | |
594 | - Various bugfixes and decoding improvements. | |
595 | * usb_signalling: | |
596 | - Fix decoding of individual bits, sample in the middle of bits (bug #158). | |
597 | * libsigrokdecode API changes overview: | |
598 | - Add srd_session_new(), srd_session_destroy(), and a session context. | |
599 | - Add srd_session_metadata_set(). | |
600 | - The name 'probe' has been renamed to 'channel' everywhere. | |
601 | - The lib no longer defineѕ names with _t suffix (POSIX reserved). | |
602 | - Drop the obsolete SRD_MAX_NUM_PROBES. | |
603 | - Add the SRD_CONF_SAMPLERATE config key. | |
604 | - Please see the Doxygen API documentation for further details. | |
605 | * Protocol decoder API: | |
606 | - Metadata is passed to PDs at runtime now (not at decoder start). | |
607 | PDs now have a new optional metadata() method to receive it. | |
608 | - Output types are now registered via Decoder.register(), not Decoder.add(). | |
609 | - The report() method is now obsolete. This kind of information will be | |
610 | passed to the frontends via the OUTPUT_META output type, allowing the | |
611 | frontends to perform various post-processing and statistics tasks. | |
612 | - PDs can now define BINARY_OUTPUT types via the 'binary' tuple. | |
613 | - PDs can now define annotation rows via the 'annotation_rows' tuple. | |
614 | - PD options are now a tuple of dicts. Each option is a dict containing | |
615 | the keys 'id', 'desc', 'def', and 'values'. Valid option types are | |
616 | UTF-8 strings, integers, and floats (bugs #254, #306, #317, #165). | |
617 | - Channels, optional channels, and annotations are now tuples (not lists). | |
618 | - Only load PDs of API version 2, all other versions are incompatible. | |
619 | * srd_inst_channel_set_all(): Report an error if not all channels required | |
620 | by the respective protocol decoder have been supplied. | |
621 | * Remove some internal limitations to max. 64 channels (bug #120). | |
622 | * Add a unit test suite framework for libsigrokdecode ('make check'). | |
623 | * Add a protocol decoder test-suite framework for developers (tests/pdtest). | |
624 | * Various bugfixes: | |
625 | - srd_inst_option_set(): Properly return an error on exceptions. | |
626 | - srd_inst_option_set(): Fix setting of instance options, caused by class | |
627 | variable clobbering or releasing borrowed references (bugs #170, #174). | |
628 | - srd_decoder_load(): Error out upon invalid module names (bug #176). | |
629 | - srd_decoder_load(): Don't try to load an already loaded PD twice. | |
630 | - srd_decoder_load_all(): Avoid issues without prior srd_init() (bug #178). | |
631 | - srd_decoder_doc_get(): Fix an issue in the unit test suite (bug #179). | |
632 | - srd_pd_output_callback_add(): Honor cb_data value (bug #143). | |
633 | - Fix issues with PDs not getting the samplerate (bugs #97, #132, #166). | |
634 | - Don't incorrectly decrease a borrowed reference (bug #177). | |
635 | - Fix various memory leaks and segfault conditions. | |
636 | * Build system: | |
637 | - Use pkg-config (not python3-config) to check for Python libs. | |
638 | This enables (better) libsigrokdecode cross-compile support. | |
639 | - PDs no longer have an extra Makefile.am, and 'make install' now | |
640 | happens via a Python script. | |
641 | - configure: Clearly mark required and optional libs. | |
642 | - Fix an issue with DESTDIR support (bug #215). | |
643 | - Add the HACKING file to the tarball. | |
644 | * Updated or new build-time and runtime requirements: | |
645 | - Python >= 3.2 (required) | |
646 | - check >= 0.9.4 (optional, only needed for the libsigrokdecode testsuite) | |
647 | - libsigrok >= 0.3.0 (optional, only needed for the developer PD testsuite) | |
648 | - python3-coverage (optional, only needed for the developer PD testsuite) | |
649 | * New 'make install'-time requirement: | |
650 | - Python >= 3.2 (required) | |
651 | ||
10b38516 BV |
652 | 0.2.0 (2013-05-04) |
653 | ------------------ | |
654 | ||
91fe5791 UH |
655 | Note: This release DOES change the libsigrokdecode public C API. This |
656 | means it is NOT backwards-compatible and frontends will need updates. | |
657 | ||
3d0530ef UH |
658 | * New supported protocol decoders: |
659 | - Dallas DS1307 RTC | |
660 | * Library: Decoders now expose their options via the GSList *options field | |
661 | in struct srd_decoder. | |
cdf156ba UH |
662 | * API related changes: |
663 | - Various API documentation fixes. | |
664 | - srd_decoder_list() now returns 'const GSList *' instead of 'GSList *'. | |
665 | - Added new srd_strerror() and srd_strerror_name() API calls. | |
3d0530ef | 666 | * Added support for optional probes for PDs. |
10b38516 | 667 | |
d71834ac | 668 | 0.1.1 (2013-01-27) |
90a31a01 UH |
669 | ------------------ |
670 | ||
91fe5791 UH |
671 | Note: This release does NOT change the libsigrokdecode public C API. This |
672 | means existing libsigrokdecode frontends should not require any changes. | |
673 | However, individual PDs and their output changed, which may require | |
674 | some adaptations on the user's side in some cases. | |
675 | ||
90a31a01 UH |
676 | * New supported protocol decoders: |
677 | - avr_isp AVR In-System Programming | |
678 | - can Controller Area Network | |
679 | - jtag Joint Test Action Group (IEEE 1149.1) | |
680 | - jtag_stm32 Joint Test Action Group / ST STM32 | |
681 | - lm75 National LM75 | |
682 | - lpc Low-Pin-Count | |
683 | - maxim_ds28ea00 Maxim DS28EA00 1-Wire digital thermometer | |
684 | - onewire_link 1-Wire serial communication bus (link layer) | |
685 | - onewire_network 1-Wire serial communication bus (network layer) | |
686 | - sdcard_spi Secure Digital card (SPI mode) | |
687 | - tlc5620 Texas Instruments TLC5620 | |
688 | - uart_dump UART dump | |
689 | * i2cfilter: Now outputs 'i2c' packets instead of just data bytes, so | |
690 | other PDs can stack on top of it. It filters by I2C slave address. | |
691 | * edid: Now takes 'i2c' packets as input. | |
692 | * pan1321: | |
693 | - Various bugfixes to make the PD actually work. | |
694 | - Now features 'Text (short)' and 'Text (verbose)' outputs. | |
695 | * usb: | |
696 | - The PD is split into 'usb_signalling' and 'usb_protocol' (stacked on top). | |
697 | - Various bugfixes to make the PD work (better). | |
698 | - The DP/DM probes were swapped, this is now fixed. | |
699 | - Preliminary support for USB low-speed (in addition to full-speed). | |
700 | * mlx90614: Minor bugfixes. | |
701 | * dcf77: | |
702 | - Major bugfix, this PD was not working correctly at all. | |
703 | - Handle PON signal. | |
704 | * nunchuk: Complete rewrite, works (better) now. | |
705 | * spi: Update docs, send CS# change packets, change output API slightly. | |
706 | If you have a PD which stacks on top of SPI, it'll need to be adapted. | |
707 | The PDs that ship with libsigrokdecode are updated already. | |
708 | * mx25lxx05d: | |
709 | - Implement support for the READ, RDSR, and PP commands. | |
710 | - Decode status register bits. | |
711 | - Fix SE command handling. | |
712 | - Fix inverted SRWD bit handling. | |
713 | * Various smaller style and consistency changes in code and PD descriptions. | |
714 | * Fix the build with Homebrew on Mac OS X. | |
715 | * Performance improvements in some PDs. | |
716 | * Documentation: Update website and git URLs. | |
717 | * pkg-config file: Small fix to improve behaviour on Windows with cmake. | |
a860b7cc | 718 | * All PD implementation files are now named 'pd.py' consistently. |
90a31a01 UH |
719 | * configure script: |
720 | - Also check for python3.3-config in addition to python-config and others. | |
721 | - Add missing -fvisibility=hidden to default CFLAGS. | |
722 | - Fix CFLAGS handling (configure.ac amends CFLAGS, doesn't overwrite now). | |
a860b7cc UH |
723 | * The minimum required glib version is 2.24.0 now. |
724 | * We now ship a standard INSTALL file which documents the 'configure' options. | |
90a31a01 | 725 | |
6b249180 | 726 | 0.1.0 (2012-04-17) |
dc17bafa UH |
727 | ------------------ |
728 | ||
729 | * Initial release. | |
730 |