ASCOM.cam8_v07.TECControl.tecReadPacket C# (CSharp) Метод

tecReadPacket() приватный Метод

private tecReadPacket ( ) : byte
Результат byte
        private byte tecReadPacket()
        {
            byte crc, i;
            for (i = 0; i < rxBufferSize; i++)
                rxBuf[i] = 0;
            if ((tecComPort.BytesToRead != responcePacketSize) && (tecComPort.BytesToRead != infoPacketSize)) return 1;
            tecComPort.Read(rxBuf, 0, tecComPort.BytesToRead);
            crc = crc8_block(rxBuf, (byte)(rxBuf.Length - 1));
            if (rxBuf[rxBuf.Length - 1] != crc) return 1;
            //check command responce v, d. renew interface if correct
            switch (rxBuf[0])
            {
                case 0x76:
                    {
                        if ((rxBuf[1] != hwRevision) || (rxBuf[2] != swRevision) || (rxBuf[3] != sensorCount) || (rxBuf[4] != setCount)) return 1;
                        else return 0;
                    };
                case 0x64:
                    {
                        tecCCDTemp = (((rxBuf[1] << 8) | (rxBuf[2])) - tempOffset * 10) / 10.0;
                        tecHeatsinkTemp = (((rxBuf[3] << 8) | (rxBuf[4])) - tempOffset * 10) / 10.0;
                        tecSetTemp = (((rxBuf[5] << 8) | (rxBuf[6])) - tempOffset * 10) / 10.0;
                        tecCoolerPower = (double)(rxBuf[7] * 100 / 255);
                        tecErrorCode = rxBuf[8];
                        if (rxBuf[9] == 0x00) tecCoolenOn = false;
                        else tecCoolenOn = true;
                        return 0;
                    };
                default:
                    {
                        return 1;
                    };
            }
        }
    }