static public void convrx(sbyte[] p, byte rd_bt, ref CatObj.TCeForm CeForm) { byte i, k; int c; for (i = 0; i <= 7; i++) { k = 1; k = Convert.ToByte(k << i); if ((byte)(rd_bt & k) == k) { bit[i + 1] = '1'; } else { bit[i + 1] = '0'; } } for (i = 1; i <= 4; i++) { if (bit[i] == '1') { CeForm.rx = (sbyte)(CeForm.rx + p[i - 1]); } } for (i = 5; i <= 8; i++) { if (bit[i] == '1') { CeForm.ry = (sbyte)(CeForm.ry + p[i - 1]); } } }
static public void Dekod_Dst(DstFormat DstForm, ref CatObj.TCeForm bdst, ref bool fl_Js) { bdst.cmn = 0; bdst.rx = 0; bdst.ry = 0; convrx(dst_bt1, DstForm.dst.ch1, ref bdst); convrx(dst_bt2, DstForm.dst.ch2, ref bdst); convcmn(dst_bt3, DstForm.dst.ch3, ref bdst, ref fl_Js); }
static public void convcmn(sbyte[] p, byte rd_bt, ref CatObj.TCeForm CeForm, ref bool fl_Js) { byte i, k; for (i = 0; i <= 7; i++) { k = 1; k = Convert.ToByte(k << i); if ((rd_bt & k) == k) { bit[i + 1] = '1'; } else { bit[i + 1] = '0'; } } for (i = 3; i <= 4; i++) { if (bit[i] == '1') { CeForm.rx = (sbyte)(CeForm.rx + p[i - 1]); } } for (i = 5; i <= 6; i++) { if (bit[i] == '1') { CeForm.ry = (sbyte)(CeForm.ry + p[i - 1]); } } if ((bit[8] == '0') && (bit[7] == '0')) { if (fl_Js) { CeForm.cmn = 0x80; } else { CeForm.cmn = 0x00; } fl_Js = false; } if ((bit[8] == '1') && (bit[7] == '1')) { CeForm.cmn = 0x40; } if ((bit[8] == '1') && (bit[7] == '0')) { CeForm.cmn = 0x80; fl_Js = true; } }