AI_MMI_Analyser/c_Sharp_Code/lib/dositotcms.cs

586 lines
14 KiB
C#

using System;
namespace SL200_RTLogViewer.lib
{
// Token: 0x02000035 RID: 53
public class DOSItoTCMS
{
// Token: 0x06000157 RID: 343 RVA: 0x00027520 File Offset: 0x00025720
public static DOSItoTCMSClass SetData(byte[] data)
{
DOSItoTCMSClass dositoTCMSClass = new DOSItoTCMSClass();
dositoTCMSClass.destID = Convert.ToUInt32(data[1]);
dositoTCMSClass.sourID = Convert.ToUInt32(data[2]);
dositoTCMSClass.frameSeq = Convert.ToUInt32(data[4]);
dositoTCMSClass.formNo = Convert.ToUInt32(data[6]);
dositoTCMSClass.trNo = string.Format("{0:x4}", (uint)((int)data[7] << 8 | (int)data[8]));
dositoTCMSClass.trainSpeed = Convert.ToUInt32(data[9]);
dositoTCMSClass.atc1_Ok = (((data[10] & 128) > 0) ? "GOOD" : "BAD");
dositoTCMSClass.atc1_Act = (((data[10] & 64) > 0) ? "ACTIVE" : "STANDBY");
dositoTCMSClass.atc2_Ok = (((data[10] & 32) > 0) ? "GOOD" : "BAD");
dositoTCMSClass.atc2_Act = (((data[10] & 16) > 0) ? "ACTIVE" : "STANDBY");
bool flag = (data[10] & 12) == 8;
if (flag)
{
dositoTCMSClass.trSize = "10량";
}
else
{
bool flag2 = (data[10] & 12) == 4;
if (flag2)
{
dositoTCMSClass.trSize = "8량";
}
else
{
dositoTCMSClass.trSize = "6량";
}
}
dositoTCMSClass.adc = ((data[10] & 2) > 0);
dositoTCMSClass.eb_status = ((data[10] & 1) > 0);
dositoTCMSClass.wheels1 = 860 - ((data[11] & 248) >> 3) * 5;
bool flag3 = (data[11] & 7) == 0;
if (flag3)
{
dositoTCMSClass.drvmode = "Invalid";
}
else
{
bool flag4 = (data[11] & 7) == 1;
if (flag4)
{
dositoTCMSClass.drvmode = "FMC";
}
else
{
bool flag5 = (data[11] & 7) == 2;
if (flag5)
{
dositoTCMSClass.drvmode = "YARD";
}
else
{
bool flag6 = (data[11] & 7) == 3;
if (flag6)
{
dositoTCMSClass.drvmode = "MCS";
}
else
{
bool flag7 = (data[11] & 7) == 4;
if (flag7)
{
dositoTCMSClass.drvmode = "AUTO";
}
else
{
bool flag8 = (data[11] & 7) == 5;
if (flag8)
{
dositoTCMSClass.drvmode = "FA";
}
else
{
dositoTCMSClass.drvmode = "None";
}
}
}
}
}
}
bool flag9 = (data[12] & 240) == 0;
if (flag9)
{
dositoTCMSClass.atcCode = "02";
}
else
{
bool flag10 = (data[12] & 240) == 16;
if (flag10)
{
dositoTCMSClass.atcCode = "01";
}
else
{
bool flag11 = (data[12] & 240) == 32;
if (flag11)
{
dositoTCMSClass.atcCode = "25";
}
else
{
bool flag12 = (data[12] & 240) == 48;
if (flag12)
{
dositoTCMSClass.atcCode = "40";
}
else
{
bool flag13 = (data[12] & 240) == 64;
if (flag13)
{
dositoTCMSClass.atcCode = "55";
}
else
{
bool flag14 = (data[12] & 240) == 80;
if (flag14)
{
dositoTCMSClass.atcCode = "65";
}
else
{
bool flag15 = (data[12] & 240) == 96;
if (flag15)
{
dositoTCMSClass.atcCode = "75";
}
else
{
bool flag16 = (data[12] & 240) == 112;
if (flag16)
{
dositoTCMSClass.atcCode = "D";
}
else
{
bool flag17 = (data[12] & 240) == 128;
if (flag17)
{
dositoTCMSClass.atcCode = "DE";
}
else
{
bool flag18 = (data[12] & 240) == 144;
if (flag18)
{
dositoTCMSClass.atcCode = "DW";
}
else
{
dositoTCMSClass.atcCode = "None";
}
}
}
}
}
}
}
}
}
}
bool flag19 = (data[12] & 3) == 0;
if (flag19)
{
dositoTCMSClass.dr_Mod = "None";
}
else
{
bool flag20 = (data[12] & 3) == 1;
if (flag20)
{
dositoTCMSClass.dr_Mod = "M/M";
}
else
{
bool flag21 = (data[12] & 3) == 2;
if (flag21)
{
dositoTCMSClass.dr_Mod = "A/M";
}
else
{
bool flag22 = (data[12] & 3) == 3;
if (flag22)
{
dositoTCMSClass.dr_Mod = "A/A";
}
}
}
}
bool flag23 = (data[13] & 240) == 0;
if (flag23)
{
dositoTCMSClass.marker = "None";
}
else
{
bool flag24 = (data[13] & 240) == 16;
if (flag24)
{
dositoTCMSClass.marker = "PG1";
}
else
{
bool flag25 = (data[13] & 240) == 32;
if (flag25)
{
dositoTCMSClass.marker = "PG2";
}
else
{
bool flag26 = (data[13] & 240) == 48;
if (flag26)
{
dositoTCMSClass.marker = "PG3-1";
}
else
{
bool flag27 = (data[13] & 240) == 64;
if (flag27)
{
dositoTCMSClass.marker = "PG3-2";
}
else
{
bool flag28 = (data[13] & 240) == 80;
if (flag28)
{
dositoTCMSClass.marker = "PG3-3";
}
else
{
bool flag29 = (data[13] & 240) == 96;
if (flag29)
{
dositoTCMSClass.marker = "ATS";
}
}
}
}
}
}
}
bool flag30 = (data[13] & 12) == 12;
if (flag30)
{
dositoTCMSClass.pdt_RLT = "Progress";
}
else
{
bool flag31 = (data[13] & 12) == 8;
if (flag31)
{
dositoTCMSClass.pdt_RLT = "NG";
}
else
{
bool flag32 = (data[13] & 12) == 4;
if (flag32)
{
dositoTCMSClass.pdt_RLT = "PASS";
}
else
{
bool flag33 = (data[13] & 12) == 0;
if (flag33)
{
dositoTCMSClass.pdt_RLT = "No Test";
}
}
}
}
dositoTCMSClass.active = ((data[13] & 1) > 0);
dositoTCMSClass.dc = ((data[14] & 128) > 0);
dositoTCMSClass.b = ((data[14] & 64) > 0);
dositoTCMSClass.p = ((data[14] & 32) > 0);
dositoTCMSClass.pb_PSD = ((data[14] & 2) > 0);
dositoTCMSClass.ovsw = ((data[14] & 1) > 0);
dositoTCMSClass.ldo = ((data[15] & 128) > 0);
dositoTCMSClass.rdo = ((data[15] & 64) > 0);
dositoTCMSClass.lde = ((data[15] & 32) > 0);
dositoTCMSClass.rde = ((data[15] & 16) > 0);
dositoTCMSClass.dblp = ((data[15] & 8) > 0);
dositoTCMSClass.zv = ((data[15] & 4) > 0);
dositoTCMSClass.fsb = ((data[15] & 2) > 0);
dositoTCMSClass.eb = ((data[15] & 1) > 0);
dositoTCMSClass.pwmn = Convert.ToUInt32(data[16]);
dositoTCMSClass.twctxen = ((data[17] & 32) > 0);
dositoTCMSClass.berth = ((data[17] & 16) > 0);
bool flag34 = (data[17] & 14) == 0;
if (flag34)
{
dositoTCMSClass.carrier = "-";
}
else
{
bool flag35 = (data[17] & 14) == 2;
if (flag35)
{
dositoTCMSClass.carrier = "F1";
}
else
{
bool flag36 = (data[17] & 14) == 4;
if (flag36)
{
dositoTCMSClass.carrier = "F2";
}
else
{
bool flag37 = (data[17] & 14) == 6;
if (flag37)
{
dositoTCMSClass.carrier = "F3";
}
else
{
bool flag38 = (data[17] & 14) == 8;
if (flag38)
{
dositoTCMSClass.carrier = "F4";
}
}
}
}
}
dositoTCMSClass.tacho_R = ((data[17] & 1) > 0);
dositoTCMSClass.romver = string.Format("Ver{0}.{1}", (data[18] & 240) >> 4, (int)(data[18] & 15));
dositoTCMSClass.missDoor = ((data[19] & 128) > 0);
bool flag39 = (data[19] & 24) == 16;
if (flag39)
{
dositoTCMSClass.next_DR = "오른쪽";
}
else
{
bool flag40 = (data[19] & 24) == 8;
if (flag40)
{
dositoTCMSClass.next_DR = "왼쪽";
}
else
{
dositoTCMSClass.next_DR = "-";
}
}
dositoTCMSClass.st_VAL = ((data[19] & 4) > 0);
dositoTCMSClass.dcw_VAL = ((data[19] & 2) > 0);
dositoTCMSClass.dcw = ((data[19] & 1) > 0);
dositoTCMSClass.pre_CODE = Convert.ToUInt32(data[20]);
dositoTCMSClass.nxt_CODE = Convert.ToUInt32(data[21]);
dositoTCMSClass.dst_CODE = Convert.ToUInt32(data[22]);
dositoTCMSClass.ato_DTG = Convert.ToDouble((int)data[23] << 8 | (int)data[24]);
dositoTCMSClass.wheels2 = 860 - ((data[25] & 248) >> 3) * 5;
dositoTCMSClass.man_EB = ((data[25] & 1) > 0);
dositoTCMSClass.limitSpeed = Convert.ToUInt32(data[26]);
bool flag41 = (data[27] & 128) > 0;
if (flag41)
{
DOSItoTCMSClass dositoTCMSClass2 = dositoTCMSClass;
dositoTCMSClass2.errM += "TACHOF:";
}
else
{
bool flag42 = (data[27] & 64) > 0;
if (flag42)
{
DOSItoTCMSClass dositoTCMSClass3 = dositoTCMSClass;
dositoTCMSClass3.errM += "ATCWSF:";
}
else
{
bool flag43 = (data[27] & 32) > 0;
if (flag43)
{
DOSItoTCMSClass dositoTCMSClass4 = dositoTCMSClass;
dositoTCMSClass4.errM += "INCHING:";
}
else
{
bool flag44 = (data[27] & 16) > 0;
if (flag44)
{
DOSItoTCMSClass dositoTCMSClass5 = dositoTCMSClass;
dositoTCMSClass5.errM += "OV_STOP2:";
}
else
{
bool flag45 = (data[27] & 8) > 0;
if (flag45)
{
DOSItoTCMSClass dositoTCMSClass6 = dositoTCMSClass;
dositoTCMSClass6.errM += "OV_STOP1:";
}
else
{
bool flag46 = (data[27] & 4) > 0;
if (flag46)
{
DOSItoTCMSClass dositoTCMSClass7 = dositoTCMSClass;
dositoTCMSClass7.errM += "SH_STOP2:";
}
else
{
bool flag47 = (data[27] & 2) > 0;
if (flag47)
{
DOSItoTCMSClass dositoTCMSClass8 = dositoTCMSClass;
dositoTCMSClass8.errM += "SH_STOP1:";
}
else
{
bool flag48 = (data[27] & 1) > 0;
if (flag48)
{
DOSItoTCMSClass dositoTCMSClass9 = dositoTCMSClass;
dositoTCMSClass9.errM = (dositoTCMSClass9.errM ?? "");
}
}
}
}
}
}
}
}
bool flag49 = (data[28] & 128) > 0;
if (flag49)
{
DOSItoTCMSClass dositoTCMSClass10 = dositoTCMSClass;
dositoTCMSClass10.errM += "STCODEF:";
}
else
{
bool flag50 = (data[28] & 64) > 0;
if (flag50)
{
DOSItoTCMSClass dositoTCMSClass11 = dositoTCMSClass;
dositoTCMSClass11.errM += "DOF:";
}
else
{
bool flag51 = (data[28] & 32) > 0;
if (flag51)
{
DOSItoTCMSClass dositoTCMSClass12 = dositoTCMSClass;
dositoTCMSClass12.errM += "DCF:";
}
else
{
bool flag52 = (data[28] & 16) > 0;
if (flag52)
{
DOSItoTCMSClass dositoTCMSClass13 = dositoTCMSClass;
dositoTCMSClass13.errM += "ATOPSF:";
}
else
{
bool flag53 = (data[28] & 8) > 0;
if (flag53)
{
DOSItoTCMSClass dositoTCMSClass14 = dositoTCMSClass;
dositoTCMSClass14.errM += "DRVCAMF:";
}
else
{
bool flag54 = (data[28] & 4) > 0;
if (flag54)
{
DOSItoTCMSClass dositoTCMSClass15 = dositoTCMSClass;
dositoTCMSClass15.errM += "HCRTCRF:";
}
else
{
bool flag55 = (data[28] & 2) > 0;
if (flag55)
{
DOSItoTCMSClass dositoTCMSClass16 = dositoTCMSClass;
dositoTCMSClass16.errM += "MASNCF:";
}
else
{
bool flag56 = (data[28] & 1) > 0;
if (flag56)
{
DOSItoTCMSClass dositoTCMSClass17 = dositoTCMSClass;
dositoTCMSClass17.errM += "BALISEAF:";
}
}
}
}
}
}
}
}
bool flag57 = (data[29] & 128) > 0;
if (flag57)
{
DOSItoTCMSClass dositoTCMSClass18 = dositoTCMSClass;
dositoTCMSClass18.errM = (dositoTCMSClass18.errM ?? "");
}
else
{
bool flag58 = (data[29] & 64) > 0;
if (flag58)
{
DOSItoTCMSClass dositoTCMSClass19 = dositoTCMSClass;
dositoTCMSClass19.errM = (dositoTCMSClass19.errM ?? "");
}
else
{
bool flag59 = (data[29] & 32) > 0;
if (flag59)
{
DOSItoTCMSClass dositoTCMSClass20 = dositoTCMSClass;
dositoTCMSClass20.errM = (dositoTCMSClass20.errM ?? "");
}
else
{
bool flag60 = (data[29] & 16) > 0;
if (flag60)
{
DOSItoTCMSClass dositoTCMSClass21 = dositoTCMSClass;
dositoTCMSClass21.errM = (dositoTCMSClass21.errM ?? "");
}
else
{
bool flag61 = (data[29] & 8) > 0;
if (flag61)
{
DOSItoTCMSClass dositoTCMSClass22 = dositoTCMSClass;
dositoTCMSClass22.errM = (dositoTCMSClass22.errM ?? "");
}
else
{
bool flag62 = (data[29] & 4) > 0;
if (flag62)
{
DOSItoTCMSClass dositoTCMSClass23 = dositoTCMSClass;
dositoTCMSClass23.errM += "PG32F:";
}
else
{
bool flag63 = (data[29] & 2) > 0;
if (flag63)
{
DOSItoTCMSClass dositoTCMSClass24 = dositoTCMSClass;
dositoTCMSClass24.errM += "PG2F:";
}
else
{
bool flag64 = (data[29] & 1) > 0;
if (flag64)
{
DOSItoTCMSClass dositoTCMSClass25 = dositoTCMSClass;
dositoTCMSClass25.errM += "PG1F:";
}
}
}
}
}
}
}
}
bool flag65 = data[27] == 0 && data[28] == 0 && data[29] == 0;
if (flag65)
{
dositoTCMSClass.errM = "";
}
dositoTCMSClass.UserBCC = (uint)((uint)(data[31] & byte.MaxValue) << 8);
dositoTCMSClass.UserBCC |= (uint)(data[32] & byte.MaxValue);
dositoTCMSClass.text = BitConverter.ToString(data, 0, data.Length).Replace("-", " ");
return dositoTCMSClass;
}
}
}