/// <summary> /// Get appropriate segment or create new segment. /// </summary> /// <param name="address"></param> /// <returns></returns> private DataSegment GetSegment(uint address) { var seg = DataSegments.FirstOrDefault(segment => segment.StartAddress < address && segment.EndAddress >= address); if (seg == null) { seg = new DataSegment { StartAddress = address }; DataSegments.Add(seg); } return(seg); }
/// <summary> /// Create Intel hex format string of data in DataSegments. /// </summary> /// <returns></returns> public string CreateIntelHex() { var data = string.Concat(DataSegments.Select(segment => segment.ToIntelHex())); return(data + ":00000001FF\r\n"); // add eof record }