API Reference Exmbus v0.3.0

View Source

Modules

Documentation for Exmbus.

Wraps the crypto functions used in the Exmbus library.

This module provides a way to define and retrieve keys for the Exmbus parser.

Responsible for parsing the binary data into a structured format.

Parser for the APL layer. Dispatches to the correct parser based on the frame type of the TPL layer.

Parser for a CompactFrame.

Parser for a DataRecord.

This module provides functions for working with compact profiles.

This module represents the Compact Profile header.

This module represents the header of a DataRecord.

This module represents an invalid header.

This module represents an invalid DataRecord.

The Value Information Block utilities

Decode/Encode error codes for the value information block (VIB) of a data record.

This module implements the VIF extension table FB (0xFB)

This module implements the VIF extension table FD (0xFD)

Parse module for the primary VIF table.

Takes care of VIF extension parsing.

Parser for a format frame.

Parser for a full frame.

Utility to find and collect bytes in a binary.

MBus CI codes found in table 2 of EN-13757-7:2018

Parsing context, accumulating errors and layers.

Contains functions for working with data encoded according to EN 13757-3:2018 section 6.3.3 (Table 4) and specified in Annex A of same document.

Routes the parsing to the correct Dll parser, either Mbus or Wmbus.

Data Link Layer for Mbus

Data Link Layer for WMbus

Module responsible for handling the extended link layer Spec taken from EN 13757-4:2019.

This module represents the Communication Control (CC) field in the ELL layer.

Represents an encrypted ELL layer.

This module represents the lack of an ELL layer.

This module represents the Session Number in the ELL layer.

This module represents an unencrypted ELL layer.

Decode/Encode identification number (BCD) to/from binary representation.

Implements encode/decode for the 2-byte manufacturer flag ID

Load a CSV file into a table. Used to load CSVs at compile time for meta programming.

Module responsible for handling the transport layer. Primarily described in EN 13757-7:2018.

This module represents the configuration field in the TPL layer.

A device type for the TPL header (also used in Wmbus DLL)

This module handles the encryption of the TPL layer.

This module represents the Long header in the TPL layer.

This module represents the None header in the TPL layer.

This module represents the short header of the TPL layer.

EN 13757-7:2018 (E) - 7.5.6 Status byte in meter messages

Utilities for manipulating data using the Exmbus library.