init
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
using DTS.Serialization.IRIGCh10.Attributes;
|
||||
using DTS.Serialization.IRIGCH10.Enums;
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
||||
namespace DTS.Serialization.IRIGCH10
|
||||
{
|
||||
/// <summary>
|
||||
/// implements a time data packet, allowing time data packets to be put into a ch 10 file
|
||||
/// </summary>
|
||||
public class TimeDataPacket : AbstractDataPacket, IDataPacket
|
||||
{
|
||||
public TimeDataPacket()
|
||||
: base(DataFileDataTypes.TimeDataFormat1)
|
||||
{
|
||||
_dataBytes = new byte[12];
|
||||
|
||||
}
|
||||
private DateTime _dt;
|
||||
public DateTime GetDateTime()
|
||||
{
|
||||
return _dt;
|
||||
}
|
||||
public void SetTime(DateTime dt)
|
||||
{
|
||||
_dt = dt;
|
||||
_dataBytes[4] = Utils.Utils.GetBCDBytes(dt.Millisecond/10)[0];
|
||||
_dataBytes[5] = Utils.Utils.GetBCDBytes(dt.Second)[0];
|
||||
_dataBytes[6] = Utils.Utils.GetBCDBytes(dt.Minute)[0];
|
||||
_dataBytes[7] = Utils.Utils.GetBCDBytes(dt.Hour)[0];
|
||||
_dataBytes[8] = Utils.Utils.GetBCDBytes(dt.Day)[0];
|
||||
_dataBytes[9] = Utils.Utils.GetBCDBytes(dt.Month)[0];
|
||||
_dataBytes[10] = Utils.Utils.GetBCDBytes(dt.Year)[0];
|
||||
_dataBytes[11] = Utils.Utils.GetBCDBytes(dt.Year)[1];
|
||||
}
|
||||
|
||||
public void SetTimeSource(byte b)
|
||||
{
|
||||
var bitArray = new BitArray(new[] {_dataBytes[0]});
|
||||
var bitArray2 = new BitArray(new[] {b});
|
||||
bitArray[0] = bitArray2[0];
|
||||
bitArray[1] = bitArray2[1];
|
||||
bitArray[2] = bitArray2[2];
|
||||
bitArray[3] = bitArray2[3];
|
||||
|
||||
bitArray.CopyTo(_dataBytes, 0);
|
||||
}
|
||||
public void SetTimeSource(TimeSource src)
|
||||
{
|
||||
var bitArray = new BitArray(new[] {_dataBytes[0], _dataBytes[1], _dataBytes[2], _dataBytes[3]});
|
||||
var bytevalue = new BitArray(new[] {PacketHeaderValueAttribute.GetPacketHeaderValue(src)});
|
||||
//ref Chapter 10, 10-47
|
||||
|
||||
bitArray[0] = bytevalue[3];
|
||||
bitArray[1] = bytevalue[2];
|
||||
bitArray[2] = bytevalue[1];
|
||||
bitArray[3] = bytevalue[0];
|
||||
|
||||
bitArray.CopyTo(_dataBytes, 0);
|
||||
}
|
||||
|
||||
public void SetTimeFormat(TimeFormats fmt)
|
||||
{
|
||||
var bitArray = new BitArray(new[] {_dataBytes[0], _dataBytes[1], _dataBytes[2], _dataBytes[3]});
|
||||
var bytevalue = new BitArray(new[] {PacketHeaderValueAttribute.GetPacketHeaderValue(fmt)});
|
||||
//ref Chapter 10, 10-47
|
||||
bitArray[4] = bytevalue[3];
|
||||
bitArray[5] = bytevalue[2];
|
||||
bitArray[6] = bytevalue[1];
|
||||
bitArray[7] = bytevalue[0];
|
||||
|
||||
bitArray.CopyTo(_dataBytes, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user