Author Dušan Kolář Software developed under project: IRONSTONE - IoT monitoring and forensics Technologická agentura České republiky - Program podpory spolupráce v aplikovaném výzkumu a experimentálním vývoji prostřednictvím společných projektů technologických a inovačních agentur DELTA (2014-2019) TF03000029 Contents: parse_dlms.c - main DLMS parser file, it contains the parser itself and all necessary routines parse_dlms.h - header file for DLMS parser, contains declarations of necessary functions and definitions of data structures parse_hdlc.c - main HDLC parser file, it contains the parser itself and all necessary routines, requires DLMS parser parse_hdlc.h - header file for HDLC parser, contains declarations of necessary functions and definitions of data structures vlq_base128_be.c - file for VLQ BASE 128 Big Endian parser function vlq_base128_be.h - header file for VLQ BASE 128 Big Endian parser, contains prototype and error codes test_dlms.c - file for simple testing of DLMS parser on raw files dlms_data.c - file with functions for conversion of DLMS data type to text/int values, just for testing dlms_data.h - header file with function prototypes and codes for conversion of DLMS data type, just for testing read.me - this file Compilation of test: gcc -O3 dlms_data.c parse_dlms.c parse_hdlc.c test_dlms.c vlq_base128_be.c -o parse_dlms Usage of test parse_dlms file1 [file2 [file3 [...]]] The DLMS parser fully supports the standard, thus, it is accompanied by necessary HDLC parser. DLMS comes form DLMS/COSEM stands for Device Language Message Specification/Companion Specification for Energy Metering. DLMS/COSEM is covered by IEC 62056, EN13757-1. DLMS is developed and supported by DLMS UA (User Association)