The Saleae Analyzer SDK lets you make your own custom protocol analyzers. The framework is very flexible. You can do everything we can do (we use the same SDK). You'll be creating a shared library (.dll, .so, or .dylib) that will be loaded by the Logic software as a plugin.
While there are many advantages to providing the SDK in this format, implementation of a custom protocol will probably take an experienced C++ developer at least a full day, and possibly up to a week, to complete. You will probably want to have had considerable programming experience, probably significant C++ experience, before taking it on.
That said, you can get away with implementing only a small part of the full capability of the analyzer. For example, you could have only one setting (the input channel(s) to use), and you could skip creating simulated data to test against, not bothering to provide for data export or tabular display.
Further, by default, you will start out with a fully featured and maximally simple analyzer—SimpleSerialAnalyzer. The documentation will walk you through how to modify it to suit your needs, as well as what parts can be left empty.
Let us know what you think.
Latest SDK Release Works with All Software from 1.1.32 and Newer
Source Code to all Saleae Analyzers, from release 1.2.17 (the source code for all our analyzers) These don't change frequently, but updated copies are available on request.
Documentation and Getting Started
To get started, please first read the readme file for the SampleAnalyzer repository:
And then read the Setup documentation:
The documentation for the Analyzer SDK can be found in the pdf and on GitHub. This document still needs to be updated and migrated to markdown, but the documentation for the C++ SDK is largely up-to-date, although it is missing details on the Protocol Search system. Please do not use the first section of this for the setup instructions since they are outdated.
Older 1.1.14 Release
Saleae Analyzer SDK 1.1.14 (includes User's Guide)
Saleae Analyzer Source Code 1.1.14 (the source code for all our analyzers)
trello ID: 57215d38fab5ad4d023085f5
trello data: 1499691389