Types of Plug-ins

Top  Previous  Next

DigiView supports 3 types of plug-ins; mini, full and hybrid.

 

Mini Plug-ins

Mini Plug-ins use one of the built-in parsers as a pre-parser, simplifying your work.  The pre-parser handles the low level details of extracting the link level information.  Your plug-in can concentrate on higher level issues like formatting, adding another level of protocol, soft triggering or filtering.  The plug-in depends on the pre-parser supplied user options for the basic protocol configuration.  The mini plug-in can add additional options if needed (see the I2C plug-in example) but can not add new channelselect options.  For example, if you have a custom protocol implemented over an ASYNC link, you could write a mini-plug-in based on the internal ASYNC pre-parser.  The pre-parser will extract the ASYNC characters for you (like a UART would).  Your plug-in would inspect the characters and look for your protocol's commands, parameters and any framing indications.  Your plug-in would then display the protocol as you see fit.

Full Plug-ins

A full plug-in is based on the RAW data pre-processor.  The RAW pre-processor simple filters out all data samples that do not involve a transition on one of the channels your plug-in is monitoring.  It does not provide any user configurable options.  All user options for the protocol (including channel-selects) are specified by the plug-in. The plug-in is responsible for all low level interpretations of the signal changes.  It looks for bit timing, enable levels, clock edges, etc. and determines what they mean.

Hybrid Plug-ins

A hybrid plug-in is based on an internal pre-parser like the mini-plug-in.  However, it also specifies additional channels to watch and assumes all responsibility for them.  In this configuration, DigiView sends the plug-in all of the events generated by the pre-parser as well as raw data events whenever one of the additional monitored channels transition.  The pre-parser events and raw data events are properly time sequenced.  A possible use for a hybrid plug-in might be to add a unique framing signal or additional control signals to an existing built-in protocol. For example, you might be sending ASYNC characters across a half-duplex bus.  Your plug-in could monitor the DIRECTION control line and adjust the display formatting to differentiate which end of the link sent the message. The 'HalfDuplex' example plug-in demonstrates this.