Files
GenericTeProgramLibrary/Source/Program/DataDef/UartMessages.cs
2025-10-24 15:18:11 -07:00

80 lines
2.4 KiB
C#

/*-------------------------------------------------------------------------
// UNCLASSIFIED
/*-------------------------------------------------------------------------
RAYTHEON PROPRIETARY: THIS DOCUMENT CONTAINS DATA OR INFORMATION
PROPRIETARY TO RAYTHEON COMPANY AND IS RESTRICTED TO USE ONLY BY PERSONS
AUTHORIZED BY RAYTHEON COMPANY IN WRITING TO USE IT. DISCLOSURE TO
UNAUTHORIZED PERSONS WOULD LIKELY CAUSE SUBSTANTIAL COMPETITIVE HARM TO
RAYTHEON COMPANY'S BUSINESS POSITION. NEITHER SAID DOCUMENT NOR ITS
CONTENTS SHALL BE FURNISHED OR DISCLOSED TO OR COPIED OR USED BY PERSONS
OUTSIDE RAYTHEON COMPANY WITHOUT THE EXPRESS WRITTEN APPROVAL OF RAYTHEON
COMPANY.
THIS PROPRIETARY NOTICE IS NOT APPLICABLE IF DELIVERED TO THE U.S.
GOVERNMENT.
UNPUBLISHED WORK - COPYRIGHT RAYTHEON COMPANY.
-------------------------------------------------------------------------*/
using System;
using System.Runtime.InteropServices;
namespace ProgramLib
{
[StructLayout(LayoutKind.Sequential, Pack = 1)]
struct UartHandshakeMessage
{
public byte Id { get; set; }
public UInt64 Pattern1 { get; set; }
public UInt64 Pattern2 { get; set; }
public byte Checksum { get; set; }
public UartHandshakeMessage(UInt64 pattern1, UInt64 pattern2)
{
Id = 0x0C;
Pattern1 = pattern1;
Pattern2 = pattern2;
Checksum = 0;
}
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
struct UartAckNackMessage
{
public byte Id { get; set; }
public byte AckId { get; set; }
public byte Ack { get; set; }
public byte Checksum { get; set; }
public UartAckNackMessage(byte ackId, byte ack)
{
Id = 0x03;
AckId = ackId;
Ack = ack;
Checksum = 0;
}
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
struct UartPbitResultMessage
{
public byte Id { get; set; }
public byte PbitFinalResult { get; set; }
public UInt16 PbitAggregate { get; set; }
public Int16 GspTemp { get; set; }
public UInt32 LifetimeTime { get; set; }
public byte LifetimeCount { get; set; }
public byte Checksum { get; set; }
public UartPbitResultMessage()
{
Id = 0xC0;
PbitFinalResult = 0;
PbitAggregate = 0;
GspTemp = 0;
LifetimeTime = 0;
LifetimeCount = 0;
Checksum = 0;
}
}
}