eregister for production ready

This commit is contained in:
Stoyan Zlatev
2025-10-20 12:23:42 +02:00
parent e025470341
commit 943d8458e1
33 changed files with 312 additions and 585 deletions
@@ -72,8 +72,5 @@
<Name>Common.Hardware.WaterMeter.eRegister</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="log.txt" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
+79 -39
View File
@@ -207,53 +207,93 @@
}
public static void MainCSD()
//public static void /*MainCSD()*/ Main()
//{
// var alarmEnableMask = 0xD39F0000;
// var ix = 0;
// foreach (var item in Enum.GetValues(typeof(AlarmMask)).Cast<AlarmMask>().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<FDRMask>().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))}");
//}
/// <summary>
/// CSD 769400 Arqiva Thames Water
/// </summary>
public static void Main1231231()
{
//var alarmEnableMask = 0xD39F0000;
//var ix = 0;
Console.WriteLine("CSD 769400 Arqiva Thames Water");
Console.WriteLine("=============================================================================");
Console.WriteLine("--- DN50 --------------------------------------------------------------------");
Console.WriteLine($"CUSTOMER_ExcessFlowVolumeThreshold: {BitConverter.ToString(BitConverter.GetBytes((int)(37.5 * 1000) / 256))}");
//foreach (var item in Enum.GetValues(typeof(AlarmMask)).Cast<AlarmMask>().OrderBy(x => (uint)x).ToArray())
//{
// Console.WriteLine($"{item,23} = {item:X} = {(uint)item,5} = {(alarmEnableMask << ix++) & 1}");
//}
var alarm = 1 << AlarmMask.ALARM_EMPTY_PIPE
| 1 << AlarmMask.ALARM_SUSPECT_LEAK
| 1 << AlarmMask.ALARM_LOW_BATTERY
| 1 << AlarmMask.ALARM_HIGH_TEMPERATURE
| 1 << AlarmMask.ALARM_LOW_TEMPERATURE
| 1 << AlarmMask.ALARM_HIGH_PRESSURE
| 1 << AlarmMask.ALARM_LOW_PRESSURE;
//foreach (var item in Enum.GetValues(typeof(FDRMask)).Cast<FDRMask>().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))}");
Console.WriteLine($"CUSTOMER_AlarmVisualMask: {BitConverter.ToString(BitConverter.GetBytes(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;
var dlg = 1 <<FDRMask.LOG_BILLING_COUNTER
| 1 <<FDRMask.LOG_REVERSE_COUNTER
| 1 <<FDRMask.LOG_MIN_FLOW_TIME
| 1 <<FDRMask.LOG_MIN_FLOW_VAL
| 1 <<FDRMask.LOG_CUR_FLOW_VAL
| 1 <<FDRMask.LOG_PEAK_FLOW_TIME
| 1 <<FDRMask.LOG_PEAK_FLOW_VAL
| 1 <<FDRMask.LOG_MAX_FLOW_TIME
| 1 <<FDRMask.LOG_MAX_FLOW_VAL
| 1 <<FDRMask.LOG_ALARM_STATE;
//Console.WriteLine($"PERIODICLOG_DataLogContents: {BitConverter.ToString(BitConverter.GetBytes((int)dlg))}");
Console.WriteLine($"PERIODICLOG_DataLogContents: {BitConverter.ToString(BitConverter.GetBytes(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;
var fdr = 1 << FDRMask.LOG_BILLING_COUNTER
| 1 << FDRMask.LOG_ALARM_STATE;
//Console.WriteLine($"PERIODICLOG_FixedDateReadingContents: {BitConverter.ToString(BitConverter.GetBytes((int)fdr))}");
Console.WriteLine($"PERIODICLOG_FixedDateReadingContents: {BitConverter.ToString(BitConverter.GetBytes(fdr))}");
}
}
}