/// <summary> /// Get the byte size of the structure. /// </summary> /// <param name="profileHeader">Structure whose byte size you want to get.</param> /// <returns>Byte size</returns> public static int GetByteSize(TypeOfStruct type) { switch (type) { case TypeOfStruct.PROFILE_HEADER: LJV7IF_PROFILE_HEADER profileHeader = new LJV7IF_PROFILE_HEADER(); return(Marshal.SizeOf(profileHeader)); case TypeOfStruct.PROFILE_FOOTER: LJV7IF_PROFILE_FOOTER profileFooter = new LJV7IF_PROFILE_FOOTER(); return(Marshal.SizeOf(profileFooter)); case TypeOfStruct.MEASURE_DATA: LJV7IF_MEASURE_DATA measureData = new LJV7IF_MEASURE_DATA(); return(Marshal.SizeOf(measureData)); } return(0); }
/// <summary> /// "GetMeasurementValue". /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public string GetMeasurementValue_value() { _sendCommand = SendCommand.GetMeasurementValue; LJV7IF_MEASURE_DATA[] measureData = new LJV7IF_MEASURE_DATA[NativeMethods.MeasurementDataCount]; int rc = NativeMethods.LJV7IF_GetMeasurementValue(_currentDeviceId, measureData); AddLogResult(rc, Resources.SID_GET_MEASUREMENT_VALUE); if (rc == (int)Rc.Ok) { _measureDatas.Clear(); _measureDatas.Add(new MeasureData(0, measureData)); for (int i = 0; i < NativeMethods.MeasurementDataCount; i++) { AddLog(string.Format(" OUT{0:00}: {1}", (i + 1), Utility.ConvertToLogString(measureData[i]).ToString())); } } return(rc.ToString()); }
/// <summary> /// Get the string for log output. /// </summary> /// <param name="obj">Structure that you want to convert to a string</param> /// <returns>String for log output</returns> public static StringBuilder ConvertToLogString(LJV7IF_MEASURE_DATA measureData) { StringBuilder sb = new StringBuilder(); string dataInfo = string.Empty; switch (measureData.byDataInfo) { case (int)LJV7IF_MEASURE_DATA_INFO.LJV7IF_MEASURE_DATA_INFO_VALID: dataInfo = @"Valid "; break; case (int)LJV7IF_MEASURE_DATA_INFO.LJV7IF_MEASURE_DATA_INFO_ALARM: dataInfo = @"Alarm value "; break; case (int)LJV7IF_MEASURE_DATA_INFO.LJV7IF_MEASURE_DATA_INFO_WAIT: dataInfo = @"Judgment wait value "; break; default: dataInfo = @"Unexpected value "; break; } sb.Append(dataInfo); string judge = string.Empty; switch (measureData.byJudge) { case 0: judge = @"______ "; break; case (int)LJV7IF_JUDGE_RESULT.LJV7IF_JUDGE_RESULT_HI: judge = @"HI____ "; break; case (int)LJV7IF_JUDGE_RESULT.LJV7IF_JUDGE_RESULT_GO: judge = @"__GO__ "; break; case (int)LJV7IF_JUDGE_RESULT.LJV7IF_JUDGE_RESULT_LO: judge = @"____LO "; break; case (int)(LJV7IF_JUDGE_RESULT.LJV7IF_JUDGE_RESULT_HI | LJV7IF_JUDGE_RESULT.LJV7IF_JUDGE_RESULT_LO): judge = @"HI__LO "; break; case (int)(LJV7IF_JUDGE_RESULT.LJV7IF_JUDGE_RESULT_HI | LJV7IF_JUDGE_RESULT.LJV7IF_JUDGE_RESULT_GO | LJV7IF_JUDGE_RESULT.LJV7IF_JUDGE_RESULT_LO): judge = @"ALL BIT "; break; default: judge = @"UNEXPECTED "; break; } sb.Append(judge); sb.Append(measureData.fValue.ToString()); return(sb); }