summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-07pjon: fixup PD category for PJDL and PJONGerhard Sittig
2020-07-07sae_j1850_vpw: drop the part which duplicates the timing decoderGerhard Sittig
The SAE J1850 Variable Pulse Width decoder used to track and annotate the width of pulses between edges, which duplicates existing features of the 'timing' decoder. Remove this part from J1850, users can always connect the input signal to multiple decoders as needed.. Also sort annotation rows while we are here. Top to bottom represents raw wire bits to highest interpretation layer, as in other decoders.
2020-07-07sae_j1850_vpw: eliminate magic numbers for annotation class referencesGerhard Sittig
Use symbolic identifiers for annotation classes, to improve readability and maintainability.
2020-07-07sae_j1850_vpw: update for API v3, adjust to recent requirementsGerhard Sittig
IRC user pman92 reported that this decoder exists, and started migration to the v3 API. This commit completes the migration, and adds missing decoder infrastructure which has become mandatory recently. Adjust the boilerplate: Drop FSF postal address. No Python output, add category tag, unambiguous annotation class and row names. Add reset() method. Use common code for edge detection. This commit also addresses minor style nits. Pass the most recent pulse's edges as ss and es to the data bit handling routine. Adjust whitespace to unbreak editor navigation and to improve readability. Use a more verbose name for the decoder, "vpw" appears a little short and collision happy, and is not found when users search for "j1850". [ Indentation changed, see whitespace ignoring diff for the essence. ] Reported-By: pman92 <dpriestley92@hotmail.com>
2020-07-07vpw: introduce SAE J1850 (VPW) decoderAnthony Symons
Introduce a protocol decoder for the GM VPW 1x and 4x Vehicle Bus (SAE J1850, or VPW for variable pulse width).
2020-07-02pjon: show "communication relations", and nitsGerhard Sittig
Do track the RX and TX information, including their bus IDs. Present bus numbers as dotted quads. Emit another summary annotation for completed frames which presents receiver, transmitter, payload, and ACK details at even higher zoom levels. Rename the last remaining "init CRC" instance for consistency.
2020-07-02pjdl: prepare for "stretched" timingsGerhard Sittig
Since the spec is vague on the subject, and real world captures were found to occassionally run on odd clocks, internally prepare to inspect traffic and interpret its content although the input data is invalid in the strictest sense. Keep this hack internal, don't suggest to users that invalid traffic would be perfectly acceptable.
2020-07-02pjon: use underscore in input/output names for stacked decodersGerhard Sittig
Rename 'pjon-link' to 'pjon_link' for consistency with other decoders.
2020-06-24pjon: introduce decoder for PJON frame inspectionGerhard Sittig
Introduce a protocol decoder which accepts 'pjon-link' Python input and interprets PJON frames. The implementation is assumed to be operational but most of the protocol's flexibility (optionally present and variable width fields) has not yet been tested due to lack of example captures. During development of the PJON decoder only the PJDL link layer decoder was available, other link layers were not tested.
2020-06-24pjdl: introduce decoder for PJON single wire serial link layerGerhard Sittig
Introduce a protocol decoder which generates 'pjon-link' output from 'logic' input by interpreting the PJDL single wire serial communication link layer of the PJON protocol stack. This decoder extracts frame markers, data bytes, as well as their pad/sync decoration. Inspection of data values, or checks for frame validity remain the responsibility of a stacked decoder which is shared among several link layer types. This implementation "violates" the PJDL spec in those places where the spec is incomplete or vague, and real world traffic would not decode at all when the strict letter of the spec is applied instead of its spirit. When in doubt, the decoder implementation errs to the usability side. Carrier sense detection is incomplete in this version. Data extraction works for all currently available captures. Recovery from synchronization loss after glitches is acceptable. Glitch filtering is missing (the spec is silent on this subject).
2020-06-23jtag: Use list.append instead of insertKonrad Beckmann
Improve processing time by appending bits instead of inserting them to the lists.
2020-05-26nrf905: Drop non-existent OUTPUT_PYTHON output.Uwe Hermann
2020-05-26nrf905: More readable annotation byte values.Uwe Hermann
Drop the 0x prefix for each byte in annotations (for improved readability). Also, use 02X instead of 02x (printf-style formats).
2020-05-26nrf905: Drop all print() calls.Uwe Hermann
If those are useful for the decoder user, they should be annotations using the Ann.WARN annotation class.
2020-05-26nrf905: Simplify a few code snippets.Uwe Hermann
2020-05-26nrf905: Use SrdIntEnum for annotation classes.Uwe Hermann
2020-05-26nrf905: Add missing 'tags' item.Uwe Hermann
2020-05-26ntf905: Add/rename required self.reset() method.Uwe Hermann
2020-05-26Add decoder for Nordic Semiconductor nRF905 chipJorge Solla
2020-05-22Use PyLong_FromUnsignedLongLong() where needed.Uwe Hermann
There were a few places where PyLong_FromLong() was used for uint64_t numbers. Properly use PyLong_FromUnsignedLongLong() there, and also fix a few additional size/signedness issues while we're here. Reported (and partial patch provided) by "The Count" on Bugzilla, thanks! This fixes bug #1499.
2020-05-21type_decoder.c: Workaround for a compiler warning.Uwe Hermann
type_decoder.c:1040:16: warning: cast between incompatible function types from ‘PyObject * (*)(PyObject *, PyObject *, PyObject *)’ {aka ‘struct _object * (*)(struct _object *, struct _object *, struct _object *)’} to ‘PyObject * (*)(PyObject *, PyObject *)’ {aka ‘struct _object * (*)(struct _object *, struct _object *)’} [-Wcast-function-type] 1040 | { "register", (PyCFunction)Decoder_register, METH_VARARGS|METH_KEYWORDS, | ^
2020-05-21adxl345: Update register meaning for 0x21, 0x22, 0x23 regs.Teo Perisanu
On the Data row, the content of the single-byte registers is decoded as follows: '<Meaning> <Value> <Unit>'. Initially, the meaning for these registers was misplaced. This commit updates these meanings as they really are. Signed-off-by: Teo Perisanu <Teo.Perisanu@analog.com>
2020-04-11ad79x0: Rename the 'ref' option to 'vref'.Uwe Hermann
2020-04-11ad79x0: Reduce unnecessarily many voltage formats.Uwe Hermann
2020-04-11ad79x0: Fix the tags metadata item.Uwe Hermann
2020-04-11ad79x0: Avoid duplicated annotation class/row IDs.Uwe Hermann
2020-04-11Add AD79x0 decoder.Teo Perisanu
Signed-off-by: Teo Perisanu <Teo.Perisanu@analog.com>
2020-04-11ad5626: Always use the same number of decimal places.Uwe Hermann
2020-04-11ad5626: Rename an annotation class.Uwe Hermann
2020-04-11ad5626: Drop unnecessary annotation_rows item.Uwe Hermann
2020-04-11ad5626: Fix the tags metadata item.Uwe Hermann
2020-04-11Add AD5626 decoder.Teo Perisanu
Signed-off-by: Teo Perisanu <Teo.Perisanu@analog.com>
2020-04-11ltc242x: Reduce unnecessarily many voltage formats.Uwe Hermann
2020-04-11ltc242x: Put channel voltages on different annotation rows.Uwe Hermann
Drop the pure channel "marking" annotations, they're unneeded.
2020-04-11ltc242x: Use plural for annotation rows, avoid duplicates.Uwe Hermann
Since recent libsigrokdecode changes, annotation classes and rows must not have overlapping IDs.
2020-04-11ltc242x: Rename the 'ref' option to 'vref'.Uwe Hermann
2020-04-11ltc242x: Fix the tags metadata item.Uwe Hermann
2020-04-11Add LTC242x decoder.Teo Perisanu
Signed-off-by: Teo Perisanu <Teo.Perisanu@analog.com>
2020-04-11ltc26x7: Put channel voltages on different annotation rows.Uwe Hermann
2020-04-11ltc26x7: Reduce unnecessarily many voltage formats.Uwe Hermann
2020-04-11ltc26x7: Fix the default for the 'chip' option.Uwe Hermann
2020-04-11ltc26x7: Option renames for consistency.Uwe Hermann
The 'part' option is renamed to 'chip' (and 'ref' to 'vref') to be more consistent with the naming used in other decoders.
2020-04-11ltc26x7: Fix the tags metadata item.Uwe Hermann
2020-04-11ltc26x7: Drop unnecessary annotation_rows item.Uwe Hermann
All annotation classes are on the same row anyway, and the row name "LTC26x7 data" isn't all that much more useful than no row name at all.
2020-04-11Add LTC26x7 decoder.Teo Perisanu
Signed-off-by: Teo Perisanu <Teo.Perisanu@analog.com>
2020-04-11adxl345: Fix incorrect rate value in handle_reg_0x2c().Uwe Hermann
2020-04-11adxl345: Use all-lowercase method named for handle_reg_*.Uwe Hermann
2020-04-11adxl345: Use SrdIntEnum for the state machine.Uwe Hermann
2020-04-11adxl345: Use SrdIntEnum for annotation classes.Uwe Hermann
2020-04-11adxl345: Fix scale factor in handle_reg_0x22().Uwe Hermann
According to the datasheet, this should be 1.25 (ms/LSB).