Device Monitoring Studio supports automatic parsing of monitored USB, Serial and Network data according to custom protocol. The protocol definition language is a C-like programming language with full support of dynamic-size data structures. It supports conditional and loop statements, has a rich set of built-in functions, allows user-defined functions and supports extension via external JavaScript code.
Device Monitoring Studio automatically binds monitored Serial, USB and Network packets if a Capture Filter is enabled for a session or at least one protocol-based data processing module is added to it. Examples of protocol-based modules include: Structure View, Custom View, Request View, Text Exporter and others.
After the packet binding is complete, the filter is applied (if enabled). At this stage, a packet may be discarded. Note that this occurs before any other component receives a bound packet. After that, field values become available for all data processing modules.
Structure View is a data visualizer that displays all bound fields as they are. Thus it automatically works with any built-in or custom protocol. Text Exporter is an “exporting” version of Structure View: it directs all parsed data into the text file instead of a window on a screen.
Custom View data visualizer may be used to get bound packet field values, format them and display in a visualizer window. Serial Monitor's Request View and Console View data visualizers as well as Network Monitor's HTTP View are controlled by Custom View.