summaryrefslogtreecommitdiff
path: root/sigrokdecode.h
AgeCommit message (Collapse)Author
2012-02-01srd: rename extra_probes to optional_probesBert Vermeulen
2012-01-31srd: free all decoder instances when unloading decodersBert Vermeulen
2012-01-26srd: log: Support for setting a log domain (prefix).Uwe Hermann
2012-01-25srd: Support for registering a custom log handler.Uwe Hermann
2012-01-25srd: properly recurse into PD instances when looking for one.Bert Vermeulen
This fixes the confusion between parallel and linear stacks.
2012-01-24sr: better error reportingBert Vermeulen
2012-01-24srd: change struct srd_pd_output to have a path to the DI, not the decoder.Bert Vermeulen
2012-01-23srd: add python exception catcher, which routes to srd_err() and srd_dbg()Bert Vermeulen
2012-01-21srd: support for mapping probesBert Vermeulen
2012-01-17SRD: support setting per-PD optionsBert Vermeulen
All decoder class options are automatically copied to a newly created instance with their default value, which can be overridden with the GHashTable passed to srd_instance_new(). Currently, only strings and integers are supported as option value types. The type is set by the default value in the decoder class, and enforced when overriding them. Integers can be specified in any format python allows: 10, 0x0a and so on.
2012-01-15srd: PDs now get a logic feed with sample numbers, not time/durationBert Vermeulen
2012-01-15srd: clean up module loading/unloading, and the decoder structBert Vermeulen
PDs are now checked for a proper Decoder object, with at least the required attributes. The author, long_desc and func attributes in the decoder object are gone.
2012-01-15move srd_Decoder to sigrokdecode.h, and rename it in line with srd_logicBert Vermeulen
2012-01-10srd: annotation -> annotations.Uwe Hermann
In the PDs (Python code), the 'annotation' variable/attribute is a list of annotation formats. Use the plural 'annotations' as we do for other lists such as 'inputs', 'outputs', 'probes', 'options', and so on.
2012-01-10srd: Finish consistency rename to ANN/PROTO.Uwe Hermann
2012-01-10Stacked protocol decoders implementation.Bert Vermeulen
The DDC decoder takes input from the I2C PD.
2012-01-09code cleanupBert Vermeulen
2012-01-09srd: change output_new() API call to add()Bert Vermeulen
2012-01-08pass PD output to the calling frontend, simple annotation viewer in CLI.Bert Vermeulen
2012-01-07srd: Add SRD_ERR_BUG.Uwe Hermann
2012-01-07expose SRD_OUTPUT_* as symbols in the sigrokdecode module.Bert Vermeulen
2012-01-07convert data coming in from a PD to C structsBert Vermeulen
This is in preparation for passing annotation data back to the calling frontend, and python data up to the next protocol in the stack.
2012-01-05new srd_logic type implementation for PDs to iterate over.Bert Vermeulen
2011-12-28better python memory managementBert Vermeulen
2011-12-28make time/duration work, at least when loading from a session fileBert Vermeulen
PD decode() call now takes 3 arguments: timeoffset, duration, data as per the current API specification.
2011-12-28new dynamic output stream registration code, not finished.Bert Vermeulen
2011-12-22srd: SRD_ERR_ARGS -> SRD_ERR_ARG.Uwe Hermann
This is done to be consistent with libsigrok's SR_ERR_ARG (nicer that way).
2011-12-22srd: Add logging framework.Uwe Hermann
This includes the (private) functions srd_err() and friends, the (public) SRD_LOG_ERR macros and friends, and the (public) API functions srd_set_loglevel() and srd_get_loglevel().
2011-12-05srd: Initialise struct members by name. Minor other fixes.Gareth McMullin
Restored some prototypes in sigrokdecode.h. Abort sigrok-cli on error while decoding (includes KeyboardInterrupt). Fixed passing metadata to Decoder.start() method.
2011-12-04refactored PD framework, now using new sigrok.Decoder objectBert Vermeulen
This uses the new python unified type/class object API to construct an object for PDs to subclass. The sigrok.Decoder class has a method put() which is implemented as a C function, and receives the PD's object instance as its first parameter.
2011-12-01srd: PDs now explicitly register with sigrok module.Gareth McMullin
2011-11-28srd: Moved instance list to libsigrokdecode.Gareth McMullin
Functions changed to srd_session_start() to initialise the session, and srd_session_feed() to feed sample data to the decoders.
2011-11-28srd: Pass samplerate to decoder in metadata.Gareth McMullin
2011-11-27srd: Pass metadata to decoders only on SR_DF_HEADER.Gareth McMullin
Before this was passed to the decoder's constuctor, but the parameters may not all be known at construction. Decoders now have a method start() which is called at the start of the capture, and metadata is passed as an arg to this function.
2011-11-20libsigrokdecode: Allow frontend to configure decoder probes.Gareth McMullin
2011-11-20libsigrokdecode: Allow multiple PD instances.Gareth McMullin
There is currently no way to configure options or probes, so they'll always be the same, but it's a start.
2011-11-20libsigrokdecode: Move decoder metadata into Decoder object.Gareth McMullin
2011-11-20Simplified code for calling Python decode method.Gareth McMullin
2011-11-20Partial implementation of the streaming PD API.Kristoffer Sjöberg
2011-02-09sigrokdecode.h: More doxygen-friendly comments.Uwe Hermann
2011-02-06struct srd_decoder: Add more string fields.Uwe Hermann
Get the following string fields from the .py decoders' register() function and store them in the respective 'struct srd_decoder': - longname - longdesc - author - email - license
2011-01-30Consistently use _exit prefix for functions.Uwe Hermann
2011-01-30Change SIGROKDECODE_ prefix to SRD_.Uwe Hermann
Do the same for sigrokdecode_ -> srd_ in struct names and function names.
2011-01-28libsigrokdecode: Always load all decoders upon init.Uwe Hermann
Let sigrokdecode_init() always load all decoders it can find in the decoders directory, i.e., the user doesn't need to manually load decoders. Instead he can just look up the list via sigrokdecode_list_decoders() after sigrokdecode_init() has run. This is not a problem, as sigrokdecode_init() is only run once per sigrok-cli or sigrok-gui invocation, and even with many decoders this should not take too long. The list of decoders within libsigrokdecode is no longer a string, but rather a list of 'struct sigrokdecode_decoder *' pointers. Add sigrokdecode_get_decoder_by_id() API function which returns the decoder with the specified ID (file name without ".py" suffix, for now), or NULL if it cannot be found. sigrokdecode_load_decoder() is now a private function and not exported via the lib, i.e. not available to users of libsigrokdecode.
2011-01-20lib headers: Add 'extern "C"' for C++ usage.Uwe Hermann
2011-01-15Don't expose libsigrokdecode's interal GSList.Uwe Hermann
Instead, add a libsigrokdecode_list_decoders() API call which gives you the list of known protocol decoders.
2011-01-15CLI: Support for running protocol decoders.Uwe Hermann
Add a new -A | --list-protocol-decoders option to show the list of protocol decoders we could find. Add -a | --protocol-decoders to specify a list of decoders that shall be applied to the datastream. Currently only works for one decoder. Define DECODERS_DIR, which is the directory where the decoders will be installed upon 'make install', and where libsigrokdecode_init() will search for them. Thanks Olivier Fauchon <olivier@aixmarseille.com> for the initial patch, merged in slightly different form.
2010-04-24Various Python decoder infrastructure improvements.Uwe Hermann
- Introduce 'struct sigrokdecode_decoder'. - Decoders are now handled via two C functions: - sigrokdecode_load_decoder(): Fills a 'struct sigrokdecode_decoder'. - sigrokdecode_run_decoder(): Runs a decoder function. - There are now two decoder API functions a script needs to implement: - register(): Returns a Python dict with certain metadata. - decode(): Runs the actual decoder code. - libsigrokdecode: Add and use some more #defines for errors: - SIGROKDECODE_ERR_ARGS - SIGROKDECODE_ERR_PYTHON - Various other smaller Python decode script infrastructure issues.
2010-04-23sigrokdecode.h: Add struct sigrokdecode_decoder_info.unknown
2010-04-23sigrokdecode_run_decoder(): Pass in the module name.unknown