using Common.Hardware.SIRT; using System; using System.Linq; namespace CommonConsole { public static class Program { public static void Main2(params string[] args) { var pam03 = new PAM03(); // pam03.Run("COM6", "402010030", "E6C88800DEB868C0D6A84880CE982840"); pam03.Run("COM6", "402010027", "D9C154DC274966AB71AD5D804A322178"); //return pam03.Run("COM7", "412004190", "0E9FACC6A0E1EF1C3B27A49BAC216535"); // 10402010030 E6C88800DEB868C0D6A84880CE982840 //try //{ // return pam03.Run("COM10", "402009768", "3CB64CBCB71F8D0F9F69FF18DF5D24D3"); //} //catch (System.Exception e) //{ // return -1; //} } internal enum FDRMask { LOG_ALARM_STATE = 1 << 0, // 0x00000001, //!< AlarmState (16 bits) LOG_BILLING_COUNTER = 1 << 1, // 0x00000002, //!< BillingCounter LOG_REVERSE_COUNTER = 1 << 2, // 0x00000004, //!< Backward or ReverseCounter LOG_MAX_FLOW_VAL = 1 << 3, // 0x00000008, //!< Value of MaxFlow LOG_MAX_FLOW_TIME = 1 << 4, // 0x00000010, //!< Date/Time of MaxFlow LOG_PEAK_FLOW_VAL = 1 << 5, // 0x00000020, //!< Value of PeakFlow LOG_PEAK_FLOW_TIME = 1 << 6, // 0x00000040, //!< Date/Time of PeakFlow LOG_CUR_FLOW_VAL = 1 << 7, // 0x00000080, //!< Current Flow Value (Average of Period) LOG_BROKEN_PIPE_FLOW_VAL = 1 << 8, // 0x00000100, //!< Value of BrokenPipe LOG_BROKEN_PIPE_FLOW_TIME = 1 << 9, // 0x00000200, //!< Date/Time of BrokenPipe LOG_MIN_FLOW_VAL = 1 << 10, // 0x00000400, //!< Value of FlowMin LOG_MIN_FLOW_TIME = 1 << 11, // 0x00000800, //!< Date/Time of FlowMin LOG_FORWARD_COUNTER = 1 << 12, // 0x00001000, //!< ForwardCounter LOG_MIN_PRESS_VAL = 1 << 13, // 0x00010000, //!< Pressure Minimum LOG_MIN_PRESS_TIME = 1 << 14, // 0x00020000, //!< Pressure Minimum Time LOG_MAX_PRESS_VAL = 1 << 15, // 0x00040000, //!< Pressure Maximum LOG_MAX_PRESS_TIME = 1 << 16, // 0x00080000, //!< Pressure Maximum Time LOG_MIN_TEMP_VAL = 1 << 17, // 0x00100000, //!< Temperature Minimum LOG_MIN_TEMP_TIME = 1 << 18, // 0x00200000, //!< Temperature Minimum LOG_MAX_TEMP_VAL = 1 << 19, // 0x00400000, //!< Temperature Maximum LOG_MAX_TEMP_TIME = 1 << 20, // 0x00800000, //!< Temperature Maximum LOG_CUR_PRESS_VAL = 1 << 21, // 0x01000000, //!< Pressure Current Value LOG_CUR_TEMP_VAL = 1 << 22, // 0x02000000, //!< Temperature Current Value LOG_EXT_ALARM_STATE = 1 << 23, // 0x04000000,    //().OrderBy(x => (uint)x).ToArray()) { Console.WriteLine($"{item,23} = {item:X} = {(uint)item,5} = {(alarmEnableMask << ix++) & 1}"); } //foreach (var item in Enum.GetValues(typeof(FDRMask)).Cast().OrderBy(x => x).ToArray()) //{ // Console.WriteLine($"{item} = {item:X} = {(uint)item}"); //} //ushort value = 3; //Console.WriteLine($"0: {value >> 0 & 1}"); //Console.WriteLine($"0: {value >> 1 & 1}"); //Console.WriteLine($"0: {value >> 2 & 1}"); //Console.WriteLine("CSD CSD 772161_MW"); //Console.WriteLine("============================================================================="); //var alarm = AlarmMask.ALARM_REBOOT // | AlarmMask.ALARM_EMPTY_PIPE // | AlarmMask.ALARM_LOW_BATTERY // | AlarmMask.ALARM_REVERSE_FLOW; //Console.WriteLine($"CUSTOMER_AlarmVisualMask: {BitConverter.ToString(BitConverter.GetBytes((int)alarm))}"); //var dlg = FDRMask.LOG_BILLING_COUNTER // | FDRMask.LOG_MIN_FLOW_VAL // | FDRMask.LOG_CUR_FLOW_VAL // ... AverageFlow !? // | FDRMask.LOG_ALARM_STATE // | FDRMask.LOG_EXT_ALARM_STATE; //Console.WriteLine($"PERIODICLOG_DataLogContents: {BitConverter.ToString(BitConverter.GetBytes((int)dlg))}"); //var fdr = FDRMask.LOG_BILLING_COUNTER // | FDRMask.LOG_MIN_FLOW_VAL // | FDRMask.LOG_CUR_FLOW_VAL // ... AverageFlow !? // | FDRMask.LOG_ALARM_STATE // | FDRMask.LOG_EXT_ALARM_STATE; //Console.WriteLine($"PERIODICLOG_FixedDateReadingContents: {BitConverter.ToString(BitConverter.GetBytes((int)fdr))}"); } } }