summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-11-16Move session-specific functionality into session.cBert Vermeulen
2013-11-16Minor cleanupBert Vermeulen
2013-11-15Move versioning info out to separate headerBert Vermeulen
2013-11-15Use OUTPUT_BINARY with four classes.Bert Vermeulen
2013-11-15Implement OUTPUT_BINARYBert Vermeulen
This requires the PD to have a tuple in its class called 'binary', which contains a list of strings describing the different binary classes it can output. For the SPI decoder this might be 'MOSI' and 'MISO', for example. The data is submitted to the frontend as struct srd_proto_data_binary, which contains the class that data belongs to.
2013-11-15Drop obsolete report() method.Bert Vermeulen
2013-11-15Drop outdated report: this should be handled by a frontend.Bert Vermeulen
2013-11-15Use the new Decoder.register() APIBert Vermeulen
2013-11-15Emit meta bitrateBert Vermeulen
2013-11-15Emit meta bitrateBert Vermeulen
2013-11-15Prune dead codeBert Vermeulen
2013-11-15Implement OUTPUT_METABert Vermeulen
This replaces the Decoder.add() method with Decoder.register(). The first argument is still output type, but all arguments are now optional: Decoder.register(output_type, id='someid', meta=(object-type, 'Name', 'Description')) 'id' defaults to the protocol decoder instance id, and only needs changing if a decoder chain needs to fork. 'object-type' refers to a Python object, such as int or str. After registering, the PD submits data as usual with Decoder.put(), with the only argument a value of the registered object-type.
2013-11-14Split annotation-specific output to another structBert Vermeulen
struct srd_proto_data was supposed to be independent of the output type, but a field specific to annotations snuck in there.
2013-11-07Minor code cleanupBert Vermeulen
2013-11-07Rename inter-PD output type to SRD_OUTPUT_PYTHONBert Vermeulen
This better reflects what it is: a python object generated and processed by python code.
2013-10-31unittests: Update to recent API changes.Uwe Hermann
srd_session_config_set() is now called srd_session_metadata_set(), and SRD_CONF_NUM_PROBES and SRD_CONF_UNITSIZE are dropped.
2013-10-30The start() method no longer takes a metadata parameterBert Vermeulen
2013-10-30Receive samplerate via metadata(), not start()Bert Vermeulen
2013-10-30Pass metadata to PDs only at runtime, not at decoder startBert Vermeulen
The SRD_CONF_NUM_PROBES metadata key was removed. It wasn't actually used for anything, since this is trivially available via the configured (or default) probe list. The SRD_CONF_UNITSIZE key was removed. The unit size is instead derived from the probe list: the number of probes packed into the least amount of space possible defines the unit size. PD changes: * The start() method no longer takes a 'metadata' parameter. * Metadata now comes in only via the metadata() method, which takes a key and value. The only key defined so far is SRD_CONF_SAMPLERATE, which is exported into the module namespace. API changes: * srd_session_send() now takes an end_samplenum parameter, and had its options rearranged. * srd_session_config_set() is now srd_session_metadata_set(). This keeps "config" options for a future feature to allow PDs or frontends to configure each other's options on the fly, up and down the stack.
2013-10-30Documentation and coding style fixesBert Vermeulen
2013-10-25Add a 'guess_bitrate' protocol decoder.Uwe Hermann
This PD tries to guess / detect / estimate a bitrate of e.g. some UART communication snippet or other protocols.
2013-10-24controller.c: Add checks for srd_inst_option_set().Uwe Hermann
This also fixes some unit tests that were previously failing.
2013-10-24testsuite: Add some decoder instance related tests.Uwe Hermann
2013-10-21parallel: Limit number of probes to 8 for now.Uwe Hermann
This will be increased again at some later point.
2013-10-20session: Add some more parameter checks, minor other fixes.Uwe Hermann
Some of these also fix unit tests that were previously failing.
2013-10-20testsuite: Add a few session related unit tests.Uwe Hermann
2013-10-20Add initial sync parallel bus decoder.Uwe Hermann
2013-10-18Report invalid module name on decoder loadBert Vermeulen
2013-10-18testsuite: Add a few more unit tests.Uwe Hermann
2013-10-17Minor cosmetics, typos, Doxygen updates/fixes.Uwe Hermann
2013-10-17Avoid clobbering class variables when setting instance optionsBert Vermeulen
2013-10-17Don't release borrowed referenceBert Vermeulen
2013-10-17.gitignore: Add some missing entries.Uwe Hermann
2013-10-17testsuite: Add some basic tests for loading PDs.Uwe Hermann
2013-10-17Add a testsuite for libsigrokdecode.Uwe Hermann
This uses the Check unit testing framework, just like libsigrok. For now, only a few very basic unit tests are included. Invocation: make check
2013-10-16Properly return error on exception in srd_inst_option_set()Bert Vermeulen
2013-10-14Move all decoder instances and callbacks into a session structBert Vermeulen
The struct srd_session also holds configuration parameters formerly passed to srd_session_start(). The new call srd_session_new() takes a pointer where a newly allocated pointer to struct srd_session will be stored. This pointer must be passed as the first argument to all functions that require it. The SRD_CONF_NUM_PROBES, SRD_CONF_UNITSIZE and SRD_CONF_SAMPLERATE keys must be configured with srd_config_set() before srd_session_start() is called. A new call srd_session_destroy() is also available. This cleans up all resources the session holds. This is also called from srd_exit() for all sessions.
2013-10-14Code cleanupBert Vermeulen
2013-10-13i2s_dump: Fix bug in the WAV output format generation.Uwe Hermann
2013-10-13Add new i2s_dump protocol decoder.Uwe Hermann
This stacks of top of the 'i2s' decoder and outputs the audio data to file (or stdout) in various formats. Currently only WAV is supported. This is work in progress, it has various hard-coded assumptions.
2013-10-13tlc5620: Output short/long annotations.Uwe Hermann
This fixes (the remaining parts of) bug #168.
2013-10-13tlc5620: Use annotation types.Uwe Hermann
This fixes parts of bug #168.
2013-10-13lpc: Initial start-/end-sample support.Uwe Hermann
This fixes (parts of) bug #163.
2013-10-13lpc: Use annotation types.Uwe Hermann
This fixes (parts of) bug #163.
2013-10-13lpc: Make the RESET# pin optional.Uwe Hermann
2013-10-13lpc: Fix handling of optional probes.Uwe Hermann
2013-10-13lpc: Add annotation helper method.Uwe Hermann
This fixes (parts of) bug #163.
2013-10-11usb_signalling: Drop packet handling.Uwe Hermann
The usb_signalling PD should not care about packets, only symbols and bits. The new (fixed) usb_packet PD constructs packets out of individual bits now.
2013-10-11usb_packet: Major rewrite, e.g. to prepare for GUI usage.Uwe Hermann
Restructure the PD into a state machine, output individual packet components as separate annotations, define a protocol output format and implement it (so that other PDs can stack on top of this one), and fix various other isses in the PD.
2013-10-11Rename usb_protocol to usb_packet.Uwe Hermann
There will be further PDs that are stacked on top of usb_packet.