Example #1
0
        /// <summary>
        /// レジスタからの読み込み(非同期)
        /// </summary>
        /// <param name="registerAddress">レジスタ アドレス</param>
        /// <param name="readByte">読み取りバイト数</param>
        /// <returns>タスク</returns>
        public Task <Byte[]> ReadRegisterAsync(Byte registerAddress, Int32 readByte)
        {
            return(Task.Run(() =>
            {
                Byte[] buffer = new byte[readByte];
                ArraySegment <byte> segment = new ArraySegment <byte>(buffer, 0, buffer.Length);
                RPi.bcm2835_i2c_read_register_rs(registerAddress, segment);

                return buffer;
            }));
        }
Example #2
0
        /// <summary>
        /// 汎用:レジスタ読み込み
        /// </summary>
        /// <param name="registerAddress">レジスタ アドレス</param>
        /// <param name="buffer">読み取りデータの格納バッファ</param>
        /// <param name="offset">オフセット(インデックス)</param>
        /// <param name="count">読み取りデータバイト数</param>
        public void ReadRegister(byte registerAddress, byte[] buffer, int offset, int count)
        {
            ArraySegment <byte> segment = new ArraySegment <byte>(buffer, offset, count);

            RPi.bcm2835_i2c_read_register_rs(registerAddress, segment);
        }