コード例 #1
0
ファイル: AMG8833.cs プロジェクト: kj831ca/PI_I2C_NET
        public short[,] ReadPixels()
        {
            byte[] blockData = new byte[32];
            byte   addr      = 0x80;
            int    row       = 0;

            for (int i = 0; i < 4; i++)
            {
                lock (lockI2C)
                {
                    if (_i2cBus.read_SMBUS_i2c_Block_data(addr, ref blockData) > 0)
                    {
                        debug(blockData);
                        for (int j = 0; j < 16; j += 2)
                        {
                            pixelData[row, j / 2] = (short)(blockData[j] | (blockData[j + 1] << 8));
                        }
                        row++;
                        for (int j = 16; j < 32; j += 2)
                        {
                            pixelData[row, (j - 16) / 2] = (short)(blockData[j] | (blockData[j + 1] << 8));
                        }
                        row++;
                    }
                    else
                    {
                        return(null); //We got some error here .
                    }
                }
                addr += 32;
            }
            return(pixelData);
        }