1175 lines
35 KiB
C#
1175 lines
35 KiB
C#
using System;
|
|
|
|
namespace SL200_RTLogViewer.lib
|
|
{
|
|
// Token: 0x02000033 RID: 51
|
|
public class DDOSItoMMI
|
|
{
|
|
// Token: 0x06000154 RID: 340 RVA: 0x00025054 File Offset: 0x00023254
|
|
public static DOSItoMMIClass SetData(byte[] data)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass = new DOSItoMMIClass();
|
|
dositoMMIClass.seq = Convert.ToUInt32(data[1]);
|
|
dositoMMIClass.source = Convert.ToUInt32(data[3]);
|
|
dositoMMIClass.time = "20";
|
|
DOSItoMMIClass dositoMMIClass2 = dositoMMIClass;
|
|
dositoMMIClass2.time += string.Format("{0:x2}.", data[4]);
|
|
DOSItoMMIClass dositoMMIClass3 = dositoMMIClass;
|
|
dositoMMIClass3.time += string.Format("{0:x2}.", data[5]);
|
|
DOSItoMMIClass dositoMMIClass4 = dositoMMIClass;
|
|
dositoMMIClass4.time += string.Format("{0:x2} ", data[6]);
|
|
DOSItoMMIClass dositoMMIClass5 = dositoMMIClass;
|
|
dositoMMIClass5.time += string.Format("{0:x2}:", data[7]);
|
|
DOSItoMMIClass dositoMMIClass6 = dositoMMIClass;
|
|
dositoMMIClass6.time += string.Format("{0:x2}:", data[8]);
|
|
DOSItoMMIClass dositoMMIClass7 = dositoMMIClass;
|
|
dositoMMIClass7.time += string.Format("{0:x2}", data[9]);
|
|
dositoMMIClass.trainspeed = Convert.ToDouble((int)data[10] << 8 | (int)data[11]) / 10.0;
|
|
dositoMMIClass.limitspeed = Convert.ToUInt32(data[12]);
|
|
dositoMMIClass.do_zvr = ((data[13] & 32) > 0);
|
|
dositoMMIClass.do_edl = ((data[13] & 16) > 0);
|
|
dositoMMIClass.do_edr = ((data[13] & 8) > 0);
|
|
dositoMMIClass.do_fsb = ((data[13] & 4) > 0);
|
|
dositoMMIClass.do_ebm = ((data[13] & 2) > 0);
|
|
dositoMMIClass.do_ebp = ((data[13] & 1) > 0);
|
|
dositoMMIClass.system_active = ((data[14] & 128) > 0);
|
|
dositoMMIClass.over_spd_warning = ((data[14] & 64) > 0);
|
|
dositoMMIClass.tcr = ((data[14] & 32) > 0);
|
|
dositoMMIClass.hcr = ((data[14] & 16) > 0);
|
|
dositoMMIClass.door_open = ((data[14] & 8) > 0);
|
|
dositoMMIClass.door_close = ((data[14] & 4) > 0);
|
|
dositoMMIClass.psd_open = ((data[14] & 2) > 0);
|
|
dositoMMIClass.psd_close = ((data[14] & 1) > 0);
|
|
dositoMMIClass.fa = ((data[15] & 128) > 0);
|
|
dositoMMIClass.auto = ((data[15] & 64) > 0);
|
|
dositoMMIClass.mcs = ((data[15] & 32) > 0);
|
|
dositoMMIClass.yard = ((data[15] & 16) > 0);
|
|
dositoMMIClass.fmc = ((data[15] & 8) > 0);
|
|
dositoMMIClass.reversingrod_rvs = ((data[15] & 4) > 0);
|
|
dositoMMIClass.reversingrod_fwd = ((data[15] & 2) > 0);
|
|
dositoMMIClass.reversingrod_neu = ((data[15] & 1) > 0);
|
|
dositoMMIClass.ato_start_btn = ((data[16] & 128) > 0);
|
|
dositoMMIClass.ato_eb_req = ((data[16] & 64) > 0);
|
|
dositoMMIClass.tacho_dir_a = ((data[16] & 32) > 0);
|
|
dositoMMIClass.tacho_dir_b = ((data[16] & 16) > 0);
|
|
dositoMMIClass.mascon_neu = ((data[16] & 0) > 0);
|
|
dositoMMIClass.mascon_dr = ((data[16] & 2) > 0);
|
|
dositoMMIClass.mascon_br = ((data[16] & 4) > 0);
|
|
dositoMMIClass.mascon_eb = ((data[16] & 8) > 0);
|
|
dositoMMIClass.ack_whd1 = 860U - (Convert.ToUInt32(data[17]) - 1U) * 5U;
|
|
dositoMMIClass.ack_whd2 = 860U - (Convert.ToUInt32(data[18]) - 1U) * 5U;
|
|
bool flag = (data[19] & 192) == 0;
|
|
if (flag)
|
|
{
|
|
dositoMMIClass.atc_status = "INITIAL PDT";
|
|
}
|
|
else
|
|
{
|
|
bool flag2 = (data[19] & 192) == 192;
|
|
if (flag2)
|
|
{
|
|
dositoMMIClass.atc_status = "MANUAL PDT";
|
|
}
|
|
else
|
|
{
|
|
bool flag3 = (data[19] & 192) == 64;
|
|
if (flag3)
|
|
{
|
|
dositoMMIClass.atc_status = "ATC ACTIVE";
|
|
}
|
|
else
|
|
{
|
|
bool flag4 = (data[19] & 192) == 128;
|
|
if (flag4)
|
|
{
|
|
dositoMMIClass.atc_status = "ATC STANDBY";
|
|
}
|
|
else
|
|
{
|
|
dositoMMIClass.atc_status = "-";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
dositoMMIClass.wheelcheck = ((data[19] & 32) > 0);
|
|
bool flag5 = (data[19] & 28) == 16;
|
|
if (flag5)
|
|
{
|
|
dositoMMIClass.mpdt = "START";
|
|
}
|
|
else
|
|
{
|
|
bool flag6 = (data[19] & 28) == 8;
|
|
if (flag6)
|
|
{
|
|
dositoMMIClass.mpdt = "NG";
|
|
}
|
|
else
|
|
{
|
|
bool flag7 = (data[19] & 28) == 4;
|
|
if (flag7)
|
|
{
|
|
dositoMMIClass.mpdt = "OK";
|
|
}
|
|
else
|
|
{
|
|
dositoMMIClass.mpdt = "-";
|
|
}
|
|
}
|
|
}
|
|
bool flag8 = (data[19] & 3) == 2;
|
|
if (flag8)
|
|
{
|
|
dositoMMIClass.ipdt = "NG";
|
|
}
|
|
else
|
|
{
|
|
bool flag9 = (data[19] & 3) == 1;
|
|
if (flag9)
|
|
{
|
|
dositoMMIClass.ipdt = "OK";
|
|
}
|
|
else
|
|
{
|
|
dositoMMIClass.ipdt = "-";
|
|
}
|
|
}
|
|
dositoMMIClass.fail_atcr = ((data[20] & 128) > 0);
|
|
dositoMMIClass.fail_atoc = ((data[20] & 64) > 0);
|
|
dositoMMIClass.fail_tcms = ((data[20] & 32) > 0);
|
|
dositoMMIClass.fail_tacho2 = ((data[20] & 2) > 0);
|
|
dositoMMIClass.fail_tacho1 = ((data[20] & 1) > 0);
|
|
dositoMMIClass.recovery = ((data[21] & 128) > 0);
|
|
dositoMMIClass.nomal = ((data[21] & 64) > 0);
|
|
dositoMMIClass.tasc = ((data[21] & 32) > 0);
|
|
bool flag10 = (data[21] & 31) == 16;
|
|
if (flag10)
|
|
{
|
|
dositoMMIClass.marker = "ATS";
|
|
}
|
|
else
|
|
{
|
|
bool flag11 = (data[21] & 31) == 8;
|
|
if (flag11)
|
|
{
|
|
dositoMMIClass.marker = "PGX";
|
|
}
|
|
else
|
|
{
|
|
bool flag12 = (data[21] & 31) == 4;
|
|
if (flag12)
|
|
{
|
|
dositoMMIClass.marker = "PG3-2";
|
|
}
|
|
else
|
|
{
|
|
bool flag13 = (data[21] & 31) == 2;
|
|
if (flag13)
|
|
{
|
|
dositoMMIClass.marker = "PG2";
|
|
}
|
|
else
|
|
{
|
|
bool flag14 = (data[21] & 31) == 1;
|
|
if (flag14)
|
|
{
|
|
dositoMMIClass.marker = "PG1";
|
|
}
|
|
else
|
|
{
|
|
dositoMMIClass.marker = "-";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
dositoMMIClass.pwm_value = Convert.ToUInt32(data[22]);
|
|
dositoMMIClass.trac_dr = ((data[23] & 128) > 0);
|
|
dositoMMIClass.trac_br = ((data[23] & 64) > 0);
|
|
dositoMMIClass.trac_cs = ((data[23] & 32) > 0);
|
|
dositoMMIClass.ador = ((data[23] & 16) > 0);
|
|
dositoMMIClass.adol = ((data[23] & 8) > 0);
|
|
dositoMMIClass.adc = ((data[23] & 4) > 0);
|
|
dositoMMIClass.start_enable = ((data[23] & 2) > 0);
|
|
dositoMMIClass.trainberth = ((data[23] & 1) > 0);
|
|
dositoMMIClass.tc2 = ((data[24] & 128) > 0);
|
|
dositoMMIClass.tc1 = ((data[24] & 64) > 0);
|
|
dositoMMIClass.tascdb = ((data[24] & 32) > 0);
|
|
bool flag15 = (data[24] & 24) == 16;
|
|
if (flag15)
|
|
{
|
|
dositoMMIClass.tcmsdoor = "LDO";
|
|
}
|
|
else
|
|
{
|
|
bool flag16 = (data[24] & 24) == 8;
|
|
if (flag16)
|
|
{
|
|
dositoMMIClass.tcmsdoor = "RDO";
|
|
}
|
|
else
|
|
{
|
|
bool flag17 = (data[24] & 24) == 24;
|
|
if (flag17)
|
|
{
|
|
dositoMMIClass.tcmsdoor = "L,RDO";
|
|
}
|
|
else
|
|
{
|
|
dositoMMIClass.tcmsdoor = "-";
|
|
}
|
|
}
|
|
}
|
|
bool flag18 = (data[24] & 7) == 4;
|
|
if (flag18)
|
|
{
|
|
dositoMMIClass.doormod = "A / A";
|
|
}
|
|
else
|
|
{
|
|
bool flag19 = (data[24] & 7) == 2;
|
|
if (flag19)
|
|
{
|
|
dositoMMIClass.doormod = "A / M";
|
|
}
|
|
else
|
|
{
|
|
bool flag20 = (data[24] & 7) == 1;
|
|
if (flag20)
|
|
{
|
|
dositoMMIClass.doormod = "M / M";
|
|
}
|
|
}
|
|
}
|
|
dositoMMIClass.pre_brake = ((data[25] & 128) > 0);
|
|
dositoMMIClass.limit_drive = ((data[25] & 64) > 0);
|
|
dositoMMIClass.ov_stop1 = ((data[25] & 8) > 0);
|
|
dositoMMIClass.ov_stop2 = ((data[25] & 4) > 0);
|
|
dositoMMIClass.sh_stop1 = ((data[25] & 2) > 0);
|
|
dositoMMIClass.sh_stop2 = ((data[25] & 1) > 0);
|
|
dositoMMIClass.trainno = string.Format("{0:x4}", (uint)((int)data[26] << 8 | (int)data[27]));
|
|
dositoMMIClass.pstn = Convert.ToInt32(data[28]);
|
|
dositoMMIClass.nstn = Convert.ToInt32(data[29]);
|
|
dositoMMIClass.dstn = Convert.ToInt32(data[30]);
|
|
int num = (int)data[31] << 8 | (int)data[32];
|
|
bool tasc = dositoMMIClass.tasc;
|
|
if (tasc)
|
|
{
|
|
dositoMMIClass.dtg = Convert.ToDouble((float)num / 100f);
|
|
}
|
|
else
|
|
{
|
|
bool flag21 = dositoMMIClass.trainspeed == 0.0 && !dositoMMIClass.trac_dr;
|
|
if (flag21)
|
|
{
|
|
bool flag22 = (num & 32768) != 0;
|
|
if (flag22)
|
|
{
|
|
num -= 65536;
|
|
}
|
|
dositoMMIClass.dtg = Convert.ToDouble((float)num / 100f) * -1.0;
|
|
}
|
|
else
|
|
{
|
|
dositoMMIClass.dtg = Convert.ToDouble((float)num / 10f);
|
|
}
|
|
}
|
|
dositoMMIClass.osc_f = Convert.ToDouble((int)(data[55] ^ 99) << 8 | (int)(data[58] ^ 100)) / 10.0;
|
|
dositoMMIClass.ato_limitSpeed = Convert.ToUInt32(data[33]);
|
|
dositoMMIClass.kur = ((data[34] & 128) > 0);
|
|
dositoMMIClass.osc = ((data[34] & 64) > 0);
|
|
dositoMMIClass.inching = ((data[34] & 32) > 0);
|
|
dositoMMIClass.twct_enable = ((data[34] & 16) > 0);
|
|
dositoMMIClass.door_close_warning = ((data[34] & 8) > 0);
|
|
dositoMMIClass.wrongdoor = ((data[34] & 4) > 0);
|
|
bool flag23 = (data[34] & 3) == 2;
|
|
if (flag23)
|
|
{
|
|
dositoMMIClass.nextdoor = "오른쪽";
|
|
}
|
|
else
|
|
{
|
|
bool flag24 = (data[34] & 3) == 1;
|
|
if (flag24)
|
|
{
|
|
dositoMMIClass.nextdoor = "왼쪽";
|
|
}
|
|
else
|
|
{
|
|
dositoMMIClass.nextdoor = "-";
|
|
}
|
|
}
|
|
bool flag25 = (data[35] & 240) >> 4 == 0;
|
|
if (flag25)
|
|
{
|
|
dositoMMIClass.atc_code = "02";
|
|
}
|
|
else
|
|
{
|
|
bool flag26 = (data[35] & 240) >> 4 == 1;
|
|
if (flag26)
|
|
{
|
|
dositoMMIClass.atc_code = "01";
|
|
}
|
|
else
|
|
{
|
|
bool flag27 = (data[35] & 240) >> 4 == 2;
|
|
if (flag27)
|
|
{
|
|
dositoMMIClass.atc_code = "25";
|
|
}
|
|
else
|
|
{
|
|
bool flag28 = (data[35] & 240) >> 4 == 3;
|
|
if (flag28)
|
|
{
|
|
dositoMMIClass.atc_code = "40";
|
|
}
|
|
else
|
|
{
|
|
bool flag29 = (data[35] & 240) >> 4 == 4;
|
|
if (flag29)
|
|
{
|
|
dositoMMIClass.atc_code = "55";
|
|
}
|
|
else
|
|
{
|
|
bool flag30 = (data[35] & 240) >> 4 == 5;
|
|
if (flag30)
|
|
{
|
|
dositoMMIClass.atc_code = "65";
|
|
}
|
|
else
|
|
{
|
|
bool flag31 = (data[35] & 240) >> 4 == 6;
|
|
if (flag31)
|
|
{
|
|
dositoMMIClass.atc_code = "75";
|
|
}
|
|
else
|
|
{
|
|
bool flag32 = (data[35] & 240) >> 4 == 7;
|
|
if (flag32)
|
|
{
|
|
dositoMMIClass.atc_code = "DE";
|
|
}
|
|
else
|
|
{
|
|
bool flag33 = (data[35] & 240) >> 4 == 8;
|
|
if (flag33)
|
|
{
|
|
dositoMMIClass.atc_code = "DW";
|
|
}
|
|
else
|
|
{
|
|
dositoMMIClass.atc_code = "-";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
dositoMMIClass.osc_f0_ok = ((data[35] & 8) > 0);
|
|
bool flag34 = (data[35] & 7) == 0;
|
|
if (flag34)
|
|
{
|
|
dositoMMIClass.atc_carrier_f = "-";
|
|
}
|
|
else
|
|
{
|
|
bool flag35 = (data[35] & 7) == 1;
|
|
if (flag35)
|
|
{
|
|
dositoMMIClass.atc_carrier_f = "F1";
|
|
}
|
|
else
|
|
{
|
|
bool flag36 = (data[35] & 7) == 2;
|
|
if (flag36)
|
|
{
|
|
dositoMMIClass.atc_carrier_f = "F2";
|
|
}
|
|
else
|
|
{
|
|
bool flag37 = (data[35] & 7) == 3;
|
|
if (flag37)
|
|
{
|
|
dositoMMIClass.atc_carrier_f = "F3";
|
|
}
|
|
else
|
|
{
|
|
bool flag38 = (data[35] & 7) == 4;
|
|
if (flag38)
|
|
{
|
|
dositoMMIClass.atc_carrier_f = "F4";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
dositoMMIClass.atc_code_carrier_f = Convert.ToDouble((int)(data[36] ^ 65) << 8 | (int)(data[37] ^ 82)) * 10.0;
|
|
dositoMMIClass.atc_code_f = Convert.ToDouble((int)(data[38] ^ 99) << 8 | (int)(data[39] ^ 116)) / 10.0;
|
|
dositoMMIClass.messageh = Convert.ToInt32(data[40]);
|
|
bool flag39 = (data[41] & 128) > 0;
|
|
if (flag39)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass8 = dositoMMIClass;
|
|
dositoMMIClass8.diagnostic_err_msg += "ATIVSTATUS ERR:";
|
|
}
|
|
bool flag40 = (data[41] & 64) > 0;
|
|
if (flag40)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass9 = dositoMMIClass;
|
|
dositoMMIClass9.diagnostic_err_msg += "VOTING ERR:";
|
|
}
|
|
bool flag41 = (data[41] & 32) > 0;
|
|
if (flag41)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass10 = dositoMMIClass;
|
|
dositoMMIClass10.diagnostic_err_msg += "RUNRTDGET ERR:";
|
|
}
|
|
bool flag42 = (data[41] & 16) > 0;
|
|
if (flag42)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass11 = dositoMMIClass;
|
|
dositoMMIClass11.diagnostic_err_msg += "ATIVSTATUS GET ERR:";
|
|
}
|
|
bool flag43 = (data[41] & 8) > 0;
|
|
if (flag43)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass12 = dositoMMIClass;
|
|
dositoMMIClass12.diagnostic_err_msg = (dositoMMIClass12.diagnostic_err_msg ?? "");
|
|
}
|
|
bool flag44 = (data[41] & 4) > 0;
|
|
if (flag44)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass13 = dositoMMIClass;
|
|
dositoMMIClass13.diagnostic_err_msg = (dositoMMIClass13.diagnostic_err_msg ?? "");
|
|
}
|
|
bool flag45 = (data[41] & 2) > 0;
|
|
if (flag45)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass14 = dositoMMIClass;
|
|
dositoMMIClass14.diagnostic_err_msg = (dositoMMIClass14.diagnostic_err_msg ?? "");
|
|
}
|
|
bool flag46 = (data[41] & 1) > 0;
|
|
if (flag46)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass15 = dositoMMIClass;
|
|
dositoMMIClass15.diagnostic_err_msg = (dositoMMIClass15.diagnostic_err_msg ?? "");
|
|
}
|
|
bool flag47 = (data[42] & 128) > 0;
|
|
if (flag47)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass16 = dositoMMIClass;
|
|
dositoMMIClass16.diagnostic_err_msg += "MDHEALTYG ERR:";
|
|
}
|
|
bool flag48 = (data[42] & 32) > 0;
|
|
if (flag48)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass17 = dositoMMIClass;
|
|
dositoMMIClass17.diagnostic_err_msg += "INPUT ERR:";
|
|
}
|
|
bool flag49 = (data[42] & 16) > 0;
|
|
if (flag49)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass18 = dositoMMIClass;
|
|
dositoMMIClass18.diagnostic_err_msg += "UNHEALTHY ERR:";
|
|
}
|
|
bool flag50 = (data[42] & 8) > 0;
|
|
if (flag50)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass19 = dositoMMIClass;
|
|
dositoMMIClass19.diagnostic_err_msg += "EOT ERR:";
|
|
}
|
|
bool flag51 = (data[42] & 4) > 0;
|
|
if (flag51)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass20 = dositoMMIClass;
|
|
dositoMMIClass20.diagnostic_err_msg += "EOTVALGET ERR:";
|
|
}
|
|
bool flag52 = (data[42] & 2) > 0;
|
|
if (flag52)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass21 = dositoMMIClass;
|
|
dositoMMIClass21.diagnostic_err_msg += "RUN RTD ERR:";
|
|
}
|
|
bool flag53 = (data[42] & 1) > 0;
|
|
if (flag53)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass22 = dositoMMIClass;
|
|
dositoMMIClass22.diagnostic_err_msg += "RUN RTD SET ERR:";
|
|
}
|
|
bool flag54 = (data[43] & 128) > 0;
|
|
if (flag54)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass23 = dositoMMIClass;
|
|
dositoMMIClass23.diagnostic_err_msg = (dositoMMIClass23.diagnostic_err_msg ?? "");
|
|
}
|
|
bool flag55 = (data[43] & 64) > 0;
|
|
if (flag55)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass24 = dositoMMIClass;
|
|
dositoMMIClass24.diagnostic_err_msg = (dositoMMIClass24.diagnostic_err_msg ?? "");
|
|
}
|
|
bool flag56 = (data[43] & 32) > 0;
|
|
if (flag56)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass25 = dositoMMIClass;
|
|
dositoMMIClass25.diagnostic_err_msg += "EB DATA ERR:";
|
|
}
|
|
bool flag57 = (data[43] & 16) > 0;
|
|
if (flag57)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass26 = dositoMMIClass;
|
|
dositoMMIClass26.diagnostic_err_msg += "VDO TEMP ERR:";
|
|
}
|
|
bool flag58 = (data[43] & 8) > 0;
|
|
if (flag58)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass27 = dositoMMIClass;
|
|
dositoMMIClass27.diagnostic_err_msg += "VDI TEMP ERR:";
|
|
}
|
|
bool flag59 = (data[43] & 4) > 0;
|
|
if (flag59)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass28 = dositoMMIClass;
|
|
dositoMMIClass28.diagnostic_err_msg += "OUTGOING ERR:";
|
|
}
|
|
bool flag60 = (data[43] & 2) > 0;
|
|
if (flag60)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass29 = dositoMMIClass;
|
|
dositoMMIClass29.diagnostic_err_msg += "OUTPUT FB ERR:";
|
|
}
|
|
bool flag61 = data[41] == 0 && data[42] == 0 && data[43] == 0;
|
|
if (flag61)
|
|
{
|
|
dositoMMIClass.diagnostic_err_msg = "";
|
|
}
|
|
bool flag62 = (data[45] & 128) > 0;
|
|
if (flag62)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass30 = dositoMMIClass;
|
|
dositoMMIClass30.atc_err_msg += "MSCSTATE ERR:";
|
|
}
|
|
bool flag63 = (data[45] & 64) > 0;
|
|
if (flag63)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass31 = dositoMMIClass;
|
|
dositoMMIClass31.atc_err_msg += "DOORSTAT E.ERR:";
|
|
}
|
|
bool flag64 = (data[45] & 32) > 0;
|
|
if (flag64)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass32 = dositoMMIClass;
|
|
dositoMMIClass32.atc_err_msg += "DRIVEMODE ERR:";
|
|
}
|
|
bool flag65 = (data[45] & 16) > 0;
|
|
if (flag65)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass33 = dositoMMIClass;
|
|
dositoMMIClass33.atc_err_msg += "CABMOD ERR:";
|
|
}
|
|
bool flag66 = (data[45] & 8) > 0;
|
|
if (flag66)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass34 = dositoMMIClass;
|
|
dositoMMIClass34.atc_err_msg += "IPDT WHL ERR:";
|
|
}
|
|
bool flag67 = (data[45] & 4) > 0;
|
|
if (flag67)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass35 = dositoMMIClass;
|
|
dositoMMIClass35.atc_err_msg += "IPDT TACHO ERR:";
|
|
}
|
|
bool flag68 = (data[45] & 2) > 0;
|
|
if (flag68)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass36 = dositoMMIClass;
|
|
dositoMMIClass36.atc_err_msg += "IPDT EB ERR:";
|
|
}
|
|
bool flag69 = (data[45] & 1) > 0;
|
|
if (flag69)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass37 = dositoMMIClass;
|
|
dositoMMIClass37.atc_err_msg += "IPDT ATCR ERR:";
|
|
}
|
|
bool flag70 = (data[46] & 128) > 0;
|
|
if (flag70)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass38 = dositoMMIClass;
|
|
dositoMMIClass38.atc_err_msg += "MAXSPEED ERR:";
|
|
}
|
|
bool flag71 = (data[46] & 64) > 0;
|
|
if (flag71)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass39 = dositoMMIClass;
|
|
dositoMMIClass39.atc_err_msg += "WHELLDIA ERR:";
|
|
}
|
|
bool flag72 = (data[46] & 32) > 0;
|
|
if (flag72)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass40 = dositoMMIClass;
|
|
dositoMMIClass40.atc_err_msg += "MANUALPDT ERR:";
|
|
}
|
|
bool flag73 = (data[46] & 16) > 0;
|
|
if (flag73)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass41 = dositoMMIClass;
|
|
dositoMMIClass41.atc_err_msg += "INITPDT ERR:";
|
|
}
|
|
bool flag74 = (data[46] & 8) > 0;
|
|
if (flag74)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass42 = dositoMMIClass;
|
|
dositoMMIClass42.atc_err_msg += "DIRSET ERR:";
|
|
}
|
|
bool flag75 = (data[46] & 4) > 0;
|
|
if (flag75)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass43 = dositoMMIClass;
|
|
dositoMMIClass43.atc_err_msg += "TCSEL ERR:";
|
|
}
|
|
bool flag76 = (data[46] & 2) > 0;
|
|
if (flag76)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass44 = dositoMMIClass;
|
|
dositoMMIClass44.atc_err_msg += "PSDSTATE ERR:";
|
|
}
|
|
bool flag77 = (data[46] & 1) > 0;
|
|
if (flag77)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass45 = dositoMMIClass;
|
|
dositoMMIClass45.atc_err_msg += "REVERSING ERR:";
|
|
}
|
|
bool flag78 = (data[47] & 128) > 0;
|
|
if (flag78)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass46 = dositoMMIClass;
|
|
dositoMMIClass46.atc_err_msg += "TRBSMODE ERR:";
|
|
}
|
|
bool flag79 = (data[47] & 64) > 0;
|
|
if (flag79)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass47 = dositoMMIClass;
|
|
dositoMMIClass47.atc_err_msg += "TDCSMOD E.ERR:";
|
|
}
|
|
bool flag80 = (data[47] & 32) > 0;
|
|
if (flag80)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass48 = dositoMMIClass;
|
|
dositoMMIClass48.atc_err_msg += "TZSSMODE ERR:";
|
|
}
|
|
bool flag81 = (data[47] & 16) > 0;
|
|
if (flag81)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass49 = dositoMMIClass;
|
|
dositoMMIClass49.atc_err_msg += "TRSSMODE ERR:";
|
|
}
|
|
bool flag82 = (data[47] & 8) > 0;
|
|
if (flag82)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass50 = dositoMMIClass;
|
|
dositoMMIClass50.atc_err_msg += "RESTRICTION ERR:";
|
|
}
|
|
bool flag83 = (data[47] & 4) > 0;
|
|
if (flag83)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass51 = dositoMMIClass;
|
|
dositoMMIClass51.atc_err_msg += "ATCCODE ERR:";
|
|
}
|
|
bool flag84 = (data[47] & 2) > 0;
|
|
if (flag84)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass52 = dositoMMIClass;
|
|
dositoMMIClass52.atc_err_msg += "MAXPULSE ERR:";
|
|
}
|
|
bool flag85 = (data[47] & 1) > 0;
|
|
if (flag85)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass53 = dositoMMIClass;
|
|
dositoMMIClass53.atc_err_msg += "DIFFSPEED ERR:";
|
|
}
|
|
bool flag86 = (data[48] & 16) > 0;
|
|
if (flag86)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass54 = dositoMMIClass;
|
|
dositoMMIClass54.atc_err_msg += "PSDSTATE RECOVERY:";
|
|
}
|
|
bool flag87 = (data[48] & 8) > 0;
|
|
if (flag87)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass55 = dositoMMIClass;
|
|
dositoMMIClass55.atc_err_msg += "MNUALSTD BYCLR ERR:";
|
|
}
|
|
bool flag88 = (data[48] & 4) > 0;
|
|
if (flag88)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass56 = dositoMMIClass;
|
|
dositoMMIClass56.atc_err_msg += "MNUALSTD BYSET ERR:";
|
|
}
|
|
bool flag89 = (data[48] & 2) > 0;
|
|
if (flag89)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass57 = dositoMMIClass;
|
|
dositoMMIClass57.atc_err_msg += "ATCMODE ERR:";
|
|
}
|
|
bool flag90 = (data[48] & 1) > 0;
|
|
if (flag90)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass58 = dositoMMIClass;
|
|
dositoMMIClass58.atc_err_msg += "DIRECTION ERR:";
|
|
}
|
|
bool flag91 = data[45] == 0 && data[46] == 0 && data[47] == 0 && data[48] == 0;
|
|
if (flag91)
|
|
{
|
|
dositoMMIClass.atc_err_msg = "";
|
|
}
|
|
bool flag92 = data[40] == 7;
|
|
if (flag92)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass59 = dositoMMIClass;
|
|
dositoMMIClass59.atc_err_msg += "TRAIN DECEL WARNING:";
|
|
}
|
|
bool flag93 = data[40] == 8;
|
|
if (flag93)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass60 = dositoMMIClass;
|
|
dositoMMIClass60.atc_err_msg += "REVERSE OVER SPEED WARNING:";
|
|
}
|
|
bool flag94 = data[40] == 9;
|
|
if (flag94)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass61 = dositoMMIClass;
|
|
dositoMMIClass61.atc_err_msg += "DOOR OPEN STATUE EB:";
|
|
}
|
|
bool flag95 = data[40] == 10;
|
|
if (flag95)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass62 = dositoMMIClass;
|
|
dositoMMIClass62.atc_err_msg += "TRAIN ROLL-BACK EB:";
|
|
}
|
|
bool flag96 = data[40] == 11;
|
|
if (flag96)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass63 = dositoMMIClass;
|
|
dositoMMIClass63.atc_err_msg += "TRAIN MOVE EB:";
|
|
}
|
|
bool flag97 = data[40] == 11;
|
|
if (flag97)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass64 = dositoMMIClass;
|
|
dositoMMIClass64.ato_err_msg += "STNCODE ERROR:";
|
|
}
|
|
bool flag98 = (data[49] & 128) > 0;
|
|
if (flag98)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass65 = dositoMMIClass;
|
|
dositoMMIClass65.interface_err_msg += "MMI INIT ERR:";
|
|
}
|
|
bool flag99 = (data[49] & 64) > 0;
|
|
if (flag99)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass66 = dositoMMIClass;
|
|
dositoMMIClass66.interface_err_msg += "MMI W ERR:";
|
|
}
|
|
bool flag100 = (data[49] & 32) > 0;
|
|
if (flag100)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass67 = dositoMMIClass;
|
|
dositoMMIClass67.interface_err_msg += "MMI R ERR:";
|
|
}
|
|
bool flag101 = (data[50] & 128) > 0;
|
|
if (flag101)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass68 = dositoMMIClass;
|
|
dositoMMIClass68.interface_err_msg += "ATCR INIT ERR:";
|
|
}
|
|
bool flag102 = (data[50] & 64) > 0;
|
|
if (flag102)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass69 = dositoMMIClass;
|
|
dositoMMIClass69.interface_err_msg += "ATCR W ERR:";
|
|
}
|
|
bool flag103 = (data[50] & 32) > 0;
|
|
if (flag103)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass70 = dositoMMIClass;
|
|
dositoMMIClass70.interface_err_msg += "ATCR R ERR:";
|
|
}
|
|
bool flag104 = (data[50] & 8) > 0;
|
|
if (flag104)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass71 = dositoMMIClass;
|
|
dositoMMIClass71.interface_err_msg += "TCMS INIT ERR:";
|
|
}
|
|
bool flag105 = (data[50] & 4) > 0;
|
|
if (flag105)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass72 = dositoMMIClass;
|
|
dositoMMIClass72.interface_err_msg += "TCMS W ERR:";
|
|
}
|
|
bool flag106 = (data[50] & 2) > 0;
|
|
if (flag106)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass73 = dositoMMIClass;
|
|
dositoMMIClass73.interface_err_msg += "TCMS R ERR:";
|
|
}
|
|
bool flag107 = (data[50] & 1) > 0;
|
|
if (flag107)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass74 = dositoMMIClass;
|
|
dositoMMIClass74.interface_err_msg = (dositoMMIClass74.interface_err_msg ?? "");
|
|
}
|
|
bool flag108 = (data[51] & 128) > 0;
|
|
if (flag108)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass75 = dositoMMIClass;
|
|
dositoMMIClass75.interface_err_msg += "VDI INIT ERR:";
|
|
}
|
|
bool flag109 = (data[51] & 64) > 0;
|
|
if (flag109)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass76 = dositoMMIClass;
|
|
dositoMMIClass76.interface_err_msg += "VDI W ERR:";
|
|
}
|
|
bool flag110 = (data[51] & 32) > 0;
|
|
if (flag110)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass77 = dositoMMIClass;
|
|
dositoMMIClass77.interface_err_msg += "VDI R ERR:";
|
|
}
|
|
bool flag111 = (data[51] & 16) > 0;
|
|
if (flag111)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass78 = dositoMMIClass;
|
|
dositoMMIClass78.interface_err_msg += "DIO INIT ERR:";
|
|
}
|
|
bool flag112 = (data[51] & 8) > 0;
|
|
if (flag112)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass79 = dositoMMIClass;
|
|
dositoMMIClass79.interface_err_msg += "ATOC INIT ERR:";
|
|
}
|
|
bool flag113 = (data[51] & 4) > 0;
|
|
if (flag113)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass80 = dositoMMIClass;
|
|
dositoMMIClass80.interface_err_msg += "ATOC W ERR:";
|
|
}
|
|
bool flag114 = (data[51] & 2) > 0;
|
|
if (flag114)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass81 = dositoMMIClass;
|
|
dositoMMIClass81.interface_err_msg += "ATOC R ERR_1:";
|
|
}
|
|
bool flag115 = (data[51] & 1) > 0;
|
|
if (flag115)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass82 = dositoMMIClass;
|
|
dositoMMIClass82.interface_err_msg += "ATOC R ERR_2:";
|
|
}
|
|
bool flag116 = (data[52] & 128) > 0;
|
|
if (flag116)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass83 = dositoMMIClass;
|
|
dositoMMIClass83.interface_err_msg = (dositoMMIClass83.interface_err_msg ?? "");
|
|
}
|
|
bool flag117 = (data[52] & 64) > 0;
|
|
if (flag117)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass84 = dositoMMIClass;
|
|
dositoMMIClass84.interface_err_msg = (dositoMMIClass84.interface_err_msg ?? "");
|
|
}
|
|
bool flag118 = (data[52] & 32) > 0;
|
|
if (flag118)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass85 = dositoMMIClass;
|
|
dositoMMIClass85.interface_err_msg = (dositoMMIClass85.interface_err_msg ?? "");
|
|
}
|
|
bool flag119 = (data[52] & 16) > 0;
|
|
if (flag119)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass86 = dositoMMIClass;
|
|
dositoMMIClass86.interface_err_msg = (dositoMMIClass86.interface_err_msg ?? "");
|
|
}
|
|
bool flag120 = (data[52] & 8) > 0;
|
|
if (flag120)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass87 = dositoMMIClass;
|
|
dositoMMIClass87.interface_err_msg += "VDO INIT ERR:";
|
|
}
|
|
bool flag121 = (data[52] & 4) > 0;
|
|
if (flag121)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass88 = dositoMMIClass;
|
|
dositoMMIClass88.interface_err_msg += "VDO W ERR:";
|
|
}
|
|
bool flag122 = (data[52] & 2) > 0;
|
|
if (flag122)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass89 = dositoMMIClass;
|
|
dositoMMIClass89.interface_err_msg += "VDO R ERR:";
|
|
}
|
|
bool flag123 = (data[52] & 1) > 0;
|
|
if (flag123)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass90 = dositoMMIClass;
|
|
dositoMMIClass90.interface_err_msg = (dositoMMIClass90.interface_err_msg ?? "");
|
|
}
|
|
bool flag124 = data[49] == 0 && data[50] == 0 && data[51] == 0 && data[52] == 0;
|
|
if (flag124)
|
|
{
|
|
dositoMMIClass.interface_err_msg = "";
|
|
}
|
|
bool flag125 = (data[53] & 128) > 0;
|
|
if (flag125)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass91 = dositoMMIClass;
|
|
dositoMMIClass91.ato_err_msg += "ATO ANT ERR_1:";
|
|
}
|
|
bool flag126 = (data[53] & 64) > 0;
|
|
if (flag126)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass92 = dositoMMIClass;
|
|
dositoMMIClass92.ato_err_msg = (dositoMMIClass92.ato_err_msg ?? "");
|
|
}
|
|
bool flag127 = (data[53] & 32) > 0;
|
|
if (flag127)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass93 = dositoMMIClass;
|
|
dositoMMIClass93.ato_err_msg += "RLY FB ERR:";
|
|
}
|
|
bool flag128 = (data[53] & 16) > 0;
|
|
if (flag128)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass94 = dositoMMIClass;
|
|
dositoMMIClass94.ato_err_msg += "DOORCL ERR:";
|
|
}
|
|
bool flag129 = (data[53] & 8) > 0;
|
|
if (flag129)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass95 = dositoMMIClass;
|
|
dositoMMIClass95.ato_err_msg += "DOOROP ERR:";
|
|
}
|
|
bool flag130 = (data[53] & 4) > 0;
|
|
if (flag130)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass96 = dositoMMIClass;
|
|
dositoMMIClass96.ato_err_msg += "STNCODE ERR:";
|
|
}
|
|
bool flag131 = (data[53] & 2) > 0;
|
|
if (flag131)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass97 = dositoMMIClass;
|
|
dositoMMIClass97.ato_err_msg += "ATO ANT ERR_2:";
|
|
}
|
|
bool flag132 = (data[53] & 1) > 0;
|
|
if (flag132)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass98 = dositoMMIClass;
|
|
dositoMMIClass98.ato_err_msg += "ATO STOP ERR:";
|
|
}
|
|
bool flag133 = (data[54] & 128) > 0;
|
|
if (flag133)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass99 = dositoMMIClass;
|
|
dositoMMIClass99.ato_err_msg = (dositoMMIClass99.ato_err_msg ?? "");
|
|
}
|
|
bool flag134 = (data[54] & 64) > 0;
|
|
if (flag134)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass100 = dositoMMIClass;
|
|
dositoMMIClass100.ato_err_msg = (dositoMMIClass100.ato_err_msg ?? "");
|
|
}
|
|
bool flag135 = (data[54] & 32) > 0;
|
|
if (flag135)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass101 = dositoMMIClass;
|
|
dositoMMIClass101.ato_err_msg = (dositoMMIClass101.ato_err_msg ?? "");
|
|
}
|
|
bool flag136 = (data[54] & 16) > 0;
|
|
if (flag136)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass102 = dositoMMIClass;
|
|
dositoMMIClass102.ato_err_msg = (dositoMMIClass102.ato_err_msg ?? "");
|
|
}
|
|
bool flag137 = (data[54] & 8) > 0;
|
|
if (flag137)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass103 = dositoMMIClass;
|
|
dositoMMIClass103.ato_err_msg = (dositoMMIClass103.ato_err_msg ?? "");
|
|
}
|
|
bool flag138 = (data[54] & 4) > 0;
|
|
if (flag138)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass104 = dositoMMIClass;
|
|
dositoMMIClass104.ato_err_msg += "ATO.PG32 ERR:";
|
|
}
|
|
bool flag139 = (data[54] & 2) > 0;
|
|
if (flag139)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass105 = dositoMMIClass;
|
|
dositoMMIClass105.ato_err_msg += "ATO.PG2 ERR:";
|
|
}
|
|
bool flag140 = (data[54] & 1) > 0;
|
|
if (flag140)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass106 = dositoMMIClass;
|
|
dositoMMIClass106.ato_err_msg += "ATO.PG1 ERR:";
|
|
}
|
|
bool flag141 = data[53] == 0 && data[54] == 0;
|
|
if (flag141)
|
|
{
|
|
dositoMMIClass.ato_err_msg = "";
|
|
}
|
|
dositoMMIClass.atc_swver = string.Format("V{0}.{1}", Convert.ToString((data[56] & 240) >> 4, 16).ToUpper(), (double)(data[56] & 15) / 10.0);
|
|
dositoMMIClass.ato_err_detect = Convert.ToString(data[57], 16);
|
|
string[] array = dositoMMIClass.time.Split(new char[]
|
|
{
|
|
'.'
|
|
});
|
|
bool flag142 = array[0] == "2024" && int.Parse(array[1]) < 6;
|
|
if (flag142)
|
|
{
|
|
dositoMMIClass.ato_err_msg = "";
|
|
}
|
|
else
|
|
{
|
|
bool flag143 = (data[57] & 128) > 0;
|
|
if (flag143)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass107 = dositoMMIClass;
|
|
dositoMMIClass107.ato_err_msg += "ATOCR NG:";
|
|
}
|
|
bool flag144 = (data[57] & 64) > 0;
|
|
if (flag144)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass108 = dositoMMIClass;
|
|
dositoMMIClass108.ato_err_msg += "CCC CommFAIL:";
|
|
}
|
|
bool flag145 = (data[57] & 32) > 0;
|
|
if (flag145)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass109 = dositoMMIClass;
|
|
dositoMMIClass109.ato_err_msg += "ATOR CommFAIL:";
|
|
}
|
|
bool flag146 = (data[57] & 16) > 0;
|
|
if (flag146)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass110 = dositoMMIClass;
|
|
dositoMMIClass110.ato_err_msg += "TWCR CommFAIL:";
|
|
}
|
|
bool flag147 = (data[57] & 8) > 0;
|
|
if (flag147)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass111 = dositoMMIClass;
|
|
dositoMMIClass111.ato_err_msg += "TWCT CommFAIL:";
|
|
}
|
|
bool flag148 = (data[57] & 4) > 0;
|
|
if (flag148)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass112 = dositoMMIClass;
|
|
dositoMMIClass112.ato_err_msg += "PWM_FB ERR:";
|
|
}
|
|
bool flag149 = (data[57] & 1) > 0;
|
|
if (flag149)
|
|
{
|
|
DOSItoMMIClass dositoMMIClass113 = dositoMMIClass;
|
|
dositoMMIClass113.ato_err_msg += "SPD_Diff DETECT:";
|
|
}
|
|
}
|
|
dositoMMIClass.trainspeed_a = Convert.ToDouble((int)data[59] << 8 | (int)data[60]) / 10.0;
|
|
dositoMMIClass.trainspeed_b = Convert.ToDouble((int)data[61] << 8 | (int)data[62]) / 10.0;
|
|
dositoMMIClass.vdia_input = Convert.ToString(data[63], 16).ToUpper() + data[64].ToString("X2").ToUpper();
|
|
dositoMMIClass.vdia_rvs = ((data[63] & 128) > 0);
|
|
dositoMMIClass.vdia_neu = ((data[63] & 64) > 0);
|
|
dositoMMIClass.vdia_fwd = ((data[63] & 32) > 0);
|
|
dositoMMIClass.vdia_mascondr = ((data[63] & 16) > 0);
|
|
dositoMMIClass.vdia_masconbr = ((data[63] & 8) > 0);
|
|
dositoMMIClass.vdia_masconeb = ((data[63] & 4) > 0);
|
|
dositoMMIClass.vdia_doorclose = ((data[63] & 2) > 0);
|
|
dositoMMIClass.vdia_dooropen = ((data[63] & 1) > 0);
|
|
dositoMMIClass.vdia_fmc = ((data[64] & 64) > 0);
|
|
dositoMMIClass.vdia_yard = ((data[64] & 32) > 0);
|
|
dositoMMIClass.vdia_mcs = ((data[64] & 16) > 0);
|
|
dositoMMIClass.vdia_auto = ((data[64] & 8) > 0);
|
|
dositoMMIClass.vdia_fa = ((data[64] & 4) > 0);
|
|
dositoMMIClass.vdia_tcr = ((data[64] & 2) > 0);
|
|
dositoMMIClass.vdia_hcr = ((data[64] & 1) > 0);
|
|
dositoMMIClass.vdia_stat = Convert.ToString(data[65], 16).ToUpper();
|
|
dositoMMIClass.vdib_input = Convert.ToString(data[66], 16).ToUpper() + data[67].ToString("X2").ToUpper();
|
|
dositoMMIClass.vdib_rvs = ((data[66] & 128) > 0);
|
|
dositoMMIClass.vdib_neu = ((data[66] & 64) > 0);
|
|
dositoMMIClass.vdib_fwd = ((data[66] & 32) > 0);
|
|
dositoMMIClass.vdib_mascondr = ((data[66] & 16) > 0);
|
|
dositoMMIClass.vdib_masconbr = ((data[66] & 8) > 0);
|
|
dositoMMIClass.vdib_masconeb = ((data[66] & 4) > 0);
|
|
dositoMMIClass.vdib_doorclose = ((data[66] & 2) > 0);
|
|
dositoMMIClass.vdib_dooropen = ((data[66] & 1) > 0);
|
|
dositoMMIClass.vdib_fmc = ((data[67] & 64) > 0);
|
|
dositoMMIClass.vdib_yard = ((data[67] & 32) > 0);
|
|
dositoMMIClass.vdib_mcs = ((data[67] & 16) > 0);
|
|
dositoMMIClass.vdib_auto = ((data[67] & 8) > 0);
|
|
dositoMMIClass.vdib_fa = ((data[67] & 4) > 0);
|
|
dositoMMIClass.vdib_tcr = ((data[67] & 2) > 0);
|
|
dositoMMIClass.vdib_hcr = ((data[67] & 1) > 0);
|
|
dositoMMIClass.vdib_stat = Convert.ToString(data[68], 16).ToUpper();
|
|
dositoMMIClass.vdic_input = Convert.ToString(data[69], 16).ToUpper() + data[70].ToString("X2").ToUpper();
|
|
dositoMMIClass.vdic_tc2 = ((data[69] & 128) > 0);
|
|
dositoMMIClass.vdic_tc1 = ((data[69] & 64) > 0);
|
|
dositoMMIClass.vdic_edlfb = ((data[69] & 32) > 0);
|
|
dositoMMIClass.vdic_edrfb = ((data[69] & 16) > 0);
|
|
dositoMMIClass.vdic_zvrfb = ((data[69] & 8) > 0);
|
|
dositoMMIClass.vdic_fsbfb = ((data[69] & 4) > 0);
|
|
dositoMMIClass.vdic_ebmfb = ((data[69] & 2) > 0);
|
|
dositoMMIClass.vdic_ebpfb = ((data[69] & 1) > 0);
|
|
dositoMMIClass.vdic_unit1 = ((data[70] & 128) > 0);
|
|
dositoMMIClass.vdic_startbtn = ((data[70] & 4) > 0);
|
|
dositoMMIClass.vdic_psdclose = ((data[70] & 2) > 0);
|
|
dositoMMIClass.vdic_psdopen = ((data[70] & 1) > 0);
|
|
dositoMMIClass.vdic_stat = Convert.ToString(data[71], 16).ToUpper();
|
|
dositoMMIClass.vdid_input = Convert.ToString(data[72], 16).ToUpper() + data[73].ToString("X2").ToUpper();
|
|
dositoMMIClass.vdid_tc2 = ((data[72] & 128) > 0);
|
|
dositoMMIClass.vdid_tc1 = ((data[72] & 64) > 0);
|
|
dositoMMIClass.vdid_edlfb = ((data[72] & 32) > 0);
|
|
dositoMMIClass.vdid_edrfb = ((data[72] & 16) > 0);
|
|
dositoMMIClass.vdid_zvrfb = ((data[72] & 8) > 0);
|
|
dositoMMIClass.vdid_fsbfb = ((data[72] & 4) > 0);
|
|
dositoMMIClass.vdid_ebmfb = ((data[72] & 2) > 0);
|
|
dositoMMIClass.vdid_ebpfb = ((data[72] & 1) > 0);
|
|
dositoMMIClass.vdid_unit1 = ((data[73] & 128) > 0);
|
|
dositoMMIClass.vdid_startbtn = ((data[73] & 4) > 0);
|
|
dositoMMIClass.vdid_psdclose = ((data[73] & 2) > 0);
|
|
dositoMMIClass.vdid_psdopen = ((data[73] & 1) > 0);
|
|
dositoMMIClass.vdid_stat = Convert.ToString(data[74], 16).ToUpper();
|
|
dositoMMIClass.vdoa_feedback = data[75].ToString("X2").ToUpper();
|
|
dositoMMIClass.vdoa_edl = ((data[75] & 32) > 0);
|
|
dositoMMIClass.vdoa_edr = ((data[75] & 16) > 0);
|
|
dositoMMIClass.vdoa_zvr = ((data[75] & 8) > 0);
|
|
dositoMMIClass.vdoa_fsb = ((data[75] & 4) > 0);
|
|
dositoMMIClass.vdoa_ebm = ((data[75] & 2) > 0);
|
|
dositoMMIClass.vdoa_ebp = ((data[75] & 1) > 0);
|
|
dositoMMIClass.vdoa_stat = Convert.ToString(data[76], 16).ToUpper();
|
|
dositoMMIClass.vdob_feedback = data[77].ToString("X2").ToUpper();
|
|
dositoMMIClass.vdob_edl = ((data[77] & 32) > 0);
|
|
dositoMMIClass.vdob_edr = ((data[77] & 16) > 0);
|
|
dositoMMIClass.vdob_zvr = ((data[77] & 8) > 0);
|
|
dositoMMIClass.vdob_fsb = ((data[77] & 4) > 0);
|
|
dositoMMIClass.vdob_ebm = ((data[77] & 2) > 0);
|
|
dositoMMIClass.vdob_ebp = ((data[77] & 1) > 0);
|
|
dositoMMIClass.vdob_stat = Convert.ToString(data[78], 16).ToUpper();
|
|
dositoMMIClass.UserCRC = (uint)((uint)(data[60] & byte.MaxValue) << 24);
|
|
dositoMMIClass.UserCRC |= (uint)((uint)(data[61] & byte.MaxValue) << 16);
|
|
dositoMMIClass.UserCRC |= (uint)((uint)(data[62] & byte.MaxValue) << 8);
|
|
dositoMMIClass.UserCRC |= (uint)(data[63] & byte.MaxValue);
|
|
dositoMMIClass.text = BitConverter.ToString(data, 0, data.Length).Replace("-", " ");
|
|
return dositoMMIClass;
|
|
}
|
|
}
|
|
}
|