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), you could skip creating simulated data to test against; and not bother providing 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 availible 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 itself can be found in the pdf, also on github. This document still needs to be updated and migrated to markdown, but the documentation for the C++ SDK itself 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, which 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