summaryrefslogtreecommitdiff
path: root/controller.c
AgeCommit message (Collapse)Author
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-24controller.c: Add checks for srd_inst_option_set().Uwe Hermann
This also fixes some unit tests that were previously failing.
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-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-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-09-01Use frontend-registered callback with correct parametersBert Vermeulen
2013-05-23Fix double freeBert Vermeulen
2013-05-05Fix various memory leaksBert Vermeulen
2013-05-03Doxygen: Various fixes.Uwe Hermann
2013-05-03Main header is <libsigrokdecode/libsigrokdecode.h> now.Uwe Hermann
This matches the convention used in libsigrok. Potential other headers might end up in libsigrokdecode/, but only libsigrokdecode.h is meant to be #included by frontends directly.
2013-05-03Doxygen: Add @since markers to API functions.Uwe Hermann
Also, document the functions in version.c.
2013-04-23GPL headers: Use correct project name.Uwe Hermann
2013-03-19use GVariant for passing decoder options and probesBert Vermeulen
Decoder options are now exposed in struct srd_decoder, via a GSList of the new struct srd_decoder_option. The 'def' field represents the default value as set in the decoder, converted to GVariant. This allows a library user to determine the type as well as default value.
2013-03-19code cleanupBert Vermeulen
2013-02-09Doxygen: Initial groups and topic short descriptions.Uwe Hermann
2013-02-09Doxygen: Mark private functions/variables properly.Uwe Hermann
2013-02-09Doxygen: Add intro section and some docs.Uwe Hermann
2013-02-02Bring back temporarily reverted changes.Uwe Hermann
2013-01-27Temporarily revert API changes in preparation of release.Uwe Hermann
The upcoming libsigrokdecode release should not contain any API changes so it is compatible with existing released frontends (sigrok-cli 0.3.1).
2013-01-01srd_inst_new() options can be NULLBert Vermeulen
2012-12-28Fix compiler warning.Uwe Hermann
2012-05-10srd: Support for one or more optional probes.Uwe Hermann
In the protocol decoder you always get all required probes, then _all_ optional probes in the list of probes in the decode() call. Example: (r1, r2, r3, o1, o2, o3, o4) = pins In this case r1-r3 are required probes, o1-o4 are optional probes. However, the value of valid/used/specified probes will be 0 or 1, whereas the value of probes that were not specified/assigned by the user will be (at the moment) 42. The PD can check for a valid probe like this: if p in (0, 1): ... Or check for an invalid probe: if (p > 1): ... The value of 42 could change to be -1 or None later.
2012-05-09srd: Fix a few Doxygen errors.Uwe Hermann
2012-05-04Fix bracket placingThomas Jarosch
Make it consistent with the rest of the code Signed-off-by: Thomas Jarosch <thomas.jarosch@intra2net.com>
2012-04-16srd: Quickfix for MinGW build issue.Uwe Hermann
2012-03-28srd: Some more (optional) consistency renames.Uwe Hermann
2012-03-28srd/cli/qt: Some more API consistency renames.Uwe Hermann
2012-03-21srd: srd_exit(): Set pd_list to NULL after freeing.Uwe Hermann
This will ensure that any subsequent checks for pd_list == NULL work properly.
2012-03-21srd/cli/qt: s/srd_session_feed/srd_session_send/.Uwe Hermann
2012-03-18srd/cli/qt:s/decoders/decoder/ for consistency.Uwe Hermann
2012-03-18srd: Constify lots more parameters.Uwe Hermann
2012-03-18srd: Cosmetics, fix/add Doxygen comments.Uwe Hermann
2012-03-18srd: Fix typos.Uwe Hermann
2012-03-02sr: Name all callback data 'cb_data'.Uwe Hermann
2012-03-01sr/srd: Consistency fixes for callbacks.Uwe Hermann
- Callback function pointer typedefs end with _t. - Variables holding callback functions are named 'cb' everywhere.
2012-02-28srd: fix SIGROKDECODE_DIR env variable brokennessBert Vermeulen
2012-02-14srd: rename public API functions to srd_thing_action formatBert Vermeulen
2012-02-14srd: don't load all protocol decoders unless we really need to.Bert Vermeulen
2012-02-12srd: last public/private fix, and docs for all publis functions.Bert Vermeulen
2012-02-12srd: finish up public/private APIBert Vermeulen
2012-02-12srd: no public API functions use python-specific arguments nowBert Vermeulen
2012-02-12srd: extra module path can now optionally be passed to srd_init()Bert Vermeulen
Also environment variable SIGROKDECODE_DIR, if present, is prepended to the module path.
2012-02-11Rename 'void *' callback parameters to 'user_data'.Uwe Hermann
This is better, both for consistency reasons, and also because 'data' is a bit too generic and might be confusing, especially since we have other 'data' fields in the code in various places.
2012-02-11srd: Every callback should have a 'void *' parameter.Uwe Hermann
This is required in various situations and for various lib users, especially so GUIs which might want to pass specific info via this mechanism.
2012-02-11srd: rename all instance to instBert Vermeulen