laatzen/Common/CommonConsole/Program.cs

60 lines
1.7 KiB
C#

namespace CommonConsole
{
using System;
public class Program
{
public static void Main()
{
var bytes = new Byte[] { 0x15, 0x33, 0x40, 0x01, 0x00, 0x00, 0x06, 0x12 };
var sirtId = BitConverter.ToUInt64(bytes, 0);
var rf = (sirtId >> 24 & 1) == 1 ? 433 : 868;
Console.WriteLine(BitConverter.ToString(bytes));
Console.WriteLine(sirtId);
Console.WriteLine(rf);
Console.WriteLine();
var bits = String.Empty;
for (var i = 0; i < 64; i++)
{
bits += $"{sirtId >> i & 1}";
if (i > 0 && (i + 1) % 4 == 0)
{
bits += " ";
}
}
Console.WriteLine(bits);
//var meterUnits = 5;
//var decimalPoint = 3;
//bits[0] = (Byte)(meterUnits >> 0 & 1);
//bits[1] = (Byte)(meterUnits >> 1 & 1);
//bits[2] = (Byte)(meterUnits >> 2 & 1);
//bits[3] = (Byte)(meterUnits >> 3 & 1);
//bits[4] = (Byte)(meterUnits >> 4 & 1);
//bits[5] = (Byte)(decimalPoint >> 0 & 1);
//bits[6] = (Byte)(decimalPoint >> 1 & 1);
//Console.WriteLine(BitConverter.ToString(bits));
//meterUnits = 0;
//meterUnits ^= bits[0];
//meterUnits ^= bits[1] << 1;
//meterUnits ^= bits[2] << 2;
//meterUnits ^= bits[3] << 3;
//meterUnits ^= bits[4] << 4;
//decimalPoint = 0;
//decimalPoint ^= bits[5];
//decimalPoint ^= bits[6] << 1;
//Console.WriteLine(meterUnits);
//Console.WriteLine(decimalPoint);
}
}
}