60 lines
1.7 KiB
C#
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);
|
|
}
|
|
}
|
|
} |