public class ModernRoboticsUsbDeviceInterfaceModule extends ModernRoboticsUsbI2cController
HardwareDeviceManager
to create an instance of this classModernRoboticsUsbDevice.CreateReadWriteRunnable
i2cPortReadyBeginEndCallbacks, notificationsActive, numberOfI2cPorts
createReadWriteRunnable, readWriteRunnable, readWriteService
Constructor and Description |
---|
ModernRoboticsUsbDeviceInterfaceModule(android.content.Context context,
SerialNumber serialNumber,
OpenRobotUsbDevice openRobotUsbDevice,
SyncdDevice.Manager manager)
Use ModernRoboticsUsbDeviceManager to create an instance of this class
|
Modifier and Type | Method and Description |
---|---|
void |
clearI2cPortActionFlag(int port) |
void |
copyBufferIntoWriteBuffer(int physicalPort,
byte[] buffer) |
protected void |
createSegments() |
void |
deregisterForPortReadyCallback(int port) |
protected void |
doArm() |
protected void |
doPretend() |
void |
enableI2cReadMode(int physicalPort,
I2cAddr i2cAddress,
int memAddress,
int length) |
void |
enableI2cWriteMode(int physicalPort,
I2cAddr i2cAddress,
int memAddress,
int length) |
double |
getAnalogInputVoltage(int channel) |
java.lang.String |
getConnectionInfo() |
byte[] |
getCopyOfReadBuffer(int physicalPort) |
byte[] |
getCopyOfWriteBuffer(int physicalPort) |
java.lang.String |
getDeviceName()
Device Name
|
DigitalChannel.Mode |
getDigitalChannelMode(int channel) |
boolean |
getDigitalChannelState(int channel) |
int |
getDigitalInputStateByte() |
byte |
getDigitalIOControlByte() |
byte |
getDigitalOutputStateByte() |
I2cPortReadyCallback |
getI2cPortReadyCallback(int port) |
byte[] |
getI2cReadCache(int port) |
java.util.concurrent.locks.Lock |
getI2cReadCacheLock(int port) |
TimeWindow |
getI2cReadCacheTimeWindow(int port) |
byte[] |
getI2cWriteCache(int port) |
java.util.concurrent.locks.Lock |
getI2cWriteCacheLock(int port) |
boolean |
getLEDState(int channel) |
Manufacturer |
getManufacturer() |
double |
getMaxAnalogInputVoltage() |
int |
getMaxI2cWriteLatency(int port) |
int |
getPulseWidthOutputTime(int port) |
int |
getPulseWidthPeriod(int port) |
protected java.lang.String |
getTag() |
void |
initializeHardware() |
boolean |
isI2cPortActionFlagSet(int port) |
boolean |
isI2cPortInReadMode(int port) |
boolean |
isI2cPortInWriteMode(int port) |
boolean |
isI2cPortReady(int port) |
void |
readComplete() |
void |
readI2cCacheFromController(int port) |
void |
readI2cCacheFromModule(int port)
Deprecated.
|
void |
registerForI2cPortReadyCallback(I2cPortReadyCallback callback,
int port) |
void |
resetDeviceConfigurationForOpMode() |
void |
setAnalogOutputFrequency(int port,
int freq) |
void |
setAnalogOutputMode(int port,
byte mode) |
void |
setAnalogOutputVoltage(int port,
int voltage) |
void |
setDigitalChannelMode(int channel,
DigitalChannel.Mode mode) |
void |
setDigitalChannelMode(int channel,
Mode mode)
Deprecated.
|
void |
setDigitalChannelState(int channel,
boolean state) |
void |
setDigitalIOControlByte(byte input) |
void |
setDigitalOutputByte(byte input) |
void |
setI2cPortActionFlag(int port) |
void |
setLED(int channel,
boolean set) |
void |
setPulseWidthOutputTime(int port,
int usDuration) |
void |
setPulseWidthPeriod(int port,
int usPeriod) |
static void |
throwIfModernRoboticsI2cAddressIsInvalid(I2cAddr newAddress) |
void |
writeI2cCacheToController(int port) |
void |
writeI2cCacheToModule(int port)
Deprecated.
|
void |
writeI2cPortFlagOnlyToController(int port) |
void |
writeI2cPortFlagOnlyToModule(int port)
Deprecated.
|
deregisterForPortReadyBeginEndCallback, getPortReadyBeginEndCallback, isArmed, registerForPortReadyBeginEndCallback, shutdownComplete, startupComplete, throwIfI2cPortIsInvalid
armDevice, disarmDevice, getCreateReadWriteRunnable, getOpenRobotUsbDevice, getPretendDevice, getReadWriteRunnable, getVersion, read, read8, readFromWriteCache, readFromWriteCache, write, write8, write8, write8, writeComplete
public static final java.lang.String TAG
public static final boolean DEBUG_LOGGING
public static final int MIN_I2C_PORT_NUMBER
public static final int MAX_I2C_PORT_NUMBER
public static final int MAX_ANALOG_PORT_NUMBER
public static final int MIN_ANALOG_PORT_NUMBER
public static final int NUMBER_OF_PORTS
public static final int START_ADDRESS
public static final int MONITOR_LENGTH
public static final int SIZE_I2C_BUFFER
public static final int SIZE_ANALOG_BUFFER
public static final int WORD_SIZE
public static final double MAX_ANALOG_INPUT_VOLTAGE
public static final int ADDRESS_BUFFER_STATUS
public static final int ADDRESS_ANALOG_PORT_A0
public static final int ADDRESS_ANALOG_PORT_A1
public static final int ADDRESS_ANALOG_PORT_A2
public static final int ADDRESS_ANALOG_PORT_A3
public static final int ADDRESS_ANALOG_PORT_A4
public static final int ADDRESS_ANALOG_PORT_A5
public static final int ADDRESS_ANALOG_PORT_A6
public static final int ADDRESS_ANALOG_PORT_A7
public static final int ADDRESS_DIGITAL_INPUT_STATE
public static final int ADDRESS_DIGITAL_IO_CONTROL
public static final int ADDRESS_DIGITAL_OUTPUT_STATE
public static final int ADDRESS_LED_SET
public static final int ADDRESS_VOLTAGE_OUTPUT_PORT_0
public static final int ADDRESS_VOLTAGE_OUTPUT_PORT_1
public static final int ADDRESS_PULSE_OUTPUT_PORT_0
public static final int ADDRESS_PULSE_OUTPUT_PORT_1
public static final int ADDRESS_I2C0
public static final int ADDRESS_I2C1
public static final int ADDRESS_I2C2
public static final int ADDRESS_I2C3
public static final int ADDRESS_I2C4
public static final int ADDRESS_I2C5
public static final byte BUFFER_FLAG_I2C0
public static final byte BUFFER_FLAG_I2C1
public static final byte BUFFER_FLAG_I2C2
public static final byte BUFFER_FLAG_I2C3
public static final byte BUFFER_FLAG_I2C4
public static final byte BUFFER_FLAG_I2C5
public static final int OFFSET_ANALOG_VOLTAGE_OUTPUT_VOLTAGE
public static final int OFFSET_ANALOG_VOLTAGE_OUTPUT_FREQ
public static final int OFFSET_ANALOG_VOLTAGE_OUTPUT_MODE
public static final int ANALOG_VOLTAGE_OUTPUT_BUFFER_SIZE
public static final int OFFSET_PULSE_OUTPUT_TIME
public static final int OFFSET_PULSE_OUTPUT_PERIOD
public static final int PULSE_OUTPUT_BUFFER_SIZE
public static final int OFFSET_I2C_PORT_MODE
public static final int OFFSET_I2C_PORT_I2C_ADDRESS
public static final int OFFSET_I2C_PORT_MEMORY_ADDRESS
public static final int OFFSET_I2C_PORT_MEMORY_LENGTH
public static final int OFFSET_I2C_PORT_MEMORY_BUFFER
public static final int OFFSET_I2C_PORT_FLAG
public static final int I2C_PORT_BUFFER_SIZE
public static final byte I2C_MODE_READ
public static final byte I2C_MODE_WRITE
public static final byte I2C_ACTION_FLAG
public static final byte I2C_NO_ACTION_FLAG
public static final int LED_0_BIT_MASK
public static final int LED_1_BIT_MASK
public static final int[] LED_BIT_MASK_MAP
public static final int D0_MASK
public static final int D1_MASK
public static final int D2_MASK
public static final int D3_MASK
public static final int D4_MASK
public static final int D5_MASK
public static final int D6_MASK
public static final int D7_MASK
public static final int[] ADDRESS_DIGITAL_BIT_MASK
public static final int[] ADDRESS_ANALOG_PORT_MAP
public static final int[] ADDRESS_VOLTAGE_OUTPUT_PORT_MAP
public static final int[] ADDRESS_PULSE_OUTPUT_PORT_MAP
public static final int[] ADDRESS_I2C_PORT_MAP
public static final int[] BUFFER_FLAG_MAP
protected final byte[] lastI2cPortModes
public static final int MAX_NEW_I2C_ADDRESS
public static final int MIN_NEW_I2C_ADDRESS
public ModernRoboticsUsbDeviceInterfaceModule(android.content.Context context, SerialNumber serialNumber, OpenRobotUsbDevice openRobotUsbDevice, SyncdDevice.Manager manager) throws RobotCoreException, java.lang.InterruptedException
RobotCoreException
java.lang.InterruptedException
protected java.lang.String getTag()
protected void doArm() throws RobotCoreException, java.lang.InterruptedException
RobotCoreException
java.lang.InterruptedException
protected void doPretend() throws RobotCoreException, java.lang.InterruptedException
RobotCoreException
java.lang.InterruptedException
protected void createSegments()
public void initializeHardware()
initializeHardware
in class ModernRoboticsUsbDevice
public Manufacturer getManufacturer()
public java.lang.String getDeviceName()
getDeviceName
in class ModernRoboticsUsbDevice
public java.lang.String getConnectionInfo()
public void resetDeviceConfigurationForOpMode()
public double getAnalogInputVoltage(int channel)
public double getMaxAnalogInputVoltage()
public DigitalChannel.Mode getDigitalChannelMode(int channel)
public void setDigitalChannelMode(int channel, DigitalChannel.Mode mode)
@Deprecated public void setDigitalChannelMode(int channel, Mode mode)
public boolean getDigitalChannelState(int channel)
public void setDigitalChannelState(int channel, boolean state)
public int getDigitalInputStateByte()
public byte getDigitalIOControlByte()
public void setDigitalIOControlByte(byte input)
public byte getDigitalOutputStateByte()
public void setDigitalOutputByte(byte input)
public boolean getLEDState(int channel)
public void setLED(int channel, boolean set)
public void setAnalogOutputVoltage(int port, int voltage)
public void setAnalogOutputFrequency(int port, int freq)
public void setAnalogOutputMode(int port, byte mode)
public void setPulseWidthOutputTime(int port, int usDuration)
public void setPulseWidthPeriod(int port, int usPeriod)
public int getPulseWidthOutputTime(int port)
public int getPulseWidthPeriod(int port)
public void enableI2cReadMode(int physicalPort, I2cAddr i2cAddress, int memAddress, int length)
public void enableI2cWriteMode(int physicalPort, I2cAddr i2cAddress, int memAddress, int length)
public byte[] getCopyOfReadBuffer(int physicalPort)
public byte[] getCopyOfWriteBuffer(int physicalPort)
public void copyBufferIntoWriteBuffer(int physicalPort, byte[] buffer)
public void setI2cPortActionFlag(int port)
public void clearI2cPortActionFlag(int port)
public boolean isI2cPortActionFlagSet(int port)
public void readI2cCacheFromController(int port)
public void writeI2cCacheToController(int port)
public void writeI2cPortFlagOnlyToController(int port)
public boolean isI2cPortInReadMode(int port)
public boolean isI2cPortInWriteMode(int port)
public boolean isI2cPortReady(int port)
public java.util.concurrent.locks.Lock getI2cReadCacheLock(int port)
public java.util.concurrent.locks.Lock getI2cWriteCacheLock(int port)
public byte[] getI2cReadCache(int port)
public TimeWindow getI2cReadCacheTimeWindow(int port)
public byte[] getI2cWriteCache(int port)
public int getMaxI2cWriteLatency(int port)
public void registerForI2cPortReadyCallback(I2cPortReadyCallback callback, int port)
public I2cPortReadyCallback getI2cPortReadyCallback(int port)
public void deregisterForPortReadyCallback(int port)
@Deprecated public void readI2cCacheFromModule(int port)
@Deprecated public void writeI2cCacheToModule(int port)
@Deprecated public void writeI2cPortFlagOnlyToModule(int port)
public void readComplete() throws java.lang.InterruptedException
readComplete
in interface ReadWriteRunnable.Callback
readComplete
in class ModernRoboticsUsbDevice
java.lang.InterruptedException
public static void throwIfModernRoboticsI2cAddressIsInvalid(I2cAddr newAddress)