STM is an application-layer communication protocol, built on top of a transport-layer protocol (e.g. TCP), to simplify the process of sending and receiving messages and data packets between different systems in an application. The list of messages and data items used in a communication link are defined as part of the application and exchanged between the two end points of the communication link when the connection is established.
Simple Messaging was originally called Simple TCP Messaging, therefore the STM moniker, however over time support for UDP as well as serial communication was added to the library.
The STM code contains a set of simple VIs which implement the API and currently VIs are provided for TCP, UDP and RS-232 as the transport layer. Due to its simple nature it can be easily implemented on other transport layers. For example if you want to send various messages or data items between a LabVIEW FPGA target and its host, you can implement STM using the DMA transfer as the transport layer.
The latest version of STM, as well as some previous versions, is available in VI Package Manager and can be installed from there. Some older versions of sTM are available as attachments here,
A detailed description of the STM protocol is available in the NI Simple Messaging Library (STM) for LabVIEW tutorial.
The Simple Messaging Library is part of our open source effort for reference designs and the STM source code has been moved to GitHub.
Source code: https://github.com/NISystemsEngineering/STMMessaging
Issues Tracker: https://github.com/NISystemsEngineering/STMMessaging/issues
We welcome developers to participate and contribute to the open source development of STM, but submitting issues, implementing issues, and submitting pull requests to the STM source code trunk .