diff --git a/Log/MavlinkLog.cs b/Log/MavlinkLog.cs index 9b566ba916..9df9e563b4 100644 --- a/Log/MavlinkLog.cs +++ b/Log/MavlinkLog.cs @@ -744,9 +744,20 @@ private void BUT_graphmavlog_Click(object sender, EventArgs e) 0x600000,0x006000,0x000060,0x606000,0x600060,0x006060, 0xA00000,0x00A000,0x0000A0,0xA0A000,0xA000A0,0x00A0A0, 0xE00000,0x00E000,0x0000E0,0xE0E000,0xE000E0,0x00E0E0, */ - }; - - // Form selectform; + }; + + // Form selectform; + + private static string ReplaceLastOccurrence(string Source, string Find, string Replace) + { + int place = Source.LastIndexOf(Find); + + if (place == -1) + return Source; + + string result = Source.Remove(place, Find.Length).Insert(place, Replace); + return result; + } private List GetLogFileValidFields(string logfile) { @@ -827,7 +838,8 @@ private List GetLogFileValidFields(string logfile) if (true) { - string packetname = test.Name.Replace("mavlink_", "").Replace("_t", "").ToUpper(); + string packetname = ReplaceLastOccurrence(test.Name, "_t", ""); + packetname = packetname.Replace("mavlink_", "").ToUpper(); if (!packetdata.ContainsKey(packetname)) { @@ -1206,7 +1218,8 @@ private void ResetTreeView(List seenmessagetypes) { var items = item.Split('.'); - var item1text = items[0].Replace("mavlink_", "").Replace("_t", "").ToUpper(); + var item1text = ReplaceLastOccurrence(items[0], "_t", ""); + item1text = item1text.Replace("mavlink_", "").ToUpper(); var item2text = items[1]; if (!addedrootnodes.ContainsKey(item1text))