laatzen/Common/CommonConsole/Program.cs
2025-04-25 08:38:37 +02:00

154 lines
7.4 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace CommonConsole
{
using Common.Hardware.SIRT;
using Common.Hardware.SIRT.Tasks;
using Common.Hardware.WaterMeter.eRegister.Telegrams;
using System;
using System.Threading;
public static class Program
{
public static void Main()
{
var semi = new SEMI("08F3126B77C9000000320000740C000F0300000000000009140188BA30070E10A87F76D3FA000000000000000000000000000000000000000000000000000000000403003C0003012F9CBD671D000000000000000000000100011E95FD".GetBytes(), 868, new Common.Hardware.SIRT.Parameters.P11());
//var broadcaster = new SIRTBroadcaster("COM6");
//broadcaster.Open();
//Console.WriteLine(broadcaster.Id);
//Console.WriteLine();
//while (Console.ReadKey().Key != ConsoleKey.Enter)
//{
// Console.WriteLine(broadcaster.AdddressesInPamPool());
// Thread.Sleep(1000);
//}
}
public class ReadPamPoolTask : ReadPamTask
{
public override void Push(SIRTMessage response)
{
Console.WriteLine(BitConverter.ToString(response));
}
}
//internal enum AlarmMask
//{
// ALARM_REBOOT = 1 << 0, // immer An
// ALARM_LOW_BATTERY = 1 << 1,
// ALARM_VERY_LOW_BATTERY = 1 << 2, /* For consistency with st_alarm_bit_t only */
// ALARM_CONFIG_ERROR = 1 << 3,
// ALARM_EMPTY_PIPE = 1 << 4,
// ALARM_MAGNETIC_TAMPER = 1 << 5, /* For consistency with st_alarm_bit_t only */
// ALARM_REVERSE_FLOW = 1 << 6,
// ALARM_SUSPECT_LEAK = 1 << 7,
// ALARM_BROKEN_PIPE = 1 << 8,
// ALARM_LOW_PRESSURE = 1 << 9,
// ALARM_HIGH_PRESSURE = 1 << 10,
// ALARM_LOW_TEMPERATURE = 1 << 11,
// ALARM_HIGH_TEMPERATURE = 1 << 12,
// ALARM_RADIO_ERROR = 1 << 13,
// ALARM_METROLOGY_PARAMS = 1 << 14,
// ALARM_METROLOGY_MEASURE = 1 << 15,
// ALARM_MAX = 1 << 16
//};
//internal enum FDRMask
//{
// LOG_BILLING_COUNTER = 0x00000002, //!< BillingCounter
// LOG_FORWARD_COUNTER = 0x00001000, //!< ForwardCounter
// LOG_REVERSE_COUNTER = 0x00000004, //!< Backward or ReverseCounter
// LOG_MIN_FLOW_TIME = 0x00000800, //!< Date/Time of FlowMin
// LOG_MIN_FLOW_VAL = 0x00000400, //!< Value of FlowMin
// LOG_BROKEN_PIPE_FLOW_TIME = 0x00000200, //!< Date/Time of BrokenPipe
// LOG_BROKEN_PIPE_FLOW_VAL = 0x00000100, //!< Value of BrokenPipe
// LOG_CUR_FLOW_VAL = 0x00000080, //!< Current Flow Value (Average of Period)
// LOG_PEAK_FLOW_TIME = 0x00000040, //!< Date/Time of PeakFlow
// LOG_PEAK_FLOW_VAL = 0x00000020, //!< Value of PeakFlow
// LOG_MAX_FLOW_TIME = 0x00000010, //!< Date/Time of MaxFlow
// LOG_MAX_FLOW_VAL = 0x00000008, //!< Value of MaxFlow
// LOG_CUR_TEMP_VAL = 0x02000000, //!< Temperature Current Value
// LOG_MAX_TEMP_TIME = 0x00800000, //!< Temperature Maximum
// LOG_MAX_TEMP_VAL = 0x00400000, //!< Temperature Maximum
// LOG_MIN_TEMP_TIME = 0x00200000, //!< Temperature Minimum
// LOG_MIN_TEMP_VAL = 0x00100000, //!< Temperature Minimum
// LOG_CUR_PRESS_VAL = 0x01000000, //!< Pressure Current Value
// LOG_MAX_PRESS_TIME = 0x00080000, //!< Pressure Maximum Time
// LOG_MAX_PRESS_VAL = 0x00040000, //!< Pressure Maximum
// LOG_MIN_PRESS_TIME = 0x00020000, //!< Pressure Minimum Time
// LOG_MIN_PRESS_VAL = 0x00010000, //!< Pressure Minimum
// LOG_ALARM_STATE = 0x00000001, //!< AlarmState (16 bits)
// LOG_EXT_ALARM_STATE = 0x04000000,    //<! Extended Alarm Status
//};
//var alarm
// = FDRMask.LOG_BILLING_COUNTER
// | FDRMask.LOG_REVERSE_COUNTER
// | FDRMask.LOG_BROKEN_PIPE_FLOW_TIME
// | FDRMask.LOG_BROKEN_PIPE_FLOW_VAL
// | FDRMask.LOG_PEAK_FLOW_TIME
// | FDRMask.LOG_PEAK_FLOW_VAL
// | FDRMask.LOG_MAX_FLOW_TIME
// | FDRMask.LOG_MAX_FLOW_VAL
// | FDRMask.LOG_MAX_TEMP_TIME
// | FDRMask.LOG_MAX_TEMP_VAL
// | FDRMask.LOG_ALARM_STATE
// | FDRMask.LOG_EXT_ALARM_STATE;
//public static void Main()
//{
// var alarm = AlarmMask.ALARM_REBOOT
// | AlarmMask.ALARM_EMPTY_PIPE
// | AlarmMask.ALARM_SUSPECT_LEAK
// | AlarmMask.ALARM_BROKEN_PIPE
// | AlarmMask.ALARM_LOW_BATTERY
// | AlarmMask.ALARM_REVERSE_FLOW
// | AlarmMask.ALARM_HIGH_TEMPERATURE;
// Console.WriteLine($"Alarm: {alarm}");
// Console.WriteLine(BitConverter.ToString(BitConverter.GetBytes((int)alarm)));
// Console.WriteLine();
// var fdr = FDRMask.LOG_BILLING_COUNTER
// | FDRMask.LOG_REVERSE_COUNTER
// | FDRMask.LOG_BROKEN_PIPE_FLOW_TIME
// | FDRMask.LOG_BROKEN_PIPE_FLOW_VAL
// | FDRMask.LOG_PEAK_FLOW_TIME
// | FDRMask.LOG_PEAK_FLOW_VAL
// | FDRMask.LOG_MAX_FLOW_TIME
// | FDRMask.LOG_MAX_FLOW_VAL
// | FDRMask.LOG_MAX_TEMP_TIME
// | FDRMask.LOG_MAX_TEMP_VAL
// | FDRMask.LOG_ALARM_STATE
// | FDRMask.LOG_EXT_ALARM_STATE;
// Console.WriteLine($"FDR: {fdr}");
// Console.WriteLine(BitConverter.ToString(BitConverter.GetBytes((int)fdr)));
// Console.WriteLine();
// Console.WriteLine($"HErrL: {BitConverter.ToString(BitConverter.GetBytes((short)90))}");
// Console.WriteLine();
// Console.WriteLine("LeakageThreshold");
// Console.WriteLine($"DN 40 100 l/h = 100 * 256 = {BitConverter.ToString(BitConverter.GetBytes(100 * 256))}");
// Console.WriteLine($"DN 50 100 l/h = 100 * 256 = {BitConverter.ToString(BitConverter.GetBytes(100 * 256))}");
// Console.WriteLine($"DN 65 125 l/h = 125 * 256 = {BitConverter.ToString(BitConverter.GetBytes(125 * 256))}");
// Console.WriteLine($"DN 80 125 l/h = 125 * 256 = {BitConverter.ToString(BitConverter.GetBytes(125 * 256))}");
// Console.WriteLine($"DN 100 125 l/h = 125 * 256 = {BitConverter.ToString(BitConverter.GetBytes(125 * 256))}");
// Console.WriteLine($"DN 125 500 l/h = 500 * 256 = {BitConverter.ToString(BitConverter.GetBytes(500 * 256))}");
// Console.WriteLine($"DN 150 375 l/h = 375 * 256 = {BitConverter.ToString(BitConverter.GetBytes(375 * 256))}");
// Console.WriteLine();
// Console.WriteLine("BrokenPipeThreshold");
// Console.WriteLine($"DN 40 50 m³/h = 50 * 256 * 1000 = {BitConverter.ToString(BitConverter.GetBytes( 50 * 256 * 1000))}");
// Console.WriteLine($"DN 80 125 m³/h = 125 * 256 * 1000 = {BitConverter.ToString(BitConverter.GetBytes(125 * 256 * 1000))}");
// Console.WriteLine($"DN 150 250 m³/h = 250 * 256 * 1000 = {BitConverter.ToString(BitConverter.GetBytes(250 * 256 * 1000))}");
// Console.WriteLine();
//}
}
}