private void StageRev(int page) { WagoIO.Instance.SetListTC(lst, page); T1.StageRev("АВАРИЯ^НОСИТЕЛЯ", new SolidColorBrush(Colors.Red), new SolidColorBrush(Colors.Silver)); T2.StageRev("", new SolidColorBrush(Colors.Red), new SolidColorBrush(Colors.Silver)); T3.StageRev("Р по^ПАДАЕТ", new SolidColorBrush(Colors.Red), new SolidColorBrush(Colors.Silver)); T4.StageRev("СРАБОТАЛ^ТД", new SolidColorBrush(Colors.Red), new SolidColorBrush(Colors.Silver)); T5.StageRev("", new SolidColorBrush(Colors.Red), new SolidColorBrush(Colors.Silver)); T6.StageRev("ОТКАЗ^БВС", new SolidColorBrush(Colors.Red), new SolidColorBrush(Colors.Silver)); T7.StageRev("Pса^ПАДАЕТ", new SolidColorBrush(Colors.Red), new SolidColorBrush(Colors.Silver)); T8.StageRev("РАЗГЕРМ^СА", new SolidColorBrush(Colors.Red), new SolidColorBrush(Colors.Silver)); T9.StageRev("РАЗГЕРМ^КЖО", new SolidColorBrush(Colors.Red), new SolidColorBrush(Colors.Silver)); T10.StageRev("Р400^мм рт ст", new SolidColorBrush(Colors.Red), new SolidColorBrush(Colors.Silver)); T11.StageRev("СОСТАВ^ВОЗДУХА", new SolidColorBrush(Colors.Red), new SolidColorBrush(Colors.Silver)); T12.StageRev("РАЗГЕРМ^КНР", new SolidColorBrush(Colors.Red), new SolidColorBrush(Colors.Silver)); T13.StageRev("PАЗГЕРМ^ПОДГОТ", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T14.StageRev("РАЗДЕЛЕН^по ГЦ", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T15.StageRev("ОТКРЫТ^КСД БО", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T16.StageRev("АВАРИЯ^ЦВМ", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T17.StageRev("ПРОГР^РАЗДЕЛЕН", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T18.StageRev("ТД^ПОДКЛ", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T19.StageRev("ПРИЗНАК^СПУСК", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T20.StageRev("СГ^РАЗАРР", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T21.StageRev("РАБОТА^ДПО", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T22.StageRev("СПУСК^ПО ГЦ", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T23.StageRev("ВЫБОР^ДПО", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T24.StageRev("РАБОТА^СКД", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); Block1 = "TC-1"; Block2 = "TC-2"; Block3 = "TC-3"; Block4 = "TC-4"; if (page == 2) { T1.StageRev("БС", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T2.StageRev("БСР", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T3.StageRev("закрутка^СА", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T4.StageRev("ВЫЗОВ НА^СВЯЗЬ", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T5.StageRev("разреш^РРСТ", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T6.StageRev("U мало", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T7.StageRev("ввод^ЗСП", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T8.StageRev("отказ^очист СА", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T9.StageRev("ПОСАДКА", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T10.StageRev("РБ^подкл", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T11.StageRev("отказ^очист БО", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T12.StageRev("останов^КС-020", new SolidColorBrush(Colors.Yellow), new SolidColorBrush(Colors.Silver)); T13.StageRev("БВC^готов", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T14.StageRev("ОСК", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T15.StageRev("ГСО", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T16.StageRev("2 СЕКЦИЯ^НАДДУВА", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T17.StageRev("2 СЕКЦИЯ^КДУ", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T18.StageRev("СА-БО^люк откр", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T19.StageRev("РО АК", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T20.StageRev("ввод^ОСП", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T21.StageRev("подача^O2", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T22.StageRev("РУД", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T23.StageRev("УКВ^передача", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); T24.StageRev("МЕХАН^СОЕДИН", new SolidColorBrush(Colors.Green), new SolidColorBrush(Colors.Silver)); Block1 = "TC-5"; Block2 = "TC-6"; Block3 = "TC-7"; Block4 = "TC-8"; } }
static T19 ParsingT19(string sBit) { T19 stt = new T19(); stt.type = Convert.ToUInt16(bin2int(sBit.Substring(0, 6))); stt.repeat = Convert.ToUInt16(bin2int(sBit.Substring(6, 2))); stt.mmsi = Convert.ToUInt32(bin2int(sBit.Substring(8, 30))); stt.speed = (float)((bin2int(sBit.Substring(46, 10))) * 1.0 / 10); stt.accuracy = Convert.ToBoolean(bin2int(sBit.Substring(56, 1))); bool west = Convert.ToBoolean(bin2int(sBit.Substring(57, 1))); UInt32 lon = Convert.ToUInt32(bin2int(sBit.Substring(57, 28))); stt.lon = getPos(lon, west, true); bool south = Convert.ToBoolean(bin2int(sBit.Substring(85, 1))); UInt32 lat = Convert.ToUInt32(bin2int(sBit.Substring(85, 27))); stt.lat = getPos(lat, south, false); stt.course = (bin2int(sBit.Substring(112, 12))) / 10; stt.heading = Convert.ToUInt16(bin2int(sBit.Substring(124, 9))); stt.second = Convert.ToUInt16(bin2int(sBit.Substring(133, 6))); stt.regional = Convert.ToUInt16(bin2int(sBit.Substring(139, 4))); stt.vessel = str6bit(sBit.Substring(143, 120)); stt.shiptype = Convert.ToUInt16(bin2int(sBit.Substring(263, 8))); stt.bow = Convert.ToUInt16(bin2int(sBit.Substring(271, 9))); stt.stern = Convert.ToUInt16(bin2int(sBit.Substring(280, 9))); stt.port = Convert.ToUInt16(bin2int(sBit.Substring(289, 6))); stt.starboard = Convert.ToUInt16(bin2int(sBit.Substring(295, 6))); stt.epfd = Convert.ToUInt16(bin2int(sBit.Substring(301, 4))); stt.raim = Convert.ToBoolean(bin2int(sBit.Substring(305, 1))); stt.dte = Convert.ToBoolean(bin2int(sBit.Substring(306, 1))); stt.assign = Convert.ToUInt16(bin2int(sBit.Substring(307, 4))); #if DISP_DEBUG Console.WriteLine("tip: {0}", stt.type); Console.WriteLine("rep: {0}", stt.repeat); Console.WriteLine("mms: {0} ", stt.mmsi); Console.WriteLine("spe: {0} ", stt.speed); Console.WriteLine("acc: {0} ", stt.accuracy); Console.WriteLine("lon: {0} {1}", stt.lon, posDeg(stt.lon, true)); Console.WriteLine("lat: {0} {1}", stt.lat, posDeg(stt.lat, false)); Console.WriteLine("cou: {0} ", stt.course); Console.WriteLine("hea: {0} ", stt.heading); Console.WriteLine("sec: {0} ", stt.second); Console.WriteLine("reg: {0} ", stt.regional); Console.WriteLine("ves: {0} ", stt.vessel); Console.WriteLine("sht: {0} ", stt.shiptype); Console.WriteLine("bow: {0} ", stt.bow); Console.WriteLine("ste: {0} ", stt.stern); Console.WriteLine("por: {0} ", stt.port); Console.WriteLine("sta: {0} ", stt.starboard); Console.WriteLine("epf: {0} ", stt.epfd); Console.WriteLine("rai: {0} ", stt.raim); Console.WriteLine("dte: {0} ", stt.dte); Console.WriteLine("ass: {0} ", stt.assign); #endif return(stt); }
static bool Do19(T19 t) { Nullable<T19> n = new Nullable<T19>(t); return Ensure(n.HasValue && n.Value == t); }