private string GetTimingData(TIMING_TYPE e_timingType, Timing_Parameters timingParam) { try { if (e_timingType == TIMING_TYPE.PRE_CONDITION) { var timingCoord = new TimeCoord(TIMING_TYPE.PRE_CONDITION); return(GenerateTimingData(timingCoord, timingParam)); } else if (e_timingType == TIMING_TYPE.LED) { var timingCoord = new TimeCoord(TIMING_TYPE.LED); return(GenerateTimingData(timingCoord, timingParam)); } else if (e_timingType == TIMING_TYPE.INTEG_SEQUENCE) { var timingCoord = new TimeCoord(TIMING_TYPE.INTEG_SEQUENCE); return(GenerateTimingData(timingCoord, timingParam)); } } catch (Exception ex) { Console.WriteLine("Exception in GenerateTimingData API = " + ex); } return(string.Empty); }
public Timing_Parameters GetPathData(Timing_Parameters timingParam) { try { timingParam.INTEGSEQUENCE_DATA = Geometry.Parse(GetTimingData(TIMING_TYPE.INTEG_SEQUENCE, timingParam)); timingParam.LED_DATA = Geometry.Parse(GetTimingData(TIMING_TYPE.LED, timingParam)); timingParam.PRECONDITION_DATA = Geometry.Parse(GetTimingData(TIMING_TYPE.PRE_CONDITION, timingParam)); } catch (Exception ex) { Console.WriteLine("Exception in GetPathData API = " + ex); } return(timingParam); }
private string GenerateTimingData_local(TimeCoord timingCoord, Timing_Parameters timingParam) { string timingData = string.Empty; int automatic_period = 150; int pre_width = 8; //8 int led_offset = 16; //16 double integ_offset = (16625 / 1000.0); // Divide by 1000 to convert nanosecond to microsecond int led_width = 2; //2 int integ_width = 3; //3 var default_Y = 100.0; var peak_height = 50.0; var x1 = 0.0; var X2 = 0.0; var X3 = 0.0; var X4 = 0.0; var X5 = 0.0; var x6 = 0.0; var X7 = 0.0; var Y1 = 0.0; var Y2 = 0.0; try { if (timingCoord.eTimingType == TIMING_TYPE.PRE_CONDITION) { x1 = (TimeCoord.START_POINT + timingCoord.initial_width); X2 = (x1 + (pre_width * TimeCoord.Per_ms)); X3 = (X2 + (END_WIDTH - X2)); Y1 = default_Y - peak_height; timingData = "M " + TimeCoord.START_POINT + "," + default_Y + " "; timingData += "L "; timingData += x1 + "," + default_Y + " "; timingData += x1 + "," + Y1 + " "; timingData += X2 + "," + Y1 + " "; timingData += X2 + "," + default_Y + " "; timingData += X3 + "," + default_Y; m_preCoord = timingCoord; Console.WriteLine("Pre Condition Timing data = " + timingData); } else if (timingCoord.eTimingType == TIMING_TYPE.LED) { var end_width_diff = 0.0; x1 = timingCoord.initial_width + (pre_width * TimeCoord.Per_ms) + (led_offset * TimeCoord.Per_ms); Y1 = default_Y - peak_height; X2 = x1 + (led_width * TimeCoord.Per_ms); X3 = (integ_checkpoint + (integSeq_Offset_diff * TimeCoord.Per_ms)); // X3 = X2 + automatic_period; //automatically calculated period X4 = X3 + (led_width * TimeCoord.Per_ms); if (X4 > END_WIDTH) { end_width_diff = X4 - END_WIDTH; X5 = X4 - end_width_diff; } else { end_width_diff = END_WIDTH - X4; X5 = X4 + end_width_diff; } //X5 = X4 + end_width_diff; timingData = "M " + TimeCoord.START_POINT + "," + default_Y + " "; timingData += "L "; timingData += x1 + "," + default_Y + " "; timingData += (x1 + 1) + "," + Y1 + " "; timingData += X2 + "," + Y1 + " "; timingData += (X2 + 1) + "," + default_Y + " "; timingData += X3 + "," + default_Y + " "; timingData += (X3 + 1) + "," + Y1 + " "; timingData += X4 + "," + Y1 + " "; timingData += (X4 + 1) + "," + default_Y + " "; timingData += X5 + "," + default_Y; Console.WriteLine("LED Timing data = " + timingData); } else if (timingCoord.eTimingType == TIMING_TYPE.INTEG_SEQUENCE) { var end_width = 100.0; x1 = timingCoord.initial_width + (pre_width * TimeCoord.Per_ms) + (integ_offset * TimeCoord.Per_ms); Y1 = default_Y - peak_height; Y2 = default_Y + peak_height; X2 = x1 + (integ_width * TimeCoord.Per_ms); X3 = X2 + (integ_width * TimeCoord.Per_ms); X4 = X3 + automatic_period; integSeq_Offset_diff = led_offset - integ_offset; integ_checkpoint = X4; X5 = X4 + (integ_width * TimeCoord.Per_ms); x6 = X5 + (integ_width * TimeCoord.Per_ms); X7 = x6 + end_width; END_WIDTH = X7; timingData = "M " + TimeCoord.START_POINT + "," + default_Y + " "; timingData += "L "; timingData += x1 + "," + default_Y + " "; timingData += x1 + "," + Y1 + " "; timingData += X2 + "," + Y1 + " "; timingData += X2 + "," + Y2 + " "; timingData += X3 + "," + Y2 + " "; timingData += X3 + "," + default_Y + " "; timingData += X4 + "," + default_Y + " "; timingData += X4 + "," + Y1 + " "; timingData += X5 + "," + Y1 + " "; timingData += X5 + "," + Y2 + " "; timingData += x6 + "," + Y2 + " "; timingData += x6 + "," + default_Y + " "; timingData += X7 + "," + default_Y + " "; Console.WriteLine("INTEG Sequence timing data = " + timingData); } } catch (Exception ex) { Console.WriteLine("Exception in GenerateTimingData API = " + ex); } return(timingData); }