rgb_led_ws281x: catch up with colour component annotations The decoder was extended to also emit annotations for individual colour components (R/G/B and W). Adjust the data files with expected output data. See diff -U0 for review of what was added. No other annotations are affected.
i2cfilter: add tests to cover filter by direction Ealier tests covered the filtering of I2C traffic by slave address. This commit adds tests which also cover the filter by transfer direction.
parallel: recent PD implementation flushes last samples upon EOF Catch up with the implementation of the "parallel" decoder, which now flushes previously accumulated information when the end of input data is seen. Which completes the last "item" (data pattern on the bus), and may complete another "word" (data value that spans several bus cycles).
runtc: add support for input file formats other than native srzip Introduce the -I command line option for the tstrun(1) utility, accept input file format names, and options for the input module. Take single words in multiple -I specs to simplify the internal interface between the pdtest(1) and the tstrun(1) tools. This follows the existing pattern for decoder options and channel assignments. The first spec is the file format name (use 'match' for automatic detection). Subsequent specs are input module options. This makes all libsigrok supported input file formats available to the sigrok-test environment, which formerly was constrained to .sr archives only. Although the runtc(1) utility resides in the "decoder/" hierarchy, it can both use VCD and other files to stimulate decoder tests, as well as cover file formats and their specific features in future tests by checking that the imported file's content is seen or that their options take effect.
runtc: cope with "late" samplerate announcement The previous implementation expected a rather specific sequence of SR_DF_HEADER with samplerate, then SR_DF_LOGIC. This worked with .sr formatted session files. But does not work with other input formats. Also process SR_DF_META packets. Pass any samplerate that we learn about to decoders' .metadata() method. Defer decoders' .start() until the first logic samples are seen. This improves robustness of the decoder tests.
ir_irmp: introduce IRMP test cases, cover NEC/RC5/RC6/SIRC and others The upstream IRMP project's decoder core is only slowly moving, we can consider the IRMP decoder integration to be stable and don't expect the output to change violently any longer. The issue of requiring a single core instance remains and affects the GUI, but not the single threaded test suite. This set of test cases re-uses the NEC, RC5, RC6, and SIRC dumps which are covered by individual decoders, too. Ideally detection results would be identical, but in practise the annotation positions and the level of details will differ between implementations due to their internal operation and design choices. The IRMP test set also covers dumps which are not covered by other IR decoders. It's interesting to see how not all key repetitions are caught and how single press might be missed as well. It's valuable to remain aware during maintenance, and see how occassional failure changes. This is why an empty output for a non-empty dump is kept here, too.
seven_segment: expand the alphabet and show unknown characters Signed-off-by: Ben Gardiner <redacted>
pdtest: use less expensive Python routine to get text differences Python ships with a difflib(3) module which is used in the pdtest(1) utility. The Differ.compare() routine is rather expensive, especially when the set of input text becomes "large" (a few thousand lines). Use the less expensive unified_diff() routine instead which does not suffer from that cost. From the sigrok-test perspective the resulting data is as usable.
parallel: also expect bits count in addition to data value Catch up with the parallel decoder's implementation. Documented Python output includes the bus width and cycle count for items and words. [ see a word-diff for the commit's essence ]
parallel: add test case for parallel PD on SQI traffic The parallel decoder can also be used to interpret SQI communication. Using the chip select as the reset/enable signal increases robustness. Implement a test case to cover this recently added decoder feature.
parallel: expect demuxed words only after their items were seen Catch up with the "parallel" decoder's implementation. Annotations for demultiplexed words are sent after all their individual bits were seen. Data content remains identical, this is exclusively about emission order.
ir_nec: catch up with STOP bit width adjustment The decoder implementation changed the STOP width from 0.652ms to 0.562ms, which affects the STOP bit and the REMOTE button code annotations' end.
avr_isp: catch up with warning class for "unknown command" message The decoder implementation moved the "Unknown command" message from the PE annotation class (programming enable instruction) to warnings. Adjust the test expectation.