hawkeye camera support(not tested)
This commit is contained in:
55
framework/Inspectron.HawkEye/UDT/SequenceNumber.cs
Normal file
55
framework/Inspectron.HawkEye/UDT/SequenceNumber.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
// UDT Sequence Number 0 - (2^31 - 1)
|
||||
|
||||
// seqcmp: compare two seq#, considering the wraping
|
||||
// seqlen: length from the 1st to the 2nd seq#, including both
|
||||
// seqoff: offset from the 2nd to the 1st seq#
|
||||
// incseq: increase the seq# by 1
|
||||
// decseq: decrease the seq# by 1
|
||||
// incseq: increase the seq# by a given offset
|
||||
|
||||
using System;
|
||||
|
||||
namespace UdtSharp
|
||||
{
|
||||
static class SequenceNumber
|
||||
{
|
||||
public static int seqcmp(int seq1, int seq2)
|
||||
{
|
||||
return (Math.Abs(seq1 - seq2) < m_iSeqNoTH) ? (seq1 - seq2) : (seq2 - seq1);
|
||||
}
|
||||
|
||||
public static int seqlen(int seq1, int seq2)
|
||||
{
|
||||
return (seq1 <= seq2) ? (seq2 - seq1 + 1) : (seq2 - seq1 + m_iMaxSeqNo + 2);
|
||||
}
|
||||
|
||||
public static int seqoff(int seq1, int seq2)
|
||||
{
|
||||
if (Math.Abs(seq1 - seq2) < m_iSeqNoTH)
|
||||
return seq2 - seq1;
|
||||
|
||||
if (seq1 < seq2)
|
||||
return seq2 - seq1 - m_iMaxSeqNo - 1;
|
||||
|
||||
return seq2 - seq1 + m_iMaxSeqNo + 1;
|
||||
}
|
||||
|
||||
public static int incseq(int seq)
|
||||
{
|
||||
return (seq == m_iMaxSeqNo) ? 0 : seq + 1;
|
||||
}
|
||||
|
||||
public static int decseq(int seq)
|
||||
{
|
||||
return (seq == 0) ? m_iMaxSeqNo : seq - 1;
|
||||
}
|
||||
|
||||
public static int incseq(int seq, int inc)
|
||||
{
|
||||
return (m_iMaxSeqNo - seq >= inc) ? seq + inc : seq - m_iMaxSeqNo + inc - 1;
|
||||
}
|
||||
|
||||
public static int m_iSeqNoTH = 0x3FFFFFFF; // threshold for comparing seq. no.
|
||||
public static int m_iMaxSeqNo = 0x7FFFFFFF; // maximum sequence number used in UDT
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user