ioio.lib.impl
Class TwiMasterImpl
java.lang.Object
ioio.lib.impl.AbstractResource
ioio.lib.impl.TwiMasterImpl
- All Implemented Interfaces:
- Closeable, TwiMaster
public class TwiMasterImpl
- extends AbstractResource
- implements TwiMaster
|
Method Summary |
void |
close()
|
void |
dataReceived(byte[] data,
int size)
|
void |
disconnected()
|
void |
reportAdditionalBuffer(int bytesRemaining)
|
void |
send(ioio.lib.impl.FlowControlledPacketSender.Packet packet)
|
boolean |
writeRead(int address,
boolean tenBitAddr,
byte[] writeData,
int writeSize,
byte[] readData,
int readSize)
Perform a single TWI transaction which includes optional transmission and
optional reception of data to a single slave. |
TwiMaster.Result |
writeReadAsync(int address,
boolean tenBitAddr,
byte[] writeData,
int writeSize,
byte[] readData,
int readSize)
Asynchronous version of
TwiMaster.writeRead(int, boolean, byte[], int, byte[], int). |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
disconnected
public void disconnected()
- Overrides:
disconnected in class AbstractResource
writeRead
public boolean writeRead(int address,
boolean tenBitAddr,
byte[] writeData,
int writeSize,
byte[] readData,
int readSize)
throws ConnectionLostException,
java.lang.InterruptedException
- Description copied from interface:
TwiMaster
- Perform a single TWI transaction which includes optional transmission and
optional reception of data to a single slave. This is a blocking
operation that can take a few milliseconds to a few tens of milliseconds.
To abort this operation, client can interrupt the blocked thread.
- Specified by:
writeRead in interface TwiMaster
- Parameters:
address - The slave address, either 7-bit or 10-bit. Note that in some
TWI device documentation the documented addresses are actually
2x the address values used here, as they regard the trailing
0-bit as part of the address.tenBitAddr - Whether this is a 10-bit addressing mode.writeData - The request data.writeSize - The number of bytes to write. Valid value are 0-255.readData - The array where the response should be stored.readSize - The expected number of response bytes. Valid value are 0-255.
- Returns:
- Whether operation succeeded.
- Throws:
ConnectionLostException - Connection to the IOIO has been lost.
java.lang.InterruptedException - Calling thread has been interrupted.
writeReadAsync
public TwiMaster.Result writeReadAsync(int address,
boolean tenBitAddr,
byte[] writeData,
int writeSize,
byte[] readData,
int readSize)
throws ConnectionLostException
- Description copied from interface:
TwiMaster
- Asynchronous version of
TwiMaster.writeRead(int, boolean, byte[], int, byte[], int). Returns
immediately and provides a TwiMaster.Result object on which the client can
wait for the result.
- Specified by:
writeReadAsync in interface TwiMaster
- Throws:
ConnectionLostException- See Also:
TwiMaster.writeRead(int, boolean, byte[], int, byte[], int)
dataReceived
public void dataReceived(byte[] data,
int size)
reportAdditionalBuffer
public void reportAdditionalBuffer(int bytesRemaining)
close
public void close()
- Specified by:
close in interface Closeable- Overrides:
close in class AbstractResource
send
public void send(ioio.lib.impl.FlowControlledPacketSender.Packet packet)