Esempio n. 1
0
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);
}
Esempio n. 2
0
// чтение коэффициентов для счётчика СС-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);
}