summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-06-10cfp: Add reset() method.Uwe Hermann
2018-06-10cfp: Use the Python in/range keywords.Uwe Hermann
2018-06-10cfp: Shorten two variable names.Uwe Hermann
2018-06-10cfp: Factor out self.putx().Uwe Hermann
This improves readability and avoids some duplication.
2018-06-10cfp: Reduce indentation level.Uwe Hermann
2018-06-10cfp: Drop unneeded annotation prefix; plural fixes.Uwe Hermann
2018-06-10cfp: Drop unused self.out_python.Uwe Hermann
2018-06-10cfp: Fix incorrect copy-paste description.Uwe Hermann
2018-06-10Revert "mdio: Add 'TURNAROUND' long/full annotation." in order to comply ↵Elias Oenal
with the naming used in the Ethernet standard. This reverts commit 30d775b095a4b76e5fa755b19d5521affa3c053c.
2018-06-10Add a CFP decoder.Elias Oenal
2018-05-30counter: Drop unneeded tuple braces.Uwe Hermann
(minor readability / consistency improvement)
2018-05-30counter: emit wider annotations for data and word countsGerhard Sittig
Track the start of a data or word cycle. Avoid narrow ss=es annotations which may be tedious to inspect by users in GUI applications. This resolves the issue initially reported in bug #1210.
2018-05-30counter: prepare for variable width annotationsGerhard Sittig
Explicitly pass a start sample number to the .putc() method, to prepare annotations where ss differs from es. This is motivated by bug #1210. Stick with the narrow ss=es annotations for backwards compatibility.
2018-05-29counter: explicit string formatting for annotation textGerhard Sittig
Replace str() conversion with explicit number text formatting, for improved awareness and easier future adjustment during maintenance.
2018-05-29counter: use local variables instead of instance variablesGerhard Sittig
Since values get accessed within the .decode() method exclusively, we need not store data in instance variables of the decoder object. Use another variable for the "reset edge" option as well for consistency.
2018-05-29counter: move some init code to the start of decode()Gerhard Sittig
Since PD API v3 the .decode() method is called exactly once, and contains a main loop itself. Move initialization code that sets up .decode() related logic to the start of the .decode() routine.
2018-05-29counter: use symbolic names for input pins, wait conditions, annotation rowsGerhard Sittig
Replace magic numbers by symbolic references to (fixed and optional) decoder input signals, .wait() conditions, as well as annotation rows. Move some empty lines, to better reflect which code lines form groups of similar activity ("blocks" that logically belong together).
2018-05-29counter: explicit option text to .wait() edge mappingGerhard Sittig
The previous implementation used the fact that libsigrok's internal API happens to use the first letter of the user visible English option text. Two locations mapped edge choices to API literals in different ways. Unify them, introduce an explicit option text to literal value mapping. (Many if not all decoder implementations do that. More adjustment to use common code could be beneficial.)
2018-05-26atsha204a: Add the reset() method.Uwe Hermann
2018-05-26atsha204a: Rename a few methods for consistency.Uwe Hermann
2018-05-26atsha204a: Shorten a few more code chunks, add helpers.Uwe Hermann
2018-05-26atsha204a: Shorten self.opcode to op in a few places.Uwe Hermann
2018-05-26atsha204a: Use the Python 'in' keyword to improve readability.Uwe Hermann
2018-05-26atsha204a: Shorten output_tx_bytes()/output_rx_bytes() a bit.Uwe Hermann
2018-05-26Add decoder for Microchip ATSHA204A crypto moduleMichalis Pappas
2018-05-21Add ON Semi CAT24C256, CAT24M01.whitequark
2018-05-19Decoder_put(): Avoid a g_malloc()/g_free() pair per binary out.Uwe Hermann
2018-05-19Decoder_put(): Avoid a g_malloc()/g_free() pair per annotation.Uwe Hermann
2018-05-18srd_inst_find_by_obj(): Minor performance improvement.Uwe Hermann
Handle the most common case of one session and one decoder first so we can exit early. This has a small, but measurable performance benefit.
2018-05-18srd_*inst_find_by_obj(): Suggest inlining for performance reasons.Uwe Hermann
This has a small, but measurable performance benefit.
2018-05-18srd_*inst_find_by_obj(): Move functions, make them static.Uwe Hermann
These functions are only used in type_decoder.c. Move them there and make them static.
2018-05-18sample_matches(): Force inlining for performance reasons.Uwe Hermann
2018-05-18Simplify code by dropping session_is_valid().Uwe Hermann
A simple NULL check is sufficient here, max_session_id is being properly handled by srd_init(), srd_exit(), srd_session_new(). This might also have a small performance benefit.
2018-05-18convert_meta(): Use g_variant_type_equal().Uwe Hermann
2018-05-18Doxyfile: Exclude the build/ directory.Uwe Hermann
2018-05-18Add srd_searchpaths_get() API docs.Uwe Hermann
2018-05-18Doxyfile: Update to a more recent Doxygen version.Uwe Hermann
2018-05-18Random whitespace/cosmetic/consistency fixes.Uwe Hermann
2018-05-17type_decoder.c: Fix a compiler warning (-Wswitch-default).Uwe Hermann
type_decoder.c: In function ‘get_term_type’: type_decoder.c:486:2: warning: switch missing default case [-Wswitch-default] switch (v[0]) { ^~~~~~
2018-05-17configure.ac: Add some more compiler warning options.Uwe Hermann
Add the -Wshadow -Wformat=2 -Wno-format-nonliteral -Wfloat-equal compiler options (supported by both gcc and clang) to get notified of more potential issues in the code.
2018-05-16srd_decoder_load_all_zip_path(): Fix a compiler warning (-Wshadow).Uwe Hermann
2018-05-16srd_inst_channel_set_all(): Fix a compiler warning (-Wshadow).Uwe Hermann
instance.c:266:11: warning: declaration of ‘l’ shadows a previous local [-Wshadow] GSList *l = g_slist_nth(di->decoder->channels, i); ^ instance.c:206:9: note: shadowed declaration is here GList *l; ^
2018-05-16type_decoder.c: Drop unneeded g_free() NULL check.Uwe Hermann
2018-05-16instance.c: Fix a scan-build warning.Uwe Hermann
instance.c:278:25: warning: The left operand of '!=' is a garbage value if (new_channelmap[i] != -1) ~~~~~~~~~~~~~~~~~ ^
2018-05-16decoder.c: Fix a scan-build warning.Uwe Hermann
decoder.c:343:9: warning: Access to field 'ob_type' results in a dereference of a null pointer (loaded from variable 'py_default') if (Py_TYPE(py_default) != Py_TYPE(py_item)) { ^~~~~~~~~~~~~~~~~~~ /usr/include/python3.6m/object.h:118:33: note: expanded from macro 'Py_TYPE' #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
2018-05-16type_decoder.c: Fix a scan-build warning.Uwe Hermann
type_decoder.c:836:3: warning: Value stored to 'ret' is never read ret = process_samples_until_condition_match(di, &found_match); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2018-05-16instance.c: Fix a memory leak reported by scan-build.Uwe Hermann
instance.c:280:10: warning: Potential leak of memory pointed to by 'new_channelmap' pdch = g_slist_nth(di->decoder->channels, i)->data; ^~~~~~~~~~~
2018-05-16type_decoder.c: Fix a memory leak reported by scan-build.Uwe Hermann
type_decoder.c:206:2: warning: Potential leak of memory pointed to by 'pdb' PyGILState_Release(gstate); ^~~~~~~~~~~~~~~~~~
2018-05-16type_decoder.c: Fix a memory leak reported by scan-build.Uwe Hermann
type_decoder.c:197:10: warning: Potential leak of memory pointed to by 'pdb' return SRD_ERR_MALLOC; ^~~~~~~~~~~~~~
2018-05-15Convert some g_malloc0() to g_malloc().Uwe Hermann
For the converted calls there's no requirement for all struct fields being memset()'d to zero, or all struct fields are explicitly set later anyway.