ulong2 ReadSerialCanC(uchar ibCan) { uchar r; for (r=0; r<MaxRepeats(); r++) { DelayOff(); QueryOpenC(); if (RevInput() == SER_GOODCHECK) break; if (fKey == true) return GetLong2Error(); } if (r == MaxRepeats()) return GetLong2Error(); ShowPercent(25); return QuerySerialC_Full(ibCan); }
// чтение коэффициентов для счётчика СС-301 bool ReadKoeffDeviceC(void) { uchar i; for (i=0; i<bMINORREPEATS; i++) { DelayOff(); QueryOpenC(); // открытие канала связи if (RevInput() == SER_GOODCHECK) break; if (fKey == true) return(0); } if (i == bMINORREPEATS) return(0); ShowPercent(25); for (i=0; i<bMINORREPEATS; i++) { DelayOff(); InitPush(0); PushChar(diCurr.bAddress); PushChar(3); PushChar(34); PushChar(0); PushChar(0); PushChar(0); RevQueryIO(4+18+2, 3+3+2); if (RevInput() == SER_GOODCHECK) break; if (fKey == true) return(0); } if (i == bMINORREPEATS) return(0); ShowPercent(50); combo32 co; co.mpbBuff[0] = InBuff(4); co.mpbBuff[1] = InBuff(5); co.mpbBuff[2] = InBuff(6); co.mpbBuff[3] = InBuff(7); dbKtrans = co.dwBuff; co.mpbBuff[0] = InBuff(8); co.mpbBuff[1] = InBuff(9); co.mpbBuff[2] = InBuff(10); co.mpbBuff[3] = InBuff(11); dbKtrans *= co.dwBuff; // K трансформации for (i=0; i<bMINORREPEATS; i++) { DelayOff(); InitPush(0); PushChar(diCurr.bAddress); PushChar(3); PushChar(24); PushChar(0); PushChar(0); PushChar(0); RevQueryIO(4+8+2, 3+3+2); if (RevInput() == SER_GOODCHECK) break; if (fKey == true) return(0); } if (i == bMINORREPEATS) return(0); ShowPercent(60); dbKpulse = InBuff(8) + InBuff(9)*0x100; dbKpulse = 1000000/dbKpulse; // K преобразования return(1); }