- All Known Subinterfaces:
I2C,I2CRegisterDataReaderWriter
- All Known Implementing Classes:
I2CBase
public interface I2CRegisterDataWriter
I2C Register Data Writer Interface for Pi4J Data Communications
- Version:
- $Id: $Id
- Author:
- Robert Savage Based on previous contributions from: Daniel Sendula, RasPelikan
-
Method Summary
Modifier and TypeMethodDescriptiondefault intwrite(int register, InputStream stream, int length) Write a stream of stream of data up to the length (number of bytes) specified to a specific I2C device register.intwriteRegister(int register, byte b) Write a single raw byte (8-bit) value to the I2C device register.default intwriteRegister(int register, byte... data) Write an array of byte values to a specific I2C device register.default intwriteRegister(int register, byte[]... data) Write multiple byte arrays of data to a specific I2C device register.default intwriteRegister(int register, byte[] data, int length) Write an array of byte values starting with the first byte in the array up to the provided length to a specific I2C device register.intwriteRegister(int register, byte[] data, int offset, int length) Write a array of byte values with given offset (starting position) and length in the provided data array to a specific I2C device register.default intwriteRegister(int register, char... data) Writes an ASCII based character array (1 or more chars) to a specific I2C device register.default intwriteRegister(int register, char[] data, int length) Writes an ASCII based character array (1 or more chars) with a given length starting from the 0 index position to a specific I2C device register.default intwriteRegister(int register, char[] data, int offset, int length) Writes an ASCII based character array (1 or more chars) with a given offset and length to a specific I2C device register.default intwriteRegister(int register, int b) Write a single raw byte (8-bit) value to the I2C device register.default intwriteRegister(int register, InputStream stream) Write a stream of data bytes to a specific I2C device register.default intwriteRegister(int register, InputStream... stream) Write multiple streams of data bytes to a specific I2C device register.default intwriteRegister(int register, CharSequence data) Writes an ASCII data string/character sequence to a specific I2C device register.default intwriteRegister(int register, CharSequence... data) Writes multiple ASCII data strings/character sequences to a specific I2C device register.default intwriteRegister(int register, ByteBuffer buffer) Write a buffer of byte values (all bytes in buffer) to a specific I2C device register.default intwriteRegister(int register, ByteBuffer... buffer) Write multiple byte buffers to a specific I2C device register.default intwriteRegister(int register, ByteBuffer buffer, int length) Write a buffer of byte values starting from the first byte in the buffer up to the provided length to a specific I2C device register.default intwriteRegister(int register, ByteBuffer buffer, int offset, int length) Write a buffer of byte values starting from a given offset index in the array up to the provided length to a specific I2C device register.default intwriteRegister(int register, CharBuffer data) Writes an ASCII based character buffer to a specific I2C device register.default intwriteRegister(int register, CharBuffer... data) Writes an ASCII based character buffer to a specific I2C device register.default intwriteRegister(int register, CharBuffer data, int length) Writes an ASCII based character buffer starting at first index to a given length to a specific I2C device register.default intwriteRegister(int register, CharBuffer data, int offset, int length) Writes an ASCII based character buffer with a given offset and length to a specific I2C device register.default intwriteRegister(int register, Charset charset, char... data) Writes a character array (1 or more chars) to a specific I2C device register.default intwriteRegister(int register, Charset charset, char[] data, int length) Writes a character based array starting at the first index with a given length.default intwriteRegister(int register, Charset charset, char[] data, int offset, int length) Writes a character based array with a given offset and length.default intwriteRegister(int register, Charset charset, CharSequence data) Writes a data string with specified character set (encoding) to a specific I2C device register.default intwriteRegister(int register, Charset charset, CharSequence... data) Writes a data string with specified character set (encoding) to a specific I2C device register.default intwriteRegister(int register, Charset charset, CharBuffer buffer) Write a character buffer using a specified character set to encode the chars into bytes to a specific I2C device register.default intwriteRegister(int register, Charset charset, CharBuffer... data) Writes multiple character buffers using a specified character set to encode the chars into bytes to a specific I2C device register.default intwriteRegister(int register, Charset charset, CharBuffer buffer, int length) Write a character buffer starting at first index to a given length using a specified character set to encode the chars into bytes to a specific I2C device register.default intwriteRegister(int register, Charset charset, CharBuffer buffer, int offset, int length) Writes a character buffer with a given offset and length using a specified character set to encode the chars into bytes to a specific I2C device register.default intwriteRegister(int register, Charset charset, Collection<char[]> data) Write a collection of character arrays.default intwriteRegister(int register, Charset charset, Collection<CharSequence>... data) Write a collection of ASCII character sequences with specified character set (encoding) to a specific I2C device register.default intwriteRegister(int register, Collection<byte[]> data) Write a collection of byte arrays of data to a specific I2C device register.default intwriteRegister(int register, Collection<CharSequence>... data) Write a collection of ASCII character sequences to a specific I2C device register.default intwriteRegisterWord(int register, int word) Write a single word value (16-bit) to the I2C device register.
-
Method Details
-
writeRegister
int writeRegister(int register, byte b) Write a single raw byte (8-bit) value to the I2C device register.- Parameters:
register- the register address to write tob- byte to be written- Returns:
- a int.
-
writeRegister
default int writeRegister(int register, int b) Write a single raw byte (8-bit) value to the I2C device register. (The integer value provided will be cast to a byte thus only using the lowest 8 bits)- Parameters:
register- the register address to write tob- byte to be written; the provided Integer wll be cast to a Byte.- Returns:
- a int.
-
writeRegisterWord
default int writeRegisterWord(int register, int word) Write a single word value (16-bit) to the I2C device register.- Parameters:
register- the register address to write toword- 16-bit word value to be written- Returns:
- a int.
-
writeRegister
int writeRegister(int register, byte[] data, int offset, int length) Write a array of byte values with given offset (starting position) and length in the provided data array to a specific I2C device register.- Parameters:
register- the register address to write todata- data array of bytes to be writtenoffset- offset in data buffer to start atlength- number of bytes to be written- Returns:
- The number of bytes written, possibly zero
-
writeRegister
default int writeRegister(int register, byte[] data, int length) Write an array of byte values starting with the first byte in the array up to the provided length to a specific I2C device register.- Parameters:
register- the register address to write todata- data array of bytes to be writtenlength- number of bytes to be written- Returns:
- The number of bytes written, possibly zero
-
writeRegister
default int writeRegister(int register, byte... data) Write an array of byte values to a specific I2C device register.- Parameters:
register- the register address to write todata- data to be written to the i2c device in one go- Returns:
- The number of bytes written, possibly zero
-
writeRegister
Write multiple byte arrays of data to a specific I2C device register.- Parameters:
register- the register address to write todata- data to be written to the i2c device in one go- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Write a collection of byte arrays of data to a specific I2C device register.- Parameters:
register- the register address to write todata- data to be written to the i2c device in one go- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
default int writeRegister(int register, ByteBuffer buffer, int offset, int length) throws IOException Write a buffer of byte values starting from a given offset index in the array up to the provided length to a specific I2C device register. NOTE: The buffer's internal position tracking is no used but rather only the explicit offset and length provided. If the requested length is greater than the buffers capacity (minus offset) then the specified length will be ignored and this function will only read the number of bytes up to the buffers' available space.- Parameters:
register- the register address to write tobuffer- byte buffer of data to be written to the i2c device in one gooffset- offset in bufferlength- number of bytes to be written- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Write a buffer of byte values starting from the first byte in the buffer up to the provided length to a specific I2C device register. NOTE: The contents from the byte buffer is read from the current position index up to the length requested or up to the buffer's remaining limit; whichever is is lower . If the buffer's current position is already at the buffer's limit, then we will automatically flip the buffer to begin reading data from the zero position up to the buffer's limit.- Parameters:
register- the register address to write tobuffer- byte buffer of data to be writtenlength- number of bytes to be written- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Write a buffer of byte values (all bytes in buffer) to a specific I2C device register. NOTE: The contents from the byte buffer is read from the current position index up to the buffer's remaining limit. If the buffer's current position is already at the buffer's limit, then we will automatically flip the buffer to begin reading data from the zero position up to the buffer's limit.- Parameters:
register- the register address to write tobuffer- byte buffer of data to be written to the i2c device in one go- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Write multiple byte buffers to a specific I2C device register. NOTE: The contents from each byte buffer is read from the current position index up to the buffer's remaining limit. If the buffer's current position is already at the buffer's limit, then we will automatically flip the buffer to begin reading data from the zero position up to the buffer's limit.- Parameters:
register- the register address to write tobuffer- byte buffer of data to be written to the i2c device in one go- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Write a stream of data bytes to a specific I2C device register.- Parameters:
register- the register address to write tostream- stream of data to be written- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
write
Write a stream of stream of data up to the length (number of bytes) specified to a specific I2C device register.- Parameters:
register- the register address to write tostream- stream of data to be writtenlength- number of bytes to be written- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Write multiple streams of data bytes to a specific I2C device register.- Parameters:
register- the register address to write tostream- stream of data to be written- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes a data string with specified character set (encoding) to a specific I2C device register.- Parameters:
register- the register address to write tocharset- character set to use for byte encodingdata- string data (US_ASCII) to be written- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes a data string with specified character set (encoding) to a specific I2C device register.- Parameters:
register- the register address to write tocharset- character set to use for byte encodingdata- string data (US_ASCII) to be written- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
default int writeRegister(int register, Charset charset, Collection<CharSequence>... data) throws IOException Write a collection of ASCII character sequences with specified character set (encoding) to a specific I2C device register.- Parameters:
register- the register address to write tocharset- character set to use for byte encodingdata- collection of character sequences of data to be written- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes an ASCII data string/character sequence to a specific I2C device register.- Parameters:
register- the register address to write todata- string data (US_ASCII) to be written- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes multiple ASCII data strings/character sequences to a specific I2C device register.- Parameters:
register- the register address to write todata- string data (US_ASCII) to be written- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Write a collection of ASCII character sequences to a specific I2C device register.- Parameters:
register- the register address to write todata- collection of character sequences of data to be written- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes an ASCII based character array (1 or more chars) with a given offset and length to a specific I2C device register.- Parameters:
register- the register address to write todata- ASCII character array used for data writeoffset- offset in data character array to start atlength- number of character in character array to be written- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes an ASCII based character array (1 or more chars) with a given length starting from the 0 index position to a specific I2C device register.- Parameters:
register- the register address to write todata- ASCII character array used for data writelength- number of character in character array to be written- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes an ASCII based character array (1 or more chars) to a specific I2C device register.- Parameters:
register- the register address to write todata- ASCII character array used for data write- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
default int writeRegister(int register, Charset charset, char[] data, int offset, int length) throws IOException Writes a character based array with a given offset and length. Specify the encoding to be used to encode the chars into bytes to a specific I2C device register.- Parameters:
register- the register address to write tocharset- character set to use for byte encodingdata- ASCII character array used for data writeoffset- offset in data character array to start atlength- number of character in character array to be written- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
default int writeRegister(int register, Charset charset, char[] data, int length) throws IOException Writes a character based array starting at the first index with a given length. Specify the encoding to be used to encode the chars into bytes to a specific I2C device register.- Parameters:
register- the register address to write tocharset- character set to use for byte encodingdata- ASCII character array used for data writelength- number of character in character array to be written- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes a character array (1 or more chars) to a specific I2C device register.- Parameters:
register- the register address to write todata- character array (1 or more chars) to be writtencharset- character set to use for byte encoding- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
default int writeRegister(int register, Charset charset, Collection<char[]> data) throws IOException Write a collection of character arrays. Specify the encoding to be used to encode the chars into bytes to a specific I2C device register.- Parameters:
register- the register address to write todata- collection of character sequences of data to be writtencharset- aCharsetobject.- Returns:
- The number of bytes written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes an ASCII based character buffer with a given offset and length to a specific I2C device register.- Parameters:
register- the register address to write todata- ASCII character array used for data writeoffset- offset in data character array to start atlength- number of character in character array to be written- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes an ASCII based character buffer starting at first index to a given length to a specific I2C device register.- Parameters:
register- the register address to write todata- ASCII character array used for data writelength- number of character in character array to be written- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes an ASCII based character buffer to a specific I2C device register.- Parameters:
register- the register address to write todata- ASCII character array used for data write- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes an ASCII based character buffer to a specific I2C device register.- Parameters:
register- the register address to write todata- ASCII character array used for data write- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
default int writeRegister(int register, Charset charset, CharBuffer buffer, int offset, int length) throws IOException Writes a character buffer with a given offset and length using a specified character set to encode the chars into bytes to a specific I2C device register. NOTE: The buffer's internal position tracking is no used but rather only the explicit offset and length provided. If the requested length is greater than the buffers capacity (minus offset) then the specified length will be ignored and this function will only read the number of characters up to the buffers' available space.- Parameters:
register- the register address to write tocharset- character set to use for byte encodingbuffer- character buffer used for data writeoffset- offset in data character array to start atlength- number of character in character array to be written- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
default int writeRegister(int register, Charset charset, CharBuffer buffer, int length) throws IOException Write a character buffer starting at first index to a given length using a specified character set to encode the chars into bytes to a specific I2C device register. NOTE: The contents from the character buffer is read from the current position index up to the length requested or up to the buffer's remaining limit; whichever is is lower . If the buffer's current position is already at the buffer's limit, then we will automatically flip the buffer to begin reading data from the zero position up to the buffer's limit.- Parameters:
register- the register address to write tocharset- character set to use for byte encodingbuffer- character buffer used for data writelength- number of character in character array to be written- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Write a character buffer using a specified character set to encode the chars into bytes to a specific I2C device register. NOTE: The contents from the character buffer is read from the current position index up to the buffer's remaining limit. If the buffer's current position is already at the buffer's limit, then we will automatically flip the buffer to begin reading data from the zero position up to the buffer's limit.- Parameters:
register- the register address to write tocharset- character set to use for byte encodingbuffer- character array used for data write- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-
writeRegister
Writes multiple character buffers using a specified character set to encode the chars into bytes to a specific I2C device register. NOTE: The contents from each character buffer is read from the current position index up to the buffer's remaining limit. If the buffer's current position is already at the buffer's limit, then we will automatically flip the buffer to begin reading data from the zero position up to the buffer's limit.- Parameters:
register- the register address to write tocharset- character set to use for byte encodingdata- ASCII character array used for data write- Returns:
- The number of bytes (not characters) written, possibly zero
- Throws:
IOException- thrown on write error
-