Protocol trigger with custom analyzer

Hi all,

I have written a custom analyzer to interpret Dshot signals. This was based on the SampleAnalyzer project (with the Analyzer2 class) and appears to work correctly. At least is identifies the 16 bits of a frame, tests the checksum, and displays the correct 11bit value (as a number) above each frame in the display.
However, when I turn on the Trigger view in Logic 2.3.27, select my Dshot analyzer and supply a specific Query value (usually 48, but I have tried several others), it doesn’t seem to trigger. As I record a session, it reports a Live Trigger in the bottom left and in the bottom right it always says ‘Looking for first trigger’ despite reporting 48 as the frame value multiple times in the recording.

What is wrong here? Is Protocol Triggering even possible with custom_analyzers? It’s identifying the frame values. Is something else needed to allow it to trigger? Do I need to set an additional member or make a specific call to allow triggering?

Beyond that, will it only trigger on a pattern match? Or can you apply some Boolean logic? For example, I would like it to trigger on any value above 48.

Thanks,
Pat

@pat.summers Sorry for the confusion caused by this. We certainly need to do a better job of highlighting the limitations of Trigger View. I’ll make sure to get our support articles updated.

In summary, custom analyzers are currently not supported by Trigger View. The main reason is because our Trigger View currently relies on a new low level analyzer framing format that we call “frame v2.” Only a handful of analyzers support “frame v2” at the moment, and these are the analyzers that work with Trigger View. HLAs attached to these analyzers are also supported. Namely, the analyzers listed below:

We definitely need to extend support for Trigger View. As such, I’ve created a brand new idea post to start tracking user need for this. Trigger View is quite a powerful tool, and I’d suspect we would want to get to 100% compatibility across all analyzers at some point, including useful features such as the ability to one-shot trigger with it.

For your question below:

Beyond that, will it only trigger on a pattern match? Or can you apply some Boolean logic? For example, I would like it to trigger on any value above 48.

We currently only pattern match, and we don’t have a way of setting the trigger to search for a range of values. I think this could be quite useful - something like allowing “greater than”, “less than”, “contains”, and other ways of triggering on a range of data. I’ve noted a comment on this in the idea post below.