#pragma once #include // Byte order inside a 16-bit Modbus register enum class ByteOrder { BigEndian, // AB LittleEndian // BA }; // Order of 16-bit registers enum class WordOrder { HighFirst, // Reg[N] = high word LowFirst // Reg[N] = low word }; // Order of register groups (for 64-bit+ types) enum class RegisterOrder { Normal, // ABCD EFGH Swapped // EFGH ABCD }; struct DataFormat { ByteOrder byte_order; WordOrder word_order; RegisterOrder register_order; };