private void cmdAnalogInfo_Click(object sender, EventArgs e) { int AIChannelCount = 0; int[] ChannelNumbers; int[] Units; string ChansStr, UnitsStr; string ChanList = ""; short i; // Get the Analog channel count // Parameters: // Filename :name of file to get information from // AIChannelCount :number of analog channels logged ULStat = logger.GetAIChannelCount(ref AIChannelCount); if (ULStat.Value != MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblComment.Text = ULStat.Message + "."; } else { // Get the Analog information // Parameters: // Filename :name of file to get information from // ChannelNumbers :array containing channel numbers that were logged // Units :array containing the units for each channel that was logged // AIChannelCount :number of analog channels logged ChannelNumbers = new int[AIChannelCount]; Units = new int[AIChannelCount]; ULStat = logger.GetAIInfo(ref ChannelNumbers, ref Units); if (ULStat.Value != MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblComment.Text = ULStat.Message + "."; } else { for (i = 0; i < AIChannelCount; i++) { ChansStr = ChannelNumbers[i].ToString(); UnitsStr = "Temperature"; if (Units[i] == (int)MccDaq.LoggerUnits.Raw) { UnitsStr = "Raw"; } ChanList = ChanList + "Channel " + ChansStr + ": " + "\t" + UnitsStr + "\r\n" + "\t"; } } txtResults.Text = "The analog channel properties of '" + logger.FileName + "' are:" + "\r\n" + "\r\n" + "\t" + "Number of channels: " + "\t" + AIChannelCount.ToString("0") + "\r\n" + "\r\n" + "\t" + ChanList; } }
public Form1() { // // Required for Windows Form Designer support // InitializeComponent(); // Initiate error handling // activating error handling will trap errors like // bad channel numbers and non-configured conditions. // Parameters: // MccDaq.ErrorReporting.PrintAll :all warnings and errors encountered will be printed // MccDaq.ErrorHandling.StopAll :if an error is encountered, the program will stop MccDaq.ErrorInfo errorInfo = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopAll); // Get the first file in the directory // Parameters: // MccDaq.GetFileOptions.GetFirst :first file // m_Path :path to search // filename :receives name of file string filename = new string('\0', MAX_PATH); errorInfo = MccDaq.DataLogger.GetFileName((int)MccDaq.GetFileOptions.GetFirst, ref m_Path, ref filename); string newpath = filename.TrimEnd('\0'); string absolutePath = Path.GetFullPath(newpath); // create an instance of the data logger MccDaq.DataLogger logger = new MccDaq.DataLogger(filename); // Get the file info for the first file in the directory // Parameters: // filename :file to retrieve information from // version :receives the version of the file // size :receives the size of file int version = 0; int size = 0; if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { errorInfo = logger.GetFileInfo(ref version, ref size); if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblFilename.Text = absolutePath; lblFileVersion.Text = version.ToString(); lblFileSize.Text = size.ToString(); } } // Get the sample info for the first file in the directory // Parameters: // sampleInterval :receives the sample interval (time between samples) // sampleCount :receives the sample count // startDate :receives the start date // startTime :receives the start time int sampleInterval = 0; int sampleCount = 0; int startDate = 0; int startTime = 0; if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { errorInfo = logger.GetSampleInfo(ref sampleInterval, ref sampleCount, ref startDate, ref startTime); if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblSampleInterval.Text = sampleInterval.ToString(); lblSampleCount.Text = sampleCount.ToString(); int day = startDate & 0xff; int month = (startDate>>8) & 0xff; int year = (startDate>>16) & 0xffff; string dateStr = month.ToString() + "/" + day.ToString() + "/" + year.ToString(); lblStartDate.Text = dateStr; string postfix; switch ((startTime >> 24) & 0xff) { case 0: postfix = " AM"; break; case 1: postfix = " PM"; break; case -1: postfix = ""; break; default: postfix = ""; break; } int hours = (startTime>>16) & 0xff; int minutes = (startTime>>8) & 0xff; int seconds = (startTime) & 0xff; string timeStr = hours.ToString() + ":" + minutes.ToString() + ":" + seconds.ToString() + ":" + postfix; lblStartTime.Text = timeStr; } } // Get the ANALOG channel count for the first file in the directory // Parameters: // channelMask :receives the channel mask to specify which channels were logged // unitMask :receives the unit mask to specify temp or raw data // aiChannelCount :receives the number of AI chennels logged int aiChannelCount = 0; if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { errorInfo = logger.GetAIChannelCount(ref aiChannelCount); if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblAIChannelCount.Text = aiChannelCount.ToString(); } } // Get the ANALOG info for the first file in the directory // Parameters: // channelMask :receives the channel mask to specify which channels were logged // unitMask :receives the unit mask to specify temp or raw data int [] channelNumbers; int [] units; channelNumbers = new int[aiChannelCount]; units = new int[aiChannelCount]; if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { errorInfo = logger.GetAIInfo(ref channelNumbers, ref units); if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblChannelMask.Text = ""; lblUnitMask.Text = ""; for (int i=0; i<aiChannelCount; i++) { lblChannelMask.Text += channelNumbers[i].ToString(); if (units[i] == Convert.ToInt32(MccDaq.LoggerUnits.Raw)) lblUnitMask.Text += "Raw"; else lblUnitMask.Text += "Temperature"; if (i < aiChannelCount - 1) { lblChannelMask.Text = lblChannelMask.Text + ", "; lblUnitMask.Text = lblUnitMask.Text + ", "; } } } } // Get the CJC info for the first file in the directory // Parameters: // cjcChannelCount :receives the number of CJC chennels logged int cjcChannelCount = 0; if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { errorInfo = logger.GetCJCInfo( ref cjcChannelCount); if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblCJCChannelCount.Text = cjcChannelCount.ToString(); } } // Get the DIO info for the first file in the directory // Parameters: // dioChannelCount :receives the number of DIO chennels logged int dioChannelCount = 0; if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { errorInfo = logger.GetDIOInfo(ref dioChannelCount); if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblDIOChannelCount.Text = dioChannelCount.ToString(); } } if (errorInfo.Value != MccDaq.ErrorInfo.ErrorCode.NoErrors) { MessageBox.Show(errorInfo.Message); return; } }
private void cmdAnalogData_Click(object sender, EventArgs e) { int aiChannelCount = 0; float[] aiChannelData; int[] ChannelNumbers; int[] Units; int i, j, ListSize, Index; string DataListStr, StartTimeStr, lbDataStr; string ChansStr, UnitsStr, ChanList, UnitList; string PostfixStr, StartDateStr; int[] DateTags; int[] TimeTags; int StartSample = 0; int Hour, Minute, Second, Postfix; int Month, Day, Year; // Get the ANALOG info for the first file in the directory // Parameters: // channelMask :receives the channel mask to specify which channels were logged // unitMask :receives the unit mask to specify temp or raw data ULStat = logger.GetAIChannelCount(ref aiChannelCount); if (ULStat.Value != MccDaq.ErrorInfo.ErrorCode.NoErrors) { txtData.Text = ULStat.Message; } else { // Get the Analog information // Parameters: // Filename :name of file to get information from // ChannelNumbers :array containing channel numbers that were logged // Units :array containing the units for each channel that was logged // AIChannelCount :number of analog channels logged if ((aiChannelCount > 0) && (SampleCount > 0)) { ChannelNumbers = new int[aiChannelCount]; Units = new int[aiChannelCount]; ULStat = logger.GetAIInfo(ref ChannelNumbers, ref Units); ChanList = ""; UnitList = ""; if (ULStat.Value != MccDaq.ErrorInfo.ErrorCode.NoErrors) { txtData.Text = ULStat.Message; } else { for (i = 0; i < aiChannelCount; i++) { ChansStr = ChannelNumbers[i].ToString(); UnitsStr = "Temp"; if (Units[i] == (int)MccDaq.LoggerUnits.Raw) { UnitsStr = "Raw"; } ChanList = ChanList + "Chan" + ChansStr + "\t"; UnitList = UnitList + UnitsStr + "\t"; } } DataListStr = "Time" + "\t" + "\t" + ChanList + "\r\n" + "\t" + "\t" + UnitList + "\r\n" + "\r\n"; DateTags = new int[SampleCount]; TimeTags = new int[SampleCount]; ULStat = logger.ReadTimeTags(StartSample, SampleCount, ref DateTags, ref TimeTags); if (ULStat.Value != MccDaq.ErrorInfo.ErrorCode.NoErrors) { txtData.Text = ULStat.Message; } aiChannelData = new float[SampleCount * aiChannelCount]; ULStat = logger.ReadAIChannels(StartSample, SampleCount, ref aiChannelData); ListSize = SampleCount; if (ListSize > 50) { ListSize = 50; } PostfixStr = ""; for (i = 0; i <= ListSize; i++) { //Parse the date from the StartDate parameter Month = (DateTags[i] >> 8) & 0xff; Day = DateTags[i] & 0xff; Year = (DateTags[i] >> 16) & 0xff; StartDateStr = Month.ToString("00") + "/" + Day.ToString("00") + "/" + Year.ToString("0000"); //Parse the time from the StartTime parameter Hour = (TimeTags[i] >> 16) & 0xff; Minute = (TimeTags[i] >> 8) & 0xff; Second = TimeTags[i] & 0xff; Postfix = (TimeTags[i] >> 24) & 0xff; if (Postfix == 0) { PostfixStr = " AM"; } if (Postfix == 1) { PostfixStr = " PM"; } StartTimeStr = Hour.ToString("00") + ":" + Minute.ToString("00") + ":" + Second.ToString("00") + PostfixStr; Index = i * aiChannelCount; lbDataStr = ""; for (j = 0; j < aiChannelCount; j++) { lbDataStr = lbDataStr + "\t" + aiChannelData[Index + j].ToString("0.00"); } DataListStr = DataListStr + StartDateStr + " " + StartTimeStr + lbDataStr + "\r\n"; } txtData.Text = "Analog data from " + logger.FileName + "\r\n" + "\r\n" + DataListStr; } else { txtData.Text = "There is no analog data in " + logger.FileName + "."; } } }
public Form1() { // // Required for Windows Form Designer support // InitializeComponent(); // Initiate error handling // activating error handling will trap errors like // bad channel numbers and non-configured conditions. // Parameters: // MccDaq.ErrorReporting.PrintAll :all warnings and errors encountered will be printed // MccDaq.ErrorHandling.StopAll :if an error is encountered, the program will stop MccDaq.ErrorInfo errorInfo = MccDaq.MccService.ErrHandling(MccDaq.ErrorReporting.PrintAll, MccDaq.ErrorHandling.StopAll); // Get the first file in the directory // Parameters: // MccDaq.GetFileOptions.GetFirst :first file // m_Path :path to search // filename :receives name of file string filename = new string('\0', MAX_PATH); errorInfo = MccDaq.DataLogger.GetFileName((int)MccDaq.GetFileOptions.GetFirst, ref m_Path, ref filename); string newpath = filename.TrimEnd('\0'); string absolutePath = Path.GetFullPath(newpath); // create an instance of the data logger MccDaq.DataLogger logger = new MccDaq.DataLogger(filename); // Get the file info for the first file in the directory // Parameters: // filename :file to retrieve information from // version :receives the version of the file // size :receives the size of file int version = 0; int size = 0; if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { errorInfo = logger.GetFileInfo(ref version, ref size); if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblFilename.Text = absolutePath; lblFileVersion.Text = version.ToString(); lblFileSize.Text = size.ToString(); } } // Get the sample info for the first file in the directory // Parameters: // sampleInterval :receives the sample interval (time between samples) // sampleCount :receives the sample count // startDate :receives the start date // startTime :receives the start time int sampleInterval = 0; int sampleCount = 0; int startDate = 0; int startTime = 0; if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { errorInfo = logger.GetSampleInfo(ref sampleInterval, ref sampleCount, ref startDate, ref startTime); if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblSampleInterval.Text = sampleInterval.ToString(); lblSampleCount.Text = sampleCount.ToString(); int day = startDate & 0xff; int month = (startDate >> 8) & 0xff; int year = (startDate >> 16) & 0xffff; string dateStr = month.ToString() + "/" + day.ToString() + "/" + year.ToString(); lblStartDate.Text = dateStr; string postfix; switch ((startTime >> 24) & 0xff) { case 0: postfix = " AM"; break; case 1: postfix = " PM"; break; case -1: postfix = ""; break; default: postfix = ""; break; } int hours = (startTime >> 16) & 0xff; int minutes = (startTime >> 8) & 0xff; int seconds = (startTime) & 0xff; string timeStr = hours.ToString() + ":" + minutes.ToString() + ":" + seconds.ToString() + ":" + postfix; lblStartTime.Text = timeStr; } } // Get the ANALOG channel count for the first file in the directory // Parameters: // channelMask :receives the channel mask to specify which channels were logged // unitMask :receives the unit mask to specify temp or raw data // aiChannelCount :receives the number of AI chennels logged int aiChannelCount = 0; if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { errorInfo = logger.GetAIChannelCount(ref aiChannelCount); if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblAIChannelCount.Text = aiChannelCount.ToString(); } } // Get the ANALOG info for the first file in the directory // Parameters: // channelMask :receives the channel mask to specify which channels were logged // unitMask :receives the unit mask to specify temp or raw data int [] channelNumbers; int [] units; channelNumbers = new int[aiChannelCount]; units = new int[aiChannelCount]; if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { errorInfo = logger.GetAIInfo(ref channelNumbers, ref units); if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblChannelMask.Text = ""; lblUnitMask.Text = ""; for (int i = 0; i < aiChannelCount; i++) { lblChannelMask.Text += channelNumbers[i].ToString(); if (units[i] == Convert.ToInt32(MccDaq.LoggerUnits.Raw)) { lblUnitMask.Text += "Raw"; } else { lblUnitMask.Text += "Temperature"; } if (i < aiChannelCount - 1) { lblChannelMask.Text = lblChannelMask.Text + ", "; lblUnitMask.Text = lblUnitMask.Text + ", "; } } } } // Get the CJC info for the first file in the directory // Parameters: // cjcChannelCount :receives the number of CJC chennels logged int cjcChannelCount = 0; if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { errorInfo = logger.GetCJCInfo(ref cjcChannelCount); if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblCJCChannelCount.Text = cjcChannelCount.ToString(); } } // Get the DIO info for the first file in the directory // Parameters: // dioChannelCount :receives the number of DIO chennels logged int dioChannelCount = 0; if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { errorInfo = logger.GetDIOInfo(ref dioChannelCount); if (errorInfo.Value == MccDaq.ErrorInfo.ErrorCode.NoErrors) { lblDIOChannelCount.Text = dioChannelCount.ToString(); } } if (errorInfo.Value != MccDaq.ErrorInfo.ErrorCode.NoErrors) { MessageBox.Show(errorInfo.Message); return; } }