using System;
using MccDaq; //added to project references
namespace DigitalInput
{
class Program
{
public const string DEVICE = "TC";
static void Main(string[] args)
{
MccDaq.ErrorInfo RetVal;
short BitVal = 0;
//locate device
int BoardNum = GetBoardNum(DEVICE);
if (BoardNum == -1)
{
Console.WriteLine("No USB-{0} detected!", DEVICE);
WaitForKey();
return;
}
else
{
MccDaq.MccBoard daq = new MccDaq.MccBoard(BoardNum);
Console.Write("Digital Single Bit Input Example\n");
//read eight bit port
RetVal = daq.DConfigPort(DigitalPortType.AuxPort, DigitalPortDirection.DigitalIn);
WaitForKey();
Console.Clear();
do
{
RetVal = daq.DIn(DigitalPortType.AuxPort, out BitVal);
Console.Write("D0={0}\n", Convert.ToBoolean(BitVal & 1));
Console.Write("D1={0}\n", Convert.ToBoolean(BitVal & 2));
Console.Write("D2={0}\n", Convert.ToBoolean(BitVal & 4));
Console.Write("D3={0}\n", Convert.ToBoolean(BitVal & 8));
Console.Write("D4={0}\n", Convert.ToBoolean(BitVal & 16));
Console.Write("D5={0}\n", Convert.ToBoolean(BitVal & 32));
Console.Write("D6={0}\n", Convert.ToBoolean(BitVal & 64));
Console.Write("D7={0}\n", Convert.ToBoolean(BitVal & 128));
Console.WriteLine("\nPress <SpaceBar> to exit loop...");
System.Threading.Thread.Sleep(250);
Console.Clear();
} while (!Console.KeyAvailable);
}
}
/********** Get Board Number *******************************************************************/
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}\n", dev, BoardNum.ToString());
daq.FlashLED();
return BoardNum;
}
}
return -1;
}
/********** Wait for key input *****************************************************************/
public static void WaitForKey()
{
Console.WriteLine("\nPress <SpaceBar> to continue...");
System.ConsoleKeyInfo cki;
do
{
cki = Console.ReadKey();
} while (cki.Key != ConsoleKey.Spacebar);
}
/***********************************************************************************************/
}
}