logicanalyzer
24 channel, 100Msps logic analyzer hardware and software
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SharedDriver
{
public class BurstInfo
{
public int BurstSampleStart { get; set; }
public int BurstSampleEnd { get; set; }
public ulong BurstSampleGap { get; set; }
public ulong BurstTimeGap { get; set; }
public string GetTime()
{
const double nanoInMicro = 1000.0;
const double nanoInMilli = 1000000.0;
const double nanoInSecond = 1000000000.0;
if (BurstTimeGap < nanoInMicro)
{
return $"{BurstTimeGap} ns";
}
else if (BurstTimeGap < nanoInMilli)
{
double microseconds = BurstTimeGap / nanoInMicro;
return $"{microseconds:F3} µs";
}
else if (BurstTimeGap < nanoInSecond)
{
double milliseconds = BurstTimeGap / nanoInMilli;
return $"{milliseconds:F3} ms";
}
else
{
double seconds = BurstTimeGap / nanoInSecond;
return $"{seconds:F3} s";
}
}
public override string ToString()
{
string text = $"Burst: {BurstSampleStart} to {BurstSampleEnd}\nGap: {GetTime()} ({BurstSampleGap} samples)";
return text;
}
}
}