How to install custom Sigrok Pulseview protocol decoder? - Page 1
Forum section: electronics / projects

author: AndySymons
author_rank: Newbie
timestamp: September 22, 2024, 11:51:18 am
content: I want to create my own protocol decoder (PD) for a proprietary protocol used by Scantronic 9651 alarm systems to communicate with keypads over a 200m bus. It is part of a reverse-engineering project to discover and re-use that protocol:https://github.com/AndySymons/KELLY-Scantronic-9940-KeypadAs a first step, I just copied the I2C decoder and changed its name to 'SAKIP' (Scantronic Alarm Keypad Interface Protocol). The Sigrok documentation (https://sigrok.org/wiki/Protocol_decoder_HOWTOandhttps://sigrok.org/wiki/Protocol_decoder_API) tells me how to create the PD, but not how to link it to PulseView (on MacOS). Simply including the code inside the PulseView 'decoders' directory (inside the .app package), alongside all the other decoders, does not cause it to be recognised.Can anyone tell me how to get SAKIP to show up in the list of available decoders in Pulseview??

author: voltsandjolts
author_rank: Unknown
timestamp: September 22, 2024, 12:23:00 pm
content: No experience of custom decoders, but noticed here:https://sigrok.org/wiki/Protocol_decoder_API#Decoder_registrationQuote

author: AndySymons
author_rank: Newbie
timestamp: September 24, 2024, 05:45:27 pm
content: Yeah 'registration' is not 'installation' and I do have the API spec (https://sigrok.org/wiki/Protocol_decoder_API).By trial-and-error I found thaton MacOSthe procedure isFindpulseview.appin your Applications folderRight click and select'show package contents'Navigate to/Contents/share/libsigrokdecode/decoders/Either create your own folder here or copy and existing one then change the nameWithin that folder create or edit the copied files__init__.pyandpd.pyas described in theHowTo guide(https://sigrok.org/wiki/Protocol_decoder_HOWTO#Files). If you copied an existing protocol to use as a template, you need at least to change its name to a unique one (search for the old name and replace it, preserving the capitalisation).(Re)start the Pulseview appNow if you press press the decoders button, the resulting list should include your new decoderI Have no idea how to install the PD in any other environment!It is remiss of Sigrok not to include this information in the HOWTO guide.

author: bson
author_rank: Unknown
timestamp: September 24, 2024, 10:53:53 pm
content: On Linux (Fedora 40) the default installation (from dnf) is /usr/share/libsigrokdecode/decoders/They can live there, or in ~/.local/share/libsigrokdecode/decoders. I just verified the latter works by copying the i2c decoder there and renaming it foo2c. Shows up as expected:

author: nonlinearschool
author_rank: Contributor
timestamp: November 04, 2024, 11:11:29 pm
content: I hope this is not[/ioff-topic]. However, it is regarding maybe creating a custom multiple devices logging Pulsview, or maybe it is more having multiple Pulsview's screens to run multiple devices from different ports, (or common USB port)?I have quite a few pieces of test equipment that is compatible with this app. The first example would be running DSLogic as a logic analyzer, and A DMM voltage measurement along side. So I can test multiple components and... Why is it so important is to be able to match times and overlay the final results. Using multiple computers would mean matching exact same clock time of the machine, and even then I do not think it would work.Do I have create a customized version, or create a custom multiple window setup?