Protlr

Easy handling of binary communication protocols

Protlr is a source code generator which eases the handling of binary data formats. Working with binary communication protocols, encoding byte streams, serialization of binary data, analysis of wire protocols and documentation was never easier. Specify the data format with a domain specific language and generate the data access interfaces, debug helper and documentation.

endianness-be protocol Example

codecs {
  4 | BytesFloat | float
}

@entry
struct Paket {
  4 : int32 counter
  4 | BytesFloat : float distance
  * : Data data
}

struct Data {
  4 : float value1
}
🤖

See it in action.

Introduction.

Example.

When is this useful.

  • Do you need a fast and lightweight binary protocol?
  • Do you want to inspect a specific layer in your communication?
  • Do you want to easily work with binary payload data on top of an existing protocol?
  • Do you have to work with a legacy binary data scheme?
  • Do you want guarantees that all parties have the same data access interface implementation?
  • Do you want conform up-to-date documentation?

How it blends in.

Fast and reliable communication protocols are binary. Whether it's the transport layer or payload data. They find its application in every communication system. The processing of binary data is very fast, because it's the way a CPU works. Protlr is "binary", too. It will blend in on every OSI layer.

OSI Layer Model of communication systems

Layer 7ApplicationEtherCAT®, OPC®, PROFIBUS®
Layer 6PresentationEtherCAT®, HTTP2
Layer 5 SessionEtherCAT®, HTTP2
Layer 4 TransportEtherCAT®, TCP, UDP
Layer 3 NetworkIP, IPX
Layer 2 Data LinkPPP, PROFIBUS®, X.75
Layer 1 PhysicalEthernet, PROFIBUS®

Discover what's in it for you.

Blueprint 2x
Easy Handling
The binary data format will be specified in an intuitive language. Protlr will generate source code to read, write and analyze the data as well as documentation.
Readability 2x
Readable Specifications
Use an intuitive domain specific language to write down binary data formats in a readable way. Readability means maintainability.
Stopwatch 2x
Short Development Cycle
The binary format can be described precisely. Protlr takes over the time-consuming tasks of writing documentation and source code implementation – in many languages (ANSI C, C++, Java®, etc.).
Magnifier 2x
Analysis
The analysis of binary data formats can be as easy as this: Describe the format in the domain specific language, generate analysis source code and for example use Wireshark® to analyze the network data.
Nobugs 2x
Error Reduction
A wrong bit is enough. Avoid time-consuming troubleshooting during development. Protlr converts the description into tested and proven source code.
Bitwrench 2x
Full Bit Control
The format specification allows the control of every bit and byte. This allows an easy design of communication protocols for size and speed. What you define is what you get.
Documentation 2x
Free Documentation
The data format description is sufficient to generate meaningful documentation. A repetition in source code and documentation is unnecessary. The gained time can be spent on more important things.
Synchronised 2x
Synchronicity
The propblem of divergence between source code and documentation is eliminated. Whether client/server developer or customer. No more frustration from obsolete documentation and source code.

Make a choice.

Use it in the cloud.

Screenshot of the Protocol Generator Commane-line tool.

Use it offline on your computer.

Screenshot of the Protocol Generator Commane-line tool.