////////////////////////////////////////////////////////////////////////////////////////////////////////////////
using System;
using MccDaq; // add reference to project for MccDaq
namespace TinExample
{
class Program
{
public const int BLOCKSIZE = 10;
public const int CHANNEL = 0;
public const string DEVICE = "TC";
static void Main(string[] args)
{
MccDaq.ErrorInfo RetVal;
int BoardNum = 0;
//locate the USB-TC
BoardNum = GetBoardNum(DEVICE);
if (BoardNum == -1)
{
Console.WriteLine("No USB-{0} detected!", DEVICE);
WaitForKey();
return; //exit program
}
else
{
MccBoard daq = new MccDaq.MccBoard(BoardNum);
float TempData;
for (int i = 0; i < BLOCKSIZE; i++)
{
RetVal = daq.TIn(CHANNEL, TempScale.Fahrenheit, out TempData, ThermocoupleOptions.Filter);
IsError(RetVal);
Console.WriteLine("The temperature is: {0}", TempData.ToString("0.000").PadLeft(10));
System.Threading.Thread.Sleep(500); //max rate is 2Hz or 500mS per read.
}
WaitForKey();
}
}
/************************************************************************/
public static int GetBoardNum(string dev)
{
for (int BoardNum = 0; BoardNum < 99; BoardNum++)
{
MccDaq.MccBoard daq = new MccDaq.MccBoard(BoardNum);
if (daq.BoardName.Contains(dev))
{
Console.WriteLine("USB-{0} board number = {1}", dev, BoardNum.ToString());
daq.FlashLED();
return BoardNum;
}
}
return -1;
}
/************************************************************************/
public static void WaitForKey()
{
Console.WriteLine("\nPress any to continue...");
do
{
System.Threading.Thread.Sleep(50);
} while (Console.KeyAvailable);
ConsoleKeyInfo cki = Console.ReadKey();
}
/************************************************************************/
public static int IsError(ErrorInfo e)
{
if (e.Value != 0)
{
Console.WriteLine(e.Message);
WaitForKey();
return 1;
}
return 0;
}
/************************************************************************/
}
}